@volverjs/ui-vue 0.0.8 → 0.0.9-beta.2

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.
@@ -11,6 +11,33 @@
11
11
  const props = defineProps(VvAlertGroupProps)
12
12
  const emit = defineEmits(VvAlertGroupEvents)
13
13
  const { hasProps, hasTransition } = useVvAlertGroup(props, emit)
14
+
15
+ const alertGroupTransitionHandlers = {
16
+ 'before-enter': () => {
17
+ emit('before-enter')
18
+ },
19
+ 'after-leave': () => {
20
+ emit('after-leave')
21
+ },
22
+ enter: () => {
23
+ emit('enter')
24
+ },
25
+ 'after-enter': () => {
26
+ emit('after-enter')
27
+ },
28
+ 'enter-cancelled': () => {
29
+ emit('enter-cancelled')
30
+ },
31
+ 'before-leave': () => {
32
+ emit('before-leave')
33
+ },
34
+ leave: () => {
35
+ emit('leave')
36
+ },
37
+ 'leave-cancelled': () => {
38
+ emit('leave-cancelled')
39
+ },
40
+ }
14
41
  </script>
15
42
 
16
43
  <template>
@@ -22,6 +49,7 @@
22
49
  role="group"
23
50
  :name="hasTransition"
24
51
  class="vv-alert-group__list"
52
+ v-on="alertGroupTransitionHandlers"
25
53
  >
26
54
  <!-- @slot The slot for alert list -->
27
55
  <slot>
@@ -50,7 +50,17 @@ export const VvAlertGroupProps = {
50
50
  },
51
51
  }
52
52
 
53
- export const VvAlertGroupEvents = ['close']
53
+ export const VvAlertGroupEvents = [
54
+ 'close',
55
+ 'before-enter',
56
+ 'after-leave',
57
+ 'enter',
58
+ 'after-enter',
59
+ 'enter-cancelled',
60
+ 'before-leave',
61
+ 'leave',
62
+ 'leave-cancelled',
63
+ ]
54
64
 
55
65
  export const useVvAlertGroup = (
56
66
  props: Readonly<ExtractPropTypes<typeof VvAlertGroupProps>>,
@@ -51,10 +51,30 @@
51
51
  'before-enter': () => {
52
52
  dialogEl.value?.showModal()
53
53
  emit('open')
54
+ emit('before-enter')
54
55
  },
55
56
  'after-leave': () => {
56
57
  dialogEl.value?.close()
57
58
  emit('close')
59
+ emit('after-leave')
60
+ },
61
+ enter: () => {
62
+ emit('enter')
63
+ },
64
+ 'after-enter': () => {
65
+ emit('after-enter')
66
+ },
67
+ 'enter-cancelled': () => {
68
+ emit('enter-cancelled')
69
+ },
70
+ 'before-leave': () => {
71
+ emit('before-leave')
72
+ },
73
+ leave: () => {
74
+ emit('leave')
75
+ },
76
+ 'leave-cancelled': () => {
77
+ emit('leave-cancelled')
58
78
  },
59
79
  }
60
80
 
@@ -1,6 +1,18 @@
1
1
  import { IdProps } from '../../props'
2
2
 
3
- export const VvDialogEvents = ['open', 'close', 'update:modelValue']
3
+ export const VvDialogEvents = [
4
+ 'open',
5
+ 'close',
6
+ 'update:modelValue',
7
+ 'before-enter',
8
+ 'after-leave',
9
+ 'enter',
10
+ 'after-enter',
11
+ 'enter-cancelled',
12
+ 'before-leave',
13
+ 'leave',
14
+ 'leave-cancelled',
15
+ ]
4
16
 
5
17
  export const VvDialogProps = {
6
18
  ...IdProps,
@@ -34,6 +34,14 @@
34
34
  'beforeCollapse',
35
35
  'afterExpand',
36
36
  'afterCollapse',
37
+ 'before-enter',
38
+ 'after-leave',
39
+ 'enter',
40
+ 'after-enter',
41
+ 'enter-cancelled',
42
+ 'before-leave',
43
+ 'leave',
44
+ 'leave-cancelled',
37
45
  ])
38
46
  const { id } = toRefs(props)
39
47
  const hasId = useUniqueId(id)
@@ -388,11 +396,34 @@
388
396
  htmlEl?.click()
389
397
  }
390
398
  })
391
- const onTransitionBeforeEnter = () => {
392
- emit(expanded.value ? 'beforeExpand' : 'beforeCollapse')
393
- }
394
- const onTransitionAfterLeave = () => {
395
- emit(expanded.value ? 'afterExpand' : 'afterCollapse')
399
+
400
+ const dropdownTransitionHandlers = {
401
+ 'before-enter': () => {
402
+ emit(expanded.value ? 'beforeExpand' : 'beforeCollapse')
403
+ emit('before-enter')
404
+ },
405
+ 'after-leave': () => {
406
+ emit(expanded.value ? 'afterExpand' : 'afterCollapse')
407
+ emit('after-leave')
408
+ },
409
+ enter: () => {
410
+ emit('enter')
411
+ },
412
+ 'after-enter': () => {
413
+ emit('after-enter')
414
+ },
415
+ 'enter-cancelled': () => {
416
+ emit('enter-cancelled')
417
+ },
418
+ 'before-leave': () => {
419
+ emit('before-leave')
420
+ },
421
+ leave: () => {
422
+ emit('leave')
423
+ },
424
+ 'leave-cancelled': () => {
425
+ emit('leave-cancelled')
426
+ },
396
427
  }
397
428
  </script>
398
429
 
@@ -402,13 +433,7 @@
402
433
  v-bind="{ init, show, hide, toggle, expanded, aria: referenceAria }"
403
434
  />
404
435
  </VvDropdownTriggerProvider>
405
- <Transition
406
- :name="transitionName"
407
- v-on="{
408
- beforeEnter: onTransitionBeforeEnter,
409
- onAfterLeave: onTransitionAfterLeave,
410
- }"
411
- >
436
+ <Transition :name="transitionName" v-on="dropdownTransitionHandlers">
412
437
  <div
413
438
  v-show="expanded"
414
439
  ref="floatingEl"
@@ -1,17 +1,11 @@
1
1
  import type { PropType } from 'vue'
2
- import { DropdownProps, IdProps } from '../../props'
2
+ import { DropdownProps, IdProps, ModifiersProps } from '../../props'
3
3
  import { DropdownRole } from '../../constants'
4
4
 
5
5
  export const VvDropdownProps = {
6
6
  ...IdProps,
7
7
  ...DropdownProps,
8
- /**
9
- * Component BEM modifiers
10
- */
11
- modifiers: {
12
- type: [String, Array] as PropType<string | string[]>,
13
- default: 'mobile',
14
- },
8
+ ...ModifiersProps,
15
9
  /**
16
10
  * Show / hide dropdown programmatically
17
11
  */