@@ -203,17 +203,19 @@ const onClick = () => emit('onItemClick', { item: item?.value });
203
203
size =" small"
204
204
:theme-overrides =" { gapSmall: '0.25rem' }"
205
205
>
206
- <template v-if =" date && ! noHead && ! loading " >
207
- <NTime class =" month" :time =" date" format =" MMM" />
208
- <NTime class =" day" :time =" date" format =" dd" />
209
- <NTime class =" week" :time =" date" format =" eee" />
210
- <NTime v-if =" !sameYear" class =" year" :time =" date" format =" yyyy" />
211
- </template >
212
- <template v-else-if =" loading " >
213
- <NSkeleton class =" loading month" text round />
214
- <NSkeleton class =" loading day" text round />
215
- <NSkeleton class =" loading week" text round />
216
- </template >
206
+ <Transition v-if =" !noHead && date" name =" fade" >
207
+ <div v-if =" loading" class =" column" >
208
+ <NSkeleton class =" loading month" text round />
209
+ <NSkeleton class =" loading day" text round />
210
+ <NSkeleton class =" loading week" text round />
211
+ </div >
212
+ <div v-else class =" column" >
213
+ <NTime class =" month" :time =" date" format =" MMM" />
214
+ <NTime class =" day" :time =" date" format =" dd" />
215
+ <NTime class =" week" :time =" date" format =" eee" />
216
+ <NTime v-if =" !sameYear" class =" year" :time =" date" format =" yyyy" />
217
+ </div >
218
+ </Transition >
217
219
</NFlex >
218
220
219
221
<slot v-if =" item.type === ListScrollItemType.Placeholder" >
@@ -253,6 +255,8 @@ const onClick = () => emit('onItemClick', { item: item?.value });
253
255
<style lang="scss" scoped>
254
256
@use ' ~/styles/mixin' as mixin ;
255
257
@use ' ~/styles/z-index' as layers ;
258
+ @use ' ~/styles/transition' as transition ;
259
+ @include transition .fade ;
256
260
257
261
.timeline-item {
258
262
height : var (--list-item-height , 145px );
@@ -286,11 +290,13 @@ const onClick = () => emit('onItemClick', { item: item?.value });
286
290
top : 0 ;
287
291
left : -3.75rem ;
288
292
width : 3.5rem ;
293
+ min-height : 5rem ;
289
294
color : var (--n-text-color );
290
295
font-size : 14px ;
291
296
border-top : 1px solid var (--border-grey );
292
- transition : color 0.2s var (--n-bezier );
293
- will-change : color ;
297
+ transition :
298
+ color 0.2s var (--n-bezier ),
299
+ border 0.2s var (--n-bezier );
294
300
295
301
& .today {
296
302
color : var (--color-warning );
@@ -300,8 +306,16 @@ const onClick = () => emit('onItemClick', { item: item?.value });
300
306
color : var (--trakt-red );
301
307
}
302
308
303
- .month {
309
+ .column {
310
+ display : flex ;
311
+ flex : 1 1 auto ;
312
+ flex-direction : column ;
313
+ align-items : center ;
314
+ justify-content : space-around ;
304
315
margin-top : 0.75rem ;
316
+ }
317
+
318
+ .month {
305
319
font-weight : bold ;
306
320
}
307
321
@@ -320,17 +334,17 @@ const onClick = () => emit('onItemClick', { item: item?.value });
320
334
321
335
& .month {
322
336
width : 1.5rem ;
323
- height : 0.8 rem ;
337
+ height : 1 rem ;
324
338
}
325
339
326
340
& .day {
327
341
width : 2rem ;
328
- height : 1 rem ;
342
+ height : 1.25 rem ;
329
343
}
330
344
331
345
& .week {
332
346
width : 1.6rem ;
333
- height : 0.75 rem ;
347
+ height : 0.9 rem ;
334
348
}
335
349
}
336
350
}
@@ -373,6 +387,7 @@ const onClick = () => emit('onItemClick', { item: item?.value });
373
387
height : 100% ;
374
388
margin-left : calc (var (--n-icon-size ) + 0.125rem );
375
389
border-top : 1px solid transparent ;
390
+ transition : border 0.2s var (--n-bezier );
376
391
377
392
& __content {
378
393
height : 100% ;
0 commit comments