{"version":3,"file":"CardImage.cjs","sources":["../../../../src/components/card/CardImage.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { SlotComponent } from \"../../utilities/polymorphism/SlotComponent.js\";\nimport type { AsChildProps } from \"../../utilities/polymorphism/as-child.js\";\nimport type {\n    PolymorphicPropsWithRef,\n    PolymorphicRef,\n} from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport type CardImageProps<ElementType extends React.ElementType> =\n    PolymorphicPropsWithRef<\n        ElementType,\n        {\n            /**\n             * Legger til riktig negativ margin avhengig av hvor i kortet bildet\n             * skal plasseres. Margin justeres automatisk etter padding i kortet.\n             * Velg \"full\" hvis bildet skal være eneste innhold i kortet.\n             * @default \"top\"\n             */\n            placement?: \"top\" | \"middle\" | \"bottom\" | \"full\";\n        }\n    >;\n\ntype CardImageComponent = <ElementType extends React.ElementType = \"img\">(\n    props: CardImageProps<ElementType>,\n) => React.ReactElement | null;\n\n/**\n * Bildekomponent som kan brukes i `Card` for å sørge for at bildet\n * blør helt ut i kantene av kortet. Rendres normalt som et `<img>`-\n * element, men du kan overstyre dette med `as` dersom du f.eks. har\n * en egen komponent for å håndtere responsive bilder.\n */\nexport const CardImage = React.forwardRef(function CardImage<\n    ElementType extends React.ElementType = \"img\",\n>(\n    {\n        as,\n        asChild,\n        className,\n        placement = \"top\",\n        ...imageProps\n    }: CardImageProps<ElementType> & AsChildProps,\n    ref?: PolymorphicRef<ElementType>,\n) {\n    const Component = asChild ? SlotComponent : as || \"img\";\n\n    return (\n        <Component\n            ref={ref}\n            className={clsx(\n                \"jkl-card-image\",\n                `jkl-card-image--${placement}`,\n                className,\n            )}\n            {...imageProps}\n        />\n    );\n}) as CardImageComponent;\n"],"names":["CardImage","React","forwardRef","as","asChild","className","placement","imageProps","ref","Component","SlotComponent","jsx","clsx"],"mappings":"4OAiCaA,EAAYC,EAAMC,WAAW,UAIlCC,GAAAA,EACAC,QAAAA,EACAC,UAAAA,EACAC,UAAAA,EAAY,SACTC,GAEPC,GAEA,MAAMC,EAAYL,EAAUM,EAAAA,cAAgBP,GAAM,MAElD,OACIQ,EAAAA,IAACF,EAAA,CACGD,IAAAA,EACAH,UAAWO,EAAAA,KACP,iBACA,mBAAmBN,IACnBD,MAEAE,GAGhB"}