@youcan/celeste 0.12.0 → 0.13.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 (76) hide show
  1. package/ai/component-registry.json +2 -2
  2. package/ai/component-registry.md +1 -1
  3. package/ai/icons.md +1 -1
  4. package/ai/tokens.md +1 -1
  5. package/dist/celeste.css +148 -158
  6. package/dist/cjs/chunks/ConfigProvider.cjs +58 -1
  7. package/dist/cjs/chunks/calendar.cjs +73 -67
  8. package/dist/cjs/chunks/combobox-root.cjs +12 -5
  9. package/dist/cjs/chunks/digit-input.cjs +13 -7
  10. package/dist/cjs/chunks/dropdown-menu.cjs +10 -4
  11. package/dist/cjs/chunks/radio-group.cjs +9 -3
  12. package/dist/cjs/chunks/range-calendar.cjs +73 -67
  13. package/dist/cjs/chunks/scroll-area.cjs +18 -12
  14. package/dist/cjs/chunks/scroll-bar.cjs +1 -0
  15. package/dist/cjs/chunks/segmented-control.cjs +23 -17
  16. package/dist/cjs/chunks/select.cjs +9 -3
  17. package/dist/cjs/chunks/slider.cjs +16 -10
  18. package/dist/cjs/chunks/tab-menu-list.cjs +3 -3
  19. package/dist/cjs/chunks/tab-menu.cjs +12 -5
  20. package/dist/cjs/chunks/text-input.cjs +1 -1
  21. package/dist/cjs/command-root.cjs +9 -3
  22. package/dist/cjs/index.cjs +2 -0
  23. package/dist/cjs/use-direction.cjs +31 -0
  24. package/dist/cjs/use-tab-observer.cjs +1 -1
  25. package/dist/components/combobox/combobox-root.d.ts +2 -2
  26. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
  27. package/dist/components/radio-group/radio-group.d.ts +2 -2
  28. package/dist/components/scroll-area/scroll-area.d.ts +2 -2
  29. package/dist/components/segmented-control/segmented-control.d.ts +2 -2
  30. package/dist/components/select/select.d.ts +2 -2
  31. package/dist/components/tab-menu/tab-menu.d.ts +2 -2
  32. package/dist/composables/index.d.ts +1 -0
  33. package/dist/composables/use-direction.d.ts +3 -0
  34. package/dist/es/chunks/ConfigProvider.js +53 -2
  35. package/dist/es/chunks/FocusScope.js +1 -1
  36. package/dist/es/chunks/Teleport.js +1 -1
  37. package/dist/es/chunks/calendar.js +73 -67
  38. package/dist/es/chunks/combobox-root.js +13 -6
  39. package/dist/es/chunks/digit-input.js +14 -8
  40. package/dist/es/chunks/dropdown-menu.js +11 -5
  41. package/dist/es/chunks/radio-group.js +10 -4
  42. package/dist/es/chunks/range-calendar.js +73 -67
  43. package/dist/es/chunks/scroll-area.js +18 -12
  44. package/dist/es/chunks/scroll-bar.js +1 -0
  45. package/dist/es/chunks/segmented-control.js +24 -18
  46. package/dist/es/chunks/select.js +10 -4
  47. package/dist/es/chunks/slider.js +16 -10
  48. package/dist/es/chunks/tab-menu-list.js +3 -3
  49. package/dist/es/chunks/tab-menu.js +13 -6
  50. package/dist/es/chunks/text-input.js +1 -1
  51. package/dist/es/chunks/useDirection.js +1 -1
  52. package/dist/es/chunks/useId.js +1 -1
  53. package/dist/es/chunks/useLocale.js +1 -1
  54. package/dist/es/chunks/useNonce.js +1 -1
  55. package/dist/es/command-root.js +10 -4
  56. package/dist/es/index.js +2 -1
  57. package/dist/es/use-direction.js +30 -0
  58. package/dist/es/use-tab-observer.js +1 -1
  59. package/package.json +3 -3
  60. package/src/components/calendar/calendar.vue +66 -60
  61. package/src/components/combobox/combobox-root.vue +9 -4
  62. package/src/components/command/command-root.vue +13 -8
  63. package/src/components/digit-input/digit-input.vue +13 -8
  64. package/src/components/dropdown-menu/dropdown-menu.vue +12 -7
  65. package/src/components/radio-group/radio-group.vue +12 -7
  66. package/src/components/range-calendar/range-calendar.vue +67 -61
  67. package/src/components/scroll-area/scroll-area.vue +17 -18
  68. package/src/components/segmented-control/segmented-control.vue +28 -23
  69. package/src/components/select/select.vue +12 -7
  70. package/src/components/slider/slider.vue +19 -14
  71. package/src/components/tab-menu/tab-menu-list.vue +8 -8
  72. package/src/components/tab-menu/tab-menu.vue +12 -4
  73. package/src/components/text-input/text-input.vue +11 -29
  74. package/src/composables/index.ts +1 -0
  75. package/src/composables/use-direction.ts +40 -0
  76. package/src/composables/use-tab-observer.ts +1 -2
@@ -2,10 +2,12 @@ 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");
5
6
  const require_useForwardExpose = require("./useForwardExpose.cjs");
6
7
  const require_useNonce = require("./useNonce.cjs");
7
8
  const require_scroll_bar = require("./scroll-bar.cjs");
8
9
  const require_use_delegated_props = require("../use-delegated-props.cjs");
10
+ const require_use_direction = require("../use-direction.cjs");
9
11
  let vue = require("vue");
10
12
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/ScrollArea/ScrollAreaCornerImpl.js
11
13
  var ScrollAreaCornerImpl_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -159,25 +161,29 @@ var scroll_area_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0,
159
161
  setup(__props) {
160
162
  const props = __props;
161
163
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
164
+ const direction = require_use_direction.useDirection();
162
165
  return (_ctx, _cache) => {
163
- return (0, vue.openBlock)(), (0, vue.createBlock)((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) }), {
164
- default: (0, vue.withCtx)(() => [
165
- (0, vue.createVNode)((0, vue.unref)(ScrollAreaViewport_default), { class: "celeste-scroll-area-viewport" }, {
166
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
167
- _: 3
168
- }),
169
- (0, vue.createVNode)(require_scroll_bar.scroll_bar_default),
170
- (0, vue.createVNode)(require_scroll_bar.scroll_bar_default, { orientation: "horizontal" }),
171
- (0, vue.createVNode)((0, vue.unref)(ScrollAreaCorner_default))
172
- ]),
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"])]),
173
179
  _: 3
174
- }, 16, ["class"]);
180
+ }, 8, ["dir"]);
175
181
  };
176
182
  }
177
183
  });
178
184
  //#endregion
179
185
  //#region src/components/scroll-area/scroll-area.vue
180
- 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-af5a144a"]]);
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"]]);
181
187
  //#endregion
182
188
  Object.defineProperty(exports, "scroll_area_default", {
183
189
  enumerable: true,
@@ -9,6 +9,7 @@ const require_useDirection = require("./useDirection.cjs");
9
9
  const require_useForwardExpose = require("./useForwardExpose.cjs");
10
10
  const require_Presence = require("./Presence.cjs");
11
11
  const require_use_delegated_props = require("../use-delegated-props.cjs");
12
+ require("../use-direction.cjs");
12
13
  require("../use-chart-motion.cjs");
13
14
  require("../use-locale.cjs");
14
15
  require("../use-sidebar.cjs");
@@ -1,12 +1,14 @@
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");
3
4
  const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
4
5
  const require_ToggleGroupRoot = require("./ToggleGroupRoot.cjs");
5
6
  const require_use_delegated_props = require("../use-delegated-props.cjs");
7
+ const require_use_direction = require("../use-direction.cjs");
6
8
  const require_use_tab_observer = require("../use-tab-observer.cjs");
7
9
  let vue = require("vue");
8
10
  //#region src/components/segmented-control/segmented-control.vue?vue&type=script&setup=true&lang.ts
9
- var _hoisted_1 = ["data-ready"];
11
+ var _hoisted_1 = ["hidden"];
10
12
  var segmented_control_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
11
13
  __name: "segmented-control",
12
14
  props: {
@@ -35,30 +37,34 @@ var segmented_control_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
35
37
  const emits = __emit;
36
38
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
37
39
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
40
+ const direction = require_use_direction.useDirection();
38
41
  const { listRef, indicator, ready } = require_use_tab_observer.useTabObserver("[data-state=\"on\"]");
39
42
  return (_ctx, _cache) => {
40
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ToggleGroupRoot.ToggleGroupRoot_default), (0, vue.mergeProps)({
41
- ref_key: "listRef",
42
- ref: listRef,
43
- class: (0, vue.unref)(require_clsx.clsx)("celeste-segmented-control", props.class)
44
- }, (0, vue.unref)(forwarded), { type: "single" }), {
45
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true), (0, vue.createElementVNode)("div", {
46
- class: "celeste-segmented-control-indicator",
47
- "data-ready": (0, vue.unref)(ready),
48
- style: (0, vue.normalizeStyle)({
49
- width: `${(0, vue.unref)(indicator).width}px`,
50
- height: `${(0, vue.unref)(indicator).height}px`,
51
- transform: `translate3d(${(0, vue.unref)(indicator).left}px, ${(0, vue.unref)(indicator).top}px, 0)`
52
- })
53
- }, null, 12, _hoisted_1)]),
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"])]),
54
60
  _: 3
55
- }, 16, ["class"]);
61
+ }, 8, ["dir"]);
56
62
  };
57
63
  }
58
64
  });
59
65
  //#endregion
60
66
  //#region src/components/segmented-control/segmented-control.vue
61
- 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-9a13a9a8"]]);
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"]]);
62
68
  //#endregion
63
69
  Object.defineProperty(exports, "segmented_control_default", {
64
70
  enumerable: true,
@@ -1,7 +1,9 @@
1
1
  const require_clsx = require("./clsx.cjs");
2
+ const require_ConfigProvider = require("./ConfigProvider.cjs");
2
3
  const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
3
4
  const require_BubbleSelect = require("./BubbleSelect.cjs");
4
5
  const require_use_delegated_props = require("../use-delegated-props.cjs");
6
+ const require_use_direction = require("../use-direction.cjs");
5
7
  let vue = require("vue");
6
8
  //#endregion
7
9
  //#region src/components/select/select.vue
@@ -34,11 +36,15 @@ var select_default = /* @__PURE__ */ (0, vue.defineComponent)({
34
36
  const emits = __emit;
35
37
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
36
38
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
39
+ const direction = require_use_direction.useDirection();
37
40
  return (_ctx, _cache) => {
38
- return (0, vue.openBlock)(), (0, vue.createBlock)((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) }), {
39
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
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) }), {
43
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
44
+ _: 3
45
+ }, 16, ["class"])]),
40
46
  _: 3
41
- }, 16, ["class"]);
47
+ }, 8, ["dir"]);
42
48
  };
43
49
  }
44
50
  });
@@ -3,6 +3,7 @@ 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");
6
7
  const require_useDirection = require("./useDirection.cjs");
7
8
  const require_useFormControl = require("./useFormControl.cjs");
8
9
  const require_useForwardExpose = require("./useForwardExpose.cjs");
@@ -11,6 +12,7 @@ const require_useSize = require("./useSize.cjs");
11
12
  const require_Collection = require("./Collection.cjs");
12
13
  const require_VisuallyHiddenInput = require("./VisuallyHiddenInput.cjs");
13
14
  const require_use_delegated_props = require("../use-delegated-props.cjs");
15
+ const require_use_direction = require("../use-direction.cjs");
14
16
  let vue = require("vue");
15
17
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Slider/utils.js
16
18
  function getNextSortedValues(prevValues = [], nextValue, atIndex) {
@@ -784,19 +786,23 @@ var slider_default = /* @__PURE__ */ (0, vue.defineComponent)({
784
786
  const emits = __emit;
785
787
  const delegatedProps = require_use_delegated_props.useDelegatedProps(props, "class");
786
788
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
789
+ const direction = require_use_direction.useDirection();
787
790
  return (_ctx, _cache) => {
788
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(SliderRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: (0, vue.unref)(require_clsx.clsx)("celeste-slider", props.class) }), {
789
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderTrack_default), { class: "celeste-slider-track" }, {
790
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(SliderRange_default), { class: "celeste-slider-range" })]),
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))]),
791
802
  _: 1
792
- }), ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.modelValue, (_, key) => {
793
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(SliderThumb_default), {
794
- key,
795
- class: "celeste-slider-thumb"
796
- });
797
- }), 128))]),
803
+ }, 16, ["class"])]),
798
804
  _: 1
799
- }, 16, ["class"]);
805
+ }, 8, ["dir"]);
800
806
  };
801
807
  }
802
808
  });
@@ -62,7 +62,7 @@ var TabsList_default = /* @__PURE__ */ (0, vue.defineComponent)({
62
62
  });
63
63
  //#endregion
64
64
  //#region src/components/tab-menu/tab-menu-list.vue?vue&type=script&setup=true&lang.ts
65
- var _hoisted_1 = ["data-ready"];
65
+ var _hoisted_1 = ["hidden"];
66
66
  var tab_menu_list_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
67
67
  __name: "tab-menu-list",
68
68
  props: {
@@ -112,8 +112,8 @@ var tab_menu_list_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0
112
112
  class: (0, vue.unref)(require_clsx.clsx)("celeste-tab-menu-list", props.class)
113
113
  }), {
114
114
  default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true), (0, vue.createElementVNode)("div", {
115
+ hidden: !(0, vue.unref)(ready),
115
116
  class: "celeste-tab-menu-indicator",
116
- "data-ready": (0, vue.unref)(ready),
117
117
  style: (0, vue.normalizeStyle)({
118
118
  width: `${(0, vue.unref)(indicator).width}px`,
119
119
  transform: `translate3d(${(0, vue.unref)(indicator).left}px, 0, 0)`
@@ -132,7 +132,7 @@ var tab_menu_list_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0
132
132
  });
133
133
  //#endregion
134
134
  //#region src/components/tab-menu/tab-menu-list.vue
135
- var tab_menu_list_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(tab_menu_list_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bf1363bf"]]);
135
+ var tab_menu_list_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(tab_menu_list_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-baf19a75"]]);
136
136
  //#endregion
137
137
  Object.defineProperty(exports, "tab_menu_list_default", {
138
138
  enumerable: true,
@@ -1,6 +1,8 @@
1
1
  const require__plugin_vue_export_helper = require("./_plugin-vue_export-helper.cjs");
2
+ const require_ConfigProvider = require("./ConfigProvider.cjs");
2
3
  const require_useForwardPropsEmits = require("./useForwardPropsEmits.cjs");
3
4
  const require_TabsRoot = require("./TabsRoot.cjs");
5
+ const require_use_direction = require("../use-direction.cjs");
4
6
  let vue = require("vue");
5
7
  //#region src/components/tab-menu/tab-menu.vue?vue&type=script&setup=true&lang.ts
6
8
  var tab_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
@@ -17,18 +19,23 @@ var tab_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue
17
19
  },
18
20
  emits: ["update:modelValue"],
19
21
  setup(__props, { emit: __emit }) {
20
- const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(__props, __emit);
22
+ const props = __props;
23
+ const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(props, __emit);
24
+ const direction = require_use_direction.useDirection();
21
25
  return (_ctx, _cache) => {
22
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_TabsRoot.TabsRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: "celeste-tab-menu-root" }), {
23
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, void 0, true)]),
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)]),
24
31
  _: 3
25
- }, 16);
32
+ }, 8, ["dir"]);
26
33
  };
27
34
  }
28
35
  });
29
36
  //#endregion
30
37
  //#region src/components/tab-menu/tab-menu.vue
31
- 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-bd0a38f2"]]);
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"]]);
32
39
  //#endregion
33
40
  Object.defineProperty(exports, "tab_menu_default", {
34
41
  enumerable: true,
@@ -109,7 +109,7 @@ var text_input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, v
109
109
  });
110
110
  //#endregion
111
111
  //#region src/components/text-input/text-input.vue
112
- var text_input_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(text_input_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-74d9ab66"]]);
112
+ var text_input_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(text_input_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d61fa3e2"]]);
113
113
  //#endregion
114
114
  Object.defineProperty(exports, "text_input_default", {
115
115
  enumerable: true,
@@ -1,5 +1,7 @@
1
1
  const require_ComboboxRoot = require("./chunks/ComboboxRoot.cjs");
2
+ const require_ConfigProvider = require("./chunks/ConfigProvider.cjs");
2
3
  const require_useForwardPropsEmits = require("./chunks/useForwardPropsEmits.cjs");
4
+ const require_use_direction = require("./use-direction.cjs");
3
5
  let vue = require("vue");
4
6
  //#endregion
5
7
  //#region src/components/command/command-root.vue
@@ -49,11 +51,15 @@ var command_root_default = /* @__PURE__ */ (0, vue.defineComponent)({
49
51
  return delegated;
50
52
  });
51
53
  const forwarded = require_useForwardPropsEmits.useForwardPropsEmits(delegatedProps, emits);
54
+ const direction = require_use_direction.useDirection();
52
55
  return (_ctx, _cache) => {
53
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_ComboboxRoot.ComboboxRoot_default), (0, vue.mergeProps)((0, vue.unref)(forwarded), { class: ["celeste-command-root", props.class] }), {
54
- default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
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] }), {
58
+ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
59
+ _: 3
60
+ }, 16, ["class"])]),
55
61
  _: 3
56
- }, 16, ["class"]);
62
+ }, 8, ["dir"]);
57
63
  };
58
64
  }
59
65
  });
@@ -59,6 +59,7 @@ const require_link_button = require("./chunks/link-button.cjs");
59
59
  const require_social_button = require("./chunks/social-button.cjs");
60
60
  const require_color_picker = require("./chunks/color-picker.cjs");
61
61
  const require_use_delegated_props = require("./use-delegated-props.cjs");
62
+ const require_use_direction = require("./use-direction.cjs");
62
63
  const require_bar_chart = require("./chunks/bar-chart.cjs");
63
64
  const require_use_chart_motion = require("./use-chart-motion.cjs");
64
65
  const require_use_locale = require("./use-locale.cjs");
@@ -400,6 +401,7 @@ exports.truncColorValue = require_color.truncColorValue;
400
401
  exports.uid = require_crypto.uid;
401
402
  exports.useChartMotion = require_use_chart_motion.useChartMotion;
402
403
  exports.useDelegatedProps = require_use_delegated_props.useDelegatedProps;
404
+ exports.useDirection = require_use_direction.useDirection;
403
405
  exports.useLocale = require_use_locale.useLocale;
404
406
  exports.useSidebar = require_use_sidebar.useSidebar;
405
407
  exports.useTabObserver = require_use_tab_observer.useTabObserver;
@@ -0,0 +1,31 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let vue = require("vue");
3
+ //#region src/composables/use-direction.ts
4
+ var revision = (0, vue.ref)(0);
5
+ var observer;
6
+ function observeDocument() {
7
+ if (observer || typeof document === "undefined") return;
8
+ observer = new MutationObserver(() => revision.value++);
9
+ observer.observe(document.documentElement, {
10
+ attributeFilter: ["dir"],
11
+ subtree: true
12
+ });
13
+ }
14
+ function documentDirection() {
15
+ return typeof document !== "undefined" && document.documentElement.dir === "rtl" ? "rtl" : "ltr";
16
+ }
17
+ function useDirection() {
18
+ const instance = (0, vue.getCurrentInstance)();
19
+ const direction = (0, vue.ref)(documentDirection());
20
+ observeDocument();
21
+ function read() {
22
+ const node = instance?.vnode.el;
23
+ const element = node instanceof HTMLElement ? node : node?.parentElement;
24
+ direction.value = element ? getComputedStyle(element).direction === "rtl" ? "rtl" : "ltr" : documentDirection();
25
+ }
26
+ (0, vue.onMounted)(read);
27
+ (0, vue.watch)(revision, read);
28
+ return direction;
29
+ }
30
+ //#endregion
31
+ exports.useDirection = useDirection;
@@ -23,7 +23,7 @@ function useTabObserver(activeSelector) {
23
23
  width: active.offsetWidth,
24
24
  height: active.offsetHeight
25
25
  };
26
- if (!ready.value) requestAnimationFrame(() => requestAnimationFrame(() => ready.value = true));
26
+ ready.value = true;
27
27
  }
28
28
  require_dist.useResizeObserver(listRef, update);
29
29
  require_dist.useMutationObserver(listRef, update, {
@@ -1,8 +1,8 @@
1
1
  import { ComboboxRootProps } from 'reka-ui';
2
2
  type __VLS_Props = ComboboxRootProps;
3
- declare var __VLS_8: {};
3
+ declare var __VLS_14: {};
4
4
  type __VLS_Slots = {} & {
5
- default?: (props: typeof __VLS_8) => any;
5
+ default?: (props: typeof __VLS_14) => any;
6
6
  };
7
7
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
8
  "update:modelValue": (value: import('reka-ui').AcceptableValue) => any;
@@ -3,9 +3,9 @@ import { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = DropdownMenuRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_8: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => 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, {
11
11
  "update:open": (payload: boolean) => any;
@@ -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_8: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => 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, {
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_14: {};
6
+ declare var __VLS_20: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_14) => any;
8
+ default?: (props: typeof __VLS_20) => 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_9: {};
6
+ declare var __VLS_16: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_9) => any;
8
+ default?: (props: typeof __VLS_16) => 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;
@@ -3,9 +3,9 @@ import { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = SelectRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_8: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => 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, {
11
11
  "update:modelValue": (value: 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_8: {};
3
+ declare var __VLS_14: {};
4
4
  type __VLS_Slots = {} & {
5
- default?: (props: typeof __VLS_8) => any;
5
+ default?: (props: typeof __VLS_14) => 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,5 +1,6 @@
1
1
  export * from './use-chart-motion';
2
2
  export * from './use-delegated-props';
3
+ export * from './use-direction';
3
4
  export * from './use-locale';
4
5
  export * from './use-sidebar';
5
6
  export * from './use-tab-observer';
@@ -0,0 +1,3 @@
1
+ import { Direction } from 'reka-ui';
2
+ import { Ref } from 'vue';
3
+ export declare function useDirection(): Ref<Direction>;
@@ -1,6 +1,57 @@
1
1
  import { t as createContext } from "./createContext.js";
2
- import "vue";
2
+ import { defineComponent, renderSlot, toRefs } from "vue";
3
3
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/ConfigProvider/ConfigProvider.js
4
4
  var [injectConfigProviderContext, provideConfigProviderContext] = /*#__PURE__*/ createContext("ConfigProvider");
5
+ var ConfigProvider_default = /* @__PURE__ */ defineComponent({
6
+ inheritAttrs: false,
7
+ __name: "ConfigProvider",
8
+ props: {
9
+ dir: {
10
+ type: String,
11
+ required: false,
12
+ default: "ltr"
13
+ },
14
+ locale: {
15
+ type: String,
16
+ required: false,
17
+ default: "en"
18
+ },
19
+ scrollBody: {
20
+ type: [Boolean, Object],
21
+ required: false,
22
+ default: true
23
+ },
24
+ nonce: {
25
+ type: String,
26
+ required: false,
27
+ default: void 0
28
+ },
29
+ teleportTo: {
30
+ type: null,
31
+ required: false,
32
+ default: void 0
33
+ },
34
+ useId: {
35
+ type: Function,
36
+ required: false,
37
+ default: void 0
38
+ }
39
+ },
40
+ setup(__props) {
41
+ const props = __props;
42
+ const { dir, locale, scrollBody, nonce, teleportTo } = toRefs(props);
43
+ provideConfigProviderContext({
44
+ dir,
45
+ locale,
46
+ scrollBody,
47
+ nonce,
48
+ teleportTo,
49
+ useId: props.useId
50
+ });
51
+ return (_ctx, _cache) => {
52
+ return renderSlot(_ctx.$slots, "default");
53
+ };
54
+ }
55
+ });
5
56
  //#endregion
6
- export { injectConfigProviderContext as t };
57
+ export { injectConfigProviderContext as n, ConfigProvider_default as t };
@@ -2,7 +2,7 @@ import { t as getActiveElement } from "./getActiveElement.js";
2
2
  import { a as isClient, h as tryOnBeforeUnmount, n as createGlobalState, r as createSharedComposable, s as isIOS } from "./dist.js";
3
3
  import { s as useEventListener } from "./dist2.js";
4
4
  import { t as Primitive } from "./Primitive.js";
5
- import { t as injectConfigProviderContext } from "./ConfigProvider.js";
5
+ import { n as injectConfigProviderContext } from "./ConfigProvider.js";
6
6
  import { t as defu } from "./defu.js";
7
7
  import { t as useForwardExpose } from "./useForwardExpose.js";
8
8
  import { computed, createBlock, defineComponent, nextTick, openBlock, reactive, ref, renderSlot, unref, watch, watchEffect, withCtx } from "vue";
@@ -1,5 +1,5 @@
1
1
  import { l as useMounted } from "./dist2.js";
2
- import { t as injectConfigProviderContext } from "./ConfigProvider.js";
2
+ import { n as injectConfigProviderContext } from "./ConfigProvider.js";
3
3
  import { Teleport, computed, createBlock, createCommentVNode, defineComponent, openBlock, renderSlot, unref } from "vue";
4
4
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Teleport/Teleport.js
5
5
  var Teleport_default = /* @__PURE__ */ defineComponent({