@parto-system-design/ui 1.0.5 → 1.1.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/index.cjs +163 -106
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +39 -20
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +163 -106
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -982,7 +982,7 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
982
982
|
bg-destructive-300 dark:bg-destructive-400 hover:bg-destructive-400 dark:hover:bg-destructive/50
|
|
983
983
|
border-destructive-500 hover:border-destructive
|
|
984
984
|
hover:text-hi-contrast
|
|
985
|
-
focus-visible:outline-
|
|
985
|
+
focus-visible:outline-brand-600
|
|
986
986
|
data-[state=open]:border-destructive
|
|
987
987
|
data-[state=open]:bg-destructive-400 dark:data-[state=open]:bg-destructive/50
|
|
988
988
|
data-[state=open]:outline-destructive
|
|
@@ -992,7 +992,7 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
992
992
|
bg-warning-300 dark:bg-warning-400 hover:bg-warning-400 dark:hover:bg-warning/50
|
|
993
993
|
border-warning-500 hover:border-warning
|
|
994
994
|
hover:text-hi-contrast
|
|
995
|
-
focus-visible:outline-
|
|
995
|
+
focus-visible:outline-brand-600
|
|
996
996
|
data-[state=open]:border-warning
|
|
997
997
|
data-[state=open]:bg-warning-400 dark:data-[state=open]:bg-warning/50
|
|
998
998
|
data-[state=open]:outline-warning
|
|
@@ -1002,7 +1002,7 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
1002
1002
|
bg-destructive-300 dark:bg-destructive-400 hover:bg-destructive-400 dark:hover:bg-destructive/50
|
|
1003
1003
|
border-destructive-500 hover:border-destructive
|
|
1004
1004
|
hover:text-hi-contrast
|
|
1005
|
-
focus-visible:outline-
|
|
1005
|
+
focus-visible:outline-brand-600
|
|
1006
1006
|
data-[state=open]:border-destructive
|
|
1007
1007
|
data-[state=open]:bg-destructive-400 dark:data-[state=open]:bg-destructive/50
|
|
1008
1008
|
data-[state=open]:outline-destructive
|
|
@@ -4323,12 +4323,16 @@ var import_lucide_react15 = require("lucide-react");
|
|
|
4323
4323
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
4324
4324
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
4325
4325
|
var tagInputVariants = (0, import_class_variance_authority7.cva)(
|
|
4326
|
-
|
|
4326
|
+
cn(
|
|
4327
|
+
"flex min-h-[34px] w-full flex-wrap gap-1.5 rounded-md border border-control bg-foreground/[.026] px-3 py-1.5 text-sm text-foreground",
|
|
4328
|
+
"focus-within:outline-none focus-within:ring-2 focus-within:ring-background-control focus-within:ring-offset-2 focus-within:ring-offset-foreground-muted",
|
|
4329
|
+
"disabled:cursor-not-allowed disabled:text-foreground-muted disabled:opacity-50"
|
|
4330
|
+
),
|
|
4327
4331
|
{
|
|
4328
4332
|
variants: {
|
|
4329
4333
|
variant: {
|
|
4330
|
-
default: "
|
|
4331
|
-
secondary: "bg-
|
|
4334
|
+
default: "",
|
|
4335
|
+
secondary: "bg-surface-200"
|
|
4332
4336
|
}
|
|
4333
4337
|
},
|
|
4334
4338
|
defaultVariants: {
|
|
@@ -4399,7 +4403,7 @@ var TagInput = React14.forwardRef(
|
|
|
4399
4403
|
Badge,
|
|
4400
4404
|
{
|
|
4401
4405
|
variant: "secondary",
|
|
4402
|
-
className: "gap-1 pe-1 ps-2 h-
|
|
4406
|
+
className: "gap-1 pe-1 ps-2 h-6 text-xs font-medium hover:!bg-primary/20 hover:!text-primary transition-colors [&:hover_svg]:!text-primary",
|
|
4403
4407
|
children: [
|
|
4404
4408
|
tag,
|
|
4405
4409
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
@@ -4433,7 +4437,7 @@ var TagInput = React14.forwardRef(
|
|
|
4433
4437
|
value: inputValue,
|
|
4434
4438
|
onChange: (e) => setInputValue(e.target.value),
|
|
4435
4439
|
onKeyDown: handleKeyDown,
|
|
4436
|
-
className: "flex-1 bg-transparent outline-none placeholder:text-muted
|
|
4440
|
+
className: "flex-1 bg-transparent outline-none placeholder:text-foreground-muted min-w-[80px] text-sm leading-4",
|
|
4437
4441
|
placeholder: value.length === 0 ? placeholder : void 0,
|
|
4438
4442
|
disabled
|
|
4439
4443
|
}
|
|
@@ -4451,12 +4455,16 @@ var import_lucide_react16 = require("lucide-react");
|
|
|
4451
4455
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
4452
4456
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
4453
4457
|
var hashtagInputVariants = (0, import_class_variance_authority8.cva)(
|
|
4454
|
-
|
|
4458
|
+
cn(
|
|
4459
|
+
"flex min-h-[34px] w-full flex-wrap gap-1.5 rounded-md border border-control bg-foreground/[.026] px-3 py-1.5 text-sm text-foreground",
|
|
4460
|
+
"focus-within:outline-none focus-within:ring-2 focus-within:ring-background-control focus-within:ring-offset-2 focus-within:ring-offset-foreground-muted",
|
|
4461
|
+
"disabled:cursor-not-allowed disabled:text-foreground-muted disabled:opacity-50"
|
|
4462
|
+
),
|
|
4455
4463
|
{
|
|
4456
4464
|
variants: {
|
|
4457
4465
|
variant: {
|
|
4458
|
-
default: "
|
|
4459
|
-
secondary: "bg-
|
|
4466
|
+
default: "",
|
|
4467
|
+
secondary: "bg-surface-200"
|
|
4460
4468
|
}
|
|
4461
4469
|
},
|
|
4462
4470
|
defaultVariants: {
|
|
@@ -4527,7 +4535,7 @@ var HashtagInput = React15.forwardRef(
|
|
|
4527
4535
|
Badge,
|
|
4528
4536
|
{
|
|
4529
4537
|
variant: "secondary",
|
|
4530
|
-
className: "gap-1 pe-1 ps-2 h-
|
|
4538
|
+
className: "gap-1 pe-1 ps-2 h-6 text-xs font-medium hover:!bg-primary/20 hover:!text-primary transition-colors [&:hover_svg]:!text-primary",
|
|
4531
4539
|
children: [
|
|
4532
4540
|
"#",
|
|
4533
4541
|
tag,
|
|
@@ -4562,7 +4570,7 @@ var HashtagInput = React15.forwardRef(
|
|
|
4562
4570
|
value: inputValue,
|
|
4563
4571
|
onChange: (e) => setInputValue(e.target.value),
|
|
4564
4572
|
onKeyDown: handleKeyDown,
|
|
4565
|
-
className: "flex-1 bg-transparent outline-none placeholder:text-muted
|
|
4573
|
+
className: "flex-1 bg-transparent outline-none placeholder:text-foreground-muted min-w-[80px] text-sm leading-4",
|
|
4566
4574
|
placeholder: value.length === 0 ? placeholder : void 0,
|
|
4567
4575
|
disabled
|
|
4568
4576
|
}
|
|
@@ -4897,8 +4905,9 @@ function InstagramPostMedia({
|
|
|
4897
4905
|
{
|
|
4898
4906
|
className: cn(
|
|
4899
4907
|
"flex items-center justify-center bg-muted/30",
|
|
4900
|
-
variant === "vertical" ? "
|
|
4908
|
+
variant === "vertical" ? "w-full" : "w-[20%] shrink-0 h-full min-h-[200px] -my-[1px] -ms-[1px]"
|
|
4901
4909
|
),
|
|
4910
|
+
style: variant === "vertical" ? { aspectRatio: "4/5" } : void 0,
|
|
4902
4911
|
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "text-center p-4", children: [
|
|
4903
4912
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react18.ImageOff, { className: "size-12 mx-auto mb-2 text-muted-foreground" }),
|
|
4904
4913
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-sm text-muted-foreground", children: placeholderText })
|
|
@@ -4922,19 +4931,33 @@ function InstagramPostMedia({
|
|
|
4922
4931
|
)
|
|
4923
4932
|
] });
|
|
4924
4933
|
}
|
|
4925
|
-
const
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4934
|
+
const aspectRatio = item.aspectRatio || "4:5";
|
|
4935
|
+
const isPortrait = aspectRatio === "9:16" || aspectRatio === "4:5";
|
|
4936
|
+
const instagramRatio = isPortrait ? "4/5" : getAspectRatioCSS(aspectRatio);
|
|
4937
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
4938
|
+
"div",
|
|
4939
|
+
{
|
|
4940
|
+
className: "w-full relative overflow-hidden group cursor-pointer bg-black",
|
|
4941
|
+
style: { aspectRatio: instagramRatio },
|
|
4942
|
+
children: [
|
|
4943
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-colors duration-300 z-10" }),
|
|
4944
|
+
imageError[item.url] ? renderPlaceholder() : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4945
|
+
"img",
|
|
4946
|
+
{
|
|
4947
|
+
src: item.url,
|
|
4948
|
+
alt: "Post media",
|
|
4949
|
+
className: cn(
|
|
4950
|
+
"w-full h-full transition-transform duration-300 group-hover:scale-[1.02]",
|
|
4951
|
+
// For portrait images: object-contain to show full image like Instagram
|
|
4952
|
+
// For square/landscape: object-cover
|
|
4953
|
+
isPortrait ? "object-contain" : "object-cover"
|
|
4954
|
+
),
|
|
4955
|
+
onError: () => handleImageError(item.url)
|
|
4956
|
+
}
|
|
4957
|
+
)
|
|
4958
|
+
]
|
|
4959
|
+
}
|
|
4960
|
+
);
|
|
4938
4961
|
}
|
|
4939
4962
|
if (mediaType === "video" || media.length === 1 && media[0].type === "video") {
|
|
4940
4963
|
const item = media[0];
|
|
@@ -4952,19 +4975,31 @@ function InstagramPostMedia({
|
|
|
4952
4975
|
)
|
|
4953
4976
|
] });
|
|
4954
4977
|
}
|
|
4955
|
-
const
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4978
|
+
const aspectRatio = item.aspectRatio || "4:5";
|
|
4979
|
+
const isPortrait = aspectRatio === "9:16" || aspectRatio === "4:5";
|
|
4980
|
+
const instagramRatio = isPortrait ? "4/5" : getAspectRatioCSS(aspectRatio);
|
|
4981
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
4982
|
+
"div",
|
|
4983
|
+
{
|
|
4984
|
+
className: "w-full relative overflow-hidden group cursor-pointer bg-black",
|
|
4985
|
+
style: { aspectRatio: instagramRatio },
|
|
4986
|
+
children: [
|
|
4987
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-colors duration-300 z-10" }),
|
|
4988
|
+
imageError[item.url] ? renderPlaceholder() : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4989
|
+
"img",
|
|
4990
|
+
{
|
|
4991
|
+
src: item.url,
|
|
4992
|
+
alt: "Post media",
|
|
4993
|
+
className: cn(
|
|
4994
|
+
"w-full h-full transition-transform duration-300 group-hover:scale-[1.02]",
|
|
4995
|
+
isPortrait ? "object-contain" : "object-cover"
|
|
4996
|
+
),
|
|
4997
|
+
onError: () => handleImageError(item.url)
|
|
4998
|
+
}
|
|
4999
|
+
)
|
|
5000
|
+
]
|
|
5001
|
+
}
|
|
5002
|
+
);
|
|
4968
5003
|
}
|
|
4969
5004
|
if (mediaType === "carousel" || media.length > 1) {
|
|
4970
5005
|
if (variant === "horizontal") {
|
|
@@ -4986,38 +5021,47 @@ function InstagramPostMedia({
|
|
|
4986
5021
|
] }) });
|
|
4987
5022
|
}
|
|
4988
5023
|
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Carousel, { className: "w-full", children: [
|
|
4989
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(CarouselContent, { children: media.map((item, index) =>
|
|
4990
|
-
"
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5024
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(CarouselContent, { children: media.map((item, index) => {
|
|
5025
|
+
const itemAspect = item.aspectRatio || "4:5";
|
|
5026
|
+
const itemIsPortrait = itemAspect === "9:16" || itemAspect === "4:5";
|
|
5027
|
+
const itemRatio = itemIsPortrait ? "4/5" : getAspectRatioCSS(itemAspect);
|
|
5028
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(CarouselItem, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
5029
|
+
"div",
|
|
5030
|
+
{
|
|
5031
|
+
className: "w-full relative overflow-hidden group cursor-pointer bg-black",
|
|
5032
|
+
style: { aspectRatio: itemRatio },
|
|
5033
|
+
children: [
|
|
5034
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-colors duration-300 z-10" }),
|
|
5035
|
+
imageError[item.url] ? renderPlaceholder() : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
5036
|
+
"img",
|
|
5037
|
+
{
|
|
5038
|
+
src: item.url,
|
|
5039
|
+
alt: `Post media ${index + 1}`,
|
|
5040
|
+
className: cn(
|
|
5041
|
+
"w-full h-full transition-transform duration-300",
|
|
5042
|
+
itemIsPortrait ? "object-contain" : "object-cover"
|
|
5043
|
+
),
|
|
5044
|
+
onError: () => handleImageError(item.url)
|
|
5045
|
+
}
|
|
5046
|
+
)
|
|
5047
|
+
]
|
|
5048
|
+
}
|
|
5049
|
+
) }, index);
|
|
5050
|
+
}) }),
|
|
5008
5051
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(CarouselPrevious, { className: "ms-2" }),
|
|
5009
5052
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(CarouselNext, { className: "me-2" })
|
|
5010
5053
|
] });
|
|
5011
5054
|
}
|
|
5012
5055
|
return null;
|
|
5013
5056
|
}
|
|
5014
|
-
function
|
|
5057
|
+
function getAspectRatioCSS(ratio) {
|
|
5015
5058
|
const ratios = {
|
|
5016
|
-
"16:9": 16
|
|
5017
|
-
"9:16":
|
|
5018
|
-
|
|
5019
|
-
"
|
|
5020
|
-
"5
|
|
5059
|
+
"16:9": "16/9",
|
|
5060
|
+
"9:16": "4/5",
|
|
5061
|
+
// Instagram standard portrait
|
|
5062
|
+
"1:1": "1/1",
|
|
5063
|
+
"4:5": "4/5",
|
|
5064
|
+
"5:4": "5/4"
|
|
5021
5065
|
};
|
|
5022
5066
|
return ratios[ratio];
|
|
5023
5067
|
}
|
|
@@ -5240,7 +5284,11 @@ function InstagramPostActions({
|
|
|
5240
5284
|
onBooster,
|
|
5241
5285
|
onAIAnalysis,
|
|
5242
5286
|
onOpenInstagram,
|
|
5243
|
-
instagramUrl
|
|
5287
|
+
instagramUrl,
|
|
5288
|
+
disableCommentAnalyzer = false,
|
|
5289
|
+
disableBooster = false,
|
|
5290
|
+
disableAIAnalysis = false,
|
|
5291
|
+
disableOpenInstagram = false
|
|
5244
5292
|
}) {
|
|
5245
5293
|
if (!showActions) return null;
|
|
5246
5294
|
const handleOpenInstagram = () => {
|
|
@@ -5250,21 +5298,6 @@ function InstagramPostActions({
|
|
|
5250
5298
|
window.open(instagramUrl, "_blank", "noopener,noreferrer");
|
|
5251
5299
|
}
|
|
5252
5300
|
};
|
|
5253
|
-
const handleCommentAnalyzer = () => {
|
|
5254
|
-
if (onCommentAnalyzer) {
|
|
5255
|
-
onCommentAnalyzer();
|
|
5256
|
-
}
|
|
5257
|
-
};
|
|
5258
|
-
const handleBooster = () => {
|
|
5259
|
-
if (onBooster) {
|
|
5260
|
-
onBooster();
|
|
5261
|
-
}
|
|
5262
|
-
};
|
|
5263
|
-
const handleAIAnalysis = () => {
|
|
5264
|
-
if (onAIAnalysis) {
|
|
5265
|
-
onAIAnalysis();
|
|
5266
|
-
}
|
|
5267
|
-
};
|
|
5268
5301
|
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "absolute top-2 end-2 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity z-10", children: [
|
|
5269
5302
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Tooltip, { children: [
|
|
5270
5303
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
@@ -5272,13 +5305,17 @@ function InstagramPostActions({
|
|
|
5272
5305
|
{
|
|
5273
5306
|
variant: "ghost",
|
|
5274
5307
|
size: "icon",
|
|
5275
|
-
className:
|
|
5276
|
-
|
|
5308
|
+
className: cn(
|
|
5309
|
+
"size-8 bg-background/80 backdrop-blur-sm hover:bg-background",
|
|
5310
|
+
disableCommentAnalyzer && "opacity-40 cursor-not-allowed pointer-events-none"
|
|
5311
|
+
),
|
|
5312
|
+
onClick: disableCommentAnalyzer ? void 0 : onCommentAnalyzer,
|
|
5313
|
+
disabled: disableCommentAnalyzer,
|
|
5277
5314
|
"aria-label": "Comment Analyzer",
|
|
5278
5315
|
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icons.messageCircle, { className: "size-4" })
|
|
5279
5316
|
}
|
|
5280
5317
|
) }),
|
|
5281
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: "\u062A\u062D\u0644\u06CC\u0644 \u06A9\u0627\u0645\u0646\u062A\u200C\u0647\u0627" }) })
|
|
5318
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: disableCommentAnalyzer ? "\u062A\u062D\u0644\u06CC\u0644 \u06A9\u0627\u0645\u0646\u062A\u200C\u0647\u0627 (\u063A\u06CC\u0631\u0641\u0639\u0627\u0644)" : "\u062A\u062D\u0644\u06CC\u0644 \u06A9\u0627\u0645\u0646\u062A\u200C\u0647\u0627" }) })
|
|
5282
5319
|
] }),
|
|
5283
5320
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Tooltip, { children: [
|
|
5284
5321
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
@@ -5286,13 +5323,17 @@ function InstagramPostActions({
|
|
|
5286
5323
|
{
|
|
5287
5324
|
variant: "ghost",
|
|
5288
5325
|
size: "icon",
|
|
5289
|
-
className:
|
|
5290
|
-
|
|
5326
|
+
className: cn(
|
|
5327
|
+
"size-8 bg-background/80 backdrop-blur-sm hover:bg-background",
|
|
5328
|
+
disableBooster && "opacity-40 cursor-not-allowed pointer-events-none"
|
|
5329
|
+
),
|
|
5330
|
+
onClick: disableBooster ? void 0 : onBooster,
|
|
5331
|
+
disabled: disableBooster,
|
|
5291
5332
|
"aria-label": "Booster",
|
|
5292
5333
|
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icons.rocket, { className: "size-4" })
|
|
5293
5334
|
}
|
|
5294
5335
|
) }),
|
|
5295
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: "\u0628\u0648\u0633\u062A\u0631" }) })
|
|
5336
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: disableBooster ? "\u0628\u0648\u0633\u062A\u0631 (\u063A\u06CC\u0631\u0641\u0639\u0627\u0644)" : "\u0628\u0648\u0633\u062A\u0631" }) })
|
|
5296
5337
|
] }),
|
|
5297
5338
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Tooltip, { children: [
|
|
5298
5339
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
@@ -5300,13 +5341,17 @@ function InstagramPostActions({
|
|
|
5300
5341
|
{
|
|
5301
5342
|
variant: "ghost",
|
|
5302
5343
|
size: "icon",
|
|
5303
|
-
className:
|
|
5304
|
-
|
|
5344
|
+
className: cn(
|
|
5345
|
+
"size-8 bg-background/80 backdrop-blur-sm hover:bg-background",
|
|
5346
|
+
disableAIAnalysis && "opacity-40 cursor-not-allowed pointer-events-none"
|
|
5347
|
+
),
|
|
5348
|
+
onClick: disableAIAnalysis ? void 0 : onAIAnalysis,
|
|
5349
|
+
disabled: disableAIAnalysis,
|
|
5305
5350
|
"aria-label": "AI Analysis",
|
|
5306
5351
|
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icons.sparkles, { className: "size-4" })
|
|
5307
5352
|
}
|
|
5308
5353
|
) }),
|
|
5309
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: "\u062A\u062D\u0644\u06CC\u0644 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06CC" }) })
|
|
5354
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: disableAIAnalysis ? "\u062A\u062D\u0644\u06CC\u0644 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06CC (\u063A\u06CC\u0631\u0641\u0639\u0627\u0644)" : "\u062A\u062D\u0644\u06CC\u0644 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06CC" }) })
|
|
5310
5355
|
] }),
|
|
5311
5356
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Tooltip, { children: [
|
|
5312
5357
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
@@ -5314,13 +5359,17 @@ function InstagramPostActions({
|
|
|
5314
5359
|
{
|
|
5315
5360
|
variant: "ghost",
|
|
5316
5361
|
size: "icon",
|
|
5317
|
-
className:
|
|
5318
|
-
|
|
5362
|
+
className: cn(
|
|
5363
|
+
"size-8 bg-background/80 backdrop-blur-sm hover:bg-background",
|
|
5364
|
+
disableOpenInstagram && "opacity-40 cursor-not-allowed pointer-events-none"
|
|
5365
|
+
),
|
|
5366
|
+
onClick: disableOpenInstagram ? void 0 : handleOpenInstagram,
|
|
5367
|
+
disabled: disableOpenInstagram,
|
|
5319
5368
|
"aria-label": "Open on Instagram",
|
|
5320
5369
|
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icons.instagram, { className: "size-4" })
|
|
5321
5370
|
}
|
|
5322
5371
|
) }),
|
|
5323
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: "\u0628\u0627\u0632 \u06A9\u0631\u062F\u0646 \u062F\u0631 \u0627\u06CC\u0646\u0633\u062A\u0627\u06AF\u0631\u0627\u0645" }) })
|
|
5372
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TooltipContent, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { children: disableOpenInstagram ? "\u0628\u0627\u0632 \u06A9\u0631\u062F\u0646 \u062F\u0631 \u0627\u06CC\u0646\u0633\u062A\u0627\u06AF\u0631\u0627\u0645 (\u063A\u06CC\u0631\u0641\u0639\u0627\u0644)" : "\u0628\u0627\u0632 \u06A9\u0631\u062F\u0646 \u062F\u0631 \u0627\u06CC\u0646\u0633\u062A\u0627\u06AF\u0631\u0627\u0645" }) })
|
|
5324
5373
|
] })
|
|
5325
5374
|
] }) });
|
|
5326
5375
|
}
|
|
@@ -5376,6 +5425,10 @@ var InstagramPost = React19.forwardRef(
|
|
|
5376
5425
|
onAIAnalysis,
|
|
5377
5426
|
onOpenInstagram,
|
|
5378
5427
|
instagramUrl,
|
|
5428
|
+
disableCommentAnalyzer = false,
|
|
5429
|
+
disableBooster = false,
|
|
5430
|
+
disableAIAnalysis = false,
|
|
5431
|
+
disableOpenInstagram = false,
|
|
5379
5432
|
placeholderText,
|
|
5380
5433
|
dir,
|
|
5381
5434
|
...props
|
|
@@ -5397,7 +5450,11 @@ var InstagramPost = React19.forwardRef(
|
|
|
5397
5450
|
onBooster,
|
|
5398
5451
|
onAIAnalysis,
|
|
5399
5452
|
onOpenInstagram,
|
|
5400
|
-
instagramUrl
|
|
5453
|
+
instagramUrl,
|
|
5454
|
+
disableCommentAnalyzer,
|
|
5455
|
+
disableBooster,
|
|
5456
|
+
disableAIAnalysis,
|
|
5457
|
+
disableOpenInstagram
|
|
5401
5458
|
}
|
|
5402
5459
|
),
|
|
5403
5460
|
isVertical ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
@@ -6670,7 +6727,7 @@ var ProfileCard = React22.forwardRef(
|
|
|
6670
6727
|
onClick: onCardClick,
|
|
6671
6728
|
...props,
|
|
6672
6729
|
children: [
|
|
6673
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "relative flex-shrink-0", children: avatarBorderVariant === "gold" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "relative p-0.5 rounded-full bg-gradient-to-br from-
|
|
6730
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "relative flex-shrink-0", children: avatarBorderVariant === "gold" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "relative p-0.5 rounded-full bg-gradient-to-br from-brand-400 via-brand to-brand-400", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Avatar, { className: cn(currentSize.avatar, "ring-2 ring-background"), children: [
|
|
6674
6731
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AvatarImage, { src: avatarSrc, alt: avatarAlt || name }),
|
|
6675
6732
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AvatarFallback, { className: "bg-surface-300 text-foreground font-medium", children: initials || name.charAt(0) })
|
|
6676
6733
|
] }) }) : avatarBorderVariant === "primary" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Avatar, { className: cn(currentSize.avatar, "ring-2 ring-offset-2 ring-offset-background ring-primary"), children: [
|
|
@@ -6748,7 +6805,7 @@ var ProfileInfo = React23.forwardRef(
|
|
|
6748
6805
|
transparent: "bg-transparent"
|
|
6749
6806
|
};
|
|
6750
6807
|
const borderClasses = {
|
|
6751
|
-
gold: "ring-2 ring-offset-2 ring-offset-background [--tw-ring-color:conic-gradient(from_180deg,#
|
|
6808
|
+
gold: "ring-2 ring-offset-2 ring-offset-background [--tw-ring-color:conic-gradient(from_180deg,#22c55e,#4ade80,#22c55e)]",
|
|
6752
6809
|
primary: "ring-2 ring-offset-2 ring-offset-background ring-primary",
|
|
6753
6810
|
none: ""
|
|
6754
6811
|
};
|
|
@@ -6768,7 +6825,7 @@ var ProfileInfo = React23.forwardRef(
|
|
|
6768
6825
|
...props,
|
|
6769
6826
|
children: [
|
|
6770
6827
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-4", children: [
|
|
6771
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "relative", children: avatarBorderVariant === "gold" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "relative p-0.5 rounded-full bg-gradient-to-br from-
|
|
6828
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "relative", children: avatarBorderVariant === "gold" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "relative p-0.5 rounded-full bg-gradient-to-br from-brand-400 via-brand to-brand-400", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Avatar, { className: cn(currentSize.avatar, "ring-2 ring-background"), children: [
|
|
6772
6829
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AvatarImage, { src: avatarSrc, alt: avatarAlt || name }),
|
|
6773
6830
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AvatarFallback, { className: "bg-surface-300 text-foreground font-medium", children: initials || name.charAt(0) })
|
|
6774
6831
|
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Avatar, { className: cn(currentSize.avatar, borderClasses[avatarBorderVariant]), children: [
|
|
@@ -7021,10 +7078,10 @@ var EngagementRate = React24.forwardRef(
|
|
|
7021
7078
|
min: r.average[0],
|
|
7022
7079
|
max: r.average[1],
|
|
7023
7080
|
display: `${r.average[0]}% - ${r.average[1]}%`,
|
|
7024
|
-
color: "#
|
|
7025
|
-
//
|
|
7026
|
-
hoverColor: "#
|
|
7027
|
-
//
|
|
7081
|
+
color: "#22c55e",
|
|
7082
|
+
// brand green (green-500)
|
|
7083
|
+
hoverColor: "#16a34a"
|
|
7084
|
+
// brand green hover (green-600)
|
|
7028
7085
|
},
|
|
7029
7086
|
{
|
|
7030
7087
|
label: t.couldBeImproved,
|
|
@@ -7365,10 +7422,10 @@ var EngagementRateBar = React25.forwardRef(
|
|
|
7365
7422
|
label: t.average,
|
|
7366
7423
|
min: r.average[0],
|
|
7367
7424
|
max: r.average[1],
|
|
7368
|
-
color: "#
|
|
7369
|
-
//
|
|
7370
|
-
hoverColor: "#
|
|
7371
|
-
//
|
|
7425
|
+
color: "#22c55e",
|
|
7426
|
+
// brand green (green-500)
|
|
7427
|
+
hoverColor: "#16a34a"
|
|
7428
|
+
// brand green hover (green-600)
|
|
7372
7429
|
},
|
|
7373
7430
|
{
|
|
7374
7431
|
label: t.couldBeImproved,
|
|
@@ -7508,7 +7565,7 @@ var progressIndicatorVariants = (0, import_class_variance_authority12.cva)(
|
|
|
7508
7565
|
primary: "bg-brand-500",
|
|
7509
7566
|
secondary: "bg-foreground",
|
|
7510
7567
|
success: "bg-green-500",
|
|
7511
|
-
warning: "bg-
|
|
7568
|
+
warning: "bg-warning-500",
|
|
7512
7569
|
destructive: "bg-destructive-500"
|
|
7513
7570
|
}
|
|
7514
7571
|
},
|