@youcan/celeste 0.11.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 (116) hide show
  1. package/ai/component-registry.json +30 -2
  2. package/ai/component-registry.md +5 -1
  3. package/ai/icons.md +1 -1
  4. package/ai/tokens.md +1 -1
  5. package/dist/celeste.css +311 -218
  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/dist2.cjs +6 -0
  11. package/dist/cjs/chunks/dropdown-menu.cjs +10 -4
  12. package/dist/cjs/chunks/fancy-button.cjs +1 -1
  13. package/dist/cjs/chunks/radio-group.cjs +9 -3
  14. package/dist/cjs/chunks/range-calendar.cjs +73 -67
  15. package/dist/cjs/chunks/scroll-area.cjs +18 -12
  16. package/dist/cjs/chunks/scroll-bar.cjs +2 -0
  17. package/dist/cjs/chunks/segmented-control-item.cjs +1 -1
  18. package/dist/cjs/chunks/segmented-control.cjs +25 -4
  19. package/dist/cjs/chunks/select.cjs +9 -3
  20. package/dist/cjs/chunks/slider.cjs +16 -10
  21. package/dist/cjs/chunks/tab-menu-item.cjs +6 -2
  22. package/dist/cjs/chunks/tab-menu-list.cjs +53 -9
  23. package/dist/cjs/chunks/tab-menu.cjs +12 -5
  24. package/dist/cjs/chunks/text-input.cjs +1 -1
  25. package/dist/cjs/command-root.cjs +9 -3
  26. package/dist/cjs/index.cjs +4 -0
  27. package/dist/cjs/use-direction.cjs +31 -0
  28. package/dist/cjs/use-tab-observer.cjs +42 -0
  29. package/dist/components/combobox/combobox-root.d.ts +2 -2
  30. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -2
  31. package/dist/components/radio-group/radio-group.d.ts +2 -2
  32. package/dist/components/scroll-area/scroll-area.d.ts +2 -2
  33. package/dist/components/segmented-control/segmented-control.d.ts +2 -2
  34. package/dist/components/select/select.d.ts +2 -2
  35. package/dist/components/tab-menu/tab-menu-list.d.ts +14 -5
  36. package/dist/components/tab-menu/tab-menu.d.ts +2 -2
  37. package/dist/composables/index.d.ts +2 -0
  38. package/dist/composables/use-direction.d.ts +3 -0
  39. package/dist/composables/use-tab-observer.d.ts +14 -0
  40. package/dist/es/chunks/BubbleSelect.js +1 -1
  41. package/dist/es/chunks/CollapsibleRoot.js +1 -1
  42. package/dist/es/chunks/ComboboxInput.js +1 -1
  43. package/dist/es/chunks/ComboboxRoot.js +1 -1
  44. package/dist/es/chunks/ConfigProvider.js +53 -2
  45. package/dist/es/chunks/DialogRoot.js +1 -1
  46. package/dist/es/chunks/DropdownMenuRoot.js +1 -1
  47. package/dist/es/chunks/FocusScope.js +1 -1
  48. package/dist/es/chunks/MenuRoot.js +1 -1
  49. package/dist/es/chunks/MenuSub.js +1 -1
  50. package/dist/es/chunks/PaginationRoot.js +1 -1
  51. package/dist/es/chunks/PinInputRoot.js +1 -1
  52. package/dist/es/chunks/PopoverRoot.js +1 -1
  53. package/dist/es/chunks/ProgressIndicator.js +1 -1
  54. package/dist/es/chunks/RadioGroupRoot.js +1 -1
  55. package/dist/es/chunks/RovingFocusGroup.js +1 -1
  56. package/dist/es/chunks/SelectItemAlignedPosition.js +1 -1
  57. package/dist/es/chunks/TabsRoot.js +1 -1
  58. package/dist/es/chunks/Teleport.js +1 -1
  59. package/dist/es/chunks/ToggleGroupRoot.js +1 -1
  60. package/dist/es/chunks/TooltipRoot.js +1 -1
  61. package/dist/es/chunks/bar-chart.js +1 -1
  62. package/dist/es/chunks/calendar.js +74 -68
  63. package/dist/es/chunks/checkbox.js +1 -1
  64. package/dist/es/chunks/combobox-root.js +13 -6
  65. package/dist/es/chunks/counter-input.js +1 -1
  66. package/dist/es/chunks/digit-input.js +14 -8
  67. package/dist/es/chunks/dist2.js +1 -1
  68. package/dist/es/chunks/dropdown-menu-sub.js +1 -1
  69. package/dist/es/chunks/dropdown-menu.js +11 -5
  70. package/dist/es/chunks/fancy-button.js +1 -1
  71. package/dist/es/chunks/radio-group-item.js +1 -1
  72. package/dist/es/chunks/radio-group.js +10 -4
  73. package/dist/es/chunks/range-calendar.js +74 -68
  74. package/dist/es/chunks/scroll-area.js +19 -13
  75. package/dist/es/chunks/scroll-bar.js +3 -1
  76. package/dist/es/chunks/segmented-control-item.js +2 -2
  77. package/dist/es/chunks/segmented-control.js +27 -5
  78. package/dist/es/chunks/select.js +10 -4
  79. package/dist/es/chunks/sidebar-provider.js +1 -1
  80. package/dist/es/chunks/slider.js +17 -11
  81. package/dist/es/chunks/switch.js +1 -1
  82. package/dist/es/chunks/tab-menu-item.js +6 -2
  83. package/dist/es/chunks/tab-menu-list.js +56 -10
  84. package/dist/es/chunks/tab-menu.js +13 -6
  85. package/dist/es/chunks/text-input.js +1 -1
  86. package/dist/es/chunks/useDirection.js +1 -1
  87. package/dist/es/chunks/useId.js +1 -1
  88. package/dist/es/chunks/useLocale.js +1 -1
  89. package/dist/es/chunks/useNonce.js +1 -1
  90. package/dist/es/command-root.js +10 -4
  91. package/dist/es/index.js +3 -1
  92. package/dist/es/use-direction.js +30 -0
  93. package/dist/es/use-tab-observer.js +41 -0
  94. package/package.json +3 -3
  95. package/src/components/button/fancy-button.vue +14 -4
  96. package/src/components/calendar/calendar.vue +66 -60
  97. package/src/components/combobox/combobox-root.vue +9 -4
  98. package/src/components/command/command-root.vue +13 -8
  99. package/src/components/digit-input/digit-input.vue +13 -8
  100. package/src/components/dropdown-menu/dropdown-menu.vue +12 -7
  101. package/src/components/radio-group/radio-group.vue +12 -7
  102. package/src/components/range-calendar/range-calendar.vue +67 -61
  103. package/src/components/scroll-area/scroll-area.vue +17 -18
  104. package/src/components/segmented-control/segmented-control-item.vue +3 -3
  105. package/src/components/segmented-control/segmented-control.vue +48 -8
  106. package/src/components/select/select.vue +12 -7
  107. package/src/components/slider/slider.vue +19 -14
  108. package/src/components/switch/switch.vue +19 -18
  109. package/src/components/tab-menu/stories/tab-menu.stories.ts +39 -0
  110. package/src/components/tab-menu/tab-menu-item.vue +27 -28
  111. package/src/components/tab-menu/tab-menu-list.vue +85 -3
  112. package/src/components/tab-menu/tab-menu.vue +12 -4
  113. package/src/components/text-input/text-input.vue +11 -29
  114. package/src/composables/index.ts +2 -0
  115. package/src/composables/use-direction.ts +40 -0
  116. package/src/composables/use-tab-observer.ts +50 -0
@@ -36,6 +36,6 @@ var fancy_button_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
36
36
  ]);
37
37
  };
38
38
  }
39
- }), [["__scopeId", "data-v-970a57eb"]]);
39
+ }), [["__scopeId", "data-v-262bd031"]]);
40
40
  //#endregion
41
41
  export { fancy_button_default as t };
@@ -2,7 +2,7 @@ import { t as clsx } from "./clsx.js";
2
2
  import { t as isEqual } from "./ohash.D__AXeF1.js";
3
3
  import { t as createContext } from "./createContext.js";
4
4
  import { t as handleAndDispatchCustomEvent } from "./handleAndDispatchCustomEvent.js";
5
- import { f as useVModel, s as useEventListener } from "./dist2.js";
5
+ import { p as useVModel, s as useEventListener } from "./dist2.js";
6
6
  import { t as Primitive } from "./Primitive.js";
7
7
  import { t as useFormControl } from "./useFormControl.js";
8
8
  import { t as useForwardExpose } from "./useForwardExpose.js";
@@ -1,8 +1,10 @@
1
1
  import { t as clsx } from "./clsx.js";
2
+ import { t as ConfigProvider_default } from "./ConfigProvider.js";
2
3
  import { t as useForwardPropsEmits } from "./useForwardPropsEmits.js";
3
4
  import { t as RadioGroupRoot_default } from "./RadioGroupRoot.js";
4
5
  import { useDelegatedProps } from "../use-delegated-props.js";
5
- import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
6
+ import { useDirection } from "../use-direction.js";
7
+ import { createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
6
8
  //#endregion
7
9
  //#region src/components/radio-group/radio-group.vue
8
10
  var radio_group_default = /* @__PURE__ */ defineComponent({
@@ -32,11 +34,15 @@ var radio_group_default = /* @__PURE__ */ defineComponent({
32
34
  const emits = __emit;
33
35
  const delegatedProps = useDelegatedProps(props, "class");
34
36
  const forwarded = useForwardPropsEmits(delegatedProps, emits);
37
+ const direction = useDirection();
35
38
  return (_ctx, _cache) => {
36
- return openBlock(), createBlock(unref(RadioGroupRoot_default), mergeProps({ class: unref(clsx)("celeste-radio-wrapper", props.class) }, unref(forwarded)), {
37
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
39
+ return openBlock(), createBlock(unref(ConfigProvider_default), { dir: props.dir ?? unref(direction) }, {
40
+ default: withCtx(() => [createVNode(unref(RadioGroupRoot_default), mergeProps({ class: unref(clsx)("celeste-radio-wrapper", props.class) }, unref(forwarded)), {
41
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
42
+ _: 3
43
+ }, 16, ["class"])]),
38
44
  _: 3
39
- }, 16, ["class"]);
45
+ }, 8, ["dir"]);
40
46
  };
41
47
  }
42
48
  });
@@ -1,8 +1,9 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
3
  import { t as createContext } from "./createContext.js";
4
- import { f as useVModel, s as useEventListener } from "./dist2.js";
4
+ import { p as useVModel, s as useEventListener } from "./dist2.js";
5
5
  import { t as Primitive } from "./Primitive.js";
6
+ import { t as ConfigProvider_default } from "./ConfigProvider.js";
6
7
  import { a as handleCalendarInitialFocus, c as isBefore, d as toDate, f as $12a3c853105e5a70$export$ad991b66133851cf, g as $ad063034c8620db8$export$aa8b41735afcabd2, h as $ad063034c8620db8$export$a18c89cbd24170ff, i as getWeekStartsOn, l as isBetween, m as $ad063034c8620db8$export$91b62ebf2ba703ee, o as areAllDaysBetweenValid, p as $ad063034c8620db8$export$629b0a497aa65267, r as getDaysBetween, s as getDefaultDate, t as useCalendar, u as isBetweenInclusive, v as $ad063034c8620db8$export$ea39ec197993aef0 } from "./useCalendar.js";
7
8
  import { t as useDirection } from "./useDirection.js";
8
9
  import { t as useForwardPropsEmits } from "./useForwardPropsEmits.js";
@@ -10,6 +11,7 @@ import { t as useKbd } from "./useKbd.js";
10
11
  import { t as useLocale } from "./useLocale.js";
11
12
  import { t as usePrimitiveElement } from "./usePrimitiveElement.js";
12
13
  import { useDelegatedProps } from "../use-delegated-props.js";
14
+ import { useDirection as useDirection$1 } from "../use-direction.js";
13
15
  import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, nextTick, normalizeProps, onMounted, openBlock, ref, renderList, renderSlot, toDisplayString, toRefs, unref, watch, withCtx, withKeys } from "vue";
14
16
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/RangeCalendar/useRangeCalendar.js
15
17
  function useRangeCalendarState(props) {
@@ -1078,6 +1080,7 @@ var range_calendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
1078
1080
  const emits = __emit;
1079
1081
  const delegatedProps = useDelegatedProps(props, ["class", "markedDates"]);
1080
1082
  const forwarded = useForwardPropsEmits(delegatedProps, emits);
1083
+ const direction = useDirection$1();
1081
1084
  const monthFormatter = computed(() => new $12a3c853105e5a70$export$ad991b66133851cf(props.locale ?? "en-US", {
1082
1085
  month: "long",
1083
1086
  year: "numeric"
@@ -1092,82 +1095,85 @@ var range_calendar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
1092
1095
  return /^[a-z]/i.test(day.trim()) ? day.slice(0, 2) : day;
1093
1096
  }
1094
1097
  return (_ctx, _cache) => {
1095
- return openBlock(), createBlock(unref(RangeCalendarRoot_default), mergeProps(unref(forwarded), { class: unref(clsx)("celeste-range-calendar", props.class) }), {
1096
- default: withCtx(({ weekDays, grid }) => [createElementVNode("div", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(grid, (month) => {
1097
- return openBlock(), createElementBlock("div", {
1098
- key: month.value.toString(),
1099
- class: "celeste-range-calendar-month"
1100
- }, [createElementVNode("div", _hoisted_2, [
1101
- createVNode(unref(RangeCalendarPrev_default), { "as-child": "" }, {
1102
- default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("button", {
1103
- type: "button",
1104
- class: "celeste-range-calendar-nav"
1105
- }, [createElementVNode("i", { class: "i-celeste-arrow-left-s-line" })], -1)])]),
1106
- _: 1
1107
- }),
1108
- createElementVNode("span", _hoisted_3, toDisplayString(formatMonth(month.value)), 1),
1109
- createVNode(unref(RangeCalendarNext_default), { "as-child": "" }, {
1110
- default: withCtx(() => [..._cache[1] || (_cache[1] = [createElementVNode("button", {
1111
- type: "button",
1112
- class: "celeste-range-calendar-nav"
1113
- }, [createElementVNode("i", { class: "i-celeste-arrow-right-s-line" })], -1)])]),
1114
- _: 1
1115
- })
1116
- ]), createVNode(unref(RangeCalendarGrid_default), { class: "celeste-range-calendar-grid" }, {
1117
- default: withCtx(() => [createVNode(unref(RangeCalendarGridHead_default), null, {
1118
- default: withCtx(() => [createVNode(unref(RangeCalendarGridRow_default), { class: "celeste-range-calendar-week" }, {
1119
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDays, (day) => {
1120
- return openBlock(), createBlock(unref(RangeCalendarHeadCell_default), {
1121
- key: day,
1122
- class: "celeste-range-calendar-weekday"
1098
+ return openBlock(), createBlock(unref(ConfigProvider_default), { dir: props.dir ?? unref(direction) }, {
1099
+ default: withCtx(() => [createVNode(unref(RangeCalendarRoot_default), mergeProps(unref(forwarded), { class: unref(clsx)("celeste-range-calendar", props.class) }), {
1100
+ default: withCtx(({ weekDays, grid }) => [createElementVNode("div", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList(grid, (month) => {
1101
+ return openBlock(), createElementBlock("div", {
1102
+ key: month.value.toString(),
1103
+ class: "celeste-range-calendar-month"
1104
+ }, [createElementVNode("div", _hoisted_2, [
1105
+ createVNode(unref(RangeCalendarPrev_default), { "as-child": "" }, {
1106
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("button", {
1107
+ type: "button",
1108
+ class: "celeste-range-calendar-nav"
1109
+ }, [createElementVNode("i", { class: "i-celeste-arrow-left-s-line" })], -1)])]),
1110
+ _: 1
1111
+ }),
1112
+ createElementVNode("span", _hoisted_3, toDisplayString(formatMonth(month.value)), 1),
1113
+ createVNode(unref(RangeCalendarNext_default), { "as-child": "" }, {
1114
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [createElementVNode("button", {
1115
+ type: "button",
1116
+ class: "celeste-range-calendar-nav"
1117
+ }, [createElementVNode("i", { class: "i-celeste-arrow-right-s-line" })], -1)])]),
1118
+ _: 1
1119
+ })
1120
+ ]), createVNode(unref(RangeCalendarGrid_default), { class: "celeste-range-calendar-grid" }, {
1121
+ default: withCtx(() => [createVNode(unref(RangeCalendarGridHead_default), null, {
1122
+ default: withCtx(() => [createVNode(unref(RangeCalendarGridRow_default), { class: "celeste-range-calendar-week" }, {
1123
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDays, (day) => {
1124
+ return openBlock(), createBlock(unref(RangeCalendarHeadCell_default), {
1125
+ key: day,
1126
+ class: "celeste-range-calendar-weekday"
1127
+ }, {
1128
+ default: withCtx(() => [createTextVNode(toDisplayString(weekdayLabel(day)), 1)]),
1129
+ _: 2
1130
+ }, 1024);
1131
+ }), 128))]),
1132
+ _: 2
1133
+ }, 1024)]),
1134
+ _: 2
1135
+ }, 1024), createVNode(unref(RangeCalendarGridBody_default), { class: "celeste-range-calendar-body" }, {
1136
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(month.rows, (weekDates, index) => {
1137
+ return openBlock(), createBlock(unref(RangeCalendarGridRow_default), {
1138
+ key: `week-${index}`,
1139
+ class: "celeste-range-calendar-week"
1123
1140
  }, {
1124
- default: withCtx(() => [createTextVNode(toDisplayString(weekdayLabel(day)), 1)]),
1141
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDates, (weekDate) => {
1142
+ return openBlock(), createBlock(unref(RangeCalendarCell_default), {
1143
+ key: weekDate.toString(),
1144
+ date: weekDate,
1145
+ class: "celeste-range-calendar-cell"
1146
+ }, {
1147
+ default: withCtx(() => [createVNode(unref(RangeCalendarCellTrigger_default), {
1148
+ day: weekDate,
1149
+ month: month.value,
1150
+ class: "celeste-range-calendar-day",
1151
+ "data-marked": isMarked(weekDate) ? "" : void 0
1152
+ }, {
1153
+ default: withCtx(() => [createElementVNode("span", _hoisted_4, toDisplayString(weekDate.day), 1)]),
1154
+ _: 2
1155
+ }, 1032, [
1156
+ "day",
1157
+ "month",
1158
+ "data-marked"
1159
+ ])]),
1160
+ _: 2
1161
+ }, 1032, ["date"]);
1162
+ }), 128))]),
1125
1163
  _: 2
1126
1164
  }, 1024);
1127
1165
  }), 128))]),
1128
1166
  _: 2
1129
1167
  }, 1024)]),
1130
1168
  _: 2
1131
- }, 1024), createVNode(unref(RangeCalendarGridBody_default), { class: "celeste-range-calendar-body" }, {
1132
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(month.rows, (weekDates, index) => {
1133
- return openBlock(), createBlock(unref(RangeCalendarGridRow_default), {
1134
- key: `week-${index}`,
1135
- class: "celeste-range-calendar-week"
1136
- }, {
1137
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDates, (weekDate) => {
1138
- return openBlock(), createBlock(unref(RangeCalendarCell_default), {
1139
- key: weekDate.toString(),
1140
- date: weekDate,
1141
- class: "celeste-range-calendar-cell"
1142
- }, {
1143
- default: withCtx(() => [createVNode(unref(RangeCalendarCellTrigger_default), {
1144
- day: weekDate,
1145
- month: month.value,
1146
- class: "celeste-range-calendar-day",
1147
- "data-marked": isMarked(weekDate) ? "" : void 0
1148
- }, {
1149
- default: withCtx(() => [createElementVNode("span", _hoisted_4, toDisplayString(weekDate.day), 1)]),
1150
- _: 2
1151
- }, 1032, [
1152
- "day",
1153
- "month",
1154
- "data-marked"
1155
- ])]),
1156
- _: 2
1157
- }, 1032, ["date"]);
1158
- }), 128))]),
1159
- _: 2
1160
- }, 1024);
1161
- }), 128))]),
1162
- _: 2
1163
- }, 1024)]),
1164
- _: 2
1165
- }, 1024)]);
1166
- }), 128))])]),
1169
+ }, 1024)]);
1170
+ }), 128))])]),
1171
+ _: 1
1172
+ }, 16, ["class"])]),
1167
1173
  _: 1
1168
- }, 16, ["class"]);
1174
+ }, 8, ["dir"]);
1169
1175
  };
1170
1176
  }
1171
- }), [["__scopeId", "data-v-dc79fc39"]]);
1177
+ }), [["__scopeId", "data-v-87d63238"]]);
1172
1178
  //#endregion
1173
1179
  export { range_calendar_default as t };
@@ -1,11 +1,13 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
- import { u as useResizeObserver } from "./dist2.js";
3
+ import { d as useResizeObserver } from "./dist2.js";
4
4
  import { t as Primitive } from "./Primitive.js";
5
+ import { t as ConfigProvider_default } from "./ConfigProvider.js";
5
6
  import { t as useForwardExpose } from "./useForwardExpose.js";
6
7
  import { t as useNonce } from "./useNonce.js";
7
8
  import { n as ScrollAreaRoot_default, r as injectScrollAreaRootContext, t as scroll_bar_default } from "./scroll-bar.js";
8
9
  import { useDelegatedProps } from "../use-delegated-props.js";
10
+ import { useDirection } from "../use-direction.js";
9
11
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeStyle, onMounted, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx } from "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__ */ defineComponent({
@@ -159,21 +161,25 @@ var scroll_area_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
159
161
  setup(__props) {
160
162
  const props = __props;
161
163
  const delegatedProps = useDelegatedProps(props, "class");
164
+ const direction = useDirection();
162
165
  return (_ctx, _cache) => {
163
- return openBlock(), createBlock(unref(ScrollAreaRoot_default), mergeProps(unref(delegatedProps), { class: unref(clsx)("celeste-scroll-area", props.class) }), {
164
- default: withCtx(() => [
165
- createVNode(unref(ScrollAreaViewport_default), { class: "celeste-scroll-area-viewport" }, {
166
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
167
- _: 3
168
- }),
169
- createVNode(scroll_bar_default),
170
- createVNode(scroll_bar_default, { orientation: "horizontal" }),
171
- createVNode(unref(ScrollAreaCorner_default))
172
- ]),
166
+ return openBlock(), createBlock(unref(ConfigProvider_default), { dir: props.dir ?? unref(direction) }, {
167
+ default: withCtx(() => [createVNode(unref(ScrollAreaRoot_default), mergeProps(unref(delegatedProps), { class: unref(clsx)("celeste-scroll-area", props.class) }), {
168
+ default: withCtx(() => [
169
+ createVNode(unref(ScrollAreaViewport_default), { class: "celeste-scroll-area-viewport" }, {
170
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
171
+ _: 3
172
+ }),
173
+ createVNode(scroll_bar_default),
174
+ createVNode(scroll_bar_default, { orientation: "horizontal" }),
175
+ createVNode(unref(ScrollAreaCorner_default))
176
+ ]),
177
+ _: 3
178
+ }, 16, ["class"])]),
173
179
  _: 3
174
- }, 16, ["class"]);
180
+ }, 8, ["dir"]);
175
181
  };
176
182
  }
177
- }), [["__scopeId", "data-v-af5a144a"]]);
183
+ }), [["__scopeId", "data-v-1bb37e0a"]]);
178
184
  //#endregion
179
185
  export { scroll_area_default as t };
@@ -3,15 +3,17 @@ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-hel
3
3
  import { t as clamp } from "./clamp.js";
4
4
  import { t as createContext } from "./createContext.js";
5
5
  import { v as useDebounceFn, x as watchOnce } from "./dist.js";
6
- import { u as useResizeObserver } from "./dist2.js";
6
+ import { d as useResizeObserver } from "./dist2.js";
7
7
  import { t as Primitive } from "./Primitive.js";
8
8
  import { t as useDirection } from "./useDirection.js";
9
9
  import { t as useForwardExpose } from "./useForwardExpose.js";
10
10
  import { n as useStateMachine, t as Presence_default } from "./Presence.js";
11
11
  import { useDelegatedProps } from "../use-delegated-props.js";
12
+ import "../use-direction.js";
12
13
  import "../use-chart-motion.js";
13
14
  import "../use-locale.js";
14
15
  import "../use-sidebar.js";
16
+ import "../use-tab-observer.js";
15
17
  import { computed, createBlock, createCommentVNode, createVNode, defineComponent, mergeProps, normalizeStyle, onMounted, onUnmounted, openBlock, ref, renderSlot, toRefs, unref, watch, watchEffect, withCtx } from "vue";
16
18
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/ScrollArea/ScrollAreaRoot.js
17
19
  var [injectScrollAreaRootContext, provideScrollAreaRootContext] = /*#__PURE__*/ createContext("ScrollAreaRoot");
@@ -1,7 +1,7 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
3
  import { t as isValueEqualOrExist } from "./isValueEqualOrExist.js";
4
- import { f as useVModel } from "./dist2.js";
4
+ import { p as useVModel } from "./dist2.js";
5
5
  import { t as Primitive } from "./Primitive.js";
6
6
  import { t as useFormControl } from "./useFormControl.js";
7
7
  import { t as useForwardExpose } from "./useForwardExpose.js";
@@ -195,6 +195,6 @@ var segmented_control_item_default = /*#__PURE__*/ _plugin_vue_export_helper_def
195
195
  }, 16, ["class"]);
196
196
  };
197
197
  }
198
- }), [["__scopeId", "data-v-e184b1ba"]]);
198
+ }), [["__scopeId", "data-v-efe57652"]]);
199
199
  //#endregion
200
200
  export { segmented_control_item_default as t };
@@ -1,9 +1,14 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
3
+ import { t as ConfigProvider_default } from "./ConfigProvider.js";
3
4
  import { t as useForwardPropsEmits } from "./useForwardPropsEmits.js";
4
5
  import { t as ToggleGroupRoot_default } from "./ToggleGroupRoot.js";
5
6
  import { useDelegatedProps } from "../use-delegated-props.js";
6
- import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
7
+ import { useDirection } from "../use-direction.js";
8
+ import { useTabObserver } from "../use-tab-observer.js";
9
+ import { createBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeStyle, openBlock, renderSlot, unref, withCtx } from "vue";
10
+ //#region src/components/segmented-control/segmented-control.vue?vue&type=script&setup=true&lang.ts
11
+ var _hoisted_1 = ["hidden"];
7
12
  //#endregion
8
13
  //#region src/components/segmented-control/segmented-control.vue
9
14
  var segmented_control_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -34,13 +39,30 @@ var segmented_control_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
34
39
  const emits = __emit;
35
40
  const delegatedProps = useDelegatedProps(props, "class");
36
41
  const forwarded = useForwardPropsEmits(delegatedProps, emits);
42
+ const direction = useDirection();
43
+ const { listRef, indicator, ready } = useTabObserver("[data-state=\"on\"]");
37
44
  return (_ctx, _cache) => {
38
- return openBlock(), createBlock(unref(ToggleGroupRoot_default), mergeProps({ class: unref(clsx)("celeste-segmented-control", props.class) }, unref(forwarded), { type: "single" }), {
39
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
45
+ return openBlock(), createBlock(unref(ConfigProvider_default), { dir: props.dir ?? unref(direction) }, {
46
+ default: withCtx(() => [createVNode(unref(ToggleGroupRoot_default), mergeProps({
47
+ ref_key: "listRef",
48
+ ref: listRef,
49
+ class: unref(clsx)("celeste-segmented-control", props.class)
50
+ }, unref(forwarded), { type: "single" }), {
51
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true), createElementVNode("div", {
52
+ hidden: !unref(ready),
53
+ class: "celeste-segmented-control-indicator",
54
+ style: normalizeStyle({
55
+ width: `${unref(indicator).width}px`,
56
+ height: `${unref(indicator).height}px`,
57
+ transform: `translate3d(${unref(indicator).left}px, ${unref(indicator).top}px, 0)`
58
+ })
59
+ }, null, 12, _hoisted_1)]),
60
+ _: 3
61
+ }, 16, ["class"])]),
40
62
  _: 3
41
- }, 16, ["class"]);
63
+ }, 8, ["dir"]);
42
64
  };
43
65
  }
44
- }), [["__scopeId", "data-v-fe40de14"]]);
66
+ }), [["__scopeId", "data-v-1b4b28d6"]]);
45
67
  //#endregion
46
68
  export { segmented_control_default as t };
@@ -1,8 +1,10 @@
1
1
  import { t as clsx } from "./clsx.js";
2
+ import { t as ConfigProvider_default } from "./ConfigProvider.js";
2
3
  import { t as useForwardPropsEmits } from "./useForwardPropsEmits.js";
3
4
  import { t as SelectRoot_default } from "./BubbleSelect.js";
4
5
  import { useDelegatedProps } from "../use-delegated-props.js";
5
- import { createBlock, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
6
+ import { useDirection } from "../use-direction.js";
7
+ import { createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, withCtx } from "vue";
6
8
  //#endregion
7
9
  //#region src/components/select/select.vue
8
10
  var select_default = /* @__PURE__ */ defineComponent({
@@ -34,11 +36,15 @@ var select_default = /* @__PURE__ */ defineComponent({
34
36
  const emits = __emit;
35
37
  const delegatedProps = useDelegatedProps(props, "class");
36
38
  const forwarded = useForwardPropsEmits(delegatedProps, emits);
39
+ const direction = useDirection();
37
40
  return (_ctx, _cache) => {
38
- return openBlock(), createBlock(unref(SelectRoot_default), mergeProps(unref(forwarded), { class: unref(clsx)("celeste-select", props.class) }), {
39
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
41
+ return openBlock(), createBlock(unref(ConfigProvider_default), { dir: props.dir ?? unref(direction) }, {
42
+ default: withCtx(() => [createVNode(unref(SelectRoot_default), mergeProps(unref(forwarded), { class: unref(clsx)("celeste-select", props.class) }), {
43
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
44
+ _: 3
45
+ }, 16, ["class"])]),
40
46
  _: 3
41
- }, 16, ["class"]);
47
+ }, 8, ["dir"]);
42
48
  };
43
49
  }
44
50
  });
@@ -1,5 +1,5 @@
1
1
  import { t as clsx } from "./clsx.js";
2
- import { c as useMediaQuery, f as useVModel, s as useEventListener, t as defaultDocument } from "./dist2.js";
2
+ import { c as useMediaQuery, p as useVModel, s as useEventListener, t as defaultDocument } from "./dist2.js";
3
3
  import { SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, provideSidebarContext } from "../use-sidebar.js";
4
4
  import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, unref } from "vue";
5
5
  //#endregion
@@ -1,8 +1,9 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as clamp } from "./clamp.js";
3
3
  import { t as createContext } from "./createContext.js";
4
- import { f as useVModel, l as useMounted } from "./dist2.js";
4
+ import { l as useMounted, p as useVModel } from "./dist2.js";
5
5
  import { t as Primitive } from "./Primitive.js";
6
+ import { t as ConfigProvider_default } from "./ConfigProvider.js";
6
7
  import { t as useDirection } from "./useDirection.js";
7
8
  import { t as useFormControl } from "./useFormControl.js";
8
9
  import { t as useForwardExpose } from "./useForwardExpose.js";
@@ -11,6 +12,7 @@ import { t as useSize } from "./useSize.js";
11
12
  import { t as useCollection } from "./Collection.js";
12
13
  import { t as VisuallyHiddenInput_default } from "./VisuallyHiddenInput.js";
13
14
  import { useDelegatedProps } from "../use-delegated-props.js";
15
+ import { useDirection as useDirection$1 } from "../use-direction.js";
14
16
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeStyle, onMounted, onUnmounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toRaw, toRefs, unref, withCtx } from "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__ */ defineComponent({
784
786
  const emits = __emit;
785
787
  const delegatedProps = useDelegatedProps(props, "class");
786
788
  const forwarded = useForwardPropsEmits(delegatedProps, emits);
789
+ const direction = useDirection$1();
787
790
  return (_ctx, _cache) => {
788
- return openBlock(), createBlock(unref(SliderRoot_default), mergeProps(unref(forwarded), { class: unref(clsx)("celeste-slider", props.class) }), {
789
- default: withCtx(() => [createVNode(unref(SliderTrack_default), { class: "celeste-slider-track" }, {
790
- default: withCtx(() => [createVNode(unref(SliderRange_default), { class: "celeste-slider-range" })]),
791
+ return openBlock(), createBlock(unref(ConfigProvider_default), { dir: props.dir ?? unref(direction) }, {
792
+ default: withCtx(() => [createVNode(unref(SliderRoot_default), mergeProps(unref(forwarded), { class: unref(clsx)("celeste-slider", props.class) }), {
793
+ default: withCtx(() => [createVNode(unref(SliderTrack_default), { class: "celeste-slider-track" }, {
794
+ default: withCtx(() => [createVNode(unref(SliderRange_default), { class: "celeste-slider-range" })]),
795
+ _: 1
796
+ }), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.modelValue, (_, key) => {
797
+ return openBlock(), createBlock(unref(SliderThumb_default), {
798
+ key,
799
+ class: "celeste-slider-thumb"
800
+ });
801
+ }), 128))]),
791
802
  _: 1
792
- }), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.modelValue, (_, key) => {
793
- return openBlock(), createBlock(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
  });
@@ -1,6 +1,6 @@
1
1
  import { t as clsx } from "./clsx.js";
2
2
  import { t as createContext } from "./createContext.js";
3
- import { f as useVModel } from "./dist2.js";
3
+ import { p as useVModel } from "./dist2.js";
4
4
  import { t as Primitive } from "./Primitive.js";
5
5
  import { t as useFormControl } from "./useFormControl.js";
6
6
  import { t as useForwardExpose } from "./useForwardExpose.js";
@@ -92,6 +92,10 @@ var _hoisted_1 = {
92
92
  key: 0,
93
93
  class: "celeste-tab-menu-item-label"
94
94
  };
95
+ var _hoisted_2 = {
96
+ key: 1,
97
+ class: "celeste-tab-menu-item-postfix"
98
+ };
95
99
  //#endregion
96
100
  //#region src/components/tab-menu/tab-menu-item.vue
97
101
  var tab_menu_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -118,12 +122,12 @@ var tab_menu_item_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
118
122
  default: withCtx(() => [
119
123
  renderSlot(_ctx.$slots, "prefix", {}, void 0, true),
120
124
  _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("", true),
121
- renderSlot(_ctx.$slots, "postfix", {}, void 0, true)
125
+ _ctx.$slots.postfix ? (openBlock(), createElementBlock("span", _hoisted_2, [renderSlot(_ctx.$slots, "postfix", {}, void 0, true)])) : createCommentVNode("", true)
122
126
  ]),
123
127
  _: 3
124
128
  }, 16, ["class"]);
125
129
  };
126
130
  }
127
- }), [["__scopeId", "data-v-3c27e2e4"]]);
131
+ }), [["__scopeId", "data-v-512ad887"]]);
128
132
  //#endregion
129
133
  export { tab_menu_item_default as t };
@@ -5,7 +5,8 @@ import { t as useForwardExpose } from "./useForwardExpose.js";
5
5
  import { t as RovingFocusGroup_default } from "./RovingFocusGroup.js";
6
6
  import { n as injectTabsRootContext } from "./TabsRoot.js";
7
7
  import { useDelegatedProps } from "../use-delegated-props.js";
8
- import { createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, toRefs, unref, withCtx } from "vue";
8
+ import { useTabObserver } from "../use-tab-observer.js";
9
+ import { createBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeStyle, openBlock, renderSlot, toRefs, unref, withCtx } from "vue";
9
10
  //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Tabs/TabsList.js
10
11
  var TabsList_default = /* @__PURE__ */ defineComponent({
11
12
  __name: "TabsList",
@@ -60,31 +61,76 @@ var TabsList_default = /* @__PURE__ */ defineComponent({
60
61
  }
61
62
  });
62
63
  //#endregion
64
+ //#region src/components/tab-menu/tab-menu-list.vue?vue&type=script&setup=true&lang.ts
65
+ var _hoisted_1 = ["hidden"];
66
+ //#endregion
63
67
  //#region src/components/tab-menu/tab-menu-list.vue
64
68
  var tab_menu_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
65
69
  __name: "tab-menu-list",
66
70
  props: {
67
- loop: { type: Boolean },
68
- asChild: { type: Boolean },
69
- as: {},
70
71
  class: { type: [
71
72
  Boolean,
72
73
  null,
73
74
  String,
74
75
  Object,
75
76
  Array
76
- ] }
77
+ ] },
78
+ bordered: {
79
+ type: Boolean,
80
+ default: true
81
+ },
82
+ scrollable: {
83
+ type: Boolean,
84
+ default: false
85
+ },
86
+ fill: {
87
+ type: Boolean,
88
+ default: false
89
+ },
90
+ align: { default: "start" },
91
+ loop: { type: Boolean },
92
+ asChild: { type: Boolean },
93
+ as: {}
77
94
  },
78
95
  setup(__props) {
79
96
  const props = __props;
80
- const delegatedProps = useDelegatedProps(props, "class");
97
+ const delegatedProps = useDelegatedProps(props, [
98
+ "class",
99
+ "bordered",
100
+ "scrollable",
101
+ "fill",
102
+ "align"
103
+ ]);
104
+ const { listRef, indicator, ready } = useTabObserver("[data-state=\"active\"]");
81
105
  return (_ctx, _cache) => {
82
- return openBlock(), createBlock(unref(TabsList_default), mergeProps(unref(delegatedProps), { class: unref(clsx)("celeste-tab-menu-list", props.class) }), {
83
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
106
+ return openBlock(), createBlock(unref(TabsList_default), mergeProps({
107
+ ref_key: "listRef",
108
+ ref: listRef
109
+ }, unref(delegatedProps), {
110
+ "data-bordered": __props.bordered,
111
+ "data-scrollable": __props.scrollable,
112
+ "data-fill": __props.fill,
113
+ "data-align": __props.align,
114
+ class: unref(clsx)("celeste-tab-menu-list", props.class)
115
+ }), {
116
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true), createElementVNode("div", {
117
+ hidden: !unref(ready),
118
+ class: "celeste-tab-menu-indicator",
119
+ style: normalizeStyle({
120
+ width: `${unref(indicator).width}px`,
121
+ transform: `translate3d(${unref(indicator).left}px, 0, 0)`
122
+ })
123
+ }, null, 12, _hoisted_1)]),
84
124
  _: 3
85
- }, 16, ["class"]);
125
+ }, 16, [
126
+ "data-bordered",
127
+ "data-scrollable",
128
+ "data-fill",
129
+ "data-align",
130
+ "class"
131
+ ]);
86
132
  };
87
133
  }
88
- }), [["__scopeId", "data-v-3c860830"]]);
134
+ }), [["__scopeId", "data-v-baf19a75"]]);
89
135
  //#endregion
90
136
  export { tab_menu_list_default as t };