@mdigital_ui/ui 0.2.9 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/index.js +1 -1
- package/dist/avatar/index.js +1 -1
- package/dist/badge/index.js +1 -1
- package/dist/breadcrumbs/index.js +1 -1
- package/dist/button/index.js +1 -1
- package/dist/button-group/index.js +1 -1
- package/dist/card/index.js +2 -1
- package/dist/cascader/index.js +2 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/checkbox-group/index.js +1 -1
- package/dist/{chunk-4LSKRZOT.js → chunk-2PNLIQYM.js} +21 -4
- package/dist/chunk-2PNLIQYM.js.map +1 -0
- package/dist/{chunk-43RDFTC5.js → chunk-4TQ4BZ3S.js} +6 -4
- package/dist/chunk-4TQ4BZ3S.js.map +1 -0
- package/dist/{chunk-IMGVPMHJ.js → chunk-5JOJBDET.js} +47 -40
- package/dist/chunk-5JOJBDET.js.map +1 -0
- package/dist/{chunk-W3ES3UPV.js → chunk-5VORB55Y.js} +19 -3
- package/dist/chunk-5VORB55Y.js.map +1 -0
- package/dist/{chunk-3UCZ4GMN.js → chunk-6HGUDHHE.js} +4 -2
- package/dist/chunk-6HGUDHHE.js.map +1 -0
- package/dist/chunk-6YVT3AL2.js +211 -0
- package/dist/chunk-6YVT3AL2.js.map +1 -0
- package/dist/{chunk-CPDVBHA3.js → chunk-7KA7JSRX.js} +133 -23
- package/dist/chunk-7KA7JSRX.js.map +1 -0
- package/dist/chunk-CO766H7F.js +348 -0
- package/dist/chunk-CO766H7F.js.map +1 -0
- package/dist/{chunk-JIREY2VB.js → chunk-DHXVNO75.js} +3 -3
- package/dist/{chunk-JIREY2VB.js.map → chunk-DHXVNO75.js.map} +1 -1
- package/dist/chunk-DRL4CJMI.js +147 -0
- package/dist/chunk-DRL4CJMI.js.map +1 -0
- package/dist/{chunk-YAAV7FQG.js → chunk-FJPMIXWU.js} +15 -4
- package/dist/chunk-FJPMIXWU.js.map +1 -0
- package/dist/{chunk-MXDTUN3V.js → chunk-FZLFCT6Q.js} +141 -106
- package/dist/chunk-FZLFCT6Q.js.map +1 -0
- package/dist/chunk-GGDDE7LC.js +303 -0
- package/dist/chunk-GGDDE7LC.js.map +1 -0
- package/dist/{chunk-MRFCITKK.js → chunk-GVEEUHM2.js} +20 -16
- package/dist/chunk-GVEEUHM2.js.map +1 -0
- package/dist/{chunk-RYKVZFGB.js → chunk-HLY4VDIX.js} +7 -7
- package/dist/chunk-HLY4VDIX.js.map +1 -0
- package/dist/{chunk-2OUGJBXK.js → chunk-IVOMN6DV.js} +60 -14
- package/dist/chunk-IVOMN6DV.js.map +1 -0
- package/dist/{chunk-REKWBXAQ.js → chunk-J6IJBRYT.js} +12 -11
- package/dist/chunk-J6IJBRYT.js.map +1 -0
- package/dist/{chunk-LMR7TKDJ.js → chunk-KPM72QBO.js} +27 -10
- package/dist/chunk-KPM72QBO.js.map +1 -0
- package/dist/{chunk-QF3NJUUG.js → chunk-L572AMB3.js} +53 -8
- package/dist/chunk-L572AMB3.js.map +1 -0
- package/dist/{chunk-UUP7YGOS.js → chunk-LX4FDH4J.js} +3 -3
- package/dist/chunk-LX4FDH4J.js.map +1 -0
- package/dist/chunk-OL2GU2O3.js +293 -0
- package/dist/chunk-OL2GU2O3.js.map +1 -0
- package/dist/{chunk-N32VWE6V.js → chunk-RLYGJN56.js} +64 -60
- package/dist/chunk-RLYGJN56.js.map +1 -0
- package/dist/{chunk-X5SCI7KH.js → chunk-RZVEKAFR.js} +18 -6
- package/dist/chunk-RZVEKAFR.js.map +1 -0
- package/dist/chunk-T4MGK3WE.js +143 -0
- package/dist/chunk-T4MGK3WE.js.map +1 -0
- package/dist/{chunk-YFK2DHCY.js → chunk-TBMY5EQC.js} +10 -6
- package/dist/chunk-TBMY5EQC.js.map +1 -0
- package/dist/{chunk-PXOHJJBE.js → chunk-UHVPOGNC.js} +44 -9
- package/dist/chunk-UHVPOGNC.js.map +1 -0
- package/dist/{chunk-CMGCJXE5.js → chunk-UTKVWE76.js} +15 -4
- package/dist/chunk-UTKVWE76.js.map +1 -0
- package/dist/chunk-XQJ6HZ4Q.js +310 -0
- package/dist/chunk-XQJ6HZ4Q.js.map +1 -0
- package/dist/chunk-YJOLLSHH.js +132 -0
- package/dist/chunk-YJOLLSHH.js.map +1 -0
- package/dist/chunk-YWGWFGCY.js +332 -0
- package/dist/chunk-YWGWFGCY.js.map +1 -0
- package/dist/{chunk-FIGSNRWY.js → chunk-ZFYEAPEL.js} +40 -13
- package/dist/chunk-ZFYEAPEL.js.map +1 -0
- package/dist/chunk-ZRSSFP52.js +345 -0
- package/dist/chunk-ZRSSFP52.js.map +1 -0
- package/dist/clipboard/index.js +2 -1
- package/dist/collapse/index.js +2 -1
- package/dist/command/index.js +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-picker/index.js +1 -1
- package/dist/descriptions/index.js +1 -1
- package/dist/float-input/index.js +6 -0
- package/dist/form/index.js +4 -0
- package/dist/form/index.js.map +1 -0
- package/dist/index.js +38 -30
- package/dist/index.js.map +1 -1
- package/dist/link/index.js +4 -0
- package/dist/link/index.js.map +1 -0
- package/dist/menubar/index.js +6 -0
- package/dist/menubar/index.js.map +1 -0
- package/dist/navigation-menu/index.js +4 -0
- package/dist/navigation-menu/index.js.map +1 -0
- package/dist/number-input/index.js +6 -0
- package/dist/number-input/index.js.map +1 -0
- package/dist/pagination/index.js +1 -1
- package/dist/progress/index.js +1 -1
- package/dist/scroll-area/index.js +4 -0
- package/dist/scroll-area/index.js.map +1 -0
- package/dist/select/index.js +1 -1
- package/dist/slider/index.js +1 -1
- package/dist/table/index.js +4 -4
- package/dist/timeline/index.js +4 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/toast/index.js +5 -0
- package/dist/toast/index.js.map +1 -0
- package/dist/transfer/index.js +2 -2
- package/dist/upload/index.js +1 -1
- package/package.json +72 -14
- package/dist/chart/index.js +0 -4
- package/dist/chunk-2OUGJBXK.js.map +0 -1
- package/dist/chunk-3UCZ4GMN.js.map +0 -1
- package/dist/chunk-43RDFTC5.js.map +0 -1
- package/dist/chunk-4LSKRZOT.js.map +0 -1
- package/dist/chunk-C5YO5VZS.js +0 -448
- package/dist/chunk-C5YO5VZS.js.map +0 -1
- package/dist/chunk-CMGCJXE5.js.map +0 -1
- package/dist/chunk-CPDVBHA3.js.map +0 -1
- package/dist/chunk-FIGSNRWY.js.map +0 -1
- package/dist/chunk-H47C2ENJ.js +0 -215
- package/dist/chunk-H47C2ENJ.js.map +0 -1
- package/dist/chunk-IMGVPMHJ.js.map +0 -1
- package/dist/chunk-LMR7TKDJ.js.map +0 -1
- package/dist/chunk-MRFCITKK.js.map +0 -1
- package/dist/chunk-MXDTUN3V.js.map +0 -1
- package/dist/chunk-N32VWE6V.js.map +0 -1
- package/dist/chunk-PXOHJJBE.js.map +0 -1
- package/dist/chunk-QF3NJUUG.js.map +0 -1
- package/dist/chunk-REKWBXAQ.js.map +0 -1
- package/dist/chunk-RYKVZFGB.js.map +0 -1
- package/dist/chunk-UUP7YGOS.js.map +0 -1
- package/dist/chunk-W3ES3UPV.js.map +0 -1
- package/dist/chunk-X5SCI7KH.js.map +0 -1
- package/dist/chunk-YAAV7FQG.js.map +0 -1
- package/dist/chunk-YFK2DHCY.js.map +0 -1
- package/dist/index.d.ts +0 -5220
- package/dist/styles/base.css +0 -5906
- package/dist/styles/global.css +0 -6401
- package/dist/styles/themes/dark.css +0 -93
- package/dist/styles/themes/light.css +0 -89
- package/dist/styles/themes/presets/corporate.css +0 -126
- package/dist/styles/themes/presets/minimal.css +0 -126
- package/dist/styles/themes/presets/vibrant.css +0 -126
- /package/dist/{chart → float-input}/index.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/card/index.tsx"],"names":[],"mappings":"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","file":"chunk-FZLFCT6Q.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { cn } from \"../utils\";\nimport { focusRingColorClasses } from \"../variants\";\nimport type {\n CardActionProps,\n CardClassNames,\n CardColor,\n CardContentProps,\n CardDescriptionProps,\n CardFooterProps,\n CardHeaderProps,\n CardImageProps,\n CardProps,\n CardSize,\n CardTitleProps,\n CardVariant,\n} from \"./types\";\n\n// ============================================================================\n// Card Context — shares variant/color/classNames with sub-components\n// ============================================================================\n\ninterface CardContextValue {\n variant: CardVariant;\n color: CardColor;\n classNames?: CardClassNames;\n}\n\nconst CardContext = React.createContext<CardContextValue | null>(null);\n\nfunction useCardContext() {\n return React.useContext(CardContext);\n}\n\n// ============================================================================\n// CVA Variants\n// ============================================================================\n\nconst cardVariants = cva(\"rounded-lg transition-all\", {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground border\",\n solid: \"border\",\n outline: \"bg-transparent border\",\n soft: \"border-transparent\",\n ghost: \"border-transparent bg-transparent\",\n elevated: \"bg-card text-card-foreground border-transparent shadow-md\",\n },\n color: {\n default: \"border-border\",\n primary: \"border-primary\",\n secondary: \"border-secondary\",\n accent: \"border-accent\",\n success: \"border-success\",\n error: \"border-error\",\n warning: \"border-warning\",\n info: \"border-info\",\n },\n shadow: {\n none: \"\",\n sm: \"shadow-sm\",\n md: \"shadow-md\",\n lg: \"shadow-lg\",\n },\n hoverable: {\n true: \"hover:shadow-lg hover:-translate-y-0.5 cursor-pointer\",\n false: \"\",\n },\n clickable: {\n true: \"cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Default variant with colors\n {\n variant: \"default\",\n color: \"default\",\n class: \"bg-card text-card-foreground border-border\",\n },\n {\n variant: \"default\",\n color: \"primary\",\n class: \"bg-card text-card-foreground border-primary\",\n },\n {\n variant: \"default\",\n color: \"secondary\",\n class: \"bg-card text-card-foreground border-secondary\",\n },\n {\n variant: \"default\",\n color: \"accent\",\n class: \"bg-card text-card-foreground border-accent\",\n },\n {\n variant: \"default\",\n color: \"success\",\n class: \"bg-card text-card-foreground border-success\",\n },\n {\n variant: \"default\",\n color: \"error\",\n class: \"bg-card text-card-foreground border-error\",\n },\n {\n variant: \"default\",\n color: \"warning\",\n class: \"bg-card text-card-foreground border-warning\",\n },\n {\n variant: \"default\",\n color: \"info\",\n class: \"bg-card text-card-foreground border-info\",\n },\n // Solid variant — full background color\n {\n variant: \"solid\",\n color: \"default\",\n class: \"bg-surface border-border text-text-primary\",\n },\n {\n variant: \"solid\",\n color: \"primary\",\n class: \"bg-primary border-primary text-background\",\n },\n {\n variant: \"solid\",\n color: \"secondary\",\n class: \"bg-secondary border-secondary text-background\",\n },\n {\n variant: \"solid\",\n color: \"accent\",\n class: \"bg-accent border-accent text-background\",\n },\n {\n variant: \"solid\",\n color: \"success\",\n class: \"bg-success border-success text-background\",\n },\n {\n variant: \"solid\",\n color: \"error\",\n class: \"bg-error border-error text-background\",\n },\n {\n variant: \"solid\",\n color: \"warning\",\n class: \"bg-warning border-warning text-background\",\n },\n {\n variant: \"solid\",\n color: \"info\",\n class: \"bg-info border-info text-background\",\n },\n // Outline variant\n {\n variant: \"outline\",\n color: \"default\",\n class: \"border-border text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"primary\",\n class: \"border-primary text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"secondary\",\n class: \"border-secondary text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"accent\",\n class: \"border-accent text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"success\",\n class: \"border-success text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"error\",\n class: \"border-error text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"warning\",\n class: \"border-warning text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"info\",\n class: \"border-info text-text-primary\",\n },\n // Soft variant\n {\n variant: \"soft\",\n color: \"default\",\n class: \"bg-surface text-text-primary\",\n },\n { variant: \"soft\", color: \"primary\", class: \"bg-primary/10 text-primary\" },\n {\n variant: \"soft\",\n color: \"secondary\",\n class: \"bg-secondary/10 text-secondary\",\n },\n { variant: \"soft\", color: \"accent\", class: \"bg-accent/10 text-accent\" },\n { variant: \"soft\", color: \"success\", class: \"bg-success/10 text-success\" },\n { variant: \"soft\", color: \"error\", class: \"bg-error/10 text-error\" },\n { variant: \"soft\", color: \"warning\", class: \"bg-warning/10 text-warning\" },\n { variant: \"soft\", color: \"info\", class: \"bg-info/10 text-info\" },\n // Ghost variant\n { variant: \"ghost\", color: \"default\", class: \"text-text-primary\" },\n { variant: \"ghost\", color: \"primary\", class: \"text-primary\" },\n { variant: \"ghost\", color: \"secondary\", class: \"text-secondary\" },\n { variant: \"ghost\", color: \"accent\", class: \"text-accent\" },\n { variant: \"ghost\", color: \"success\", class: \"text-success\" },\n { variant: \"ghost\", color: \"error\", class: \"text-error\" },\n { variant: \"ghost\", color: \"warning\", class: \"text-warning\" },\n { variant: \"ghost\", color: \"info\", class: \"text-info\" },\n // Elevated variant\n {\n variant: \"elevated\",\n color: \"default\",\n class: \"bg-card text-card-foreground\",\n },\n {\n variant: \"elevated\",\n color: \"primary\",\n class: \"bg-card text-card-foreground ring-1 ring-primary/20\",\n },\n {\n variant: \"elevated\",\n color: \"secondary\",\n class: \"bg-card text-card-foreground ring-1 ring-secondary/20\",\n },\n {\n variant: \"elevated\",\n color: \"accent\",\n class: \"bg-card text-card-foreground ring-1 ring-accent/20\",\n },\n {\n variant: \"elevated\",\n color: \"success\",\n class: \"bg-card text-card-foreground ring-1 ring-success/20\",\n },\n {\n variant: \"elevated\",\n color: \"error\",\n class: \"bg-card text-card-foreground ring-1 ring-error/20\",\n },\n {\n variant: \"elevated\",\n color: \"warning\",\n class: \"bg-card text-card-foreground ring-1 ring-warning/20\",\n },\n {\n variant: \"elevated\",\n color: \"info\",\n class: \"bg-card text-card-foreground ring-1 ring-info/20\",\n },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n shadow: \"none\",\n hoverable: false,\n clickable: false,\n },\n});\n\n/**\n * Size-based padding classes\n */\nconst sizeClasses: Record<CardSize, string> = {\n xs: \"[--card-padding:0.5rem] [--card-content-padding:0.5rem] [--card-footer-padding:0.5rem]\",\n sm: \"[--card-padding:1rem] [--card-content-padding:1rem] [--card-footer-padding:1rem]\",\n md: \"[--card-padding:1.5rem] [--card-content-padding:1.5rem] [--card-footer-padding:1.5rem]\",\n lg: \"[--card-padding:2rem] [--card-content-padding:2rem] [--card-footer-padding:2rem]\",\n};\n\n/**\n * Card Component\n *\n * A versatile container component for grouping related content and actions.\n *\n * @example\n * <Card>\n * <CardHeader>\n * <CardTitle>Title</CardTitle>\n * <CardDescription>Description</CardDescription>\n * </CardHeader>\n * <CardContent>Content here</CardContent>\n * <CardFooter>\n * <Button>Action</Button>\n * </CardFooter>\n * </Card>\n */\nconst Card = React.memo<CardProps>(\n ({\n className,\n variant = \"default\",\n color = \"default\",\n size = \"md\",\n shadow = \"none\",\n hoverable = false,\n clickable = false,\n bordered = true,\n loading = false,\n classNames,\n onClick,\n ref,\n children,\n ...props\n }) => {\n const cardContent = loading ? (\n <div className=\"animate-pulse\">\n <div className=\"p-(--card-padding)\">\n <div className=\"h-4 bg-surface rounded w-3/4 mb-2\" />\n <div className=\"h-3 bg-surface rounded w-1/2\" />\n </div>\n <div className=\"p-(--card-content-padding) pt-0\">\n <div className=\"h-3 bg-surface rounded w-full mb-2\" />\n <div className=\"h-3 bg-surface rounded w-full mb-2\" />\n <div className=\"h-3 bg-surface rounded w-2/3\" />\n </div>\n </div>\n ) : (\n children\n );\n\n const cardClassName = cn(\n \"card_root\",\n cardVariants({\n variant,\n color,\n shadow,\n hoverable,\n clickable,\n }),\n !bordered && \"border-transparent\",\n clickable && focusRingColorClasses[color],\n sizeClasses[size],\n classNames?.root,\n className,\n );\n\n const contextValue = React.useMemo(\n () => ({ variant, color, classNames }),\n [variant, color, classNames],\n );\n\n if (clickable) {\n return (\n <CardContext.Provider value={contextValue}>\n <div\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={cardClassName}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onClick?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n }\n }}\n data-slot=\"root\"\n {...props}\n >\n {cardContent}\n </div>\n </CardContext.Provider>\n );\n }\n\n return (\n <CardContext.Provider value={contextValue}>\n <div ref={ref} className={cardClassName} onClick={onClick} data-slot=\"root\" {...props}>\n {cardContent}\n </div>\n </CardContext.Provider>\n );\n },\n);\nCard.displayName = \"Card\";\n\n/**\n * CardHeader Component\n */\nconst CardHeader = React.memo<CardHeaderProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_header\", \"flex flex-col gap-1.5 p-(--card-padding)\", ctx?.classNames?.header, className)}\n data-slot=\"header\"\n {...props}\n />\n );\n },\n);\nCardHeader.displayName = \"CardHeader\";\n\n/**\n * CardTitle Component\n */\nconst CardTitle = React.memo<CardTitleProps>(\n ({ className, as: Tag = \"h3\", ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <Tag\n ref={ref}\n className={cn(\n \"card_title\",\n \"text-lg font-semibold leading-none tracking-tight\",\n ctx?.classNames?.title,\n className,\n )}\n data-slot=\"title\"\n {...props}\n />\n );\n },\n);\nCardTitle.displayName = \"CardTitle\";\n\n/**\n * CardDescription Component\n *\n * Adapts text color for solid colored cards to ensure readability.\n */\nconst CardDescription = React.memo<CardDescriptionProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n const isSolidColored = ctx?.variant === \"solid\" && ctx?.color !== \"default\";\n return (\n <p\n ref={ref}\n className={cn(\n \"card_description\",\n \"text-sm\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n ctx?.classNames?.description,\n className,\n )}\n data-slot=\"description\"\n {...props}\n />\n );\n },\n);\nCardDescription.displayName = \"CardDescription\";\n\n/**\n * CardContent Component\n */\nconst CardContent = React.memo<CardContentProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_content\", \"p-(--card-content-padding) pt-0\", ctx?.classNames?.content, className)}\n data-slot=\"content\"\n {...props}\n />\n );\n },\n);\nCardContent.displayName = \"CardContent\";\n\n/**\n * CardFooter Component\n */\nconst CardFooter = React.memo<CardFooterProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\n \"card_footer\",\n \"flex items-center p-(--card-footer-padding) pt-0\",\n ctx?.classNames?.footer,\n className,\n )}\n data-slot=\"footer\"\n {...props}\n />\n );\n },\n);\nCardFooter.displayName = \"CardFooter\";\n\n/**\n * CardAction Component — for buttons/actions in the header\n */\nconst CardAction = React.memo<CardActionProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_action\", \"ml-auto flex items-center gap-2\", ctx?.classNames?.action, className)}\n data-slot=\"action\"\n {...props}\n />\n );\n },\n);\nCardAction.displayName = \"CardAction\";\n\n/**\n * Aspect ratio classes for CardImage\n */\nconst aspectRatioClasses = {\n square: \"aspect-square\",\n video: \"aspect-video\",\n wide: \"aspect-[21/9]\",\n auto: \"\",\n};\n\n/**\n * Object fit classes for CardImage\n */\nconst objectFitClasses = {\n cover: \"object-cover\",\n contain: \"object-contain\",\n fill: \"object-fill\",\n none: \"object-none\",\n};\n\n/**\n * CardImage Component — for displaying images in cards\n */\nconst CardImage = React.memo<CardImageProps>(\n ({\n src,\n alt,\n position = \"top\",\n aspectRatio = \"video\",\n objectFit = \"cover\",\n className,\n ref,\n ...props\n }) => {\n const ctx = useCardContext();\n return (\n <div\n className={cn(\n \"overflow-hidden\",\n position === \"top\" && \"rounded-t-lg\",\n position === \"bottom\" && \"rounded-b-lg\",\n aspectRatio !== \"auto\" && aspectRatioClasses[aspectRatio],\n )}\n >\n <img\n ref={ref}\n src={src}\n alt={alt}\n className={cn(\"card_image\", \"w-full h-full\", objectFitClasses[objectFit], ctx?.classNames?.image, className)}\n data-slot=\"image\"\n loading=\"lazy\"\n {...props}\n />\n </div>\n );\n },\n);\nCardImage.displayName = \"CardImage\";\n\n// Attach sub-components to Card\nconst CardWithSubComponents = Object.assign(Card, {\n Header: CardHeader,\n Footer: CardFooter,\n Title: CardTitle,\n Description: CardDescription,\n Content: CardContent,\n Action: CardAction,\n Image: CardImage,\n});\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n CardAction,\n CardImage,\n cardVariants,\n};\n\nexport type { CardClassNames } from \"./types\";\nexport type * from \"./types\";\nexport default CardWithSubComponents;\n"]}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var dotVariants = cva(
|
|
7
|
+
"rounded-full shrink-0 flex items-center justify-center z-10",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
size: {
|
|
11
|
+
xs: "w-2 h-2",
|
|
12
|
+
sm: "w-3 h-3",
|
|
13
|
+
md: "w-4 h-4",
|
|
14
|
+
lg: "w-5 h-5"
|
|
15
|
+
},
|
|
16
|
+
color: {
|
|
17
|
+
default: "bg-border",
|
|
18
|
+
primary: "bg-primary",
|
|
19
|
+
secondary: "bg-secondary",
|
|
20
|
+
accent: "bg-accent",
|
|
21
|
+
success: "bg-success",
|
|
22
|
+
error: "bg-error",
|
|
23
|
+
warning: "bg-warning",
|
|
24
|
+
info: "bg-info"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
size: "md",
|
|
29
|
+
color: "default"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
var connectorWidths = {
|
|
34
|
+
xs: "w-px",
|
|
35
|
+
sm: "w-px",
|
|
36
|
+
md: "w-0.5",
|
|
37
|
+
lg: "w-0.5"
|
|
38
|
+
};
|
|
39
|
+
var trackWidths = {
|
|
40
|
+
xs: "w-4",
|
|
41
|
+
sm: "w-5",
|
|
42
|
+
md: "w-6",
|
|
43
|
+
lg: "w-7"
|
|
44
|
+
};
|
|
45
|
+
var contentSizes = {
|
|
46
|
+
xs: "text-xs",
|
|
47
|
+
sm: "text-sm",
|
|
48
|
+
md: "text-base",
|
|
49
|
+
lg: "text-lg"
|
|
50
|
+
};
|
|
51
|
+
var timestampSizes = {
|
|
52
|
+
xs: "text-[10px]",
|
|
53
|
+
sm: "text-xs",
|
|
54
|
+
md: "text-sm",
|
|
55
|
+
lg: "text-base"
|
|
56
|
+
};
|
|
57
|
+
var iconDotSizes = {
|
|
58
|
+
xs: "w-5 h-5",
|
|
59
|
+
sm: "w-6 h-6",
|
|
60
|
+
md: "w-8 h-8",
|
|
61
|
+
lg: "w-10 h-10"
|
|
62
|
+
};
|
|
63
|
+
var iconSizes = {
|
|
64
|
+
xs: "h-3 w-3",
|
|
65
|
+
sm: "h-3.5 w-3.5",
|
|
66
|
+
md: "h-4 w-4",
|
|
67
|
+
lg: "h-5 w-5"
|
|
68
|
+
};
|
|
69
|
+
var Timeline = React.memo(
|
|
70
|
+
({
|
|
71
|
+
items,
|
|
72
|
+
mode = "left",
|
|
73
|
+
size = "md",
|
|
74
|
+
color = "default",
|
|
75
|
+
pending = false,
|
|
76
|
+
pendingText = "Loading...",
|
|
77
|
+
reverse = false,
|
|
78
|
+
className,
|
|
79
|
+
classNames,
|
|
80
|
+
ref
|
|
81
|
+
}) => {
|
|
82
|
+
const displayItems = reverse ? [...items].reverse() : items;
|
|
83
|
+
const renderDot = (item, itemColor) => {
|
|
84
|
+
if (item.dot) {
|
|
85
|
+
return /* @__PURE__ */ jsx(
|
|
86
|
+
"div",
|
|
87
|
+
{
|
|
88
|
+
className: cn("timeline_dot", "shrink-0 z-10", classNames?.dot),
|
|
89
|
+
"data-slot": "dot",
|
|
90
|
+
children: item.dot
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
if (item.icon) {
|
|
95
|
+
return /* @__PURE__ */ jsx(
|
|
96
|
+
"div",
|
|
97
|
+
{
|
|
98
|
+
className: cn(
|
|
99
|
+
"timeline_dot",
|
|
100
|
+
"rounded-full shrink-0 flex items-center justify-center z-10",
|
|
101
|
+
iconDotSizes[size],
|
|
102
|
+
`bg-${itemColor === "default" ? "border" : itemColor}`,
|
|
103
|
+
"text-white",
|
|
104
|
+
classNames?.dot
|
|
105
|
+
),
|
|
106
|
+
"data-slot": "dot",
|
|
107
|
+
children: /* @__PURE__ */ jsx(
|
|
108
|
+
"span",
|
|
109
|
+
{
|
|
110
|
+
className: cn(
|
|
111
|
+
"timeline_icon",
|
|
112
|
+
"flex items-center justify-center",
|
|
113
|
+
iconSizes[size],
|
|
114
|
+
classNames?.icon
|
|
115
|
+
),
|
|
116
|
+
"data-slot": "icon",
|
|
117
|
+
children: item.icon
|
|
118
|
+
}
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
return /* @__PURE__ */ jsx(
|
|
124
|
+
"div",
|
|
125
|
+
{
|
|
126
|
+
className: cn(
|
|
127
|
+
"timeline_dot",
|
|
128
|
+
dotVariants({ size, color: itemColor }),
|
|
129
|
+
classNames?.dot
|
|
130
|
+
),
|
|
131
|
+
"data-slot": "dot"
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
};
|
|
135
|
+
const renderContent = (item, isRight) => /* @__PURE__ */ jsxs(
|
|
136
|
+
"div",
|
|
137
|
+
{
|
|
138
|
+
className: cn(
|
|
139
|
+
"timeline_content",
|
|
140
|
+
"flex-1 pb-8",
|
|
141
|
+
contentSizes[size],
|
|
142
|
+
isRight ? "text-right pr-4" : "pl-4",
|
|
143
|
+
classNames?.content
|
|
144
|
+
),
|
|
145
|
+
"data-slot": "content",
|
|
146
|
+
children: [
|
|
147
|
+
item.timestamp && /* @__PURE__ */ jsx(
|
|
148
|
+
"div",
|
|
149
|
+
{
|
|
150
|
+
className: cn(
|
|
151
|
+
"timeline_timestamp",
|
|
152
|
+
"text-text-secondary mb-1",
|
|
153
|
+
timestampSizes[size],
|
|
154
|
+
classNames?.timestamp
|
|
155
|
+
),
|
|
156
|
+
"data-slot": "timestamp",
|
|
157
|
+
children: item.timestamp
|
|
158
|
+
}
|
|
159
|
+
),
|
|
160
|
+
/* @__PURE__ */ jsx(
|
|
161
|
+
"div",
|
|
162
|
+
{
|
|
163
|
+
className: cn(
|
|
164
|
+
"timeline_title",
|
|
165
|
+
"font-semibold text-text-primary",
|
|
166
|
+
item.description && "mb-1",
|
|
167
|
+
classNames?.title
|
|
168
|
+
),
|
|
169
|
+
"data-slot": "title",
|
|
170
|
+
children: item.title
|
|
171
|
+
}
|
|
172
|
+
),
|
|
173
|
+
item.description && /* @__PURE__ */ jsx(
|
|
174
|
+
"div",
|
|
175
|
+
{
|
|
176
|
+
className: cn(
|
|
177
|
+
"timeline_description",
|
|
178
|
+
"text-text-secondary",
|
|
179
|
+
classNames?.description
|
|
180
|
+
),
|
|
181
|
+
"data-slot": "description",
|
|
182
|
+
children: item.description
|
|
183
|
+
}
|
|
184
|
+
)
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
);
|
|
188
|
+
const renderTrack = (item, itemColor, isLast) => /* @__PURE__ */ jsxs(
|
|
189
|
+
"div",
|
|
190
|
+
{
|
|
191
|
+
className: cn(
|
|
192
|
+
"timeline_track",
|
|
193
|
+
"relative flex flex-col items-center",
|
|
194
|
+
trackWidths[size]
|
|
195
|
+
),
|
|
196
|
+
children: [
|
|
197
|
+
renderDot(item, itemColor),
|
|
198
|
+
!isLast && /* @__PURE__ */ jsx(
|
|
199
|
+
"div",
|
|
200
|
+
{
|
|
201
|
+
className: cn(
|
|
202
|
+
"timeline_connector",
|
|
203
|
+
"flex-1 bg-border",
|
|
204
|
+
connectorWidths[size],
|
|
205
|
+
classNames?.connector
|
|
206
|
+
),
|
|
207
|
+
"data-slot": "connector"
|
|
208
|
+
}
|
|
209
|
+
)
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
);
|
|
213
|
+
const renderItem = (item, index) => {
|
|
214
|
+
const isLast = index === displayItems.length - 1 && !pending;
|
|
215
|
+
const itemColor = item.color || color;
|
|
216
|
+
const isRight = mode === "right" || mode === "alternate" && index % 2 !== 0;
|
|
217
|
+
return /* @__PURE__ */ jsxs(
|
|
218
|
+
"div",
|
|
219
|
+
{
|
|
220
|
+
className: cn(
|
|
221
|
+
"timeline_item",
|
|
222
|
+
"flex",
|
|
223
|
+
isRight && "flex-row-reverse",
|
|
224
|
+
classNames?.item
|
|
225
|
+
),
|
|
226
|
+
"data-slot": "item",
|
|
227
|
+
children: [
|
|
228
|
+
renderTrack(item, itemColor, isLast),
|
|
229
|
+
renderContent(item, isRight)
|
|
230
|
+
]
|
|
231
|
+
},
|
|
232
|
+
item.key ?? index
|
|
233
|
+
);
|
|
234
|
+
};
|
|
235
|
+
return /* @__PURE__ */ jsxs(
|
|
236
|
+
"div",
|
|
237
|
+
{
|
|
238
|
+
ref,
|
|
239
|
+
className: cn("timeline_root", "relative", classNames?.root, className),
|
|
240
|
+
"data-slot": "root",
|
|
241
|
+
children: [
|
|
242
|
+
displayItems.map((item, index) => renderItem(item, index)),
|
|
243
|
+
pending && /* @__PURE__ */ jsxs(
|
|
244
|
+
"div",
|
|
245
|
+
{
|
|
246
|
+
className: cn(
|
|
247
|
+
"timeline_item",
|
|
248
|
+
"flex",
|
|
249
|
+
(mode === "right" || mode === "alternate" && displayItems.length % 2 !== 0) && "flex-row-reverse",
|
|
250
|
+
classNames?.item
|
|
251
|
+
),
|
|
252
|
+
"data-slot": "item",
|
|
253
|
+
children: [
|
|
254
|
+
/* @__PURE__ */ jsx(
|
|
255
|
+
"div",
|
|
256
|
+
{
|
|
257
|
+
className: cn(
|
|
258
|
+
"timeline_track",
|
|
259
|
+
"relative flex flex-col items-center",
|
|
260
|
+
trackWidths[size]
|
|
261
|
+
),
|
|
262
|
+
children: /* @__PURE__ */ jsx(
|
|
263
|
+
"div",
|
|
264
|
+
{
|
|
265
|
+
className: cn(
|
|
266
|
+
"timeline_dot",
|
|
267
|
+
dotVariants({ size, color: "default" }),
|
|
268
|
+
"animate-pulse",
|
|
269
|
+
classNames?.dot
|
|
270
|
+
),
|
|
271
|
+
"data-slot": "dot"
|
|
272
|
+
}
|
|
273
|
+
)
|
|
274
|
+
}
|
|
275
|
+
),
|
|
276
|
+
/* @__PURE__ */ jsx(
|
|
277
|
+
"div",
|
|
278
|
+
{
|
|
279
|
+
className: cn(
|
|
280
|
+
"timeline_content",
|
|
281
|
+
"flex-1 text-text-secondary",
|
|
282
|
+
contentSizes[size],
|
|
283
|
+
mode === "right" || mode === "alternate" && displayItems.length % 2 !== 0 ? "text-right pr-4" : "pl-4",
|
|
284
|
+
classNames?.content
|
|
285
|
+
),
|
|
286
|
+
"data-slot": "content",
|
|
287
|
+
children: pendingText
|
|
288
|
+
}
|
|
289
|
+
)
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
)
|
|
293
|
+
]
|
|
294
|
+
}
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
);
|
|
298
|
+
Timeline.displayName = "Timeline";
|
|
299
|
+
var timeline_default = Timeline;
|
|
300
|
+
|
|
301
|
+
export { timeline_default };
|
|
302
|
+
//# sourceMappingURL=chunk-GGDDE7LC.js.map
|
|
303
|
+
//# sourceMappingURL=chunk-GGDDE7LC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/timeline/index.tsx"],"names":[],"mappings":"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","file":"chunk-GGDDE7LC.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type { TimelineProps } from './types'\n\n/**\n * Timeline dot variants\n */\nconst dotVariants = cva(\n 'rounded-full shrink-0 flex items-center justify-center z-10',\n {\n variants: {\n size: {\n xs: 'w-2 h-2',\n sm: 'w-3 h-3',\n md: 'w-4 h-4',\n lg: 'w-5 h-5',\n },\n color: {\n default: 'bg-border',\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n accent: 'bg-accent',\n success: 'bg-success',\n error: 'bg-error',\n warning: 'bg-warning',\n info: 'bg-info',\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'default',\n },\n }\n)\n\n/**\n * Connector width by size\n */\nconst connectorWidths = {\n xs: 'w-px',\n sm: 'w-px',\n md: 'w-0.5',\n lg: 'w-0.5',\n} as const\n\n/**\n * Track column width by size (enough to hold the dot)\n */\nconst trackWidths = {\n xs: 'w-4',\n sm: 'w-5',\n md: 'w-6',\n lg: 'w-7',\n} as const\n\n/**\n * Content text size by timeline size\n */\nconst contentSizes = {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n} as const\n\n/**\n * Timestamp text size by timeline size\n */\nconst timestampSizes = {\n xs: 'text-[10px]',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-base',\n} as const\n\n/**\n * Icon size for dots with icons\n */\nconst iconDotSizes = {\n xs: 'w-5 h-5',\n sm: 'w-6 h-6',\n md: 'w-8 h-8',\n lg: 'w-10 h-10',\n} as const\n\nconst iconSizes = {\n xs: 'h-3 w-3',\n sm: 'h-3.5 w-3.5',\n md: 'h-4 w-4',\n lg: 'h-5 w-5',\n} as const\n\n/**\n * Timeline Component\n *\n * Displays a vertical timeline with items connected by lines and dots.\n * Uses a flex column layout where the connector line naturally flows\n * from dot to dot within a dedicated track column.\n */\nconst Timeline = React.memo<TimelineProps>(\n ({\n items,\n mode = 'left',\n size = 'md',\n color = 'default',\n pending = false,\n pendingText = 'Loading...',\n reverse = false,\n className,\n classNames,\n ref,\n }) => {\n const displayItems = reverse ? [...items].reverse() : items\n\n const renderDot = (\n item: (typeof displayItems)[number],\n itemColor: typeof color\n ) => {\n if (item.dot) {\n return (\n <div\n className={cn('timeline_dot', 'shrink-0 z-10', classNames?.dot)}\n data-slot=\"dot\"\n >\n {item.dot}\n </div>\n )\n }\n\n if (item.icon) {\n return (\n <div\n className={cn(\n 'timeline_dot',\n 'rounded-full shrink-0 flex items-center justify-center z-10',\n iconDotSizes[size],\n `bg-${itemColor === 'default' ? 'border' : itemColor}`,\n 'text-white',\n classNames?.dot\n )}\n data-slot=\"dot\"\n >\n <span\n className={cn(\n 'timeline_icon',\n 'flex items-center justify-center',\n iconSizes[size],\n classNames?.icon\n )}\n data-slot=\"icon\"\n >\n {item.icon}\n </span>\n </div>\n )\n }\n\n return (\n <div\n className={cn(\n 'timeline_dot',\n dotVariants({ size, color: itemColor }),\n classNames?.dot\n )}\n data-slot=\"dot\"\n />\n )\n }\n\n const renderContent = (\n item: (typeof displayItems)[number],\n isRight: boolean\n ) => (\n <div\n className={cn(\n 'timeline_content',\n 'flex-1 pb-8',\n contentSizes[size],\n isRight ? 'text-right pr-4' : 'pl-4',\n classNames?.content\n )}\n data-slot=\"content\"\n >\n {item.timestamp && (\n <div\n className={cn(\n 'timeline_timestamp',\n 'text-text-secondary mb-1',\n timestampSizes[size],\n classNames?.timestamp\n )}\n data-slot=\"timestamp\"\n >\n {item.timestamp}\n </div>\n )}\n <div\n className={cn(\n 'timeline_title',\n 'font-semibold text-text-primary',\n item.description && 'mb-1',\n classNames?.title\n )}\n data-slot=\"title\"\n >\n {item.title}\n </div>\n {item.description && (\n <div\n className={cn(\n 'timeline_description',\n 'text-text-secondary',\n classNames?.description\n )}\n data-slot=\"description\"\n >\n {item.description}\n </div>\n )}\n </div>\n )\n\n const renderTrack = (\n item: (typeof displayItems)[number],\n itemColor: typeof color,\n isLast: boolean\n ) => (\n <div\n className={cn(\n 'timeline_track',\n 'relative flex flex-col items-center',\n trackWidths[size]\n )}\n >\n {renderDot(item, itemColor)}\n {!isLast && (\n <div\n className={cn(\n 'timeline_connector',\n 'flex-1 bg-border',\n connectorWidths[size],\n classNames?.connector\n )}\n data-slot=\"connector\"\n />\n )}\n </div>\n )\n\n const renderItem = (\n item: (typeof displayItems)[number],\n index: number\n ) => {\n const isLast = index === displayItems.length - 1 && !pending\n const itemColor = item.color || color\n const isRight =\n mode === 'right' || (mode === 'alternate' && index % 2 !== 0)\n\n return (\n <div\n key={item.key ?? index}\n className={cn(\n 'timeline_item',\n 'flex',\n isRight && 'flex-row-reverse',\n classNames?.item\n )}\n data-slot=\"item\"\n >\n {renderTrack(item, itemColor, isLast)}\n {renderContent(item, isRight)}\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n className={cn('timeline_root', 'relative', classNames?.root, className)}\n data-slot=\"root\"\n >\n {displayItems.map((item, index) => renderItem(item, index))}\n\n {/* Pending indicator */}\n {pending && (\n <div\n className={cn(\n 'timeline_item',\n 'flex',\n (mode === 'right' ||\n (mode === 'alternate' && displayItems.length % 2 !== 0)) &&\n 'flex-row-reverse',\n classNames?.item\n )}\n data-slot=\"item\"\n >\n <div\n className={cn(\n 'timeline_track',\n 'relative flex flex-col items-center',\n trackWidths[size]\n )}\n >\n <div\n className={cn(\n 'timeline_dot',\n dotVariants({ size, color: 'default' }),\n 'animate-pulse',\n classNames?.dot\n )}\n data-slot=\"dot\"\n />\n </div>\n <div\n className={cn(\n 'timeline_content',\n 'flex-1 text-text-secondary',\n contentSizes[size],\n (mode === 'right' ||\n (mode === 'alternate' && displayItems.length % 2 !== 0))\n ? 'text-right pr-4'\n : 'pl-4',\n classNames?.content\n )}\n data-slot=\"content\"\n >\n {pendingText}\n </div>\n </div>\n )}\n </div>\n )\n }\n)\n\nTimeline.displayName = 'Timeline'\n\nexport type * from './types'\nexport default Timeline\n"]}
|
|
@@ -22,7 +22,7 @@ var thumbVariants = cva(
|
|
|
22
22
|
variants: {
|
|
23
23
|
size: {
|
|
24
24
|
xs: "w-3 h-3",
|
|
25
|
-
sm: "w-
|
|
25
|
+
sm: "w-3.5 h-3.5",
|
|
26
26
|
md: "w-4 h-4",
|
|
27
27
|
lg: "w-6 h-6"
|
|
28
28
|
}
|
|
@@ -193,13 +193,6 @@ var Slider = React.memo(
|
|
|
193
193
|
const steppedValue = Math.round(rawValue / step) * step;
|
|
194
194
|
return Math.max(min, Math.min(max, steppedValue));
|
|
195
195
|
};
|
|
196
|
-
const handleMouseDown = (thumbIndex) => (e) => {
|
|
197
|
-
if (disabled) return;
|
|
198
|
-
isDragging.current = true;
|
|
199
|
-
activeThumb.current = thumbIndex;
|
|
200
|
-
setHoveredThumb(thumbIndex);
|
|
201
|
-
e.preventDefault();
|
|
202
|
-
};
|
|
203
196
|
const handleMouseMove = useCallback(
|
|
204
197
|
(e) => {
|
|
205
198
|
if (!isDragging.current || disabled) return;
|
|
@@ -215,20 +208,31 @@ var Slider = React.memo(
|
|
|
215
208
|
onChange?.(newValue);
|
|
216
209
|
}
|
|
217
210
|
},
|
|
218
|
-
[disabled, value, range, controlledValue, min, max, step]
|
|
211
|
+
[disabled, value, range, controlledValue, min, max, step, onChange]
|
|
219
212
|
);
|
|
220
|
-
const
|
|
213
|
+
const [isDraggingState, setIsDraggingState] = useState(false);
|
|
214
|
+
const handleMouseDownWithState = (thumbIndex) => (e) => {
|
|
215
|
+
if (disabled) return;
|
|
216
|
+
isDragging.current = true;
|
|
217
|
+
setIsDraggingState(true);
|
|
218
|
+
activeThumb.current = thumbIndex;
|
|
219
|
+
setHoveredThumb(thumbIndex);
|
|
220
|
+
e.preventDefault();
|
|
221
|
+
};
|
|
222
|
+
const handleMouseUpWithState = useCallback(() => {
|
|
221
223
|
isDragging.current = false;
|
|
224
|
+
setIsDraggingState(false);
|
|
222
225
|
setHoveredThumb(null);
|
|
223
226
|
}, []);
|
|
224
227
|
React.useEffect(() => {
|
|
228
|
+
if (!isDraggingState) return;
|
|
225
229
|
document.addEventListener("mousemove", handleMouseMove);
|
|
226
|
-
document.addEventListener("mouseup",
|
|
230
|
+
document.addEventListener("mouseup", handleMouseUpWithState);
|
|
227
231
|
return () => {
|
|
228
232
|
document.removeEventListener("mousemove", handleMouseMove);
|
|
229
|
-
document.removeEventListener("mouseup",
|
|
233
|
+
document.removeEventListener("mouseup", handleMouseUpWithState);
|
|
230
234
|
};
|
|
231
|
-
}, [handleMouseMove,
|
|
235
|
+
}, [isDraggingState, handleMouseMove, handleMouseUpWithState]);
|
|
232
236
|
const handleTrackClick = (e) => {
|
|
233
237
|
if (disabled || isDragging.current) return;
|
|
234
238
|
const newValue = getValue(e.clientX);
|
|
@@ -321,7 +325,7 @@ var Slider = React.memo(
|
|
|
321
325
|
left: `${left}%`,
|
|
322
326
|
transform: `translate(-50%, -50%) ${isAtStart ? "translateX(50%)" : isAtEnd ? "translateX(-50%)" : ""}`
|
|
323
327
|
},
|
|
324
|
-
onMouseDown:
|
|
328
|
+
onMouseDown: handleMouseDownWithState(index),
|
|
325
329
|
onKeyDown: (e) => {
|
|
326
330
|
if (disabled) return;
|
|
327
331
|
let newValue = val;
|
|
@@ -369,5 +373,5 @@ Slider.displayName = "Slider";
|
|
|
369
373
|
var slider_default = Slider;
|
|
370
374
|
|
|
371
375
|
export { slider_default };
|
|
372
|
-
//# sourceMappingURL=chunk-
|
|
373
|
-
//# sourceMappingURL=chunk-
|
|
376
|
+
//# sourceMappingURL=chunk-GVEEUHM2.js.map
|
|
377
|
+
//# sourceMappingURL=chunk-GVEEUHM2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/slider/index.tsx"],"names":[],"mappings":"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","file":"chunk-GVEEUHM2.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\nimport type { SliderProps } from './types'\n\nconst sliderTrackVariants = cva('relative rounded-full', {\n variants: {\n size: {\n xs: 'h-1',\n sm: 'h-2',\n md: 'h-3',\n lg: 'h-4',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst thumbVariants = cva(\n 'absolute top-1/2 rounded-full border-2 bg-background cursor-pointer hover:scale-110 active:scale-100 transition-transform duration-150',\n {\n variants: {\n size: {\n xs: 'w-3 h-3',\n sm: 'w-3.5 h-3.5',\n md: 'w-4 h-4',\n lg: 'w-6 h-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst trackColorStyles = {\n default: {\n default: 'bg-surface',\n solid: 'bg-border',\n soft: 'bg-surface/50',\n },\n primary: {\n default: 'bg-primary/10',\n solid: 'bg-primary/20',\n soft: 'bg-primary/5',\n },\n secondary: {\n default: 'bg-secondary/10',\n solid: 'bg-secondary/20',\n soft: 'bg-secondary/5',\n },\n accent: {\n default: 'bg-accent/10',\n solid: 'bg-accent/20',\n soft: 'bg-accent/5',\n },\n success: {\n default: 'bg-success/10',\n solid: 'bg-success/20',\n soft: 'bg-success/5',\n },\n error: {\n default: 'bg-error/10',\n solid: 'bg-error/20',\n soft: 'bg-error/5',\n },\n warning: {\n default: 'bg-warning/10',\n solid: 'bg-warning/20',\n soft: 'bg-warning/5',\n },\n info: {\n default: 'bg-info/10',\n solid: 'bg-info/20',\n soft: 'bg-info/5',\n },\n}\n\nconst fillColorStyles = {\n default: {\n default: 'bg-surface border-border',\n solid: 'bg-border',\n soft: 'bg-surface/80',\n },\n primary: {\n default: 'bg-primary/20 border-primary',\n solid: 'bg-primary',\n soft: 'bg-primary/60',\n },\n secondary: {\n default: 'bg-secondary/20 border-secondary',\n solid: 'bg-secondary',\n soft: 'bg-secondary/60',\n },\n accent: {\n default: 'bg-accent/20 border-accent',\n solid: 'bg-accent',\n soft: 'bg-accent/60',\n },\n success: {\n default: 'bg-success/20 border-success',\n solid: 'bg-success',\n soft: 'bg-success/60',\n },\n error: {\n default: 'bg-error/20 border-error',\n solid: 'bg-error',\n soft: 'bg-error/60',\n },\n warning: {\n default: 'bg-warning/20 border-warning',\n solid: 'bg-warning',\n soft: 'bg-warning/60',\n },\n info: {\n default: 'bg-info/20 border-info',\n solid: 'bg-info',\n soft: 'bg-info/60',\n },\n}\n\nconst thumbColorStyles = {\n default: {\n default: 'border-border',\n solid: 'border-border',\n soft: 'border-surface',\n },\n primary: {\n default: 'border-primary',\n solid: 'border-primary',\n soft: 'border-primary/60',\n },\n secondary: {\n default: 'border-secondary',\n solid: 'border-secondary',\n soft: 'border-secondary/60',\n },\n accent: {\n default: 'border-accent',\n solid: 'border-accent',\n soft: 'border-accent/60',\n },\n success: {\n default: 'border-success',\n solid: 'border-success',\n soft: 'border-success/60',\n },\n error: {\n default: 'border-error',\n solid: 'border-error',\n soft: 'border-error/60',\n },\n warning: {\n default: 'border-warning',\n solid: 'border-warning',\n soft: 'border-warning/60',\n },\n info: {\n default: 'border-info',\n solid: 'border-info',\n soft: 'border-info/60',\n },\n}\n\nconst Slider = React.memo<SliderProps>(\n ({\n value: controlledValue,\n defaultValue = 50,\n min = 0,\n max = 100,\n step = 1,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n className,\n classNames,\n footer = false,\n range = false,\n }) => {\n const [internalValue, setInternalValue] = useState<number | number[]>(\n defaultValue,\n )\n const [hoveredThumb, setHoveredThumb] = useState<number | null>(null)\n const trackRef = useRef<HTMLDivElement>(null)\n const isDragging = useRef(false)\n const activeThumb = useRef<number>(0)\n\n const value = controlledValue ?? internalValue\n const values = Array.isArray(value) ? value : [value]\n\n const getPercentage = (val: number) => ((val - min) / (max - min)) * 100\n\n const getValue = (clientX: number) => {\n if (!trackRef.current) return min\n const rect = trackRef.current.getBoundingClientRect()\n const percentage = (clientX - rect.left) / rect.width\n const rawValue = min + percentage * (max - min)\n const steppedValue = Math.round(rawValue / step) * step\n return Math.max(min, Math.min(max, steppedValue))\n }\n\n const handleMouseMove = useCallback(\n (e: MouseEvent) => {\n if (!isDragging.current || disabled) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n const newValues = [...value]\n newValues[activeThumb.current] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n },\n [disabled, value, range, controlledValue, min, max, step, onChange],\n )\n\n\n const [isDraggingState, setIsDraggingState] = useState(false)\n\n const handleMouseDownWithState = (thumbIndex: number) => (e: React.MouseEvent) => {\n if (disabled) return\n isDragging.current = true\n setIsDraggingState(true)\n activeThumb.current = thumbIndex\n setHoveredThumb(thumbIndex)\n e.preventDefault()\n }\n\n const handleMouseUpWithState = useCallback(() => {\n isDragging.current = false\n setIsDraggingState(false)\n setHoveredThumb(null)\n }, [])\n\n // Only add global listeners when dragging - fixes memory leak\n React.useEffect(() => {\n if (!isDraggingState) return\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUpWithState)\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUpWithState)\n }\n }, [isDraggingState, handleMouseMove, handleMouseUpWithState])\n\n const handleTrackClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled || isDragging.current) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n let closestThumbIndex = 0\n let minDistance = Math.abs(newValue - (value[0] || 0))\n for (let i = 1; i < value.length; i++) {\n const distance = Math.abs(newValue - (value[i] || 0))\n if (distance < minDistance) {\n minDistance = distance\n closestThumbIndex = i\n }\n }\n\n const newValues = [...value]\n newValues[closestThumbIndex] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n }\n\n return (\n <div className={cn('w-full', 'slider_root', classNames?.root, className)}>\n <div\n ref={trackRef}\n onClick={handleTrackClick}\n className={cn(\n sliderTrackVariants({ size }),\n trackColorStyles[color][variant],\n 'relative cursor-pointer',\n 'slider_track',\n classNames?.track,\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n {/* Fill segment */}\n {range && values.length > 1 ? (\n values.slice(0, -1).map((val, index) => {\n const left = getPercentage(val)\n const right = getPercentage(values[index + 1]!)\n return (\n <div\n key={index}\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n 'slider_range',\n classNames?.range,\n )}\n style={{ left: `${left}%`, width: `${right - left}%` }}\n />\n )\n })\n ) : (\n <div\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n 'slider_range',\n classNames?.range,\n )}\n style={{ left: '0%', width: `${getPercentage(values[0] || 0)}%` }}\n />\n )}\n\n {/* Thumbs */}\n {values.map((val, index) => {\n const left = getPercentage(val)\n const isAtStart = left <= 0\n const isAtEnd = left >= 100\n return (\n <div\n key={index}\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={val}\n aria-disabled={disabled}\n aria-label={range ? `Slider thumb ${index + 1}` : 'Slider'}\n className={cn(\n thumbVariants({ size }),\n thumbColorStyles[color][variant],\n disabled && 'cursor-not-allowed',\n 'focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary',\n 'slider_thumb',\n classNames?.thumb,\n )}\n style={{\n left: `${left}%`,\n transform: `translate(-50%, -50%) ${\n isAtStart\n ? 'translateX(50%)'\n : isAtEnd\n ? 'translateX(-50%)'\n : ''\n }`,\n }}\n onMouseDown={handleMouseDownWithState(index)}\n onKeyDown={(e) => {\n if (disabled) return\n let newValue = val\n if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\n newValue = Math.min(max, val + step)\n } else if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\n newValue = Math.max(min, val - step)\n } else if (e.key === 'Home') {\n newValue = min\n } else if (e.key === 'End') {\n newValue = max\n } else {\n return\n }\n e.preventDefault()\n if (range && Array.isArray(value)) {\n const newValues = [...value]\n newValues[index] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n }}\n >\n {hoveredThumb === index && (\n <div className=\"absolute -top-8 left-1/2 -translate-x-1/2 bg-text-primary text-background text-xs px-2 py-1 rounded whitespace-nowrap\">\n {val}\n </div>\n )}\n </div>\n )\n })}\n </div>\n\n {typeof footer === 'boolean' && (\n <div className=\"flex justify-between mt-1 text-sm text-text-secondary\">\n <span className={cn('slider_label', classNames?.label)}>{min}</span>\n <span className={cn('font-medium text-text-primary', 'slider_value', classNames?.value)}>\n {range && Array.isArray(value) ? value.join(' - ') : value}\n </span>\n <span className={cn('slider_label', classNames?.label)}>{max}</span>\n </div>\n )}\n {footer && typeof footer !== 'boolean' && footer}\n </div>\n )\n },\n)\n\nSlider.displayName = 'Slider'\n\nexport type * from './types'\nexport default Slider\n"]}
|
|
@@ -305,9 +305,9 @@ var Progress = React.memo(
|
|
|
305
305
|
className: cn(
|
|
306
306
|
"p-2 text-text-secondary",
|
|
307
307
|
"progress_label",
|
|
308
|
-
`text-[${circleSize / Math.floor(label.length * 1.5)}px]`,
|
|
309
308
|
classNames?.label
|
|
310
309
|
),
|
|
310
|
+
style: { fontSize: `${circleSize / Math.floor(label.length * 1.5)}px` },
|
|
311
311
|
children: label
|
|
312
312
|
}
|
|
313
313
|
) : /* @__PURE__ */ jsxs(
|
|
@@ -350,7 +350,7 @@ var Progress = React.memo(
|
|
|
350
350
|
"aria-label": progressLabel,
|
|
351
351
|
children: [
|
|
352
352
|
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
353
|
-
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label
|
|
353
|
+
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label }),
|
|
354
354
|
showProgress && /* @__PURE__ */ jsxs(
|
|
355
355
|
"span",
|
|
356
356
|
{
|
|
@@ -415,7 +415,7 @@ var Progress = React.memo(
|
|
|
415
415
|
"aria-label": progressLabel,
|
|
416
416
|
children: [
|
|
417
417
|
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
418
|
-
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label
|
|
418
|
+
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label }),
|
|
419
419
|
showProgress && /* @__PURE__ */ jsxs(
|
|
420
420
|
"span",
|
|
421
421
|
{
|
|
@@ -486,7 +486,7 @@ var Progress = React.memo(
|
|
|
486
486
|
"aria-label": progressLabel,
|
|
487
487
|
children: [
|
|
488
488
|
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
489
|
-
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label
|
|
489
|
+
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label }),
|
|
490
490
|
showProgress && /* @__PURE__ */ jsxs(
|
|
491
491
|
"span",
|
|
492
492
|
{
|
|
@@ -548,7 +548,7 @@ var Progress = React.memo(
|
|
|
548
548
|
"aria-label": progressLabel,
|
|
549
549
|
children: [
|
|
550
550
|
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
551
|
-
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label
|
|
551
|
+
/* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label }),
|
|
552
552
|
showProgress && /* @__PURE__ */ jsxs(
|
|
553
553
|
"span",
|
|
554
554
|
{
|
|
@@ -603,5 +603,5 @@ Progress.displayName = "Progress";
|
|
|
603
603
|
var progress_default = Progress;
|
|
604
604
|
|
|
605
605
|
export { progress_default };
|
|
606
|
-
//# sourceMappingURL=chunk-
|
|
607
|
-
//# sourceMappingURL=chunk-
|
|
606
|
+
//# sourceMappingURL=chunk-HLY4VDIX.js.map
|
|
607
|
+
//# sourceMappingURL=chunk-HLY4VDIX.js.map
|