@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
|
@@ -3,7 +3,6 @@ const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.c
|
|
|
3
3
|
const require_createContext = require("./createContext.cjs");
|
|
4
4
|
const require_dist = require("./dist2.cjs");
|
|
5
5
|
const require_Primitive = require("./Primitive.cjs");
|
|
6
|
-
const require_ConfigProvider = require("./ConfigProvider.cjs");
|
|
7
6
|
const require_useCalendar = require("./useCalendar.cjs");
|
|
8
7
|
const require_useDirection = require("./useDirection.cjs");
|
|
9
8
|
const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
|
|
@@ -835,7 +834,7 @@ var calendar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue
|
|
|
835
834
|
const emits = __emit;
|
|
836
835
|
const delegatedProps = require_use_delegated_props.useDelegatedProps(props, ["class", "markedDates"]);
|
|
837
836
|
const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
|
|
838
|
-
const
|
|
837
|
+
const dir = require_use_direction.useDirection(() => props.dir);
|
|
839
838
|
function isMarked(date) {
|
|
840
839
|
return props.markedDates?.some((marked) => require_useCalendar.$ad063034c8620db8$export$91b62ebf2ba703ee(marked, date)) ?? false;
|
|
841
840
|
}
|
|
@@ -843,89 +842,89 @@ var calendar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue
|
|
|
843
842
|
return /^[a-z]/i.test(day.trim()) ? day.slice(0, 2) : day;
|
|
844
843
|
}
|
|
845
844
|
return (_ctx, _cache) => {
|
|
846
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
}),
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
})
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
_: 2
|
|
878
|
-
}, 1024);
|
|
879
|
-
}), 128))]),
|
|
880
|
-
_: 2
|
|
881
|
-
}, 1024)]),
|
|
882
|
-
_: 2
|
|
883
|
-
}, 1024), (0, vue.createVNode)((0, vue.unref)(CalendarGridBody_default), { class: "celeste-calendar-body" }, {
|
|
884
|
-
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(month.rows, (weekDates, index) => {
|
|
885
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarGridRow_default), {
|
|
886
|
-
key: `week-${index}`,
|
|
887
|
-
class: "celeste-calendar-week"
|
|
845
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
|
|
846
|
+
class: (0, vue.unref)(require_clsx.clsx)("celeste-calendar", props.class),
|
|
847
|
+
dir: (0, vue.unref)(dir)
|
|
848
|
+
}), {
|
|
849
|
+
default: (0, vue.withCtx)(({ weekDays, grid }) => [(0, vue.createElementVNode)("div", _hoisted_1, [
|
|
850
|
+
(0, vue.createVNode)((0, vue.unref)(CalendarPrev_default), { "as-child": "" }, {
|
|
851
|
+
default: (0, vue.withCtx)(() => [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("button", {
|
|
852
|
+
type: "button",
|
|
853
|
+
class: "celeste-calendar-nav"
|
|
854
|
+
}, [(0, vue.createElementVNode)("i", { class: "i-celeste-arrow-left-s-line" })], -1)])]),
|
|
855
|
+
_: 1
|
|
856
|
+
}),
|
|
857
|
+
(0, vue.createVNode)((0, vue.unref)(CalendarHeading_default), { class: "celeste-calendar-heading" }),
|
|
858
|
+
(0, vue.createVNode)((0, vue.unref)(CalendarNext_default), { "as-child": "" }, {
|
|
859
|
+
default: (0, vue.withCtx)(() => [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("button", {
|
|
860
|
+
type: "button",
|
|
861
|
+
class: "celeste-calendar-nav"
|
|
862
|
+
}, [(0, vue.createElementVNode)("i", { class: "i-celeste-arrow-right-s-line" })], -1)])]),
|
|
863
|
+
_: 1
|
|
864
|
+
})
|
|
865
|
+
]), (0, vue.createElementVNode)("div", _hoisted_2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(grid, (month) => {
|
|
866
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarGrid_default), {
|
|
867
|
+
key: month.value.toString(),
|
|
868
|
+
class: "celeste-calendar-grid"
|
|
869
|
+
}, {
|
|
870
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(CalendarGridHead_default), null, {
|
|
871
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(CalendarGridRow_default), { class: "celeste-calendar-week" }, {
|
|
872
|
+
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(weekDays, (day) => {
|
|
873
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarHeadCell_default), {
|
|
874
|
+
key: day,
|
|
875
|
+
class: "celeste-calendar-weekday"
|
|
888
876
|
}, {
|
|
889
|
-
default: (0, vue.withCtx)(() => [(
|
|
890
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarCell_default), {
|
|
891
|
-
key: weekDate.toString(),
|
|
892
|
-
date: weekDate,
|
|
893
|
-
class: "celeste-calendar-cell"
|
|
894
|
-
}, {
|
|
895
|
-
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(CalendarCellTrigger_default), {
|
|
896
|
-
day: weekDate,
|
|
897
|
-
month: month.value,
|
|
898
|
-
class: "celeste-calendar-day",
|
|
899
|
-
"data-marked": isMarked(weekDate) ? "" : void 0
|
|
900
|
-
}, {
|
|
901
|
-
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_3, (0, vue.toDisplayString)(weekDate.day), 1)]),
|
|
902
|
-
_: 2
|
|
903
|
-
}, 1032, [
|
|
904
|
-
"day",
|
|
905
|
-
"month",
|
|
906
|
-
"data-marked"
|
|
907
|
-
])]),
|
|
908
|
-
_: 2
|
|
909
|
-
}, 1032, ["date"]);
|
|
910
|
-
}), 128))]),
|
|
877
|
+
default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(weekdayLabel(day)), 1)]),
|
|
911
878
|
_: 2
|
|
912
879
|
}, 1024);
|
|
913
880
|
}), 128))]),
|
|
914
881
|
_: 2
|
|
915
882
|
}, 1024)]),
|
|
916
883
|
_: 2
|
|
917
|
-
}, 1024)
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
884
|
+
}, 1024), (0, vue.createVNode)((0, vue.unref)(CalendarGridBody_default), { class: "celeste-calendar-body" }, {
|
|
885
|
+
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(month.rows, (weekDates, index) => {
|
|
886
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarGridRow_default), {
|
|
887
|
+
key: `week-${index}`,
|
|
888
|
+
class: "celeste-calendar-week"
|
|
889
|
+
}, {
|
|
890
|
+
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(weekDates, (weekDate) => {
|
|
891
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(CalendarCell_default), {
|
|
892
|
+
key: weekDate.toString(),
|
|
893
|
+
date: weekDate,
|
|
894
|
+
class: "celeste-calendar-cell"
|
|
895
|
+
}, {
|
|
896
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(CalendarCellTrigger_default), {
|
|
897
|
+
day: weekDate,
|
|
898
|
+
month: month.value,
|
|
899
|
+
class: "celeste-calendar-day",
|
|
900
|
+
"data-marked": isMarked(weekDate) ? "" : void 0
|
|
901
|
+
}, {
|
|
902
|
+
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_3, (0, vue.toDisplayString)(weekDate.day), 1)]),
|
|
903
|
+
_: 2
|
|
904
|
+
}, 1032, [
|
|
905
|
+
"day",
|
|
906
|
+
"month",
|
|
907
|
+
"data-marked"
|
|
908
|
+
])]),
|
|
909
|
+
_: 2
|
|
910
|
+
}, 1032, ["date"]);
|
|
911
|
+
}), 128))]),
|
|
912
|
+
_: 2
|
|
913
|
+
}, 1024);
|
|
914
|
+
}), 128))]),
|
|
915
|
+
_: 2
|
|
916
|
+
}, 1024)]),
|
|
917
|
+
_: 2
|
|
918
|
+
}, 1024);
|
|
919
|
+
}), 128))])]),
|
|
921
920
|
_: 1
|
|
922
|
-
},
|
|
921
|
+
}, 16, ["class", "dir"]);
|
|
923
922
|
};
|
|
924
923
|
}
|
|
925
924
|
});
|
|
926
925
|
//#endregion
|
|
927
926
|
//#region src/components/calendar/calendar.vue
|
|
928
|
-
var calendar_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(calendar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
927
|
+
var calendar_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(calendar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-8b6a5725"]]);
|
|
929
928
|
//#endregion
|
|
930
929
|
Object.defineProperty(exports, "calendar_default", {
|
|
931
930
|
enumerable: true,
|
|
@@ -36,21 +36,21 @@ var combobox_root_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0
|
|
|
36
36
|
setup(__props, { emit: __emit }) {
|
|
37
37
|
const props = __props;
|
|
38
38
|
const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(props, __emit);
|
|
39
|
-
const
|
|
39
|
+
const dir = require_use_direction.useDirection(() => props.dir);
|
|
40
40
|
return (_ctx, _cache) => {
|
|
41
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(
|
|
42
|
-
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(
|
|
41
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ComboboxRoot.ComboboxRoot_default), (0, vue.mergeProps)({ class: "celeste-combobox-root" }, (0, vue.unref)(forwarded), { dir: (0, vue.unref)(dir) }), {
|
|
42
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: (0, vue.unref)(dir) }, {
|
|
43
43
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
|
|
44
44
|
_: 3
|
|
45
|
-
},
|
|
45
|
+
}, 8, ["dir"])]),
|
|
46
46
|
_: 3
|
|
47
|
-
},
|
|
47
|
+
}, 16, ["dir"]);
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
//#endregion
|
|
52
52
|
//#region src/components/combobox/combobox-root.vue
|
|
53
|
-
var combobox_root_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(combobox_root_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
53
|
+
var combobox_root_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(combobox_root_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bfdab687"]]);
|
|
54
54
|
//#endregion
|
|
55
55
|
Object.defineProperty(exports, "combobox_root_default", {
|
|
56
56
|
enumerable: true,
|
|
@@ -91,6 +91,7 @@ const require_tooltip_provider = require("./tooltip-provider.cjs");
|
|
|
91
91
|
const require_tooltip_root = require("./tooltip-root.cjs");
|
|
92
92
|
const require_tooltip = require("./tooltip.cjs");
|
|
93
93
|
const require_label = require("./label2.cjs");
|
|
94
|
+
const require_mochi = require("./mochi.cjs");
|
|
94
95
|
const require_modal_body = require("./modal-body.cjs");
|
|
95
96
|
const require_modal_close = require("./modal-close.cjs");
|
|
96
97
|
const require_modal_content = require("./modal-content.cjs");
|
|
@@ -222,6 +223,7 @@ var components_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
|
222
223
|
HueSlider: () => require_hue_slider.hue_slider_default,
|
|
223
224
|
Label: () => require_label.label_default,
|
|
224
225
|
LinkButton: () => require_link_button.link_button_default,
|
|
226
|
+
Mochi: () => require_mochi.mochi_default,
|
|
225
227
|
Modal: () => require_modal.modal_default,
|
|
226
228
|
ModalBody: () => require_modal_body.modal_body_default,
|
|
227
229
|
ModalClose: () => require_modal_close.modal_close_default,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const require_clsx = require("./clsx.cjs");
|
|
2
2
|
const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
|
|
3
3
|
const require_dist = require("./dist.cjs");
|
|
4
|
-
const require_ConfigProvider = require("./ConfigProvider.cjs");
|
|
5
4
|
const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
|
|
6
5
|
const require_PinInputRoot = require("./PinInputRoot.cjs");
|
|
7
6
|
const require_use_direction = require("../use-direction.cjs");
|
|
@@ -41,24 +40,26 @@ var digit_input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
|
|
|
41
40
|
const emits = __emit;
|
|
42
41
|
const delegatedProps = require_dist.reactiveOmit(props, "class", "hasError");
|
|
43
42
|
const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
|
|
44
|
-
const
|
|
43
|
+
const dir = require_use_direction.useDirection(() => props.dir);
|
|
45
44
|
return (_ctx, _cache) => {
|
|
46
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
_: 3
|
|
53
|
-
}, 16, ["class", "data-error"])]),
|
|
45
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_PinInputRoot.PinInputRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
|
|
46
|
+
class: (0, vue.unref)(require_clsx.clsx)("celeste-digit-input", props.class),
|
|
47
|
+
"data-error": __props.hasError,
|
|
48
|
+
dir: (0, vue.unref)(dir)
|
|
49
|
+
}), {
|
|
50
|
+
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
|
|
54
51
|
_: 3
|
|
55
|
-
},
|
|
52
|
+
}, 16, [
|
|
53
|
+
"class",
|
|
54
|
+
"data-error",
|
|
55
|
+
"dir"
|
|
56
|
+
]);
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
//#endregion
|
|
60
61
|
//#region src/components/digit-input/digit-input.vue
|
|
61
|
-
var digit_input_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(digit_input_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
62
|
+
var digit_input_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(digit_input_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-12ddf69b"]]);
|
|
62
63
|
//#endregion
|
|
63
64
|
Object.defineProperty(exports, "digit_input_default", {
|
|
64
65
|
enumerable: true,
|
|
@@ -28,21 +28,24 @@ var dropdown_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0
|
|
|
28
28
|
const emits = __emit;
|
|
29
29
|
const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
|
|
30
30
|
const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
|
|
31
|
-
const
|
|
31
|
+
const dir = require_use_direction.useDirection(() => props.dir);
|
|
32
32
|
return (_ctx, _cache) => {
|
|
33
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(
|
|
34
|
-
|
|
33
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_DropdownMenuRoot.DropdownMenuRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
|
|
34
|
+
class: (0, vue.unref)(require_clsx.clsx)("celeste-dropdown-menu", props.class),
|
|
35
|
+
dir: (0, vue.unref)(dir)
|
|
36
|
+
}), {
|
|
37
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: (0, vue.unref)(dir) }, {
|
|
35
38
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
|
|
36
39
|
_: 3
|
|
37
|
-
},
|
|
40
|
+
}, 8, ["dir"])]),
|
|
38
41
|
_: 3
|
|
39
|
-
},
|
|
42
|
+
}, 16, ["class", "dir"]);
|
|
40
43
|
};
|
|
41
44
|
}
|
|
42
45
|
});
|
|
43
46
|
//#endregion
|
|
44
47
|
//#region src/components/dropdown-menu/dropdown-menu.vue
|
|
45
|
-
var dropdown_menu_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(dropdown_menu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
48
|
+
var dropdown_menu_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(dropdown_menu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-154e9b38"]]);
|
|
46
49
|
//#endregion
|
|
47
50
|
Object.defineProperty(exports, "dropdown_menu_default", {
|
|
48
51
|
enumerable: true,
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
const require_clsx = require("./clsx.cjs");
|
|
2
|
+
const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
|
|
3
|
+
let vue = require("vue");
|
|
4
|
+
//#region src/components/mochi/mochi.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = ["data-anim"];
|
|
6
|
+
var DROP_DURATION = 2010;
|
|
7
|
+
var HIDE_DURATION = 420;
|
|
8
|
+
var SETTLE_DURATION = 500;
|
|
9
|
+
var mochi_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
10
|
+
__name: "mochi",
|
|
11
|
+
props: /*@__PURE__*/ (0, vue.mergeModels)({
|
|
12
|
+
class: { type: [
|
|
13
|
+
Boolean,
|
|
14
|
+
null,
|
|
15
|
+
String,
|
|
16
|
+
Object,
|
|
17
|
+
Array
|
|
18
|
+
] },
|
|
19
|
+
size: { default: 40 },
|
|
20
|
+
animate: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
thinking: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: false
|
|
27
|
+
}
|
|
28
|
+
}, {
|
|
29
|
+
"idle": {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
33
|
+
"idleModifiers": {}
|
|
34
|
+
}),
|
|
35
|
+
emits: ["update:idle"],
|
|
36
|
+
setup(__props) {
|
|
37
|
+
(0, vue.useCssVars)((_ctx) => ({
|
|
38
|
+
"v51b30026": sizePx.value,
|
|
39
|
+
"v54792142": rotate.value
|
|
40
|
+
}));
|
|
41
|
+
const props = __props;
|
|
42
|
+
const idle = (0, vue.useModel)(__props, "idle");
|
|
43
|
+
const durations = {
|
|
44
|
+
"blink-twice": 440,
|
|
45
|
+
"blink-once": 160,
|
|
46
|
+
"look-blink-twice": 3e3,
|
|
47
|
+
"look-blink-once": 2800
|
|
48
|
+
};
|
|
49
|
+
const weights = [
|
|
50
|
+
["blink-twice", 35],
|
|
51
|
+
["blink-once", 35],
|
|
52
|
+
["look-blink-twice", 15],
|
|
53
|
+
["look-blink-once", 15]
|
|
54
|
+
];
|
|
55
|
+
const rotation = {
|
|
56
|
+
bottom: "0deg",
|
|
57
|
+
right: "-90deg",
|
|
58
|
+
top: "180deg",
|
|
59
|
+
left: "90deg"
|
|
60
|
+
};
|
|
61
|
+
const order = [
|
|
62
|
+
"bottom",
|
|
63
|
+
"right",
|
|
64
|
+
"top",
|
|
65
|
+
"left"
|
|
66
|
+
];
|
|
67
|
+
const anim = (0, vue.ref)("");
|
|
68
|
+
const peek = (0, vue.ref)("");
|
|
69
|
+
const peekSide = (0, vue.ref)("bottom");
|
|
70
|
+
const sizePx = (0, vue.computed)(() => `${props.size}px`);
|
|
71
|
+
const rotate = (0, vue.computed)(() => rotation[peekSide.value]);
|
|
72
|
+
let retired = false;
|
|
73
|
+
let frame;
|
|
74
|
+
let timer;
|
|
75
|
+
let peekTimer;
|
|
76
|
+
function pick() {
|
|
77
|
+
let r = Math.random() * 100;
|
|
78
|
+
for (const [name, weight] of weights) {
|
|
79
|
+
r -= weight;
|
|
80
|
+
if (r <= 0) return name;
|
|
81
|
+
}
|
|
82
|
+
return "blink-twice";
|
|
83
|
+
}
|
|
84
|
+
function cycle() {
|
|
85
|
+
clearTimeout(timer);
|
|
86
|
+
cancelAnimationFrame(frame ?? 0);
|
|
87
|
+
anim.value = "";
|
|
88
|
+
if (!props.animate || peek.value) return;
|
|
89
|
+
frame = requestAnimationFrame(() => {
|
|
90
|
+
const next = pick();
|
|
91
|
+
anim.value = next;
|
|
92
|
+
timer = setTimeout(cycle, durations[next] + 800 + Math.random() * 1600);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function later(fn, ms) {
|
|
96
|
+
clearTimeout(peekTimer);
|
|
97
|
+
peekTimer = setTimeout(fn, ms);
|
|
98
|
+
}
|
|
99
|
+
function drop() {
|
|
100
|
+
peekSide.value = "bottom";
|
|
101
|
+
peek.value = "drop";
|
|
102
|
+
cycle();
|
|
103
|
+
later(() => {
|
|
104
|
+
peek.value = "out";
|
|
105
|
+
}, DROP_DURATION);
|
|
106
|
+
}
|
|
107
|
+
function settle() {
|
|
108
|
+
peekSide.value = "bottom";
|
|
109
|
+
peek.value = "home";
|
|
110
|
+
later(() => {
|
|
111
|
+
peek.value = "";
|
|
112
|
+
cycle();
|
|
113
|
+
}, SETTLE_DURATION);
|
|
114
|
+
}
|
|
115
|
+
function hop() {
|
|
116
|
+
peek.value = "hidden";
|
|
117
|
+
later(() => {
|
|
118
|
+
const next = order[(order.indexOf(peekSide.value) + 1) % order.length];
|
|
119
|
+
if (next === "bottom") {
|
|
120
|
+
retired = true;
|
|
121
|
+
settle();
|
|
122
|
+
idle.value = false;
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
peekSide.value = next;
|
|
126
|
+
peek.value = "out";
|
|
127
|
+
}, HIDE_DURATION);
|
|
128
|
+
}
|
|
129
|
+
function poke() {
|
|
130
|
+
if (peek.value === "out") hop();
|
|
131
|
+
else if (!peek.value && props.animate && !retired) idle.value = true;
|
|
132
|
+
}
|
|
133
|
+
(0, vue.watch)(() => idle.value && props.animate, (active) => {
|
|
134
|
+
if (active && !retired && !peek.value) drop();
|
|
135
|
+
else if (!active && peek.value && peek.value !== "home") {
|
|
136
|
+
peek.value = "hidden";
|
|
137
|
+
later(settle, HIDE_DURATION);
|
|
138
|
+
}
|
|
139
|
+
}, { immediate: true });
|
|
140
|
+
(0, vue.watch)(() => props.animate, cycle);
|
|
141
|
+
(0, vue.onMounted)(cycle);
|
|
142
|
+
(0, vue.onBeforeUnmount)(() => {
|
|
143
|
+
cancelAnimationFrame(frame ?? 0);
|
|
144
|
+
clearTimeout(timer);
|
|
145
|
+
clearTimeout(peekTimer);
|
|
146
|
+
});
|
|
147
|
+
return (_ctx, _cache) => {
|
|
148
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
149
|
+
class: (0, vue.normalizeClass)((0, vue.unref)(require_clsx.clsx)("celeste-mochi", peek.value && `celeste-mochi-peek-${peek.value}`, props.thinking && "celeste-mochi-thinking", props.class)),
|
|
150
|
+
"data-anim": anim.value || void 0,
|
|
151
|
+
"aria-hidden": "true"
|
|
152
|
+
}, [(0, vue.createElementVNode)("div", { class: "celeste-mochi-stage" }, [(0, vue.createElementVNode)("div", { class: "celeste-mochi-chan" }, [(0, vue.createElementVNode)("div", {
|
|
153
|
+
class: "celeste-mochi-body",
|
|
154
|
+
onClick: poke
|
|
155
|
+
}), _cache[0] || (_cache[0] = (0, vue.createElementVNode)("div", { class: "celeste-mochi-eyes" }, [(0, vue.createElementVNode)("div", { class: "celeste-mochi-eye celeste-mochi-eye-l" }), (0, vue.createElementVNode)("div", { class: "celeste-mochi-eye celeste-mochi-eye-r" })], -1))])])], 10, _hoisted_1);
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region src/components/mochi/mochi.vue
|
|
161
|
+
var mochi_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(mochi_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ce7048d3"]]);
|
|
162
|
+
//#endregion
|
|
163
|
+
Object.defineProperty(exports, "mochi_default", {
|
|
164
|
+
enumerable: true,
|
|
165
|
+
get: function() {
|
|
166
|
+
return mochi_default;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const require_clsx = require("./clsx.cjs");
|
|
2
|
-
const require_ConfigProvider = require("./ConfigProvider.cjs");
|
|
3
2
|
const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
|
|
4
3
|
const require_RadioGroupRoot = require("./RadioGroupRoot.cjs");
|
|
5
4
|
const require_use_delegated_props = require("../use-delegated-props.cjs");
|
|
@@ -34,15 +33,12 @@ var radio_group_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
34
33
|
const emits = __emit;
|
|
35
34
|
const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
|
|
36
35
|
const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
|
|
37
|
-
const
|
|
36
|
+
const dir = require_use_direction.useDirection(() => props.dir);
|
|
38
37
|
return (_ctx, _cache) => {
|
|
39
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(
|
|
40
|
-
default: (0, vue.withCtx)(() => [(0, vue.
|
|
41
|
-
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
|
|
42
|
-
_: 3
|
|
43
|
-
}, 16, ["class"])]),
|
|
38
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_RadioGroupRoot.RadioGroupRoot_default), (0, vue.mergeProps)({ class: (0, vue.unref)(require_clsx.clsx)("celeste-radio-wrapper", props.class) }, (0, vue.unref)(forwarded), { dir: (0, vue.unref)(dir) }), {
|
|
39
|
+
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
|
|
44
40
|
_: 3
|
|
45
|
-
},
|
|
41
|
+
}, 16, ["class", "dir"]);
|
|
46
42
|
};
|
|
47
43
|
}
|
|
48
44
|
});
|