arvue-ui 0.7.0 → 0.8.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/accordion/accordion.js +32 -0
- package/dist/accordion/accordion.js.map +1 -0
- package/dist/accordion/accordionContent.js +34 -0
- package/dist/accordion/accordionContent.js.map +1 -0
- package/dist/accordion/accordionHeader.js +33 -0
- package/dist/accordion/accordionHeader.js.map +1 -0
- package/dist/accordion/accordionItem.js +36 -0
- package/dist/accordion/accordionItem.js.map +1 -0
- package/dist/accordion/accordionTrigger.js +41 -0
- package/dist/accordion/accordionTrigger.js.map +1 -0
- package/dist/all.css +1 -1
- package/dist/index.d.ts +172 -90
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +87 -82
- package/dist/index.js.map +1 -1
- package/dist/select/selectContent.js +1 -1
- package/dist/select/selectContent.js.map +1 -1
- package/dist/style.css +8 -0
- package/package.json +1 -1
- package/src/accordion/Accordion.vue +30 -0
- package/src/accordion/AccordionContent.vue +33 -0
- package/src/accordion/AccordionHeader.vue +33 -0
- package/src/accordion/AccordionItem.vue +34 -0
- package/src/accordion/AccordionTrigger.vue +41 -0
- package/src/accordion/accordion-content.css +33 -0
- package/src/accordion/accordion-header.css +4 -0
- package/src/accordion/accordion-item.css +7 -0
- package/src/accordion/accordion-trigger.css +29 -0
- package/src/accordion/index.ts +21 -0
- package/src/index.ts +1 -0
- package/src/select/SelectContent.vue +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectContent.js","names":["$attrs"],"sources":["../../src/select/SelectContent.vue"],"sourcesContent":["<style>\n@import './select-content.css';\n</style>\n\n<template>\n <AnimatePresence>\n <SelectContent\n v-bind=\"{ ...$attrs, ...forwarded }\"\n :class=\"clsx('arvue-select-content', props.class)\"\n position=\"popper\"\n as-child\n >\n <Motion\n :initial=\"{\n y: '-5px',\n opacity: 0,\n }\"\n :animate=\"{\n y: 0,\n opacity: 1,\n }\"\n :exit=\"{\n y: '-5px',\n opacity: 0,\n }\"\n :transition=\"{\n duration: .15,\n ease: 'easeInOut',\n }\"\n >\n <SelectScrollUpButton/>\n <SelectViewport class=\"arvue-select-content-viewport\">\n <slot/>\n </SelectViewport>\n <SelectScrollDownButton/>\n </Motion>\n </SelectContent>\n </AnimatePresence>\n</template>\n\n<script lang=\"ts\">\nimport type {\n SelectContentEmits as RekaSelectContentEmits,\n SelectContentProps as RekaSelectContentProps,\n} from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface SelectContentProps extends Omit<RekaSelectContentProps, 'position'> {\n class?: HTMLAttributes['class']\n}\nexport interface SelectContentEmits extends RekaSelectContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { AnimatePresence, Motion } from 'motion-v'\nimport {\n SelectContent,\n SelectViewport,\n useForwardPropsEmits,\n} from 'reka-ui'\nimport { SelectScrollDownButton, SelectScrollUpButton } from '.'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<SelectContentProps>(), {\n sideOffset: 8,\n})\nconst emits = defineEmits<SelectContentEmits>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEA,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"selectContent.js","names":["$attrs"],"sources":["../../src/select/SelectContent.vue"],"sourcesContent":["<style>\n@import './select-content.css';\n</style>\n\n<template>\n <AnimatePresence>\n <SelectContent\n v-bind=\"{ ...$attrs, ...forwarded }\"\n :class=\"clsx('arvue-select-content', props.class)\"\n position=\"popper\"\n as-child\n >\n <Motion\n :initial=\"{\n y: '-5px',\n opacity: 0,\n }\"\n :animate=\"{\n y: 0,\n opacity: 1,\n }\"\n :exit=\"{\n y: '-5px',\n opacity: 0,\n }\"\n :transition=\"{\n duration: .15,\n ease: 'easeInOut',\n }\"\n >\n <SelectScrollUpButton/>\n <SelectViewport class=\"arvue-select-content-viewport\">\n <slot/>\n </SelectViewport>\n <SelectScrollDownButton/>\n </Motion>\n </SelectContent>\n </AnimatePresence>\n</template>\n\n<script lang=\"ts\">\nimport type {\n SelectContentEmits as RekaSelectContentEmits,\n SelectContentProps as RekaSelectContentProps,\n} from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\n\nexport interface SelectContentProps extends Omit<RekaSelectContentProps, 'position'> {\n class?: HTMLAttributes['class']\n}\nexport interface SelectContentEmits extends RekaSelectContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nimport { reactiveOmit } from '@vueuse/core'\nimport { clsx } from 'clsx'\nimport { AnimatePresence, Motion } from 'motion-v'\nimport {\n SelectContent,\n SelectViewport,\n useForwardPropsEmits,\n} from 'reka-ui'\nimport { SelectScrollDownButton, SelectScrollUpButton } from '.'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<SelectContentProps>(), {\n sideOffset: 8,\n collisionPadding: 0,\n})\nconst emits = defineEmits<SelectContentEmits>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEA,MAAM,QAAQ;EAId,MAAM,QAAQ;EAId,MAAM,YAAY,qBAFK,aAAa,OAAO,OAEJ,GAAgB,KAAK;;uBAvExD,YAgCkB,MAAA,eAAA,GAAA,MAAA;2BADE,CA9BhB,YA8BgB,MAAA,aAAA,GA9BhB,WA8BgB;KAAA,GA7BCA,KAAAA;KAAM,GAAK,MAAA,SAAA;IAAS,GAAA;KAChC,OAAO,MAAA,IAAA,EAAI,wBAAyB,MAAM,KAAK;KAChD,UAAS;KACT,YAAA;;4BAyBS,CAvBT,YAuBS,MAAA,MAAA,GAAA;MAtBJ,SAAS;;;;MAIT,SAAS;;;;MAIT,MAAM;;;;MAIN,YAAY;;;;;6BAKU;OAAvB,YAAuB,MAAA,WAAA,CAAA;OACvB,YAEiB,MAAA,cAAA,GAAA,EAFD,OAAM,gCAA+B,GAAA;+BAC1C,CAAP,WAAO,KAAA,QAAA,SAAA,CAAA,CAAA;;;OAEX,YAAyB,MAAA,WAAA,CAAA"}
|
package/dist/style.css
CHANGED
package/package.json
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<AccordionRoot
|
|
3
|
+
v-slot="slotProps"
|
|
4
|
+
v-bind="forwarded"
|
|
5
|
+
>
|
|
6
|
+
<slot v-bind="slotProps"/>
|
|
7
|
+
</AccordionRoot>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script lang="ts">
|
|
11
|
+
import type { AccordionRootEmits, AccordionRootProps } from 'reka-ui'
|
|
12
|
+
|
|
13
|
+
export interface AccordionProps extends AccordionRootProps {
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface AccordionEmits extends AccordionRootEmits {
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<script setup lang="ts">
|
|
21
|
+
import {
|
|
22
|
+
AccordionRoot,
|
|
23
|
+
useForwardPropsEmits,
|
|
24
|
+
} from 'reka-ui'
|
|
25
|
+
|
|
26
|
+
const props = defineProps<AccordionProps>()
|
|
27
|
+
const emits = defineEmits<AccordionEmits>()
|
|
28
|
+
|
|
29
|
+
const forwarded = useForwardPropsEmits(props, emits)
|
|
30
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './accordion-content.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<AccordionContent
|
|
7
|
+
v-bind="delegatedProps"
|
|
8
|
+
class="arvue-accordion-content"
|
|
9
|
+
>
|
|
10
|
+
<div :class="clsx('arvue-accordion-content-block', props.class)">
|
|
11
|
+
<slot/>
|
|
12
|
+
</div>
|
|
13
|
+
</AccordionContent>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
import type { AccordionContentProps as RekaAccordionContentProps } from 'reka-ui'
|
|
18
|
+
import type { HTMLAttributes } from 'vue'
|
|
19
|
+
|
|
20
|
+
export interface AccordionContentProps extends RekaAccordionContentProps {
|
|
21
|
+
class?: HTMLAttributes['class']
|
|
22
|
+
}
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<script setup lang="ts">
|
|
26
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
27
|
+
import { clsx } from 'clsx'
|
|
28
|
+
import { AccordionContent } from 'reka-ui'
|
|
29
|
+
|
|
30
|
+
const props = defineProps<AccordionContentProps>()
|
|
31
|
+
|
|
32
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
33
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './accordion-header.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<AccordionHeader
|
|
7
|
+
:class="clsx('arvue-accordion-header', props.class)"
|
|
8
|
+
v-bind="delegatedProps"
|
|
9
|
+
>
|
|
10
|
+
<slot/>
|
|
11
|
+
</AccordionHeader>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script lang="ts">
|
|
15
|
+
import type { AccordionHeaderProps as RekaAccordionHeaderProps } from 'reka-ui'
|
|
16
|
+
import type { HTMLAttributes } from 'vue'
|
|
17
|
+
|
|
18
|
+
export interface AccordionHeaderProps extends RekaAccordionHeaderProps {
|
|
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 { AccordionHeader } from 'reka-ui'
|
|
27
|
+
|
|
28
|
+
const props = withDefaults(defineProps<AccordionHeaderProps>(), {
|
|
29
|
+
as: 'div',
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
33
|
+
</script>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './accordion-item.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<AccordionItem
|
|
7
|
+
v-slot="slotProps"
|
|
8
|
+
v-bind="forwardedProps"
|
|
9
|
+
:class="clsx('arvue-accordion-item', props.class)"
|
|
10
|
+
>
|
|
11
|
+
<slot v-bind="slotProps"/>
|
|
12
|
+
</AccordionItem>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import type { AccordionItemProps as RekaAccordionItemProps } from 'reka-ui'
|
|
17
|
+
import type { HTMLAttributes } from 'vue'
|
|
18
|
+
|
|
19
|
+
export interface AccordionItemProps extends RekaAccordionItemProps {
|
|
20
|
+
class?: HTMLAttributes['class']
|
|
21
|
+
}
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<script setup lang="ts">
|
|
25
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
26
|
+
import { clsx } from 'clsx'
|
|
27
|
+
import { AccordionItem, useForwardProps } from 'reka-ui'
|
|
28
|
+
|
|
29
|
+
const props = defineProps<AccordionItemProps>()
|
|
30
|
+
|
|
31
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
32
|
+
|
|
33
|
+
const forwardedProps = useForwardProps(delegatedProps)
|
|
34
|
+
</script>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
@import './accordion-trigger.css';
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<AccordionHeader class="flexbox">
|
|
7
|
+
<AccordionTrigger
|
|
8
|
+
v-bind="{ ...$attrs, ...delegatedProps }"
|
|
9
|
+
:class="clsx('arvue-accordion-trigger', props.class)"
|
|
10
|
+
>
|
|
11
|
+
<slot/>
|
|
12
|
+
<i class="fas fa-chevron-down arvue-accordion-trigger-icon"/>
|
|
13
|
+
</AccordionTrigger>
|
|
14
|
+
</AccordionHeader>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script lang="ts">
|
|
18
|
+
import type { AccordionTriggerProps as RekaAccordionTriggerProps } from 'reka-ui'
|
|
19
|
+
import type { HTMLAttributes } from 'vue'
|
|
20
|
+
|
|
21
|
+
export interface AccordionTriggerProps extends RekaAccordionTriggerProps {
|
|
22
|
+
class?: HTMLAttributes['class']
|
|
23
|
+
}
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
28
|
+
import { clsx } from 'clsx'
|
|
29
|
+
import { AccordionTrigger } from 'reka-ui'
|
|
30
|
+
import { AccordionHeader } from '.'
|
|
31
|
+
|
|
32
|
+
defineOptions({
|
|
33
|
+
inheritAttrs: false,
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
const props = withDefaults(defineProps<AccordionTriggerProps>(), {
|
|
37
|
+
as: 'a',
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const delegatedProps = reactiveOmit(props, 'class')
|
|
41
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.arvue-accordion-content {
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.arvue-accordion-content .arvue-accordion-content-block {
|
|
6
|
+
padding: 0 1rem 1rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.arvue-accordion-content[data-state="open"] {
|
|
10
|
+
animation: arvueAccordionSlideDown var(--timing-fast) ease-out;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.arvue-accordion-content[data-state="closed"] {
|
|
14
|
+
animation: arvueAccordionSlideUp var(--timing-fast) ease-in;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@keyframes arvueAccordionSlideDown {
|
|
18
|
+
from {
|
|
19
|
+
height: 0;
|
|
20
|
+
}
|
|
21
|
+
to {
|
|
22
|
+
height: var(--reka-accordion-content-height);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@keyframes arvueAccordionSlideUp {
|
|
27
|
+
from {
|
|
28
|
+
height: var(--reka-accordion-content-height);
|
|
29
|
+
}
|
|
30
|
+
to {
|
|
31
|
+
height: 0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
.arvue-accordion-trigger {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1;
|
|
4
|
+
align-items: flex-start;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
padding: 1rem;
|
|
7
|
+
text-align: left;
|
|
8
|
+
transition: all 0.15s ease;
|
|
9
|
+
outline: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.arvue-accordion-trigger:disabled {
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
opacity: 0.5;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.arvue-accordion-trigger[data-state="open"] > svg {
|
|
18
|
+
transform: rotate(180deg);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.arvue-accordion-trigger .arvue-accordion-trigger-icon {
|
|
22
|
+
color: var(--text-color-hint);
|
|
23
|
+
pointer-events: none;
|
|
24
|
+
width: 1rem;
|
|
25
|
+
height: 1rem;
|
|
26
|
+
flex-shrink: 0;
|
|
27
|
+
transform: translateY(0.125rem);
|
|
28
|
+
transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
29
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export {
|
|
2
|
+
default as Accordion,
|
|
3
|
+
type AccordionEmits,
|
|
4
|
+
type AccordionProps,
|
|
5
|
+
} from './Accordion.vue'
|
|
6
|
+
export {
|
|
7
|
+
default as AccordionContent,
|
|
8
|
+
type AccordionContentProps,
|
|
9
|
+
} from './AccordionContent.vue'
|
|
10
|
+
export {
|
|
11
|
+
default as AccordionHeader,
|
|
12
|
+
type AccordionHeaderProps,
|
|
13
|
+
} from './AccordionHeader.vue'
|
|
14
|
+
export {
|
|
15
|
+
default as AccordionItem,
|
|
16
|
+
type AccordionItemProps,
|
|
17
|
+
} from './AccordionItem.vue'
|
|
18
|
+
export {
|
|
19
|
+
default as AccordionTrigger,
|
|
20
|
+
type AccordionTriggerProps,
|
|
21
|
+
} from './AccordionTrigger.vue'
|
package/src/index.ts
CHANGED