@tetrascience-npm/tetrascience-react-ui 0.6.0-beta.89.1 → 0.6.0-beta.91.1
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/components/ai/chain-of-thought.cjs +1 -1
- package/dist/components/ai/chain-of-thought.cjs.map +1 -1
- package/dist/components/ai/chain-of-thought.js +5 -5
- package/dist/components/ai/chain-of-thought.js.map +1 -1
- package/dist/components/ai/conversation.cjs +2 -2
- package/dist/components/ai/conversation.cjs.map +1 -1
- package/dist/components/ai/conversation.js +2 -2
- package/dist/components/ai/conversation.js.map +1 -1
- package/dist/components/ai/queue.cjs +1 -1
- package/dist/components/ai/queue.cjs.map +1 -1
- package/dist/components/ai/queue.js +9 -9
- package/dist/components/ai/queue.js.map +1 -1
- package/dist/components/composed/DataAppShell/DataAppShell.cjs +1 -1
- package/dist/components/composed/DataAppShell/DataAppShell.cjs.map +1 -1
- package/dist/components/composed/DataAppShell/DataAppShell.js +1 -1
- package/dist/components/composed/DataAppShell/DataAppShell.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.js +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellLegend.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/WellLegend.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellLegend.js +8 -8
- package/dist/components/composed/PlateMapEditor/WellLegend.js.map +1 -1
- package/dist/components/composed/RichListItem/RichListItem.cjs +1 -1
- package/dist/components/composed/RichListItem/RichListItem.cjs.map +1 -1
- package/dist/components/composed/RichListItem/RichListItem.js +16 -16
- package/dist/components/composed/RichListItem/RichListItem.js.map +1 -1
- package/dist/components/ui/badge.cjs +1 -1
- package/dist/components/ui/badge.cjs.map +1 -1
- package/dist/components/ui/badge.js +8 -8
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/button.cjs +1 -1
- package/dist/components/ui/button.cjs.map +1 -1
- package/dist/components/ui/button.js +11 -11
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/item.cjs +1 -1
- package/dist/components/ui/item.cjs.map +1 -1
- package/dist/components/ui/item.js +1 -1
- package/dist/components/ui/item.js.map +1 -1
- package/dist/components/ui/menubar.cjs +1 -1
- package/dist/components/ui/menubar.cjs.map +1 -1
- package/dist/components/ui/menubar.js +1 -1
- package/dist/components/ui/menubar.js.map +1 -1
- package/dist/components/ui/navigation-menu.cjs +1 -1
- package/dist/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/components/ui/navigation-menu.js +54 -54
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/table.cjs +1 -1
- package/dist/components/ui/table.cjs.map +1 -1
- package/dist/components/ui/table.js +13 -13
- package/dist/components/ui/table.js.map +1 -1
- package/dist/components/ui/toggle.cjs +1 -1
- package/dist/components/ui/toggle.cjs.map +1 -1
- package/dist/components/ui/toggle.js +12 -12
- package/dist/components/ui/toggle.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.tailwind.css +1 -1
- package/package.json +1 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
1
|
+
import { jsx as r, jsxs as o } from "react/jsx-runtime";
|
|
2
2
|
import { X as m } from "lucide-react";
|
|
3
3
|
import * as f from "react";
|
|
4
4
|
import { Button as p } from "../../ui/button.js";
|
|
5
5
|
import { Card as g, CardContent as h } from "../../ui/card.js";
|
|
6
|
-
import { cn as
|
|
6
|
+
import { cn as a } from "../../../lib/utils.js";
|
|
7
7
|
function C({
|
|
8
|
-
items:
|
|
8
|
+
items: l,
|
|
9
9
|
renderItem: d,
|
|
10
10
|
onHoverEnter: s,
|
|
11
11
|
onHoverLeave: i,
|
|
12
12
|
onRemove: t,
|
|
13
13
|
removeLabel: c = "Remove",
|
|
14
14
|
emptyLabel: u = "No items",
|
|
15
|
-
className:
|
|
15
|
+
className: n
|
|
16
16
|
}) {
|
|
17
|
-
return
|
|
17
|
+
return l.length === 0 ? /* @__PURE__ */ r("div", { className: a("text-xs text-muted-foreground", n), "data-slot": "well-legend-empty", children: u }) : /* @__PURE__ */ r("div", { className: a("flex flex-col gap-1.5", n), "data-slot": "well-legend", children: l.map((e) => d ? /* @__PURE__ */ r(f.Fragment, { children: d(e) }, e.id) : /* @__PURE__ */ r(
|
|
18
18
|
g,
|
|
19
19
|
{
|
|
20
20
|
size: "sm",
|
|
21
21
|
"data-slot": "well-legend-item",
|
|
22
22
|
"data-disabled": e.disabled || void 0,
|
|
23
|
-
className:
|
|
23
|
+
className: a("py-2 hover:bg-accent/40", e.disabled && "opacity-50"),
|
|
24
24
|
onMouseEnter: () => s?.(e.id),
|
|
25
25
|
onMouseLeave: () => i?.(e.id),
|
|
26
|
-
children: /* @__PURE__ */
|
|
26
|
+
children: /* @__PURE__ */ o(h, { className: "flex items-start gap-2", children: [
|
|
27
27
|
/* @__PURE__ */ r(
|
|
28
28
|
"span",
|
|
29
29
|
{
|
|
@@ -32,7 +32,7 @@ function C({
|
|
|
32
32
|
style: { backgroundColor: e.color }
|
|
33
33
|
}
|
|
34
34
|
),
|
|
35
|
-
/* @__PURE__ */
|
|
35
|
+
/* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children: [
|
|
36
36
|
/* @__PURE__ */ r("div", { className: "truncate text-xs font-medium", children: e.label }),
|
|
37
37
|
e.meta ? /* @__PURE__ */ r("div", { className: "truncate text-[0.65rem] text-muted-foreground", children: e.meta }) : null
|
|
38
38
|
] }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WellLegend.js","sources":["../../../../src/components/composed/PlateMapEditor/WellLegend.tsx"],"sourcesContent":["import { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent } from \"@/components/ui/card\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface WellLegendItem {\n id: string;\n label: React.ReactNode;\n color: string;\n /** Optional secondary text shown beneath the label. */\n meta?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface WellLegendProps {\n items: WellLegendItem[];\n /** Render-prop for fully custom cards. Bypasses the default card layout. */\n renderItem?: (item: WellLegendItem) => React.ReactNode;\n onHoverEnter?: (id: string) => void;\n onHoverLeave?: (id: string) => void;\n onRemove?: (id: string) => void;\n removeLabel?: string;\n emptyLabel?: string;\n className?: string;\n}\n\nexport function WellLegend({\n items,\n renderItem,\n onHoverEnter,\n onHoverLeave,\n onRemove,\n removeLabel = \"Remove\",\n emptyLabel = \"No items\",\n className,\n}: WellLegendProps) {\n if (items.length === 0) {\n return (\n <div className={cn(\"text-xs text-muted-foreground\", className)} data-slot=\"well-legend-empty\">\n {emptyLabel}\n </div>\n );\n }\n\n return (\n <div className={cn(\"flex flex-col gap-1.5\", className)} data-slot=\"well-legend\">\n {items.map((item) => {\n if (renderItem) return <React.Fragment key={item.id}>{renderItem(item)}</React.Fragment>;\n return (\n <Card\n key={item.id}\n size=\"sm\"\n data-slot=\"well-legend-item\"\n data-disabled={item.disabled || undefined}\n className={cn(\"py-2 hover:bg-
|
|
1
|
+
{"version":3,"file":"WellLegend.js","sources":["../../../../src/components/composed/PlateMapEditor/WellLegend.tsx"],"sourcesContent":["import { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent } from \"@/components/ui/card\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface WellLegendItem {\n id: string;\n label: React.ReactNode;\n color: string;\n /** Optional secondary text shown beneath the label. */\n meta?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface WellLegendProps {\n items: WellLegendItem[];\n /** Render-prop for fully custom cards. Bypasses the default card layout. */\n renderItem?: (item: WellLegendItem) => React.ReactNode;\n onHoverEnter?: (id: string) => void;\n onHoverLeave?: (id: string) => void;\n onRemove?: (id: string) => void;\n removeLabel?: string;\n emptyLabel?: string;\n className?: string;\n}\n\nexport function WellLegend({\n items,\n renderItem,\n onHoverEnter,\n onHoverLeave,\n onRemove,\n removeLabel = \"Remove\",\n emptyLabel = \"No items\",\n className,\n}: WellLegendProps) {\n if (items.length === 0) {\n return (\n <div className={cn(\"text-xs text-muted-foreground\", className)} data-slot=\"well-legend-empty\">\n {emptyLabel}\n </div>\n );\n }\n\n return (\n <div className={cn(\"flex flex-col gap-1.5\", className)} data-slot=\"well-legend\">\n {items.map((item) => {\n if (renderItem) return <React.Fragment key={item.id}>{renderItem(item)}</React.Fragment>;\n return (\n <Card\n key={item.id}\n size=\"sm\"\n data-slot=\"well-legend-item\"\n data-disabled={item.disabled || undefined}\n className={cn(\"py-2 hover:bg-accent/40\", item.disabled && \"opacity-50\")}\n onMouseEnter={() => onHoverEnter?.(item.id)}\n onMouseLeave={() => onHoverLeave?.(item.id)}\n >\n <CardContent className=\"flex items-start gap-2\">\n <span\n aria-hidden\n className=\"mt-0.5 size-3.5 shrink-0 rounded-sm border border-foreground/20\"\n style={{ backgroundColor: item.color }}\n />\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-xs font-medium\">{item.label}</div>\n {item.meta ? (\n <div className=\"truncate text-[0.65rem] text-muted-foreground\">{item.meta}</div>\n ) : null}\n </div>\n {onRemove ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-xs\"\n aria-label={`${removeLabel} ${typeof item.label === \"string\" ? item.label : item.id}`}\n onClick={() => onRemove(item.id)}\n >\n <X aria-hidden />\n </Button>\n ) : null}\n </CardContent>\n </Card>\n );\n })}\n </div>\n );\n}\n"],"names":["WellLegend","items","renderItem","onHoverEnter","onHoverLeave","onRemove","removeLabel","emptyLabel","className","jsx","cn","item","React","Card","jsxs","CardContent","Button","X"],"mappings":";;;;;;AA4BO,SAASA,EAAW;AAAA,EACzB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,YAAAC,IAAa;AAAA,EACb,WAAAC;AACF,GAAoB;AAClB,SAAIP,EAAM,WAAW,IAEjB,gBAAAQ,EAAC,SAAI,WAAWC,EAAG,iCAAiCF,CAAS,GAAG,aAAU,qBACvE,UAAAD,EAAA,CACH,IAKF,gBAAAE,EAAC,OAAA,EAAI,WAAWC,EAAG,yBAAyBF,CAAS,GAAG,aAAU,eAC/D,UAAAP,EAAM,IAAI,CAACU,MACNT,IAAmB,gBAAAO,EAACG,EAAM,UAAN,EAA8B,UAAAV,EAAWS,CAAI,KAAzBA,EAAK,EAAsB,IAErE,gBAAAF;AAAA,IAACI;AAAA,IAAA;AAAA,MAEC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,iBAAeF,EAAK,YAAY;AAAA,MAChC,WAAWD,EAAG,2BAA2BC,EAAK,YAAY,YAAY;AAAA,MACtE,cAAc,MAAMR,IAAeQ,EAAK,EAAE;AAAA,MAC1C,cAAc,MAAMP,IAAeO,EAAK,EAAE;AAAA,MAE1C,UAAA,gBAAAG,EAACC,GAAA,EAAY,WAAU,0BACrB,UAAA;AAAA,QAAA,gBAAAN;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAW;AAAA,YACX,WAAU;AAAA,YACV,OAAO,EAAE,iBAAiBE,EAAK,MAAA;AAAA,UAAM;AAAA,QAAA;AAAA,QAEvC,gBAAAG,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAA,gBAAAL,EAAC,OAAA,EAAI,WAAU,gCAAgC,UAAAE,EAAK,OAAM;AAAA,UACzDA,EAAK,OACJ,gBAAAF,EAAC,OAAA,EAAI,WAAU,iDAAiD,UAAAE,EAAK,MAAK,IACxE;AAAA,QAAA,GACN;AAAA,QACCN,IACC,gBAAAI;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,cAAY,GAAGV,CAAW,IAAI,OAAOK,EAAK,SAAU,WAAWA,EAAK,QAAQA,EAAK,EAAE;AAAA,YACnF,SAAS,MAAMN,EAASM,EAAK,EAAE;AAAA,YAE/B,UAAA,gBAAAF,EAACQ,GAAA,EAAE,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QAAA,IAEf;AAAA,MAAA,EAAA,CACN;AAAA,IAAA;AAAA,IA/BKN,EAAK;AAAA,EAAA,CAkCf,EAAA,CACH;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../ui/avatar.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../ui/avatar.cjs"),c=require("../../ui/item.cjs"),i=require("../../../lib/utils.cjs"),h="grid-cols-[minmax(0,1fr)_auto_auto]",p="grid-cols-[minmax(0,1fr)_auto]",g="grid-cols-[minmax(0,1fr)]";function j(t,n){return t&&n?h:t||n?p:g}function C({leading:t,primary:n,secondary:s,trailing:r,actions:a,className:m,variant:d="default",size:u="default",...x}){const N=!!s,f=j(!!r,!!a),l=N?"row-span-2":"row-span-1";return e.jsxs(c.Item,{"data-slot":"rich-list-item",variant:d,size:u,className:i.cn("flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50",m),...x,children:[t&&e.jsx(c.ItemMedia,{className:"self-center",children:t}),e.jsx(c.ItemContent,{className:"min-w-0",children:e.jsxs("div",{className:i.cn("grid min-w-0 items-center gap-x-3 gap-y-1",f),children:[e.jsx(c.ItemTitle,{className:"min-w-0 max-w-full truncate",children:n}),r&&e.jsx("div",{className:i.cn("flex flex-col items-end gap-1 whitespace-nowrap text-right",l),children:r}),a&&e.jsx(c.ItemActions,{className:i.cn("shrink-0 self-center",l),children:a}),s&&e.jsx("div",{"data-slot":"rich-list-item-secondary",className:"min-w-0 truncate text-xs leading-tight text-muted-foreground",children:s})]})})]})}function v({initials:t,className:n,fallbackClassName:s,size:r="default",...a}){return e.jsx(o.Avatar,{className:n,size:r,...a,children:e.jsx(o.AvatarFallback,{className:i.cn("bg-primary/10 text-xs font-semibold text-primary",s),children:t})})}exports.RichListItem=C;exports.RichListItemAvatar=v;
|
|
2
2
|
//# sourceMappingURL=RichListItem.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichListItem.cjs","sources":["../../../../src/components/composed/RichListItem/RichListItem.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Item, ItemActions, ItemContent, ItemMedia, ItemTitle } from \"@/components/ui/item\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, \"asChild\" | \"children\"> {\n /** Slot before the text content — typically an avatar or icon. */\n leading?: React.ReactNode;\n /** Primary line of text. Truncates to a single line. */\n primary: React.ReactNode;\n /** Secondary line of text shown beneath `primary`. Truncates to a single line. */\n secondary?: React.ReactNode;\n /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */\n trailing?: React.ReactNode;\n /** Right-aligned interactive controls (buttons, menus). */\n actions?: React.ReactNode;\n}\n\nconst CONTENT_COLUMNS_BOTH = \"grid-cols-[minmax(0,1fr)_auto_auto]\";\nconst CONTENT_COLUMNS_ONE = \"grid-cols-[minmax(0,1fr)_auto]\";\nconst CONTENT_COLUMNS_NONE = \"grid-cols-[minmax(0,1fr)]\";\n\nfunction getContentColumns(hasTrailing: boolean, hasActions: boolean) {\n if (hasTrailing && hasActions) return CONTENT_COLUMNS_BOTH;\n if (hasTrailing || hasActions) return CONTENT_COLUMNS_ONE;\n return CONTENT_COLUMNS_NONE;\n}\n\nfunction RichListItem({\n leading,\n primary,\n secondary,\n trailing,\n actions,\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: RichListItemProps) {\n const hasSecondary = Boolean(secondary);\n const contentColumns = getContentColumns(Boolean(trailing), Boolean(actions));\n const supplementalSpanClass = hasSecondary ? \"row-span-2\" : \"row-span-1\";\n\n return (\n <Item\n data-slot=\"rich-list-item\"\n variant={variant}\n size={size}\n className={cn(\n \"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-
|
|
1
|
+
{"version":3,"file":"RichListItem.cjs","sources":["../../../../src/components/composed/RichListItem/RichListItem.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Item, ItemActions, ItemContent, ItemMedia, ItemTitle } from \"@/components/ui/item\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, \"asChild\" | \"children\"> {\n /** Slot before the text content — typically an avatar or icon. */\n leading?: React.ReactNode;\n /** Primary line of text. Truncates to a single line. */\n primary: React.ReactNode;\n /** Secondary line of text shown beneath `primary`. Truncates to a single line. */\n secondary?: React.ReactNode;\n /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */\n trailing?: React.ReactNode;\n /** Right-aligned interactive controls (buttons, menus). */\n actions?: React.ReactNode;\n}\n\nconst CONTENT_COLUMNS_BOTH = \"grid-cols-[minmax(0,1fr)_auto_auto]\";\nconst CONTENT_COLUMNS_ONE = \"grid-cols-[minmax(0,1fr)_auto]\";\nconst CONTENT_COLUMNS_NONE = \"grid-cols-[minmax(0,1fr)]\";\n\nfunction getContentColumns(hasTrailing: boolean, hasActions: boolean) {\n if (hasTrailing && hasActions) return CONTENT_COLUMNS_BOTH;\n if (hasTrailing || hasActions) return CONTENT_COLUMNS_ONE;\n return CONTENT_COLUMNS_NONE;\n}\n\nfunction RichListItem({\n leading,\n primary,\n secondary,\n trailing,\n actions,\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: RichListItemProps) {\n const hasSecondary = Boolean(secondary);\n const contentColumns = getContentColumns(Boolean(trailing), Boolean(actions));\n const supplementalSpanClass = hasSecondary ? \"row-span-2\" : \"row-span-1\";\n\n return (\n <Item\n data-slot=\"rich-list-item\"\n variant={variant}\n size={size}\n className={cn(\n \"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50\",\n className,\n )}\n {...props}\n >\n {leading && <ItemMedia className=\"self-center\">{leading}</ItemMedia>}\n <ItemContent className=\"min-w-0\">\n <div className={cn(\"grid min-w-0 items-center gap-x-3 gap-y-1\", contentColumns)}>\n <ItemTitle className=\"min-w-0 max-w-full truncate\">{primary}</ItemTitle>\n {trailing && (\n <div className={cn(\"flex flex-col items-end gap-1 whitespace-nowrap text-right\", supplementalSpanClass)}>\n {trailing}\n </div>\n )}\n {actions && (\n <ItemActions className={cn(\"shrink-0 self-center\", supplementalSpanClass)}>{actions}</ItemActions>\n )}\n {secondary && (\n <div\n data-slot=\"rich-list-item-secondary\"\n className=\"min-w-0 truncate text-xs leading-tight text-muted-foreground\"\n >\n {secondary}\n </div>\n )}\n </div>\n </ItemContent>\n </Item>\n );\n}\n\nexport interface RichListItemAvatarProps extends Omit<React.ComponentProps<typeof Avatar>, \"children\"> {\n initials: string;\n fallbackClassName?: string;\n}\n\nfunction RichListItemAvatar({\n initials,\n className,\n fallbackClassName,\n size = \"default\",\n ...props\n}: RichListItemAvatarProps) {\n return (\n <Avatar className={className} size={size} {...props}>\n <AvatarFallback className={cn(\"bg-primary/10 text-xs font-semibold text-primary\", fallbackClassName)}>\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n}\n\nexport { RichListItem, RichListItemAvatar };\n"],"names":["CONTENT_COLUMNS_BOTH","CONTENT_COLUMNS_ONE","CONTENT_COLUMNS_NONE","getContentColumns","hasTrailing","hasActions","RichListItem","leading","primary","secondary","trailing","actions","className","variant","size","props","hasSecondary","contentColumns","supplementalSpanClass","jsxs","Item","cn","jsx","ItemMedia","ItemContent","ItemTitle","ItemActions","RichListItemAvatar","initials","fallbackClassName","Avatar","AvatarFallback"],"mappings":"yNAmBMA,EAAuB,sCACvBC,EAAsB,iCACtBC,EAAuB,4BAE7B,SAASC,EAAkBC,EAAsBC,EAAqB,CACpE,OAAID,GAAeC,EAAmBL,EAClCI,GAAeC,EAAmBJ,EAC/BC,CACT,CAEA,SAASI,EAAa,CACpB,QAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,UACP,GAAGC,CACL,EAAsB,CACpB,MAAMC,EAAe,EAAQP,EACvBQ,EAAiBd,EAAkB,EAAQO,EAAW,EAAQC,CAAQ,EACtEO,EAAwBF,EAAe,aAAe,aAE5D,OACEG,EAAAA,KAACC,EAAAA,KAAA,CACC,YAAU,iBACV,QAAAP,EACA,KAAAC,EACA,UAAWO,EAAAA,GACT,8FACAT,CAAA,EAED,GAAGG,EAEH,SAAA,CAAAR,GAAWe,EAAAA,IAACC,YAAA,CAAU,UAAU,cAAe,SAAAhB,EAAQ,EACxDe,EAAAA,IAACE,EAAAA,YAAA,CAAY,UAAU,UACrB,SAAAL,EAAAA,KAAC,OAAI,UAAWE,EAAAA,GAAG,4CAA6CJ,CAAc,EAC5E,SAAA,CAAAK,EAAAA,IAACG,EAAAA,UAAA,CAAU,UAAU,8BAA+B,SAAAjB,EAAQ,EAC3DE,SACE,MAAA,CAAI,UAAWW,EAAAA,GAAG,6DAA8DH,CAAqB,EACnG,SAAAR,EACH,EAEDC,SACEe,cAAA,CAAY,UAAWL,EAAAA,GAAG,uBAAwBH,CAAqB,EAAI,SAAAP,EAAQ,EAErFF,GACCa,EAAAA,IAAC,MAAA,CACC,YAAU,2BACV,UAAU,+DAET,SAAAb,CAAA,CAAA,CACH,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CAOA,SAASkB,EAAmB,CAC1B,SAAAC,EACA,UAAAhB,EACA,kBAAAiB,EACA,KAAAf,EAAO,UACP,GAAGC,CACL,EAA4B,CAC1B,OACEO,EAAAA,IAACQ,EAAAA,OAAA,CAAO,UAAAlB,EAAsB,KAAAE,EAAa,GAAGC,EAC5C,SAAAO,EAAAA,IAACS,EAAAA,eAAA,CAAe,UAAWV,EAAAA,GAAG,mDAAoDQ,CAAiB,EAChG,WACH,EACF,CAEJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as m, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Avatar as N, AvatarFallback as x } from "../../ui/avatar.js";
|
|
3
3
|
import { Item as h, ItemMedia as g, ItemContent as C, ItemTitle as w, ItemActions as O } from "../../ui/item.js";
|
|
4
|
-
import { cn as
|
|
4
|
+
import { cn as o } from "../../../lib/utils.js";
|
|
5
5
|
const _ = "grid-cols-[minmax(0,1fr)_auto_auto]", v = "grid-cols-[minmax(0,1fr)_auto]", I = "grid-cols-[minmax(0,1fr)]";
|
|
6
6
|
function T(t, n) {
|
|
7
7
|
return t && n ? _ : t || n ? v : I;
|
|
@@ -12,29 +12,29 @@ function y({
|
|
|
12
12
|
secondary: r,
|
|
13
13
|
trailing: a,
|
|
14
14
|
actions: s,
|
|
15
|
-
className:
|
|
16
|
-
variant:
|
|
15
|
+
className: c,
|
|
16
|
+
variant: l = "default",
|
|
17
17
|
size: d = "default",
|
|
18
|
-
...
|
|
18
|
+
...f
|
|
19
19
|
}) {
|
|
20
|
-
const
|
|
21
|
-
return /* @__PURE__ */
|
|
20
|
+
const u = !!r, p = T(!!a, !!s), i = u ? "row-span-2" : "row-span-1";
|
|
21
|
+
return /* @__PURE__ */ m(
|
|
22
22
|
h,
|
|
23
23
|
{
|
|
24
24
|
"data-slot": "rich-list-item",
|
|
25
|
-
variant:
|
|
25
|
+
variant: l,
|
|
26
26
|
size: d,
|
|
27
|
-
className:
|
|
28
|
-
"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-
|
|
29
|
-
|
|
27
|
+
className: o(
|
|
28
|
+
"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50",
|
|
29
|
+
c
|
|
30
30
|
),
|
|
31
|
-
...
|
|
31
|
+
...f,
|
|
32
32
|
children: [
|
|
33
33
|
t && /* @__PURE__ */ e(g, { className: "self-center", children: t }),
|
|
34
|
-
/* @__PURE__ */ e(C, { className: "min-w-0", children: /* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */ e(C, { className: "min-w-0", children: /* @__PURE__ */ m("div", { className: o("grid min-w-0 items-center gap-x-3 gap-y-1", p), children: [
|
|
35
35
|
/* @__PURE__ */ e(w, { className: "min-w-0 max-w-full truncate", children: n }),
|
|
36
|
-
a && /* @__PURE__ */ e("div", { className:
|
|
37
|
-
s && /* @__PURE__ */ e(O, { className:
|
|
36
|
+
a && /* @__PURE__ */ e("div", { className: o("flex flex-col items-end gap-1 whitespace-nowrap text-right", i), children: a }),
|
|
37
|
+
s && /* @__PURE__ */ e(O, { className: o("shrink-0 self-center", i), children: s }),
|
|
38
38
|
r && /* @__PURE__ */ e(
|
|
39
39
|
"div",
|
|
40
40
|
{
|
|
@@ -55,7 +55,7 @@ function B({
|
|
|
55
55
|
size: a = "default",
|
|
56
56
|
...s
|
|
57
57
|
}) {
|
|
58
|
-
return /* @__PURE__ */ e(N, { className: n, size: a, ...s, children: /* @__PURE__ */ e(x, { className:
|
|
58
|
+
return /* @__PURE__ */ e(N, { className: n, size: a, ...s, children: /* @__PURE__ */ e(x, { className: o("bg-primary/10 text-xs font-semibold text-primary", r), children: t }) });
|
|
59
59
|
}
|
|
60
60
|
export {
|
|
61
61
|
y as RichListItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichListItem.js","sources":["../../../../src/components/composed/RichListItem/RichListItem.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Item, ItemActions, ItemContent, ItemMedia, ItemTitle } from \"@/components/ui/item\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, \"asChild\" | \"children\"> {\n /** Slot before the text content — typically an avatar or icon. */\n leading?: React.ReactNode;\n /** Primary line of text. Truncates to a single line. */\n primary: React.ReactNode;\n /** Secondary line of text shown beneath `primary`. Truncates to a single line. */\n secondary?: React.ReactNode;\n /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */\n trailing?: React.ReactNode;\n /** Right-aligned interactive controls (buttons, menus). */\n actions?: React.ReactNode;\n}\n\nconst CONTENT_COLUMNS_BOTH = \"grid-cols-[minmax(0,1fr)_auto_auto]\";\nconst CONTENT_COLUMNS_ONE = \"grid-cols-[minmax(0,1fr)_auto]\";\nconst CONTENT_COLUMNS_NONE = \"grid-cols-[minmax(0,1fr)]\";\n\nfunction getContentColumns(hasTrailing: boolean, hasActions: boolean) {\n if (hasTrailing && hasActions) return CONTENT_COLUMNS_BOTH;\n if (hasTrailing || hasActions) return CONTENT_COLUMNS_ONE;\n return CONTENT_COLUMNS_NONE;\n}\n\nfunction RichListItem({\n leading,\n primary,\n secondary,\n trailing,\n actions,\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: RichListItemProps) {\n const hasSecondary = Boolean(secondary);\n const contentColumns = getContentColumns(Boolean(trailing), Boolean(actions));\n const supplementalSpanClass = hasSecondary ? \"row-span-2\" : \"row-span-1\";\n\n return (\n <Item\n data-slot=\"rich-list-item\"\n variant={variant}\n size={size}\n className={cn(\n \"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-
|
|
1
|
+
{"version":3,"file":"RichListItem.js","sources":["../../../../src/components/composed/RichListItem/RichListItem.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Item, ItemActions, ItemContent, ItemMedia, ItemTitle } from \"@/components/ui/item\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, \"asChild\" | \"children\"> {\n /** Slot before the text content — typically an avatar or icon. */\n leading?: React.ReactNode;\n /** Primary line of text. Truncates to a single line. */\n primary: React.ReactNode;\n /** Secondary line of text shown beneath `primary`. Truncates to a single line. */\n secondary?: React.ReactNode;\n /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */\n trailing?: React.ReactNode;\n /** Right-aligned interactive controls (buttons, menus). */\n actions?: React.ReactNode;\n}\n\nconst CONTENT_COLUMNS_BOTH = \"grid-cols-[minmax(0,1fr)_auto_auto]\";\nconst CONTENT_COLUMNS_ONE = \"grid-cols-[minmax(0,1fr)_auto]\";\nconst CONTENT_COLUMNS_NONE = \"grid-cols-[minmax(0,1fr)]\";\n\nfunction getContentColumns(hasTrailing: boolean, hasActions: boolean) {\n if (hasTrailing && hasActions) return CONTENT_COLUMNS_BOTH;\n if (hasTrailing || hasActions) return CONTENT_COLUMNS_ONE;\n return CONTENT_COLUMNS_NONE;\n}\n\nfunction RichListItem({\n leading,\n primary,\n secondary,\n trailing,\n actions,\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: RichListItemProps) {\n const hasSecondary = Boolean(secondary);\n const contentColumns = getContentColumns(Boolean(trailing), Boolean(actions));\n const supplementalSpanClass = hasSecondary ? \"row-span-2\" : \"row-span-1\";\n\n return (\n <Item\n data-slot=\"rich-list-item\"\n variant={variant}\n size={size}\n className={cn(\n \"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50\",\n className,\n )}\n {...props}\n >\n {leading && <ItemMedia className=\"self-center\">{leading}</ItemMedia>}\n <ItemContent className=\"min-w-0\">\n <div className={cn(\"grid min-w-0 items-center gap-x-3 gap-y-1\", contentColumns)}>\n <ItemTitle className=\"min-w-0 max-w-full truncate\">{primary}</ItemTitle>\n {trailing && (\n <div className={cn(\"flex flex-col items-end gap-1 whitespace-nowrap text-right\", supplementalSpanClass)}>\n {trailing}\n </div>\n )}\n {actions && (\n <ItemActions className={cn(\"shrink-0 self-center\", supplementalSpanClass)}>{actions}</ItemActions>\n )}\n {secondary && (\n <div\n data-slot=\"rich-list-item-secondary\"\n className=\"min-w-0 truncate text-xs leading-tight text-muted-foreground\"\n >\n {secondary}\n </div>\n )}\n </div>\n </ItemContent>\n </Item>\n );\n}\n\nexport interface RichListItemAvatarProps extends Omit<React.ComponentProps<typeof Avatar>, \"children\"> {\n initials: string;\n fallbackClassName?: string;\n}\n\nfunction RichListItemAvatar({\n initials,\n className,\n fallbackClassName,\n size = \"default\",\n ...props\n}: RichListItemAvatarProps) {\n return (\n <Avatar className={className} size={size} {...props}>\n <AvatarFallback className={cn(\"bg-primary/10 text-xs font-semibold text-primary\", fallbackClassName)}>\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n}\n\nexport { RichListItem, RichListItemAvatar };\n"],"names":["CONTENT_COLUMNS_BOTH","CONTENT_COLUMNS_ONE","CONTENT_COLUMNS_NONE","getContentColumns","hasTrailing","hasActions","RichListItem","leading","primary","secondary","trailing","actions","className","variant","size","props","hasSecondary","contentColumns","supplementalSpanClass","jsxs","Item","cn","jsx","ItemMedia","ItemContent","ItemTitle","ItemActions","RichListItemAvatar","initials","fallbackClassName","Avatar","AvatarFallback"],"mappings":";;;;AAmBA,MAAMA,IAAuB,uCACvBC,IAAsB,kCACtBC,IAAuB;AAE7B,SAASC,EAAkBC,GAAsBC,GAAqB;AACpE,SAAID,KAAeC,IAAmBL,IAClCI,KAAeC,IAAmBJ,IAC/BC;AACT;AAEA,SAASI,EAAa;AAAA,EACpB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GAAsB;AACpB,QAAMC,IAAe,EAAQP,GACvBQ,IAAiBd,EAAkB,EAAQO,GAAW,EAAQC,CAAQ,GACtEO,IAAwBF,IAAe,eAAe;AAE5D,SACE,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,SAAAP;AAAA,MACA,MAAAC;AAAA,MACA,WAAWO;AAAA,QACT;AAAA,QACAT;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,MAEH,UAAA;AAAA,QAAAR,KAAW,gBAAAe,EAACC,GAAA,EAAU,WAAU,eAAe,UAAAhB,GAAQ;AAAA,QACxD,gBAAAe,EAACE,GAAA,EAAY,WAAU,WACrB,UAAA,gBAAAL,EAAC,SAAI,WAAWE,EAAG,6CAA6CJ,CAAc,GAC5E,UAAA;AAAA,UAAA,gBAAAK,EAACG,GAAA,EAAU,WAAU,+BAA+B,UAAAjB,GAAQ;AAAA,UAC3DE,uBACE,OAAA,EAAI,WAAWW,EAAG,8DAA8DH,CAAqB,GACnG,UAAAR,GACH;AAAA,UAEDC,uBACEe,GAAA,EAAY,WAAWL,EAAG,wBAAwBH,CAAqB,GAAI,UAAAP,GAAQ;AAAA,UAErFF,KACC,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,aAAU;AAAA,cACV,WAAU;AAAA,cAET,UAAAb;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAAA,CAEJ,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAOA,SAASkB,EAAmB;AAAA,EAC1B,UAAAC;AAAA,EACA,WAAAhB;AAAA,EACA,mBAAAiB;AAAA,EACA,MAAAf,IAAO;AAAA,EACP,GAAGC;AACL,GAA4B;AAC1B,SACE,gBAAAO,EAACQ,GAAA,EAAO,WAAAlB,GAAsB,MAAAE,GAAa,GAAGC,GAC5C,UAAA,gBAAAO,EAACS,GAAA,EAAe,WAAWV,EAAG,oDAAoDQ,CAAiB,GAChG,aACH,GACF;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),s=require("class-variance-authority"),d=require("radix-ui"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),s=require("class-variance-authority"),d=require("radix-ui"),c=require("../../lib/utils.cjs"),r=s.cva("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:shadow-focus has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:shadow-focus [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",info:"bg-info/15 text-info focus-visible:border-info dark:bg-info/20 dark:text-info [a]:hover:bg-info/25",destructive:"bg-destructive/15 text-destructive focus-visible:border-destructive dark:bg-destructive/20 dark:text-destructive [a]:hover:bg-destructive/25",positive:"bg-positive/15 text-positive focus-visible:border-positive dark:bg-positive/20 dark:text-positive [a]:hover:bg-positive/25",warning:"bg-warning/15 text-warning focus-visible:border-warning dark:bg-warning/20 dark:text-warning [a]:hover:bg-warning/25",outline:"border-border text-foreground [a]:hover:bg-accent [a]:hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function g({className:t,variant:e="default",asChild:i=!1,...a}){const o=i?d.Slot.Root:"span";return n.jsx(o,{"data-slot":"badge","data-variant":e,className:c.cn(r({variant:e}),t),...a})}exports.Badge=g;exports.badgeVariants=r;
|
|
2
2
|
//# sourceMappingURL=badge.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.cjs","sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:shadow-focus has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:shadow-focus [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n info:\n \"bg-info/15 text-info focus-visible:border-info dark:bg-info/20 dark:text-info [a]:hover:bg-info/25\",\n destructive:\n \"bg-destructive/15 text-destructive focus-visible:border-destructive dark:bg-destructive/20 dark:text-destructive [a]:hover:bg-destructive/25\",\n positive:\n \"bg-positive/15 text-positive focus-visible:border-positive dark:bg-positive/20 dark:text-positive [a]:hover:bg-positive/25\",\n warning:\n \"bg-warning/15 text-warning focus-visible:border-warning dark:bg-warning/20 dark:text-warning [a]:hover:bg-warning/25\",\n outline:\n \"border-border text-foreground [a]:hover:bg-
|
|
1
|
+
{"version":3,"file":"badge.cjs","sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:shadow-focus has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:shadow-focus [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n info:\n \"bg-info/15 text-info focus-visible:border-info dark:bg-info/20 dark:text-info [a]:hover:bg-info/25\",\n destructive:\n \"bg-destructive/15 text-destructive focus-visible:border-destructive dark:bg-destructive/20 dark:text-destructive [a]:hover:bg-destructive/25\",\n positive:\n \"bg-positive/15 text-positive focus-visible:border-positive dark:bg-positive/20 dark:text-positive [a]:hover:bg-positive/25\",\n warning:\n \"bg-warning/15 text-warning focus-visible:border-warning dark:bg-warning/20 dark:text-warning [a]:hover:bg-warning/25\",\n outline:\n \"border-border text-foreground [a]:hover:bg-accent [a]:hover:text-accent-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n"],"names":["badgeVariants","cva","Badge","className","variant","asChild","props","Comp","Slot","jsx","cn"],"mappings":"kNAMMA,EAAgBC,EAAAA,IACpB,uaACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,6DACT,UACE,mEACF,KACE,qGACF,YACE,+IACF,SACE,6HACF,QACE,uHACF,QACE,qFACF,MACE,uEACF,KAAM,iDAAA,CACR,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ,EAEA,SAASC,EAAM,CACb,UAAAC,EACA,QAAAC,EAAW,UACX,QAAAC,EAAU,GACV,GAAGC,CACL,EAC8D,CAC5D,MAAMC,EAAOF,EAAUG,EAAAA,KAAK,KAAO,OAEnC,OACEC,EAAAA,IAACF,EAAA,CACC,YAAU,QACV,eAAcH,EACd,UAAWM,EAAAA,GAAGV,EAAc,CAAE,QAAAI,CAAA,CAAS,EAAGD,CAAS,EAClD,GAAGG,CAAA,CAAA,CAGV"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { cva as n } from "class-variance-authority";
|
|
3
|
-
import { Slot as
|
|
4
|
-
import { cn as
|
|
3
|
+
import { Slot as s } from "radix-ui";
|
|
4
|
+
import { cn as d } from "../../lib/utils.js";
|
|
5
5
|
const v = n(
|
|
6
6
|
"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:shadow-focus has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:shadow-focus [&>svg]:pointer-events-none [&>svg]:size-3!",
|
|
7
7
|
{
|
|
@@ -13,8 +13,8 @@ const v = n(
|
|
|
13
13
|
destructive: "bg-destructive/15 text-destructive focus-visible:border-destructive dark:bg-destructive/20 dark:text-destructive [a]:hover:bg-destructive/25",
|
|
14
14
|
positive: "bg-positive/15 text-positive focus-visible:border-positive dark:bg-positive/20 dark:text-positive [a]:hover:bg-positive/25",
|
|
15
15
|
warning: "bg-warning/15 text-warning focus-visible:border-warning dark:bg-warning/20 dark:text-warning [a]:hover:bg-warning/25",
|
|
16
|
-
outline: "border-border text-foreground [a]:hover:bg-
|
|
17
|
-
ghost: "hover:bg-
|
|
16
|
+
outline: "border-border text-foreground [a]:hover:bg-accent [a]:hover:text-accent-foreground",
|
|
17
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
18
18
|
link: "text-primary underline-offset-4 hover:underline"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
@@ -23,25 +23,25 @@ const v = n(
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
);
|
|
26
|
-
function
|
|
26
|
+
function u({
|
|
27
27
|
className: r,
|
|
28
28
|
variant: e = "default",
|
|
29
29
|
asChild: t = !1,
|
|
30
30
|
...i
|
|
31
31
|
}) {
|
|
32
|
-
const o = t ?
|
|
32
|
+
const o = t ? s.Root : "span";
|
|
33
33
|
return /* @__PURE__ */ a(
|
|
34
34
|
o,
|
|
35
35
|
{
|
|
36
36
|
"data-slot": "badge",
|
|
37
37
|
"data-variant": e,
|
|
38
|
-
className:
|
|
38
|
+
className: d(v({ variant: e }), r),
|
|
39
39
|
...i
|
|
40
40
|
}
|
|
41
41
|
);
|
|
42
42
|
}
|
|
43
43
|
export {
|
|
44
|
-
|
|
44
|
+
u as Badge,
|
|
45
45
|
v as badgeVariants
|
|
46
46
|
};
|
|
47
47
|
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:shadow-focus has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:shadow-focus [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n info:\n \"bg-info/15 text-info focus-visible:border-info dark:bg-info/20 dark:text-info [a]:hover:bg-info/25\",\n destructive:\n \"bg-destructive/15 text-destructive focus-visible:border-destructive dark:bg-destructive/20 dark:text-destructive [a]:hover:bg-destructive/25\",\n positive:\n \"bg-positive/15 text-positive focus-visible:border-positive dark:bg-positive/20 dark:text-positive [a]:hover:bg-positive/25\",\n warning:\n \"bg-warning/15 text-warning focus-visible:border-warning dark:bg-warning/20 dark:text-warning [a]:hover:bg-warning/25\",\n outline:\n \"border-border text-foreground [a]:hover:bg-
|
|
1
|
+
{"version":3,"file":"badge.js","sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:shadow-focus has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:shadow-focus [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n info:\n \"bg-info/15 text-info focus-visible:border-info dark:bg-info/20 dark:text-info [a]:hover:bg-info/25\",\n destructive:\n \"bg-destructive/15 text-destructive focus-visible:border-destructive dark:bg-destructive/20 dark:text-destructive [a]:hover:bg-destructive/25\",\n positive:\n \"bg-positive/15 text-positive focus-visible:border-positive dark:bg-positive/20 dark:text-positive [a]:hover:bg-positive/25\",\n warning:\n \"bg-warning/15 text-warning focus-visible:border-warning dark:bg-warning/20 dark:text-warning [a]:hover:bg-warning/25\",\n outline:\n \"border-border text-foreground [a]:hover:bg-accent [a]:hover:text-accent-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n"],"names":["badgeVariants","cva","Badge","className","variant","asChild","props","Comp","Slot","jsx","cn"],"mappings":";;;;AAMA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WACE;AAAA,QACF,MACE;AAAA,QACF,aACE;AAAA,QACF,UACE;AAAA,QACF,SACE;AAAA,QACF,SACE;AAAA,QACF,OACE;AAAA,QACF,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC,IAAW;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,GAC8D;AAC5D,QAAMC,IAAOF,IAAUG,EAAK,OAAO;AAEnC,SACE,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAcH;AAAA,MACd,WAAWM,EAAGV,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),s=require("class-variance-authority"),u=require("radix-ui"),c=require("../../lib/utils.cjs"),a=s.cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/85",outline:"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/75 dark:hover:bg-secondary/85 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:hover:bg-accent/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 dark:bg-destructive/20 dark:hover:bg-destructive/30",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l({className:n,variant:e="default",size:t="default",asChild:r=!1,...i}){const o=r?u.Slot.Root:"button";return d.jsx(o,{"data-slot":"button","data-variant":e,"data-size":t,className:c.cn(a({variant:e,size:t,className:n})),...i})}exports.Button=l;exports.buttonVariants=a;
|
|
2
2
|
//# sourceMappingURL=button.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.cjs","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground
|
|
1
|
+
{"version":3,"file":"button.cjs","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/85\",\n outline:\n \"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/75 dark:hover:bg-secondary/85 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:hover:bg-accent/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 dark:bg-destructive/20 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","cn"],"mappings":"kNAMMA,EAAiBC,EAAAA,IACrB,mfACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,yDACT,QACE,kLACF,UACE,6JACF,MACE,oIACF,YACE,qJACF,KAAM,iDAAA,EAER,KAAM,CACJ,QACE,uFACF,GAAI,gNACJ,GAAI,0NACJ,GAAI,uFACJ,KAAM,SACN,UACE,0HACF,UACE,qFACF,UAAW,QAAA,CACb,EAEF,gBAAiB,CACf,QAAS,UACT,KAAM,SAAA,CACR,CAEJ,EAEA,SAASC,EAAO,CACd,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,UACP,QAAAC,EAAU,GACV,GAAGC,CACL,EAGK,CACH,MAAMC,EAAOF,EAAUG,EAAAA,KAAK,KAAO,SAEnC,OACEC,EAAAA,IAACF,EAAA,CACC,YAAU,SACV,eAAcJ,EACd,YAAWC,EACX,UAAWM,EAAAA,GAAGX,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAA,CAAW,CAAC,EACzD,GAAGI,CAAA,CAAA,CAGV"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { cva as d } from "class-variance-authority";
|
|
3
3
|
import { Slot as s } from "radix-ui";
|
|
4
|
-
import { cn as
|
|
5
|
-
const
|
|
4
|
+
import { cn as c } from "../../lib/utils.js";
|
|
5
|
+
const u = d(
|
|
6
6
|
"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
|
-
default: "bg-primary text-primary-foreground
|
|
11
|
-
outline: "border-border bg-transparent hover:bg-
|
|
12
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/
|
|
13
|
-
ghost: "hover:bg-
|
|
10
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/85",
|
|
11
|
+
outline: "border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input dark:hover:bg-input/50",
|
|
12
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/75 dark:hover:bg-secondary/85 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
13
|
+
ghost: "hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:hover:bg-accent/50",
|
|
14
14
|
destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 dark:bg-destructive/20 dark:hover:bg-destructive/30",
|
|
15
15
|
link: "text-primary underline-offset-4 hover:underline"
|
|
16
16
|
},
|
|
@@ -32,26 +32,26 @@ const l = d(
|
|
|
32
32
|
}
|
|
33
33
|
);
|
|
34
34
|
function b({
|
|
35
|
-
className:
|
|
35
|
+
className: a,
|
|
36
36
|
variant: e = "default",
|
|
37
37
|
size: t = "default",
|
|
38
|
-
asChild:
|
|
38
|
+
asChild: r = !1,
|
|
39
39
|
...n
|
|
40
40
|
}) {
|
|
41
|
-
const i =
|
|
41
|
+
const i = r ? s.Root : "button";
|
|
42
42
|
return /* @__PURE__ */ o(
|
|
43
43
|
i,
|
|
44
44
|
{
|
|
45
45
|
"data-slot": "button",
|
|
46
46
|
"data-variant": e,
|
|
47
47
|
"data-size": t,
|
|
48
|
-
className: u(
|
|
48
|
+
className: c(u({ variant: e, size: t, className: a })),
|
|
49
49
|
...n
|
|
50
50
|
}
|
|
51
51
|
);
|
|
52
52
|
}
|
|
53
53
|
export {
|
|
54
54
|
b as Button,
|
|
55
|
-
|
|
55
|
+
u as buttonVariants
|
|
56
56
|
};
|
|
57
57
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/85\",\n outline:\n \"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/75 dark:hover:bg-secondary/85 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:hover:bg-accent/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 dark:bg-destructive/20 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","cn"],"mappings":";;;;AAMA,MAAMA,IAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SACE;AAAA,QACF,WACE;AAAA,QACF,OACE;AAAA,QACF,aACE;AAAA,QACF,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,SACE;AAAA,QACF,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WACE;AAAA,QACF,WACE;AAAA,QACF,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASC,EAAO;AAAA,EACd,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,GAGK;AACH,QAAMC,IAAOF,IAAUG,EAAK,OAAO;AAEnC,SACE,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAcJ;AAAA,MACd,aAAWC;AAAA,MACX,WAAWM,EAAGX,EAAe,EAAE,SAAAI,GAAS,MAAAC,GAAM,WAAAF,EAAA,CAAW,CAAC;AAAA,MACzD,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),n=require("class-variance-authority"),m=require("radix-ui"),d=require("./separator.cjs"),s=require("../../lib/utils.cjs");function u({className:e,...t}){return a.jsx("div",{role:"list","data-slot":"item-group",className:s.cn("group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",e),...t})}function c({className:e,...t}){return a.jsx(d.Separator,{"data-slot":"item-separator",orientation:"horizontal",className:s.cn("my-2",e),...t})}const f=n.cva("group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),n=require("class-variance-authority"),m=require("radix-ui"),d=require("./separator.cjs"),s=require("../../lib/utils.cjs");function u({className:e,...t}){return a.jsx("div",{role:"list","data-slot":"item-group",className:s.cn("group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",e),...t})}function c({className:e,...t}){return a.jsx(d.Separator,{"data-slot":"item-separator",orientation:"horizontal",className:s.cn("my-2",e),...t})}const f=n.cva("group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-accent",{variants:{variant:{default:"border-transparent",outline:"border-border",muted:"border-transparent bg-muted/50"},size:{default:"gap-2.5 px-3 py-2.5",sm:"gap-2.5 px-3 py-2.5",xs:"gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0"}},defaultVariants:{variant:"default",size:"default"}});function p({className:e,variant:t="default",size:i="default",asChild:r=!1,...o}){const l=r?m.Slot.Root:"div";return a.jsx(l,{"data-slot":"item","data-variant":t,"data-size":i,className:s.cn(f({variant:t,size:i,className:e})),...o})}const x=n.cva("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",{variants:{variant:{default:"bg-transparent",icon:"[&_svg:not([class*='size-'])]:size-4",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"}},defaultVariants:{variant:"default"}});function g({className:e,variant:t="default",...i}){return a.jsx("div",{"data-slot":"item-media","data-variant":t,className:s.cn(x({variant:t,className:e})),...i})}function v({className:e,...t}){return a.jsx("div",{"data-slot":"item-content",className:s.cn("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",e),...t})}function I({className:e,...t}){return a.jsx("div",{"data-slot":"item-title",className:s.cn("line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",e),...t})}function b({className:e,...t}){return a.jsx("p",{"data-slot":"item-description",className:s.cn("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",e),...t})}function j({className:e,...t}){return a.jsx("div",{"data-slot":"item-actions",className:s.cn("flex items-center gap-2",e),...t})}function z({className:e,...t}){return a.jsx("div",{"data-slot":"item-header",className:s.cn("flex basis-full items-center justify-between gap-2",e),...t})}function h({className:e,...t}){return a.jsx("div",{"data-slot":"item-footer",className:s.cn("flex basis-full items-center justify-between gap-2",e),...t})}exports.Item=p;exports.ItemActions=j;exports.ItemContent=v;exports.ItemDescription=b;exports.ItemFooter=h;exports.ItemGroup=u;exports.ItemHeader=z;exports.ItemMedia=g;exports.ItemSeparator=c;exports.ItemTitle=I;
|
|
2
2
|
//# sourceMappingURL=item.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.cjs","sources":["../../../src/components/ui/item.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\n \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-2\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-
|
|
1
|
+
{"version":3,"file":"item.cjs","sources":["../../../src/components/ui/item.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\n \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-2\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-accent\",\n {\n variants: {\n variant: {\n default: \"border-transparent\",\n outline: \"border-border\",\n muted: \"border-transparent bg-muted/50\",\n },\n size: {\n default: \"gap-2.5 px-3 py-2.5\",\n sm: \"gap-2.5 px-3 py-2.5\",\n xs: \"gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof itemVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"div\"\n return (\n <Comp\n data-slot=\"item\"\n data-variant={variant}\n data-size={size}\n className={cn(itemVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nconst itemMediaVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n \"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\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot=\"item-media\"\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-content\"\n className={cn(\n \"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-title\"\n className={cn(\n \"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n \"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\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-actions\"\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-header\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-footer\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n}\n"],"names":["ItemGroup","className","props","jsx","cn","ItemSeparator","Separator","itemVariants","cva","Item","variant","size","asChild","Comp","Slot","itemMediaVariants","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ function z({
|
|
|
32
32
|
);
|
|
33
33
|
}
|
|
34
34
|
const u = r(
|
|
35
|
-
"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-
|
|
35
|
+
"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-accent",
|
|
36
36
|
{
|
|
37
37
|
variants: {
|
|
38
38
|
variant: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../src/components/ui/item.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\n \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-2\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../src/components/ui/item.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\n \"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-2\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:shadow-focus [a]:transition-colors [a]:hover:bg-accent\",\n {\n variants: {\n variant: {\n default: \"border-transparent\",\n outline: \"border-border\",\n muted: \"border-transparent bg-muted/50\",\n },\n size: {\n default: \"gap-2.5 px-3 py-2.5\",\n sm: \"gap-2.5 px-3 py-2.5\",\n xs: \"gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof itemVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"div\"\n return (\n <Comp\n data-slot=\"item\"\n data-variant={variant}\n data-size={size}\n className={cn(itemVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nconst itemMediaVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n \"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\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot=\"item-media\"\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-content\"\n className={cn(\n \"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-title\"\n className={cn(\n \"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n \"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\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-actions\"\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-header\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-footer\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n}\n"],"names":["ItemGroup","className","props","jsx","cn","ItemSeparator","Separator","itemVariants","cva","Item","variant","size","asChild","Comp","Slot","itemMediaVariants","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
|