@youcan/celeste 0.13.0 → 0.14.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/ai/component-registry.json +49 -2
- package/ai/component-registry.md +24 -2
- package/ai/icons.md +1 -1
- package/ai/tokens.md +1 -1
- package/dist/celeste.css +299 -86
- package/dist/cjs/chunks/calendar.cjs +71 -72
- package/dist/cjs/chunks/combobox-root.cjs +6 -6
- package/dist/cjs/chunks/components.cjs +2 -0
- package/dist/cjs/chunks/digit-input.cjs +13 -12
- package/dist/cjs/chunks/dropdown-menu.cjs +9 -6
- package/dist/cjs/chunks/mochi.cjs +168 -0
- package/dist/cjs/chunks/radio-group.cjs +4 -8
- package/dist/cjs/chunks/range-calendar.cjs +71 -72
- package/dist/cjs/chunks/scroll-area.cjs +16 -17
- package/dist/cjs/chunks/segmented-control.cjs +20 -21
- package/dist/cjs/chunks/select.cjs +8 -5
- package/dist/cjs/chunks/slider.cjs +14 -15
- package/dist/cjs/chunks/tab-menu.cjs +8 -9
- package/dist/cjs/command-root.cjs +8 -5
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/mochi.cjs +2 -0
- package/dist/cjs/use-direction.cjs +4 -4
- package/dist/components/index.d.ts +1 -0
- package/dist/components/mochi/index.d.ts +2 -0
- package/dist/components/mochi/mochi.d.ts +22 -0
- package/dist/components/radio-group/radio-group.d.ts +2 -2
- package/dist/components/scroll-area/scroll-area.d.ts +2 -2
- package/dist/components/segmented-control/segmented-control.d.ts +2 -2
- package/dist/components/tab-menu/tab-menu.d.ts +2 -2
- package/dist/composables/use-direction.d.ts +2 -2
- package/dist/es/chunks/calendar.js +71 -72
- package/dist/es/chunks/combobox-root.js +6 -6
- package/dist/es/chunks/components.js +2 -0
- package/dist/es/chunks/digit-input.js +14 -13
- package/dist/es/chunks/dropdown-menu.js +9 -6
- package/dist/es/chunks/mochi.js +162 -0
- package/dist/es/chunks/radio-group.js +5 -9
- package/dist/es/chunks/range-calendar.js +71 -72
- package/dist/es/chunks/scroll-area.js +16 -17
- package/dist/es/chunks/segmented-control.js +21 -22
- package/dist/es/chunks/select.js +8 -5
- package/dist/es/chunks/slider.js +14 -15
- package/dist/es/chunks/tab-menu.js +9 -10
- package/dist/es/command-root.js +8 -5
- package/dist/es/index.js +2 -1
- package/dist/es/mochi.js +2 -0
- package/dist/es/use-direction.js +5 -5
- package/package.json +3 -3
- package/src/components/calendar/calendar.vue +62 -64
- package/src/components/combobox/combobox-root.vue +9 -5
- package/src/components/command/command-root.vue +10 -9
- package/src/components/digit-input/digit-input.vue +10 -11
- package/src/components/dropdown-menu/dropdown-menu.vue +9 -8
- package/src/components/index.ts +1 -0
- package/src/components/mochi/index.ts +2 -0
- package/src/components/mochi/mochi.vue +480 -0
- package/src/components/mochi/stories/mochi.stories.ts +105 -0
- package/src/components/radio-group/radio-group.vue +9 -10
- package/src/components/range-calendar/range-calendar.vue +63 -65
- package/src/components/scroll-area/scroll-area.vue +14 -15
- package/src/components/segmented-control/segmented-control.vue +20 -21
- package/src/components/select/select.vue +9 -8
- package/src/components/slider/slider.vue +16 -17
- package/src/components/tab-menu/tab-menu.vue +9 -10
- package/src/composables/use-direction.ts +6 -6
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
CalendarNext,
|
|
16
16
|
CalendarPrev,
|
|
17
17
|
CalendarRoot,
|
|
18
|
-
ConfigProvider,
|
|
19
18
|
useForwardPropsEmits,
|
|
20
19
|
} from 'reka-ui';
|
|
21
20
|
import { useDelegatedProps } from '@/composables/use-delegated-props';
|
|
@@ -37,7 +36,7 @@ const emits = defineEmits<CalendarRootEmits>();
|
|
|
37
36
|
const delegatedProps = useDelegatedProps(props, ['class', 'markedDates']);
|
|
38
37
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
39
38
|
|
|
40
|
-
const
|
|
39
|
+
const dir = useDirection(() => props.dir);
|
|
41
40
|
|
|
42
41
|
function isMarked(date: DateValue): boolean {
|
|
43
42
|
return props.markedDates?.some(marked => isEqualDay(marked, date)) ?? false;
|
|
@@ -49,70 +48,69 @@ function weekdayLabel(day: string): string {
|
|
|
49
48
|
</script>
|
|
50
49
|
|
|
51
50
|
<template>
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
51
|
+
<CalendarRoot
|
|
52
|
+
v-slot="{ weekDays, grid }"
|
|
53
|
+
v-bind="forwarded"
|
|
54
|
+
:class="clsx('celeste-calendar', props.class)"
|
|
55
|
+
:dir="dir"
|
|
56
|
+
>
|
|
57
|
+
<div class="celeste-calendar-header">
|
|
58
|
+
<CalendarPrev as-child>
|
|
59
|
+
<button type="button" class="celeste-calendar-nav">
|
|
60
|
+
<i class="i-celeste-arrow-left-s-line" />
|
|
61
|
+
</button>
|
|
62
|
+
</CalendarPrev>
|
|
63
|
+
<CalendarHeading class="celeste-calendar-heading" />
|
|
64
|
+
<CalendarNext as-child>
|
|
65
|
+
<button type="button" class="celeste-calendar-nav">
|
|
66
|
+
<i class="i-celeste-arrow-right-s-line" />
|
|
67
|
+
</button>
|
|
68
|
+
</CalendarNext>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<div class="celeste-calendar-months">
|
|
72
|
+
<CalendarGrid
|
|
73
|
+
v-for="month in grid"
|
|
74
|
+
:key="month.value.toString()"
|
|
75
|
+
class="celeste-calendar-grid"
|
|
76
|
+
>
|
|
77
|
+
<CalendarGridHead>
|
|
78
|
+
<CalendarGridRow class="celeste-calendar-week">
|
|
79
|
+
<CalendarHeadCell
|
|
80
|
+
v-for="day in weekDays"
|
|
81
|
+
:key="day"
|
|
82
|
+
class="celeste-calendar-weekday"
|
|
83
|
+
>
|
|
84
|
+
{{ weekdayLabel(day) }}
|
|
85
|
+
</CalendarHeadCell>
|
|
86
|
+
</CalendarGridRow>
|
|
87
|
+
</CalendarGridHead>
|
|
88
|
+
<CalendarGridBody class="celeste-calendar-body">
|
|
89
|
+
<CalendarGridRow
|
|
90
|
+
v-for="(weekDates, index) in month.rows"
|
|
91
|
+
:key="`week-${index}`"
|
|
92
|
+
class="celeste-calendar-week"
|
|
93
|
+
>
|
|
94
|
+
<CalendarCell
|
|
95
|
+
v-for="weekDate in weekDates"
|
|
96
|
+
:key="weekDate.toString()"
|
|
97
|
+
:date="weekDate"
|
|
98
|
+
class="celeste-calendar-cell"
|
|
94
99
|
>
|
|
95
|
-
<
|
|
96
|
-
|
|
97
|
-
:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
+
<CalendarCellTrigger
|
|
101
|
+
:day="weekDate"
|
|
102
|
+
:month="month.value"
|
|
103
|
+
class="celeste-calendar-day"
|
|
104
|
+
:data-marked="isMarked(weekDate) ? '' : undefined"
|
|
100
105
|
>
|
|
101
|
-
<
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
</CalendarCell>
|
|
110
|
-
</CalendarGridRow>
|
|
111
|
-
</CalendarGridBody>
|
|
112
|
-
</CalendarGrid>
|
|
113
|
-
</div>
|
|
114
|
-
</CalendarRoot>
|
|
115
|
-
</ConfigProvider>
|
|
106
|
+
<span class="celeste-calendar-day-number">{{ weekDate.day }}</span>
|
|
107
|
+
</CalendarCellTrigger>
|
|
108
|
+
</CalendarCell>
|
|
109
|
+
</CalendarGridRow>
|
|
110
|
+
</CalendarGridBody>
|
|
111
|
+
</CalendarGrid>
|
|
112
|
+
</div>
|
|
113
|
+
</CalendarRoot>
|
|
116
114
|
</template>
|
|
117
115
|
|
|
118
116
|
<style scoped lang="scss">
|
|
@@ -8,15 +8,19 @@ const emits = defineEmits<ComboboxRootEmits>();
|
|
|
8
8
|
|
|
9
9
|
const forwarded = useForwardPropsEmits(props, emits);
|
|
10
10
|
|
|
11
|
-
const
|
|
11
|
+
const dir = useDirection(() => props.dir);
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
14
|
<template>
|
|
15
|
-
<
|
|
16
|
-
|
|
15
|
+
<ComboboxRoot
|
|
16
|
+
class="celeste-combobox-root"
|
|
17
|
+
v-bind="forwarded"
|
|
18
|
+
:dir="dir"
|
|
19
|
+
>
|
|
20
|
+
<ConfigProvider :dir="dir">
|
|
17
21
|
<slot />
|
|
18
|
-
</
|
|
19
|
-
</
|
|
22
|
+
</ConfigProvider>
|
|
23
|
+
</ComboboxRoot>
|
|
20
24
|
</template>
|
|
21
25
|
|
|
22
26
|
<style lang="scss" scoped>
|
|
@@ -20,19 +20,20 @@ const delegatedProps = computed(() => {
|
|
|
20
20
|
|
|
21
21
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
22
22
|
|
|
23
|
-
const
|
|
23
|
+
const dir = useDirection(() => props.dir);
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
26
|
<template>
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
<ComboboxRoot
|
|
28
|
+
v-bind="forwarded"
|
|
29
|
+
class="celeste-command-root"
|
|
30
|
+
:class="props.class"
|
|
31
|
+
:dir="dir"
|
|
32
|
+
>
|
|
33
|
+
<ConfigProvider :dir="dir">
|
|
33
34
|
<slot />
|
|
34
|
-
</
|
|
35
|
-
</
|
|
35
|
+
</ConfigProvider>
|
|
36
|
+
</ComboboxRoot>
|
|
36
37
|
</template>
|
|
37
38
|
|
|
38
39
|
<style>
|
|
@@ -3,7 +3,7 @@ import type { PinInputRootEmits, PinInputRootProps } from 'reka-ui';
|
|
|
3
3
|
import type { HTMLAttributes } from 'vue';
|
|
4
4
|
import { reactiveOmit } from '@vueuse/core';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import {
|
|
6
|
+
import { PinInputRoot, useForwardPropsEmits } from 'reka-ui';
|
|
7
7
|
import { useDirection } from '@/composables/use-direction';
|
|
8
8
|
|
|
9
9
|
export type PinInputType = 'text' | 'number';
|
|
@@ -21,19 +21,18 @@ const delegatedProps = reactiveOmit(props, 'class', 'hasError');
|
|
|
21
21
|
|
|
22
22
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
23
23
|
|
|
24
|
-
const
|
|
24
|
+
const dir = useDirection(() => props.dir);
|
|
25
25
|
</script>
|
|
26
26
|
|
|
27
27
|
<template>
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
</ConfigProvider>
|
|
28
|
+
<PinInputRoot
|
|
29
|
+
v-bind="forwarded"
|
|
30
|
+
:class="clsx('celeste-digit-input', props.class)"
|
|
31
|
+
:data-error="hasError"
|
|
32
|
+
:dir="dir"
|
|
33
|
+
>
|
|
34
|
+
<slot />
|
|
35
|
+
</PinInputRoot>
|
|
37
36
|
</template>
|
|
38
37
|
|
|
39
38
|
<style scoped lang="scss">
|
|
@@ -12,18 +12,19 @@ const emits = defineEmits<DropdownMenuRootEmits>();
|
|
|
12
12
|
const delegatedProps = useDelegatedProps(props, 'class');
|
|
13
13
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const dir = useDirection(() => props.dir);
|
|
16
16
|
</script>
|
|
17
17
|
|
|
18
18
|
<template>
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
<DropdownMenuRoot
|
|
20
|
+
v-bind="forwarded"
|
|
21
|
+
:class="clsx('celeste-dropdown-menu', props.class)"
|
|
22
|
+
:dir="dir"
|
|
23
|
+
>
|
|
24
|
+
<ConfigProvider :dir="dir">
|
|
24
25
|
<slot />
|
|
25
|
-
</
|
|
26
|
-
</
|
|
26
|
+
</ConfigProvider>
|
|
27
|
+
</DropdownMenuRoot>
|
|
27
28
|
</template>
|
|
28
29
|
|
|
29
30
|
<style lang="scss" scoped>
|
package/src/components/index.ts
CHANGED