@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.
Files changed (65) hide show
  1. package/ai/component-registry.json +49 -2
  2. package/ai/component-registry.md +24 -2
  3. package/ai/icons.md +1 -1
  4. package/ai/tokens.md +1 -1
  5. package/dist/celeste.css +299 -86
  6. package/dist/cjs/chunks/calendar.cjs +71 -72
  7. package/dist/cjs/chunks/combobox-root.cjs +6 -6
  8. package/dist/cjs/chunks/components.cjs +2 -0
  9. package/dist/cjs/chunks/digit-input.cjs +13 -12
  10. package/dist/cjs/chunks/dropdown-menu.cjs +9 -6
  11. package/dist/cjs/chunks/mochi.cjs +168 -0
  12. package/dist/cjs/chunks/radio-group.cjs +4 -8
  13. package/dist/cjs/chunks/range-calendar.cjs +71 -72
  14. package/dist/cjs/chunks/scroll-area.cjs +16 -17
  15. package/dist/cjs/chunks/segmented-control.cjs +20 -21
  16. package/dist/cjs/chunks/select.cjs +8 -5
  17. package/dist/cjs/chunks/slider.cjs +14 -15
  18. package/dist/cjs/chunks/tab-menu.cjs +8 -9
  19. package/dist/cjs/command-root.cjs +8 -5
  20. package/dist/cjs/index.cjs +2 -0
  21. package/dist/cjs/mochi.cjs +2 -0
  22. package/dist/cjs/use-direction.cjs +4 -4
  23. package/dist/components/index.d.ts +1 -0
  24. package/dist/components/mochi/index.d.ts +2 -0
  25. package/dist/components/mochi/mochi.d.ts +22 -0
  26. package/dist/components/radio-group/radio-group.d.ts +2 -2
  27. package/dist/components/scroll-area/scroll-area.d.ts +2 -2
  28. package/dist/components/segmented-control/segmented-control.d.ts +2 -2
  29. package/dist/components/tab-menu/tab-menu.d.ts +2 -2
  30. package/dist/composables/use-direction.d.ts +2 -2
  31. package/dist/es/chunks/calendar.js +71 -72
  32. package/dist/es/chunks/combobox-root.js +6 -6
  33. package/dist/es/chunks/components.js +2 -0
  34. package/dist/es/chunks/digit-input.js +14 -13
  35. package/dist/es/chunks/dropdown-menu.js +9 -6
  36. package/dist/es/chunks/mochi.js +162 -0
  37. package/dist/es/chunks/radio-group.js +5 -9
  38. package/dist/es/chunks/range-calendar.js +71 -72
  39. package/dist/es/chunks/scroll-area.js +16 -17
  40. package/dist/es/chunks/segmented-control.js +21 -22
  41. package/dist/es/chunks/select.js +8 -5
  42. package/dist/es/chunks/slider.js +14 -15
  43. package/dist/es/chunks/tab-menu.js +9 -10
  44. package/dist/es/command-root.js +8 -5
  45. package/dist/es/index.js +2 -1
  46. package/dist/es/mochi.js +2 -0
  47. package/dist/es/use-direction.js +5 -5
  48. package/package.json +3 -3
  49. package/src/components/calendar/calendar.vue +62 -64
  50. package/src/components/combobox/combobox-root.vue +9 -5
  51. package/src/components/command/command-root.vue +10 -9
  52. package/src/components/digit-input/digit-input.vue +10 -11
  53. package/src/components/dropdown-menu/dropdown-menu.vue +9 -8
  54. package/src/components/index.ts +1 -0
  55. package/src/components/mochi/index.ts +2 -0
  56. package/src/components/mochi/mochi.vue +480 -0
  57. package/src/components/mochi/stories/mochi.stories.ts +105 -0
  58. package/src/components/radio-group/radio-group.vue +9 -10
  59. package/src/components/range-calendar/range-calendar.vue +63 -65
  60. package/src/components/scroll-area/scroll-area.vue +14 -15
  61. package/src/components/segmented-control/segmented-control.vue +20 -21
  62. package/src/components/select/select.vue +9 -8
  63. package/src/components/slider/slider.vue +16 -17
  64. package/src/components/tab-menu/tab-menu.vue +9 -10
  65. 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");
@@ -1078,7 +1077,7 @@ var range_calendar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (
1078
1077
  const emits = __emit;
1079
1078
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, ["class", "markedDates"]);
1080
1079
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
1081
- const direction = require_use_direction.useDirection();
1080
+ const dir = require_use_direction.useDirection(() => props.dir);
1082
1081
  const monthFormatter = (0, vue.computed)(() => new require_useCalendar.$12a3c853105e5a70$export$ad991b66133851cf(props.locale ?? "en-US", {
1083
1082
  month: "long",
1084
1083
  year: "numeric"
@@ -1093,89 +1092,89 @@ var range_calendar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (
1093
1092
  return /^[a-z]/i.test(day.trim()) ? day.slice(0, 2) : day;
1094
1093
  }
1095
1094
  return (_ctx, _cache) => {
1096
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
1097
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: (0, vue.unref)(require_clsx.clsx)("celeste-range-calendar", props.class) }), {
1098
- default: (0, vue.withCtx)(({ weekDays, grid }) => [(0, vue.createElementVNode)("div", _hoisted_1, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(grid, (month) => {
1099
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
1100
- key: month.value.toString(),
1101
- class: "celeste-range-calendar-month"
1102
- }, [(0, vue.createElementVNode)("div", _hoisted_2, [
1103
- (0, vue.createVNode)((0, vue.unref)(RangeCalendarPrev_default), { "as-child": "" }, {
1104
- default: (0, vue.withCtx)(() => [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("button", {
1105
- type: "button",
1106
- class: "celeste-range-calendar-nav"
1107
- }, [(0, vue.createElementVNode)("i", { class: "i-celeste-arrow-left-s-line" })], -1)])]),
1108
- _: 1
1109
- }),
1110
- (0, vue.createElementVNode)("span", _hoisted_3, (0, vue.toDisplayString)(formatMonth(month.value)), 1),
1111
- (0, vue.createVNode)((0, vue.unref)(RangeCalendarNext_default), { "as-child": "" }, {
1112
- default: (0, vue.withCtx)(() => [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("button", {
1113
- type: "button",
1114
- class: "celeste-range-calendar-nav"
1115
- }, [(0, vue.createElementVNode)("i", { class: "i-celeste-arrow-right-s-line" })], -1)])]),
1116
- _: 1
1117
- })
1118
- ]), (0, vue.createVNode)((0, vue.unref)(RangeCalendarGrid_default), { class: "celeste-range-calendar-grid" }, {
1119
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarGridHead_default), null, {
1120
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarGridRow_default), { class: "celeste-range-calendar-week" }, {
1121
- default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(weekDays, (day) => {
1122
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarHeadCell_default), {
1123
- key: day,
1124
- class: "celeste-range-calendar-weekday"
1125
- }, {
1126
- default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(weekdayLabel(day)), 1)]),
1127
- _: 2
1128
- }, 1024);
1129
- }), 128))]),
1130
- _: 2
1131
- }, 1024)]),
1132
- _: 2
1133
- }, 1024), (0, vue.createVNode)((0, vue.unref)(RangeCalendarGridBody_default), { class: "celeste-range-calendar-body" }, {
1134
- default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(month.rows, (weekDates, index) => {
1135
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarGridRow_default), {
1136
- key: `week-${index}`,
1137
- class: "celeste-range-calendar-week"
1095
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
1096
+ class: (0, vue.unref)(require_clsx.clsx)("celeste-range-calendar", props.class),
1097
+ dir: (0, vue.unref)(dir)
1098
+ }), {
1099
+ default: (0, vue.withCtx)(({ weekDays, grid }) => [(0, vue.createElementVNode)("div", _hoisted_1, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(grid, (month) => {
1100
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
1101
+ key: month.value.toString(),
1102
+ class: "celeste-range-calendar-month"
1103
+ }, [(0, vue.createElementVNode)("div", _hoisted_2, [
1104
+ (0, vue.createVNode)((0, vue.unref)(RangeCalendarPrev_default), { "as-child": "" }, {
1105
+ default: (0, vue.withCtx)(() => [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("button", {
1106
+ type: "button",
1107
+ class: "celeste-range-calendar-nav"
1108
+ }, [(0, vue.createElementVNode)("i", { class: "i-celeste-arrow-left-s-line" })], -1)])]),
1109
+ _: 1
1110
+ }),
1111
+ (0, vue.createElementVNode)("span", _hoisted_3, (0, vue.toDisplayString)(formatMonth(month.value)), 1),
1112
+ (0, vue.createVNode)((0, vue.unref)(RangeCalendarNext_default), { "as-child": "" }, {
1113
+ default: (0, vue.withCtx)(() => [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("button", {
1114
+ type: "button",
1115
+ class: "celeste-range-calendar-nav"
1116
+ }, [(0, vue.createElementVNode)("i", { class: "i-celeste-arrow-right-s-line" })], -1)])]),
1117
+ _: 1
1118
+ })
1119
+ ]), (0, vue.createVNode)((0, vue.unref)(RangeCalendarGrid_default), { class: "celeste-range-calendar-grid" }, {
1120
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarGridHead_default), null, {
1121
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarGridRow_default), { class: "celeste-range-calendar-week" }, {
1122
+ default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(weekDays, (day) => {
1123
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarHeadCell_default), {
1124
+ key: day,
1125
+ class: "celeste-range-calendar-weekday"
1138
1126
  }, {
1139
- default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(weekDates, (weekDate) => {
1140
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarCell_default), {
1141
- key: weekDate.toString(),
1142
- date: weekDate,
1143
- class: "celeste-range-calendar-cell"
1144
- }, {
1145
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarCellTrigger_default), {
1146
- day: weekDate,
1147
- month: month.value,
1148
- class: "celeste-range-calendar-day",
1149
- "data-marked": isMarked(weekDate) ? "" : void 0
1150
- }, {
1151
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_4, (0, vue.toDisplayString)(weekDate.day), 1)]),
1152
- _: 2
1153
- }, 1032, [
1154
- "day",
1155
- "month",
1156
- "data-marked"
1157
- ])]),
1158
- _: 2
1159
- }, 1032, ["date"]);
1160
- }), 128))]),
1127
+ default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(weekdayLabel(day)), 1)]),
1161
1128
  _: 2
1162
1129
  }, 1024);
1163
1130
  }), 128))]),
1164
1131
  _: 2
1165
1132
  }, 1024)]),
1166
1133
  _: 2
1167
- }, 1024)]);
1168
- }), 128))])]),
1169
- _: 1
1170
- }, 16, ["class"])]),
1134
+ }, 1024), (0, vue.createVNode)((0, vue.unref)(RangeCalendarGridBody_default), { class: "celeste-range-calendar-body" }, {
1135
+ default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(month.rows, (weekDates, index) => {
1136
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarGridRow_default), {
1137
+ key: `week-${index}`,
1138
+ class: "celeste-range-calendar-week"
1139
+ }, {
1140
+ default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(weekDates, (weekDate) => {
1141
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(RangeCalendarCell_default), {
1142
+ key: weekDate.toString(),
1143
+ date: weekDate,
1144
+ class: "celeste-range-calendar-cell"
1145
+ }, {
1146
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(RangeCalendarCellTrigger_default), {
1147
+ day: weekDate,
1148
+ month: month.value,
1149
+ class: "celeste-range-calendar-day",
1150
+ "data-marked": isMarked(weekDate) ? "" : void 0
1151
+ }, {
1152
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_4, (0, vue.toDisplayString)(weekDate.day), 1)]),
1153
+ _: 2
1154
+ }, 1032, [
1155
+ "day",
1156
+ "month",
1157
+ "data-marked"
1158
+ ])]),
1159
+ _: 2
1160
+ }, 1032, ["date"]);
1161
+ }), 128))]),
1162
+ _: 2
1163
+ }, 1024);
1164
+ }), 128))]),
1165
+ _: 2
1166
+ }, 1024)]),
1167
+ _: 2
1168
+ }, 1024)]);
1169
+ }), 128))])]),
1171
1170
  _: 1
1172
- }, 8, ["dir"]);
1171
+ }, 16, ["class", "dir"]);
1173
1172
  };
1174
1173
  }
1175
1174
  });
1176
1175
  //#endregion
1177
1176
  //#region src/components/range-calendar/range-calendar.vue
1178
- var range_calendar_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(range_calendar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-87d63238"]]);
1177
+ var range_calendar_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(range_calendar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ebdaadb8"]]);
1179
1178
  //#endregion
1180
1179
  Object.defineProperty(exports, "range_calendar_default", {
1181
1180
  enumerable: true,
@@ -2,7 +2,6 @@ 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("./dist2.cjs");
4
4
  const require_Primitive = require("./Primitive.cjs");
5
- const require_ConfigProvider = require("./ConfigProvider.cjs");
6
5
  const require_useForwardExpose = require("./useForwardExpose.cjs");
7
6
  const require_useNonce = require("./useNonce.cjs");
8
7
  const require_scroll_bar = require("./scroll-bar.cjs");
@@ -161,29 +160,29 @@ var scroll_area_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
161
160
  setup(__props) {
162
161
  const props = __props;
163
162
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
164
- const direction = require_use_direction.useDirection();
163
+ const dir = require_use_direction.useDirection(() => props.dir);
165
164
  return (_ctx, _cache) => {
166
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
167
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_scroll_bar.ScrollAreaRoot_default), (0, vue.mergeProps)((0, vue.unref)(delegatedProps), { class: (0, vue.unref)(require_clsx.clsx)("celeste-scroll-area", props.class) }), {
168
- default: (0, vue.withCtx)(() => [
169
- (0, vue.createVNode)((0, vue.unref)(ScrollAreaViewport_default), { class: "celeste-scroll-area-viewport" }, {
170
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
171
- _: 3
172
- }),
173
- (0, vue.createVNode)(require_scroll_bar.scroll_bar_default),
174
- (0, vue.createVNode)(require_scroll_bar.scroll_bar_default, { orientation: "horizontal" }),
175
- (0, vue.createVNode)((0, vue.unref)(ScrollAreaCorner_default))
176
- ]),
177
- _: 3
178
- }, 16, ["class"])]),
165
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_scroll_bar.ScrollAreaRoot_default), (0, vue.mergeProps)((0, vue.unref)(delegatedProps), {
166
+ class: (0, vue.unref)(require_clsx.clsx)("celeste-scroll-area", props.class),
167
+ dir: (0, vue.unref)(dir)
168
+ }), {
169
+ default: (0, vue.withCtx)(() => [
170
+ (0, vue.createVNode)((0, vue.unref)(ScrollAreaViewport_default), { class: "celeste-scroll-area-viewport" }, {
171
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
172
+ _: 3
173
+ }),
174
+ (0, vue.createVNode)(require_scroll_bar.scroll_bar_default),
175
+ (0, vue.createVNode)(require_scroll_bar.scroll_bar_default, { orientation: "horizontal" }),
176
+ (0, vue.createVNode)((0, vue.unref)(ScrollAreaCorner_default))
177
+ ]),
179
178
  _: 3
180
- }, 8, ["dir"]);
179
+ }, 16, ["class", "dir"]);
181
180
  };
182
181
  }
183
182
  });
184
183
  //#endregion
185
184
  //#region src/components/scroll-area/scroll-area.vue
186
- var scroll_area_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(scroll_area_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1bb37e0a"]]);
185
+ var scroll_area_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(scroll_area_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0933ded6"]]);
187
186
  //#endregion
188
187
  Object.defineProperty(exports, "scroll_area_default", {
189
188
  enumerable: true,
@@ -1,6 +1,5 @@
1
1
  const require_clsx = require("./clsx.cjs");
2
2
  const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
3
- const require_ConfigProvider = require("./ConfigProvider.cjs");
4
3
  const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
5
4
  const require_ToggleGroupRoot = require("./ToggleGroupRoot.cjs");
6
5
  const require_use_delegated_props = require("../use-delegated-props.cjs");
@@ -37,34 +36,34 @@ var segmented_control_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
37
36
  const emits = __emit;
38
37
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
39
38
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
40
- const direction = require_use_direction.useDirection();
39
+ const dir = require_use_direction.useDirection(() => props.dir);
41
40
  const { listRef, indicator, ready } = require_use_tab_observer.useTabObserver("[data-state=\"on\"]");
42
41
  return (_ctx, _cache) => {
43
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
44
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_ToggleGroupRoot.ToggleGroupRoot_default), (0, vue.mergeProps)({
45
- ref_key: "listRef",
46
- ref: listRef,
47
- class: (0, vue.unref)(require_clsx.clsx)("celeste-segmented-control", props.class)
48
- }, (0, vue.unref)(forwarded), { type: "single" }), {
49
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true), (0, vue.createElementVNode)("div", {
50
- hidden: !(0, vue.unref)(ready),
51
- class: "celeste-segmented-control-indicator",
52
- style: (0, vue.normalizeStyle)({
53
- width: `${(0, vue.unref)(indicator).width}px`,
54
- height: `${(0, vue.unref)(indicator).height}px`,
55
- transform: `translate3d(${(0, vue.unref)(indicator).left}px, ${(0, vue.unref)(indicator).top}px, 0)`
56
- })
57
- }, null, 12, _hoisted_1)]),
58
- _: 3
59
- }, 16, ["class"])]),
42
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ToggleGroupRoot.ToggleGroupRoot_default), (0, vue.mergeProps)({
43
+ ref_key: "listRef",
44
+ ref: listRef,
45
+ class: (0, vue.unref)(require_clsx.clsx)("celeste-segmented-control", props.class)
46
+ }, (0, vue.unref)(forwarded), {
47
+ type: "single",
48
+ dir: (0, vue.unref)(dir)
49
+ }), {
50
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true), (0, vue.createElementVNode)("div", {
51
+ hidden: !(0, vue.unref)(ready),
52
+ class: "celeste-segmented-control-indicator",
53
+ style: (0, vue.normalizeStyle)({
54
+ width: `${(0, vue.unref)(indicator).width}px`,
55
+ height: `${(0, vue.unref)(indicator).height}px`,
56
+ transform: `translate3d(${(0, vue.unref)(indicator).left}px, ${(0, vue.unref)(indicator).top}px, 0)`
57
+ })
58
+ }, null, 12, _hoisted_1)]),
60
59
  _: 3
61
- }, 8, ["dir"]);
60
+ }, 16, ["class", "dir"]);
62
61
  };
63
62
  }
64
63
  });
65
64
  //#endregion
66
65
  //#region src/components/segmented-control/segmented-control.vue
67
- var segmented_control_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(segmented_control_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1b4b28d6"]]);
66
+ var segmented_control_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(segmented_control_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e04f0e52"]]);
68
67
  //#endregion
69
68
  Object.defineProperty(exports, "segmented_control_default", {
70
69
  enumerable: true,
@@ -36,15 +36,18 @@ var select_default = /* @__PURE__ */ (0, vue.defineComponent)({
36
36
  const emits = __emit;
37
37
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
38
38
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
39
- const direction = require_use_direction.useDirection();
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)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
42
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_BubbleSelect.SelectRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: (0, vue.unref)(require_clsx.clsx)("celeste-select", props.class) }), {
41
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_BubbleSelect.SelectRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
42
+ class: (0, vue.unref)(require_clsx.clsx)("celeste-select", props.class),
43
+ dir: (0, vue.unref)(dir)
44
+ }), {
45
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: (0, vue.unref)(dir) }, {
43
46
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
44
47
  _: 3
45
- }, 16, ["class"])]),
48
+ }, 8, ["dir"])]),
46
49
  _: 3
47
- }, 8, ["dir"]);
50
+ }, 16, ["class", "dir"]);
48
51
  };
49
52
  }
50
53
  });
@@ -3,7 +3,6 @@ const require_clamp = require("./clamp.cjs");
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_useDirection = require("./useDirection.cjs");
8
7
  const require_useFormControl = require("./useFormControl.cjs");
9
8
  const require_useForwardExpose = require("./useForwardExpose.cjs");
@@ -786,23 +785,23 @@ var slider_default = /* @__PURE__ */ (0, vue.defineComponent)({
786
785
  const emits = __emit;
787
786
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
788
787
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
789
- const direction = require_use_direction.useDirection();
788
+ const dir = require_use_direction.useDirection(() => props.dir);
790
789
  return (_ctx, _cache) => {
791
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
792
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: (0, vue.unref)(require_clsx.clsx)("celeste-slider", props.class) }), {
793
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderTrack_default), { class: "celeste-slider-track" }, {
794
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderRange_default), { class: "celeste-slider-range" })]),
795
- _: 1
796
- }), ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.modelValue, (_, key) => {
797
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(SliderThumb_default), {
798
- key,
799
- class: "celeste-slider-thumb"
800
- });
801
- }), 128))]),
790
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(SliderRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
791
+ class: (0, vue.unref)(require_clsx.clsx)("celeste-slider", props.class),
792
+ dir: (0, vue.unref)(dir)
793
+ }), {
794
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderTrack_default), { class: "celeste-slider-track" }, {
795
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderRange_default), { class: "celeste-slider-range" })]),
802
796
  _: 1
803
- }, 16, ["class"])]),
797
+ }), ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.modelValue, (_, key) => {
798
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(SliderThumb_default), {
799
+ key,
800
+ class: "celeste-slider-thumb"
801
+ });
802
+ }), 128))]),
804
803
  _: 1
805
- }, 8, ["dir"]);
804
+ }, 16, ["class", "dir"]);
806
805
  };
807
806
  }
808
807
  });
@@ -1,5 +1,4 @@
1
1
  const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
2
- const require_ConfigProvider = require("./ConfigProvider.cjs");
3
2
  const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
4
3
  const require_TabsRoot = require("./TabsRoot.cjs");
5
4
  const require_use_direction = require("../use-direction.cjs");
@@ -21,21 +20,21 @@ var tab_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue
21
20
  setup(__props, { emit: __emit }) {
22
21
  const props = __props;
23
22
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(props, __emit);
24
- const direction = require_use_direction.useDirection();
23
+ const dir = require_use_direction.useDirection(() => props.dir);
25
24
  return (_ctx, _cache) => {
26
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
27
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_TabsRoot.TabsRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: "celeste-tab-menu-root" }), {
28
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
29
- _: 3
30
- }, 16)]),
25
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_TabsRoot.TabsRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
26
+ class: "celeste-tab-menu-root",
27
+ dir: (0, vue.unref)(dir)
28
+ }), {
29
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
31
30
  _: 3
32
- }, 8, ["dir"]);
31
+ }, 16, ["dir"]);
33
32
  };
34
33
  }
35
34
  });
36
35
  //#endregion
37
36
  //#region src/components/tab-menu/tab-menu.vue
38
- var tab_menu_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(tab_menu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d5a36238"]]);
37
+ var tab_menu_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(tab_menu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0965db3b"]]);
39
38
  //#endregion
40
39
  Object.defineProperty(exports, "tab_menu_default", {
41
40
  enumerable: true,
@@ -51,15 +51,18 @@ var command_root_default = /* @__PURE__ */ (0, vue.defineComponent)({
51
51
  return delegated;
52
52
  });
53
53
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
54
- const direction = require_use_direction.useDirection();
54
+ const dir = require_use_direction.useDirection(() => props.dir);
55
55
  return (_ctx, _cache) => {
56
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: props.dir ?? (0, vue.unref)(direction) }, {
57
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_ComboboxRoot.ComboboxRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: ["celeste-command-root", props.class] }), {
56
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ComboboxRoot.ComboboxRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), {
57
+ class: ["celeste-command-root", props.class],
58
+ dir: (0, vue.unref)(dir)
59
+ }), {
60
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(require_ConfigProvider.ConfigProvider_default), { dir: (0, vue.unref)(dir) }, {
58
61
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
59
62
  _: 3
60
- }, 16, ["class"])]),
63
+ }, 8, ["dir"])]),
61
64
  _: 3
62
- }, 8, ["dir"]);
65
+ }, 16, ["class", "dir"]);
63
66
  };
64
67
  }
65
68
  });
@@ -99,6 +99,7 @@ const require_tooltip_provider = require("./chunks/tooltip-provider.cjs");
99
99
  const require_tooltip_root = require("./chunks/tooltip-root.cjs");
100
100
  const require_tooltip = require("./chunks/tooltip.cjs");
101
101
  const require_label = require("./chunks/label2.cjs");
102
+ const require_mochi = require("./chunks/mochi.cjs");
102
103
  const require_modal_body = require("./chunks/modal-body.cjs");
103
104
  const require_modal_close = require("./chunks/modal-close.cjs");
104
105
  const require_modal_content = require("./chunks/modal-content.cjs");
@@ -281,6 +282,7 @@ exports.HintText = require_hint_text.hint_text_default;
281
282
  exports.HueSlider = require_hue_slider.hue_slider_default;
282
283
  exports.Label = require_label.label_default;
283
284
  exports.LinkButton = require_link_button.link_button_default;
285
+ exports.Mochi = require_mochi.mochi_default;
284
286
  exports.Modal = require_modal.modal_default;
285
287
  exports.ModalBody = require_modal_body.modal_body_default;
286
288
  exports.ModalClose = require_modal_close.modal_close_default;
@@ -0,0 +1,2 @@
1
+ const require_mochi = require("./chunks/mochi.cjs");
2
+ module.exports = require_mochi.mochi_default;
@@ -14,18 +14,18 @@ function observeDocument() {
14
14
  function documentDirection() {
15
15
  return typeof document !== "undefined" && document.documentElement.dir === "rtl" ? "rtl" : "ltr";
16
16
  }
17
- function useDirection() {
17
+ function useDirection(override) {
18
18
  const instance = (0, vue.getCurrentInstance)();
19
- const direction = (0, vue.ref)(documentDirection());
19
+ const resolved = (0, vue.ref)(documentDirection());
20
20
  observeDocument();
21
21
  function read() {
22
22
  const node = instance?.vnode.el;
23
23
  const element = node instanceof HTMLElement ? node : node?.parentElement;
24
- direction.value = element ? getComputedStyle(element).direction === "rtl" ? "rtl" : "ltr" : documentDirection();
24
+ resolved.value = element ? getComputedStyle(element).direction === "rtl" ? "rtl" : "ltr" : documentDirection();
25
25
  }
26
26
  (0, vue.onMounted)(read);
27
27
  (0, vue.watch)(revision, read);
28
- return direction;
28
+ return (0, vue.computed)(() => (0, vue.toValue)(override) ?? resolved.value);
29
29
  }
30
30
  //#endregion
31
31
  exports.useDirection = useDirection;
@@ -15,6 +15,7 @@ export * from './dropdown-menu';
15
15
  export * from './file-upload';
16
16
  export * from './hint-text';
17
17
  export * from './label';
18
+ export * from './mochi';
18
19
  export * from './modal';
19
20
  export * from './pagination';
20
21
  export * from './popover';
@@ -0,0 +1,2 @@
1
+ export * from './mochi';
2
+ export { default as Mochi } from './mochi';
@@ -0,0 +1,22 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ type __VLS_Props = {
3
+ class?: HTMLAttributes['class'];
4
+ size?: number;
5
+ animate?: boolean;
6
+ thinking?: boolean;
7
+ };
8
+ type __VLS_ModelProps = {
9
+ 'idle'?: boolean;
10
+ };
11
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:idle": (value: boolean) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
+ "onUpdate:idle"?: ((value: boolean) => any) | undefined;
16
+ }>, {
17
+ size: number;
18
+ animate: boolean;
19
+ thinking: boolean;
20
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: typeof __VLS_export;
22
+ export default _default;
@@ -3,9 +3,9 @@ import { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = RadioGroupRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_14: {};
6
+ declare var __VLS_8: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_14) => any;
8
+ default?: (props: typeof __VLS_8) => any;
9
9
  };
10
10
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
11
  "update:modelValue": (payload: import('reka-ui').AcceptableValue) => any;
@@ -3,9 +3,9 @@ import { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = ScrollAreaRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_20: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_20) => any;
8
+ default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -3,9 +3,9 @@ import { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = Omit<ToggleGroupRootProps, 'type'> & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_16: {};
6
+ declare var __VLS_9: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_16) => any;
8
+ default?: (props: typeof __VLS_9) => any;
9
9
  };
10
10
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
11
  "update:modelValue": (payload: import('reka-ui').AcceptableValue | import('reka-ui').AcceptableValue[]) => any;
@@ -1,8 +1,8 @@
1
1
  import { TabsRootProps } from 'reka-ui';
2
2
  type __VLS_Props = TabsRootProps;
3
- declare var __VLS_14: {};
3
+ declare var __VLS_8: {};
4
4
  type __VLS_Slots = {} & {
5
- default?: (props: typeof __VLS_14) => any;
5
+ default?: (props: typeof __VLS_8) => any;
6
6
  };
7
7
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
8
  "update:modelValue": (payload: import('reka-ui').StringOrNumber) => any;
@@ -1,3 +1,3 @@
1
1
  import { Direction } from 'reka-ui';
2
- import { Ref } from 'vue';
3
- export declare function useDirection(): Ref<Direction>;
2
+ import { ComputedRef, MaybeRefOrGetter } from 'vue';
3
+ export declare function useDirection(override?: MaybeRefOrGetter<Direction | undefined>): ComputedRef<Direction>;