@worksafevictoria/wcl7.5 1.5.0 → 1.6.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 (81) hide show
  1. package/.storybook/preview.js +20 -13
  2. package/bin/deploy.sh +1 -1
  3. package/lib/utility.js +10 -8
  4. package/package.json +4 -4
  5. package/src/assets/icons/AppFooter/x-ws-footer.svg +10 -0
  6. package/src/assets/icons/AppFooter/x-ww-footer.svg +28 -0
  7. package/src/assets/icons/SocialShare/x-icon-white.svg +28 -0
  8. package/src/assets/styles/modal.scss +51 -0
  9. package/src/components/Common/CardGrid/index.vue +56 -51
  10. package/src/components/Common/CardGridItem/card-grid-item-caret.vue +7 -4
  11. package/src/components/Common/CardGridItem/index.vue +77 -63
  12. package/src/components/Containers/Carousel/index.vue +14 -7
  13. package/src/components/Containers/HomepageHeader/index.stories.js +60 -36
  14. package/src/components/Containers/HomepageHeader/index.vue +2 -26
  15. package/src/components/Containers/HomepageHeaderNew/index.stories.js +15 -15
  16. package/src/components/Containers/HomepageHeaderNew/index.vue +97 -68
  17. package/src/components/Containers/SectionGroup/index.vue +1 -1
  18. package/src/components/Containers/Subheader/index.vue +5 -1
  19. package/src/components/Global/AppFooter/FooterSocialShare/index.vue +1 -1
  20. package/src/components/Global/AppFooter/index.vue +14 -7
  21. package/src/components/Global/AppHeaderNew/styles.scss +10 -15
  22. package/src/components/Global/BackToTop/index.vue +8 -8
  23. package/src/components/Global/Cookies/index.stories.js +16 -10
  24. package/src/components/Global/Cookies/index.vue +280 -243
  25. package/src/components/Global/Cookies/styles.scss +54 -54
  26. package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +50 -133
  27. package/src/components/Global/GlobalNotice/index.vue +79 -100
  28. package/src/components/Global/SocialShare/index.vue +1 -1
  29. package/src/components/Global/Strip/index.vue +1 -1
  30. package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +8 -4
  31. package/src/components/Paragraphs/Accordion/StepperItem/index.vue +23 -23
  32. package/src/components/Paragraphs/Accordion/index.stories.js +21 -18
  33. package/src/components/Paragraphs/Accordion/index.vue +52 -48
  34. package/src/components/Paragraphs/BrowseContent/index.vue +1 -1
  35. package/src/components/Paragraphs/BrowseContent/setup.vue +284 -0
  36. package/src/components/Paragraphs/Chart/Constants.js +485 -485
  37. package/src/components/Paragraphs/Chart/index.vue +232 -241
  38. package/src/components/Paragraphs/Directory/Records/HSCP/index.stories.js +33 -0
  39. package/src/components/Paragraphs/Directory/Records/HSCP/index.vue +334 -0
  40. package/src/components/Paragraphs/Directory/Records/index.vue +63 -27
  41. package/src/components/Paragraphs/Directory/Records/styles.scss +1 -0
  42. package/src/components/Paragraphs/Directory/constants.js +23 -5
  43. package/src/components/Paragraphs/Directory/index.vue +14 -14
  44. package/src/components/Paragraphs/ListGroup/index.vue +5 -1
  45. package/src/components/Paragraphs/ScrollSpy/index.vue +23 -14
  46. package/src/components/Paragraphs/SelectableCards/index.vue +15 -12
  47. package/src/components/Paragraphs/TabbedCards/index.vue +13 -14
  48. package/src/components/Paragraphs/Tabs/index.vue +19 -17
  49. package/src/components/Paragraphs/TextMedia/MediaTypes/Video/index.vue +9 -9
  50. package/src/components/Paragraphs/TextMedia/index.vue +20 -16
  51. package/src/components/Paragraphs/VideoGrid/index.stories.js +43 -19
  52. package/src/components/Paragraphs/VideoGrid/index.vue +13 -13
  53. package/src/components/Paragraphs/Webform/index.stories.js +82 -69
  54. package/src/components/SubComponents/CardGroup/index.vue +5 -1
  55. package/src/components/SubComponents/FormAddressPostcode/index.vue +35 -37
  56. package/src/components/SubComponents/FormInstance/components/handler/index.vue +25 -29
  57. package/src/components/SubComponents/FormInstance/components/renderer/index.vue +63 -28
  58. package/src/components/SubComponents/FormInstance/models/overrides/file.js +33 -40
  59. package/src/components/SubComponents/FormInstance/services/form-submit-parser.js +22 -15
  60. package/src/components/SubComponents/FormInstance/services/registry-factory.js +1 -1
  61. package/src/components/SubComponents/FormInstance/stories/fileupload.stories.js +57 -0
  62. package/src/components/SubComponents/FormInstance/stories/mocks/fileupload.json +25 -0
  63. package/src/components/SubComponents/FormInstance/style.scss +2 -2
  64. package/src/components/SubComponents/FormInstance/tests/address.test.js +4 -4
  65. package/src/components/SubComponents/FormInstance/tests/checkboxes.test.js +7 -7
  66. package/src/components/SubComponents/FormInstance/tests/customcomposite.test.js +15 -15
  67. package/src/components/SubComponents/FormInstance/tests/date.test.js +8 -8
  68. package/src/components/SubComponents/FormInstance/tests/form-test-utils.js +9 -9
  69. package/src/components/SubComponents/FormInstance/tests/multiple.test.js +13 -13
  70. package/src/components/SubComponents/FormInstance/tests/rule-visible.test.js +120 -120
  71. package/src/components/SubComponents/FormInstance/tests/scale.test.js +6 -6
  72. package/src/components/SubComponents/FormInstance/tests/url.test.js +13 -10
  73. package/src/components/SubComponents/Pagination/index.vue +19 -18
  74. package/src/components/SubComponents/ResourceGroup/index.vue +5 -1
  75. package/src/components/SubComponents/Search/SearchListing/index.vue +20 -20
  76. package/src/components/SubComponents/Search/index.vue +35 -33
  77. package/src/components/SubComponents/VideoThumbnail/index.vue +48 -133
  78. package/src/includes/scss/vars/src/colors.module.scss +28 -1
  79. package/src/index.js +21 -3
  80. package/src/main.js +2 -10
  81. package/src/mock/carousel-items.js +71 -46
@@ -1,9 +1,13 @@
1
1
  /** @type { import('@storybook/vue3').Preview } */
2
2
  import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'
3
- import 'bootstrap/dist/css/bootstrap.min.css'
4
- import './../src/assets/styles/stylesheet.scss'
5
3
  import { setup } from '@storybook/vue3'
6
4
 
5
+ import { createBootstrap } from 'bootstrap-vue-next'
6
+
7
+ // Add the necessary CSS
8
+ import 'bootstrap/dist/css/bootstrap.css'
9
+ import 'bootstrap-vue-next/dist/bootstrap-vue-next.css'
10
+
7
11
  //Custom fonts
8
12
  import './../src/assets/styles/webfonts.css'
9
13
 
@@ -12,38 +16,41 @@ import './../src/assets/styles/stylesheet.scss'
12
16
 
13
17
  // Storybook css
14
18
  import './../src/assets/styles/storybook.scss'
15
-
19
+ import 'bootstrap/dist/css/bootstrap.min.css'
20
+ import './../src/assets/styles/stylesheet.scss'
16
21
 
17
22
  setup((app) => {
18
23
  app.component('NuxtLink', {
19
24
  props: {
20
25
  to: {
21
26
  type: String,
22
- required: true
23
- }
27
+ required: true,
28
+ },
24
29
  },
25
- template: '<a target="_blank" :href="`https://ws-ui.wsvdigital.com.au${this.to}`"><slot></slot></a>'
30
+ template:
31
+ '<a target="_blank" :href="`https://ws-ui.wsvdigital.com.au${this.to}`"><slot></slot></a>',
26
32
  })
33
+ app.use(createBootstrap())
27
34
  })
28
35
 
29
36
  const preview = {
30
37
  parameters: {
31
38
  options: {
32
39
  storySort: {
33
- method: 'alphabetical'
34
- }
40
+ method: 'alphabetical',
41
+ },
35
42
  },
36
43
  actions: { argTypesRegex: '^on[A-Z].*' },
37
44
  controls: {
38
45
  matchers: {
39
46
  color: /(background|color)$/i,
40
- date: /Date$/i
41
- }
47
+ date: /Date$/i,
48
+ },
42
49
  },
43
50
  viewport: {
44
- viewports: INITIAL_VIEWPORTS
45
- }
46
- }
51
+ viewports: INITIAL_VIEWPORTS,
52
+ },
53
+ },
47
54
  }
48
55
 
49
56
  export default preview
package/bin/deploy.sh CHANGED
@@ -22,4 +22,4 @@ cd storybook-static
22
22
 
23
23
  # Deploy to GH-Pages
24
24
  cd ..
25
- node node_modules/gh-pages/bin/gh-pages.js -d storybook-static -t true
25
+ node node_modules/gh-pages/bin/gh-pages.js -d storybook-static
package/lib/utility.js CHANGED
@@ -34,23 +34,25 @@ function isGovSite(url) {
34
34
  }
35
35
  }
36
36
 
37
- function navigateToPath(path, newTab) {
37
+ function navigateToPath(path, newTab, nuxtRouter) {
38
38
  const url = String(path).startsWith('www.') ? `http://${path}` : path
39
39
  const isAbsolute = isAbsoluteUrl(url)
40
- if (!isAbsolute && this.$router && !newTab) {
41
- this.$router.push({
42
- path: url
40
+ const router = nuxtRouter ? nuxtRouter : this.$router
41
+ if (!isAbsolute && router && !newTab) {
42
+ router.push({
43
+ path: url,
43
44
  })
44
- } else if (!isAbsolute && this.$router && newTab) {
45
+ } else if (!isAbsolute && router && newTab) {
45
46
  const hrefTag = Object.assign(document.createElement('a'), {
46
47
  target: '_blank',
47
- href: url
48
+ href: url,
48
49
  })
49
50
  hrefTag.click()
50
51
  } else {
51
52
  const hrefTag = Object.assign(document.createElement('a'), {
52
- target: newTab ? '_blank' : '_self',
53
- href: url
53
+ // target: newTab ? '_blank' : '_self',
54
+ target: '_blank',
55
+ href: url,
54
56
  })
55
57
  hrefTag.click()
56
58
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worksafevictoria/wcl7.5",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "main": "src/index.js",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -43,8 +43,7 @@
43
43
  "@storybook/cli": "^7.6.20",
44
44
  "axios": "^1.6.0",
45
45
  "bootstrap": "^5.3.2",
46
- "bootstrap-vue": "^2.23.1",
47
- "bootstrap-vue-next": "^0.25.10",
46
+ "bootstrap-vue-next": "^0.26.18",
48
47
  "date-fns": "^2.30.0",
49
48
  "formiojs": "4.13.13",
50
49
  "storybook-addon-deep-controls": "^0.6.2",
@@ -98,5 +97,6 @@
98
97
  "vite-svg-loader": "^5.1.0",
99
98
  "vitest": "^0.34.6",
100
99
  "vue-jest": "^3.0.7"
101
- }
100
+ },
101
+ "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
102
102
  }
@@ -0,0 +1,10 @@
1
+ <svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_1024_13)">
3
+ <path d="M11.8946 8.04107L18.8121 0H17.1729L11.1664 6.98195L6.36901 0H0.835815L8.09038 10.5579L0.835815 18.9902H2.47514L8.81815 11.6171L13.8845 18.9902H19.4177L11.8942 8.04107H11.8946ZM9.64929 10.651L8.91425 9.59963L3.06581 1.23406H5.58372L10.3035 7.98534L11.0385 9.03668L17.1736 17.8123H14.6557L9.64929 10.6514V10.651Z" fill="black"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_1024_13">
7
+ <rect width="18.5819" height="19" fill="white" transform="translate(0.835815)"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 18.58 19">
3
+ <defs>
4
+ <style>
5
+ .cls-1 {
6
+ fill: none;
7
+ }
8
+
9
+ .cls-2 {
10
+ fill: #356041;
11
+ }
12
+
13
+ .cls-3 {
14
+ clip-path: url(#clippath);
15
+ }
16
+ </style>
17
+ <clipPath id="clippath">
18
+ <rect class="cls-1" width="18.58" height="19"/>
19
+ </clipPath>
20
+ </defs>
21
+ <g id="Layer_2-2" data-name="Layer_2">
22
+ <g id="Layer_1-2">
23
+ <g class="cls-3">
24
+ <path class="cls-2" d="M11.06,8.04L17.98,0h-1.64l-6.01,6.98L5.53,0H0l7.25,10.56L0,18.99h1.64l6.34-7.37,5.07,7.37h5.53l-7.52-10.95h0ZM8.81,10.65l-.74-1.05L2.23,1.23h2.52l4.72,6.75.73,1.05,6.14,8.78h-2.52l-5.01-7.16h0Z"/>
25
+ </g>
26
+ </g>
27
+ </g>
28
+ </svg>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 18.58 19">
3
+ <defs>
4
+ <style>
5
+ .cls-1 {
6
+ fill: #fff;
7
+ }
8
+
9
+ .cls-2 {
10
+ fill: none;
11
+ }
12
+
13
+ .cls-3 {
14
+ clip-path: url(#clippath);
15
+ }
16
+ </style>
17
+ <clipPath id="clippath">
18
+ <rect class="cls-2" width="18.58" height="19"/>
19
+ </clipPath>
20
+ </defs>
21
+ <g id="Layer_2-2" data-name="Layer_2">
22
+ <g id="Layer_1-2">
23
+ <g class="cls-3">
24
+ <path class="cls-1" d="M11.06,8.04L17.98,0h-1.64l-6.01,6.98L5.53,0H0l7.25,10.56L0,18.99h1.64l6.34-7.37,5.07,7.37h5.53l-7.52-10.95h0ZM8.81,10.65l-.74-1.05L2.23,1.23h2.52l4.72,6.75.73,1.05,6.14,8.78h-2.52l-5.01-7.16h0Z"/>
25
+ </g>
26
+ </g>
27
+ </g>
28
+ </svg>
@@ -10,3 +10,54 @@
10
10
  border: none !important;
11
11
  }
12
12
  }
13
+
14
+ .modal-dialog {
15
+ .modal-content {
16
+ .modal-body {
17
+ .section-group__block {
18
+ max-width: 100%;
19
+ }
20
+ }
21
+ border-radius: 8px;
22
+ }
23
+ .modal-body {
24
+ padding: 32px;
25
+ fieldset {
26
+ display: flex;
27
+ flex-direction: row;
28
+ flex-wrap: wrap;
29
+ legend {
30
+ font-size: 28px;
31
+ font-weight: 700;
32
+ line-height: 32px;
33
+ letter-spacing: 0px;
34
+ margin-bottom: 32px;
35
+ }
36
+ .option {
37
+ margin-bottom: 32px;
38
+ flex-basis: 50%;
39
+ display: flex;
40
+ @media screen and (max-width: 600px) {
41
+ flex-basis: 100%;
42
+ }
43
+ input[type='checkbox'] {
44
+ height: 24px;
45
+ border: 1px solid #bababa;
46
+ width: 24px;
47
+ cursor: pointer;
48
+ }
49
+ label {
50
+ margin: 0px;
51
+ width: 80%;
52
+ position: relative;
53
+ left: 16px;
54
+ cursor: pointer;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ .modal-footer,
60
+ .modal-header {
61
+ border: none;
62
+ }
63
+ }
@@ -11,9 +11,8 @@
11
11
  :title-tag="titleTag"
12
12
  class="card-grid"
13
13
  :content-class="contentClass"
14
- :class="{
15
- [uniqueClass]: true
16
- }"
14
+ :class="`cardGrid-${gridId}`"
15
+ :card-browse-content="cardBrowseContent"
17
16
  >
18
17
  <template v-if="$slots.gridHeaderRight" v-slot:headerRight>
19
18
  <slot name="gridHeaderRight"></slot>
@@ -26,12 +25,12 @@
26
25
  ref="cardRow"
27
26
  :class="{
28
27
  ['card-grid__row--' + rowSpacing]: true,
29
- ['card-grid__row--' + rowClasses]: true
28
+ ['card-grid__row--' + rowClasses]: true,
30
29
  }"
31
30
  >
32
31
  <column
33
32
  v-for="(item, index) in cards"
34
- :key="`${redrawCounter}-${index}-${$options._uid}`"
33
+ :key="`${redrawCounter}-${index}-${gridId}`"
35
34
  ref="cardColumns"
36
35
  :lg="largeViewPort"
37
36
  :md="mediumViewPort"
@@ -39,7 +38,7 @@
39
38
  cols="12"
40
39
  class="card-grid__column"
41
40
  :class="{
42
- ['card-grid__column--' + columnSpacing]: true
41
+ ['card-grid__column--' + columnSpacing]: true,
43
42
  }"
44
43
  >
45
44
  <slot name="cardItem" :card="item" :index="index"></slot>
@@ -56,8 +55,7 @@
56
55
  import Row from './../../Containers/Row/index.vue'
57
56
  import Column from './../../Containers/Column/index.vue'
58
57
  import SectionGroup from './../../Containers/SectionGroup/index.vue'
59
- import debounce from 'lodash/debounce'
60
-
58
+ import { debounce } from 'lodash-es'
61
59
 
62
60
  export default {
63
61
  name: 'CardGrid',
@@ -65,52 +63,52 @@ export default {
65
63
  props: {
66
64
  title: {
67
65
  type: String,
68
- default: null
66
+ default: null,
69
67
  },
70
68
  subHeading: {
71
69
  type: String,
72
- default: null
70
+ default: null,
73
71
  },
74
72
  titleTag: {
75
73
  type: String,
76
- default: 'h2'
74
+ default: 'h2',
77
75
  },
78
76
  cards: {
79
77
  type: Array,
80
- default: () => []
78
+ default: () => [],
81
79
  },
82
80
  rtl: {
83
81
  type: Boolean,
84
- default: false
82
+ default: false,
85
83
  },
86
84
  columnsPerRow: {
87
85
  type: Number,
88
- default: 3
86
+ default: 3,
89
87
  },
90
88
  forceLgColumnsPerRow: {
91
89
  type: Number,
92
- default: undefined
90
+ default: undefined,
93
91
  },
94
92
  forceMdColumnsPerRow: {
95
93
  type: Number,
96
- default: undefined
94
+ default: undefined,
97
95
  },
98
96
  forceSmColumnsPerRow: {
99
97
  type: Number,
100
- default: undefined
98
+ default: undefined,
101
99
  },
102
100
  size: {
103
101
  type: String,
104
102
  default: 'page',
105
103
  validator: (value) =>
106
- ['half-content', 'content', 'page', 'full'].indexOf(value) >= 0
104
+ ['half-content', 'content', 'page', 'full'].indexOf(value) >= 0,
107
105
  },
108
106
  isSelectable: {
109
- type: Boolean
107
+ type: Boolean,
110
108
  },
111
109
  cardIdPrefix: {
112
110
  type: String,
113
- default: null
111
+ default: null,
114
112
  },
115
113
  backgroundVariant: {
116
114
  type: String,
@@ -123,45 +121,53 @@ export default {
123
121
  'grey',
124
122
  'yellow',
125
123
  'white',
126
- 'lightblue'
127
- ].indexOf(value) >= 0
124
+ 'lightblue',
125
+ ].indexOf(value) >= 0,
128
126
  },
129
127
  applyBackgroundOn: {
130
128
  type: String,
131
129
  default: 'section',
132
130
  validator: (value) =>
133
- ['content', 'block', 'container', 'section'].indexOf(value) >= 0
131
+ ['content', 'block', 'container', 'section'].indexOf(value) >= 0,
134
132
  },
135
133
  noPaddingTop: {
136
- type: Boolean
134
+ type: Boolean,
137
135
  },
138
136
  noPaddingBottom: {
139
- type: Boolean
137
+ type: Boolean,
140
138
  },
141
139
  rowSpacing: {
142
140
  type: String,
143
141
  default: 'large',
144
- validator: (value) => ['none', 'small', 'large'].indexOf(value) >= 0
142
+ validator: (value) => ['none', 'small', 'large'].indexOf(value) >= 0,
145
143
  },
146
144
  rowClasses: {
147
145
  type: String,
148
- default: null
146
+ default: null,
149
147
  },
150
148
  columnSpacing: {
151
149
  type: String,
152
150
  default: 'default',
153
- validator: (value) => ['default', 'none'].indexOf(value) >= 0
151
+ validator: (value) => ['default', 'none'].indexOf(value) >= 0,
154
152
  },
155
153
  contentClass: {
156
154
  type: String,
157
- default: ''
158
- }
155
+ default: '',
156
+ },
157
+ cardBrowseContent: {
158
+ type: Boolean,
159
+ default: false,
160
+ },
161
+ gridId: {
162
+ type: String,
163
+ default: 'default',
164
+ },
159
165
  },
160
166
  data() {
161
167
  return {
162
168
  childCards: [],
163
169
  redrawCounter: 0,
164
- setColumnSizeDebounce: debounce(this.setColumnSize, 500)
170
+ setColumnSizeDebounce: debounce(this.setColumnSize, 500),
165
171
  }
166
172
  },
167
173
  computed: {
@@ -188,38 +194,35 @@ export default {
188
194
  }
189
195
  return 6
190
196
  },
191
- uniqueClass() {
192
- return `cardGrid-${this.$options._uid}`
193
- }
194
197
  },
195
198
  watch: {
196
199
  cards: {
197
- handler: function() {
200
+ handler: function () {
198
201
  this.redrawCounter += 1
199
202
  this.setColumnSizeDebounce()
200
203
  },
201
- deep: true
204
+ deep: true,
202
205
  },
203
206
  columnsPerRow: {
204
- handler: function() {
207
+ handler: function () {
205
208
  this.setColumnSizeDebounce()
206
- }
209
+ },
207
210
  },
208
211
  forceSmColumnsPerRow: {
209
- handler: function() {
212
+ handler: function () {
210
213
  this.setColumnSizeDebounce()
211
- }
214
+ },
212
215
  },
213
216
  forceMdColumnsPerRow: {
214
- handler: function() {
217
+ handler: function () {
215
218
  this.setColumnSizeDebounce()
216
- }
219
+ },
217
220
  },
218
221
  forceLgColumnsPerRow: {
219
- handler: function() {
222
+ handler: function () {
220
223
  this.setColumnSizeDebounce()
221
- }
222
- }
224
+ },
225
+ },
223
226
  },
224
227
  mounted() {
225
228
  window.addEventListener('resize', this.setColumnSizeDebounce)
@@ -239,7 +242,7 @@ export default {
239
242
  ? this.cards[selectedCardModelIndex]
240
243
  : null,
241
244
  selectedCardModelIndex,
242
- ev
245
+ ev,
243
246
  })
244
247
  },
245
248
  cardSelected(selectedCard, ev) {
@@ -249,10 +252,12 @@ export default {
249
252
 
250
253
  this.$emit('selected', {
251
254
  selectedCard: selectedCard.selected
252
- ? this.cards[selectedCardModelIndex]
255
+ ? this.cardBrowseContent
256
+ ? this.childCards[selectedCardModelIndex]
257
+ : this.cards[selectedCardModelIndex]
253
258
  : null,
254
259
  selectedCardModelIndex,
255
- ev
260
+ ev,
256
261
  })
257
262
  },
258
263
  clearCards(selectedCard) {
@@ -292,15 +297,15 @@ export default {
292
297
  this.$emit('isMobileOrTabletView', isMobileView || isTabletView)
293
298
  this.$emit('gridColumnSize', gridColumnSize)
294
299
  this.childCards.forEach((card) =>
295
- card.setGridMetaData(gridColumnSize, isMobileView, isTabletView)
300
+ card.setGridMetaData(gridColumnSize, isMobileView, isTabletView),
296
301
  )
297
302
  }
298
303
  })
299
304
  },
300
305
  handleFocus(ev) {
301
306
  this.$emit('focussed', ev)
302
- }
303
- }
307
+ },
308
+ },
304
309
  }
305
310
  </script>
306
311
 
@@ -23,6 +23,7 @@
23
23
  </template>
24
24
 
25
25
  <script>
26
+ import { getCurrentInstance } from 'vue'
26
27
  import Icon from './../../SubComponents/Icon/index.vue'
27
28
  import ChevUp from './../../../assets/icons/chev-up.svg?raw'
28
29
  import CaretUp from './../../../assets/icons/caret-up.svg?url'
@@ -71,11 +72,13 @@ export default {
71
72
  },
72
73
  //Identify if this is a tabbed card WSV2-374
73
74
  isTabbedCard() {
74
- const TabCardClassList = this.$parent.$el.classList
75
- if (TabCardClassList.contains('tabbed-card')) {
76
- return true
75
+ const instance = getCurrentInstance();
76
+ const parentEl = instance?.parent?.proxy?.$el.parentNode;
77
+
78
+ if (parentEl && parentEl.classList.contains('tabbed-card')) {
79
+ return true;
77
80
  } else {
78
- return false
81
+ return false;
79
82
  }
80
83
  },
81
84
  //If isTabbedCard, then supportive text must be displayed for up and down carets. WSV2-374