arvue-ui 0.2.0 → 0.3.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.
Files changed (105) hide show
  1. package/dist/all.css +1 -1
  2. package/dist/autocomplete/autocomplete.js +52 -0
  3. package/dist/autocomplete/autocomplete.js.map +1 -0
  4. package/dist/autocomplete/autocompleteAnchor.js +24 -0
  5. package/dist/autocomplete/autocompleteAnchor.js.map +1 -0
  6. package/dist/autocomplete/autocompleteArrow.js +26 -0
  7. package/dist/autocomplete/autocompleteArrow.js.map +1 -0
  8. package/dist/autocomplete/autocompleteCancel.js +23 -0
  9. package/dist/autocomplete/autocompleteCancel.js.map +1 -0
  10. package/dist/autocomplete/autocompleteContent.js +77 -0
  11. package/dist/autocomplete/autocompleteContent.js.map +1 -0
  12. package/dist/autocomplete/autocompleteEmpty.js +33 -0
  13. package/dist/autocomplete/autocompleteEmpty.js.map +1 -0
  14. package/dist/autocomplete/autocompleteGroup.js +23 -0
  15. package/dist/autocomplete/autocompleteGroup.js.map +1 -0
  16. package/dist/autocomplete/autocompleteInput.js +65 -0
  17. package/dist/autocomplete/autocompleteInput.js.map +1 -0
  18. package/dist/autocomplete/autocompleteItem.js +36 -0
  19. package/dist/autocomplete/autocompleteItem.js.map +1 -0
  20. package/dist/autocomplete/autocompleteLabel.js +34 -0
  21. package/dist/autocomplete/autocompleteLabel.js.map +1 -0
  22. package/dist/autocomplete/autocompletePortal.js +25 -0
  23. package/dist/autocomplete/autocompletePortal.js.map +1 -0
  24. package/dist/autocomplete/autocompleteSeparator.js +33 -0
  25. package/dist/autocomplete/autocompleteSeparator.js.map +1 -0
  26. package/dist/autocomplete/autocompleteTrigger.js +24 -0
  27. package/dist/autocomplete/autocompleteTrigger.js.map +1 -0
  28. package/dist/autocomplete/autocompleteViewport.js +24 -0
  29. package/dist/autocomplete/autocompleteViewport.js.map +1 -0
  30. package/dist/dialog/dialogContent.js +2 -2
  31. package/dist/dialog/dialogDescription.js +1 -1
  32. package/dist/dialog/dialogFooter.js +1 -1
  33. package/dist/dialog/dialogHeader.js +1 -1
  34. package/dist/dialog/dialogOverlay.js +1 -1
  35. package/dist/dialog/dialogTitle.js +1 -1
  36. package/dist/drawer/drawerContent.js +1 -1
  37. package/dist/drawer/drawerDescription.js +1 -1
  38. package/dist/drawer/drawerFooter.js +1 -1
  39. package/dist/drawer/drawerHeader.js +1 -1
  40. package/dist/drawer/drawerOverlay.js +1 -1
  41. package/dist/drawer/drawerTitle.js +1 -1
  42. package/dist/index.d.ts +442 -56
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +720 -40
  45. package/dist/index.js.map +1 -1
  46. package/dist/sheet/sheet.js +54 -0
  47. package/dist/sheet/sheet.js.map +1 -0
  48. package/dist/sheet/sheetClose.js +23 -0
  49. package/dist/sheet/sheetClose.js.map +1 -0
  50. package/dist/sheet/sheetContent.js +61 -0
  51. package/dist/sheet/sheetContent.js.map +1 -0
  52. package/dist/sheet/sheetDescription.js +33 -0
  53. package/dist/sheet/sheetDescription.js.map +1 -0
  54. package/dist/sheet/sheetFooter.js +33 -0
  55. package/dist/sheet/sheetFooter.js.map +1 -0
  56. package/dist/sheet/sheetHeader.js +33 -0
  57. package/dist/sheet/sheetHeader.js.map +1 -0
  58. package/dist/sheet/sheetOverlay.js +34 -0
  59. package/dist/sheet/sheetOverlay.js.map +1 -0
  60. package/dist/sheet/sheetTitle.js +33 -0
  61. package/dist/sheet/sheetTitle.js.map +1 -0
  62. package/dist/sheet/sheetTrigger.js +23 -0
  63. package/dist/sheet/sheetTrigger.js.map +1 -0
  64. package/dist/style.css +24 -0
  65. package/package.json +3 -2
  66. package/src/autocomplete/Autocomplete.vue +36 -0
  67. package/src/autocomplete/AutocompleteAnchor.vue +17 -0
  68. package/src/autocomplete/AutocompleteArrow.vue +17 -0
  69. package/src/autocomplete/AutocompleteCancel.vue +17 -0
  70. package/src/autocomplete/AutocompleteContent.vue +45 -0
  71. package/src/autocomplete/AutocompleteEmpty.vue +31 -0
  72. package/src/autocomplete/AutocompleteGroup.vue +17 -0
  73. package/src/autocomplete/AutocompleteInput.vue +63 -0
  74. package/src/autocomplete/AutocompleteItem.vue +32 -0
  75. package/src/autocomplete/AutocompleteLabel.vue +31 -0
  76. package/src/autocomplete/AutocompletePortal.vue +17 -0
  77. package/src/autocomplete/AutocompleteSeparator.vue +31 -0
  78. package/src/autocomplete/AutocompleteTrigger.vue +17 -0
  79. package/src/autocomplete/AutocompleteViewport.vue +17 -0
  80. package/src/autocomplete/autocomplete-content.css +7 -0
  81. package/src/autocomplete/autocomplete-empty.css +7 -0
  82. package/src/autocomplete/autocomplete-item.css +14 -0
  83. package/src/autocomplete/autocomplete-label.css +6 -0
  84. package/src/autocomplete/autocomplete-separator.css +5 -0
  85. package/src/autocomplete/autocomplete.css +4 -0
  86. package/src/autocomplete/index.ts +60 -0
  87. package/src/dialog/dialog-description.css +1 -0
  88. package/src/drawer/drawer-description.css +1 -0
  89. package/src/index.ts +2 -0
  90. package/src/sheet/Sheet.vue +29 -0
  91. package/src/sheet/SheetClose.vue +19 -0
  92. package/src/sheet/SheetContent.vue +53 -0
  93. package/src/sheet/SheetDescription.vue +33 -0
  94. package/src/sheet/SheetFooter.vue +31 -0
  95. package/src/sheet/SheetHeader.vue +31 -0
  96. package/src/sheet/SheetOverlay.vue +31 -0
  97. package/src/sheet/SheetTitle.vue +33 -0
  98. package/src/sheet/SheetTrigger.vue +17 -0
  99. package/src/sheet/index.ts +38 -0
  100. package/src/sheet/sheet-content.css +67 -0
  101. package/src/sheet/sheet-description.css +5 -0
  102. package/src/sheet/sheet-footer.css +11 -0
  103. package/src/sheet/sheet-header.css +6 -0
  104. package/src/sheet/sheet-overlay.css +12 -0
  105. package/src/sheet/sheet-title.css +3 -0
@@ -0,0 +1,33 @@
1
+ <style>
2
+ @import "sheet-description.css";
3
+ </style>
4
+
5
+ <template>
6
+ <DrawerDescription
7
+ :class="clsx('arvue-sheet-description', props.class)"
8
+ v-bind="delegatedProps"
9
+ >
10
+ <slot/>
11
+ </DrawerDescription>
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import type { DrawerDescriptionProps } from 'vaul-vue'
16
+ import type { HTMLAttributes } from 'vue'
17
+
18
+ export interface SheetDescriptionProps extends DrawerDescriptionProps {
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 { DrawerDescription } from 'vaul-vue'
27
+
28
+ const props = withDefaults(defineProps<SheetDescriptionProps>(), {
29
+ as: 'p',
30
+ })
31
+
32
+ const delegatedProps = reactiveOmit(props, 'class')
33
+ </script>
@@ -0,0 +1,31 @@
1
+ <style>
2
+ @import "sheet-footer.css";
3
+ </style>
4
+
5
+ <template>
6
+ <Primitive
7
+ :class="clsx('arvue-sheet-footer', 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 SheetFooterProps 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 = defineProps<SheetFooterProps>()
29
+
30
+ const delegatedProps = reactiveOmit(props, 'class')
31
+ </script>
@@ -0,0 +1,31 @@
1
+ <style>
2
+ @import "sheet-header.css";
3
+ </style>
4
+
5
+ <template>
6
+ <Primitive
7
+ :class="clsx('arvue-sheet-header', 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 SheetHeaderProps 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 = defineProps<SheetHeaderProps>()
29
+
30
+ const delegatedProps = reactiveOmit(props, 'class')
31
+ </script>
@@ -0,0 +1,31 @@
1
+ <style>
2
+ @import 'sheet-overlay.css';
3
+ </style>
4
+
5
+ <template>
6
+ <DrawerOverlay
7
+ :class="clsx('arvue-sheet-overlay', props.class)"
8
+ v-bind="delegatedProps"
9
+ >
10
+ <slot/>
11
+ </DrawerOverlay>
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import type { DialogOverlayProps } from 'reka-ui'
16
+ import type { HTMLAttributes } from 'vue'
17
+
18
+ export interface SheetOverlayProps extends DialogOverlayProps {
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 { DrawerOverlay } from 'vaul-vue'
27
+
28
+ const props = defineProps<SheetOverlayProps>()
29
+
30
+ const delegatedProps = reactiveOmit(props, 'class')
31
+ </script>
@@ -0,0 +1,33 @@
1
+ <style>
2
+ @import "sheet-title.css";
3
+ </style>
4
+
5
+ <template>
6
+ <DrawerTitle
7
+ :class="clsx('arvue-sheet-title', props.class)"
8
+ v-bind="delegatedProps"
9
+ >
10
+ <slot/>
11
+ </DrawerTitle>
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import type { DrawerTitleProps } from 'vaul-vue'
16
+ import type { HTMLAttributes } from 'vue'
17
+
18
+ export interface SheetTitleProps extends DrawerTitleProps {
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 { DrawerTitle } from 'vaul-vue'
27
+
28
+ const props = withDefaults(defineProps<SheetTitleProps>(), {
29
+ as: 'h3',
30
+ })
31
+
32
+ const delegatedProps = reactiveOmit(props, 'class')
33
+ </script>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <DrawerTrigger v-bind="props">
3
+ <slot/>
4
+ </DrawerTrigger>
5
+ </template>
6
+
7
+ <script lang="ts">
8
+ import type { DrawerTriggerProps } from 'vaul-vue'
9
+
10
+ export interface SheetTriggerProps extends DrawerTriggerProps {}
11
+ </script>
12
+
13
+ <script setup lang="ts">
14
+ import { DrawerTrigger } from 'vaul-vue'
15
+
16
+ const props = defineProps<SheetTriggerProps>()
17
+ </script>
@@ -0,0 +1,38 @@
1
+ export {
2
+ default as Sheet,
3
+ type SheetEmits,
4
+ type SheetProps,
5
+ } from './Sheet.vue'
6
+ export {
7
+ default as SheetClose,
8
+ type SheetCloseProps,
9
+ } from './SheetClose.vue'
10
+ export {
11
+ default as SheetContent,
12
+ type SheetContentEmits,
13
+ type SheetContentProps,
14
+ } from './SheetContent.vue'
15
+ export {
16
+ default as SheetDescription,
17
+ type SheetDescriptionProps,
18
+ } from './SheetDescription.vue'
19
+ export {
20
+ default as SheetFooter,
21
+ type SheetFooterProps,
22
+ } from './SheetFooter.vue'
23
+ export {
24
+ default as SheetHeader,
25
+ type SheetHeaderProps,
26
+ } from './SheetHeader.vue'
27
+ export {
28
+ default as SheetOverlay,
29
+ type SheetOverlayProps,
30
+ } from './SheetOverlay.vue'
31
+ export {
32
+ default as SheetTitle,
33
+ type SheetTitleProps,
34
+ } from './SheetTitle.vue'
35
+ export {
36
+ default as SheetTrigger,
37
+ type SheetTriggerProps,
38
+ } from './SheetTrigger.vue'
@@ -0,0 +1,67 @@
1
+ .arvue-sheet-content {
2
+ position: fixed;
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 1rem;
6
+ box-sizing: border-box;
7
+ z-index: 1035;
8
+ height: auto;
9
+ box-shadow: 0 0 70px var(--drawer-shadow-color);
10
+ background: var(--background-color-blank);
11
+ }
12
+
13
+ .arvue-sheet-content[data-vaul-drawer-direction="top"] {
14
+ left: 0;
15
+ right: 0;
16
+ top: 0;
17
+ margin-bottom: 6rem;
18
+ max-height: 80vh;
19
+ border-bottom-left-radius: 1rem;
20
+ border-bottom-right-radius: 1rem;
21
+ }
22
+
23
+ .arvue-sheet-content[data-vaul-drawer-direction="bottom"] {
24
+ left: 0;
25
+ right: 0;
26
+ bottom: 0;
27
+ margin-top: 6rem;
28
+ max-height: 80vh;
29
+ border-top-left-radius: 1rem;
30
+ border-top-right-radius: 1rem;
31
+ }
32
+
33
+ .arvue-sheet-content[data-vaul-drawer-direction="right"] {
34
+ top: 0;
35
+ bottom: 0;
36
+ right: 0;
37
+ width: 75%;
38
+ }
39
+
40
+ .arvue-sheet-content[data-vaul-drawer-direction="left"] {
41
+ top: 0;
42
+ bottom: 0;
43
+ left: 0;
44
+ width: 75%;
45
+ }
46
+
47
+ @media (min-width: 760px) {
48
+ .arvue-sheet-content[data-vaul-drawer-direction="right"],
49
+ .arvue-sheet-content[data-vaul-drawer-direction="left"] {
50
+ max-width: 600px;
51
+ }
52
+ }
53
+
54
+ .arvue-sheet-content .arvue-sheet-handle {
55
+ margin-left: auto;
56
+ margin-right: auto;
57
+ margin-top: 1rem;
58
+ display: none;
59
+ height: 0.5rem;
60
+ width: 100px;
61
+ flex-shrink: 0;
62
+ border-radius: 9999px;
63
+ background-color: var(--light-gray);
64
+ }
65
+ .arvue-sheet-content[data-vaul-drawer-direction="bottom"] .arvue-sheet-handle {
66
+ display: block;
67
+ }
@@ -0,0 +1,5 @@
1
+ .arvue-sheet-description {
2
+ font-size: 0.875rem;
3
+ margin: 0;
4
+ font-weight: 600;
5
+ }
@@ -0,0 +1,11 @@
1
+ .arvue-sheet-footer {
2
+ margin-top: auto;
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.5rem;
6
+ padding: 1rem;
7
+ }
8
+
9
+ .arvue-sheet-footer button {
10
+ margin-right: 0;
11
+ }
@@ -0,0 +1,6 @@
1
+ .arvue-sheet-header {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.375rem;
5
+ padding: 1rem;
6
+ }
@@ -0,0 +1,12 @@
1
+ .arvue-sheet-overlay {
2
+ position: fixed;
3
+ top: 0;
4
+ right: 0;
5
+ bottom: 0;
6
+ left: 0;
7
+ z-index: 1030;
8
+ width: 100%;
9
+ height: 100%;
10
+ box-sizing: border-box;
11
+ background: var(--drawer-background-color);
12
+ }
@@ -0,0 +1,3 @@
1
+ .arvue-sheet-title {
2
+ margin: 0;
3
+ }