boreal-ui 0.0.47 → 0.0.48

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 (219) hide show
  1. package/dist/core/{Card-CbGHr_tX.js → Card-BzpcEKgi.js} +52 -7
  2. package/dist/core/Card-BzpcEKgi.js.map +1 -0
  3. package/dist/core/{Card-De2epy0R.cjs → Card-D6SI33n_.cjs} +52 -7
  4. package/dist/core/Card-D6SI33n_.cjs.map +1 -0
  5. package/dist/core/Card.cjs.js +1 -1
  6. package/dist/core/Card.js +1 -1
  7. package/dist/core/boreal-ui.css +897 -0
  8. package/dist/core/index.cjs.js +1 -1
  9. package/dist/core/index.js +1 -1
  10. package/dist/next/{Accordion-CFb5G7Ql.js → Accordion-CrUmV-HM.js} +50 -50
  11. package/dist/next/{Accordion-CFb5G7Ql.js.map → Accordion-CrUmV-HM.js.map} +1 -1
  12. package/dist/next/{Accordion-BvcUpiD3.cjs → Accordion-ugkSb5dI.cjs} +50 -50
  13. package/dist/next/{Accordion-BvcUpiD3.cjs.map → Accordion-ugkSb5dI.cjs.map} +1 -1
  14. package/dist/next/Accordion.cjs.js +1 -1
  15. package/dist/next/Accordion.js +1 -1
  16. package/dist/next/{Breadcrumbs-D5wEf2-N.cjs → Breadcrumbs-CrKRsQf3.cjs} +2 -2
  17. package/dist/next/{Breadcrumbs-D5wEf2-N.cjs.map → Breadcrumbs-CrKRsQf3.cjs.map} +1 -1
  18. package/dist/next/{Breadcrumbs-DZpS-GOj.js → Breadcrumbs-ZK64MIGd.js} +2 -2
  19. package/dist/next/{Breadcrumbs-DZpS-GOj.js.map → Breadcrumbs-ZK64MIGd.js.map} +1 -1
  20. package/dist/next/Breadcrumbs.cjs.js +1 -1
  21. package/dist/next/Breadcrumbs.js +1 -1
  22. package/dist/next/{Button-Cyq8lKKp.cjs → Button-BI0LErYM.cjs} +46 -46
  23. package/dist/next/{Button-Cyq8lKKp.cjs.map → Button-BI0LErYM.cjs.map} +1 -1
  24. package/dist/next/{Button-CQUqfv7B.js → Button-qs4m4zx0.js} +46 -46
  25. package/dist/next/{Button-CQUqfv7B.js.map → Button-qs4m4zx0.js.map} +1 -1
  26. package/dist/next/Button.cjs.js +1 -1
  27. package/dist/next/Button.js +1 -1
  28. package/dist/next/{Card-D2vuSJt0.cjs → Card-09MMj3o2.cjs} +114 -69
  29. package/dist/next/Card-09MMj3o2.cjs.map +1 -0
  30. package/dist/next/{Card-CtUR7xR3.js → Card-Btw1d4gS.js} +114 -69
  31. package/dist/next/Card-Btw1d4gS.js.map +1 -0
  32. package/dist/next/Card.cjs.js +1 -1
  33. package/dist/next/Card.js +1 -1
  34. package/dist/next/CheckBox.cjs.js +1 -1
  35. package/dist/next/CheckBox.js +1 -1
  36. package/dist/next/{Checkbox-dANi8BjQ.js → Checkbox-DBidsakA.js} +44 -44
  37. package/dist/next/{Checkbox-dANi8BjQ.js.map → Checkbox-DBidsakA.js.map} +1 -1
  38. package/dist/next/{Checkbox-SXo9UmNY.cjs → Checkbox-hA321207.cjs} +44 -44
  39. package/dist/next/{Checkbox-SXo9UmNY.cjs.map → Checkbox-hA321207.cjs.map} +1 -1
  40. package/dist/next/{Chip-BYWlOMgj.cjs → Chip-BWTBVAIE.cjs} +50 -50
  41. package/dist/next/{Chip-BYWlOMgj.cjs.map → Chip-BWTBVAIE.cjs.map} +1 -1
  42. package/dist/next/{Chip-B3bTVcNN.js → Chip-D2mvW5L7.js} +50 -50
  43. package/dist/next/{Chip-B3bTVcNN.js.map → Chip-D2mvW5L7.js.map} +1 -1
  44. package/dist/next/Chip.cjs.js +1 -1
  45. package/dist/next/Chip.js +1 -1
  46. package/dist/next/{CircularProgress-6fmyMX4y.cjs → CircularProgress-BegWxawm.cjs} +37 -37
  47. package/dist/next/{CircularProgress-6fmyMX4y.cjs.map → CircularProgress-BegWxawm.cjs.map} +1 -1
  48. package/dist/next/{CircularProgress-CdvDDYyr.js → CircularProgress-wBHZUhul.js} +37 -37
  49. package/dist/next/{CircularProgress-CdvDDYyr.js.map → CircularProgress-wBHZUhul.js.map} +1 -1
  50. package/dist/next/CircularProgress.cjs.js +1 -1
  51. package/dist/next/CircularProgress.js +1 -1
  52. package/dist/next/{ColorPicker-DhQJXU30.js → ColorPicker-Dd9iz-i8.js} +38 -38
  53. package/dist/next/{ColorPicker-DhQJXU30.js.map → ColorPicker-Dd9iz-i8.js.map} +1 -1
  54. package/dist/next/{ColorPicker-DUYMHTpF.cjs → ColorPicker-Tla92spe.cjs} +38 -38
  55. package/dist/next/{ColorPicker-DUYMHTpF.cjs.map → ColorPicker-Tla92spe.cjs.map} +1 -1
  56. package/dist/next/ColorPicker.cjs.js +1 -1
  57. package/dist/next/ColorPicker.js +1 -1
  58. package/dist/next/{CommandPalette-GmgyP8kF.cjs → CommandPalette-BO6R9zQs.cjs} +41 -41
  59. package/dist/next/{CommandPalette-GmgyP8kF.cjs.map → CommandPalette-BO6R9zQs.cjs.map} +1 -1
  60. package/dist/next/{CommandPalette-Bzqc18YQ.js → CommandPalette-CN0BiN0R.js} +41 -41
  61. package/dist/next/{CommandPalette-Bzqc18YQ.js.map → CommandPalette-CN0BiN0R.js.map} +1 -1
  62. package/dist/next/CommandPalette.cjs.js +1 -1
  63. package/dist/next/CommandPalette.js +1 -1
  64. package/dist/next/{DataTable-Cy3GLZ1j.cjs → DataTable-CUJXAkHe.cjs} +40 -40
  65. package/dist/next/{DataTable-Cy3GLZ1j.cjs.map → DataTable-CUJXAkHe.cjs.map} +1 -1
  66. package/dist/next/{DataTable-BoXblTGY.js → DataTable-mMStogSP.js} +40 -40
  67. package/dist/next/{DataTable-BoXblTGY.js.map → DataTable-mMStogSP.js.map} +1 -1
  68. package/dist/next/DataTable.cjs.js +1 -1
  69. package/dist/next/DataTable.js +1 -1
  70. package/dist/next/{DateTimePicker-i4QztkDP.js → DateTimePicker-CphfYmZ8.js} +46 -46
  71. package/dist/next/{DateTimePicker-i4QztkDP.js.map → DateTimePicker-CphfYmZ8.js.map} +1 -1
  72. package/dist/next/{DateTimePicker-DYXQLrAL.cjs → DateTimePicker-DwS2xQNw.cjs} +46 -46
  73. package/dist/next/{DateTimePicker-DYXQLrAL.cjs.map → DateTimePicker-DwS2xQNw.cjs.map} +1 -1
  74. package/dist/next/DateTimePicker.cjs.js +1 -1
  75. package/dist/next/DateTimePicker.js +1 -1
  76. package/dist/next/{Divider-BAAb-2rY.cjs → Divider-cx8e80sS.cjs} +28 -28
  77. package/dist/next/{Divider-BAAb-2rY.cjs.map → Divider-cx8e80sS.cjs.map} +1 -1
  78. package/dist/next/{Divider-O6G6kig_.js → Divider-kiaQzYbi.js} +28 -28
  79. package/dist/next/{Divider-O6G6kig_.js.map → Divider-kiaQzYbi.js.map} +1 -1
  80. package/dist/next/Divider.cjs.js +1 -1
  81. package/dist/next/Divider.js +1 -1
  82. package/dist/next/{EmptyState-CU6_e2Yr.cjs → EmptyState-Bb90F-ej.cjs} +2 -2
  83. package/dist/next/{EmptyState-CU6_e2Yr.cjs.map → EmptyState-Bb90F-ej.cjs.map} +1 -1
  84. package/dist/next/{EmptyState-Cbj1OIeQ.js → EmptyState-Brd4N36F.js} +2 -2
  85. package/dist/next/{EmptyState-Cbj1OIeQ.js.map → EmptyState-Brd4N36F.js.map} +1 -1
  86. package/dist/next/EmptyState.cjs.js +1 -1
  87. package/dist/next/EmptyState.js +1 -1
  88. package/dist/next/{FileUpload-CNxWsESt.js → FileUpload-BMMpH1El.js} +51 -51
  89. package/dist/next/{FileUpload-CNxWsESt.js.map → FileUpload-BMMpH1El.js.map} +1 -1
  90. package/dist/next/{FileUpload-D43mGC5b.cjs → FileUpload-Drm5_xEx.cjs} +51 -51
  91. package/dist/next/{FileUpload-D43mGC5b.cjs.map → FileUpload-Drm5_xEx.cjs.map} +1 -1
  92. package/dist/next/FileUpload.cjs.js +1 -1
  93. package/dist/next/FileUpload.js +1 -1
  94. package/dist/next/{Footer-CJ19dLJ4.js → Footer-B6_LG958.js} +40 -40
  95. package/dist/next/{Footer-CJ19dLJ4.js.map → Footer-B6_LG958.js.map} +1 -1
  96. package/dist/next/{Footer-haPH23Rz.cjs → Footer-EF2-ryvY.cjs} +40 -40
  97. package/dist/next/{Footer-haPH23Rz.cjs.map → Footer-EF2-ryvY.cjs.map} +1 -1
  98. package/dist/next/Footer.cjs.js +1 -1
  99. package/dist/next/Footer.js +1 -1
  100. package/dist/next/{FormGroup-mHF2j4h8.cjs → FormGroup-Bg2QlTu7.cjs} +30 -30
  101. package/dist/next/{FormGroup-mHF2j4h8.cjs.map → FormGroup-Bg2QlTu7.cjs.map} +1 -1
  102. package/dist/next/{FormGroup-B_b5tAwN.js → FormGroup-DmQChKxA.js} +30 -30
  103. package/dist/next/{FormGroup-B_b5tAwN.js.map → FormGroup-DmQChKxA.js.map} +1 -1
  104. package/dist/next/FormGroup.cjs.js +1 -1
  105. package/dist/next/FormGroup.js +1 -1
  106. package/dist/next/MessagePopUp.cjs.js +1 -1
  107. package/dist/next/MessagePopUp.js +1 -1
  108. package/dist/next/{MessagePopup-C08ktRPS.cjs → MessagePopup-DsquzWSn.cjs} +2 -2
  109. package/dist/next/{MessagePopup-C08ktRPS.cjs.map → MessagePopup-DsquzWSn.cjs.map} +1 -1
  110. package/dist/next/{MessagePopup-BHMymhHd.js → MessagePopup-WUBGyJ_F.js} +2 -2
  111. package/dist/next/{MessagePopup-BHMymhHd.js.map → MessagePopup-WUBGyJ_F.js.map} +1 -1
  112. package/dist/next/{MetricBox-Cc5g8SBy.js → MetricBox-C5KGkv7l.js} +47 -47
  113. package/dist/next/{MetricBox-Cc5g8SBy.js.map → MetricBox-C5KGkv7l.js.map} +1 -1
  114. package/dist/next/{MetricBox-BDC6UsP1.cjs → MetricBox-D8eBxQ59.cjs} +47 -47
  115. package/dist/next/{MetricBox-BDC6UsP1.cjs.map → MetricBox-D8eBxQ59.cjs.map} +1 -1
  116. package/dist/next/MetricBox.cjs.js +1 -1
  117. package/dist/next/MetricBox.js +1 -1
  118. package/dist/next/{NavBar-BZPUPeLz.js → NavBar-CmvgkEZt.js} +37 -37
  119. package/dist/next/{NavBar-BZPUPeLz.js.map → NavBar-CmvgkEZt.js.map} +1 -1
  120. package/dist/next/{NavBar-DYUpzh7o.cjs → NavBar-DVEf0iJH.cjs} +37 -37
  121. package/dist/next/{NavBar-DYUpzh7o.cjs.map → NavBar-DVEf0iJH.cjs.map} +1 -1
  122. package/dist/next/NavBar.cjs.js +1 -1
  123. package/dist/next/NavBar.js +1 -1
  124. package/dist/next/{NotificationCenter-ClijzbwL.cjs → NotificationCenter-CtL6rozQ.cjs} +42 -42
  125. package/dist/next/{NotificationCenter-ClijzbwL.cjs.map → NotificationCenter-CtL6rozQ.cjs.map} +1 -1
  126. package/dist/next/{NotificationCenter-C00Gj6Xv.js → NotificationCenter-CtM10CVj.js} +42 -42
  127. package/dist/next/{NotificationCenter-C00Gj6Xv.js.map → NotificationCenter-CtM10CVj.js.map} +1 -1
  128. package/dist/next/NotificationCenter.cjs.js +1 -1
  129. package/dist/next/NotificationCenter.js +1 -1
  130. package/dist/next/{Pager-C1rpRIOe.cjs → Pager-Bxxewb8I.cjs} +2 -2
  131. package/dist/next/{Pager-C1rpRIOe.cjs.map → Pager-Bxxewb8I.cjs.map} +1 -1
  132. package/dist/next/{Pager-DzEFxEIM.js → Pager-D0Mw7o7v.js} +2 -2
  133. package/dist/next/{Pager-DzEFxEIM.js.map → Pager-D0Mw7o7v.js.map} +1 -1
  134. package/dist/next/Pager.cjs.js +1 -1
  135. package/dist/next/Pager.js +1 -1
  136. package/dist/next/{PopOver-J5eO0UOr.cjs → PopOver-gQfgHe9e.cjs} +40 -40
  137. package/dist/next/{PopOver-J5eO0UOr.cjs.map → PopOver-gQfgHe9e.cjs.map} +1 -1
  138. package/dist/next/{PopOver-DFjt5BfD.js → PopOver-qSTx5y8g.js} +40 -40
  139. package/dist/next/{PopOver-DFjt5BfD.js.map → PopOver-qSTx5y8g.js.map} +1 -1
  140. package/dist/next/PopOver.cjs.js +1 -1
  141. package/dist/next/PopOver.js +1 -1
  142. package/dist/next/{ProgressBar-lOd0cGdF.cjs → ProgressBar-BMuv0kis.cjs} +42 -42
  143. package/dist/next/{ProgressBar-lOd0cGdF.cjs.map → ProgressBar-BMuv0kis.cjs.map} +1 -1
  144. package/dist/next/{ProgressBar-hpSJQWrn.js → ProgressBar-DuaWQouO.js} +42 -42
  145. package/dist/next/{ProgressBar-hpSJQWrn.js.map → ProgressBar-DuaWQouO.js.map} +1 -1
  146. package/dist/next/ProgressBar.cjs.js +1 -1
  147. package/dist/next/ProgressBar.js +1 -1
  148. package/dist/next/{RadioButton-UlG9lzwh.js → RadioButton-CEvIACkL.js} +38 -38
  149. package/dist/next/{RadioButton-UlG9lzwh.js.map → RadioButton-CEvIACkL.js.map} +1 -1
  150. package/dist/next/{RadioButton-DkeBXAsO.cjs → RadioButton-D6oyNmVU.cjs} +38 -38
  151. package/dist/next/{RadioButton-DkeBXAsO.cjs.map → RadioButton-D6oyNmVU.cjs.map} +1 -1
  152. package/dist/next/RadioButton.cjs.js +1 -1
  153. package/dist/next/RadioButton.js +1 -1
  154. package/dist/next/{Rating-BuPujSZA.cjs → Rating-BbqxsFU9.cjs} +34 -34
  155. package/dist/next/{Rating-BuPujSZA.cjs.map → Rating-BbqxsFU9.cjs.map} +1 -1
  156. package/dist/next/{Rating-BhZSzD7o.js → Rating-umLbRaAb.js} +34 -34
  157. package/dist/next/{Rating-BhZSzD7o.js.map → Rating-umLbRaAb.js.map} +1 -1
  158. package/dist/next/Rating.cjs.js +1 -1
  159. package/dist/next/Rating.js +1 -1
  160. package/dist/next/{Skeleton-Cp1BE2Ac.cjs → Skeleton-C6wW8eyR.cjs} +26 -26
  161. package/dist/next/{Skeleton-Cp1BE2Ac.cjs.map → Skeleton-C6wW8eyR.cjs.map} +1 -1
  162. package/dist/next/{Skeleton-KKJc191y.js → Skeleton-DC4LJ059.js} +26 -26
  163. package/dist/next/{Skeleton-KKJc191y.js.map → Skeleton-DC4LJ059.js.map} +1 -1
  164. package/dist/next/Skeleton.cjs.js +1 -1
  165. package/dist/next/Skeleton.js +1 -1
  166. package/dist/next/{Slider-BK-N-zXi.cjs → Slider-g41Qvh6s.cjs} +43 -43
  167. package/dist/next/{Slider-BK-N-zXi.cjs.map → Slider-g41Qvh6s.cjs.map} +1 -1
  168. package/dist/next/{Slider-BvcM4-MS.js → Slider-wAbg8hOH.js} +43 -43
  169. package/dist/next/{Slider-BvcM4-MS.js.map → Slider-wAbg8hOH.js.map} +1 -1
  170. package/dist/next/Slider.cjs.js +1 -1
  171. package/dist/next/Slider.js +1 -1
  172. package/dist/next/{Spinner-Dh8iu4p8.js → Spinner-D3OQ29U9.js} +37 -37
  173. package/dist/next/{Spinner-Dh8iu4p8.js.map → Spinner-D3OQ29U9.js.map} +1 -1
  174. package/dist/next/{Spinner-DqTR9rvk.cjs → Spinner-Y53Z6fwK.cjs} +37 -37
  175. package/dist/next/{Spinner-DqTR9rvk.cjs.map → Spinner-Y53Z6fwK.cjs.map} +1 -1
  176. package/dist/next/Spinner.cjs.js +1 -1
  177. package/dist/next/Spinner.js +1 -1
  178. package/dist/next/{Stepper-nRipbdpR.js → Stepper-BvA_ZAho.js} +39 -39
  179. package/dist/next/{Stepper-nRipbdpR.js.map → Stepper-BvA_ZAho.js.map} +1 -1
  180. package/dist/next/{Stepper-RjdxxcS6.cjs → Stepper-D6X70Sr6.cjs} +39 -39
  181. package/dist/next/{Stepper-RjdxxcS6.cjs.map → Stepper-D6X70Sr6.cjs.map} +1 -1
  182. package/dist/next/Stepper.cjs.js +1 -1
  183. package/dist/next/Stepper.js +1 -1
  184. package/dist/next/{Tabs-D90stLbD.js → Tabs-Bur4oYVF.js} +44 -44
  185. package/dist/next/{Tabs-D90stLbD.js.map → Tabs-Bur4oYVF.js.map} +1 -1
  186. package/dist/next/{Tabs-BgKvtbgg.cjs → Tabs-D-5VRbfh.cjs} +44 -44
  187. package/dist/next/{Tabs-BgKvtbgg.cjs.map → Tabs-D-5VRbfh.cjs.map} +1 -1
  188. package/dist/next/Tabs.cjs.js +1 -1
  189. package/dist/next/Tabs.js +1 -1
  190. package/dist/next/{TagInput-I9GEOn4z.js → TagInput-DKzxPiwU.js} +46 -46
  191. package/dist/next/{TagInput-I9GEOn4z.js.map → TagInput-DKzxPiwU.js.map} +1 -1
  192. package/dist/next/{TagInput-C7ohFpQN.cjs → TagInput-DfNJiPKh.cjs} +46 -46
  193. package/dist/next/{TagInput-C7ohFpQN.cjs.map → TagInput-DfNJiPKh.cjs.map} +1 -1
  194. package/dist/next/TagInput.cjs.js +1 -1
  195. package/dist/next/TagInput.js +1 -1
  196. package/dist/next/{Toolbar-B043HxPz.cjs → Toolbar-PwnuYGDR.cjs} +34 -34
  197. package/dist/next/{Toolbar-B043HxPz.cjs.map → Toolbar-PwnuYGDR.cjs.map} +1 -1
  198. package/dist/next/{Toolbar-DJ2eWNqF.js → Toolbar-wbusnAUV.js} +34 -34
  199. package/dist/next/{Toolbar-DJ2eWNqF.js.map → Toolbar-wbusnAUV.js.map} +1 -1
  200. package/dist/next/Toolbar.cjs.js +1 -1
  201. package/dist/next/Toolbar.js +1 -1
  202. package/dist/next/{Tooltip-BAv_JHBJ.cjs → Tooltip-DPFnMhUd.cjs} +39 -39
  203. package/dist/next/{Tooltip-BAv_JHBJ.cjs.map → Tooltip-DPFnMhUd.cjs.map} +1 -1
  204. package/dist/next/{Tooltip-BCtlhs_A.js → Tooltip-_GVlUXAq.js} +39 -39
  205. package/dist/next/{Tooltip-BCtlhs_A.js.map → Tooltip-_GVlUXAq.js.map} +1 -1
  206. package/dist/next/Tooltip.cjs.js +1 -1
  207. package/dist/next/Tooltip.js +1 -1
  208. package/dist/next/boreal-ui.css +3123 -2410
  209. package/dist/next/index.cjs.js +56 -56
  210. package/dist/next/index.js +56 -56
  211. package/dist/tsconfig.build.tsbuildinfo +1 -1
  212. package/dist/types/components/Card/Card.types.d.ts +2 -1
  213. package/dist/types/components/Card/Card.types.d.ts.map +1 -1
  214. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  215. package/package.json +1 -1
  216. package/dist/core/Card-CbGHr_tX.js.map +0 -1
  217. package/dist/core/Card-De2epy0R.cjs.map +0 -1
  218. package/dist/next/Card-CtUR7xR3.js.map +0 -1
  219. package/dist/next/Card-D2vuSJt0.cjs.map +0 -1
@@ -47,13 +47,58 @@ const CardBase = ({
47
47
  const headerId = ariaLabelledBy || `${autoId}-header`;
48
48
  const descriptionId = `${autoId}-description`;
49
49
  const derivedAriaLabel = ariaLabel || title || description || "Content card";
50
+ function normalizeImageSource(imageUrl2, fallbackWidth, fallbackHeight) {
51
+ if (!imageUrl2) {
52
+ return {
53
+ src: void 0,
54
+ width: fallbackWidth,
55
+ height: fallbackHeight
56
+ };
57
+ }
58
+ if (typeof imageUrl2 === "object" && "src" in imageUrl2 && typeof imageUrl2.src === "string") {
59
+ const { src, width, height } = imageUrl2;
60
+ const trimmed = src.trim();
61
+ if (!trimmed) {
62
+ return {
63
+ src: void 0,
64
+ width: fallbackWidth,
65
+ height: fallbackHeight
66
+ };
67
+ }
68
+ return {
69
+ src: trimmed,
70
+ width: typeof width === "number" ? width : fallbackWidth,
71
+ height: typeof height === "number" ? height : fallbackHeight
72
+ };
73
+ }
74
+ if (typeof imageUrl2 === "string") {
75
+ const trimmed = imageUrl2.trim();
76
+ if (!trimmed) {
77
+ return {
78
+ src: void 0,
79
+ width: fallbackWidth,
80
+ height: fallbackHeight
81
+ };
82
+ }
83
+ return {
84
+ src: trimmed,
85
+ width: fallbackWidth,
86
+ height: fallbackHeight
87
+ };
88
+ }
89
+ return {
90
+ src: void 0,
91
+ width: fallbackWidth,
92
+ height: fallbackHeight
93
+ };
94
+ }
50
95
  const FallbackImage = (props) => /* @__PURE__ */ jsx("img", { ...props });
51
- const isObjSrc = typeof imageUrl === "object" && imageUrl !== null && "src" in imageUrl;
52
- const rawSrc = isObjSrc ? imageUrl.src : imageUrl;
53
- const imgSrc = typeof rawSrc === "string" && rawSrc.trim().length > 0 ? rawSrc.trim() : void 0;
54
- const hasImage = Boolean(imgSrc);
55
- const resolvedWidth = (isObjSrc ? imageUrl.width : void 0) ?? imageWidth;
56
- const resolvedHeight = (isObjSrc ? imageUrl.height : void 0) ?? imageHeight;
96
+ const {
97
+ src: imgSrc,
98
+ width: resolvedWidth,
99
+ height: resolvedHeight
100
+ } = normalizeImageSource(imageUrl, imageWidth, imageHeight);
101
+ const hasImage = !!imgSrc;
57
102
  const imgAlt = imageAlt || `${title || "Card"} image`;
58
103
  const ImageRenderer = ImageComponent || FallbackImage;
59
104
  const isNextImage = typeof ImageRenderer !== "string";
@@ -264,4 +309,4 @@ Card.displayName = "Card";
264
309
  export {
265
310
  Card as C
266
311
  };
267
- //# sourceMappingURL=Card-CbGHr_tX.js.map
312
+ //# sourceMappingURL=Card-BzpcEKgi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card-BzpcEKgi.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/core/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { CardBaseProps, CardImageSource } 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} 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 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 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 \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-label\": ariaLabel,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const headerId = ariaLabelledBy || `${autoId}-header`;\r\n const descriptionId = `${autoId}-description`;\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n function normalizeImageSource(\r\n imageUrl: CardImageSource,\r\n fallbackWidth?: number,\r\n fallbackHeight?: number\r\n ) {\r\n if (!imageUrl) {\r\n return {\r\n src: undefined as string | undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n if (\r\n typeof imageUrl === \"object\" &&\r\n \"src\" in imageUrl &&\r\n typeof (imageUrl as any).src === \"string\"\r\n ) {\r\n const { src, width, height } = imageUrl as any;\r\n const trimmed = src.trim();\r\n\r\n if (!trimmed) {\r\n return {\r\n src: undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n return {\r\n src: trimmed,\r\n width: typeof width === \"number\" ? width : fallbackWidth,\r\n height: typeof height === \"number\" ? height : fallbackHeight,\r\n };\r\n }\r\n\r\n if (typeof imageUrl === \"string\") {\r\n const trimmed = imageUrl.trim();\r\n\r\n if (!trimmed) {\r\n return {\r\n src: undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n return {\r\n src: trimmed,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n return {\r\n src: undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\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 = !!imgSrc;\r\n\r\n const imgAlt = imageAlt || `${title || \"Card\"} image`;\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n const isNextImage = typeof ImageRenderer !== \"string\";\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 outline && classMap.outline,\r\n loading && classMap.loading,\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 outline,\r\n loading,\r\n className,\r\n ]\r\n );\r\n\r\n return (\r\n <div\r\n data-testid={testId}\r\n className={cardClassName}\r\n role=\"region\"\r\n aria-labelledby={title ? headerId : undefined}\r\n aria-label={!title ? derivedAriaLabel : undefined}\r\n aria-busy={loading || undefined}\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 (imageFill ? (\r\n <div className={classMap.media}>\r\n <ImageRenderer\r\n src={imgSrc as any}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n {...(isNextImage ? { fill: true } : {})}\r\n {...(!isNextImage ? { loading: \"lazy\" as const } : {})}\r\n />\r\n </div>\r\n ) : (\r\n <ImageRenderer\r\n src={imgSrc as any}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n width={resolvedWidth ?? 640}\r\n height={resolvedHeight ?? 360}\r\n {...(!isNextImage ? { loading: \"lazy\" as const } : {})}\r\n />\r\n ))}\r\n\r\n <div>\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={headerId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : title ? (\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 <div\r\n className={combineClassNames(classMap.body, bodyClassName)}\r\n role=\"group\"\r\n aria-describedby={description ? descriptionId : undefined}\r\n >\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {description && (\r\n <p id={descriptionId} className={classMap.description}>\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.label}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n ariaLabel={button.ariaLabel}\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 ariaLabel={button.ariaLabel}\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, IconButton, Skeleton } from \"../../../index.core\";\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 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":["imageUrl","Skeleton"],"mappings":"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"}
@@ -48,13 +48,58 @@ const CardBase = ({
48
48
  const headerId = ariaLabelledBy || `${autoId}-header`;
49
49
  const descriptionId = `${autoId}-description`;
50
50
  const derivedAriaLabel = ariaLabel || title || description || "Content card";
51
+ function normalizeImageSource(imageUrl2, fallbackWidth, fallbackHeight) {
52
+ if (!imageUrl2) {
53
+ return {
54
+ src: void 0,
55
+ width: fallbackWidth,
56
+ height: fallbackHeight
57
+ };
58
+ }
59
+ if (typeof imageUrl2 === "object" && "src" in imageUrl2 && typeof imageUrl2.src === "string") {
60
+ const { src, width, height } = imageUrl2;
61
+ const trimmed = src.trim();
62
+ if (!trimmed) {
63
+ return {
64
+ src: void 0,
65
+ width: fallbackWidth,
66
+ height: fallbackHeight
67
+ };
68
+ }
69
+ return {
70
+ src: trimmed,
71
+ width: typeof width === "number" ? width : fallbackWidth,
72
+ height: typeof height === "number" ? height : fallbackHeight
73
+ };
74
+ }
75
+ if (typeof imageUrl2 === "string") {
76
+ const trimmed = imageUrl2.trim();
77
+ if (!trimmed) {
78
+ return {
79
+ src: void 0,
80
+ width: fallbackWidth,
81
+ height: fallbackHeight
82
+ };
83
+ }
84
+ return {
85
+ src: trimmed,
86
+ width: fallbackWidth,
87
+ height: fallbackHeight
88
+ };
89
+ }
90
+ return {
91
+ src: void 0,
92
+ width: fallbackWidth,
93
+ height: fallbackHeight
94
+ };
95
+ }
51
96
  const FallbackImage = (props) => /* @__PURE__ */ jsxRuntime.jsx("img", { ...props });
52
- const isObjSrc = typeof imageUrl === "object" && imageUrl !== null && "src" in imageUrl;
53
- const rawSrc = isObjSrc ? imageUrl.src : imageUrl;
54
- const imgSrc = typeof rawSrc === "string" && rawSrc.trim().length > 0 ? rawSrc.trim() : void 0;
55
- const hasImage = Boolean(imgSrc);
56
- const resolvedWidth = (isObjSrc ? imageUrl.width : void 0) ?? imageWidth;
57
- const resolvedHeight = (isObjSrc ? imageUrl.height : void 0) ?? imageHeight;
97
+ const {
98
+ src: imgSrc,
99
+ width: resolvedWidth,
100
+ height: resolvedHeight
101
+ } = normalizeImageSource(imageUrl, imageWidth, imageHeight);
102
+ const hasImage = !!imgSrc;
58
103
  const imgAlt = imageAlt || `${title || "Card"} image`;
59
104
  const ImageRenderer = ImageComponent || FallbackImage;
60
105
  const isNextImage = typeof ImageRenderer !== "string";
@@ -263,4 +308,4 @@ const Card = (props) => {
263
308
  };
264
309
  Card.displayName = "Card";
265
310
  exports.Card = Card;
266
- //# sourceMappingURL=Card-De2epy0R.cjs.map
311
+ //# sourceMappingURL=Card-D6SI33n_.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card-D6SI33n_.cjs","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/core/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { CardBaseProps, CardImageSource } 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} 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 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 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 \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-label\": ariaLabel,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const headerId = ariaLabelledBy || `${autoId}-header`;\r\n const descriptionId = `${autoId}-description`;\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n function normalizeImageSource(\r\n imageUrl: CardImageSource,\r\n fallbackWidth?: number,\r\n fallbackHeight?: number\r\n ) {\r\n if (!imageUrl) {\r\n return {\r\n src: undefined as string | undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n if (\r\n typeof imageUrl === \"object\" &&\r\n \"src\" in imageUrl &&\r\n typeof (imageUrl as any).src === \"string\"\r\n ) {\r\n const { src, width, height } = imageUrl as any;\r\n const trimmed = src.trim();\r\n\r\n if (!trimmed) {\r\n return {\r\n src: undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n return {\r\n src: trimmed,\r\n width: typeof width === \"number\" ? width : fallbackWidth,\r\n height: typeof height === \"number\" ? height : fallbackHeight,\r\n };\r\n }\r\n\r\n if (typeof imageUrl === \"string\") {\r\n const trimmed = imageUrl.trim();\r\n\r\n if (!trimmed) {\r\n return {\r\n src: undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n return {\r\n src: trimmed,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n return {\r\n src: undefined,\r\n width: fallbackWidth,\r\n height: fallbackHeight,\r\n };\r\n }\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\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 = !!imgSrc;\r\n\r\n const imgAlt = imageAlt || `${title || \"Card\"} image`;\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n const isNextImage = typeof ImageRenderer !== \"string\";\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 outline && classMap.outline,\r\n loading && classMap.loading,\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 outline,\r\n loading,\r\n className,\r\n ]\r\n );\r\n\r\n return (\r\n <div\r\n data-testid={testId}\r\n className={cardClassName}\r\n role=\"region\"\r\n aria-labelledby={title ? headerId : undefined}\r\n aria-label={!title ? derivedAriaLabel : undefined}\r\n aria-busy={loading || undefined}\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 (imageFill ? (\r\n <div className={classMap.media}>\r\n <ImageRenderer\r\n src={imgSrc as any}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n {...(isNextImage ? { fill: true } : {})}\r\n {...(!isNextImage ? { loading: \"lazy\" as const } : {})}\r\n />\r\n </div>\r\n ) : (\r\n <ImageRenderer\r\n src={imgSrc as any}\r\n alt={imgAlt}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n width={resolvedWidth ?? 640}\r\n height={resolvedHeight ?? 360}\r\n {...(!isNextImage ? { loading: \"lazy\" as const } : {})}\r\n />\r\n ))}\r\n\r\n <div>\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={headerId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : title ? (\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 <div\r\n className={combineClassNames(classMap.body, bodyClassName)}\r\n role=\"group\"\r\n aria-describedby={description ? descriptionId : undefined}\r\n >\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {description && (\r\n <p id={descriptionId} className={classMap.description}>\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.label}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n ariaLabel={button.ariaLabel}\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 ariaLabel={button.ariaLabel}\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, IconButton, Skeleton } from \"../../../index.core\";\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 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":["getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useId","imageUrl","jsx","useMemo","combineClassNames","capitalize","jsxs","Fragment","Button","IconButton","Skeleton"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Card = require("./Card-De2epy0R.cjs");
2
+ const Card = require("./Card-D6SI33n_.cjs");
3
3
  module.exports = Card.Card;
4
4
  //# sourceMappingURL=Card.cjs.js.map
package/dist/core/Card.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C } from "./Card-CbGHr_tX.js";
1
+ import { C } from "./Card-BzpcEKgi.js";
2
2
  export {
3
3
  C as default
4
4
  };