@epicbagel/saas-kit 1.26.0 → 1.28.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.
@@ -1,197 +1,27 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkNQK5ZWC7cjs = require('../chunk-NQK5ZWC7.cjs');
5
-
6
-
7
- var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
8
-
9
- // src/primitives/item.tsx
10
- var _classvarianceauthority = require('class-variance-authority');
11
- var _radixui = require('radix-ui');
12
- var _jsxruntime = require('react/jsx-runtime');
13
- function ItemGroup({ className, ...props }) {
14
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15
- "div",
16
- {
17
- role: "list",
18
- "data-slot": "item-group",
19
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
20
- "group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
21
- className
22
- ),
23
- ...props
24
- }
25
- );
26
- }
27
- function ItemSeparator({
28
- className,
29
- ...props
30
- }) {
31
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32
- _chunkNQK5ZWC7cjs.Separator,
33
- {
34
- "data-slot": "item-separator",
35
- orientation: "horizontal",
36
- className: _chunkKWLSBTB2cjs.cn.call(void 0, "my-2", className),
37
- ...props
38
- }
39
- );
40
- }
41
- var itemVariants = _classvarianceauthority.cva.call(void 0,
42
- "group/item flex w-full flex-wrap items-center rounded-md border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
43
- {
44
- variants: {
45
- variant: {
46
- default: "border-transparent",
47
- outline: "border-border",
48
- muted: "border-transparent bg-muted/50"
49
- },
50
- size: {
51
- default: "gap-3.5 px-4 py-3.5",
52
- sm: "gap-2.5 px-3 py-2.5",
53
- xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0"
54
- }
55
- },
56
- defaultVariants: {
57
- variant: "default",
58
- size: "default"
59
- }
60
- }
61
- );
62
- function Item({
63
- className,
64
- variant = "default",
65
- size = "default",
66
- asChild = false,
67
- ...props
68
- }) {
69
- const Comp = asChild ? _radixui.Slot.Root : "div";
70
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
71
- Comp,
72
- {
73
- "data-slot": "item",
74
- "data-variant": variant,
75
- "data-size": size,
76
- className: _chunkKWLSBTB2cjs.cn.call(void 0, itemVariants({ variant, size, className })),
77
- ...props
78
- }
79
- );
80
- }
81
- var itemMediaVariants = _classvarianceauthority.cva.call(void 0,
82
- "flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
83
- {
84
- variants: {
85
- variant: {
86
- default: "bg-transparent",
87
- icon: "[&_svg:not([class*='size-'])]:size-4",
88
- image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover"
89
- }
90
- },
91
- defaultVariants: {
92
- variant: "default"
93
- }
94
- }
95
- );
96
- function ItemMedia({
97
- className,
98
- variant = "default",
99
- ...props
100
- }) {
101
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
102
- "div",
103
- {
104
- "data-slot": "item-media",
105
- "data-variant": variant,
106
- className: _chunkKWLSBTB2cjs.cn.call(void 0, itemMediaVariants({ variant, className })),
107
- ...props
108
- }
109
- );
110
- }
111
- function ItemContent({ className, ...props }) {
112
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
113
- "div",
114
- {
115
- "data-slot": "item-content",
116
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
117
- "flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
118
- className
119
- ),
120
- ...props
121
- }
122
- );
123
- }
124
- function ItemTitle({ className, ...props }) {
125
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
126
- "div",
127
- {
128
- "data-slot": "item-title",
129
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
130
- "line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
131
- className
132
- ),
133
- ...props
134
- }
135
- );
136
- }
137
- function ItemDescription({ className, ...props }) {
138
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
139
- "p",
140
- {
141
- "data-slot": "item-description",
142
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
143
- "line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
144
- className
145
- ),
146
- ...props
147
- }
148
- );
149
- }
150
- function ItemActions({ className, ...props }) {
151
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
152
- "div",
153
- {
154
- "data-slot": "item-actions",
155
- className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex items-center gap-2", className),
156
- ...props
157
- }
158
- );
159
- }
160
- function ItemHeader({ className, ...props }) {
161
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
162
- "div",
163
- {
164
- "data-slot": "item-header",
165
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
166
- "flex basis-full items-center justify-between gap-2",
167
- className
168
- ),
169
- ...props
170
- }
171
- );
172
- }
173
- function ItemFooter({ className, ...props }) {
174
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
175
- "div",
176
- {
177
- "data-slot": "item-footer",
178
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
179
- "flex basis-full items-center justify-between gap-2",
180
- className
181
- ),
182
- ...props
183
- }
184
- );
185
- }
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
- exports.Item = Item; exports.ItemActions = ItemActions; exports.ItemContent = ItemContent; exports.ItemDescription = ItemDescription; exports.ItemFooter = ItemFooter; exports.ItemGroup = ItemGroup; exports.ItemHeader = ItemHeader; exports.ItemMedia = ItemMedia; exports.ItemSeparator = ItemSeparator; exports.ItemTitle = ItemTitle;
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+ var _chunkDHXKCMKYcjs = require('../chunk-DHXKCMKY.cjs');
14
+ require('../chunk-NQK5ZWC7.cjs');
15
+ require('../chunk-KWLSBTB2.cjs');
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+ exports.Item = _chunkDHXKCMKYcjs.Item; exports.ItemActions = _chunkDHXKCMKYcjs.ItemActions; exports.ItemContent = _chunkDHXKCMKYcjs.ItemContent; exports.ItemDescription = _chunkDHXKCMKYcjs.ItemDescription; exports.ItemFooter = _chunkDHXKCMKYcjs.ItemFooter; exports.ItemGroup = _chunkDHXKCMKYcjs.ItemGroup; exports.ItemHeader = _chunkDHXKCMKYcjs.ItemHeader; exports.ItemMedia = _chunkDHXKCMKYcjs.ItemMedia; exports.ItemSeparator = _chunkDHXKCMKYcjs.ItemSeparator; exports.ItemTitle = _chunkDHXKCMKYcjs.ItemTitle;
@@ -1,188 +1,18 @@
1
1
  "use client";
2
2
  import {
3
- Separator
4
- } from "../chunk-HYTILYE5.js";
5
- import {
6
- cn
7
- } from "../chunk-G6SRSWXB.js";
8
-
9
- // src/primitives/item.tsx
10
- import { cva } from "class-variance-authority";
11
- import { Slot } from "radix-ui";
12
- import { jsx } from "react/jsx-runtime";
13
- function ItemGroup({ className, ...props }) {
14
- return /* @__PURE__ */ jsx(
15
- "div",
16
- {
17
- role: "list",
18
- "data-slot": "item-group",
19
- className: cn(
20
- "group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
21
- className
22
- ),
23
- ...props
24
- }
25
- );
26
- }
27
- function ItemSeparator({
28
- className,
29
- ...props
30
- }) {
31
- return /* @__PURE__ */ jsx(
32
- Separator,
33
- {
34
- "data-slot": "item-separator",
35
- orientation: "horizontal",
36
- className: cn("my-2", className),
37
- ...props
38
- }
39
- );
40
- }
41
- var itemVariants = cva(
42
- "group/item flex w-full flex-wrap items-center rounded-md border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
43
- {
44
- variants: {
45
- variant: {
46
- default: "border-transparent",
47
- outline: "border-border",
48
- muted: "border-transparent bg-muted/50"
49
- },
50
- size: {
51
- default: "gap-3.5 px-4 py-3.5",
52
- sm: "gap-2.5 px-3 py-2.5",
53
- xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0"
54
- }
55
- },
56
- defaultVariants: {
57
- variant: "default",
58
- size: "default"
59
- }
60
- }
61
- );
62
- function Item({
63
- className,
64
- variant = "default",
65
- size = "default",
66
- asChild = false,
67
- ...props
68
- }) {
69
- const Comp = asChild ? Slot.Root : "div";
70
- return /* @__PURE__ */ jsx(
71
- Comp,
72
- {
73
- "data-slot": "item",
74
- "data-variant": variant,
75
- "data-size": size,
76
- className: cn(itemVariants({ variant, size, className })),
77
- ...props
78
- }
79
- );
80
- }
81
- var itemMediaVariants = cva(
82
- "flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
83
- {
84
- variants: {
85
- variant: {
86
- default: "bg-transparent",
87
- icon: "[&_svg:not([class*='size-'])]:size-4",
88
- image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover"
89
- }
90
- },
91
- defaultVariants: {
92
- variant: "default"
93
- }
94
- }
95
- );
96
- function ItemMedia({
97
- className,
98
- variant = "default",
99
- ...props
100
- }) {
101
- return /* @__PURE__ */ jsx(
102
- "div",
103
- {
104
- "data-slot": "item-media",
105
- "data-variant": variant,
106
- className: cn(itemMediaVariants({ variant, className })),
107
- ...props
108
- }
109
- );
110
- }
111
- function ItemContent({ className, ...props }) {
112
- return /* @__PURE__ */ jsx(
113
- "div",
114
- {
115
- "data-slot": "item-content",
116
- className: cn(
117
- "flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
118
- className
119
- ),
120
- ...props
121
- }
122
- );
123
- }
124
- function ItemTitle({ className, ...props }) {
125
- return /* @__PURE__ */ jsx(
126
- "div",
127
- {
128
- "data-slot": "item-title",
129
- className: cn(
130
- "line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
131
- className
132
- ),
133
- ...props
134
- }
135
- );
136
- }
137
- function ItemDescription({ className, ...props }) {
138
- return /* @__PURE__ */ jsx(
139
- "p",
140
- {
141
- "data-slot": "item-description",
142
- className: cn(
143
- "line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
144
- className
145
- ),
146
- ...props
147
- }
148
- );
149
- }
150
- function ItemActions({ className, ...props }) {
151
- return /* @__PURE__ */ jsx(
152
- "div",
153
- {
154
- "data-slot": "item-actions",
155
- className: cn("flex items-center gap-2", className),
156
- ...props
157
- }
158
- );
159
- }
160
- function ItemHeader({ className, ...props }) {
161
- return /* @__PURE__ */ jsx(
162
- "div",
163
- {
164
- "data-slot": "item-header",
165
- className: cn(
166
- "flex basis-full items-center justify-between gap-2",
167
- className
168
- ),
169
- ...props
170
- }
171
- );
172
- }
173
- function ItemFooter({ className, ...props }) {
174
- return /* @__PURE__ */ jsx(
175
- "div",
176
- {
177
- "data-slot": "item-footer",
178
- className: cn(
179
- "flex basis-full items-center justify-between gap-2",
180
- className
181
- ),
182
- ...props
183
- }
184
- );
185
- }
3
+ Item,
4
+ ItemActions,
5
+ ItemContent,
6
+ ItemDescription,
7
+ ItemFooter,
8
+ ItemGroup,
9
+ ItemHeader,
10
+ ItemMedia,
11
+ ItemSeparator,
12
+ ItemTitle
13
+ } from "../chunk-SG4ZE2EN.js";
14
+ import "../chunk-HYTILYE5.js";
15
+ import "../chunk-G6SRSWXB.js";
186
16
  export {
187
17
  Item,
188
18
  ItemActions,
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkU7XNNLVPcjs = require('../chunk-U7XNNLVP.cjs');
5
+ var _chunkWP7CKIPEcjs = require('../chunk-WP7CKIPE.cjs');
6
6
  require('../chunk-WABCLRBR.cjs');
7
7
  require('../chunk-KWLSBTB2.cjs');
8
8
 
9
9
 
10
10
 
11
- exports.PersonAvatar = _chunkU7XNNLVPcjs.PersonAvatar; exports.initials = _chunkU7XNNLVPcjs.initials;
11
+ exports.PersonAvatar = _chunkWP7CKIPEcjs.PersonAvatar; exports.initials = _chunkWP7CKIPEcjs.initials;
@@ -20,6 +20,11 @@ interface PersonAvatarProps {
20
20
  /** Class for the initials fallback — e.g. a smaller type scale. */
21
21
  fallbackClassName?: string;
22
22
  fallbackSize?: "default" | "xl";
23
+ /**
24
+ * Beside the person's name already (a chip, a list row): hidden from
25
+ * screen readers, so the name isn't read twice or as initials.
26
+ */
27
+ decorative?: boolean;
23
28
  }
24
29
  /**
25
30
  * A person's avatar: their photo if we have one, their initials if we don't.
@@ -28,6 +33,6 @@ interface PersonAvatarProps {
28
33
  * coloured tile masks a missing photo by pretending to be one, while plain
29
34
  * initials make a missing photo obvious.
30
35
  */
31
- declare function PersonAvatar({ name, photoUrl, size, className, fallbackClassName, fallbackSize, }: PersonAvatarProps): react_jsx_runtime.JSX.Element;
36
+ declare function PersonAvatar({ name, photoUrl, size, className, fallbackClassName, fallbackSize, decorative, }: PersonAvatarProps): react_jsx_runtime.JSX.Element;
32
37
 
33
38
  export { PersonAvatar, type PersonAvatarProps, initials };
@@ -20,6 +20,11 @@ interface PersonAvatarProps {
20
20
  /** Class for the initials fallback — e.g. a smaller type scale. */
21
21
  fallbackClassName?: string;
22
22
  fallbackSize?: "default" | "xl";
23
+ /**
24
+ * Beside the person's name already (a chip, a list row): hidden from
25
+ * screen readers, so the name isn't read twice or as initials.
26
+ */
27
+ decorative?: boolean;
23
28
  }
24
29
  /**
25
30
  * A person's avatar: their photo if we have one, their initials if we don't.
@@ -28,6 +33,6 @@ interface PersonAvatarProps {
28
33
  * coloured tile masks a missing photo by pretending to be one, while plain
29
34
  * initials make a missing photo obvious.
30
35
  */
31
- declare function PersonAvatar({ name, photoUrl, size, className, fallbackClassName, fallbackSize, }: PersonAvatarProps): react_jsx_runtime.JSX.Element;
36
+ declare function PersonAvatar({ name, photoUrl, size, className, fallbackClassName, fallbackSize, decorative, }: PersonAvatarProps): react_jsx_runtime.JSX.Element;
32
37
 
33
38
  export { PersonAvatar, type PersonAvatarProps, initials };
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  PersonAvatar,
4
4
  initials
5
- } from "../chunk-NXFZULS3.js";
5
+ } from "../chunk-T5AFBLP2.js";
6
6
  import "../chunk-3OWGL4Q2.js";
7
7
  import "../chunk-G6SRSWXB.js";
8
8
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epicbagel/saas-kit",
3
- "version": "1.26.0",
3
+ "version": "1.28.0",
4
4
  "description": "Accessible React primitives, layout components and design tokens for SaaS apps, built on Radix UI and Tailwind CSS v4.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -1,62 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
-
3
-
4
- var _chunkVGTINL5Qcjs = require('./chunk-VGTINL5Q.cjs');
5
-
6
-
7
- var _chunkKWLSBTB2cjs = require('./chunk-KWLSBTB2.cjs');
8
-
9
- // src/primitives/chip-tabs.tsx
10
- var _jsxruntime = require('react/jsx-runtime');
11
- function ChipTabs({
12
- items,
13
- value,
14
- onChange,
15
- size = "sm",
16
- variant = "soft",
17
- trailing,
18
- className,
19
- marginBottom = "none",
20
- placement = "inline",
21
- disabled = false,
22
- guidedValue
23
- }) {
24
- const padClass = size === "xs" ? "px-1.5 py-0.5" : size === "md" ? "px-3.5 py-2" : "px-2 py-1";
25
- const textClass = size === "xs" ? "text-[11px]" : size === "md" ? "text-sm" : "text-xs";
26
- const gapClass = size === "md" ? "gap-2" : "gap-1";
27
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex items-center", gapClass, marginBottom === "lg" && "mb-6", placement === "panel" && "border-b px-3 py-2", className), children: [
28
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex min-w-0 flex-wrap", gapClass), children: items.map((item) => {
29
- const active = item.id === value;
30
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31
- "button",
32
- {
33
- type: "button",
34
- disabled,
35
- onClick: () => onChange(item.id),
36
- className: _chunkKWLSBTB2cjs.cn.call(void 0,
37
- "rounded-md transition-colors inline-flex items-center gap-1 disabled:pointer-events-none disabled:opacity-60",
38
- textClass,
39
- padClass,
40
- variant === "outline" && "border",
41
- item.id === guidedValue && "ring-2 ring-destructive/60 ring-offset-2 ring-offset-background animate-pulse-once motion-reduce:animate-none",
42
- active && variant === "soft" && "bg-accent text-accent-foreground font-medium",
43
- !active && variant === "soft" && "text-muted-foreground hover:bg-accent/50",
44
- active && variant === "outline" && "border-primary bg-primary/10 text-foreground font-medium",
45
- !active && variant === "outline" && "border-muted-foreground/50 bg-background text-muted-foreground hover:border-foreground/60 hover:text-foreground"
46
- ),
47
- children: [
48
- item.icon,
49
- item.label,
50
- item.count != null && item.count > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVGTINL5Qcjs.CountBadge, { value: item.count, variant: "secondary" })
51
- ]
52
- },
53
- item.id
54
- );
55
- }) }),
56
- trailing && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ml-auto flex items-center gap-1", children: trailing })
57
- ] });
58
- }
59
-
60
-
61
-
62
- exports.ChipTabs = ChipTabs;
@@ -1,62 +0,0 @@
1
- "use client";
2
- import {
3
- CountBadge
4
- } from "./chunk-H7TETFLB.js";
5
- import {
6
- cn
7
- } from "./chunk-G6SRSWXB.js";
8
-
9
- // src/primitives/chip-tabs.tsx
10
- import { jsx, jsxs } from "react/jsx-runtime";
11
- function ChipTabs({
12
- items,
13
- value,
14
- onChange,
15
- size = "sm",
16
- variant = "soft",
17
- trailing,
18
- className,
19
- marginBottom = "none",
20
- placement = "inline",
21
- disabled = false,
22
- guidedValue
23
- }) {
24
- const padClass = size === "xs" ? "px-1.5 py-0.5" : size === "md" ? "px-3.5 py-2" : "px-2 py-1";
25
- const textClass = size === "xs" ? "text-[11px]" : size === "md" ? "text-sm" : "text-xs";
26
- const gapClass = size === "md" ? "gap-2" : "gap-1";
27
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center", gapClass, marginBottom === "lg" && "mb-6", placement === "panel" && "border-b px-3 py-2", className), children: [
28
- /* @__PURE__ */ jsx("div", { className: cn("flex min-w-0 flex-wrap", gapClass), children: items.map((item) => {
29
- const active = item.id === value;
30
- return /* @__PURE__ */ jsxs(
31
- "button",
32
- {
33
- type: "button",
34
- disabled,
35
- onClick: () => onChange(item.id),
36
- className: cn(
37
- "rounded-md transition-colors inline-flex items-center gap-1 disabled:pointer-events-none disabled:opacity-60",
38
- textClass,
39
- padClass,
40
- variant === "outline" && "border",
41
- item.id === guidedValue && "ring-2 ring-destructive/60 ring-offset-2 ring-offset-background animate-pulse-once motion-reduce:animate-none",
42
- active && variant === "soft" && "bg-accent text-accent-foreground font-medium",
43
- !active && variant === "soft" && "text-muted-foreground hover:bg-accent/50",
44
- active && variant === "outline" && "border-primary bg-primary/10 text-foreground font-medium",
45
- !active && variant === "outline" && "border-muted-foreground/50 bg-background text-muted-foreground hover:border-foreground/60 hover:text-foreground"
46
- ),
47
- children: [
48
- item.icon,
49
- item.label,
50
- item.count != null && item.count > 0 && /* @__PURE__ */ jsx(CountBadge, { value: item.count, variant: "secondary" })
51
- ]
52
- },
53
- item.id
54
- );
55
- }) }),
56
- trailing && /* @__PURE__ */ jsx("div", { className: "ml-auto flex items-center gap-1", children: trailing })
57
- ] });
58
- }
59
-
60
- export {
61
- ChipTabs
62
- };