@worksafevictoria/wcl7.5 1.17.0-beta.3 → 1.17.0-beta.5

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 (30) hide show
  1. package/package.json +1 -1
  2. package/src/assets/icons/chevron-right-icon.svg +14 -0
  3. package/src/assets/icons/notepad.svg +93 -0
  4. package/src/assets/icons/question.svg +7 -0
  5. package/src/components/Common/CardGrid/index.vue +83 -74
  6. package/src/components/Common/CardGridItem/index.vue +31 -4
  7. package/src/components/Containers/Carousel/index.vue +6 -0
  8. package/src/components/Containers/SectionGroup/index.stories.js +28 -27
  9. package/src/components/Containers/SectionGroup/index.vue +6 -0
  10. package/src/components/Global/HeroHeader/index.vue +74 -57
  11. package/src/components/Paragraphs/Calculator/CardContainer/index.vue +68 -60
  12. package/src/components/Paragraphs/Calculator/index.vue +24 -22
  13. package/src/components/Paragraphs/RTWPlanner/CardContainer/index.vue +133 -0
  14. package/src/components/Paragraphs/RTWPlanner/Constants.js +410 -0
  15. package/src/components/Paragraphs/RTWPlanner/Footer/index.vue +32 -0
  16. package/src/components/Paragraphs/RTWPlanner/{NavBar → Header}/index.vue +20 -9
  17. package/src/components/Paragraphs/RTWPlanner/HomePage/index.vue +72 -0
  18. package/src/components/Paragraphs/RTWPlanner/Injuries/index.vue +174 -0
  19. package/src/components/Paragraphs/RTWPlanner/index.stories.js +68 -15
  20. package/src/components/Paragraphs/RTWPlanner/index.vue +99 -31
  21. package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +31 -11
  22. package/src/components/Paragraphs/SelectableCards/cardbody.vue +9 -10
  23. package/src/components/Paragraphs/SelectableCards/cardtop.vue +23 -16
  24. package/src/components/Paragraphs/SelectableCards/index.stories.js +29 -8
  25. package/src/components/Paragraphs/SelectableCards/index.vue +124 -50
  26. package/src/components/SubComponents/Breadcrumb/index.vue +40 -7
  27. package/src/includes/scss/vars/src/colors.module.scss +3 -0
  28. package/src/includes/scss/vars/src/colors.scss +3 -0
  29. package/src/mock/control-selectable-cards.js +68 -25
  30. package/src/components/Paragraphs/RTWPlanner/Home/index.vue +0 -83
@@ -7,55 +7,99 @@
7
7
  :sub-heading="subHeading"
8
8
  :columns-per-row="columns || 4"
9
9
  class="selectable-cards"
10
- :is-selectable="true"
10
+ :is-selectable="isSelectable"
11
11
  :card-id-prefix="'selectable-cc-card'"
12
12
  @selected="selectedCardChangeFocus"
13
+ @selected-button-role="selectedButtonRole"
13
14
  >
14
- <template v-slot:cardItem="{ card }">
15
- <!-----CONTROL SELECTED CARD START-------->
15
+ <template v-slot:cardItem="slotProps">
16
16
  <card-grid-item
17
17
  v-if="cardType === 'control-selectcards'"
18
18
  class="control_selectcard"
19
- :button-role="'radio'"
20
- :glyph-src="card.icon"
19
+ :button-role="buttonRole"
20
+ :glyph-src="normalize(slotProps).icon"
21
21
  :icon-size="'medium'"
22
22
  :show-divider="false"
23
23
  :header-size="'medium'"
24
- :card-header-title="card.name"
25
- :card-padding="'small'"
24
+ :card-header-title="normalize(slotProps).name"
25
+ :card-padding="cardPadding"
26
26
  :border-type="'dark'"
27
27
  :border-on-select-background="'blue'"
28
28
  :icon-is-bordered="iconIsBordered"
29
29
  :card-text-align="cardTextAlign"
30
+ :is-selectable="isSelectable"
30
31
  >
31
- <template v-slot:cardTop>
32
- <card-top :card="card" :button-role="'radio'" :is-selectable="true" />
32
+ <template #cardTop>
33
+ <card-top
34
+ v-if="buttonRole !== 'none'"
35
+ :card="normalize(slotProps)"
36
+ :button-role="buttonRole"
37
+ :is-selectable="true"
38
+ @button-role-clicked="selectedButtonRole"
39
+ />
33
40
  </template>
34
- <template v-slot:cardDescription>
35
- <card-body :card="card" />
41
+
42
+ <template #cardDescription>
43
+ <card-body :card="normalize(slotProps)" />
36
44
  </template>
37
45
  </card-grid-item>
38
- <!-----CONTROL SELECTED CARD END-------->
46
+
39
47
  <card-grid-item
40
48
  v-else
41
49
  class="selectcard"
42
- :glyph-src="card.icon"
50
+ :glyph-src="normalize(slotProps).icon"
43
51
  :show-divider="false"
44
52
  :header-size="'large'"
45
- :card-header-title="card.name"
53
+ :card-header-title="normalize(slotProps).name"
46
54
  :card-padding="'small'"
47
55
  :invert-on-select-background="'black'"
48
56
  :border-type="'shadow'"
49
- :description="card.description"
57
+ :description="normalize(slotProps).description"
50
58
  />
51
59
  </template>
52
- <template v-slot:cardGridFooter>
53
- <slot name="cardGridFooter"></slot>
60
+
61
+ <template #cardGridFooter>
62
+ <slot name="cardGridFooter" />
54
63
  </template>
55
64
  </card-grid>
65
+
66
+ <!-- Reusable modal lives here now -->
67
+ <BModal
68
+ v-if="showModalOnButtonRole"
69
+ v-model="showModal"
70
+ :size="modalSize"
71
+ :no-footer="noModalFooter"
72
+ :scrollable="true"
73
+ :class="modalClass"
74
+ @show="$emit('modal-open', modalCard)"
75
+ @hide="$emit('modal-close')"
76
+ >
77
+ <div v-if="modalCard" class="selectable-cards__modal">
78
+ <!-- Parent can fully control; -->
79
+ <slot name="modalTitle" :card="modalCard">
80
+ <h2 class="card-title">{{ modalCard.name }}</h2>
81
+ </slot>
82
+
83
+ <slot name="modalBody" :card="modalCard">
84
+ <div class="card-body">
85
+ <p v-if="modalCard.value" class="card-value">{{ modalCard.value }}</p>
86
+ <div
87
+ v-if="modalCard.description"
88
+ class="card-description"
89
+ v-html="modalCard.description"
90
+ />
91
+ </div>
92
+ </slot>
93
+
94
+ <slot name="modalFooter" :card="modalCard">
95
+ <div />
96
+ </slot>
97
+ </div>
98
+ </BModal>
56
99
  </template>
57
100
 
58
101
  <script>
102
+ import { BModal } from 'bootstrap-vue-next'
59
103
  import CardGrid from './../../Common/CardGrid/index.vue'
60
104
  import CardGridItem from './../../Common/CardGridItem/index.vue'
61
105
  import CardBody from './cardbody.vue'
@@ -63,56 +107,86 @@ import CardTop from './cardtop.vue'
63
107
 
64
108
  export default {
65
109
  name: 'SelectableCards',
66
- components: {
67
- CardGrid,
68
- CardGridItem,
69
- CardBody,
70
- CardTop,
71
- },
110
+ components: { CardGrid, CardGridItem, CardBody, CardTop, BModal },
72
111
  emits: {
73
112
  selected: false,
113
+ 'selected-button-role': false,
114
+ 'modal-open': false,
115
+ 'modal-close': false,
74
116
  },
75
117
  props: {
76
- cards: {
77
- type: Array,
78
- required: true,
79
- default: () => [],
80
- },
81
- title: {
82
- type: String,
83
- default: null,
84
- },
85
- headingTag: {
86
- type: String,
87
- default: 'h2',
88
- },
89
- subHeading: {
118
+ cards: { type: Array, required: true, default: () => [] },
119
+ title: { type: String, default: null },
120
+ headingTag: { type: String, default: 'h2' },
121
+ subHeading: { type: String, default: null },
122
+ iconIsBordered: { type: Boolean, default: true },
123
+ isSelectable: { type: Boolean, default: true },
124
+ columns: { type: Number, default: 4 },
125
+ cardType: { type: String, default: null },
126
+ cardTextAlign: { type: String, default: null },
127
+ buttonRole: { type: String, default: 'radio' },
128
+ cardPadding: {
90
129
  type: String,
91
- default: null,
130
+ default: 'small',
131
+ validator: (value) =>
132
+ ['none', 'xsmall', 'small', 'medium', 'large'].indexOf(value) >= 0,
92
133
  },
93
- iconIsBordered: {
134
+
135
+ /* New modal controls for reusability */
136
+ showModalOnButtonRole: {
94
137
  type: Boolean,
95
138
  default: true,
96
139
  },
97
- columns: {
98
- type: Number,
99
- default: 4,
100
- },
101
- cardType: {
140
+ modalSize: {
102
141
  type: String,
103
- default: null,
142
+ default: 'xl',
104
143
  },
105
- cardTextAlign: {
144
+ modalClass: {
106
145
  type: String,
107
- default: null,
146
+ default: 'wcl-card-modal__modal',
108
147
  },
148
+ noModalFooter: {
149
+ type: Boolean,
150
+ default: true,
151
+ },
152
+ },
153
+ data() {
154
+ return {
155
+ showModal: false,
156
+ modalCard: null,
157
+ }
109
158
  },
110
159
  methods: {
111
- selectedCardChangeFocus(card) {
112
- this.$emit('selected', card.selectedCard)
160
+ // Accept various slot shapes and return the raw card
161
+ normalize(slotProps) {
162
+ const c =
163
+ slotProps?.card?.selectedCard ??
164
+ slotProps?.card ??
165
+ slotProps?.item ??
166
+ slotProps?.selectedCard ??
167
+ slotProps
168
+ return c || {}
113
169
  },
170
+
171
+ selectedCardChangeFocus(payload) {
172
+ // If CardGrid emits { selectedCard }, keep behavior consistent
173
+ const card = payload?.selectedCard ?? payload
174
+ this.$emit('selected', card)
175
+ },
176
+
177
+ selectedButtonRole(card) {
178
+ // Receive raw card from <card-top> and bubble it up as raw object
179
+ this.$emit('selected-button-role', card)
180
+
181
+ // open the reusable modal here
182
+ if (this.showModalOnButtonRole) {
183
+ this.modalCard = card
184
+ this.showModal = true
185
+ }
186
+ },
187
+
114
188
  clearCard() {
115
- this.$refs.cardgrid.clearCards()
189
+ this.$refs.cardgrid?.clearCards?.()
116
190
  },
117
191
  },
118
192
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  class="wcl-breadcrumb"
4
- :class="{ ['wcl-breadcrumb--rtl']: rtl, ['wcl-breadcrumb--ltr']: !rtl }"
4
+ :class="{ 'wcl-breadcrumb--rtl': rtl, 'wcl-breadcrumb--ltr': !rtl }"
5
5
  >
6
6
  <ol class="breadcrumb">
7
7
  <li
@@ -9,27 +9,60 @@
9
9
  :key="index"
10
10
  class="breadcrumb-item"
11
11
  >
12
- <a v-if="item.href" :href="item.href" target="_self">{{ item.text }}</a>
13
- <nuxt-link v-else-if="item.to" :to="item.to">{{ item.text }}</nuxt-link>
12
+ <!-- Plain anchor -->
13
+ <a
14
+ v-if="item.href"
15
+ :href="item.href"
16
+ target="_self"
17
+ @click="onClick(item, index, $event)"
18
+ >{{ item.text }}</a
19
+ >
20
+
21
+ <!-- NuxtLink (Nuxt 3 / Vue 3) -->
22
+ <nuxt-link
23
+ v-else-if="item.to"
24
+ :to="item.to"
25
+ @click="onClick(item, index, $event)"
26
+ >{{ item.text }}</nuxt-link
27
+ >
28
+
29
+ <!-- Fallback (no link) -->
30
+ <span v-else @click="onClick(item, index, $event)">{{
31
+ item.text
32
+ }}</span>
14
33
  </li>
15
34
  </ol>
16
35
  </div>
17
36
  </template>
37
+
18
38
  <script>
19
39
  export default {
20
40
  name: 'Breadcrumb',
21
41
  props: {
22
42
  breadcrumbItems: {
23
43
  type: Array,
24
- required: true
44
+ required: true,
25
45
  },
26
46
  rtl: {
27
47
  type: Boolean,
28
- required: false
29
- }
30
- }
48
+ required: false,
49
+ },
50
+ // If true, prevent default navigation and let the parent handle it.
51
+ interceptClicks: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ },
56
+ emits: ['item-click'],
57
+ methods: {
58
+ onClick(item, index, event) {
59
+ this.$emit('item-click', { item, index, event })
60
+ if (this.interceptClicks) event.preventDefault()
61
+ },
62
+ },
31
63
  }
32
64
  </script>
65
+
33
66
  <style lang="scss" scoped>
34
67
  @import '../../../includes/scss/vars/src/colors.scss';
35
68
 
@@ -20,6 +20,8 @@ $yellow: #ffd229;
20
20
  $lightyellow: #fff6d4;
21
21
  $outline: #da47ff;
22
22
  $outline-dark: #ffffff;
23
+ $lavendergray: #e5e8f2;
24
+
23
25
  // Functional colours
24
26
  $wsv-fun-dark-green: #576D2F;
25
27
  $wsv-fun-dark-blue: #104f77;
@@ -58,6 +60,7 @@ $theme-colors: (
58
60
  'lightyellow': $lightyellow,
59
61
  'outline': $outline,
60
62
  'outline-dark': $outline-dark,
63
+ 'lavendergray': $lavendergray,
61
64
  // Functional colours
62
65
  'wsv-fun-dark-green':$wsv-fun-dark-green,
63
66
  'wsv-fun-dark-blue':$wsv-fun-dark-blue,
@@ -20,6 +20,8 @@ $yellow: #ffd229;
20
20
  $lightyellow: #fff6d4;
21
21
  $outline: #da47ff;
22
22
  $outline-dark: #ffffff;
23
+ $lavendergray: #e5e8f2;
24
+
23
25
  // Functional colours
24
26
  $wsv-fun-dark-green: #576D2F;
25
27
  $wsv-fun-dark-blue: #104f77;
@@ -59,6 +61,7 @@ $theme-colors: (
59
61
  'lightyellow': $lightyellow,
60
62
  'outline': $outline,
61
63
  'outline-dark': $outline-dark,
64
+ 'lavendergray': $lavendergray,
62
65
  // Functional colours
63
66
  'wsv-fun-dark-green':$wsv-fun-dark-green,
64
67
  'wsv-fun-dark-blue':$wsv-fun-dark-blue,
@@ -1,58 +1,101 @@
1
1
  export const mockSelectableCards = [
2
2
  {
3
3
  name: 'Bolt',
4
- icon:
5
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
4
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
6
5
  value: '0.2500',
7
- units: 'kg'
6
+ units: 'kg',
8
7
  },
9
8
  {
10
9
  name: 'Screwdriver',
11
- icon:
12
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
10
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
13
11
  value: '0.2600',
14
- units: 'kg'
12
+ units: 'kg',
15
13
  },
16
14
  {
17
15
  name: 'Hammer',
18
- icon:
19
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
16
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
20
17
  value: '0.5',
21
- units: 'kg'
18
+ units: 'kg',
22
19
  },
23
20
  {
24
21
  name: 'Electric drill',
25
- icon:
26
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
22
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
27
23
  value: '2',
28
- units: 'kg'
24
+ units: 'kg',
29
25
  },
30
26
  {
31
27
  name: 'Sledge Hammer',
32
- icon:
33
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
28
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
34
29
  value: '5',
35
- units: 'kg'
30
+ units: 'kg',
36
31
  },
37
32
  {
38
33
  name: 'Scaffolding platform',
39
- icon:
40
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
34
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%202%20object.svg',
41
35
  value: '50',
42
- units: 'kg'
36
+ units: 'kg',
43
37
  },
44
38
  {
45
39
  name: 'Anvil',
46
- icon:
47
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
40
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
48
41
  value: '75',
49
- units: 'kg'
42
+ units: 'kg',
50
43
  },
51
44
  {
52
45
  name: 'Window pane',
53
- icon:
54
- 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
46
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
55
47
  value: '250',
56
- units: 'kg'
57
- }
48
+ units: 'kg',
49
+ },
50
+ ]
51
+
52
+ export const mockModalSelectableCards = [
53
+ {
54
+ name: 'Acquired brain injury',
55
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
56
+ value: 'The return to work planner is not suitable for this injury type',
57
+ description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
58
+ <p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
59
+ <p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
60
+ },
61
+ {
62
+ name: 'Hearing loss',
63
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
64
+ value: 'The return to work planner is not suitable for this injury type',
65
+ description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
66
+ <p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
67
+ <p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
68
+ },
69
+ {
70
+ name: 'Respiratory condition',
71
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
72
+ value: 'The return to work planner is not suitable for this injury type',
73
+ description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
74
+ <p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
75
+ <p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
76
+ },
77
+ {
78
+ name: 'Severe injury',
79
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
80
+ value: 'The return to work planner is not suitable for this injury type',
81
+ description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
82
+ <p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
83
+ <p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
84
+ },
85
+ {
86
+ name: 'Serious injury',
87
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
88
+ value: 'The return to work planner is not suitable for this injury type',
89
+ description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
90
+ <p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
91
+ <p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
92
+ },
93
+ {
94
+ name: 'Mental injury',
95
+ icon: 'https://content-dev-v2.api.worksafe.vic.gov.au/sites/default/files/icons/icon%201%20object.svg',
96
+ value: 'The return to work planner is not suitable for this injury type',
97
+ description: `<p>Includes mild, moderate, severe and profound acquired brain injury (ABI), brain damage and brain injury</p>
98
+ <p>Exludes concussion and fractured skull alone.</p> <p>Please click for more information and how you can get support</p>
99
+ <p><a href='/return-work-mental-injuries' class='cta-button white'>More information</a></p>`,
100
+ },
58
101
  ]
@@ -1,83 +0,0 @@
1
- <template>
2
- <div>
3
- <TextMedia
4
- :media-type="'image'"
5
- :title-text="textMedia.title"
6
- :title-tag="textMedia.titleTag"
7
- :content="textMedia.content"
8
- :image="textMedia.image"
9
- :rtl="textMedia.rtl"
10
- />
11
-
12
- <Container fluid class="my-4">
13
- <h2>Select your injury</h2>
14
-
15
- <TextMedia
16
- :media-type="'icon'"
17
- :title-text="'Physical injuries'"
18
- :content="`<p>
19
- Physical injuries include anything that occurs to an employees body.
20
- This tool supports employers to manage the return to work process
21
- for non-complex physical injuries only.
22
- </p><p><a href=&quot;#&quot; class=&quot;cta-button&quot;>Continue to planner</a></p>`"
23
- :glyph="PhysicalInjury"
24
- :icon-alt="'PhysicalInjury icon'"
25
- :glyph-height="60"
26
- :glyph-width="60"
27
- />
28
-
29
- <TextMedia
30
- :media-type="'icon'"
31
- :title-text="'Mental injuries'"
32
- :content="`<p>
33
- Mental injuries are complex and require tailored information for
34
- employers to support injured workers with their return to work. This
35
- tool does not currently give guidance for mental injuries.
36
- </p><p><a href=&quot;#&quot; class=&quot;cta-button white&quot;>Continue to planner</a></p>`"
37
- :glyph="MentalInjury"
38
- :icon-alt="'MentalInjury icon'"
39
- :glyph-height="60"
40
- :glyph-width="60"
41
- />
42
-
43
- <TextMedia
44
- :media-type="'icon'"
45
- :title-text="'Other'"
46
- :content="`<p>
47
- If you are unsure about the injury type of your employee, gaining
48
- additional support, reach out to your agent to get more information.
49
- </p><p><a href=&quot;#&quot; class=&quot;cta-button white&quot;>More information</a></p>`"
50
- :glyph="OtherInjury"
51
- :icon-alt="'Other icon'"
52
- :glyph-height="60"
53
- :glyph-width="60"
54
- />
55
- </Container>
56
- </div>
57
- </template>
58
-
59
- <script setup>
60
- import { defineProps } from 'vue'
61
-
62
- import Container from './../../../Containers/Container/index.vue'
63
- import TextMedia from './../../TextMedia/index.vue'
64
- import PhysicalInjury from './../../../../assets/icons/Physical-injury.svg?url'
65
- import MentalInjury from './../../../../assets/icons/Mental-injury.svg?url'
66
- import OtherInjury from './../../../../assets/icons/other.svg?url'
67
- const emit = defineEmits(['newPlan'])
68
-
69
- const props = defineProps({
70
- textMedia: {
71
- type: Object,
72
- required: true,
73
- },
74
- })
75
- </script>
76
-
77
- <style scoped>
78
- .lightgrey-bg {
79
- border-radius: 12px;
80
- border: 4px solid #727272;
81
- background: #f5f5f5;
82
- }
83
- </style>