@nexxtmove/ui 1.12.0 → 1.14.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 (39) hide show
  1. package/dist/components/molecules/TemplateCard/TemplateCard.vue.d.ts +39 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +267 -197
  4. package/dist/ui.css +1 -1
  5. package/package.json +2 -1
  6. package/src/components/atoms/Avatar/Avatar.vue +3 -3
  7. package/src/components/atoms/Button/Button.vue +11 -1
  8. package/src/components/atoms/Card/Card.vue +1 -1
  9. package/src/components/atoms/Checkbox/Checkbox.vue +1 -1
  10. package/src/components/atoms/EnergyLabel/EnergyLabel.vue +1 -1
  11. package/src/components/atoms/PresenceIndicator/PresenceIndicator.vue +3 -3
  12. package/src/components/atoms/PropertyListing/PropertyListing.vue +1 -1
  13. package/src/components/atoms/SelectableOption/SelectableOption.vue +1 -1
  14. package/src/components/atoms/Skeleton/Skeleton.vue +1 -1
  15. package/src/components/atoms/Squircle/Squircle.vue +1 -1
  16. package/src/components/molecules/CustomerJourneyTile/CustomerJourneyTile.vue +1 -1
  17. package/src/components/molecules/DoughnutChart/DoughnutChart.vue +1 -4
  18. package/src/components/molecules/InputField/InputField.vue +1 -1
  19. package/src/components/molecules/InputSelect/InputSelect.vue +1 -1
  20. package/src/components/molecules/Pagination/Pagination.vue +5 -5
  21. package/src/components/molecules/PropertyCard/PropertyCard.vue +4 -4
  22. package/src/components/molecules/SkeletonPropertyCard/SkeletonPropertyCard.vue +2 -2
  23. package/src/components/molecules/SocialIcons/SocialIcons.vue +1 -1
  24. package/src/components/molecules/SocialMediaCustomTemplate/SocialMediaCustomTemplate.vue +1 -1
  25. package/src/components/molecules/TemplateCard/TemplateCard.vue +156 -30
  26. package/src/components/molecules/TimelineEvent/TimelineEvent.vue +3 -3
  27. package/src/components/molecules/TimelineLanes/TimelineLanes.vue +2 -2
  28. package/src/components/molecules/Toast/Toast.vue +11 -3
  29. package/src/components/organisms/Calendar/_CalendarDayView.vue +2 -2
  30. package/src/components/organisms/Calendar/_CalendarHeader.vue +7 -7
  31. package/src/components/organisms/Calendar/_CalendarTimePicker.vue +4 -4
  32. package/src/components/organisms/ColorPicker/ColorPicker.vue +12 -12
  33. package/src/components/organisms/DropdownButton/DropdownButton.vue +1 -1
  34. package/src/components/organisms/Modal/Modal.vue +2 -2
  35. package/src/components/organisms/SocialMediaTemplate/SocialMediaTemplate.vue +4 -4
  36. package/src/components/organisms/Table/Table.vue +1 -1
  37. package/src/components/organisms/TimelinePhaseblock/TimelinePhaseblock.vue +3 -6
  38. package/src/components/organisms/VideoPlayer/VideoPlayer.vue +5 -5
  39. package/src/index.ts +5 -0
@@ -44,7 +44,7 @@ const monthTransition = {
44
44
  v-if="pickerView === 'days'"
45
45
  type="button"
46
46
  :disabled="!canGoPrev"
47
- class="flex h-7 w-7 cursor-pointer items-center justify-center rounded-full bg-gray-200 text-gray-950 transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:bg-transparent disabled:opacity-30"
47
+ class="flex size-7 cursor-pointer items-center justify-center rounded-full bg-gray-200 text-gray-950 transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:bg-transparent disabled:opacity-30"
48
48
  @click="emit('prev')"
49
49
  aria-label="Vorige maand"
50
50
  >
@@ -53,13 +53,13 @@ const monthTransition = {
53
53
  <button
54
54
  v-else-if="pickerView === 'years'"
55
55
  type="button"
56
- class="flex h-7 w-7 cursor-pointer items-center justify-center rounded-full bg-gray-200 text-gray-950 transition-colors hover:bg-gray-300"
56
+ class="flex size-7 cursor-pointer items-center justify-center rounded-full bg-gray-200 text-gray-950 transition-colors hover:bg-gray-300"
57
57
  @click="emit('closePicker')"
58
58
  aria-label="Terug naar maanden"
59
59
  >
60
60
  <NexxtIcon name="arrow-left" class="text-xs" />
61
61
  </button>
62
- <div v-else class="h-7 w-7" />
62
+ <div v-else class="size-7" />
63
63
 
64
64
  <!-- Center: month + year labels -->
65
65
  <div
@@ -74,7 +74,7 @@ const monthTransition = {
74
74
  v-if="monthYearPicker"
75
75
  :key="`button-${monthName}`"
76
76
  type="button"
77
- class="block cursor-pointer rounded px-0.5 leading-5 whitespace-nowrap outline-none hover:text-cornflower-blue-700"
77
+ class="block cursor-pointer rounded-sm px-0.5 leading-5 whitespace-nowrap outline-none hover:text-cornflower-blue-700"
78
78
  @click="emit('openMonthPicker')"
79
79
  >
80
80
  {{ monthName }}
@@ -92,7 +92,7 @@ const monthTransition = {
92
92
  v-if="monthYearPicker"
93
93
  :key="`button-${yearValue}`"
94
94
  type="button"
95
- class="block cursor-pointer rounded px-0.5 leading-5 whitespace-nowrap outline-none hover:text-cornflower-blue-700"
95
+ class="block cursor-pointer rounded-sm px-0.5 leading-5 whitespace-nowrap outline-none hover:text-cornflower-blue-700"
96
96
  @click="emit('openYearPicker')"
97
97
  >
98
98
  {{ yearValue }}
@@ -112,12 +112,12 @@ const monthTransition = {
112
112
  v-if="pickerView === 'days'"
113
113
  type="button"
114
114
  :disabled="!canGoNext"
115
- class="flex h-7 w-7 cursor-pointer items-center justify-center rounded-full bg-gray-200 text-gray-950 transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:bg-transparent disabled:opacity-30"
115
+ class="flex size-7 cursor-pointer items-center justify-center rounded-full bg-gray-200 text-gray-950 transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:bg-transparent disabled:opacity-30"
116
116
  @click="emit('next')"
117
117
  aria-label="Volgende maand"
118
118
  >
119
119
  <NexxtIcon name="chevron-right" class="text-xs" />
120
120
  </button>
121
- <div v-else class="h-7 w-7" />
121
+ <div v-else class="size-7" />
122
122
  </div>
123
123
  </template>
@@ -55,7 +55,7 @@ const decrementMinutes = () => {
55
55
  <div class="flex flex-col items-center">
56
56
  <button
57
57
  type="button"
58
- class="flex h-8 w-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
58
+ class="flex size-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
59
59
  @click="incrementHours"
60
60
  >
61
61
  <NexxtIcon name="chevron-up" />
@@ -65,7 +65,7 @@ const decrementMinutes = () => {
65
65
  </span>
66
66
  <button
67
67
  type="button"
68
- class="flex h-8 w-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
68
+ class="flex size-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
69
69
  @click="decrementHours"
70
70
  >
71
71
  <NexxtIcon name="chevron-down" />
@@ -78,7 +78,7 @@ const decrementMinutes = () => {
78
78
  <div class="flex flex-col items-center">
79
79
  <button
80
80
  type="button"
81
- class="flex h-8 w-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
81
+ class="flex size-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
82
82
  @click="incrementMinutes"
83
83
  >
84
84
  <NexxtIcon name="chevron-up" />
@@ -88,7 +88,7 @@ const decrementMinutes = () => {
88
88
  </span>
89
89
  <button
90
90
  type="button"
91
- class="flex h-8 w-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
91
+ class="flex size-8 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-cornflower-blue-500"
92
92
  @click="decrementMinutes"
93
93
  >
94
94
  <NexxtIcon name="chevron-down" />
@@ -136,7 +136,7 @@ watch(
136
136
  :aria-label="
137
137
  displayValue ? `Geselecteerde kleur: ${displayValue}` : 'Geen kleur geselecteerd'
138
138
  "
139
- class="h-5 w-5 shrink-0 rounded shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)]"
139
+ class="size-5 shrink-0 rounded-sm shadow-[inset_0_0_0_1px_rgba(0,0,0,0.1)]"
140
140
  :style="{ backgroundColor: 'var(--reka-color-swatch-color)' }"
141
141
  />
142
142
 
@@ -180,7 +180,7 @@ watch(
180
180
  :style="style"
181
181
  >
182
182
  <ColorAreaThumb
183
- class="block h-4 w-4 cursor-grab rounded-full border-2 border-white shadow focus:outline-none active:cursor-grabbing"
183
+ class="block size-4 cursor-grab rounded-full border-2 border-white shadow-sm focus:outline-none active:cursor-grabbing"
184
184
  />
185
185
  </ColorAreaArea>
186
186
  </div>
@@ -196,7 +196,7 @@ watch(
196
196
  >
197
197
  <ColorSliderTrack class="relative h-3 flex-1 overflow-hidden rounded-full" />
198
198
  <ColorSliderThumb
199
- class="block h-5 w-5 cursor-grab rounded-full border-2 border-white bg-white shadow focus:ring-2 focus:ring-cornflower-blue-500 focus:outline-none active:cursor-grabbing"
199
+ class="block size-5 cursor-grab rounded-full border-2 border-white bg-white shadow-sm focus:ring-2 focus:ring-cornflower-blue-500 focus:outline-none active:cursor-grabbing"
200
200
  />
201
201
  </ColorSliderRoot>
202
202
 
@@ -215,12 +215,12 @@ watch(
215
215
  :model-value="colorObj"
216
216
  channel="alpha"
217
217
  color-space="hsl"
218
- class="relative z-10 flex h-full w-full touch-none items-center select-none"
218
+ class="relative z-10 flex size-full touch-none items-center select-none"
219
219
  @update:color="handleColorUpdate"
220
220
  >
221
221
  <ColorSliderTrack class="relative h-3 flex-1 overflow-hidden rounded-full" />
222
222
  <ColorSliderThumb
223
- class="block h-5 w-5 cursor-grab rounded-full border-2 border-white bg-white shadow focus:ring-2 focus:ring-cornflower-blue-500 focus:outline-none active:cursor-grabbing"
223
+ class="block size-5 cursor-grab rounded-full border-2 border-white bg-white shadow-sm focus:ring-2 focus:ring-cornflower-blue-500 focus:outline-none active:cursor-grabbing"
224
224
  />
225
225
  </ColorSliderRoot>
226
226
  </div>
@@ -262,7 +262,7 @@ watch(
262
262
  :class="hexInputError ? 'ring-brick-400' : 'ring-gray-200'"
263
263
  >
264
264
  <ColorFieldInput
265
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
265
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
266
266
  placeholder="#000000"
267
267
  @input="handleHexInput"
268
268
  />
@@ -284,7 +284,7 @@ watch(
284
284
  :class="channelInputErrors.hue ? 'ring-brick-400' : 'ring-gray-200'"
285
285
  >
286
286
  <ColorFieldInput
287
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
287
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
288
288
  placeholder="H"
289
289
  @input="(e: Event) => handleChannelInput(e, 'hue')"
290
290
  />
@@ -302,7 +302,7 @@ watch(
302
302
  :class="channelInputErrors.saturation ? 'ring-brick-400' : 'ring-gray-200'"
303
303
  >
304
304
  <ColorFieldInput
305
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
305
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
306
306
  placeholder="S"
307
307
  @input="(e: Event) => handleChannelInput(e, 'saturation')"
308
308
  />
@@ -320,7 +320,7 @@ watch(
320
320
  :class="channelInputErrors.lightness ? 'ring-brick-400' : 'ring-gray-200'"
321
321
  >
322
322
  <ColorFieldInput
323
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
323
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
324
324
  placeholder="L"
325
325
  @input="(e: Event) => handleChannelInput(e, 'lightness')"
326
326
  />
@@ -342,7 +342,7 @@ watch(
342
342
  :class="channelInputErrors.red ? 'ring-brick-400' : 'ring-gray-200'"
343
343
  >
344
344
  <ColorFieldInput
345
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
345
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
346
346
  placeholder="R"
347
347
  @input="(e: Event) => handleChannelInput(e, 'red')"
348
348
  />
@@ -360,7 +360,7 @@ watch(
360
360
  :class="channelInputErrors.green ? 'ring-brick-400' : 'ring-gray-200'"
361
361
  >
362
362
  <ColorFieldInput
363
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
363
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
364
364
  placeholder="G"
365
365
  @input="(e: Event) => handleChannelInput(e, 'green')"
366
366
  />
@@ -378,7 +378,7 @@ watch(
378
378
  :class="channelInputErrors.blue ? 'ring-brick-400' : 'ring-gray-200'"
379
379
  >
380
380
  <ColorFieldInput
381
- class="w-full bg-transparent font-mono text-sm text-gray-900 placeholder-gray-400 focus:outline-none"
381
+ class="w-full bg-transparent small-normal-mono text-gray-900 placeholder-gray-400 focus:outline-none"
382
382
  placeholder="B"
383
383
  @input="(e: Event) => handleChannelInput(e, 'blue')"
384
384
  />
@@ -176,7 +176,7 @@ const buttonClasses = computed(() => {
176
176
  </template>
177
177
  <button
178
178
  class="w-10 shrink-0 cursor-pointer transition-colors duration-200"
179
- :class="[buttonClasses, iconOnly ? 'p-2' : 'px-2 py-2']"
179
+ :class="[buttonClasses, iconOnly ? 'p-2' : 'p-2']"
180
180
  aria-haspopup="menu"
181
181
  :aria-expanded="isOpen"
182
182
  :aria-label="triggerAriaLabel"
@@ -114,14 +114,14 @@ const dialogStyle = computed(() =>
114
114
  </div>
115
115
  <DialogClose
116
116
  v-if="showClose"
117
- class="ml-4 shrink-0 cursor-pointer rounded p-1 focus-visible:outline-2"
117
+ class="ml-4 shrink-0 cursor-pointer rounded-sm p-1 focus-visible:outline-2"
118
118
  >
119
119
  <NexxtIcon name="xmark" />
120
120
  </DialogClose>
121
121
  </div>
122
122
  <DialogClose
123
123
  v-else-if="showClose"
124
- class="absolute top-3 right-3 cursor-pointer rounded p-1 focus-visible:outline-2"
124
+ class="absolute top-3 right-3 cursor-pointer rounded-sm p-1 focus-visible:outline-2"
125
125
  >
126
126
  <NexxtIcon name="xmark" />
127
127
  </DialogClose>
@@ -87,14 +87,14 @@ const handleMouseLeave = () => {
87
87
  >
88
88
  <picture v-if="mediaType === 'image'" class="col-start-1 row-span-2 row-start-1">
89
89
  <source :srcset="media" />
90
- <img :src="media" alt="Media content" class="h-full w-full object-cover object-center" />
90
+ <img :src="media" alt="Media content" class="size-full object-cover object-center" />
91
91
  </picture>
92
92
  <video
93
93
  v-else
94
94
  ref="videoRef"
95
95
  :muted="muted"
96
96
  loop="true"
97
- class="col-start-1 row-span-2 row-start-1 h-full w-full object-cover"
97
+ class="col-start-1 row-span-2 row-start-1 size-full object-cover"
98
98
  >
99
99
  <source :src="media" :type="videoMimeType" />
100
100
  Your browser does not support the video tag.
@@ -114,12 +114,12 @@ const handleMouseLeave = () => {
114
114
  </div>
115
115
  </div>
116
116
  <div
117
- class="goup-hover:opacity-0 z-20 col-start-1 row-start-2 flex items-center px-5 pt-2.5 pb-3.5 text-white transition-all duration-300 ease-out group-hover:translate-y-full"
117
+ class="z-20 col-start-1 row-start-2 flex items-center px-5 pt-2.5 pb-3.5 text-white transition-all duration-300 ease-out group-hover:translate-y-full group-hover:opacity-0"
118
118
  :class="variant === 'video' ? 'bg-purple-500' : 'bg-social-media-template-info-bg'"
119
119
  >
120
120
  <div>
121
121
  <div class="heading-4">{{ name }}</div>
122
- <div class="extra-small">{{ type }}</div>
122
+ <div class="extra-small-normal">{{ type }}</div>
123
123
  </div>
124
124
  <Icon
125
125
  :name="variant === 'post' ? 'image' : variant === 'video' ? 'play-circle' : 'images'"
@@ -238,7 +238,7 @@ const handleRowKeydown = (event: KeyboardEvent, rowIndex: number) => {
238
238
  <div
239
239
  v-for="(column, colIndex) in columns"
240
240
  :key="column.key"
241
- class="flex items-center truncate px-4 py-4 extra-small-normal text-slate-700"
241
+ class="flex items-center truncate p-4 extra-small-normal text-slate-700"
242
242
  role="gridcell"
243
243
  :aria-colindex="colIndex + (selectable ? 2 : 1)"
244
244
  >
@@ -107,7 +107,7 @@ const getPhaseDirection = () => {
107
107
  <template v-if="getPhaseDirection()">
108
108
  <NexxtIcon
109
109
  :name="getPhaseDirection() === 'up' ? 'arrow-up' : 'arrow-down'"
110
- class="h-4 w-4 text-white"
110
+ class="size-4 text-white"
111
111
  />
112
112
  </template>
113
113
  </div>
@@ -124,14 +124,11 @@ const getPhaseDirection = () => {
124
124
 
125
125
  <div v-if="!isLast" class="h-1"></div>
126
126
 
127
- <div
128
- class="absolute top-0 bottom-0 left-5 w-px bg-linear-to-b"
129
- :class="gradientClasses"
130
- ></div>
127
+ <div class="absolute inset-y-0 left-5 w-px bg-linear-to-b" :class="gradientClasses"></div>
131
128
 
132
129
  <div
133
130
  v-if="isSplitView"
134
- class="absolute top-0 right-5 bottom-0 w-px bg-linear-to-b"
131
+ class="absolute inset-y-0 right-5 w-px bg-linear-to-b"
135
132
  :class="gradientClasses"
136
133
  ></div>
137
134
  </div>
@@ -218,7 +218,7 @@ defineExpose({ playing, muted })
218
218
  class="pointer-events-none absolute inset-0 flex items-center justify-center"
219
219
  >
220
220
  <div
221
- class="flex h-16 w-16 items-center justify-center rounded-full bg-black/50 text-white"
221
+ class="flex size-16 items-center justify-center rounded-full bg-black/50 text-white"
222
222
  aria-hidden="true"
223
223
  >
224
224
  <NexxtIcon :name="flashIcon" class="text-2xl" />
@@ -264,7 +264,7 @@ defineExpose({ playing, muted })
264
264
  :style="{ width: `${progressPct}%` }"
265
265
  />
266
266
  <div
267
- class="absolute top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-sapphire-100 opacity-0 shadow transition-opacity group-hover/player:opacity-100"
267
+ class="absolute top-1/2 size-3 -translate-1/2 rounded-full bg-sapphire-100 opacity-0 shadow-sm transition-opacity group-hover/player:opacity-100"
268
268
  :style="{ left: `${progressPct}%` }"
269
269
  />
270
270
  </div>
@@ -273,7 +273,7 @@ defineExpose({ playing, muted })
273
273
  <button
274
274
  type="button"
275
275
  :aria-label="playing ? labels.pause : labels.play"
276
- class="flex h-8 w-8 cursor-pointer items-center justify-center rounded-full text-white transition hover:bg-white/10 hover:text-cornflower-blue-400"
276
+ class="flex size-8 cursor-pointer items-center justify-center rounded-full text-white transition hover:bg-white/10 hover:text-cornflower-blue-400"
277
277
  @click="togglePlay"
278
278
  >
279
279
  <NexxtIcon :name="playing ? 'pause' : 'play'" class="text-sm" aria-hidden="true" />
@@ -288,7 +288,7 @@ defineExpose({ playing, muted })
288
288
  <button
289
289
  type="button"
290
290
  :aria-label="muted ? labels.unmute : labels.mute"
291
- class="flex h-8 w-8 cursor-pointer items-center justify-center rounded-full text-white transition hover:bg-white/10 hover:text-cornflower-blue-400"
291
+ class="flex size-8 cursor-pointer items-center justify-center rounded-full text-white transition hover:bg-white/10 hover:text-cornflower-blue-400"
292
292
  @click="toggleMute"
293
293
  >
294
294
  <NexxtIcon
@@ -301,7 +301,7 @@ defineExpose({ playing, muted })
301
301
  <button
302
302
  type="button"
303
303
  :aria-label="isFullscreen ? labels.exitFullscreen : labels.enterFullscreen"
304
- class="flex h-8 w-8 cursor-pointer items-center justify-center rounded-full text-white transition hover:bg-white/10 hover:text-cornflower-blue-400"
304
+ class="flex size-8 cursor-pointer items-center justify-center rounded-full text-white transition hover:bg-white/10 hover:text-cornflower-blue-400"
305
305
  @click="toggleFullscreen"
306
306
  >
307
307
  <NexxtIcon
package/src/index.ts CHANGED
@@ -13,6 +13,11 @@ export type { EnergyLabelLetter } from './components/atoms/EnergyLabel/EnergyLab
13
13
  export type { IconType, NexxtIconName } from './components/atoms/Icon/Icon.vue'
14
14
  export type { CustomIconName } from './components/atoms/Icon/customIcons'
15
15
  export type { NexxtTabItem } from './components/molecules/Tabs/Tabs.vue'
16
+ export type {
17
+ NexxtTemplateCardContentFeature,
18
+ NexxtTemplateCardProps,
19
+ NexxtTemplateCardSlots,
20
+ } from './components/molecules/TemplateCard/TemplateCard.vue'
16
21
 
17
22
  export { default as NexxtAnimatedNumber } from './components/atoms/AnimatedNumber/AnimatedNumber.vue'
18
23
  export { default as NexxtAnnouncement } from './components/molecules/Announcement/Announcement.vue'