@worksafevictoria/wcl7.5 1.1.12 → 1.1.14
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/package.json +4 -4
- package/src/components/Global/GlobalNotice/index.stories.js +7 -1
- package/src/components/Paragraphs/ScrollSpy/index.stories.js +2 -1
- package/src/components/Paragraphs/ScrollSpy/index.vue +7 -2
- package/src/components/Paragraphs/TabbedCards/index.stories.js +8 -27
- package/src/components/Paragraphs/TabbedCards/index.vue +9 -19
- package/src/components/Paragraphs/TabulatedData/index.vue +12 -7
- package/src/components/Paragraphs/TaskFinder/index.vue +3 -3
- package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +1 -1
- package/src/components/Paragraphs/Webform/index.stories.js +25 -0
- package/src/components/Paragraphs/Webform/index.vue +1 -1
- package/src/components/SubComponents/Search/index.vue +4 -4
- package/src/components/SubComponents/VideoThumbnail/index.vue +4 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@worksafevictoria/wcl7.5",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.14",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@formio/vue": "^5.0.0",
|
|
42
42
|
"@fortawesome/fontawesome-free": "^6.4.2",
|
|
43
|
-
"@storybook/cli": "^7.6.
|
|
43
|
+
"@storybook/cli": "^7.6.20",
|
|
44
44
|
"axios": "^1.6.0",
|
|
45
45
|
"bootstrap": "^5.3.2",
|
|
46
46
|
"bootstrap-vue": "^2.23.1",
|
|
47
|
-
"bootstrap-vue-next": "^0.
|
|
47
|
+
"bootstrap-vue-next": "^0.23.2",
|
|
48
48
|
"date-fns": "^2.30.0",
|
|
49
49
|
"formiojs": "4.13.13",
|
|
50
50
|
"storybook-addon-deep-controls": "^0.6.2",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"prettier": "^3.0.3",
|
|
86
86
|
"react": "^18.2.0",
|
|
87
87
|
"react-dom": "^18.2.0",
|
|
88
|
-
"sass": "
|
|
88
|
+
"sass": "1.77.6",
|
|
89
89
|
"sass-loader": "^13.3.2",
|
|
90
90
|
"semantic-release": "^19.0.3",
|
|
91
91
|
"storybook": "^7.5.1",
|
|
@@ -51,7 +51,8 @@ export default {
|
|
|
51
51
|
title: 'On this page',
|
|
52
52
|
itemListEnglish: englishItemList,
|
|
53
53
|
itemListArabic: arabicItemList,
|
|
54
|
-
rtl: false
|
|
54
|
+
rtl: false,
|
|
55
|
+
scrollSpy: { element: 'scrollspy-nested', offset: 100, method: 'auto' }
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
const DefaultContent = (args) => ({
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<section-group class="sticky-top">
|
|
3
3
|
<b-navbar class="paragraph--scrollspy" :class="{ rtl: rtl }">
|
|
4
4
|
<b-list-group
|
|
5
|
-
v-b-scrollspy="
|
|
5
|
+
v-b-scrollspy="scrollSpy"
|
|
6
6
|
class="flex-column"
|
|
7
7
|
>
|
|
8
8
|
<div class="scrollspy__title">{{ title }}</div>
|
|
@@ -22,11 +22,12 @@
|
|
|
22
22
|
|
|
23
23
|
<script>
|
|
24
24
|
import SectionGroup from '../../Containers/SectionGroup/index.vue'
|
|
25
|
-
import { BNavbar, BListGroup, BListGroupItem } from 'bootstrap-vue-next'
|
|
25
|
+
import { BNavbar, BListGroup, BListGroupItem, vBScrollspy } from 'bootstrap-vue-next'
|
|
26
26
|
|
|
27
27
|
export default {
|
|
28
28
|
name: 'ScrollSpy',
|
|
29
29
|
components: { SectionGroup, BNavbar, BListGroup, BListGroupItem },
|
|
30
|
+
directives: { 'b-scrollspy':vBScrollspy },
|
|
30
31
|
props: {
|
|
31
32
|
title: {
|
|
32
33
|
type: String,
|
|
@@ -39,6 +40,10 @@ export default {
|
|
|
39
40
|
rtl: {
|
|
40
41
|
type: Boolean,
|
|
41
42
|
default: false
|
|
43
|
+
},
|
|
44
|
+
scrollSpy: {
|
|
45
|
+
type: Object,
|
|
46
|
+
default: () => {return{ element: 'body', offset: 100, method: 'auto' }}
|
|
42
47
|
}
|
|
43
48
|
},
|
|
44
49
|
methods: {
|
|
@@ -4,33 +4,14 @@ import { tabbedCardsMockLinks } from '../../../mock/tabbed-cards'
|
|
|
4
4
|
export default {
|
|
5
5
|
title: 'Paragraphs/TabbedCards',
|
|
6
6
|
component: TabbedCards,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
defaultValue: 'Tabbed cards h2 heading'
|
|
15
|
-
},
|
|
16
|
-
tabbedCards: {
|
|
17
|
-
control: 'object',
|
|
18
|
-
defaultValue: tabbedCardsMockLinks
|
|
19
|
-
},
|
|
20
|
-
workwell: {
|
|
21
|
-
control: 'boolean',
|
|
22
|
-
defaultValue: false
|
|
23
|
-
}
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
args: {
|
|
9
|
+
description: 'Tabbed cards h2 heading',
|
|
10
|
+
heading: 'Tabbed cards h2 heading',
|
|
11
|
+
tabbedCards: tabbedCardsMockLinks,
|
|
12
|
+
workwell: false,
|
|
13
|
+
rtl: false
|
|
24
14
|
}
|
|
25
15
|
}
|
|
26
16
|
|
|
27
|
-
const
|
|
28
|
-
components: { TabbedCards },
|
|
29
|
-
props: Object.keys(argTypes),
|
|
30
|
-
template: `
|
|
31
|
-
<tabbed-cards
|
|
32
|
-
v-bind="$props"
|
|
33
|
-
/> `
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
export const Default = Template.bind({})
|
|
17
|
+
export const Default = {}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
:content-class="`tabbed-cards-content`"
|
|
21
21
|
class="tabbed-cards__grid"
|
|
22
22
|
@selected="(card, cardIndex) => setCurrentRow(rIndex, card)"
|
|
23
|
-
@
|
|
23
|
+
@focusin="focussed($event)"
|
|
24
24
|
>
|
|
25
25
|
<template v-slot:cardItem="{ card }">
|
|
26
26
|
<card-grid-item
|
|
@@ -46,8 +46,7 @@
|
|
|
46
46
|
>
|
|
47
47
|
<column class="listgroup-column">
|
|
48
48
|
<div ref="listgroup" class="tabbed-cards__listGroup">
|
|
49
|
-
<
|
|
50
|
-
:is="ListGroupComponent"
|
|
49
|
+
<list-group
|
|
51
50
|
:list="selectedCard.links"
|
|
52
51
|
:title="selectedCard.linksTitle"
|
|
53
52
|
:title-tag="selectedCard.linksTag"
|
|
@@ -69,10 +68,11 @@ import CardGrid from './../../Common/CardGrid/index.vue'
|
|
|
69
68
|
import CardGridItem from './../../Common/CardGridItem/index.vue'
|
|
70
69
|
import Column from './../../Containers/Column/index.vue'
|
|
71
70
|
import Icon from './../../SubComponents/Icon/index.vue'
|
|
71
|
+
import ListGroup from './../../Paragraphs/ListGroup/index.vue'
|
|
72
72
|
|
|
73
73
|
export default {
|
|
74
74
|
name: 'TabbedCards',
|
|
75
|
-
components: { CardGrid, CardGridItem, Icon, Column },
|
|
75
|
+
components: { CardGrid, CardGridItem, Icon, Column, ListGroup },
|
|
76
76
|
props: {
|
|
77
77
|
heading: {
|
|
78
78
|
type: String,
|
|
@@ -120,19 +120,15 @@ export default {
|
|
|
120
120
|
} else {
|
|
121
121
|
return 3
|
|
122
122
|
}
|
|
123
|
-
},
|
|
124
|
-
ListGroupComponent() {
|
|
125
|
-
//List group component import to fix storybook bug
|
|
126
|
-
return () => import('./../ListGroup/index.vue')
|
|
127
123
|
}
|
|
128
124
|
},
|
|
129
125
|
mounted() {
|
|
130
126
|
window.addEventListener('resize', this.updateScreenWidth)
|
|
131
127
|
this.screenWidth = document.documentElement.clientWidth
|
|
132
|
-
this.$root.$on('last-focus-out', () => {
|
|
128
|
+
/* this.$root.$on('last-focus-out', () => {
|
|
133
129
|
this.selectedCard = null
|
|
134
130
|
this.selectedRow = null
|
|
135
|
-
})
|
|
131
|
+
}) */
|
|
136
132
|
this.loaded = true
|
|
137
133
|
},
|
|
138
134
|
beforeDestroy() {
|
|
@@ -193,9 +189,7 @@ export default {
|
|
|
193
189
|
},
|
|
194
190
|
focussed(ev) {
|
|
195
191
|
if (ev.shiftKey) {
|
|
196
|
-
let prevTabbedCard = ev.target?.parentElement?.parentElement?.previousSibling?.getElementsByTagName(
|
|
197
|
-
'button'
|
|
198
|
-
)[0]
|
|
192
|
+
let prevTabbedCard = ev.target?.parentElement?.parentElement?.previousSibling?.getElementsByTagName('button')[0]
|
|
199
193
|
if (
|
|
200
194
|
prevTabbedCard &&
|
|
201
195
|
prevTabbedCard.getAttribute('aria-expanded') === 'true'
|
|
@@ -209,17 +203,13 @@ export default {
|
|
|
209
203
|
}
|
|
210
204
|
const lG = this.$refs.listgroup
|
|
211
205
|
const isListGroupOpen = Array.isArray(lG) && lG.length > 0
|
|
212
|
-
const cardIsSelected = ev.target.parentElement.classList.contains(
|
|
213
|
-
'isSelected'
|
|
214
|
-
)
|
|
206
|
+
const cardIsSelected = ev.target.parentElement.classList.contains('isSelected')
|
|
215
207
|
if (cardIsSelected && isListGroupOpen) {
|
|
216
208
|
ev.preventDefault()
|
|
217
209
|
lG[0].getElementsByTagName('button')[0].focus()
|
|
218
210
|
} else if (!cardIsSelected && isListGroupOpen) {
|
|
219
211
|
ev.preventDefault()
|
|
220
|
-
let nextTabbedCard = ev.target?.parentElement?.parentElement?.nextSibling?.getElementsByTagName(
|
|
221
|
-
'button'
|
|
222
|
-
)[0]
|
|
212
|
+
let nextTabbedCard = ev.target?.parentElement?.parentElement?.nextSibling?.getElementsByTagName('button')[0]
|
|
223
213
|
if (nextTabbedCard) {
|
|
224
214
|
nextTabbedCard.focus()
|
|
225
215
|
} else {
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
:class="`${rtl ? 'rtl' : ''} ${isFluid ? 'isScrolled' : ''}`"
|
|
13
13
|
class="table border"
|
|
14
14
|
:striped="true"
|
|
15
|
-
|
|
16
|
-
v-model:sort-by="sortBy"
|
|
15
|
+
:sort-by="sortBy"
|
|
17
16
|
:borderless="false"
|
|
18
17
|
:responsive="!isFluid"
|
|
19
18
|
:stacked="!isFluid ? 'sm' : false"
|
|
@@ -74,8 +73,8 @@ export default {
|
|
|
74
73
|
},
|
|
75
74
|
data() {
|
|
76
75
|
return {
|
|
77
|
-
sortBy: this.initialSortBy,
|
|
78
|
-
sortDesc: false,
|
|
76
|
+
sortBy: [{key:this.initialSortBy, order:'asc'}],
|
|
77
|
+
//sortDesc: false,
|
|
79
78
|
sortIconNeutral:
|
|
80
79
|
"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' view-box='0 0 101 101' preserveAspectRatio='none'%3e%3cpath fill='black' opacity='.3' d='M51 1l25 23 24 22H1l25-22zM51 101l25-23 24-22H1l25 22z'/%3e%3c/svg%3e",
|
|
81
80
|
sortIconDesc:
|
|
@@ -91,11 +90,13 @@ export default {
|
|
|
91
90
|
},
|
|
92
91
|
methods: {
|
|
93
92
|
accessSort(fieldVar) {
|
|
94
|
-
this.sortBy = fieldVar.key
|
|
93
|
+
//this.sortBy = fieldVar.key
|
|
95
94
|
if (fieldVar.thAttr['aria-sort'] === 'none' || fieldVar.thAttr['aria-sort'] === 'descending' ) {
|
|
96
|
-
this.
|
|
95
|
+
this.sortBy = [{key:fieldVar.key, order:'asc'}]
|
|
96
|
+
//this.sortDesc = false
|
|
97
97
|
} else {
|
|
98
|
-
this.
|
|
98
|
+
this.sortBy = [{key:fieldVar.key, order:'desc'}]
|
|
99
|
+
//this.sortDesc = true
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
102
|
}
|
|
@@ -141,5 +142,9 @@ export default {
|
|
|
141
142
|
vertical-align: middle;
|
|
142
143
|
margin-left: 5px;
|
|
143
144
|
}
|
|
145
|
+
|
|
146
|
+
.b-table-sortable-column svg {
|
|
147
|
+
display:none;
|
|
148
|
+
}
|
|
144
149
|
}
|
|
145
150
|
</style>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
:selected-task="selectedTask"
|
|
22
22
|
:is-child="false"
|
|
23
23
|
:is-mobile-or-tablet-view="isMobileOrTabletView"
|
|
24
|
-
@
|
|
24
|
+
@selection="(task) => taskClick(task, true)"
|
|
25
25
|
>
|
|
26
26
|
<task-finder-column
|
|
27
27
|
v-if="isMobileOrTabletView && selectedTask"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
:selected-task="selectedTask"
|
|
32
32
|
:is-mobile-or-tablet-view="isMobileOrTabletView"
|
|
33
33
|
:is-child="true"
|
|
34
|
-
@
|
|
34
|
+
@selection="(task) => taskClick(task, false)"
|
|
35
35
|
>
|
|
36
36
|
</task-finder-column>
|
|
37
37
|
</task-finder-column>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
:selected-task="selectedTask"
|
|
50
50
|
:is-mobile-or-tablet-view="isMobileOrTabletView"
|
|
51
51
|
:is-child="true"
|
|
52
|
-
@
|
|
52
|
+
@selection="(task) => taskClick(task, false)"
|
|
53
53
|
>
|
|
54
54
|
</task-finder-column>
|
|
55
55
|
</column>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
isChild ? 'task-finder-column__child' : 'task-finder-column__parent'
|
|
17
17
|
"
|
|
18
18
|
:style="cards.length > 6 ? false : 'overflow-y: auto'"
|
|
19
|
-
@selected="(card) => $emit('
|
|
19
|
+
@selected="(card) => $emit('selection', { card })"
|
|
20
20
|
>
|
|
21
21
|
<template v-slot:cardItem="{ card }">
|
|
22
22
|
<card-grid-item
|
|
@@ -36,6 +36,31 @@ export default {
|
|
|
36
36
|
table: {
|
|
37
37
|
disable: true
|
|
38
38
|
}
|
|
39
|
+
},
|
|
40
|
+
changed: {
|
|
41
|
+
table: {
|
|
42
|
+
disable: true
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
submitted: {
|
|
46
|
+
table: {
|
|
47
|
+
disable: true
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
rendered: {
|
|
51
|
+
table: {
|
|
52
|
+
disable: true
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
nextPage: {
|
|
56
|
+
table: {
|
|
57
|
+
disable: true
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
prevPage: {
|
|
61
|
+
table: {
|
|
62
|
+
disable: true
|
|
63
|
+
}
|
|
39
64
|
}
|
|
40
65
|
},
|
|
41
66
|
args: {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
<script>
|
|
26
26
|
import FormHandler from '../../SubComponents/FormInstance/components/handler/index.vue'
|
|
27
|
-
import colors from '../../../includes/scss/vars/src/colors.scss'
|
|
27
|
+
import colors from '../../../includes/scss/vars/src/colors.scss?inline'
|
|
28
28
|
|
|
29
29
|
export default {
|
|
30
30
|
name: 'WebformPara',
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
@update="searchType !== 'googlerest' ? onChange : () => {}"
|
|
23
23
|
@keyup.enter="onChange"
|
|
24
24
|
></b-form-input>
|
|
25
|
-
<
|
|
25
|
+
<template #append>
|
|
26
26
|
<b-button size="sm" class="search-button" @click="onSearch"
|
|
27
27
|
><span class="not-extra-small-screen">Search</span>
|
|
28
28
|
<img alt="search icon" :src="searchIcon"
|
|
29
29
|
/></b-button>
|
|
30
|
-
</
|
|
30
|
+
</template>
|
|
31
31
|
</b-input-group>
|
|
32
32
|
<search-listing
|
|
33
33
|
v-if="loadSearchList && (searchResults || isLoading)"
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
import axios from 'axios'
|
|
57
57
|
import searchIcon from '../../../assets/icons/search.svg?url'
|
|
58
58
|
import SearchListing from './SearchListing/index.vue'
|
|
59
|
-
import { BButton, BInputGroup, BFormInput
|
|
59
|
+
import { BButton, BInputGroup, BFormInput } from 'bootstrap-vue-next'
|
|
60
60
|
|
|
61
61
|
export default {
|
|
62
|
-
components: { SearchListing, BButton, BInputGroup, BFormInput
|
|
62
|
+
components: { SearchListing, BButton, BInputGroup, BFormInput },
|
|
63
63
|
props: {
|
|
64
64
|
pageLimit: {
|
|
65
65
|
type: Number,
|
|
@@ -127,13 +127,13 @@ export default {
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
.modal-header {
|
|
130
|
-
position: absolute;
|
|
131
130
|
top: 0;
|
|
132
131
|
height: 45px;
|
|
133
132
|
background: $white;
|
|
134
133
|
z-index: 1;
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
margin-left: auto;
|
|
135
|
+
margin-right:0%;
|
|
136
|
+
|
|
137
137
|
&__wrap {
|
|
138
138
|
position: relative;
|
|
139
139
|
width: 100%;
|
|
@@ -152,7 +152,7 @@ export default {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
.modal-body {
|
|
155
|
-
padding: 32px;
|
|
155
|
+
padding: 0px 32px 32px;
|
|
156
156
|
margin-top: 16px;
|
|
157
157
|
.video-player {
|
|
158
158
|
@include fp(min-height, 250, 588);
|
|
@@ -183,9 +183,6 @@ export default {
|
|
|
183
183
|
.modal-footer {
|
|
184
184
|
border: none;
|
|
185
185
|
}
|
|
186
|
-
.modal-footer {
|
|
187
|
-
display: none;
|
|
188
|
-
}
|
|
189
186
|
}
|
|
190
187
|
</style>
|
|
191
188
|
<style lang="scss" scoped>
|