boreal-ui 0.0.883 → 0.0.884

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.
@@ -901,12 +901,6 @@
901
901
  }
902
902
  }
903
903
 
904
- .card :focus-visible {
905
- outline: 2px solid var(--focus-outline-color, var(--primary-color));
906
- outline-offset: 2px;
907
- border-radius: 4px;
908
- }
909
-
910
904
  @media (prefers-reduced-motion: reduce) {
911
905
  .card,
912
906
  .card * {
@@ -7,59 +7,59 @@ import React, { useId, useMemo } from "react";
7
7
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
8
8
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
9
9
  import { d as getDefaultTheme, e as getDefaultBorder, a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize } from "./boreal-style-config-DsaRlxmw.js";
10
- import './Card.css';const card = "_card_150r3_205";
11
- const outline = "_outline_150r3_212";
12
- const footer = "_footer_150r3_215";
13
- const clickable = "_clickable_150r3_218";
14
- const borderNone = "_borderNone_150r3_246";
15
- const borderXs = "_borderXs_150r3_252";
16
- const borderSmall = "_borderSmall_150r3_258";
17
- const borderMedium = "_borderMedium_150r3_264";
18
- const borderLarge = "_borderLarge_150r3_270";
19
- const borderXl = "_borderXl_150r3_276";
20
- const roundNone = "_roundNone_150r3_282";
21
- const roundSmall = "_roundSmall_150r3_286";
22
- const roundMedium = "_roundMedium_150r3_290";
23
- const roundLarge = "_roundLarge_150r3_294";
24
- const roundFull = "_roundFull_150r3_298";
25
- const shadowNone = "_shadowNone_150r3_302";
26
- const shadowLight = "_shadowLight_150r3_306";
27
- const shadowMedium = "_shadowMedium_150r3_310";
28
- const shadowStrong = "_shadowStrong_150r3_314";
29
- const shadowIntense = "_shadowIntense_150r3_318";
30
- const loading = "_loading_150r3_322";
31
- const fade_in = "_fade_in_150r3_343";
32
- const media = "_media_150r3_347";
33
- const image = "_image_150r3_366";
34
- const vertical = "_vertical_150r3_378";
35
- const content = "_content_150r3_381";
36
- const horizontal = "_horizontal_150r3_399";
37
- const body = "_body_150r3_449";
38
- const disabled = "_disabled_150r3_480";
39
- const primary = "_primary_150r3_500";
40
- const icon = "_icon_150r3_504";
41
- const description = "_description_150r3_505";
42
- const secondary = "_secondary_150r3_522";
43
- const tertiary = "_tertiary_150r3_544";
44
- const quaternary = "_quaternary_150r3_566";
45
- const clear = "_clear_150r3_588";
46
- const success = "_success_150r3_610";
47
- const error = "_error_150r3_631";
48
- const warning = "_warning_150r3_652";
49
- const header = "_header_150r3_699";
50
- const title = "_title_150r3_739";
51
- const actions = "_actions_150r3_815";
52
- const xs = "_xs_150r3_834";
53
- const children = "_children_150r3_844";
54
- const small = "_small_150r3_851";
55
- const medium = "_medium_150r3_867";
56
- const large = "_large_150r3_883";
57
- const xl = "_xl_150r3_899";
58
- const left = "_left_150r3_915";
59
- const center = "_center_150r3_927";
60
- const right = "_right_150r3_939";
61
- const spin = "_spin_150r3_1";
62
- const pulse = "_pulse_150r3_1";
10
+ import './Card.css';const card = "_card_j3vp0_205";
11
+ const outline = "_outline_j3vp0_212";
12
+ const footer = "_footer_j3vp0_215";
13
+ const clickable = "_clickable_j3vp0_218";
14
+ const borderNone = "_borderNone_j3vp0_246";
15
+ const borderXs = "_borderXs_j3vp0_252";
16
+ const borderSmall = "_borderSmall_j3vp0_258";
17
+ const borderMedium = "_borderMedium_j3vp0_264";
18
+ const borderLarge = "_borderLarge_j3vp0_270";
19
+ const borderXl = "_borderXl_j3vp0_276";
20
+ const roundNone = "_roundNone_j3vp0_282";
21
+ const roundSmall = "_roundSmall_j3vp0_286";
22
+ const roundMedium = "_roundMedium_j3vp0_290";
23
+ const roundLarge = "_roundLarge_j3vp0_294";
24
+ const roundFull = "_roundFull_j3vp0_298";
25
+ const shadowNone = "_shadowNone_j3vp0_302";
26
+ const shadowLight = "_shadowLight_j3vp0_306";
27
+ const shadowMedium = "_shadowMedium_j3vp0_310";
28
+ const shadowStrong = "_shadowStrong_j3vp0_314";
29
+ const shadowIntense = "_shadowIntense_j3vp0_318";
30
+ const loading = "_loading_j3vp0_322";
31
+ const fade_in = "_fade_in_j3vp0_343";
32
+ const media = "_media_j3vp0_347";
33
+ const image = "_image_j3vp0_366";
34
+ const vertical = "_vertical_j3vp0_378";
35
+ const content = "_content_j3vp0_381";
36
+ const horizontal = "_horizontal_j3vp0_399";
37
+ const body = "_body_j3vp0_449";
38
+ const disabled = "_disabled_j3vp0_480";
39
+ const primary = "_primary_j3vp0_500";
40
+ const icon = "_icon_j3vp0_504";
41
+ const description = "_description_j3vp0_505";
42
+ const secondary = "_secondary_j3vp0_522";
43
+ const tertiary = "_tertiary_j3vp0_544";
44
+ const quaternary = "_quaternary_j3vp0_566";
45
+ const clear = "_clear_j3vp0_588";
46
+ const success = "_success_j3vp0_610";
47
+ const error = "_error_j3vp0_631";
48
+ const warning = "_warning_j3vp0_652";
49
+ const header = "_header_j3vp0_699";
50
+ const title = "_title_j3vp0_739";
51
+ const actions = "_actions_j3vp0_815";
52
+ const xs = "_xs_j3vp0_834";
53
+ const children = "_children_j3vp0_844";
54
+ const small = "_small_j3vp0_851";
55
+ const medium = "_medium_j3vp0_867";
56
+ const large = "_large_j3vp0_883";
57
+ const xl = "_xl_j3vp0_899";
58
+ const left = "_left_j3vp0_915";
59
+ const center = "_center_j3vp0_927";
60
+ const right = "_right_j3vp0_939";
61
+ const spin = "_spin_j3vp0_1";
62
+ const pulse = "_pulse_j3vp0_1";
63
63
  const styles = {
64
64
  card,
65
65
  outline,
@@ -83,7 +83,7 @@ const styles = {
83
83
  shadowIntense,
84
84
  loading,
85
85
  fade_in,
86
- "fade-in": "_fade-in_150r3_1",
86
+ "fade-in": "_fade-in_j3vp0_1",
87
87
  media,
88
88
  image,
89
89
  vertical,
@@ -113,14 +113,14 @@ const styles = {
113
113
  left,
114
114
  center,
115
115
  right,
116
- "slide-up": "_slide-up_150r3_1",
117
- "spin-3d": "_spin-3d_150r3_1",
116
+ "slide-up": "_slide-up_j3vp0_1",
117
+ "spin-3d": "_spin-3d_j3vp0_1",
118
118
  spin,
119
119
  pulse,
120
- "fade-in-up": "_fade-in-up_150r3_1",
121
- "progress-grow": "_progress-grow_150r3_1",
122
- "indeterminate-move": "_indeterminate-move_150r3_1",
123
- "skeleton-loading": "_skeleton-loading_150r3_1"
120
+ "fade-in-up": "_fade-in-up_j3vp0_1",
121
+ "progress-grow": "_progress-grow_j3vp0_1",
122
+ "indeterminate-move": "_indeterminate-move_j3vp0_1",
123
+ "skeleton-loading": "_skeleton-loading_j3vp0_1"
124
124
  };
125
125
  const CardBase = ({
126
126
  theme = getDefaultTheme(),
@@ -445,4 +445,4 @@ Card.displayName = "Card";
445
445
  export {
446
446
  Card as C
447
447
  };
448
- //# sourceMappingURL=Card-B4XAnIBE.js.map
448
+ //# sourceMappingURL=Card-D2jWnTzN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card-B4XAnIBE.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/next/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { CardBaseProps, CardImageSource, StaticCardImage } from \"./Card.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n getDefaultBorder,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst CardBase: React.FC<CardBaseProps> = ({\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n cardIcon,\r\n title = \"\",\r\n border = getDefaultBorder(),\r\n description = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n imageUrl,\r\n imageAlt,\r\n imageHeight,\r\n imageWidth,\r\n imageFill,\r\n imageDecorative = false,\r\n className = \"\",\r\n imageClassName = \"\",\r\n headerClassName = \"\",\r\n bodyClassName = \"\",\r\n footerClassName = \"\",\r\n outline = false,\r\n size = getDefaultSize(),\r\n align = \"center\",\r\n renderHeader,\r\n renderContent,\r\n renderFooter,\r\n actionButtons = [],\r\n useIconButtons = false,\r\n layout = \"vertical\",\r\n loading = false,\r\n children,\r\n id,\r\n role,\r\n tabIndex,\r\n selectable = false,\r\n selected = false,\r\n disabled = false,\r\n \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-label\": ariaLabel,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-controls\": ariaControls,\r\n \"aria-current\": ariaCurrent,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n headerId,\r\n descriptionId,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const resolvedHeaderId = headerId || ariaLabelledBy || `${autoId}-header`;\r\n const resolvedDescriptionId = descriptionId || `${autoId}-description`;\r\n const hasTitle = Boolean(title);\r\n\r\n const hasDescription = Boolean(description);\r\n\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n const resolvedRole =\r\n role ||\r\n (selectable ? \"button\" : hasTitle || ariaLabel ? \"region\" : undefined);\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\r\n );\r\n\r\n function isStaticCardImage(value: unknown): value is StaticCardImage {\r\n return (\r\n typeof value === \"object\" &&\r\n value !== null &&\r\n \"src\" in value &&\r\n typeof (value as { src: unknown }).src === \"string\"\r\n );\r\n }\r\n\r\n function normalizeImageSource(\r\n srcInput: CardImageSource | undefined,\r\n fallbackWidth?: number,\r\n fallbackHeight?: number,\r\n ): { src?: string; width?: number; height?: number } {\r\n if (!srcInput) {\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n if (typeof srcInput === \"string\") {\r\n const trimmed = srcInput.trim();\r\n if (!trimmed) {\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n return { src: trimmed, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n if (isStaticCardImage(srcInput)) {\r\n const trimmed = srcInput.src.trim();\r\n if (!trimmed) {\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n return {\r\n src: trimmed,\r\n width: srcInput.width ?? fallbackWidth,\r\n height: srcInput.height ?? fallbackHeight,\r\n };\r\n }\r\n\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n const {\r\n src: imgSrc,\r\n width: resolvedWidth,\r\n height: resolvedHeight,\r\n } = normalizeImageSource(imageUrl, imageWidth, imageHeight);\r\n\r\n const hasImage = Boolean(imgSrc);\r\n const imgAlt = imageDecorative ? \"\" : imageAlt || `${title || \"Card\"} image`;\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n\r\n const cardClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.card,\r\n classMap[layout],\r\n align && classMap[align],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n border && classMap[`border${capitalize(border)}`],\r\n outline && classMap.outline,\r\n loading && classMap.loading,\r\n disabled && classMap.disabled,\r\n selected && classMap.selected,\r\n selectable && classMap.selectable,\r\n className,\r\n ),\r\n [\r\n classMap,\r\n layout,\r\n align,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n border,\r\n outline,\r\n loading,\r\n disabled,\r\n selected,\r\n selectable,\r\n className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n id={id}\r\n data-testid={testId}\r\n className={cardClassName}\r\n role={resolvedRole}\r\n tabIndex={disabled ? -1 : tabIndex}\r\n aria-labelledby={\r\n hasTitle && !ariaLabel ? resolvedHeaderId : ariaLabelledBy\r\n }\r\n aria-describedby={\r\n ariaDescribedBy || (hasDescription ? resolvedDescriptionId : undefined)\r\n }\r\n aria-label={!hasTitle || ariaLabel ? derivedAriaLabel : undefined}\r\n aria-busy={loading || undefined}\r\n aria-disabled={disabled || undefined}\r\n aria-pressed={selectable ? selected : undefined}\r\n aria-expanded={ariaExpanded}\r\n aria-controls={ariaControls}\r\n aria-current={ariaCurrent}\r\n aria-live={ariaLive}\r\n aria-atomic={ariaAtomic}\r\n >\r\n {loading ? (\r\n <SkeletonComponent\r\n width=\"250px\"\r\n height=\"250px\"\r\n data-testid={`${testId}-skeleton`}\r\n />\r\n ) : (\r\n <div className={classMap.content}>\r\n {hasImage &&\r\n imgSrc &&\r\n (imageFill ? (\r\n <div className={classMap.media}>\r\n <ImageRenderer\r\n src={imgSrc}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n fill\r\n />\r\n </div>\r\n ) : (\r\n <ImageRenderer\r\n src={imgSrc}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n width={resolvedWidth ?? 640}\r\n height={resolvedHeight ?? 360}\r\n />\r\n ))}\r\n\r\n <div>\r\n {(renderHeader || hasTitle) && (\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={resolvedHeaderId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : hasTitle ? (\r\n <h2 className={classMap.title}>\r\n {cardIcon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n {React.createElement(cardIcon)}\r\n </span>\r\n )}\r\n {title}\r\n </h2>\r\n ) : null}\r\n </div>\r\n )}\r\n\r\n <div className={combineClassNames(classMap.body, bodyClassName)}>\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {hasDescription && (\r\n <p\r\n id={resolvedDescriptionId}\r\n className={classMap.description}\r\n >\r\n {description}\r\n </p>\r\n )}\r\n {children && (\r\n <div className={classMap.children}>{children}</div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n\r\n {(actionButtons.length > 0 || renderFooter) && (\r\n <div\r\n className={combineClassNames(classMap.footer, footerClassName)}\r\n >\r\n {actionButtons.length > 0 && (\r\n <div className={classMap.actions}>\r\n {actionButtons.map((button, index) =>\r\n useIconButtons && button.icon ? (\r\n <button.iconButtonComponent\r\n key={index}\r\n icon={button.icon}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"clear\"}\r\n state={button.state || \"\"}\r\n aria-label={button[\"aria-label\"] || button.label}\r\n aria-describedby={button[\"aria-describedby\"]}\r\n aria-labelledby={button[\"aria-labelledby\"]}\r\n aria-pressed={button[\"aria-pressed\"]}\r\n aria-expanded={button[\"aria-expanded\"]}\r\n aria-controls={button[\"aria-controls\"]}\r\n aria-current={button[\"aria-current\"]}\r\n role={button.role}\r\n title={button.title}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n disabled={button.disabled}\r\n />\r\n ) : (\r\n <button.buttonComponent\r\n key={index}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"secondary\"}\r\n state={button.state || \"\"}\r\n href={button.href}\r\n loading={button.loading}\r\n size={button.size || size}\r\n aria-label={button[\"aria-label\"] || button.label}\r\n aria-describedby={button[\"aria-describedby\"]}\r\n aria-labelledby={button[\"aria-labelledby\"]}\r\n aria-pressed={button[\"aria-pressed\"]}\r\n aria-expanded={button[\"aria-expanded\"]}\r\n aria-controls={button[\"aria-controls\"]}\r\n aria-current={button[\"aria-current\"]}\r\n role={button.role}\r\n title={button.title}\r\n disabled={button.disabled}\r\n >\r\n {button.label}\r\n </button.buttonComponent>\r\n ),\r\n )}\r\n </div>\r\n )}\r\n {renderFooter && renderFooter()}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nCardBase.displayName = \"CardBase\";\r\n\r\nexport default CardBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image, { StaticImageData } from \"next/image\";\r\nimport Button from \"../../Button/next/Button\";\r\nimport IconButton from \"../../IconButton/next/IconButton\";\r\nimport Skeleton from \"../../Skeleton/next/Skeleton\";\r\nimport styles from \"./Card.module.scss\";\r\nimport CardBase from \"../CardBase\";\r\nimport { CardImageComponentProps, CardProps } from \"../Card.types\";\r\n\r\nconst NextImageWrapper: React.FC<CardImageComponentProps> = ({\r\n src,\r\n alt,\r\n className,\r\n width,\r\n height,\r\n fill,\r\n}) => {\r\n if (typeof src === \"string\" && src.toLowerCase().endsWith(\".svg\")) {\r\n return (\r\n <img\r\n src={src}\r\n alt={alt}\r\n className={className}\r\n width={width}\r\n height={height}\r\n loading=\"lazy\"\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Image\r\n src={src as StaticImageData | string}\r\n alt={alt}\r\n className={className}\r\n {...(fill\r\n ? { fill, sizes: \"100vw\" }\r\n : { width: width ?? 640, height: height ?? 360 })}\r\n />\r\n );\r\n};\r\n\r\nconst Card: React.FC<CardProps> = (props) => {\r\n const wrappedButtons = (props.actionButtons ?? []).map((b) => ({\r\n ...b,\r\n buttonComponent: Button,\r\n iconButtonComponent: IconButton,\r\n }));\r\n\r\n return (\r\n <CardBase\r\n {...props}\r\n actionButtons={wrappedButtons}\r\n classMap={styles}\r\n SkeletonComponent={Skeleton}\r\n ImageComponent={NextImageWrapper}\r\n />\r\n );\r\n};\r\nCard.displayName = \"Card\";\r\nexport default Card;\r\n"],"names":["title","description","outline","loading","children","disabled","Skeleton"],"mappings":"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"}
1
+ {"version":3,"file":"Card-D2jWnTzN.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/next/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { CardBaseProps, CardImageSource, StaticCardImage } from \"./Card.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n getDefaultBorder,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst CardBase: React.FC<CardBaseProps> = ({\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n cardIcon,\r\n title = \"\",\r\n border = getDefaultBorder(),\r\n description = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n imageUrl,\r\n imageAlt,\r\n imageHeight,\r\n imageWidth,\r\n imageFill,\r\n imageDecorative = false,\r\n className = \"\",\r\n imageClassName = \"\",\r\n headerClassName = \"\",\r\n bodyClassName = \"\",\r\n footerClassName = \"\",\r\n outline = false,\r\n size = getDefaultSize(),\r\n align = \"center\",\r\n renderHeader,\r\n renderContent,\r\n renderFooter,\r\n actionButtons = [],\r\n useIconButtons = false,\r\n layout = \"vertical\",\r\n loading = false,\r\n children,\r\n id,\r\n role,\r\n tabIndex,\r\n selectable = false,\r\n selected = false,\r\n disabled = false,\r\n \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-label\": ariaLabel,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-controls\": ariaControls,\r\n \"aria-current\": ariaCurrent,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n headerId,\r\n descriptionId,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const resolvedHeaderId = headerId || ariaLabelledBy || `${autoId}-header`;\r\n const resolvedDescriptionId = descriptionId || `${autoId}-description`;\r\n const hasTitle = Boolean(title);\r\n\r\n const hasDescription = Boolean(description);\r\n\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n const resolvedRole =\r\n role ||\r\n (selectable ? \"button\" : hasTitle || ariaLabel ? \"region\" : undefined);\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\r\n );\r\n\r\n function isStaticCardImage(value: unknown): value is StaticCardImage {\r\n return (\r\n typeof value === \"object\" &&\r\n value !== null &&\r\n \"src\" in value &&\r\n typeof (value as { src: unknown }).src === \"string\"\r\n );\r\n }\r\n\r\n function normalizeImageSource(\r\n srcInput: CardImageSource | undefined,\r\n fallbackWidth?: number,\r\n fallbackHeight?: number,\r\n ): { src?: string; width?: number; height?: number } {\r\n if (!srcInput) {\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n if (typeof srcInput === \"string\") {\r\n const trimmed = srcInput.trim();\r\n if (!trimmed) {\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n return { src: trimmed, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n if (isStaticCardImage(srcInput)) {\r\n const trimmed = srcInput.src.trim();\r\n if (!trimmed) {\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n return {\r\n src: trimmed,\r\n width: srcInput.width ?? fallbackWidth,\r\n height: srcInput.height ?? fallbackHeight,\r\n };\r\n }\r\n\r\n return { src: undefined, width: fallbackWidth, height: fallbackHeight };\r\n }\r\n\r\n const {\r\n src: imgSrc,\r\n width: resolvedWidth,\r\n height: resolvedHeight,\r\n } = normalizeImageSource(imageUrl, imageWidth, imageHeight);\r\n\r\n const hasImage = Boolean(imgSrc);\r\n const imgAlt = imageDecorative ? \"\" : imageAlt || `${title || \"Card\"} image`;\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n\r\n const cardClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.card,\r\n classMap[layout],\r\n align && classMap[align],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n border && classMap[`border${capitalize(border)}`],\r\n outline && classMap.outline,\r\n loading && classMap.loading,\r\n disabled && classMap.disabled,\r\n selected && classMap.selected,\r\n selectable && classMap.selectable,\r\n className,\r\n ),\r\n [\r\n classMap,\r\n layout,\r\n align,\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n border,\r\n outline,\r\n loading,\r\n disabled,\r\n selected,\r\n selectable,\r\n className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n id={id}\r\n data-testid={testId}\r\n className={cardClassName}\r\n role={resolvedRole}\r\n tabIndex={disabled ? -1 : tabIndex}\r\n aria-labelledby={\r\n hasTitle && !ariaLabel ? resolvedHeaderId : ariaLabelledBy\r\n }\r\n aria-describedby={\r\n ariaDescribedBy || (hasDescription ? resolvedDescriptionId : undefined)\r\n }\r\n aria-label={!hasTitle || ariaLabel ? derivedAriaLabel : undefined}\r\n aria-busy={loading || undefined}\r\n aria-disabled={disabled || undefined}\r\n aria-pressed={selectable ? selected : undefined}\r\n aria-expanded={ariaExpanded}\r\n aria-controls={ariaControls}\r\n aria-current={ariaCurrent}\r\n aria-live={ariaLive}\r\n aria-atomic={ariaAtomic}\r\n >\r\n {loading ? (\r\n <SkeletonComponent\r\n width=\"250px\"\r\n height=\"250px\"\r\n data-testid={`${testId}-skeleton`}\r\n />\r\n ) : (\r\n <div className={classMap.content}>\r\n {hasImage &&\r\n imgSrc &&\r\n (imageFill ? (\r\n <div className={classMap.media}>\r\n <ImageRenderer\r\n src={imgSrc}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n fill\r\n />\r\n </div>\r\n ) : (\r\n <ImageRenderer\r\n src={imgSrc}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n width={resolvedWidth ?? 640}\r\n height={resolvedHeight ?? 360}\r\n />\r\n ))}\r\n\r\n <div>\r\n {(renderHeader || hasTitle) && (\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={resolvedHeaderId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : hasTitle ? (\r\n <h2 className={classMap.title}>\r\n {cardIcon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n {React.createElement(cardIcon)}\r\n </span>\r\n )}\r\n {title}\r\n </h2>\r\n ) : null}\r\n </div>\r\n )}\r\n\r\n <div className={combineClassNames(classMap.body, bodyClassName)}>\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {hasDescription && (\r\n <p\r\n id={resolvedDescriptionId}\r\n className={classMap.description}\r\n >\r\n {description}\r\n </p>\r\n )}\r\n {children && (\r\n <div className={classMap.children}>{children}</div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n\r\n {(actionButtons.length > 0 || renderFooter) && (\r\n <div\r\n className={combineClassNames(classMap.footer, footerClassName)}\r\n >\r\n {actionButtons.length > 0 && (\r\n <div className={classMap.actions}>\r\n {actionButtons.map((button, index) =>\r\n useIconButtons && button.icon ? (\r\n <button.iconButtonComponent\r\n key={index}\r\n icon={button.icon}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"clear\"}\r\n state={button.state || \"\"}\r\n aria-label={button[\"aria-label\"] || button.label}\r\n aria-describedby={button[\"aria-describedby\"]}\r\n aria-labelledby={button[\"aria-labelledby\"]}\r\n aria-pressed={button[\"aria-pressed\"]}\r\n aria-expanded={button[\"aria-expanded\"]}\r\n aria-controls={button[\"aria-controls\"]}\r\n aria-current={button[\"aria-current\"]}\r\n role={button.role}\r\n title={button.title}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n disabled={button.disabled}\r\n />\r\n ) : (\r\n <button.buttonComponent\r\n key={index}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"secondary\"}\r\n state={button.state || \"\"}\r\n href={button.href}\r\n loading={button.loading}\r\n size={button.size || size}\r\n aria-label={button[\"aria-label\"] || button.label}\r\n aria-describedby={button[\"aria-describedby\"]}\r\n aria-labelledby={button[\"aria-labelledby\"]}\r\n aria-pressed={button[\"aria-pressed\"]}\r\n aria-expanded={button[\"aria-expanded\"]}\r\n aria-controls={button[\"aria-controls\"]}\r\n aria-current={button[\"aria-current\"]}\r\n role={button.role}\r\n title={button.title}\r\n disabled={button.disabled}\r\n >\r\n {button.label}\r\n </button.buttonComponent>\r\n ),\r\n )}\r\n </div>\r\n )}\r\n {renderFooter && renderFooter()}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nCardBase.displayName = \"CardBase\";\r\n\r\nexport default CardBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image, { StaticImageData } from \"next/image\";\r\nimport Button from \"../../Button/next/Button\";\r\nimport IconButton from \"../../IconButton/next/IconButton\";\r\nimport Skeleton from \"../../Skeleton/next/Skeleton\";\r\nimport styles from \"./Card.module.scss\";\r\nimport CardBase from \"../CardBase\";\r\nimport { CardImageComponentProps, CardProps } from \"../Card.types\";\r\n\r\nconst NextImageWrapper: React.FC<CardImageComponentProps> = ({\r\n src,\r\n alt,\r\n className,\r\n width,\r\n height,\r\n fill,\r\n}) => {\r\n if (typeof src === \"string\" && src.toLowerCase().endsWith(\".svg\")) {\r\n return (\r\n <img\r\n src={src}\r\n alt={alt}\r\n className={className}\r\n width={width}\r\n height={height}\r\n loading=\"lazy\"\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Image\r\n src={src as StaticImageData | string}\r\n alt={alt}\r\n className={className}\r\n {...(fill\r\n ? { fill, sizes: \"100vw\" }\r\n : { width: width ?? 640, height: height ?? 360 })}\r\n />\r\n );\r\n};\r\n\r\nconst Card: React.FC<CardProps> = (props) => {\r\n const wrappedButtons = (props.actionButtons ?? []).map((b) => ({\r\n ...b,\r\n buttonComponent: Button,\r\n iconButtonComponent: IconButton,\r\n }));\r\n\r\n return (\r\n <CardBase\r\n {...props}\r\n actionButtons={wrappedButtons}\r\n classMap={styles}\r\n SkeletonComponent={Skeleton}\r\n ImageComponent={NextImageWrapper}\r\n />\r\n );\r\n};\r\nCard.displayName = \"Card\";\r\nexport default Card;\r\n"],"names":["title","description","outline","loading","children","disabled","Skeleton"],"mappings":"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"}