arvue-ui 0.4.0 → 0.6.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.
- package/dist/all.css +1 -1
- package/dist/autocomplete/autocompleteContent.js +37 -12
- package/dist/autocomplete/autocompleteContent.js.map +1 -1
- package/dist/autocomplete/autocompleteInput.js +3 -3
- package/dist/autocomplete/autocompleteInput.js.map +1 -1
- package/dist/combobox/combobox.js.map +1 -1
- package/dist/combobox/comboboxContent.js +37 -12
- package/dist/combobox/comboboxContent.js.map +1 -1
- package/dist/combobox/comboboxEmpty.js.map +1 -1
- package/dist/combobox/comboboxInput.js +3 -3
- package/dist/combobox/comboboxInput.js.map +1 -1
- package/dist/combobox/comboboxItem.js.map +1 -1
- package/dist/combobox/comboboxLabel.js.map +1 -1
- package/dist/combobox/comboboxSeparator.js.map +1 -1
- package/dist/dialog/dialogDescription.js.map +1 -1
- package/dist/dialog/dialogFooter.js.map +1 -1
- package/dist/dialog/dialogHeader.js.map +1 -1
- package/dist/dialog/dialogTitle.js.map +1 -1
- package/dist/drawer/drawerDescription.js.map +1 -1
- package/dist/drawer/drawerFooter.js.map +1 -1
- package/dist/drawer/drawerHeader.js.map +1 -1
- package/dist/drawer/drawerTitle.js.map +1 -1
- package/dist/dropdown-menu/dropdownMenu.js +26 -0
- package/dist/dropdown-menu/dropdownMenu.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuCheckboxItem.js +42 -0
- package/dist/dropdown-menu/dropdownMenuCheckboxItem.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuContent.js +92 -0
- package/dist/dropdown-menu/dropdownMenuContent.js.map +1 -0
- package/dist/{autocomplete/autocompleteArrow.js → dropdown-menu/dropdownMenuGroup.js} +5 -8
- package/dist/dropdown-menu/dropdownMenuGroup.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuItem.js +36 -0
- package/dist/dropdown-menu/dropdownMenuItem.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuLabel.js +34 -0
- package/dist/dropdown-menu/dropdownMenuLabel.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuPortal.js +25 -0
- package/dist/dropdown-menu/dropdownMenuPortal.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuRadioGroup.js +25 -0
- package/dist/dropdown-menu/dropdownMenuRadioGroup.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuRadioItem.js +42 -0
- package/dist/dropdown-menu/dropdownMenuRadioItem.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuSeparator.js +30 -0
- package/dist/dropdown-menu/dropdownMenuSeparator.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuShortcut.js +33 -0
- package/dist/dropdown-menu/dropdownMenuShortcut.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuSub.js +24 -0
- package/dist/dropdown-menu/dropdownMenuSub.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuSubContent.js +92 -0
- package/dist/dropdown-menu/dropdownMenuSubContent.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuSubTrigger.js +36 -0
- package/dist/dropdown-menu/dropdownMenuSubTrigger.js.map +1 -0
- package/dist/dropdown-menu/dropdownMenuTrigger.js +24 -0
- package/dist/dropdown-menu/dropdownMenuTrigger.js.map +1 -0
- package/dist/index.d.ts +427 -167
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +69 -53
- package/dist/index.js.map +1 -1
- package/dist/sheet/sheetContent.js.map +1 -1
- package/dist/sheet/sheetDescription.js.map +1 -1
- package/dist/sheet/sheetFooter.js.map +1 -1
- package/dist/sheet/sheetHeader.js.map +1 -1
- package/dist/sheet/sheetOverlay.js.map +1 -1
- package/dist/sheet/sheetTitle.js.map +1 -1
- package/dist/sonner/sonner.js +51 -0
- package/dist/sonner/sonner.js.map +1 -0
- package/dist/style.css +41 -21
- package/package.json +3 -2
- package/src/autocomplete/AutocompleteContent.vue +38 -10
- package/src/autocomplete/AutocompleteInput.vue +1 -1
- package/src/autocomplete/autocomplete-content.css +5 -6
- package/src/autocomplete/index.ts +0 -4
- package/src/combobox/Combobox.vue +1 -1
- package/src/combobox/ComboboxContent.vue +39 -11
- package/src/combobox/ComboboxEmpty.vue +1 -1
- package/src/combobox/ComboboxInput.vue +2 -2
- package/src/combobox/ComboboxItem.vue +1 -1
- package/src/combobox/ComboboxLabel.vue +1 -1
- package/src/combobox/ComboboxSeparator.vue +1 -1
- package/src/combobox/combobox-content.css +5 -6
- package/src/dialog/DialogDescription.vue +1 -1
- package/src/dialog/DialogFooter.vue +1 -1
- package/src/dialog/DialogHeader.vue +1 -1
- package/src/dialog/DialogTitle.vue +1 -1
- package/src/drawer/DrawerDescription.vue +1 -1
- package/src/drawer/DrawerFooter.vue +1 -1
- package/src/drawer/DrawerHeader.vue +1 -1
- package/src/drawer/DrawerTitle.vue +1 -1
- package/src/dropdown-menu/DropdownMenu.vue +24 -0
- package/src/dropdown-menu/DropdownMenuCheckboxItem.vue +47 -0
- package/src/dropdown-menu/DropdownMenuContent.vue +75 -0
- package/src/dropdown-menu/DropdownMenuGroup.vue +17 -0
- package/src/dropdown-menu/DropdownMenuItem.vue +38 -0
- package/src/dropdown-menu/DropdownMenuLabel.vue +37 -0
- package/src/dropdown-menu/DropdownMenuPortal.vue +17 -0
- package/src/dropdown-menu/DropdownMenuRadioGroup.vue +27 -0
- package/src/dropdown-menu/DropdownMenuRadioItem.vue +48 -0
- package/src/dropdown-menu/DropdownMenuSeparator.vue +29 -0
- package/src/dropdown-menu/DropdownMenuShortcut.vue +33 -0
- package/src/dropdown-menu/DropdownMenuSub.vue +31 -0
- package/src/dropdown-menu/DropdownMenuSubContent.vue +74 -0
- package/src/dropdown-menu/DropdownMenuSubTrigger.vue +41 -0
- package/src/dropdown-menu/DropdownMenuTrigger.vue +19 -0
- package/src/dropdown-menu/dropdown-menu-checkbox-item.css +33 -0
- package/src/dropdown-menu/dropdown-menu-content.css +9 -0
- package/src/dropdown-menu/dropdown-menu-item.css +27 -0
- package/src/dropdown-menu/dropdown-menu-label.css +10 -0
- package/src/dropdown-menu/dropdown-menu-radio-item.css +33 -0
- package/src/dropdown-menu/dropdown-menu-separator.css +5 -0
- package/src/dropdown-menu/dropdown-menu-shortcut.css +7 -0
- package/src/dropdown-menu/dropdown-menu-sub-content.css +8 -0
- package/src/dropdown-menu/dropdown-menu-sub-trigger.css +33 -0
- package/src/dropdown-menu/index.ts +66 -0
- package/src/index.ts +2 -0
- package/src/sheet/SheetContent.vue +1 -1
- package/src/sheet/SheetDescription.vue +1 -1
- package/src/sheet/SheetFooter.vue +1 -1
- package/src/sheet/SheetHeader.vue +1 -1
- package/src/sheet/SheetOverlay.vue +1 -1
- package/src/sheet/SheetTitle.vue +1 -1
- package/src/sonner/Sonner.vue +47 -0
- package/src/sonner/index.ts +5 -0
- package/src/sonner/sonner.css +91 -0
- package/dist/autocomplete/autocompleteArrow.js.map +0 -1
- package/src/autocomplete/AutocompleteArrow.vue +0 -17
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './dropdown-menu-label.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<DropdownMenuLabel
|
|
7
|
+
v-bind="forwardedProps"
|
|
8
|
+
:class="clsx(
|
|
9
|
+
'arvue-dropdown-menu-label',
|
|
10
|
+
inset && 'arvue-dropdown-menu-label-inset',
|
|
11
|
+
props.class,
|
|
12
|
+
)"
|
|
13
|
+
>
|
|
14
|
+
<slot/>
|
|
15
|
+
</DropdownMenuLabel>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script lang="ts">
|
|
19
|
+
import type { DropdownMenuLabelProps as RekaDropdownMenuLabelProps } from 'reka-ui'
|
|
20
|
+
import type { HTMLAttributes } from 'vue'
|
|
21
|
+
|
|
22
|
+
export interface DropdownMenuLabelProps extends RekaDropdownMenuLabelProps {
|
|
23
|
+
class?: HTMLAttributes['class']
|
|
24
|
+
inset?: boolean
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<script setup lang="ts">
|
|
29
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
30
|
+
import { clsx } from 'clsx'
|
|
31
|
+
import { DropdownMenuLabel, useForwardProps } from 'reka-ui'
|
|
32
|
+
|
|
33
|
+
const props = defineProps<DropdownMenuLabelProps>()
|
|
34
|
+
|
|
35
|
+
const delegatedProps = reactiveOmit(props, 'class', 'inset')
|
|
36
|
+
const forwardedProps = useForwardProps(delegatedProps)
|
|
37
|
+
</script>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<DropdownMenuPortal v-bind="props">
|
|
3
|
+
<slot/>
|
|
4
|
+
</DropdownMenuPortal>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
import type { DropdownMenuPortalProps as RekaDropdownMenuPortalProps } from 'reka-ui'
|
|
9
|
+
|
|
10
|
+
export interface DropdownMenuPortalProps extends RekaDropdownMenuPortalProps {}
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<script setup lang="ts">
|
|
14
|
+
import { DropdownMenuPortal } from 'reka-ui'
|
|
15
|
+
|
|
16
|
+
const props = defineProps<DropdownMenuPortalProps>()
|
|
17
|
+
</script>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<DropdownMenuRadioGroup v-bind="forwarded">
|
|
3
|
+
<slot/>
|
|
4
|
+
</DropdownMenuRadioGroup>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
import type {
|
|
9
|
+
DropdownMenuRadioGroupEmits as RekaDropdownMenuRadioGroupEmits,
|
|
10
|
+
DropdownMenuRadioGroupProps as RekaDropdownMenuRadioGroupProps,
|
|
11
|
+
} from 'reka-ui'
|
|
12
|
+
|
|
13
|
+
export interface DropdownMenuRadioGroupProps extends RekaDropdownMenuRadioGroupProps {}
|
|
14
|
+
export interface DropdownMenuRadioGroupEmits extends RekaDropdownMenuRadioGroupEmits {}
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<script setup lang="ts">
|
|
18
|
+
import {
|
|
19
|
+
DropdownMenuRadioGroup,
|
|
20
|
+
useForwardPropsEmits,
|
|
21
|
+
} from 'reka-ui'
|
|
22
|
+
|
|
23
|
+
const props = defineProps<DropdownMenuRadioGroupProps>()
|
|
24
|
+
const emits = defineEmits<DropdownMenuRadioGroupEmits>()
|
|
25
|
+
|
|
26
|
+
const forwarded = useForwardPropsEmits(props, emits)
|
|
27
|
+
</script>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './dropdown-menu-radio-item.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<DropdownMenuRadioItem
|
|
7
|
+
v-bind="forwarded"
|
|
8
|
+
:class="clsx('arvue-dropdown-menu-radio-item', props.class)"
|
|
9
|
+
>
|
|
10
|
+
<span class="arvue-dropdown-menu-radio-item-indicator-wrapper">
|
|
11
|
+
<DropdownMenuItemIndicator>
|
|
12
|
+
<i class="fas fa-circle"/>
|
|
13
|
+
</DropdownMenuItemIndicator>
|
|
14
|
+
</span>
|
|
15
|
+
<slot/>
|
|
16
|
+
</DropdownMenuRadioItem>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
import type {
|
|
21
|
+
DropdownMenuRadioItemEmits as RekaDropdownMenuRadioItemEmits,
|
|
22
|
+
DropdownMenuRadioItemProps as RekaDropdownMenuRadioItemProps,
|
|
23
|
+
} from 'reka-ui'
|
|
24
|
+
import type { HTMLAttributes } from 'vue'
|
|
25
|
+
|
|
26
|
+
export interface DropdownMenuRadioItemProps extends RekaDropdownMenuRadioItemProps {
|
|
27
|
+
class?: HTMLAttributes['class']
|
|
28
|
+
}
|
|
29
|
+
export interface DropdownMenuRadioItemEmits extends RekaDropdownMenuRadioItemEmits {}
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<script setup lang="ts">
|
|
33
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
34
|
+
import { clsx } from 'clsx'
|
|
35
|
+
import {
|
|
36
|
+
DropdownMenuItemIndicator,
|
|
37
|
+
DropdownMenuRadioItem,
|
|
38
|
+
useForwardPropsEmits,
|
|
39
|
+
} from 'reka-ui'
|
|
40
|
+
|
|
41
|
+
const props = defineProps<DropdownMenuRadioItemProps>()
|
|
42
|
+
|
|
43
|
+
const emits = defineEmits<DropdownMenuRadioItemEmits>()
|
|
44
|
+
|
|
45
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
46
|
+
|
|
47
|
+
const forwarded = useForwardPropsEmits(delegatedProps, emits)
|
|
48
|
+
</script>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './dropdown-menu-separator.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<DropdownMenuSeparator
|
|
7
|
+
v-bind="delegatedProps"
|
|
8
|
+
:class="clsx('arvue-dropdown-menu-separator', props.class)"
|
|
9
|
+
/>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script lang="ts">
|
|
13
|
+
import type { DropdownMenuSeparatorProps as RekaDropdownMenuSeparatorProps } from 'reka-ui'
|
|
14
|
+
import type { HTMLAttributes } from 'vue'
|
|
15
|
+
|
|
16
|
+
export interface DropdownMenuSeparatorProps extends RekaDropdownMenuSeparatorProps {
|
|
17
|
+
class?: HTMLAttributes['class']
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
23
|
+
import { clsx } from 'clsx'
|
|
24
|
+
import { DropdownMenuSeparator } from 'reka-ui'
|
|
25
|
+
|
|
26
|
+
const props = defineProps<DropdownMenuSeparatorProps>()
|
|
27
|
+
|
|
28
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
29
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './dropdown-menu-shortcut.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<Primitive
|
|
7
|
+
:class="clsx('arvue-dropdown-menu-shortcut', props.class)"
|
|
8
|
+
v-bind="delegatedProps"
|
|
9
|
+
>
|
|
10
|
+
<slot/>
|
|
11
|
+
</Primitive>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script lang="ts">
|
|
15
|
+
import type { PrimitiveProps } from 'reka-ui'
|
|
16
|
+
import type { HTMLAttributes } from 'vue'
|
|
17
|
+
|
|
18
|
+
export interface DropdownMenuShortcutProps extends PrimitiveProps {
|
|
19
|
+
class?: HTMLAttributes['class']
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<script setup lang="ts">
|
|
24
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
25
|
+
import { clsx } from 'clsx'
|
|
26
|
+
import { Primitive } from 'reka-ui'
|
|
27
|
+
|
|
28
|
+
const props = withDefaults(defineProps<DropdownMenuShortcutProps>(), {
|
|
29
|
+
as: 'span',
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
33
|
+
</script>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<DropdownMenuSub
|
|
3
|
+
v-slot="slotProps"
|
|
4
|
+
v-bind="forwarded"
|
|
5
|
+
>
|
|
6
|
+
<slot v-bind="slotProps"/>
|
|
7
|
+
</DropdownMenuSub>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script lang="ts">
|
|
11
|
+
import type {
|
|
12
|
+
DropdownMenuSubEmits as RekaDropdownMenuSubEmits,
|
|
13
|
+
DropdownMenuSubProps as RekaDropdownMenuSubProps,
|
|
14
|
+
} from 'reka-ui'
|
|
15
|
+
|
|
16
|
+
export interface DropdownMenuSubProps extends RekaDropdownMenuSubProps {}
|
|
17
|
+
|
|
18
|
+
export interface DropdownMenuSubEmits extends RekaDropdownMenuSubEmits {}
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
import {
|
|
23
|
+
DropdownMenuSub,
|
|
24
|
+
useForwardPropsEmits,
|
|
25
|
+
} from 'reka-ui'
|
|
26
|
+
|
|
27
|
+
const props = defineProps<DropdownMenuSubProps>()
|
|
28
|
+
const emits = defineEmits<DropdownMenuSubEmits>()
|
|
29
|
+
|
|
30
|
+
const forwarded = useForwardPropsEmits(props, emits)
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './dropdown-menu-sub-content.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<AnimatePresence>
|
|
7
|
+
<DropdownMenuSubContent
|
|
8
|
+
v-bind="{ ...$attrs, ...forwarded }"
|
|
9
|
+
:class="clsx('arvue-dropdown-menu-sub-content', props.class)"
|
|
10
|
+
as-child
|
|
11
|
+
>
|
|
12
|
+
<Motion
|
|
13
|
+
:initial="{
|
|
14
|
+
y: '-5px',
|
|
15
|
+
opacity: 0,
|
|
16
|
+
}"
|
|
17
|
+
:animate="{
|
|
18
|
+
y: 0,
|
|
19
|
+
opacity: 1,
|
|
20
|
+
}"
|
|
21
|
+
:exit="{
|
|
22
|
+
y: '-5px',
|
|
23
|
+
opacity: 0,
|
|
24
|
+
}"
|
|
25
|
+
:transition="{
|
|
26
|
+
duration: .15,
|
|
27
|
+
ease: 'easeInOut',
|
|
28
|
+
}"
|
|
29
|
+
>
|
|
30
|
+
<slot/>
|
|
31
|
+
</Motion>
|
|
32
|
+
</DropdownMenuSubContent>
|
|
33
|
+
</AnimatePresence>
|
|
34
|
+
</template>
|
|
35
|
+
|
|
36
|
+
<script lang="ts">
|
|
37
|
+
import type {
|
|
38
|
+
DropdownMenuSubContentEmits as RekaDropdownMenuSubContentEmits,
|
|
39
|
+
DropdownMenuSubContentProps as RekaDropdownMenuSubContentProps,
|
|
40
|
+
} from 'reka-ui'
|
|
41
|
+
import type { HTMLAttributes } from 'vue'
|
|
42
|
+
|
|
43
|
+
export interface DropdownMenuSubContentProps extends RekaDropdownMenuSubContentProps {
|
|
44
|
+
class?: HTMLAttributes['class']
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface DropdownMenuSubContentEmits extends RekaDropdownMenuSubContentEmits {}
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<script setup lang="ts">
|
|
51
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
52
|
+
import { clsx } from 'clsx'
|
|
53
|
+
import { AnimatePresence, Motion } from 'motion-v'
|
|
54
|
+
import {
|
|
55
|
+
DropdownMenuSubContent,
|
|
56
|
+
useForwardPropsEmits,
|
|
57
|
+
} from 'reka-ui'
|
|
58
|
+
|
|
59
|
+
defineOptions({
|
|
60
|
+
inheritAttrs: false,
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
const props = withDefaults(
|
|
64
|
+
defineProps<DropdownMenuSubContentProps>(),
|
|
65
|
+
{
|
|
66
|
+
sideOffset: 8,
|
|
67
|
+
},
|
|
68
|
+
)
|
|
69
|
+
const emits = defineEmits<DropdownMenuSubContentEmits>()
|
|
70
|
+
|
|
71
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
72
|
+
|
|
73
|
+
const forwarded = useForwardPropsEmits(delegatedProps, emits)
|
|
74
|
+
</script>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './dropdown-menu-sub-trigger.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<DropdownMenuSubTrigger
|
|
7
|
+
v-bind="forwardedProps"
|
|
8
|
+
:class="clsx(
|
|
9
|
+
'arvue-dropdown-menu-sub-trigger',
|
|
10
|
+
inset && 'arvue-dropdown-menu-sub-trigger-inset',
|
|
11
|
+
props.class,
|
|
12
|
+
)"
|
|
13
|
+
>
|
|
14
|
+
<slot/>
|
|
15
|
+
<i class="fas fa-chevron-right arvue-dropdown-menu-sub-trigger-icon"/>
|
|
16
|
+
</DropdownMenuSubTrigger>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
import type { DropdownMenuSubTriggerProps as RekaDropdownMenuSubTriggerProps } from 'reka-ui'
|
|
21
|
+
import type { HTMLAttributes } from 'vue'
|
|
22
|
+
|
|
23
|
+
export interface DropdownMenuSubTriggerProps extends RekaDropdownMenuSubTriggerProps {
|
|
24
|
+
class?: HTMLAttributes['class']
|
|
25
|
+
inset?: boolean
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<script setup lang="ts">
|
|
30
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
31
|
+
import { clsx } from 'clsx'
|
|
32
|
+
import {
|
|
33
|
+
DropdownMenuSubTrigger,
|
|
34
|
+
useForwardProps,
|
|
35
|
+
} from 'reka-ui'
|
|
36
|
+
|
|
37
|
+
const props = defineProps<DropdownMenuSubTriggerProps>()
|
|
38
|
+
|
|
39
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
40
|
+
const forwardedProps = useForwardProps(delegatedProps)
|
|
41
|
+
</script>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<DropdownMenuTrigger v-bind="forwardedProps">
|
|
3
|
+
<slot/>
|
|
4
|
+
</DropdownMenuTrigger>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
import type { DropdownMenuTriggerProps as RekaDropdownMenuTriggerProps } from 'reka-ui'
|
|
9
|
+
|
|
10
|
+
export interface DropdownMenuTriggerProps extends RekaDropdownMenuTriggerProps {}
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<script setup lang="ts">
|
|
14
|
+
import { DropdownMenuTrigger, useForwardProps } from 'reka-ui'
|
|
15
|
+
|
|
16
|
+
const props = defineProps<DropdownMenuTriggerProps>()
|
|
17
|
+
|
|
18
|
+
const forwardedProps = useForwardProps(props)
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.arvue-dropdown-menu-checkbox-item {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 0.5rem;
|
|
6
|
+
font-size: 0.875rem;
|
|
7
|
+
outline: none;
|
|
8
|
+
user-select: none;
|
|
9
|
+
-webkit-user-select: none;
|
|
10
|
+
color: var(--menu-link-color);
|
|
11
|
+
padding: 0.5rem 0.75rem 0.5rem 1.5rem;
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.arvue-dropdown-menu-checkbox-item:focus, .arvue-dropdown-menu-checkbox-item:hover{
|
|
16
|
+
background: var(--menu-background-color-hover);
|
|
17
|
+
color: var(--menu-link-color-hover);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.arvue-dropdown-menu-checkbox-item[data-disabled] {
|
|
21
|
+
pointer-events: none;
|
|
22
|
+
opacity: 0.5;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.arvue-dropdown-menu-checkbox-item .arvue-dropdown-menu-checkbox-item-indicator-wrapper {
|
|
26
|
+
pointer-events: none;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
align-items: center;
|
|
29
|
+
font-size: 0.75rem;
|
|
30
|
+
display: flex;
|
|
31
|
+
position: absolute;
|
|
32
|
+
left: .5rem;
|
|
33
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
.arvue-dropdown-menu-content {
|
|
2
|
+
background: var(--background-color-blank);
|
|
3
|
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
4
|
+
border-radius: 0.5rem; box-shadow: 0 0.25rem 1rem -0.25rem rgba(0, 0, 0, 0.1);
|
|
5
|
+
z-index: 110;
|
|
6
|
+
max-height: var(--reka-dropdown-menu-content-available-height);
|
|
7
|
+
transform-origin: var(--reka-dropdown-menu-content-transform-origin);
|
|
8
|
+
overflow: auto;
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.arvue-dropdown-menu-item {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 0.5rem;
|
|
6
|
+
font-size: 0.875rem;
|
|
7
|
+
outline: none;
|
|
8
|
+
user-select: none;
|
|
9
|
+
-webkit-user-select: none;
|
|
10
|
+
color: var(--menu-link-color);
|
|
11
|
+
padding: 0.5rem 0.75rem;
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.arvue-dropdown-menu-item:focus, .arvue-dropdown-menu-item:hover {
|
|
16
|
+
background: var(--menu-background-color-hover);
|
|
17
|
+
color: var(--menu-link-color-hover);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.arvue-dropdown-menu-item[data-disabled] {
|
|
21
|
+
pointer-events: none;
|
|
22
|
+
opacity: 0.5;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.arvue-dropdown-menu-item.arvue-dropdown-menu-item-inset {
|
|
26
|
+
padding-left: 1.5rem;
|
|
27
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.arvue-dropdown-menu-radio-item {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 0.5rem;
|
|
6
|
+
font-size: 0.875rem;
|
|
7
|
+
outline: none;
|
|
8
|
+
user-select: none;
|
|
9
|
+
-webkit-user-select: none;
|
|
10
|
+
color: var(--menu-link-color);
|
|
11
|
+
padding: 0.5rem 0.75rem 0.5rem 1.5rem;
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.arvue-dropdown-menu-radio-item:focus, .arvue-dropdown-menu-radio-item:hover{
|
|
16
|
+
background: var(--menu-background-color-hover);
|
|
17
|
+
color: var(--menu-link-color-hover);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.arvue-dropdown-menu-radio-item[data-disabled] {
|
|
21
|
+
pointer-events: none;
|
|
22
|
+
opacity: 0.5;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.arvue-dropdown-menu-radio-item .arvue-dropdown-menu-radio-item-indicator-wrapper {
|
|
26
|
+
pointer-events: none;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
align-items: center;
|
|
29
|
+
font-size: 0.75rem;
|
|
30
|
+
display: flex;
|
|
31
|
+
position: absolute;
|
|
32
|
+
left: .5rem;
|
|
33
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
.arvue-dropdown-menu-sub-content {
|
|
2
|
+
background: var(--background-color-blank);
|
|
3
|
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
4
|
+
border-radius: 0.5rem; box-shadow: 0 0.25rem 1rem -0.25rem rgba(0, 0, 0, 0.1);
|
|
5
|
+
z-index: 110;
|
|
6
|
+
transform-origin: var(--reka-dropdown-menu-content-transform-origin);
|
|
7
|
+
overflow: auto;
|
|
8
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.arvue-dropdown-menu-sub-trigger {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 0.5rem;
|
|
6
|
+
font-size: 0.875rem;
|
|
7
|
+
outline: none;
|
|
8
|
+
user-select: none;
|
|
9
|
+
-webkit-user-select: none;
|
|
10
|
+
color: var(--menu-link-color);
|
|
11
|
+
padding: 0.5rem 0.75rem;
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.arvue-dropdown-menu-sub-trigger:focus, .arvue-dropdown-menu-sub-trigger[data-state="open"] {
|
|
16
|
+
background: var(--menu-background-color-hover);
|
|
17
|
+
color: var(--menu-link-color-hover);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.arvue-dropdown-menu-sub-trigger[data-disabled] {
|
|
21
|
+
pointer-events: none;
|
|
22
|
+
opacity: 0.5;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.arvue-dropdown-menu-sub-trigger .arvue-dropdown-menu-sub-trigger-icon {
|
|
26
|
+
margin-left: auto;
|
|
27
|
+
width: 1rem;
|
|
28
|
+
height: 1rem
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.arvue-dropdown-menu-sub-trigger.arvue-dropdown-menu-sub-trigger-inset {
|
|
32
|
+
padding-left: 1.5rem;
|
|
33
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export {
|
|
2
|
+
default as DropdownMenu,
|
|
3
|
+
type DropdownMenuEmits,
|
|
4
|
+
type DropdownMenuProps,
|
|
5
|
+
} from './DropdownMenu.vue'
|
|
6
|
+
export {
|
|
7
|
+
default as DropdownMenuCheckboxItem,
|
|
8
|
+
type DropdownMenuCheckboxItemEmits,
|
|
9
|
+
type DropdownMenuCheckboxItemProps,
|
|
10
|
+
} from './DropdownMenuCheckboxItem.vue'
|
|
11
|
+
export {
|
|
12
|
+
default as DropdownMenuContent,
|
|
13
|
+
type DropdownMenuContentEmits,
|
|
14
|
+
type DropdownMenuContentProps,
|
|
15
|
+
} from './DropdownMenuContent.vue'
|
|
16
|
+
export {
|
|
17
|
+
default as DropdownMenuGroup,
|
|
18
|
+
type DropdownMenuGroupProps,
|
|
19
|
+
} from './DropdownMenuGroup.vue'
|
|
20
|
+
export {
|
|
21
|
+
default as DropdownMenuItem,
|
|
22
|
+
type DropdownMenuItemProps,
|
|
23
|
+
} from './DropdownMenuItem.vue'
|
|
24
|
+
export {
|
|
25
|
+
default as DropdownMenuLabel,
|
|
26
|
+
type DropdownMenuLabelProps,
|
|
27
|
+
} from './DropdownMenuLabel.vue'
|
|
28
|
+
export {
|
|
29
|
+
default as DropdownMenuPortal,
|
|
30
|
+
type DropdownMenuPortalProps,
|
|
31
|
+
} from './DropdownMenuPortal.vue'
|
|
32
|
+
export {
|
|
33
|
+
default as DropdownMenuRadioGroup,
|
|
34
|
+
type DropdownMenuRadioGroupEmits,
|
|
35
|
+
type DropdownMenuRadioGroupProps,
|
|
36
|
+
} from './DropdownMenuRadioGroup.vue'
|
|
37
|
+
export {
|
|
38
|
+
default as DropdownMenuRadioItem,
|
|
39
|
+
type DropdownMenuRadioItemEmits,
|
|
40
|
+
type DropdownMenuRadioItemProps,
|
|
41
|
+
} from './DropdownMenuRadioItem.vue'
|
|
42
|
+
export {
|
|
43
|
+
default as DropdownMenuSeparator,
|
|
44
|
+
type DropdownMenuSeparatorProps,
|
|
45
|
+
} from './DropdownMenuSeparator.vue'
|
|
46
|
+
export {
|
|
47
|
+
default as DropdownMenuShortcut,
|
|
48
|
+
type DropdownMenuShortcutProps,
|
|
49
|
+
} from './DropdownMenuShortcut.vue'
|
|
50
|
+
export {
|
|
51
|
+
default as DropdownMenuSub,
|
|
52
|
+
type DropdownMenuSubProps,
|
|
53
|
+
} from './DropdownMenuSub.vue'
|
|
54
|
+
export {
|
|
55
|
+
default as DropdownMenuSubContent,
|
|
56
|
+
type DropdownMenuSubContentEmits,
|
|
57
|
+
type DropdownMenuSubContentProps,
|
|
58
|
+
} from './DropdownMenuSubContent.vue'
|
|
59
|
+
export {
|
|
60
|
+
default as DropdownMenuSubTrigger,
|
|
61
|
+
type DropdownMenuSubTriggerProps,
|
|
62
|
+
} from './DropdownMenuSubTrigger.vue'
|
|
63
|
+
export {
|
|
64
|
+
default as DropdownMenuTrigger,
|
|
65
|
+
type DropdownMenuTriggerProps,
|
|
66
|
+
} from './DropdownMenuTrigger.vue'
|
package/src/index.ts
CHANGED
package/src/sheet/SheetTitle.vue
CHANGED