@fluencypassdevs/cycle 0.6.2 → 0.6.4
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/{chunk-JDAPQW5C.js → chunk-XVBX263W.js} +8 -8
- package/dist/chunk-XVBX263W.js.map +1 -0
- package/dist/{chunk-LHSUEXOW.js → chunk-ZTANTDKS.js} +18 -12
- package/dist/chunk-ZTANTDKS.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/logos/product.d.ts +2 -1
- package/dist/logos/product.js +1 -1
- package/dist/ui/progress-dot.d.ts +4 -2
- package/dist/ui/progress-dot.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-JDAPQW5C.js.map +0 -1
- package/dist/chunk-LHSUEXOW.js.map +0 -1
|
@@ -10,23 +10,23 @@ var sizeMap = {
|
|
|
10
10
|
lg: { icon: "lg", text: "heading-md" },
|
|
11
11
|
xl: { icon: "xl", text: "heading-lg" }
|
|
12
12
|
};
|
|
13
|
-
function ProductLogo({ icon, label, size = "sm", className }) {
|
|
13
|
+
function ProductLogo({ icon, label, size = "sm", theme, className }) {
|
|
14
14
|
const { icon: iconSize, text } = sizeMap[size];
|
|
15
15
|
return /* @__PURE__ */ jsxs("span", { className: cn("inline-flex items-center", size === "xs" ? "gap-1" : "gap-2", className), children: [
|
|
16
|
-
/* @__PURE__ */ jsx(CycleIcon, { icon, size: iconSize, decorative: true }),
|
|
17
|
-
/* @__PURE__ */ jsx("span", { className: cn(text
|
|
16
|
+
/* @__PURE__ */ jsx("span", { className: cn(theme, theme && "text-foreground"), children: /* @__PURE__ */ jsx(CycleIcon, { icon, size: iconSize, decorative: true }) }),
|
|
17
|
+
/* @__PURE__ */ jsx("span", { className: cn(text), children: label })
|
|
18
18
|
] });
|
|
19
19
|
}
|
|
20
20
|
function ClassLogo({ size = "sm", className }) {
|
|
21
|
-
return /* @__PURE__ */ jsx(ProductLogo, { icon: GraduationCap, label: "Class", size,
|
|
21
|
+
return /* @__PURE__ */ jsx(ProductLogo, { icon: GraduationCap, label: "Class", size, theme: "theme-class", className });
|
|
22
22
|
}
|
|
23
23
|
function PrivateTalkLogo({ size = "sm", className }) {
|
|
24
|
-
return /* @__PURE__ */ jsx(ProductLogo, { icon: UserLock, label: "Private Talk", size,
|
|
24
|
+
return /* @__PURE__ */ jsx(ProductLogo, { icon: UserLock, label: "Private Talk", size, theme: "theme-private", className });
|
|
25
25
|
}
|
|
26
26
|
function GroupTalkLogo({ size = "sm", className }) {
|
|
27
|
-
return /* @__PURE__ */ jsx(ProductLogo, { icon: MessagesSquare, label: "Group Talk", size,
|
|
27
|
+
return /* @__PURE__ */ jsx(ProductLogo, { icon: MessagesSquare, label: "Group Talk", size, theme: "theme-group", className });
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export { ClassLogo, GroupTalkLogo, PrivateTalkLogo, ProductLogo };
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
31
|
+
//# sourceMappingURL=chunk-XVBX263W.js.map
|
|
32
|
+
//# sourceMappingURL=chunk-XVBX263W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/product-logo.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,OAAA,GAAU;AAAA,EACd,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,WAAA,EAAY;AAAA,EAChD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA,EAAa;AAAA,EACjD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA,EAAa;AAAA,EACjD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA,EAAa;AAAA,EACjD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA;AACtC,CAAA;AAYO,SAAS,WAAA,CAAY,EAAE,IAAA,EAAM,KAAA,EAAO,OAAO,IAAA,EAAM,KAAA,EAAO,WAAU,EAAqB;AAC5F,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAK,GAAI,QAAQ,IAAI,CAAA;AAC7C,EAAA,uBACE,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,IAAA,GAAO,OAAA,GAAU,OAAA,EAAS,SAAS,CAAA,EAC1F,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,KAAA,EAAO,SAAS,iBAAiB,CAAA,EACnD,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAY,IAAA,EAAM,QAAA,EAAU,UAAA,EAAU,MAAC,CAAA,EACpD,CAAA;AAAA,wBACC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,IAAI,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACpC,CAAA;AAEJ;AAGO,SAAS,SAAA,CAAU,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACpG,EAAA,uBAAO,GAAA,CAAC,eAAY,IAAA,EAAM,aAAA,EAAe,OAAM,OAAA,EAAQ,IAAA,EAAY,KAAA,EAAM,aAAA,EAAc,SAAA,EAAsB,CAAA;AAC/G;AAEO,SAAS,eAAA,CAAgB,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AAC1G,EAAA,uBAAO,GAAA,CAAC,eAAY,IAAA,EAAM,QAAA,EAAU,OAAM,cAAA,EAAe,IAAA,EAAY,KAAA,EAAM,eAAA,EAAgB,SAAA,EAAsB,CAAA;AACnH;AAEO,SAAS,aAAA,CAAc,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACxG,EAAA,uBAAO,GAAA,CAAC,eAAY,IAAA,EAAM,cAAA,EAAgB,OAAM,YAAA,EAAa,IAAA,EAAY,KAAA,EAAM,aAAA,EAAc,SAAA,EAAsB,CAAA;AACrH","file":"chunk-XVBX263W.js","sourcesContent":["import { type LucideIcon } from \"lucide-react\"\nimport { GraduationCap, UserLock, MessagesSquare } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { CycleIcon, type IconSize } from \"@/components/icons\"\n\nconst sizeMap = {\n xs: { icon: \"xs\" as IconSize, text: \"button-sm\" },\n sm: { icon: \"sm\" as IconSize, text: \"heading-xs\" },\n md: { icon: \"md\" as IconSize, text: \"heading-sm\" },\n lg: { icon: \"lg\" as IconSize, text: \"heading-md\" },\n xl: { icon: \"xl\" as IconSize, text: \"heading-lg\" },\n} as const\n\ntype ProductLogoSize = keyof typeof sizeMap\n\ninterface ProductLogoProps {\n icon: LucideIcon\n label: string\n size?: ProductLogoSize\n theme?: string\n className?: string\n}\n\nexport function ProductLogo({ icon, label, size = \"sm\", theme, className }: ProductLogoProps) {\n const { icon: iconSize, text } = sizeMap[size]\n return (\n <span className={cn(\"inline-flex items-center\", size === \"xs\" ? \"gap-1\" : \"gap-2\", className)}>\n <span className={cn(theme, theme && \"text-foreground\")}>\n <CycleIcon icon={icon} size={iconSize} decorative />\n </span>\n <span className={cn(text)}>{label}</span>\n </span>\n )\n}\n\n/* Pre-built product logos */\nexport function ClassLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo icon={GraduationCap} label=\"Class\" size={size} theme=\"theme-class\" className={className} />\n}\n\nexport function PrivateTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo icon={UserLock} label=\"Private Talk\" size={size} theme=\"theme-private\" className={className} />\n}\n\nexport function GroupTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo icon={MessagesSquare} label=\"Group Talk\" size={size} theme=\"theme-group\" className={className} />\n}\n"]}
|
|
@@ -35,12 +35,14 @@ function ProgressDot(_a) {
|
|
|
35
35
|
value,
|
|
36
36
|
size = "default",
|
|
37
37
|
theme,
|
|
38
|
+
themes,
|
|
38
39
|
className
|
|
39
40
|
} = _b, props = __objRest(_b, [
|
|
40
41
|
"stages",
|
|
41
42
|
"value",
|
|
42
43
|
"size",
|
|
43
44
|
"theme",
|
|
45
|
+
"themes",
|
|
44
46
|
"className"
|
|
45
47
|
]);
|
|
46
48
|
const total = Math.min(10, Math.max(2, stages));
|
|
@@ -51,20 +53,24 @@ function ProgressDot(_a) {
|
|
|
51
53
|
"data-slot": "progress-dot",
|
|
52
54
|
className: cn(progressDotVariants({ size }), className)
|
|
53
55
|
}, props), {
|
|
54
|
-
children: Array.from({ length: total }, (_, i) =>
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
children: Array.from({ length: total }, (_, i) => {
|
|
57
|
+
var _a2;
|
|
58
|
+
const dotTheme = (_a2 = themes == null ? void 0 : themes[i]) != null ? _a2 : theme;
|
|
59
|
+
return /* @__PURE__ */ jsx(
|
|
60
|
+
"div",
|
|
61
|
+
{
|
|
62
|
+
className: cn(
|
|
63
|
+
dotVariants({ size }),
|
|
64
|
+
i < filled ? cn(dotTheme, "bg-primary") : "bg-neutral-input"
|
|
65
|
+
)
|
|
66
|
+
},
|
|
67
|
+
i
|
|
68
|
+
);
|
|
69
|
+
})
|
|
64
70
|
})
|
|
65
71
|
);
|
|
66
72
|
}
|
|
67
73
|
|
|
68
74
|
export { ProgressDot, dotVariants, progressDotVariants };
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-ZTANTDKS.js.map
|
|
76
|
+
//# sourceMappingURL=chunk-ZTANTDKS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/progress-dot.tsx"],"names":["_a"],"mappings":";;;;;AAKA,IAAM,mBAAA,GAAsB,IAAI,mBAAA,EAAqB;AAAA,EACnD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,OAAA,EAAS,OAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAED,IAAM,WAAA,GAAc,IAAI,uBAAA,EAAyB;AAAA,EAC/C,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,QAAA;AAAA,MACJ,EAAA,EAAI,UAAA;AAAA,MACJ,OAAA,EAAS,QAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAeD,SAAS,YAAY,EAAA,EAQA;AARA,EAAA,IAAA,EAAA,GAAA,EAAA,EACnB;AAAA,IAAA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,KAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GApDF,GA8CqB,EAAA,EAOhB,KAAA,GAAA,SAAA,CAPgB,EAAA,EAOhB;AAAA,IANH,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,KAAA,GAAQ,KAAK,GAAA,CAAI,EAAA,EAAI,KAAK,GAAA,CAAI,CAAA,EAAG,MAAM,CAAC,CAAA;AAC9C,EAAA,MAAM,MAAA,GAAS,KAAK,GAAA,CAAI,KAAA,EAAO,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAEjD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EAClD,KAAA,CAAA,EAHL;AAAA,MAKE,QAAA,EAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAM,EAAG,CAAC,GAAG,CAAA,KAAM;AAhE/C,QAAA,IAAAA,GAAAA;AAiEQ,QAAA,MAAM,QAAA,GAAA,CAAWA,GAAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAS,CAAA,CAAA,KAAT,OAAAA,GAAAA,GAAe,KAAA;AAChC,QAAA,uBACE,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAW,EAAA;AAAA,cACT,WAAA,CAAY,EAAE,IAAA,EAAM,CAAA;AAAA,cACpB,CAAA,GAAI,MAAA,GACA,EAAA,CAAG,QAAA,EAAU,YAAY,CAAA,GACzB;AAAA;AACN,WAAA;AAAA,UANK;AAAA,SAOP;AAAA,MAEJ,CAAC;AAAA,KAAA;AAAA,GACH;AAEJ","file":"chunk-ZTANTDKS.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst progressDotVariants = cva(\"flex items-center\", {\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-1\",\n default: \"gap-1\",\n lg: \"gap-1\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nconst dotVariants = cva(\"shrink-0 rounded-full\", {\n variants: {\n size: {\n xs: \"size-1\",\n sm: \"size-1.5\",\n default: \"size-2\",\n lg: \"size-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nexport interface ProgressDotProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof dotVariants> {\n /** Numero total de stages (2–10) */\n stages: number\n /** Quantos stages estao preenchidos (0–stages) */\n value: number\n /** Classe de tema aplicada em todos os dots preenchidos (ex: \"theme-class\") */\n theme?: string\n /** Temas individuais por dot (ex: [\"theme-class\", \"theme-brand\", undefined, \"theme-private\"]). Sobrescreve `theme` para dots que tiverem valor. */\n themes?: (string | undefined)[]\n}\n\nfunction ProgressDot({\n stages,\n value,\n size = \"default\",\n theme,\n themes,\n className,\n ...props\n}: ProgressDotProps) {\n const total = Math.min(10, Math.max(2, stages))\n const filled = Math.min(total, Math.max(0, value))\n\n return (\n <div\n data-slot=\"progress-dot\"\n className={cn(progressDotVariants({ size }), className)}\n {...props}\n >\n {Array.from({ length: total }, (_, i) => {\n const dotTheme = themes?.[i] ?? theme\n return (\n <div\n key={i}\n className={cn(\n dotVariants({ size }),\n i < filled\n ? cn(dotTheme, \"bg-primary\")\n : \"bg-neutral-input\"\n )}\n />\n )\n })}\n </div>\n )\n}\n\nexport { ProgressDot, progressDotVariants, dotVariants }\n"]}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { Skeleton } from './chunk-2EKU7RP4.js';
|
|
|
4
4
|
export { Spinner } from './chunk-5XNYJECW.js';
|
|
5
5
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-TZ7BEYQ7.js';
|
|
6
6
|
export { FluencypassIcon, FluencypassLogo } from './chunk-5LZHXNBV.js';
|
|
7
|
-
export { ClassLogo, GroupTalkLogo, PrivateTalkLogo, ProductLogo } from './chunk-
|
|
7
|
+
export { ClassLogo, GroupTalkLogo, PrivateTalkLogo, ProductLogo } from './chunk-XVBX263W.js';
|
|
8
8
|
export { AudioPlayer } from './chunk-UAHCRXAG.js';
|
|
9
9
|
export { VideoPlayer } from './chunk-IXMIKS5H.js';
|
|
10
10
|
export { Toaster, cycleToast } from './chunk-ELZCZ6ZH.js';
|
|
@@ -14,7 +14,7 @@ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScro
|
|
|
14
14
|
export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from './chunk-EF6FQT4Y.js';
|
|
15
15
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './chunk-IGMII4BK.js';
|
|
16
16
|
export { ProgressStage } from './chunk-NYJMA2T7.js';
|
|
17
|
-
export { ProgressDot, dotVariants, progressDotVariants } from './chunk-
|
|
17
|
+
export { ProgressDot, dotVariants, progressDotVariants } from './chunk-ZTANTDKS.js';
|
|
18
18
|
export { FileCard, fileCardVariants } from './chunk-R4LITCVX.js';
|
|
19
19
|
export { ChatPanel } from './chunk-WUZODCC2.js';
|
|
20
20
|
export { ChatBubble, chatBubbleVariants } from './chunk-HZJRM5EK.js';
|
package/dist/logos/product.d.ts
CHANGED
|
@@ -29,9 +29,10 @@ interface ProductLogoProps {
|
|
|
29
29
|
icon: LucideIcon;
|
|
30
30
|
label: string;
|
|
31
31
|
size?: ProductLogoSize;
|
|
32
|
+
theme?: string;
|
|
32
33
|
className?: string;
|
|
33
34
|
}
|
|
34
|
-
declare function ProductLogo({ icon, label, size, className }: ProductLogoProps): react_jsx_runtime.JSX.Element;
|
|
35
|
+
declare function ProductLogo({ icon, label, size, theme, className }: ProductLogoProps): react_jsx_runtime.JSX.Element;
|
|
35
36
|
declare function ClassLogo({ size, className }: {
|
|
36
37
|
size?: ProductLogoSize;
|
|
37
38
|
className?: string;
|
package/dist/logos/product.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ClassLogo, GroupTalkLogo, PrivateTalkLogo, ProductLogo } from '../chunk-
|
|
1
|
+
export { ClassLogo, GroupTalkLogo, PrivateTalkLogo, ProductLogo } from '../chunk-XVBX263W.js';
|
|
2
2
|
import '../chunk-D4QCYBCD.js';
|
|
3
3
|
import '../chunk-V7M2NHUO.js';
|
|
4
4
|
import '../chunk-TYCPXAXF.js';
|
|
@@ -14,9 +14,11 @@ interface ProgressDotProps extends React.ComponentProps<"div">, VariantProps<typ
|
|
|
14
14
|
stages: number;
|
|
15
15
|
/** Quantos stages estao preenchidos (0–stages) */
|
|
16
16
|
value: number;
|
|
17
|
-
/** Classe de tema aplicada
|
|
17
|
+
/** Classe de tema aplicada em todos os dots preenchidos (ex: "theme-class") */
|
|
18
18
|
theme?: string;
|
|
19
|
+
/** Temas individuais por dot (ex: ["theme-class", "theme-brand", undefined, "theme-private"]). Sobrescreve `theme` para dots que tiverem valor. */
|
|
20
|
+
themes?: (string | undefined)[];
|
|
19
21
|
}
|
|
20
|
-
declare function ProgressDot({ stages, value, size, theme, className, ...props }: ProgressDotProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
declare function ProgressDot({ stages, value, size, theme, themes, className, ...props }: ProgressDotProps): react_jsx_runtime.JSX.Element;
|
|
21
23
|
|
|
22
24
|
export { ProgressDot, type ProgressDotProps, dotVariants, progressDotVariants };
|
package/dist/ui/progress-dot.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ProgressDot, dotVariants, progressDotVariants } from '../chunk-
|
|
1
|
+
export { ProgressDot, dotVariants, progressDotVariants } from '../chunk-ZTANTDKS.js';
|
|
2
2
|
import '../chunk-TYCPXAXF.js';
|
|
3
3
|
import '../chunk-YINJ5YZ5.js';
|
|
4
4
|
//# sourceMappingURL=progress-dot.js.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/product-logo.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,OAAA,GAAU;AAAA,EACd,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,WAAA,EAAY;AAAA,EAChD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA,EAAa;AAAA,EACjD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA,EAAa;AAAA,EACjD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA,EAAa;AAAA,EACjD,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAkB,MAAM,YAAA;AACtC,CAAA;AAWO,SAAS,YAAY,EAAE,IAAA,EAAM,OAAO,IAAA,GAAO,IAAA,EAAM,WAAU,EAAqB;AACrF,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAK,GAAI,QAAQ,IAAI,CAAA;AAC7C,EAAA,uBACE,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,IAAA,GAAO,OAAA,GAAU,OAAA,EAAS,SAAS,CAAA,EAC1F,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAY,IAAA,EAAM,QAAA,EAAU,YAAU,IAAA,EAAC,CAAA;AAAA,wBACjD,MAAA,EAAA,EAAK,SAAA,EAAW,GAAG,IAAA,EAAM,yBAAyB,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAC/D,CAAA;AAEJ;AAGO,SAAS,SAAA,CAAU,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACpG,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAM,aAAA,EAAe,KAAA,EAAM,OAAA,EAAQ,IAAA,EAAY,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA,EAAG,CAAA;AAC9H;AAEO,SAAS,eAAA,CAAgB,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AAC1G,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAM,QAAA,EAAU,KAAA,EAAM,cAAA,EAAe,IAAA,EAAY,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA,EAAG,CAAA;AAClI;AAEO,SAAS,aAAA,CAAc,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACxG,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAM,YAAA,EAAa,IAAA,EAAY,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA,EAAG,CAAA;AACpI","file":"chunk-JDAPQW5C.js","sourcesContent":["import { type LucideIcon } from \"lucide-react\"\nimport { GraduationCap, UserLock, MessagesSquare } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { CycleIcon, type IconSize } from \"@/components/icons\"\n\nconst sizeMap = {\n xs: { icon: \"xs\" as IconSize, text: \"button-sm\" },\n sm: { icon: \"sm\" as IconSize, text: \"heading-xs\" },\n md: { icon: \"md\" as IconSize, text: \"heading-sm\" },\n lg: { icon: \"lg\" as IconSize, text: \"heading-md\" },\n xl: { icon: \"xl\" as IconSize, text: \"heading-lg\" },\n} as const\n\ntype ProductLogoSize = keyof typeof sizeMap\n\ninterface ProductLogoProps {\n icon: LucideIcon\n label: string\n size?: ProductLogoSize\n className?: string\n}\n\nexport function ProductLogo({ icon, label, size = \"sm\", className }: ProductLogoProps) {\n const { icon: iconSize, text } = sizeMap[size]\n return (\n <span className={cn(\"inline-flex items-center\", size === \"xs\" ? \"gap-1\" : \"gap-2\", className)}>\n <CycleIcon icon={icon} size={iconSize} decorative />\n <span className={cn(text, \"text-neutral-foreground\")}>{label}</span>\n </span>\n )\n}\n\n/* Pre-built product logos */\nexport function ClassLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo icon={GraduationCap} label=\"Class\" size={size} className={cn(\"theme-class text-foreground\", className)} />\n}\n\nexport function PrivateTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo icon={UserLock} label=\"Private Talk\" size={size} className={cn(\"theme-private text-foreground\", className)} />\n}\n\nexport function GroupTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo icon={MessagesSquare} label=\"Group Talk\" size={size} className={cn(\"theme-group text-foreground\", className)} />\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/progress-dot.tsx"],"names":[],"mappings":";;;;;AAKA,IAAM,mBAAA,GAAsB,IAAI,mBAAA,EAAqB;AAAA,EACnD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,OAAA,EAAS,OAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAED,IAAM,WAAA,GAAc,IAAI,uBAAA,EAAyB;AAAA,EAC/C,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,QAAA;AAAA,MACJ,EAAA,EAAI,UAAA;AAAA,MACJ,OAAA,EAAS,QAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAaD,SAAS,YAAY,EAAA,EAOA;AAPA,EAAA,IAAA,EAAA,GAAA,EAAA,EACnB;AAAA,IAAA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,KAAA;AAAA,IACA;AAAA,GAjDF,GA4CqB,EAAA,EAMhB,KAAA,GAAA,SAAA,CANgB,EAAA,EAMhB;AAAA,IALH,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,KAAA,GAAQ,KAAK,GAAA,CAAI,EAAA,EAAI,KAAK,GAAA,CAAI,CAAA,EAAG,MAAM,CAAC,CAAA;AAC9C,EAAA,MAAM,MAAA,GAAS,KAAK,GAAA,CAAI,KAAA,EAAO,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAEjD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EAClD,KAAA,CAAA,EAHL;AAAA,MAKE,QAAA,EAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAM,EAAG,CAAC,GAAG,CAAA,qBACjC,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAW,EAAA;AAAA,YACT,WAAA,CAAY,EAAE,IAAA,EAAM,CAAA;AAAA,YACpB,CAAA,GAAI,MAAA,GACA,EAAA,CAAG,KAAA,EAAO,YAAY,CAAA,GACtB;AAAA;AACN,SAAA;AAAA,QANK;AAAA,OAQR;AAAA,KAAA;AAAA,GACH;AAEJ","file":"chunk-LHSUEXOW.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst progressDotVariants = cva(\"flex items-center\", {\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-1\",\n default: \"gap-1\",\n lg: \"gap-1\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nconst dotVariants = cva(\"shrink-0 rounded-full\", {\n variants: {\n size: {\n xs: \"size-1\",\n sm: \"size-1.5\",\n default: \"size-2\",\n lg: \"size-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nexport interface ProgressDotProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof dotVariants> {\n /** Numero total de stages (2–10) */\n stages: number\n /** Quantos stages estao preenchidos (0–stages) */\n value: number\n /** Classe de tema aplicada apenas nos dots preenchidos (ex: \"theme-class\") */\n theme?: string\n}\n\nfunction ProgressDot({\n stages,\n value,\n size = \"default\",\n theme,\n className,\n ...props\n}: ProgressDotProps) {\n const total = Math.min(10, Math.max(2, stages))\n const filled = Math.min(total, Math.max(0, value))\n\n return (\n <div\n data-slot=\"progress-dot\"\n className={cn(progressDotVariants({ size }), className)}\n {...props}\n >\n {Array.from({ length: total }, (_, i) => (\n <div\n key={i}\n className={cn(\n dotVariants({ size }),\n i < filled\n ? cn(theme, \"bg-primary\")\n : \"bg-neutral-input\"\n )}\n />\n ))}\n </div>\n )\n}\n\nexport { ProgressDot, progressDotVariants, dotVariants }\n"]}
|