@icvdeveloper/common-module 0.0.88 → 0.0.90

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 (92) hide show
  1. package/README.md +6 -6
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/@types/components.d.ts +4 -1
  4. package/dist/runtime/assets/svg/answer.svg +14 -14
  5. package/dist/runtime/assets/svg/avatar.svg +1 -1
  6. package/dist/runtime/assets/svg/bell-icon.svg +3 -3
  7. package/dist/runtime/assets/svg/checkmark-icon.svg +1 -1
  8. package/dist/runtime/assets/svg/close-icon.svg +1 -1
  9. package/dist/runtime/assets/svg/icon-avatar.svg +1 -1
  10. package/dist/runtime/assets/svg/icon-chevron.svg +4 -4
  11. package/dist/runtime/assets/svg/icon-circle-plus.svg +1 -1
  12. package/dist/runtime/assets/svg/icon-close.svg +1 -1
  13. package/dist/runtime/assets/svg/icon-info.svg +2 -2
  14. package/dist/runtime/assets/svg/icon-new-window.svg +11 -11
  15. package/dist/runtime/assets/svg/icon-offline.svg +3 -3
  16. package/dist/runtime/assets/svg/icon-online.svg +3 -3
  17. package/dist/runtime/assets/svg/icon-person.svg +2 -2
  18. package/dist/runtime/assets/svg/icon-play.svg +2 -2
  19. package/dist/runtime/assets/svg/icon-star-filled.svg +29 -29
  20. package/dist/runtime/assets/svg/icon-star.svg +24 -24
  21. package/dist/runtime/assets/svg/icon-video-chat.svg +14 -14
  22. package/dist/runtime/assets/svg/icon-website.svg +2 -2
  23. package/dist/runtime/assets/svg/icon-zoom.svg +10 -10
  24. package/dist/runtime/assets/svg/notification-icon.svg +32 -32
  25. package/dist/runtime/assets/svg/offline-icon.svg +1 -1
  26. package/dist/runtime/assets/svg/online-icon.svg +3 -3
  27. package/dist/runtime/assets/svg/peer2peer.svg +3 -3
  28. package/dist/runtime/assets/svg/phone.svg +1 -1
  29. package/dist/runtime/assets/svg/plus-icon.svg +1 -1
  30. package/dist/runtime/assets/svg/red-icon.svg +3 -3
  31. package/dist/runtime/assets/svg/reject.svg +14 -14
  32. package/dist/runtime/assets/svg/search-icon.svg +3 -3
  33. package/dist/runtime/components/affiliates/AffiliatePage.vue +17 -17
  34. package/dist/runtime/components/agenda/AgendaList.vue +243 -234
  35. package/dist/runtime/components/agenda/AgendaTabbed.vue +309 -309
  36. package/dist/runtime/components/agenda/components/AgendaListAccordion.vue +53 -53
  37. package/dist/runtime/components/agenda/components/Calendar.vue +89 -89
  38. package/dist/runtime/components/agenda/components/InfoLink.vue +56 -56
  39. package/dist/runtime/components/agenda/components/PlayIcon.vue +49 -49
  40. package/dist/runtime/components/agenda/components/PresentationLink.vue +137 -137
  41. package/dist/runtime/components/agenda/components/Sponsor.vue +132 -132
  42. package/dist/runtime/components/auth/LoginFullWidth.vue +78 -78
  43. package/dist/runtime/components/auth/PasswordReset.vue +60 -60
  44. package/dist/runtime/components/auth/Registration.vue +27 -27
  45. package/dist/runtime/components/auth/Ucc.vue +79 -80
  46. package/dist/runtime/components/core/Accordion.vue +97 -97
  47. package/dist/runtime/components/core/CountdownTimer.vue +357 -308
  48. package/dist/runtime/components/core/DynamicHtml.vue +1 -1
  49. package/dist/runtime/components/core/Modal.vue +111 -111
  50. package/dist/runtime/components/core/Navbar.vue +154 -154
  51. package/dist/runtime/components/core/SvgIcon.vue +151 -151
  52. package/dist/runtime/components/core/ZoomModal.vue +37 -37
  53. package/dist/runtime/components/events/EventHeader.vue +133 -133
  54. package/dist/runtime/components/events/ListEvents.vue +531 -521
  55. package/dist/runtime/components/forms/AlertBox.vue +21 -21
  56. package/dist/runtime/components/forms/ErrorField.vue +17 -17
  57. package/dist/runtime/components/forms/Message.vue +27 -27
  58. package/dist/runtime/components/forms/SearchInput.vue +38 -38
  59. package/dist/runtime/components/forms/SupportForm.vue +112 -112
  60. package/dist/runtime/components/forms/SwitchInput.vue +42 -42
  61. package/dist/runtime/components/forms/TextArea.vue +26 -26
  62. package/dist/runtime/components/forms/TextInput.vue +28 -28
  63. package/dist/runtime/components/layouts/Accordion.vue +78 -78
  64. package/dist/runtime/components/media/PlayerAndContentContainer.vue +175 -175
  65. package/dist/runtime/components/media/WebcastVideoPlayer.vue +167 -167
  66. package/dist/runtime/components/media/components/AgendaPanel.vue +43 -42
  67. package/dist/runtime/components/media/components/CeCreditNotification.vue +95 -95
  68. package/dist/runtime/components/media/components/ContentAccordion.vue +63 -63
  69. package/dist/runtime/components/media/components/ContentAccordion.vue.d.ts +3 -1
  70. package/dist/runtime/components/media/components/ContentArea.vue +158 -158
  71. package/dist/runtime/components/media/components/ContentTabs.vue +229 -229
  72. package/dist/runtime/components/media/components/DocumentsPanel.vue +31 -31
  73. package/dist/runtime/components/media/components/JsonApi.vue +31 -31
  74. package/dist/runtime/components/media/components/MediaContainer.vue +63 -63
  75. package/dist/runtime/components/media/components/OverviewPanel.vue +52 -52
  76. package/dist/runtime/components/media/components/PresentersPanel.vue +52 -52
  77. package/dist/runtime/components/media/components/SessionReporting.vue +93 -93
  78. package/dist/runtime/components/media/components/SponsorsPanel.vue +71 -71
  79. package/dist/runtime/components/media/components/WindowContent.vue +92 -92
  80. package/dist/runtime/components/media/components/WindowSlide.vue +72 -72
  81. package/dist/runtime/components/presenters/PresenterListing.vue +164 -164
  82. package/dist/runtime/components/presenters/PresenterModal.vue +223 -223
  83. package/dist/runtime/components/profile/Profile.vue +149 -149
  84. package/dist/runtime/components/profile/components/Sidebar.vue +27 -27
  85. package/dist/runtime/components/profile/components/SidebarNavItem.vue +39 -39
  86. package/dist/runtime/components/profile/tabs/Favorites.vue +21 -21
  87. package/dist/runtime/components/profile/tabs/GeneralInformation.vue +122 -122
  88. package/dist/runtime/components/profile/tabs/ProfileImage.vue +75 -75
  89. package/dist/runtime/components/support/FAQAccordion.vue +140 -140
  90. package/dist/runtime/composables/useConferenceHelpers.mjs +2 -2
  91. package/dist/runtime/composables/useUcc.mjs +2 -4
  92. package/package.json +1 -1
@@ -1,310 +1,359 @@
1
- <script lang="ts" setup>
2
- import { ref, toRefs, computed, onMounted } from "vue";
3
- import { storeToRefs } from "pinia";
4
- import {
5
- isBefore,
6
- differenceInDays,
7
- differenceInHours,
8
- differenceInMinutes,
9
- differenceInSeconds,
10
- addDays,
11
- addHours,
12
- addMinutes,
13
- } from "date-fns";
14
- import { useTemplateConfigsStore } from "../../store";
15
- import { countdownTimerClassObj } from "../../@types/components";
16
- import { useClassBinding } from "../../composables/useClassBinding";
17
-
18
- interface Props {
19
- date: string;
20
- isCompact?: boolean;
21
- showDays?: boolean;
22
- showHours?: boolean;
23
- showMinutes?: boolean;
24
- showSeconds?: boolean;
25
- classObject?: countdownTimerClassObj;
26
- }
27
-
28
- const props = withDefaults(defineProps<Props>(), {
29
- isCompact: false,
30
- showDays: true,
31
- showHours: true,
32
- showMinutes: true,
33
- showSeconds: true,
34
- classObject: () => {
35
- return {
36
- container: "",
37
- countdownContainer: "",
38
- beginText: "",
39
- unitsContainer: "",
40
- itemContainer: "",
41
- unitLabel: "",
42
- unitContainer: "",
43
- unit: "",
44
- };
45
- },
46
- });
47
-
48
- const {
49
- isCompact,
50
- showDays,
51
- showHours,
52
- showMinutes,
53
- showSeconds,
54
- classObject,
55
- } = toRefs(props);
56
-
57
- const { classBinding } = useClassBinding();
58
-
59
- // reactive data
60
- const isCounting = ref<boolean>(true);
61
- const days = ref<number>(0);
62
- const hours = ref<number>(0);
63
- const minutes = ref<number>(0);
64
- const seconds = ref<number>(0);
65
- const loopTimer = ref<NodeJS.Timer | null>(null);
66
- const { pagesConfigValue } = storeToRefs(useTemplateConfigsStore());
67
-
68
- // emits
69
- const emit = defineEmits(["complete"]);
70
-
71
- // computed
72
- const eventHasBegunText = computed(() => {
73
- return (
74
- pagesConfigValue.value("main.countdown_event_has_begun_text") ||
75
- "The Event Has Begun"
76
- );
77
- });
78
-
79
- const clockStyle = computed(() => {
80
- return pagesConfigValue.value("main.countdown_timer_style", "windows");
81
- });
82
-
83
- const fontClass = computed(() => {
84
- const fontBase = "font-bold";
85
- return props.isCompact === true
86
- ? fontBase + " text-xl lg:text-2xl"
87
- : fontBase + " text-2xl lg:text-4xl";
88
- });
89
-
90
- // methods
91
- const updateCountdown = () => {
92
- if (!isBefore(new Date(), new Date(props.date))) {
93
- isCounting.value = false;
94
- emit("complete");
95
- clearInterval(loopTimer.value);
96
- return;
97
- }
98
-
99
- days.value = differenceInDays(new Date(props.date), new Date());
100
- hours.value = differenceInHours(
101
- new Date(props.date),
102
- addDays(new Date(), days.value)
103
- );
104
-
105
- minutes.value = differenceInMinutes(
106
- new Date(props.date),
107
- addDays(addHours(new Date(), hours.value), days.value)
108
- );
109
- seconds.value = differenceInSeconds(
110
- new Date(props.date),
111
- addDays(
112
- addHours(addMinutes(new Date(), minutes.value), hours.value),
113
- days.value
114
- )
115
- );
116
- };
117
-
118
- const startCountdown = () => {
119
- updateCountdown();
120
- loopTimer.value = setInterval(() => {
121
- updateCountdown();
122
- }, 1000);
123
- };
124
-
125
- // on mount
126
- onMounted(() => {
127
- startCountdown();
128
- });
129
- </script>
130
-
131
- <template>
132
- <div
133
- :class="[
134
- { compact: isCompact, fullsize: !isCompact },
135
- classBinding(classObject, 'container', 'countdown-timer'),
136
- ]"
137
- >
138
- <div
139
- :class="
140
- classBinding(
141
- classObject,
142
- 'countdownContainer',
143
- 'countdown-container flex flex-col pt-8 mx-4 text-center justify-center items-center content-center'
144
- )
145
- "
146
- >
147
- <div class="flex-initial">
148
- <h1
149
- :class="
150
- classBinding(
151
- classObject,
152
- 'beginText',
153
- 'm-0 p-0 uppercase heading-color-3'
154
- )
155
- "
156
- >
157
- {{ isCounting ? "event begins" : eventHasBegunText }}
158
- </h1>
159
- </div>
160
-
161
- <div
162
- v-if="isCounting"
163
- :class="
164
- classBinding(
165
- classObject,
166
- 'unitsContainer',
167
- 'units-container flex text-center p-6 pt-4 mt-4 items-center border border-color-accent-1 accent-color-3'
168
- )
169
- "
170
- >
171
- <!-- Days -->
172
- <div
173
- v-if="showDays"
174
- :class="[
175
- { dropshade: clockStyle == 'dials' },
176
- classBinding(classObject, 'itemContainer', 'item-container'),
177
- ]"
178
- >
179
- <div
180
- :class="[
181
- clockStyle,
182
- classBinding(classObject, 'unitLabel', 'unit-label-container'),
183
- ]"
184
- >
185
- days
186
- </div>
187
- <div
188
- :class="[
189
- clockStyle,
190
- classBinding(
191
- classObject,
192
- 'unitContainer',
193
- 'unit-container contrast-border'
194
- ),
195
- ]"
196
- >
197
- <div
198
- v-if="clockStyle == 'windows'"
199
- :class="[fontClass, classBinding(classObject, 'unit', '')]"
200
- >
201
- {{ days }}
202
- </div>
203
- <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
204
- <div
205
- :key="days"
206
- :class="[fontClass, classBinding(classObject, 'unit', '')]"
207
- >
208
- {{ days }}
209
- </div>
210
- </transition>
211
- </div>
212
- </div>
213
-
214
- <!-- Minutes -->
215
- <div
216
- v-if="showMinutes"
217
- :class="[
218
- { dropshade: clockStyle == 'dials' },
219
- classBinding(classObject, 'itemContainer', 'item-container'),
220
- ]"
221
- >
222
- <div
223
- :class="[
224
- clockStyle,
225
- classBinding(classObject, 'unitLabel', 'unit-label-container'),
226
- ]"
227
- >
228
- min
229
- </div>
230
- <div
231
- :class="[
232
- clockStyle,
233
- classBinding(
234
- classObject,
235
- 'unitContainer',
236
- 'unit-container contrast-border'
237
- ),
238
- ]"
239
- >
240
- <div
241
- v-if="clockStyle == 'windows'"
242
- :class="[fontClass, classBinding(classObject, 'unit', '')]"
243
- >
244
- {{ minutes }}
245
- </div>
246
- <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
247
- <div
248
- :key="minutes"
249
- :class="[fontClass, classBinding(classObject, 'unit', '')]"
250
- >
251
- {{ minutes }}
252
- </div>
253
- </transition>
254
- </div>
255
- </div>
256
-
257
- <!-- Seconds -->
258
- <div
259
- v-if="showSeconds"
260
- :class="[
261
- { dropshade: clockStyle == 'dials' },
262
- classBinding(classObject, 'itemContainer', 'item-container last'),
263
- ]"
264
- >
265
- <div
266
- :class="[
267
- clockStyle,
268
- classBinding(
269
- classObject,
270
- 'unitLabel',
271
- 'unit-label-container last'
272
- ),
273
- ]"
274
- >
275
- sec
276
- </div>
277
- <div
278
- :class="[
279
- clockStyle,
280
- classBinding(
281
- classObject,
282
- 'unitContainer',
283
- 'unit-container contrast-border'
284
- ),
285
- ]"
286
- >
287
- <div
288
- v-if="clockStyle == 'windows'"
289
- :class="[fontClass, classBinding(classObject, 'unit', '')]"
290
- >
291
- {{ seconds }}
292
- </div>
293
- <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
294
- <div
295
- :key="seconds"
296
- :class="[fontClass, classBinding(classObject, 'unit', '')]"
297
- >
298
- {{ seconds }}
299
- </div>
300
- </transition>
301
- </div>
302
- </div>
303
- </div>
304
- </div>
305
- </div>
306
- </template>
307
-
1
+ <script lang="ts" setup>
2
+ import { ref, toRefs, computed, onMounted } from "vue";
3
+ import { storeToRefs } from "pinia";
4
+ import {
5
+ isBefore,
6
+ differenceInDays,
7
+ differenceInHours,
8
+ differenceInMinutes,
9
+ differenceInSeconds,
10
+ addDays,
11
+ addHours,
12
+ addMinutes,
13
+ } from "date-fns";
14
+ import { useTemplateConfigsStore } from "../../store";
15
+ import { countdownTimerClassObj } from "../../@types/components";
16
+ import { useClassBinding } from "../../composables/useClassBinding";
17
+
18
+ interface Props {
19
+ date: string;
20
+ isCompact?: boolean;
21
+ showDays?: boolean;
22
+ showHours?: boolean;
23
+ showMinutes?: boolean;
24
+ showSeconds?: boolean;
25
+ showStatusText?: boolean;
26
+ classObject?: countdownTimerClassObj;
27
+ }
28
+
29
+ const props = withDefaults(defineProps<Props>(), {
30
+ isCompact: false,
31
+ showDays: true,
32
+ showHours: true,
33
+ showMinutes: true,
34
+ showSeconds: true,
35
+ showStatusText: true,
36
+ classObject: () => {
37
+ return {
38
+ container: "",
39
+ countdownContainer: "",
40
+ beginText: "",
41
+ unitsContainer: "",
42
+ itemContainer: "",
43
+ unitLabel: "",
44
+ unitContainer: "",
45
+ unit: "",
46
+ };
47
+ },
48
+ });
49
+
50
+ const {
51
+ isCompact,
52
+ showDays,
53
+ showHours,
54
+ showMinutes,
55
+ showSeconds,
56
+ classObject,
57
+ } = toRefs(props);
58
+
59
+ const { classBinding } = useClassBinding();
60
+
61
+ // reactive data
62
+ const isCounting = ref<boolean>(true);
63
+ const days = ref<number>(0);
64
+ const hours = ref<number>(0);
65
+ const minutes = ref<number>(0);
66
+ const seconds = ref<number>(0);
67
+ const loopTimer = ref<NodeJS.Timer | null>(null);
68
+ const { pagesConfigValue } = storeToRefs(useTemplateConfigsStore());
69
+
70
+ // emits
71
+ const emit = defineEmits(["complete"]);
72
+
73
+ // computed
74
+ const eventHasBegunText = computed(() => {
75
+ return (
76
+ pagesConfigValue.value("main.countdown_event_has_begun_text") ||
77
+ "The Event Has Begun"
78
+ );
79
+ });
80
+
81
+ const clockStyle = computed(() => {
82
+ return pagesConfigValue.value("main.countdown_timer_style", "windows");
83
+ });
84
+
85
+ const fontClass = computed(() => {
86
+ const fontBase = "font-bold";
87
+ return props.isCompact === true
88
+ ? fontBase + " text-xl lg:text-2xl"
89
+ : fontBase + " text-2xl lg:text-4xl";
90
+ });
91
+
92
+ // methods
93
+ const updateCountdown = () => {
94
+ if (!isBefore(new Date(), new Date(props.date))) {
95
+ isCounting.value = false;
96
+ emit("complete");
97
+ clearInterval(loopTimer.value);
98
+ return;
99
+ }
100
+
101
+ days.value = differenceInDays(new Date(props.date), new Date());
102
+ hours.value = differenceInHours(
103
+ new Date(props.date),
104
+ addDays(new Date(), days.value)
105
+ );
106
+
107
+ minutes.value = differenceInHours(
108
+ new Date(props.date),
109
+ addDays(addHours(new Date(), hours.value), days.value)
110
+ );
111
+ minutes.value = differenceInMinutes(
112
+ new Date(props.date),
113
+ addDays(addHours(new Date(), hours.value), days.value)
114
+ );
115
+ seconds.value = differenceInSeconds(
116
+ new Date(props.date),
117
+ addDays(
118
+ addHours(addMinutes(new Date(), minutes.value), hours.value),
119
+ days.value
120
+ )
121
+ );
122
+ };
123
+
124
+ const startCountdown = () => {
125
+ updateCountdown();
126
+ loopTimer.value = setInterval(() => {
127
+ updateCountdown();
128
+ }, 1000);
129
+ };
130
+
131
+ // on mount
132
+ onMounted(() => {
133
+ startCountdown();
134
+ });
135
+ </script>
136
+
137
+ <template>
138
+ <div
139
+ :class="[
140
+ { compact: isCompact, fullsize: !isCompact },
141
+ classBinding(classObject, 'container', 'countdown-timer'),
142
+ ]"
143
+ >
144
+ <div
145
+ :class="
146
+ classBinding(
147
+ classObject,
148
+ 'countdownContainer',
149
+ 'countdown-container flex flex-col pt-8 mx-4 text-center justify-center items-center content-center'
150
+ )
151
+ "
152
+ >
153
+ <div v-if="showStatusText" class="flex-initial">
154
+ <h1
155
+ :class="
156
+ classBinding(
157
+ classObject,
158
+ 'beginText',
159
+ 'm-0 p-0 uppercase heading-color-3'
160
+ )
161
+ "
162
+ >
163
+ {{ !isCounting ? "event begins" : eventHasBegunText }}
164
+ </h1>
165
+ </div>
166
+
167
+ <div
168
+ v-if="isCounting"
169
+ :class="
170
+ classBinding(
171
+ classObject,
172
+ 'unitsContainer',
173
+ 'units-container flex text-center p-6 pt-4 mt-4 items-center border border-color-accent-1 accent-color-3'
174
+ )
175
+ "
176
+ >
177
+ <!-- Days -->
178
+ <div
179
+ v-if="showDays"
180
+ :class="[
181
+ { dropshade: clockStyle == 'dials' },
182
+ classBinding(classObject, 'itemContainer', 'item-container'),
183
+ ]"
184
+ >
185
+ <div
186
+ :class="[
187
+ clockStyle,
188
+ classBinding(classObject, 'unitLabel', 'unit-label-container'),
189
+ ]"
190
+ >
191
+ Days
192
+ </div>
193
+ <div
194
+ :class="[
195
+ clockStyle,
196
+ classBinding(
197
+ classObject,
198
+ 'unitContainer',
199
+ 'unit-container contrast-border'
200
+ ),
201
+ ]"
202
+ >
203
+ <div
204
+ v-if="clockStyle == 'windows'"
205
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
206
+ >
207
+ {{ days }}
208
+ </div>
209
+ <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
210
+ <div
211
+ :key="days"
212
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
213
+ >
214
+ {{ days }}
215
+ </div>
216
+ </transition>
217
+ </div>
218
+ </div>
219
+
220
+ <!-- Hours -->
221
+ <div
222
+ v-if="showHours"
223
+ :class="[
224
+ { dropshade: clockStyle == 'dials' },
225
+ classBinding(classObject, 'itemContainer', 'item-container'),
226
+ ]"
227
+ >
228
+ <div
229
+ :class="[
230
+ clockStyle,
231
+ classBinding(classObject, 'unitLabel', 'unit-label-container'),
232
+ ]"
233
+ >
234
+ Hours
235
+ </div>
236
+ <div
237
+ :class="[
238
+ clockStyle,
239
+ classBinding(
240
+ classObject,
241
+ 'unitContainer',
242
+ 'unit-container contrast-border'
243
+ ),
244
+ ]"
245
+ >
246
+ <div
247
+ v-if="clockStyle == 'windows'"
248
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
249
+ >
250
+ {{ hours }}
251
+ </div>
252
+ <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
253
+ <div
254
+ :key="hours"
255
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
256
+ >
257
+ {{ hours }}
258
+ </div>
259
+ </transition>
260
+ </div>
261
+ </div>
262
+
263
+ <!-- Minutes -->
264
+ <div
265
+ v-if="showMinutes"
266
+ :class="[
267
+ { dropshade: clockStyle == 'dials' },
268
+ classBinding(classObject, 'itemContainer', 'item-container'),
269
+ ]"
270
+ >
271
+ <div
272
+ :class="[
273
+ clockStyle,
274
+ classBinding(classObject, 'unitLabel', 'unit-label-container'),
275
+ ]"
276
+ >
277
+ Minutes
278
+ </div>
279
+ <div
280
+ :class="[
281
+ clockStyle,
282
+ classBinding(
283
+ classObject,
284
+ 'unitContainer',
285
+ 'unit-container contrast-border'
286
+ ),
287
+ ]"
288
+ >
289
+ <div
290
+ v-if="clockStyle == 'windows'"
291
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
292
+ >
293
+ {{ minutes }}
294
+ </div>
295
+ <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
296
+ <div
297
+ :key="minutes"
298
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
299
+ >
300
+ {{ minutes }}
301
+ </div>
302
+ </transition>
303
+ </div>
304
+ </div>
305
+
306
+ <!-- Seconds -->
307
+ <div
308
+ v-if="showSeconds"
309
+ :class="[
310
+ { dropshade: clockStyle == 'dials' },
311
+ classBinding(classObject, 'itemContainer', 'item-container last'),
312
+ ]"
313
+ >
314
+ <div
315
+ :class="[
316
+ clockStyle,
317
+ classBinding(
318
+ classObject,
319
+ 'unitLabel',
320
+ 'unit-label-container last'
321
+ ),
322
+ ]"
323
+ >
324
+ Seconds
325
+ </div>
326
+ <div
327
+ :class="[
328
+ clockStyle,
329
+ classBinding(
330
+ classObject,
331
+ 'unitContainer',
332
+ 'unit-container contrast-border'
333
+ ),
334
+ ]"
335
+ >
336
+ <div
337
+ v-if="clockStyle == 'windows'"
338
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
339
+ >
340
+ {{ seconds }}
341
+ </div>
342
+ <transition v-if="clockStyle == 'dials'" name="slide" mode="out-in">
343
+ <div
344
+ :key="seconds"
345
+ :class="[fontClass, classBinding(classObject, 'unit', '')]"
346
+ >
347
+ {{ seconds }}
348
+ </div>
349
+ </transition>
350
+ </div>
351
+ </div>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </template>
356
+
308
357
  <style scoped>
309
358
  .countdown-timer.compact .countdown-container {
310
359
  @apply pt-0 mx-0;
@@ -436,4 +485,4 @@ onMounted(() => {
436
485
  .slide-leave-active {
437
486
  transform: translate(0, 100%);
438
487
  }
439
- </style>
488
+ </style>