@tb-dev/vue-components 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
2
2
  :root {
3
3
  --background: oklch(100% 0 0);
4
4
  --foreground: oklch(14.1% .005 285.823);
package/dist/index.js CHANGED
@@ -143,7 +143,7 @@ const _sfc_main$3B = /* @__PURE__ */ defineComponent({
143
143
  return (_ctx, _cache) => {
144
144
  return openBlock(), createElementBlock("div", {
145
145
  "data-slot": "alert",
146
- class: normalizeClass(unref(cn)(unref(alertVariants)({ variant: _ctx.variant }), props.class)),
146
+ class: normalizeClass(unref(cn)(unref(alertVariants)({ variant: __props.variant }), props.class)),
147
147
  role: "alert"
148
148
  }, [
149
149
  renderSlot(_ctx.$slots, "default")
@@ -243,10 +243,10 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
243
243
  return (_ctx, _cache) => {
244
244
  return openBlock(), createBlock(unref(Primitive), {
245
245
  "data-slot": "button",
246
- as: _ctx.as,
247
- "as-child": _ctx.asChild,
248
- type: _ctx.type,
249
- class: normalizeClass(unref(cn)(unref(buttonVariants)({ variant: _ctx.variant, size: _ctx.size }), props.class))
246
+ as: __props.as,
247
+ "as-child": __props.asChild,
248
+ type: __props.type,
249
+ class: normalizeClass(unref(cn)(unref(buttonVariants)({ variant: __props.variant, size: __props.size }), props.class))
250
250
  }, {
251
251
  default: withCtx(() => [
252
252
  renderSlot(_ctx.$slots, "default")
@@ -555,7 +555,7 @@ const _sfc_main$3l = /* @__PURE__ */ defineComponent({
555
555
  return (_ctx, _cache) => {
556
556
  return openBlock(), createBlock(unref(Primitive), mergeProps({
557
557
  "data-slot": "badge",
558
- class: unref(cn)(unref(badgeVariants)({ variant: _ctx.variant }), props.class)
558
+ class: unref(cn)(unref(badgeVariants)({ variant: __props.variant }), props.class)
559
559
  }, delegatedProps.value), {
560
560
  default: withCtx(() => [
561
561
  renderSlot(_ctx.$slots, "default")
@@ -1199,6 +1199,7 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
1199
1199
  openOnFocus: { type: Boolean },
1200
1200
  openOnClick: { type: Boolean },
1201
1201
  ignoreFilter: { type: Boolean },
1202
+ resetModelValueOnClear: { type: Boolean },
1202
1203
  modelValue: {},
1203
1204
  defaultValue: {},
1204
1205
  multiple: { type: Boolean },
@@ -1300,12 +1301,12 @@ const _sfc_main$2Z = /* @__PURE__ */ defineComponent({
1300
1301
  class: unref(cn)("text-foreground overflow-hidden p-1", props.class)
1301
1302
  }), {
1302
1303
  default: withCtx(() => [
1303
- _ctx.heading ? (openBlock(), createBlock(unref(ComboboxLabel), {
1304
+ __props.heading ? (openBlock(), createBlock(unref(ComboboxLabel), {
1304
1305
  key: 0,
1305
1306
  class: "text-muted-foreground px-2 py-1.5 text-xs font-medium"
1306
1307
  }, {
1307
1308
  default: withCtx(() => [
1308
- createTextVNode(toDisplayString(_ctx.heading), 1)
1309
+ createTextVNode(toDisplayString(__props.heading), 1)
1309
1310
  ]),
1310
1311
  _: 1
1311
1312
  })) : createCommentVNode("", true),
@@ -1933,13 +1934,13 @@ const _sfc_main$2H = /* @__PURE__ */ defineComponent({
1933
1934
  default: withCtx(() => [
1934
1935
  createVNode(unref(_sfc_main$2J), null, {
1935
1936
  default: withCtx(() => [
1936
- createTextVNode(toDisplayString(_ctx.title), 1)
1937
+ createTextVNode(toDisplayString(__props.title), 1)
1937
1938
  ]),
1938
1939
  _: 1
1939
1940
  }),
1940
1941
  createVNode(unref(_sfc_main$2N), null, {
1941
1942
  default: withCtx(() => [
1942
- createTextVNode(toDisplayString(_ctx.description), 1)
1943
+ createTextVNode(toDisplayString(__props.description), 1)
1943
1944
  ]),
1944
1945
  _: 1
1945
1946
  })
@@ -2019,12 +2020,12 @@ const _sfc_main$2F = /* @__PURE__ */ defineComponent({
2019
2020
  hidden: isRender.value ? void 0 : true
2020
2021
  }), {
2021
2022
  default: withCtx(() => [
2022
- _ctx.heading ? (openBlock(), createBlock(unref(ListboxGroupLabel), {
2023
+ __props.heading ? (openBlock(), createBlock(unref(ListboxGroupLabel), {
2023
2024
  key: 0,
2024
2025
  class: "text-muted-foreground px-2 py-1.5 text-xs font-medium"
2025
2026
  }, {
2026
2027
  default: withCtx(() => [
2027
- createTextVNode(toDisplayString(_ctx.heading), 1)
2028
+ createTextVNode(toDisplayString(__props.heading), 1)
2028
2029
  ]),
2029
2030
  _: 1
2030
2031
  })) : createCommentVNode("", true),
@@ -2378,8 +2379,8 @@ const _sfc_main$2v = /* @__PURE__ */ defineComponent({
2378
2379
  return (_ctx, _cache) => {
2379
2380
  return openBlock(), createBlock(unref(ContextMenuItem), mergeProps({
2380
2381
  "data-slot": "context-menu-item",
2381
- "data-inset": _ctx.inset ? "" : void 0,
2382
- "data-variant": _ctx.variant
2382
+ "data-inset": __props.inset ? "" : void 0,
2383
+ "data-variant": __props.variant
2383
2384
  }, unref(forwarded), {
2384
2385
  class: unref(cn)(
2385
2386
  `focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,
@@ -2412,7 +2413,7 @@ const _sfc_main$2u = /* @__PURE__ */ defineComponent({
2412
2413
  return (_ctx, _cache) => {
2413
2414
  return openBlock(), createBlock(unref(ContextMenuLabel), mergeProps({
2414
2415
  "data-slot": "context-menu-label",
2415
- "data-inset": _ctx.inset ? "" : void 0
2416
+ "data-inset": __props.inset ? "" : void 0
2416
2417
  }, delegatedProps.value, {
2417
2418
  class: unref(cn)("text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", props.class)
2418
2419
  }), {
@@ -2622,7 +2623,7 @@ const _sfc_main$2n = /* @__PURE__ */ defineComponent({
2622
2623
  return (_ctx, _cache) => {
2623
2624
  return openBlock(), createBlock(unref(ContextMenuSubTrigger), mergeProps({
2624
2625
  "data-slot": "context-menu-sub-trigger",
2625
- "data-inset": _ctx.inset ? "" : void 0
2626
+ "data-inset": __props.inset ? "" : void 0
2626
2627
  }, unref(forwardedProps), {
2627
2628
  class: unref(cn)(
2628
2629
  `focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,
@@ -3041,8 +3042,8 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
3041
3042
  return (_ctx, _cache) => {
3042
3043
  return openBlock(), createBlock(unref(DropdownMenuItem), mergeProps({
3043
3044
  "data-slot": "dropdown-menu-item",
3044
- "data-inset": _ctx.inset ? "" : void 0,
3045
- "data-variant": _ctx.variant
3045
+ "data-inset": __props.inset ? "" : void 0,
3046
+ "data-variant": __props.variant
3046
3047
  }, unref(forwardedProps), {
3047
3048
  class: unref(cn)(
3048
3049
  `focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,
@@ -3073,7 +3074,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
3073
3074
  return (_ctx, _cache) => {
3074
3075
  return openBlock(), createBlock(unref(DropdownMenuLabel), mergeProps({
3075
3076
  "data-slot": "dropdown-menu-label",
3076
- "data-inset": _ctx.inset ? "" : void 0
3077
+ "data-inset": __props.inset ? "" : void 0
3077
3078
  }, unref(forwardedProps), {
3078
3079
  class: unref(cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", props.class)
3079
3080
  }), {
@@ -3487,8 +3488,8 @@ const _sfc_main$1V = /* @__PURE__ */ defineComponent({
3487
3488
  return openBlock(), createElementBlock("div", {
3488
3489
  class: normalizeClass(unref(cn)("flex size-full items-center justify-center", props.class))
3489
3490
  }, [
3490
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ?? unref(LoaderCircle)), {
3491
- class: normalizeClass(unref(cn)("loading-icon size-6", _ctx.iconClass))
3491
+ (openBlock(), createBlock(resolveDynamicComponent(__props.icon ?? unref(LoaderCircle)), {
3492
+ class: normalizeClass(unref(cn)("loading-icon size-6", __props.iconClass))
3492
3493
  }, null, 8, ["class"]))
3493
3494
  ], 2);
3494
3495
  };
@@ -3673,8 +3674,8 @@ const _sfc_main$1Q = /* @__PURE__ */ defineComponent({
3673
3674
  return (_ctx, _cache) => {
3674
3675
  return openBlock(), createBlock(unref(MenubarItem), mergeProps({
3675
3676
  "data-slot": "menubar-item",
3676
- "data-inset": _ctx.inset ? "" : void 0,
3677
- "data-variant": _ctx.variant
3677
+ "data-inset": __props.inset ? "" : void 0,
3678
+ "data-variant": __props.variant
3678
3679
  }, unref(forwarded), {
3679
3680
  class: unref(cn)(
3680
3681
  `focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,
@@ -3703,7 +3704,7 @@ const _sfc_main$1P = /* @__PURE__ */ defineComponent({
3703
3704
  const delegatedProps = reactiveOmit(props, "class", "inset");
3704
3705
  return (_ctx, _cache) => {
3705
3706
  return openBlock(), createBlock(unref(MenubarLabel), mergeProps({
3706
- "data-inset": _ctx.inset ? "" : void 0
3707
+ "data-inset": __props.inset ? "" : void 0
3707
3708
  }, unref(delegatedProps), {
3708
3709
  class: unref(cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", props.class)
3709
3710
  }), {
@@ -3935,7 +3936,7 @@ const _sfc_main$1H = /* @__PURE__ */ defineComponent({
3935
3936
  return (_ctx, _cache) => {
3936
3937
  return openBlock(), createBlock(unref(MenubarSubTrigger), mergeProps({
3937
3938
  "data-slot": "menubar-sub-trigger",
3938
- "data-inset": _ctx.inset ? "" : void 0
3939
+ "data-inset": __props.inset ? "" : void 0
3939
3940
  }, unref(forwardedProps), {
3940
3941
  class: unref(cn)(
3941
3942
  "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",
@@ -4037,7 +4038,7 @@ const _sfc_main$1E = /* @__PURE__ */ defineComponent({
4037
4038
  return (_ctx, _cache) => {
4038
4039
  return openBlock(), createBlock(unref(NavigationMenuRoot), mergeProps({
4039
4040
  "data-slot": "navigation-menu",
4040
- "data-viewport": _ctx.viewport
4041
+ "data-viewport": __props.viewport
4041
4042
  }, unref(forwarded), {
4042
4043
  class: unref(cn)(
4043
4044
  "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
@@ -4046,7 +4047,7 @@ const _sfc_main$1E = /* @__PURE__ */ defineComponent({
4046
4047
  }), {
4047
4048
  default: withCtx(() => [
4048
4049
  renderSlot(_ctx.$slots, "default"),
4049
- _ctx.viewport ? (openBlock(), createBlock(_sfc_main$1F, { key: 0 })) : createCommentVNode("", true)
4050
+ __props.viewport ? (openBlock(), createBlock(_sfc_main$1F, { key: 0 })) : createCommentVNode("", true)
4050
4051
  ]),
4051
4052
  _: 3
4052
4053
  }, 16, ["data-viewport", "class"]);
@@ -4477,7 +4478,7 @@ const _sfc_main$1p = /* @__PURE__ */ defineComponent({
4477
4478
  return (_ctx, _cache) => {
4478
4479
  return openBlock(), createBlock(unref(PaginationFirst), mergeProps({
4479
4480
  "data-slot": "pagination-first",
4480
- class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: _ctx.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4481
+ class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: __props.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4481
4482
  }, unref(forwarded)), {
4482
4483
  default: withCtx(() => [
4483
4484
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -4508,8 +4509,8 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
4508
4509
  return openBlock(), createBlock(unref(PaginationListItem), mergeProps({ "data-slot": "pagination-item" }, unref(delegatedProps), {
4509
4510
  class: unref(cn)(
4510
4511
  unref(buttonVariants)({
4511
- variant: _ctx.isActive ? "outline" : "ghost",
4512
- size: _ctx.size
4512
+ variant: __props.isActive ? "outline" : "ghost",
4513
+ size: __props.size
4513
4514
  }),
4514
4515
  props.class
4515
4516
  )
@@ -4538,7 +4539,7 @@ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
4538
4539
  return (_ctx, _cache) => {
4539
4540
  return openBlock(), createBlock(unref(PaginationLast), mergeProps({
4540
4541
  "data-slot": "pagination-last",
4541
- class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: _ctx.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4542
+ class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: __props.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4542
4543
  }, unref(forwarded)), {
4543
4544
  default: withCtx(() => [
4544
4545
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -4567,7 +4568,7 @@ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
4567
4568
  return (_ctx, _cache) => {
4568
4569
  return openBlock(), createBlock(unref(PaginationNext), mergeProps({
4569
4570
  "data-slot": "pagination-next",
4570
- class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: _ctx.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4571
+ class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: __props.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4571
4572
  }, unref(forwarded)), {
4572
4573
  default: withCtx(() => [
4573
4574
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -4596,7 +4597,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
4596
4597
  return (_ctx, _cache) => {
4597
4598
  return openBlock(), createBlock(unref(PaginationPrev), mergeProps({
4598
4599
  "data-slot": "pagination-previous",
4599
- class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: _ctx.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4600
+ class: unref(cn)(unref(buttonVariants)({ variant: "ghost", size: __props.size }), "gap-1 px-2.5 sm:pr-2.5", props.class)
4600
4601
  }, unref(forwarded)), {
4601
4602
  default: withCtx(() => [
4602
4603
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -4969,8 +4970,8 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent({
4969
4970
  return openBlock(), createBlock(unref(ScrollAreaScrollbar), mergeProps({ "data-slot": "scroll-area-scrollbar" }, delegatedProps.value, {
4970
4971
  class: unref(cn)(
4971
4972
  "flex touch-none p-px transition-colors select-none",
4972
- _ctx.orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
4973
- _ctx.orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
4973
+ __props.orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
4974
+ __props.orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
4974
4975
  props.class
4975
4976
  )
4976
4977
  }), {
@@ -5101,7 +5102,7 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
5101
5102
  createVNode(unref(SelectContent), mergeProps({ "data-slot": "select-content" }, { ...unref(forwarded), ..._ctx.$attrs }, {
5102
5103
  class: unref(cn)(
5103
5104
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
5104
- _ctx.position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
5105
+ __props.position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
5105
5106
  props.class
5106
5107
  )
5107
5108
  }), {
@@ -5110,7 +5111,7 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
5110
5111
  createVNode(unref(SelectViewport), {
5111
5112
  class: normalizeClass(unref(cn)(
5112
5113
  "p-1",
5113
- _ctx.position === "popper" && "h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1"
5114
+ __props.position === "popper" && "h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1"
5114
5115
  ))
5115
5116
  }, {
5116
5117
  default: withCtx(() => [
@@ -5334,7 +5335,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
5334
5335
  return (_ctx, _cache) => {
5335
5336
  return openBlock(), createBlock(unref(SelectTrigger), mergeProps({
5336
5337
  "data-slot": "select-trigger",
5337
- "data-size": _ctx.size
5338
+ "data-size": __props.size
5338
5339
  }, unref(forwardedProps), {
5339
5340
  class: unref(cn)(
5340
5341
  `border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,
@@ -5499,10 +5500,10 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
5499
5500
  "data-slot": "sheet-content",
5500
5501
  class: unref(cn)(
5501
5502
  "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
5502
- _ctx.side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
5503
- _ctx.side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
5504
- _ctx.side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
5505
- _ctx.side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
5503
+ __props.side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
5504
+ __props.side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
5505
+ __props.side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
5506
+ __props.side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",
5506
5507
  props.class
5507
5508
  )
5508
5509
  }, { ...unref(forwarded), ..._ctx.$attrs }), {
@@ -5662,7 +5663,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
5662
5663
  const props = __props;
5663
5664
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
5664
5665
  return (_ctx, _cache) => {
5665
- return _ctx.collapsible === "none" ? (openBlock(), createElementBlock("div", mergeProps({
5666
+ return __props.collapsible === "none" ? (openBlock(), createElementBlock("div", mergeProps({
5666
5667
  key: 0,
5667
5668
  "data-slot": "sidebar",
5668
5669
  class: unref(cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", props.class)
@@ -5677,7 +5678,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
5677
5678
  "data-sidebar": "sidebar",
5678
5679
  "data-slot": "sidebar",
5679
5680
  "data-mobile": "true",
5680
- side: _ctx.side,
5681
+ side: __props.side,
5681
5682
  class: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
5682
5683
  style: normalizeStyle({
5683
5684
  "--sidebar-width": unref(SIDEBAR_WIDTH_MOBILE)
@@ -5714,24 +5715,24 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
5714
5715
  class: "group peer text-sidebar-foreground hidden md:block",
5715
5716
  "data-slot": "sidebar",
5716
5717
  "data-state": unref(state),
5717
- "data-collapsible": unref(state) === "collapsed" ? _ctx.collapsible : "",
5718
- "data-variant": _ctx.variant,
5719
- "data-side": _ctx.side
5718
+ "data-collapsible": unref(state) === "collapsed" ? __props.collapsible : "",
5719
+ "data-variant": __props.variant,
5720
+ "data-side": __props.side
5720
5721
  }, [
5721
5722
  createElementVNode("div", {
5722
5723
  class: normalizeClass(unref(cn)(
5723
5724
  "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
5724
5725
  "group-data-[collapsible=offcanvas]:w-0",
5725
5726
  "group-data-[side=right]:rotate-180",
5726
- _ctx.variant === "floating" || _ctx.variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
5727
+ __props.variant === "floating" || __props.variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
5727
5728
  ))
5728
5729
  }, null, 2),
5729
5730
  createElementVNode("div", mergeProps({
5730
5731
  class: unref(cn)(
5731
5732
  "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
5732
- _ctx.side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
5733
+ __props.side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
5733
5734
  // Adjust the padding for floating and inset variants.
5734
- _ctx.variant === "floating" || _ctx.variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
5735
+ __props.variant === "floating" || __props.variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
5735
5736
  props.class
5736
5737
  )
5737
5738
  }, _ctx.$attrs), [
@@ -5817,8 +5818,8 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
5817
5818
  return openBlock(), createBlock(unref(Primitive), {
5818
5819
  "data-slot": "sidebar-group-action",
5819
5820
  "data-sidebar": "group-action",
5820
- as: _ctx.as,
5821
- "as-child": _ctx.asChild,
5821
+ as: __props.as,
5822
+ "as-child": __props.asChild,
5822
5823
  class: normalizeClass(unref(cn)(
5823
5824
  "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
5824
5825
  "after:absolute after:-inset-2 md:after:hidden",
@@ -5867,8 +5868,8 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
5867
5868
  return openBlock(), createBlock(unref(Primitive), {
5868
5869
  "data-slot": "sidebar-group-label",
5869
5870
  "data-sidebar": "group-label",
5870
- as: _ctx.as,
5871
- "as-child": _ctx.asChild,
5871
+ as: __props.as,
5872
+ "as-child": __props.asChild,
5872
5873
  class: normalizeClass(unref(cn)(
5873
5874
  "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
5874
5875
  "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
@@ -5987,11 +5988,11 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5987
5988
  "peer-data-[size=default]/menu-button:top-1.5",
5988
5989
  "peer-data-[size=lg]/menu-button:top-2.5",
5989
5990
  "group-data-[collapsible=icon]:hidden",
5990
- _ctx.showOnHover && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
5991
+ __props.showOnHover && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
5991
5992
  props.class
5992
5993
  )),
5993
- as: _ctx.as,
5994
- "as-child": _ctx.asChild
5994
+ as: __props.as,
5995
+ "as-child": __props.asChild
5995
5996
  }, {
5996
5997
  default: withCtx(() => [
5997
5998
  renderSlot(_ctx.$slots, "default")
@@ -6167,11 +6168,11 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
6167
6168
  return openBlock(), createBlock(unref(Primitive), mergeProps({
6168
6169
  "data-slot": "sidebar-menu-button",
6169
6170
  "data-sidebar": "menu-button",
6170
- "data-size": _ctx.size,
6171
- "data-active": _ctx.isActive,
6172
- class: unref(cn)(unref(sidebarMenuButtonVariants)({ variant: _ctx.variant, size: _ctx.size }), props.class),
6173
- as: _ctx.as,
6174
- "as-child": _ctx.asChild
6171
+ "data-size": __props.size,
6172
+ "data-active": __props.isActive,
6173
+ class: unref(cn)(unref(sidebarMenuButtonVariants)({ variant: __props.variant, size: __props.size }), props.class),
6174
+ as: __props.as,
6175
+ "as-child": __props.asChild
6175
6176
  }, _ctx.$attrs), {
6176
6177
  default: withCtx(() => [
6177
6178
  renderSlot(_ctx.$slots, "default")
@@ -6204,7 +6205,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
6204
6205
  return delegated;
6205
6206
  });
6206
6207
  return (_ctx, _cache) => {
6207
- return !_ctx.tooltip ? (openBlock(), createBlock(_sfc_main$y, normalizeProps(mergeProps({ key: 0 }, { ...delegatedProps.value, ..._ctx.$attrs })), {
6208
+ return !__props.tooltip ? (openBlock(), createBlock(_sfc_main$y, normalizeProps(mergeProps({ key: 0 }, { ...delegatedProps.value, ..._ctx.$attrs })), {
6208
6209
  default: withCtx(() => [
6209
6210
  renderSlot(_ctx.$slots, "default")
6210
6211
  ]),
@@ -6228,9 +6229,9 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
6228
6229
  hidden: unref(state) !== "collapsed" || unref(isMobile)
6229
6230
  }, {
6230
6231
  default: withCtx(() => [
6231
- typeof _ctx.tooltip === "string" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
6232
- createTextVNode(toDisplayString(_ctx.tooltip), 1)
6233
- ], 64)) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.tooltip), { key: 1 }))
6232
+ typeof __props.tooltip === "string" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
6233
+ createTextVNode(toDisplayString(__props.tooltip), 1)
6234
+ ], 64)) : (openBlock(), createBlock(resolveDynamicComponent(__props.tooltip), { key: 1 }))
6234
6235
  ]),
6235
6236
  _: 1
6236
6237
  }, 8, ["hidden"])
@@ -6293,7 +6294,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
6293
6294
  "data-sidebar": "menu-skeleton",
6294
6295
  class: normalizeClass(unref(cn)("flex h-8 items-center gap-2 rounded-md px-2", props.class))
6295
6296
  }, [
6296
- _ctx.showIcon ? (openBlock(), createBlock(unref(_sfc_main$v), {
6297
+ __props.showIcon ? (openBlock(), createBlock(unref(_sfc_main$v), {
6297
6298
  key: 0,
6298
6299
  class: "size-4 rounded-md",
6299
6300
  "data-sidebar": "menu-skeleton-icon"
@@ -6346,15 +6347,15 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6346
6347
  return openBlock(), createBlock(unref(Primitive), {
6347
6348
  "data-slot": "sidebar-menu-sub-button",
6348
6349
  "data-sidebar": "menu-sub-button",
6349
- as: _ctx.as,
6350
- "as-child": _ctx.asChild,
6351
- "data-size": _ctx.size,
6352
- "data-active": _ctx.isActive,
6350
+ as: __props.as,
6351
+ "as-child": __props.asChild,
6352
+ "data-size": __props.size,
6353
+ "data-active": __props.isActive,
6353
6354
  class: normalizeClass(unref(cn)(
6354
6355
  "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
6355
6356
  "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
6356
- _ctx.size === "sm" && "text-xs",
6357
- _ctx.size === "md" && "text-sm",
6357
+ __props.size === "sm" && "text-xs",
6358
+ __props.size === "md" && "text-sm",
6358
6359
  "group-data-[collapsible=icon]:hidden",
6359
6360
  props.class
6360
6361
  ))
@@ -6621,6 +6622,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
6621
6622
  invert: { type: Boolean },
6622
6623
  theme: {},
6623
6624
  position: {},
6625
+ closeButtonPosition: {},
6624
6626
  hotkey: {},
6625
6627
  richColors: { type: Boolean },
6626
6628
  expand: { type: Boolean },
@@ -6720,7 +6722,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6720
6722
  return (_ctx, _cache) => {
6721
6723
  return openBlock(), createElementBlock("div", {
6722
6724
  "data-slot": "table-container",
6723
- style: normalizeStyle([containerHeight.value, containerWidth.value, _ctx.style]),
6725
+ style: normalizeStyle([containerHeight.value, containerWidth.value, __props.style]),
6724
6726
  class: normalizeClass(unref(cn)(
6725
6727
  "relative w-full",
6726
6728
  containerWidth.value ? "overflow-x-auto" : "overflow-x-hidden",
@@ -6730,7 +6732,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6730
6732
  }, [
6731
6733
  createElementVNode("table", {
6732
6734
  "data-slot": "table",
6733
- style: normalizeStyle(_ctx.tableStyle),
6735
+ style: normalizeStyle(__props.tableStyle),
6734
6736
  class: normalizeClass(unref(cn)("w-full caption-bottom text-sm", props.tableClass))
6735
6737
  }, [
6736
6738
  renderSlot(_ctx.$slots, "default")
@@ -7235,7 +7237,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7235
7237
  const forwarded = useForwardPropsEmits(delegatedProps, emits);
7236
7238
  return (_ctx, _cache) => {
7237
7239
  return openBlock(), createBlock(unref(Toggle), mergeProps({ "data-slot": "toggle" }, unref(forwarded), {
7238
- class: unref(cn)(unref(toggleVariants)({ variant: _ctx.variant, size: _ctx.size }), props.class)
7240
+ class: unref(cn)(unref(toggleVariants)({ variant: __props.variant, size: __props.size }), props.class)
7239
7241
  }), {
7240
7242
  default: withCtx(() => [
7241
7243
  renderSlot(_ctx.$slots, "default")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tb-dev/vue-components",
3
- "version": "6.0.1",
3
+ "version": "6.0.3",
4
4
  "description": "Vue components",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,32 +24,32 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "@tanstack/vue-table": "^8.21.3",
27
- "@tb-dev/utils": "^7.0.15",
28
- "@tb-dev/vue": "^3.3.1",
29
- "@vueuse/core": "^13.9.0",
27
+ "@tb-dev/utils": "^7.0.17",
28
+ "@tb-dev/vue": "^3.3.3",
29
+ "@vueuse/core": "^14.0.0",
30
30
  "class-variance-authority": "^0.7.1",
31
31
  "clsx": "^2.1.1",
32
- "lucide-vue-next": "^0.544.0",
33
- "reka-ui": "^2.5.0",
32
+ "lucide-vue-next": "^0.546.0",
33
+ "reka-ui": "^2.6.0",
34
34
  "tailwind-merge": "^3.3.1",
35
- "tw-animate-css": "^1.3.8",
35
+ "tw-animate-css": "^1.4.0",
36
36
  "vaul-vue": "^0.4.1",
37
- "vue": "^3.5.21",
38
- "vue-router": "^4.5.1",
39
- "vue-sonner": "^2.0.8"
37
+ "vue": "^3.5.22",
38
+ "vue-router": "^4.6.3",
39
+ "vue-sonner": "^2.0.9"
40
40
  },
41
41
  "devDependencies": {
42
- "@tailwindcss/vite": "^4.1.13",
43
- "@tb-dev/eslint-config": "^8.0.12",
44
- "@types/node": "^24.5.2",
42
+ "@tailwindcss/vite": "^4.1.16",
43
+ "@tb-dev/eslint-config": "^8.0.14",
44
+ "@types/node": "^24.9.1",
45
45
  "@vitejs/plugin-vue": "^6.0.1",
46
- "eslint": "^9.36.0",
47
- "tailwindcss": "^4.1.13",
46
+ "eslint": "^9.38.0",
47
+ "tailwindcss": "^4.1.16",
48
48
  "tslib": "^2.8.1",
49
- "typescript": "~5.9.2",
50
- "vite": "^7.1.7",
49
+ "typescript": "~5.9.3",
50
+ "vite": "^7.1.12",
51
51
  "vite-plugin-dts": "^4.5.4",
52
- "vue-tsc": "~3.0.8"
52
+ "vue-tsc": "~3.1.1"
53
53
  },
54
54
  "files": [
55
55
  "dist"