ivt
Version:
Ivt Components Library
1 lines • 3.25 kB
Source Map (JSON)
{"version":3,"file":"ListItem-CtUZSq2i.mjs","sources":["../../src/components/default/layout/ListItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { TooltipIndicator } from \"@/components/default/base/TooltipIndicator\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface ListItemProps {\n\ttitle: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\tvalue: any;\n\tlinkHref?: string;\n\tisBoolean?: boolean;\n\tclassName?: string;\n\thasTooltip?: boolean;\n\ttooltipContent?: React.ReactNode;\n}\n\nexport const ListItem: React.FC<ListItemProps> = ({\n\ttitle,\n\tvalue,\n\tlinkHref,\n\tisBoolean,\n\tclassName,\n\thasTooltip = false,\n\ttooltipContent,\n}: ListItemProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"border-b-border flex flex-wrap justify-between gap-x-1 gap-y-2 border-b p-2.5\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{hasTooltip && tooltipContent ? (\n\t\t\t\t<div className=\"flex items-center gap-1.5 text-muted-foreground text-sm font-medium sm:text-base\">\n\t\t\t\t\t<p>{title}</p>\n\t\t\t\t\t<TooltipIndicator className=\"max-w-60\">{tooltipContent}</TooltipIndicator>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<p className=\"text-muted-foreground text-sm font-medium sm:text-base\">{title}</p>\n\t\t\t)}\n\n\t\t\t{isBoolean ? (\n\t\t\t\t<Badge variant=\"outline\" className=\"rounded-md font-semibold\">\n\t\t\t\t\t{value ? \"Sim\" : \"Não\"}\n\t\t\t\t</Badge>\n\t\t\t) : linkHref ? (\n\t\t\t\t<a\n\t\t\t\t\thref={linkHref}\n\t\t\t\t\tclassName=\"text-primary hover:text-primary/90 text-sm font-semibold hover:underline sm:text-base\"\n\t\t\t\t>\n\t\t\t\t\t{typeof value === \"string\" && value.trim() === \"\" ? \"-\" : (value ?? \"-\")}\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span className=\"text-foreground text-sm font-semibold sm:text-base\">\n\t\t\t\t\t{typeof value === \"string\" && value.trim() === \"\" ? \"-\" : (value ?? \"-\")}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["ListItem","title","value","linkHref","isBoolean","className","hasTooltip","tooltipContent","React","div","cn","p","TooltipIndicator","Badge","variant","a","href","trim","span"],"mappings":";;;;;MAgBaA,QAAAA,GAAoC,CAAC,EACjDC,KAAK,EACLC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,SAAS,EACTC,aAAa,KAAK,EAClBC,cAAc,EACC,GAAA;AACf,IAAA,qBACCC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;AACAJ,QAAAA,SAAAA,EAAWK,GACV,+EAAA,EACAL,SAAAA;AAGAC,KAAAA,EAAAA,UAAAA,IAAcC,+BACdC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;QAAIJ,SAAAA,EAAU;qBACdG,cAAA,CAAA,aAAA,CAACG,GAAAA,EAAAA,IAAAA,EAAGV,sBACJO,cAAA,CAAA,aAAA,CAACI,gBAAAA,EAAAA;QAAiBP,SAAAA,EAAU;AAAYE,KAAAA,EAAAA,cAAAA,CAAAA,CAAAA,iBAGzCC,cAAA,CAAA,aAAA,CAACG,GAAAA,EAAAA;QAAEN,SAAAA,EAAU;AAA0DJ,KAAAA,EAAAA,KAAAA,CAAAA,EAGvEG,0BACAI,cAAA,CAAA,aAAA,CAACK,KAAAA,EAAAA;QAAMC,OAAAA,EAAQ,SAAA;QAAUT,SAAAA,EAAU;OACjCH,KAAAA,GAAQ,KAAA,GAAQ,KAAA,CAAA,GAEfC,QAAAA,iBACHK,cAAA,CAAA,aAAA,CAACO,GAAAA,EAAAA;QACAC,IAAAA,EAAMb,QAAAA;QACNE,SAAAA,EAAU;OAET,OAAOH,KAAAA,KAAU,YAAYA,KAAAA,CAAMe,IAAI,OAAO,EAAA,GAAK,GAAA,GAAOf,KAAAA,IAAS,GAAA,CAAA,iBAGrEM,cAAA,CAAA,aAAA,CAACU,MAAAA,EAAAA;QAAKb,SAAAA,EAAU;AACd,KAAA,EAAA,OAAOH,UAAU,QAAA,IAAYA,KAAAA,CAAMe,IAAI,EAAA,KAAO,EAAA,GAAK,MAAOf,KAAAA,IAAS,GAAA,CAAA,CAAA;AAKzE;;;;"}