boreal-ui 0.0.875 → 0.0.877

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.
Files changed (92) hide show
  1. package/dist/core/{Breadcrumbs--l_brteX.js → Breadcrumbs-BdpRclbv.js} +2 -2
  2. package/dist/core/{Breadcrumbs--l_brteX.js.map → Breadcrumbs-BdpRclbv.js.map} +1 -1
  3. package/dist/core/{Breadcrumbs-DB8KX7sH.cjs → Breadcrumbs-XAGnbbnf.cjs} +2 -2
  4. package/dist/core/{Breadcrumbs-DB8KX7sH.cjs.map → Breadcrumbs-XAGnbbnf.cjs.map} +1 -1
  5. package/dist/core/Breadcrumbs.cjs.js +1 -1
  6. package/dist/core/Breadcrumbs.js +1 -1
  7. package/dist/core/{Button-BT0hAOju.js → Button-BaGwg7qF.js} +51 -14
  8. package/dist/core/Button-BaGwg7qF.js.map +1 -0
  9. package/dist/core/{Button-B2ucbkuX.cjs → Button-lYDI65B8.cjs} +51 -14
  10. package/dist/core/Button-lYDI65B8.cjs.map +1 -0
  11. package/dist/core/Button.cjs.js +1 -1
  12. package/dist/core/Button.js +1 -1
  13. package/dist/core/{Card-DtTW3W1D.js → Card-BTrF1W-e.js} +4 -4
  14. package/dist/core/Card-BTrF1W-e.js.map +1 -0
  15. package/dist/core/{Card-BTmfk5hP.cjs → Card-Ha3HknHh.cjs} +4 -4
  16. package/dist/core/Card-Ha3HknHh.cjs.map +1 -0
  17. package/dist/core/Card.cjs.js +1 -1
  18. package/dist/core/Card.js +1 -1
  19. package/dist/core/{EmptyState-DjjDtIWX.cjs → EmptyState-CCViRh9p.cjs} +2 -2
  20. package/dist/core/{EmptyState-DjjDtIWX.cjs.map → EmptyState-CCViRh9p.cjs.map} +1 -1
  21. package/dist/core/{EmptyState-hJ0Ah8VR.js → EmptyState-CznfcfEG.js} +2 -2
  22. package/dist/core/{EmptyState-hJ0Ah8VR.js.map → EmptyState-CznfcfEG.js.map} +1 -1
  23. package/dist/core/EmptyState.cjs.js +1 -1
  24. package/dist/core/EmptyState.js +1 -1
  25. package/dist/core/{FileUpload-DNt-frsZ.js → FileUpload-34dJBxR9.js} +2 -2
  26. package/dist/core/{FileUpload-DNt-frsZ.js.map → FileUpload-34dJBxR9.js.map} +1 -1
  27. package/dist/core/{FileUpload-CAApCmGC.cjs → FileUpload-DQcxMDwI.cjs} +2 -2
  28. package/dist/core/{FileUpload-CAApCmGC.cjs.map → FileUpload-DQcxMDwI.cjs.map} +1 -1
  29. package/dist/core/FileUpload.cjs.js +1 -1
  30. package/dist/core/FileUpload.js +1 -1
  31. package/dist/core/MessagePopUp.cjs.js +1 -1
  32. package/dist/core/MessagePopUp.js +1 -1
  33. package/dist/core/{MessagePopup-RG3zdtj5.js → MessagePopup-Dk7CjOr0.js} +2 -2
  34. package/dist/core/{MessagePopup-RG3zdtj5.js.map → MessagePopup-Dk7CjOr0.js.map} +1 -1
  35. package/dist/core/{MessagePopup-BUv50REp.cjs → MessagePopup-DqN_Y2_P.cjs} +2 -2
  36. package/dist/core/{MessagePopup-BUv50REp.cjs.map → MessagePopup-DqN_Y2_P.cjs.map} +1 -1
  37. package/dist/core/{NotificationCenter-LKIIfSiT.js → NotificationCenter-B2XFmxSy.js} +2 -2
  38. package/dist/core/{NotificationCenter-LKIIfSiT.js.map → NotificationCenter-B2XFmxSy.js.map} +1 -1
  39. package/dist/core/{NotificationCenter-CKTzBgOe.cjs → NotificationCenter-CVQre3sK.cjs} +2 -2
  40. package/dist/core/{NotificationCenter-CKTzBgOe.cjs.map → NotificationCenter-CVQre3sK.cjs.map} +1 -1
  41. package/dist/core/NotificationCenter.cjs.js +1 -1
  42. package/dist/core/NotificationCenter.js +1 -1
  43. package/dist/core/{Pager-CJg_Ii_h.cjs → Pager-BfZjH19n.cjs} +2 -2
  44. package/dist/core/{Pager-CJg_Ii_h.cjs.map → Pager-BfZjH19n.cjs.map} +1 -1
  45. package/dist/core/{Pager-C5iWqoD3.js → Pager-ab8rL0mL.js} +2 -2
  46. package/dist/core/{Pager-C5iWqoD3.js.map → Pager-ab8rL0mL.js.map} +1 -1
  47. package/dist/core/Pager.cjs.js +1 -1
  48. package/dist/core/Pager.js +1 -1
  49. package/dist/core/Typography.css +1 -1
  50. package/dist/core/index.cjs.js +8 -8
  51. package/dist/core/index.js +8 -8
  52. package/dist/next/{Breadcrumbs-CxgPTBBM.js → Breadcrumbs-Cgk0z-9h.js} +2 -2
  53. package/dist/next/{Breadcrumbs-CxgPTBBM.js.map → Breadcrumbs-Cgk0z-9h.js.map} +1 -1
  54. package/dist/next/Breadcrumbs.js +1 -1
  55. package/dist/next/{Button-K2UelzjP.js → Button-BGME_58W.js} +51 -14
  56. package/dist/next/Button-BGME_58W.js.map +1 -0
  57. package/dist/next/Button.js +1 -1
  58. package/dist/next/{Card-DPdUGJNc.js → Card-B4XAnIBE.js} +4 -4
  59. package/dist/next/Card-B4XAnIBE.js.map +1 -0
  60. package/dist/next/Card.js +1 -1
  61. package/dist/next/{EmptyState-DM5giP1X.js → EmptyState-DdfgeBaq.js} +2 -2
  62. package/dist/next/{EmptyState-DM5giP1X.js.map → EmptyState-DdfgeBaq.js.map} +1 -1
  63. package/dist/next/EmptyState.js +1 -1
  64. package/dist/next/{FileUpload-CfAVPsf1.js → FileUpload-BmxLHgMN.js} +2 -2
  65. package/dist/next/{FileUpload-CfAVPsf1.js.map → FileUpload-BmxLHgMN.js.map} +1 -1
  66. package/dist/next/FileUpload.js +1 -1
  67. package/dist/next/MessagePopUp.js +1 -1
  68. package/dist/next/{MessagePopup-DyRX8q6g.js → MessagePopup-CDjb13uA.js} +2 -2
  69. package/dist/next/{MessagePopup-DyRX8q6g.js.map → MessagePopup-CDjb13uA.js.map} +1 -1
  70. package/dist/next/{NotificationCenter-C8-D4TEF.js → NotificationCenter-D4pUI-xL.js} +2 -2
  71. package/dist/next/{NotificationCenter-C8-D4TEF.js.map → NotificationCenter-D4pUI-xL.js.map} +1 -1
  72. package/dist/next/NotificationCenter.js +1 -1
  73. package/dist/next/{Pager-iGsdhDF6.js → Pager-BkUgaSsA.js} +2 -2
  74. package/dist/next/{Pager-iGsdhDF6.js.map → Pager-BkUgaSsA.js.map} +1 -1
  75. package/dist/next/Pager.js +1 -1
  76. package/dist/next/{Typography-CqjWniAS.js → Typography-ClxvldmA.js} +39 -39
  77. package/dist/next/{Typography-CqjWniAS.js.map → Typography-ClxvldmA.js.map} +1 -1
  78. package/dist/next/Typography.css +40 -40
  79. package/dist/next/Typography.js +1 -1
  80. package/dist/next/index.js +9 -9
  81. package/dist/tsconfig.build.tsbuildinfo +1 -1
  82. package/dist/types/components/Button/Button.types.d.ts +10 -0
  83. package/dist/types/components/Button/Button.types.d.ts.map +1 -1
  84. package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
  85. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  86. package/package.json +1 -1
  87. package/dist/core/Button-B2ucbkuX.cjs.map +0 -1
  88. package/dist/core/Button-BT0hAOju.js.map +0 -1
  89. package/dist/core/Card-BTmfk5hP.cjs.map +0 -1
  90. package/dist/core/Card-DtTW3W1D.js.map +0 -1
  91. package/dist/next/Button-K2UelzjP.js.map +0 -1
  92. package/dist/next/Card-DPdUGJNc.js.map +0 -1
@@ -4,7 +4,7 @@ import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { A as ArrowRightIcon } from "./ArrowRightIcon-BYQv5XS8.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
6
  import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize } from "./boreal-style-config-DsaRlxmw.js";
7
- import { B as Button } from "./Button-BT0hAOju.js";
7
+ import { B as Button } from "./Button-BaGwg7qF.js";
8
8
  import './Breadcrumbs.css';const ELLIPSIS_LABEL = "…";
9
9
  const BreadcrumbsBase = ({
10
10
  items,
@@ -207,4 +207,4 @@ Breadcrumbs.displayName = "Breadcrumbs";
207
207
  export {
208
208
  Breadcrumbs as B
209
209
  };
210
- //# sourceMappingURL=Breadcrumbs--l_brteX.js.map
210
+ //# sourceMappingURL=Breadcrumbs-BdpRclbv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs--l_brteX.js","sources":["../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/core/Breadcrumbs.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { Breadcrumb, BreadcrumbsBaseProps } from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n \"aria-label\": ariaLabel = \"Breadcrumbs\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n ...rest\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n\r\n const handleExpand = () => {\r\n setIsExpanded(true);\r\n };\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\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 disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className,\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ],\r\n );\r\n\r\n return (\r\n <nav\r\n {...rest}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n const isItemDisabled = disabled || item.disabled;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active,\r\n isItemDisabled && classMap.disabled,\r\n );\r\n\r\n const itemTitle = item.title ?? item.label;\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n aria-disabled={isItemDisabled || undefined}\r\n onClick={isItemDisabled ? undefined : handleExpand}\r\n disabled={isItemDisabled}\r\n tabIndex={isItemDisabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n isItemDisabled ? (\r\n <span\r\n className={combineClassNames(\r\n classMap.link_disabled,\r\n classMap.current,\r\n )}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n aria-disabled=\"true\"\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n aria-label={item[\"aria-label\"]}\r\n title={itemTitle}\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","import React from \"react\";\r\nimport \"./Breadcrumbs.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport Button from \"../../Button/core/Button\";\r\n\r\nconst classes = {\r\n breadcrumbs: \"breadcrumbs\",\r\n\r\n primary: \"breadcrumbs_primary\",\r\n secondary: \"breadcrumbs_secondary\",\r\n tertiary: \"breadcrumbs_tertiary\",\r\n quaternary: \"breadcrumbs_quaternary\",\r\n\r\n success: \"breadcrumbs_success\",\r\n warning: \"breadcrumbs_warning\",\r\n error: \"breadcrumbs_error\",\r\n\r\n clear: \"breadcrumbs_clear\",\r\n\r\n outline: \"breadcrumbs_outline\",\r\n disabled: \"breadcrumbs_disabled\",\r\n\r\n shadowNone: \"breadcrumbs_shadow-None\",\r\n shadowLight: \"breadcrumbs_shadow-Light\",\r\n shadowMedium: \"breadcrumbs_shadow-Medium\",\r\n shadowStrong: \"breadcrumbs_shadow-Strong\",\r\n shadowIntense: \"breadcrumbs_shadow-Intense\",\r\n\r\n roundNone: \"breadcrumbs_round-None\",\r\n roundSmall: \"breadcrumbs_round-Small\",\r\n roundMedium: \"breadcrumbs_round-Medium\",\r\n roundLarge: \"breadcrumbs_round-Large\",\r\n\r\n xs: \"breadcrumbs_xs\",\r\n small: \"breadcrumbs_small\",\r\n medium: \"breadcrumbs_medium\",\r\n large: \"breadcrumbs_large\",\r\n xl: \"breadcrumbs_xl\",\r\n\r\n list: \"breadcrumbs_list\",\r\n item: \"breadcrumbs_item\",\r\n item_animate: \"breadcrumbs_item_animate\",\r\n item_active: \"breadcrumbs_item_active\",\r\n ellipsis: \"breadcrumbs_ellipsis\",\r\n link: \"breadcrumbs_link\",\r\n link_label: \"breadcrumbs_link_label\",\r\n current: \"breadcrumbs_current\",\r\n separator: \"breadcrumbs_separator\",\r\n separator_icon: \"breadcrumbs_separator_icon\",\r\n};\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase {...props} classMap={classes} ButtonComponent={Button} />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":[],"mappings":";;;;;;;AAYO,MAAM,iBAAiB;AAEvB,MAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA,cAAc,YAAY;AAAA,EAC1B,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,QAAQ,gBAAA;AAAA,EACR,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO,eAAA;AAAA,EACP,UAAU;AAAA,EACV,YAAY;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,eAAe,SAAS;AAAA,EACxB,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,QAAM,eAAe,MAAM;AACzB,kBAAc,IAAI;AAAA,EACpB;AAEA,MAAI,CAAC,SAAS,MAAM,WAAW,EAAG,QAAO;AAEzC,QAAM,eAA6B,QAAQ,MAAM;AAC/C,QAAI,cAAc,CAAC,cAAc,MAAM,UAAU,WAAY,QAAO;AAEpE,UAAM,QAAQ,MAAM,CAAC;AACrB,UAAM,YAAY,MAAM,MAAM,MAAM,UAAU,aAAa,EAAE;AAE7D,WAAO,CAAC,OAAO,EAAE,OAAO,eAAA,GAAkB,GAAG,SAAS;AAAA,EACxD,GAAG,CAAC,OAAO,YAAY,UAAU,CAAC;AAElC,QAAM,mBAAmB;AAAA,IACvB,MACE;AAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD,YAAY,SAAS;AAAA,MACrB,WAAW,SAAS;AAAA,MACpB;AAAA,IAAA;AAAA,IAEJ;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAGF,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,cAAY,iBAAiB,SAAY;AAAA,MACzC,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa,SAAS,GAAG,MAAM,mBAAmB;AAAA,MAClD,WAAW;AAAA,MAEX,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAa,SAAS,GAAG,MAAM,cAAc;AAAA,UAC7C,WAAS;AAAA,UACT,UAAS;AAAA,UAER,UAAA,aAAa,IAAI,CAAC,MAAM,UAAU;AACjC,kBAAM,SAAS,UAAU,aAAa,SAAS;AAC/C,kBAAM,aAAa,KAAK,UAAU;AAClC,kBAAM,iBAAiB,YAAY,KAAK;AAExC,kBAAM,gBAAgB;AAAA,cACpB,SAAS;AAAA,cACT,cAAc,CAAC,cAAc,SAAS;AAAA,cACtC,UAAU,SAAS;AAAA,cACnB,kBAAkB,SAAS;AAAA,YAAA;AAG7B,kBAAM,YAAY,KAAK,SAAS,KAAK;AAErC,mBACE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,eAAa,SAAS,GAAG,MAAM,cAAc;AAAA,gBAE7C,WAAW;AAAA,gBACX,UAAS;AAAA,gBACT,WAAS;AAAA,gBACT,UAAS;AAAA,gBAER,UAAA;AAAA,kBAAA,aACC;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,MAAK;AAAA,sBACL,WAAW,SAAS;AAAA,sBACpB,cAAW;AAAA,sBACX,iBAAe;AAAA,sBACf,iBAAe,kBAAkB;AAAA,sBACjC,SAAS,iBAAiB,SAAY;AAAA,sBACtC,UAAU;AAAA,sBACV,UAAU,iBAAiB,KAAK;AAAA,sBAChC,eAAa,SAAS,GAAG,MAAM,cAAc;AAAA,sBAE5C,UAAA,KAAK;AAAA,oBAAA;AAAA,kBAAA,IAEN,KAAK,QAAQ,CAAC,SAChB,iBACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAW;AAAA,wBACT,SAAS;AAAA,wBACT,SAAS;AAAA,sBAAA;AAAA,sBAEX,OAAO;AAAA,sBACP,cAAY,KAAK,YAAY;AAAA,sBAC7B,iBAAc;AAAA,sBACd,UAAS;AAAA,sBACT,eACE,SAAS,GAAG,MAAM,oBAAoB;AAAA,sBAGvC,UAAA,KAAK;AAAA,oBAAA;AAAA,kBAAA,IAGR;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAM,KAAK;AAAA,sBACX,WAAW,SAAS;AAAA,sBACpB,OAAO;AAAA,sBACP,cAAY,KAAK,YAAY;AAAA,sBAC7B,UAAS;AAAA,sBACT,eACE,SAAS,GAAG,MAAM,oBAAoB;AAAA,sBAGxC,UAAA,oBAAC,UAAK,UAAS,QAAO,WAAW,SAAS,YACvC,eAAK,MAAA,CACR;AAAA,oBAAA;AAAA,kBAAA,IAIJ;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAW,SAAS;AAAA,sBACpB,UAAS;AAAA,sBACT,gBAAa;AAAA,sBACb,cAAY,KAAK,YAAY;AAAA,sBAC7B,OAAO;AAAA,sBACP,eACE,SAAS,GAAG,MAAM,sBAAsB;AAAA,sBAGzC,UAAA,KAAK;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAIT,CAAC,UACA,oBAAC,QAAA,EAAK,WAAW,SAAS,WAAW,eAAY,QAC9C,UAAA,aAAa,oBAAC,gBAAA,CAAA,CAAe,GAChC;AAAA,kBAGF,oBAAC,UAAK,UAAS,YAAW,SAAS,GAAG,QAAQ,CAAC,GAAA,CAAI;AAAA,gBAAA;AAAA,cAAA;AAAA,cA3E9C,GAAG,KAAK,KAAK,IAAI,KAAK,QAAQ,KAAK;AAAA,YAAA;AAAA,UA8E9C,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;AAEA,gBAAgB,cAAc;AC5L9B,MAAM,UAAU;AAAA,EACd,aAAa;AAAA,EAEb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,UAAU;AAAA,EAEV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,cAAc;AAAA,EACd,aAAa;AAAA,EACb,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AAAA,EACX,gBAAgB;AAClB;AAEA,MAAM,cAA0C,CAAC,UAAU;AACzD,6BACG,iBAAA,EAAiB,GAAG,OAAO,UAAU,SAAS,iBAAiB,QAAQ;AAE5E;AACA,YAAY,cAAc;"}
1
+ {"version":3,"file":"Breadcrumbs-BdpRclbv.js","sources":["../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/core/Breadcrumbs.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { Breadcrumb, BreadcrumbsBaseProps } from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n \"aria-label\": ariaLabel = \"Breadcrumbs\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n ...rest\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n\r\n const handleExpand = () => {\r\n setIsExpanded(true);\r\n };\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\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 disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className,\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ],\r\n );\r\n\r\n return (\r\n <nav\r\n {...rest}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n const isItemDisabled = disabled || item.disabled;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active,\r\n isItemDisabled && classMap.disabled,\r\n );\r\n\r\n const itemTitle = item.title ?? item.label;\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n aria-disabled={isItemDisabled || undefined}\r\n onClick={isItemDisabled ? undefined : handleExpand}\r\n disabled={isItemDisabled}\r\n tabIndex={isItemDisabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n isItemDisabled ? (\r\n <span\r\n className={combineClassNames(\r\n classMap.link_disabled,\r\n classMap.current,\r\n )}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n aria-disabled=\"true\"\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n aria-label={item[\"aria-label\"]}\r\n title={itemTitle}\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","import React from \"react\";\r\nimport \"./Breadcrumbs.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport Button from \"../../Button/core/Button\";\r\n\r\nconst classes = {\r\n breadcrumbs: \"breadcrumbs\",\r\n\r\n primary: \"breadcrumbs_primary\",\r\n secondary: \"breadcrumbs_secondary\",\r\n tertiary: \"breadcrumbs_tertiary\",\r\n quaternary: \"breadcrumbs_quaternary\",\r\n\r\n success: \"breadcrumbs_success\",\r\n warning: \"breadcrumbs_warning\",\r\n error: \"breadcrumbs_error\",\r\n\r\n clear: \"breadcrumbs_clear\",\r\n\r\n outline: \"breadcrumbs_outline\",\r\n disabled: \"breadcrumbs_disabled\",\r\n\r\n shadowNone: \"breadcrumbs_shadow-None\",\r\n shadowLight: \"breadcrumbs_shadow-Light\",\r\n shadowMedium: \"breadcrumbs_shadow-Medium\",\r\n shadowStrong: \"breadcrumbs_shadow-Strong\",\r\n shadowIntense: \"breadcrumbs_shadow-Intense\",\r\n\r\n roundNone: \"breadcrumbs_round-None\",\r\n roundSmall: \"breadcrumbs_round-Small\",\r\n roundMedium: \"breadcrumbs_round-Medium\",\r\n roundLarge: \"breadcrumbs_round-Large\",\r\n\r\n xs: \"breadcrumbs_xs\",\r\n small: \"breadcrumbs_small\",\r\n medium: \"breadcrumbs_medium\",\r\n large: \"breadcrumbs_large\",\r\n xl: \"breadcrumbs_xl\",\r\n\r\n list: \"breadcrumbs_list\",\r\n item: \"breadcrumbs_item\",\r\n item_animate: \"breadcrumbs_item_animate\",\r\n item_active: \"breadcrumbs_item_active\",\r\n ellipsis: \"breadcrumbs_ellipsis\",\r\n link: \"breadcrumbs_link\",\r\n link_label: \"breadcrumbs_link_label\",\r\n current: \"breadcrumbs_current\",\r\n separator: \"breadcrumbs_separator\",\r\n separator_icon: \"breadcrumbs_separator_icon\",\r\n};\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase {...props} classMap={classes} ButtonComponent={Button} />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const ArrowRightIcon = require("./ArrowRightIcon-ClXQHGAD.cjs");
6
6
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
7
7
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
8
- const Button = require("./Button-B2ucbkuX.cjs");
8
+ const Button = require("./Button-lYDI65B8.cjs");
9
9
  const ELLIPSIS_LABEL = "…";
10
10
  const BreadcrumbsBase = ({
11
11
  items,
@@ -206,4 +206,4 @@ const Breadcrumbs = (props) => {
206
206
  };
207
207
  Breadcrumbs.displayName = "Breadcrumbs";
208
208
  exports.Breadcrumbs = Breadcrumbs;
209
- //# sourceMappingURL=Breadcrumbs-DB8KX7sH.cjs.map
209
+ //# sourceMappingURL=Breadcrumbs-XAGnbbnf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs-DB8KX7sH.cjs","sources":["../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/core/Breadcrumbs.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { Breadcrumb, BreadcrumbsBaseProps } from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n \"aria-label\": ariaLabel = \"Breadcrumbs\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n ...rest\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n\r\n const handleExpand = () => {\r\n setIsExpanded(true);\r\n };\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\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 disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className,\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ],\r\n );\r\n\r\n return (\r\n <nav\r\n {...rest}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n const isItemDisabled = disabled || item.disabled;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active,\r\n isItemDisabled && classMap.disabled,\r\n );\r\n\r\n const itemTitle = item.title ?? item.label;\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n aria-disabled={isItemDisabled || undefined}\r\n onClick={isItemDisabled ? undefined : handleExpand}\r\n disabled={isItemDisabled}\r\n tabIndex={isItemDisabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n isItemDisabled ? (\r\n <span\r\n className={combineClassNames(\r\n classMap.link_disabled,\r\n classMap.current,\r\n )}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n aria-disabled=\"true\"\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n aria-label={item[\"aria-label\"]}\r\n title={itemTitle}\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","import React from \"react\";\r\nimport \"./Breadcrumbs.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport Button from \"../../Button/core/Button\";\r\n\r\nconst classes = {\r\n breadcrumbs: \"breadcrumbs\",\r\n\r\n primary: \"breadcrumbs_primary\",\r\n secondary: \"breadcrumbs_secondary\",\r\n tertiary: \"breadcrumbs_tertiary\",\r\n quaternary: \"breadcrumbs_quaternary\",\r\n\r\n success: \"breadcrumbs_success\",\r\n warning: \"breadcrumbs_warning\",\r\n error: \"breadcrumbs_error\",\r\n\r\n clear: \"breadcrumbs_clear\",\r\n\r\n outline: \"breadcrumbs_outline\",\r\n disabled: \"breadcrumbs_disabled\",\r\n\r\n shadowNone: \"breadcrumbs_shadow-None\",\r\n shadowLight: \"breadcrumbs_shadow-Light\",\r\n shadowMedium: \"breadcrumbs_shadow-Medium\",\r\n shadowStrong: \"breadcrumbs_shadow-Strong\",\r\n shadowIntense: \"breadcrumbs_shadow-Intense\",\r\n\r\n roundNone: \"breadcrumbs_round-None\",\r\n roundSmall: \"breadcrumbs_round-Small\",\r\n roundMedium: \"breadcrumbs_round-Medium\",\r\n roundLarge: \"breadcrumbs_round-Large\",\r\n\r\n xs: \"breadcrumbs_xs\",\r\n small: \"breadcrumbs_small\",\r\n medium: \"breadcrumbs_medium\",\r\n large: \"breadcrumbs_large\",\r\n xl: \"breadcrumbs_xl\",\r\n\r\n list: \"breadcrumbs_list\",\r\n item: \"breadcrumbs_item\",\r\n item_animate: \"breadcrumbs_item_animate\",\r\n item_active: \"breadcrumbs_item_active\",\r\n ellipsis: \"breadcrumbs_ellipsis\",\r\n link: \"breadcrumbs_link\",\r\n link_label: \"breadcrumbs_link_label\",\r\n current: \"breadcrumbs_current\",\r\n separator: \"breadcrumbs_separator\",\r\n separator_icon: \"breadcrumbs_separator_icon\",\r\n};\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase {...props} classMap={classes} ButtonComponent={Button} />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useState","useMemo","combineClassNames","capitalize","jsx","jsxs","ArrowRightIcon","Button"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs-XAGnbbnf.cjs","sources":["../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/core/Breadcrumbs.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\r\nimport { Breadcrumb, BreadcrumbsBaseProps } from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n \"aria-label\": ariaLabel = \"Breadcrumbs\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n ...rest\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n\r\n const handleExpand = () => {\r\n setIsExpanded(true);\r\n };\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\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 disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className,\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ],\r\n );\r\n\r\n return (\r\n <nav\r\n {...rest}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n const isItemDisabled = disabled || item.disabled;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active,\r\n isItemDisabled && classMap.disabled,\r\n );\r\n\r\n const itemTitle = item.title ?? item.label;\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n aria-disabled={isItemDisabled || undefined}\r\n onClick={isItemDisabled ? undefined : handleExpand}\r\n disabled={isItemDisabled}\r\n tabIndex={isItemDisabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n isItemDisabled ? (\r\n <span\r\n className={combineClassNames(\r\n classMap.link_disabled,\r\n classMap.current,\r\n )}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n aria-disabled=\"true\"\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={itemTitle}\r\n aria-label={item[\"aria-label\"]}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n aria-label={item[\"aria-label\"]}\r\n title={itemTitle}\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","import React from \"react\";\r\nimport \"./Breadcrumbs.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport Button from \"../../Button/core/Button\";\r\n\r\nconst classes = {\r\n breadcrumbs: \"breadcrumbs\",\r\n\r\n primary: \"breadcrumbs_primary\",\r\n secondary: \"breadcrumbs_secondary\",\r\n tertiary: \"breadcrumbs_tertiary\",\r\n quaternary: \"breadcrumbs_quaternary\",\r\n\r\n success: \"breadcrumbs_success\",\r\n warning: \"breadcrumbs_warning\",\r\n error: \"breadcrumbs_error\",\r\n\r\n clear: \"breadcrumbs_clear\",\r\n\r\n outline: \"breadcrumbs_outline\",\r\n disabled: \"breadcrumbs_disabled\",\r\n\r\n shadowNone: \"breadcrumbs_shadow-None\",\r\n shadowLight: \"breadcrumbs_shadow-Light\",\r\n shadowMedium: \"breadcrumbs_shadow-Medium\",\r\n shadowStrong: \"breadcrumbs_shadow-Strong\",\r\n shadowIntense: \"breadcrumbs_shadow-Intense\",\r\n\r\n roundNone: \"breadcrumbs_round-None\",\r\n roundSmall: \"breadcrumbs_round-Small\",\r\n roundMedium: \"breadcrumbs_round-Medium\",\r\n roundLarge: \"breadcrumbs_round-Large\",\r\n\r\n xs: \"breadcrumbs_xs\",\r\n small: \"breadcrumbs_small\",\r\n medium: \"breadcrumbs_medium\",\r\n large: \"breadcrumbs_large\",\r\n xl: \"breadcrumbs_xl\",\r\n\r\n list: \"breadcrumbs_list\",\r\n item: \"breadcrumbs_item\",\r\n item_animate: \"breadcrumbs_item_animate\",\r\n item_active: \"breadcrumbs_item_active\",\r\n ellipsis: \"breadcrumbs_ellipsis\",\r\n link: \"breadcrumbs_link\",\r\n link_label: \"breadcrumbs_link_label\",\r\n current: \"breadcrumbs_current\",\r\n separator: \"breadcrumbs_separator\",\r\n separator_icon: \"breadcrumbs_separator_icon\",\r\n};\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase {...props} classMap={classes} ButtonComponent={Button} />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useState","useMemo","combineClassNames","capitalize","jsx","jsxs","ArrowRightIcon","Button"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Breadcrumbs = require("./Breadcrumbs-DB8KX7sH.cjs");
2
+ const Breadcrumbs = require("./Breadcrumbs-XAGnbbnf.cjs");
3
3
  module.exports = Breadcrumbs.Breadcrumbs;
4
4
  //# sourceMappingURL=Breadcrumbs.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { B } from "./Breadcrumbs--l_brteX.js";
1
+ import { B } from "./Breadcrumbs-BdpRclbv.js";
2
2
  export {
3
3
  B as default
4
4
  };
@@ -28,6 +28,8 @@ import './Button.css';const ButtonBase = forwardRef(
28
28
  "aria-busy": ariaBusy,
29
29
  "aria-disabled": ariaDisabled,
30
30
  href,
31
+ _target,
32
+ as,
31
33
  isExternal = false,
32
34
  outline = false,
33
35
  size = getDefaultSize(),
@@ -101,14 +103,16 @@ import './Button.css';const ButtonBase = forwardRef(
101
103
  /* @__PURE__ */ jsx("span", { className: "sr_only", children: loadingLabel })
102
104
  ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
103
105
  children,
104
- href && (isExternal ?? /^https?:\/\//i.test(href)) && /* @__PURE__ */ jsx("span", { className: "sr_only", children: " (opens in a new tab)" })
106
+ href && (_target === "_blank" || (isExternal ?? /^https?:\/\//i.test(href))) && /* @__PURE__ */ jsx("span", { className: "sr_only", children: " (opens in a new tab)" })
105
107
  ] })
106
108
  }
107
109
  )
108
110
  ] });
109
111
  if (href) {
110
- const Comp = LinkComponent ?? "a";
111
- const external = (isExternal ?? /^https?:\/\//i.test(href)) && !disabled;
112
+ const external = (_target === "_blank" || isExternal || /^https?:\/\//i.test(href)) && !disabled;
113
+ const Comp2 = external ? "a" : as ?? LinkComponent ?? "a";
114
+ const target = disabled ? void 0 : _target ?? (external ? "_blank" : void 0);
115
+ const rel = target === "_blank" ? "noopener noreferrer" : void 0;
112
116
  const linkCommon = {
113
117
  ref,
114
118
  className: combineClassNames(combinedClassName, classMap.link),
@@ -125,38 +129,64 @@ import './Button.css';const ButtonBase = forwardRef(
125
129
  tabIndex: disabled ? -1 : void 0,
126
130
  "data-testid": testId
127
131
  };
128
- if (Comp === "a") {
132
+ if (Comp2 === "a") {
129
133
  return /* @__PURE__ */ jsx(
130
134
  "a",
131
135
  {
132
136
  ...linkCommon,
133
137
  href: disabled ? void 0 : href,
134
- target: external ? "_blank" : void 0,
135
- rel: external ? "noopener noreferrer" : void 0,
138
+ target,
139
+ rel,
136
140
  ...rest,
137
141
  children: content
138
142
  }
139
143
  );
140
144
  }
141
145
  return /* @__PURE__ */ jsx(
142
- Comp,
146
+ Comp2,
143
147
  {
144
148
  ...linkCommon,
145
149
  href,
146
- target: external ? "_blank" : void 0,
147
- rel: external ? "noopener noreferrer" : void 0,
150
+ target,
151
+ rel,
152
+ ...rest,
153
+ children: content
154
+ }
155
+ );
156
+ }
157
+ const Comp = as ?? "button";
158
+ if (Comp === "button") {
159
+ return /* @__PURE__ */ jsx(
160
+ "button",
161
+ {
162
+ ref,
163
+ type,
164
+ className: combinedClassName,
165
+ disabled: disabled || loading,
166
+ "aria-label": computedAriaLabel,
167
+ "aria-labelledby": ariaLabelledBy,
168
+ "aria-describedby": ariaDescribedBy,
169
+ "aria-controls": ariaControls,
170
+ "aria-expanded": ariaExpanded,
171
+ "aria-pressed": ariaPressed,
172
+ "aria-current": ariaCurrent,
173
+ "aria-haspopup": ariaHasPopup,
174
+ "aria-busy": loading ? ariaBusy ?? true : ariaBusy,
175
+ "aria-disabled": ariaDisabled,
176
+ "data-testid": testId,
177
+ onClick: disabled || loading ? void 0 : onClick,
148
178
  ...rest,
149
179
  children: content
150
180
  }
151
181
  );
152
182
  }
153
183
  return /* @__PURE__ */ jsx(
154
- "button",
184
+ Comp,
155
185
  {
156
186
  ref,
157
- type,
158
187
  className: combinedClassName,
159
- disabled: disabled || loading,
188
+ role: "button",
189
+ tabIndex: disabled || loading ? -1 : 0,
160
190
  "aria-label": computedAriaLabel,
161
191
  "aria-labelledby": ariaLabelledBy,
162
192
  "aria-describedby": ariaDescribedBy,
@@ -166,9 +196,16 @@ import './Button.css';const ButtonBase = forwardRef(
166
196
  "aria-current": ariaCurrent,
167
197
  "aria-haspopup": ariaHasPopup,
168
198
  "aria-busy": loading ? ariaBusy ?? true : ariaBusy,
169
- "aria-disabled": ariaDisabled,
199
+ "aria-disabled": disabled || loading ? true : ariaDisabled,
170
200
  "data-testid": testId,
171
201
  onClick: disabled || loading ? void 0 : onClick,
202
+ onKeyDown: (e) => {
203
+ if (disabled || loading) return;
204
+ if (e.key === "Enter" || e.key === " ") {
205
+ e.preventDefault();
206
+ onClick == null ? void 0 : onClick(e);
207
+ }
208
+ },
172
209
  ...rest,
173
210
  children: content
174
211
  }
@@ -214,4 +251,4 @@ Button.displayName = "Button";
214
251
  export {
215
252
  Button as B
216
253
  };
217
- //# sourceMappingURL=Button-BT0hAOju.js.map
254
+ //# sourceMappingURL=Button-BaGwg7qF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-BaGwg7qF.js","sources":["../../src/components/Button/ButtonBase.tsx","../../src/components/Button/core/Button.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { ButtonBaseProps } from \"./Button.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} from \"../../config/boreal-style-config\";\r\n\r\nconst ButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n ButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n onClick,\r\n type = \"button\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n children,\r\n className = \"\",\r\n disabled = false,\r\n\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-pressed\": ariaPressed,\r\n \"aria-current\": ariaCurrent,\r\n \"aria-haspopup\": ariaHasPopup,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n \"aria-busy\": ariaBusy,\r\n \"aria-disabled\": ariaDisabled,\r\n\r\n href,\r\n _target,\r\n as,\r\n isExternal = false,\r\n outline = false,\r\n size = getDefaultSize(),\r\n loading = false,\r\n loadingLabel = \"Loading\",\r\n fullWidth = false,\r\n \"data-testid\": testId = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const iconOnly =\r\n !children ||\r\n (typeof children !== \"string\" && React.Children.count(children) === 0);\r\n\r\n const computedAriaLabel =\r\n iconOnly && !ariaLabelledBy ? ariaLabel : undefined;\r\n\r\n if (\r\n process.env.NODE_ENV === \"development\" &&\r\n iconOnly &&\r\n !ariaLabel &&\r\n !ariaLabelledBy\r\n ) {\r\n console.warn(\r\n \"ButtonBase: icon-only buttons must provide `aria-label` or `aria-labelledby`.\",\r\n );\r\n }\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.button,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n outline && classMap.outline,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n fullWidth && classMap.fullWidth,\r\n disabled && classMap.disabled,\r\n className,\r\n ),\r\n [\r\n theme,\r\n state,\r\n outline,\r\n size,\r\n shadow,\r\n rounding,\r\n fullWidth,\r\n disabled,\r\n className,\r\n classMap,\r\n ],\r\n );\r\n\r\n const content = (\r\n <>\r\n {Icon && (\r\n <span\r\n className={classMap.buttonIcon}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n <Icon\r\n className={classMap.icon}\r\n aria-hidden={true}\r\n focusable={false}\r\n />\r\n </span>\r\n )}\r\n\r\n <span\r\n className={classMap.buttonLabel}\r\n aria-live={loading ? (ariaLive ?? \"polite\") : undefined}\r\n aria-atomic={loading ? (ariaAtomic ?? true) : undefined}\r\n data-testid={testId ? `${testId}-loading` : undefined}\r\n >\r\n {loading ? (\r\n <>\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n <span className=\"sr_only\">{loadingLabel}</span>\r\n </>\r\n ) : (\r\n <>\r\n {children}\r\n {href &&\r\n (_target === \"_blank\" ||\r\n (isExternal ?? /^https?:\\/\\//i.test(href))) && (\r\n <span className=\"sr_only\"> (opens in a new tab)</span>\r\n )}\r\n </>\r\n )}\r\n </span>\r\n </>\r\n );\r\n\r\n if (href) {\r\n const external =\r\n (_target === \"_blank\" || isExternal || /^https?:\\/\\//i.test(href)) &&\r\n !disabled;\r\n\r\n const Comp = (\r\n external ? \"a\" : (as ?? LinkComponent ?? \"a\")\r\n ) as React.ElementType;\r\n\r\n const target = disabled\r\n ? undefined\r\n : (_target ?? (external ? \"_blank\" : undefined));\r\n\r\n const rel = target === \"_blank\" ? \"noopener noreferrer\" : undefined;\r\n\r\n const linkCommon = {\r\n ref: ref as React.Ref<HTMLAnchorElement>,\r\n className: combineClassNames(combinedClassName, classMap.link),\r\n onClick: disabled\r\n ? (e: React.MouseEvent) => e.preventDefault()\r\n : onClick,\r\n \"aria-label\": computedAriaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-current\": ariaCurrent,\r\n \"aria-haspopup\": ariaHasPopup,\r\n \"aria-busy\": loading ? (ariaBusy ?? true) : ariaBusy,\r\n \"aria-disabled\": disabled ? (ariaDisabled ?? true) : ariaDisabled,\r\n tabIndex: disabled ? -1 : undefined,\r\n \"data-testid\": testId,\r\n } as const;\r\n\r\n if (Comp === \"a\") {\r\n return (\r\n <a\r\n {...linkCommon}\r\n href={disabled ? undefined : href}\r\n target={target}\r\n rel={rel}\r\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <Comp\r\n {...(linkCommon as Omit<\r\n React.ComponentPropsWithoutRef<typeof Comp>,\r\n \"children\"\r\n >)}\r\n href={href as never}\r\n target={target}\r\n rel={rel}\r\n {...(rest as React.ComponentPropsWithoutRef<typeof Comp>)}\r\n >\r\n {content}\r\n </Comp>\r\n );\r\n }\r\n\r\n const Comp = (as ?? \"button\") as React.ElementType;\r\n\r\n if (Comp === \"button\") {\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type={type}\r\n className={combinedClassName}\r\n disabled={disabled || loading}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n aria-expanded={ariaExpanded}\r\n aria-pressed={ariaPressed}\r\n aria-current={ariaCurrent}\r\n aria-haspopup={ariaHasPopup}\r\n aria-busy={loading ? (ariaBusy ?? true) : ariaBusy}\r\n aria-disabled={ariaDisabled}\r\n data-testid={testId}\r\n onClick={disabled || loading ? undefined : onClick}\r\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n }\r\n\r\n return (\r\n <Comp\r\n ref={ref as React.Ref<HTMLElement>}\r\n className={combinedClassName}\r\n role=\"button\"\r\n tabIndex={disabled || loading ? -1 : 0}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n aria-expanded={ariaExpanded}\r\n aria-pressed={ariaPressed}\r\n aria-current={ariaCurrent}\r\n aria-haspopup={ariaHasPopup}\r\n aria-busy={loading ? (ariaBusy ?? true) : ariaBusy}\r\n aria-disabled={disabled || loading ? true : ariaDisabled}\r\n data-testid={testId}\r\n onClick={disabled || loading ? undefined : onClick}\r\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\r\n if (disabled || loading) return;\r\n\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\r\n }\r\n }}\r\n {...(rest as React.ComponentPropsWithoutRef<typeof Comp>)}\r\n >\r\n {content}\r\n </Comp>\r\n );\r\n },\r\n);\r\n\r\nButtonBase.displayName = \"ButtonBase\";\r\n\r\nexport default ButtonBase;\r\n","import { forwardRef } from \"react\";\r\nimport ButtonBase from \"../ButtonBase\";\r\nimport \"./Button.scss\";\r\nimport { ButtonProps } from \"../Button.types\";\r\n\r\nconst classes = {\r\n button: \"button\",\r\n icon: \"button_icon\",\r\n buttonIcon: \"button_button_icon\",\r\n buttonLabel: \"button_label\",\r\n loader: \"button_loader\",\r\n link: \"button_link\",\r\n\r\n fullWidth: \"button_full_width\",\r\n disabled: \"button_disabled\",\r\n outline: \"button_outline\",\r\n\r\n primary: \"button_primary\",\r\n secondary: \"button_secondary\",\r\n tertiary: \"button_tertiary\",\r\n quaternary: \"button_quaternary\",\r\n clear: \"button_clear\",\r\n\r\n success: \"button_success\",\r\n warning: \"button_warning\",\r\n error: \"button_error\",\r\n\r\n xs: \"button_xs\",\r\n small: \"button_small\",\r\n medium: \"button_medium\",\r\n large: \"button_large\",\r\n xl: \"button_xl\",\r\n\r\n shadowNone: \"button_shadow-None\",\r\n shadowLight: \"button_shadow-Light\",\r\n shadowMedium: \"button_shadow-Medium\",\r\n shadowStrong: \"button_shadow-Strong\",\r\n shadowIntense: \"button_shadow-Intense\",\r\n\r\n roundNone: \"button_round-None\",\r\n roundSmall: \"button_round-Small\",\r\n roundMedium: \"button_round-Medium\",\r\n roundLarge: \"button_round-Large\",\r\n};\r\n\r\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => (\r\n <ButtonBase {...props} classMap={classes} ref={ref} />\r\n));\r\nButton.displayName = \"Button\";\r\nexport default Button;\r\n"],"names":["Comp"],"mappings":"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"}
@@ -29,6 +29,8 @@ const ButtonBase = React.forwardRef(
29
29
  "aria-busy": ariaBusy,
30
30
  "aria-disabled": ariaDisabled,
31
31
  href,
32
+ _target,
33
+ as,
32
34
  isExternal = false,
33
35
  outline = false,
34
36
  size = borealStyleConfig.getDefaultSize(),
@@ -102,14 +104,16 @@ const ButtonBase = React.forwardRef(
102
104
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr_only", children: loadingLabel })
103
105
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
104
106
  children,
105
- href && (isExternal ?? /^https?:\/\//i.test(href)) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr_only", children: " (opens in a new tab)" })
107
+ href && (_target === "_blank" || (isExternal ?? /^https?:\/\//i.test(href))) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr_only", children: " (opens in a new tab)" })
106
108
  ] })
107
109
  }
108
110
  )
109
111
  ] });
110
112
  if (href) {
111
- const Comp = LinkComponent ?? "a";
112
- const external = (isExternal ?? /^https?:\/\//i.test(href)) && !disabled;
113
+ const external = (_target === "_blank" || isExternal || /^https?:\/\//i.test(href)) && !disabled;
114
+ const Comp2 = external ? "a" : as ?? LinkComponent ?? "a";
115
+ const target = disabled ? void 0 : _target ?? (external ? "_blank" : void 0);
116
+ const rel = target === "_blank" ? "noopener noreferrer" : void 0;
113
117
  const linkCommon = {
114
118
  ref,
115
119
  className: classNames.combineClassNames(combinedClassName, classMap.link),
@@ -126,38 +130,64 @@ const ButtonBase = React.forwardRef(
126
130
  tabIndex: disabled ? -1 : void 0,
127
131
  "data-testid": testId
128
132
  };
129
- if (Comp === "a") {
133
+ if (Comp2 === "a") {
130
134
  return /* @__PURE__ */ jsxRuntime.jsx(
131
135
  "a",
132
136
  {
133
137
  ...linkCommon,
134
138
  href: disabled ? void 0 : href,
135
- target: external ? "_blank" : void 0,
136
- rel: external ? "noopener noreferrer" : void 0,
139
+ target,
140
+ rel,
137
141
  ...rest,
138
142
  children: content
139
143
  }
140
144
  );
141
145
  }
142
146
  return /* @__PURE__ */ jsxRuntime.jsx(
143
- Comp,
147
+ Comp2,
144
148
  {
145
149
  ...linkCommon,
146
150
  href,
147
- target: external ? "_blank" : void 0,
148
- rel: external ? "noopener noreferrer" : void 0,
151
+ target,
152
+ rel,
153
+ ...rest,
154
+ children: content
155
+ }
156
+ );
157
+ }
158
+ const Comp = as ?? "button";
159
+ if (Comp === "button") {
160
+ return /* @__PURE__ */ jsxRuntime.jsx(
161
+ "button",
162
+ {
163
+ ref,
164
+ type,
165
+ className: combinedClassName,
166
+ disabled: disabled || loading,
167
+ "aria-label": computedAriaLabel,
168
+ "aria-labelledby": ariaLabelledBy,
169
+ "aria-describedby": ariaDescribedBy,
170
+ "aria-controls": ariaControls,
171
+ "aria-expanded": ariaExpanded,
172
+ "aria-pressed": ariaPressed,
173
+ "aria-current": ariaCurrent,
174
+ "aria-haspopup": ariaHasPopup,
175
+ "aria-busy": loading ? ariaBusy ?? true : ariaBusy,
176
+ "aria-disabled": ariaDisabled,
177
+ "data-testid": testId,
178
+ onClick: disabled || loading ? void 0 : onClick,
149
179
  ...rest,
150
180
  children: content
151
181
  }
152
182
  );
153
183
  }
154
184
  return /* @__PURE__ */ jsxRuntime.jsx(
155
- "button",
185
+ Comp,
156
186
  {
157
187
  ref,
158
- type,
159
188
  className: combinedClassName,
160
- disabled: disabled || loading,
189
+ role: "button",
190
+ tabIndex: disabled || loading ? -1 : 0,
161
191
  "aria-label": computedAriaLabel,
162
192
  "aria-labelledby": ariaLabelledBy,
163
193
  "aria-describedby": ariaDescribedBy,
@@ -167,9 +197,16 @@ const ButtonBase = React.forwardRef(
167
197
  "aria-current": ariaCurrent,
168
198
  "aria-haspopup": ariaHasPopup,
169
199
  "aria-busy": loading ? ariaBusy ?? true : ariaBusy,
170
- "aria-disabled": ariaDisabled,
200
+ "aria-disabled": disabled || loading ? true : ariaDisabled,
171
201
  "data-testid": testId,
172
202
  onClick: disabled || loading ? void 0 : onClick,
203
+ onKeyDown: (e) => {
204
+ if (disabled || loading) return;
205
+ if (e.key === "Enter" || e.key === " ") {
206
+ e.preventDefault();
207
+ onClick == null ? void 0 : onClick(e);
208
+ }
209
+ },
173
210
  ...rest,
174
211
  children: content
175
212
  }
@@ -213,4 +250,4 @@ const classes = {
213
250
  const Button = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(ButtonBase, { ...props, classMap: classes, ref }));
214
251
  Button.displayName = "Button";
215
252
  exports.Button = Button;
216
- //# sourceMappingURL=Button-B2ucbkuX.cjs.map
253
+ //# sourceMappingURL=Button-lYDI65B8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-lYDI65B8.cjs","sources":["../../src/components/Button/ButtonBase.tsx","../../src/components/Button/core/Button.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { ButtonBaseProps } from \"./Button.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} from \"../../config/boreal-style-config\";\r\n\r\nconst ButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n ButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n onClick,\r\n type = \"button\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n children,\r\n className = \"\",\r\n disabled = false,\r\n\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-pressed\": ariaPressed,\r\n \"aria-current\": ariaCurrent,\r\n \"aria-haspopup\": ariaHasPopup,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n \"aria-busy\": ariaBusy,\r\n \"aria-disabled\": ariaDisabled,\r\n\r\n href,\r\n _target,\r\n as,\r\n isExternal = false,\r\n outline = false,\r\n size = getDefaultSize(),\r\n loading = false,\r\n loadingLabel = \"Loading\",\r\n fullWidth = false,\r\n \"data-testid\": testId = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const iconOnly =\r\n !children ||\r\n (typeof children !== \"string\" && React.Children.count(children) === 0);\r\n\r\n const computedAriaLabel =\r\n iconOnly && !ariaLabelledBy ? ariaLabel : undefined;\r\n\r\n if (\r\n process.env.NODE_ENV === \"development\" &&\r\n iconOnly &&\r\n !ariaLabel &&\r\n !ariaLabelledBy\r\n ) {\r\n console.warn(\r\n \"ButtonBase: icon-only buttons must provide `aria-label` or `aria-labelledby`.\",\r\n );\r\n }\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.button,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n outline && classMap.outline,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n fullWidth && classMap.fullWidth,\r\n disabled && classMap.disabled,\r\n className,\r\n ),\r\n [\r\n theme,\r\n state,\r\n outline,\r\n size,\r\n shadow,\r\n rounding,\r\n fullWidth,\r\n disabled,\r\n className,\r\n classMap,\r\n ],\r\n );\r\n\r\n const content = (\r\n <>\r\n {Icon && (\r\n <span\r\n className={classMap.buttonIcon}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n <Icon\r\n className={classMap.icon}\r\n aria-hidden={true}\r\n focusable={false}\r\n />\r\n </span>\r\n )}\r\n\r\n <span\r\n className={classMap.buttonLabel}\r\n aria-live={loading ? (ariaLive ?? \"polite\") : undefined}\r\n aria-atomic={loading ? (ariaAtomic ?? true) : undefined}\r\n data-testid={testId ? `${testId}-loading` : undefined}\r\n >\r\n {loading ? (\r\n <>\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n <span className=\"sr_only\">{loadingLabel}</span>\r\n </>\r\n ) : (\r\n <>\r\n {children}\r\n {href &&\r\n (_target === \"_blank\" ||\r\n (isExternal ?? /^https?:\\/\\//i.test(href))) && (\r\n <span className=\"sr_only\"> (opens in a new tab)</span>\r\n )}\r\n </>\r\n )}\r\n </span>\r\n </>\r\n );\r\n\r\n if (href) {\r\n const external =\r\n (_target === \"_blank\" || isExternal || /^https?:\\/\\//i.test(href)) &&\r\n !disabled;\r\n\r\n const Comp = (\r\n external ? \"a\" : (as ?? LinkComponent ?? \"a\")\r\n ) as React.ElementType;\r\n\r\n const target = disabled\r\n ? undefined\r\n : (_target ?? (external ? \"_blank\" : undefined));\r\n\r\n const rel = target === \"_blank\" ? \"noopener noreferrer\" : undefined;\r\n\r\n const linkCommon = {\r\n ref: ref as React.Ref<HTMLAnchorElement>,\r\n className: combineClassNames(combinedClassName, classMap.link),\r\n onClick: disabled\r\n ? (e: React.MouseEvent) => e.preventDefault()\r\n : onClick,\r\n \"aria-label\": computedAriaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-controls\": ariaControls,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-current\": ariaCurrent,\r\n \"aria-haspopup\": ariaHasPopup,\r\n \"aria-busy\": loading ? (ariaBusy ?? true) : ariaBusy,\r\n \"aria-disabled\": disabled ? (ariaDisabled ?? true) : ariaDisabled,\r\n tabIndex: disabled ? -1 : undefined,\r\n \"data-testid\": testId,\r\n } as const;\r\n\r\n if (Comp === \"a\") {\r\n return (\r\n <a\r\n {...linkCommon}\r\n href={disabled ? undefined : href}\r\n target={target}\r\n rel={rel}\r\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <Comp\r\n {...(linkCommon as Omit<\r\n React.ComponentPropsWithoutRef<typeof Comp>,\r\n \"children\"\r\n >)}\r\n href={href as never}\r\n target={target}\r\n rel={rel}\r\n {...(rest as React.ComponentPropsWithoutRef<typeof Comp>)}\r\n >\r\n {content}\r\n </Comp>\r\n );\r\n }\r\n\r\n const Comp = (as ?? \"button\") as React.ElementType;\r\n\r\n if (Comp === \"button\") {\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type={type}\r\n className={combinedClassName}\r\n disabled={disabled || loading}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n aria-expanded={ariaExpanded}\r\n aria-pressed={ariaPressed}\r\n aria-current={ariaCurrent}\r\n aria-haspopup={ariaHasPopup}\r\n aria-busy={loading ? (ariaBusy ?? true) : ariaBusy}\r\n aria-disabled={ariaDisabled}\r\n data-testid={testId}\r\n onClick={disabled || loading ? undefined : onClick}\r\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n }\r\n\r\n return (\r\n <Comp\r\n ref={ref as React.Ref<HTMLElement>}\r\n className={combinedClassName}\r\n role=\"button\"\r\n tabIndex={disabled || loading ? -1 : 0}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-controls={ariaControls}\r\n aria-expanded={ariaExpanded}\r\n aria-pressed={ariaPressed}\r\n aria-current={ariaCurrent}\r\n aria-haspopup={ariaHasPopup}\r\n aria-busy={loading ? (ariaBusy ?? true) : ariaBusy}\r\n aria-disabled={disabled || loading ? true : ariaDisabled}\r\n data-testid={testId}\r\n onClick={disabled || loading ? undefined : onClick}\r\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\r\n if (disabled || loading) return;\r\n\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\r\n }\r\n }}\r\n {...(rest as React.ComponentPropsWithoutRef<typeof Comp>)}\r\n >\r\n {content}\r\n </Comp>\r\n );\r\n },\r\n);\r\n\r\nButtonBase.displayName = \"ButtonBase\";\r\n\r\nexport default ButtonBase;\r\n","import { forwardRef } from \"react\";\r\nimport ButtonBase from \"../ButtonBase\";\r\nimport \"./Button.scss\";\r\nimport { ButtonProps } from \"../Button.types\";\r\n\r\nconst classes = {\r\n button: \"button\",\r\n icon: \"button_icon\",\r\n buttonIcon: \"button_button_icon\",\r\n buttonLabel: \"button_label\",\r\n loader: \"button_loader\",\r\n link: \"button_link\",\r\n\r\n fullWidth: \"button_full_width\",\r\n disabled: \"button_disabled\",\r\n outline: \"button_outline\",\r\n\r\n primary: \"button_primary\",\r\n secondary: \"button_secondary\",\r\n tertiary: \"button_tertiary\",\r\n quaternary: \"button_quaternary\",\r\n clear: \"button_clear\",\r\n\r\n success: \"button_success\",\r\n warning: \"button_warning\",\r\n error: \"button_error\",\r\n\r\n xs: \"button_xs\",\r\n small: \"button_small\",\r\n medium: \"button_medium\",\r\n large: \"button_large\",\r\n xl: \"button_xl\",\r\n\r\n shadowNone: \"button_shadow-None\",\r\n shadowLight: \"button_shadow-Light\",\r\n shadowMedium: \"button_shadow-Medium\",\r\n shadowStrong: \"button_shadow-Strong\",\r\n shadowIntense: \"button_shadow-Intense\",\r\n\r\n roundNone: \"button_round-None\",\r\n roundSmall: \"button_round-Small\",\r\n roundMedium: \"button_round-Medium\",\r\n roundLarge: \"button_round-Large\",\r\n};\r\n\r\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => (\r\n <ButtonBase {...props} classMap={classes} ref={ref} />\r\n));\r\nButton.displayName = \"Button\";\r\nexport default Button;\r\n"],"names":["forwardRef","getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useMemo","combineClassNames","capitalize","jsxs","Fragment","jsx","Comp"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Button = require("./Button-B2ucbkuX.cjs");
2
+ const Button = require("./Button-lYDI65B8.cjs");
3
3
  module.exports = Button.Button;
4
4
  //# sourceMappingURL=Button.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { B } from "./Button-BT0hAOju.js";
1
+ import { B } from "./Button-BaGwg7qF.js";
2
2
  export {
3
3
  B as default
4
4
  };
@@ -3,7 +3,7 @@ import React, { useId, useMemo } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
5
  import { d as getDefaultTheme, e as getDefaultBorder, a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize } from "./boreal-style-config-DsaRlxmw.js";
6
- import { B as Button } from "./Button-BT0hAOju.js";
6
+ import { B as Button } from "./Button-BaGwg7qF.js";
7
7
  import { I as IconButton } from "./IconButton-LlILBbQv.js";
8
8
  import { S as SkeletonLoader } from "./Skeleton-lR3mqQQ0.js";
9
9
  import './Card.css';const CardBase = ({
@@ -183,7 +183,7 @@ import './Card.css';const CardBase = ({
183
183
  }
184
184
  )),
185
185
  /* @__PURE__ */ jsxs("div", { children: [
186
- /* @__PURE__ */ jsx(
186
+ (renderHeader || hasTitle) && /* @__PURE__ */ jsx(
187
187
  "div",
188
188
  {
189
189
  className: combineClassNames(classMap.header, headerClassName),
@@ -252,7 +252,7 @@ import './Card.css';const CardBase = ({
252
252
  href: button.href,
253
253
  loading: button.loading,
254
254
  size: button.size || size,
255
- ariaLabel: button["aria-label"] || button.label,
255
+ "aria-label": button["aria-label"] || button.label,
256
256
  "aria-describedby": button["aria-describedby"],
257
257
  "aria-labelledby": button["aria-labelledby"],
258
258
  "aria-pressed": button["aria-pressed"],
@@ -346,4 +346,4 @@ Card.displayName = "Card";
346
346
  export {
347
347
  Card as C
348
348
  };
349
- //# sourceMappingURL=Card-DtTW3W1D.js.map
349
+ //# sourceMappingURL=Card-BTrF1W-e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card-BTrF1W-e.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/core/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","import React from \"react\";\r\nimport CardBase from \"../CardBase\";\r\nimport \"./Card.scss\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport Skeleton from \"../../Skeleton/core/Skeleton\";\r\nimport { CardProps } from \"../Card.types\";\r\n\r\nconst classes = {\r\n card: \"card\",\r\n\r\n left: \"card_left\",\r\n right: \"card_right\",\r\n center: \"card_center\",\r\n\r\n primary: \"card_primary\",\r\n secondary: \"card_secondary\",\r\n tertiary: \"card_tertiary\",\r\n quaternary: \"card_quaternary\",\r\n\r\n success: \"card_success\",\r\n warning: \"card_warning\",\r\n error: \"card_error\",\r\n\r\n clear: \"card_clear\",\r\n\r\n outline: \"card_outline\",\r\n loading: \"card_loading\",\r\n\r\n content: \"card_content\",\r\n\r\n xs: \"card_xs\",\r\n small: \"card_small\",\r\n medium: \"card_medium\",\r\n large: \"card_large\",\r\n xl: \"card_xl\",\r\n\r\n shadowNone: \"card_shadow-None\",\r\n shadowLight: \"card_shadow-Light\",\r\n shadowMedium: \"card_shadow-Medium\",\r\n shadowStrong: \"card_shadow-Strong\",\r\n shadowIntense: \"card_shadow-Intense\",\r\n\r\n roundNone: \"card_round-None\",\r\n roundSmall: \"card_round-Small\",\r\n roundMedium: \"card_round-Medium\",\r\n roundLarge: \"card_round-Large\",\r\n\r\n borderNone: \"card_border-None\",\r\n borderXs: \"card_border-Xs\",\r\n borderSmall: \"card_border-Small\",\r\n borderMedium: \"card_border-Medium\",\r\n borderLarge: \"card_border-Large\",\r\n borderXl: \"card_border-Xl\",\r\n\r\n vertical: \"card_vertical\",\r\n horizontal: \"card_horizontal\",\r\n\r\n image: \"card_image\",\r\n header: \"card_header\",\r\n title: \"card_title\",\r\n icon: \"card_icon\",\r\n body: \"card_body\",\r\n description: \"card_description\",\r\n children: \"card_children\",\r\n footer: \"card_footer\",\r\n actions: \"card_actions\",\r\n action_button: \"card_action_button\",\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={classes}\r\n SkeletonComponent={Skeleton}\r\n />\r\n );\r\n};\r\nCard.displayName = \"Card\";\r\nexport default Card;\r\n"],"names":["Skeleton"],"mappings":"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"}