@szymonpiatek/designsystem 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -239,14 +239,32 @@ function getVariantStyles(variant, theme) {
239
239
  }
240
240
  }
241
241
  var StyledCard = styles.styled("div", {
242
- shouldForwardProp: (prop) => !["$variant", "$padding", "$rounded"].includes(prop)
243
- })(({ theme, $variant, $padding, $rounded }) => ({
242
+ shouldForwardProp: (prop) => !["$variant", "$padding", "$rounded", "$hoverEffect"].includes(prop)
243
+ })(({ theme, $variant, $padding, $rounded, $hoverEffect }) => ({
244
244
  padding: paddingMap[$padding],
245
245
  borderRadius: roundedMap[$rounded],
246
- ...getVariantStyles($variant, theme)
246
+ ...getVariantStyles($variant, theme),
247
+ ...$hoverEffect && {
248
+ cursor: "pointer",
249
+ transition: "box-shadow 150ms ease, transform 150ms ease",
250
+ "&:hover": {
251
+ boxShadow: theme.shadows[4],
252
+ transform: "translateY(-2px)"
253
+ }
254
+ }
247
255
  }));
248
256
  var Card = react.forwardRef(
249
- ({ variant = "default", padding = "md", rounded = "lg", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledCard, { ref, $variant: variant, $padding: padding, $rounded: rounded, ...props })
257
+ ({ variant = "default", padding = "md", rounded = "lg", hoverEffect = false, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
258
+ StyledCard,
259
+ {
260
+ ref,
261
+ $variant: variant,
262
+ $padding: padding,
263
+ $rounded: rounded,
264
+ $hoverEffect: hoverEffect,
265
+ ...props
266
+ }
267
+ )
250
268
  );
251
269
  Card.displayName = "Card";
252
270
  var cardVariants = [
@@ -541,14 +559,16 @@ var Accordion = react.forwardRef(
541
559
  Accordion.displayName = "Accordion";
542
560
  var accordionVariants = ["default", "bordered", "separated"];
543
561
  var iconSizeMap = {
544
- sm: 18,
545
- md: 20,
546
- lg: 24
562
+ sm: 16,
563
+ md: 18,
564
+ lg: 20,
565
+ xl: 24
547
566
  };
548
567
  var sizeMap3 = {
549
- sm: { height: "2rem", paddingInline: "0.75rem", fontSize: "0.75rem", gap: "0.25rem" },
550
- md: { height: "2.5rem", paddingInline: "1.25rem", fontSize: "0.875rem", gap: "0.375rem" },
551
- lg: { height: "3rem", paddingInline: "1.75rem", fontSize: "1rem", gap: "0.5rem" }
568
+ sm: { height: "1.625rem", paddingInline: "0.5rem", fontSize: "0.625rem", gap: "0.125rem" },
569
+ md: { height: "2rem", paddingInline: "0.75rem", fontSize: "0.75rem", gap: "0.25rem" },
570
+ lg: { height: "2.5rem", paddingInline: "1.25rem", fontSize: "0.875rem", gap: "0.375rem" },
571
+ xl: { height: "3rem", paddingInline: "1.75rem", fontSize: "1rem", gap: "0.5rem" }
552
572
  };
553
573
  var variantStyles = {
554
574
  primary: (theme) => ({
@@ -1065,7 +1085,7 @@ var ContextMenu = react.forwardRef(
1065
1085
  }
1066
1086
  );
1067
1087
  ContextMenu.displayName = "ContextMenu";
1068
- var sizeMap4 = { sm: "1em", md: "1.25em", lg: "1.75em" };
1088
+ var sizeMap4 = { sm: "1em", md: "1.25em", lg: "1.75em", xl: "2.25em" };
1069
1089
  var toFlagEmoji = (code) => code.toUpperCase().replace(/[A-Z]/g, (char) => String.fromCodePoint(127462 + char.charCodeAt(0) - 65));
1070
1090
  var CountryFlag = ({ countryCode, size = "md", style, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
1071
1091
  "span",
@@ -1121,12 +1141,14 @@ EmptyState.displayName = "EmptyState";
1121
1141
  var inputSizeMap = {
1122
1142
  sm: { padding: "0.25rem 0.5rem", fontSize: "0.75rem", gap: "0.25rem" },
1123
1143
  md: { padding: "0.375rem 0.75rem", fontSize: "0.875rem", gap: "0.375rem" },
1124
- lg: { padding: "0.5rem 1rem", fontSize: "1rem", gap: "0.5rem" }
1144
+ lg: { padding: "0.5rem 1rem", fontSize: "1rem", gap: "0.5rem" },
1145
+ xl: { padding: "0.625rem 1.25rem", fontSize: "1.125rem", gap: "0.625rem" }
1125
1146
  };
1126
1147
  var inputHeightMap = {
1127
1148
  sm: "26px",
1128
1149
  md: "32px",
1129
- lg: "38.5px"
1150
+ lg: "40px",
1151
+ xl: "48px"
1130
1152
  };
1131
1153
  var DropdownPanel = styles.styled("div")(({ theme }) => ({
1132
1154
  position: "absolute",
@@ -1142,7 +1164,8 @@ var Chevron = () => /* @__PURE__ */ jsxRuntime.jsx(ExpandMoreIcon__default.defau
1142
1164
  var labelSizeMap = {
1143
1165
  sm: "0.625rem",
1144
1166
  md: "0.75rem",
1145
- lg: "0.875rem"
1167
+ lg: "0.875rem",
1168
+ xl: "1rem"
1146
1169
  };
1147
1170
  var StyledLabel = styles.styled("label")(({ theme, $error, $size }) => ({
1148
1171
  display: "block",
@@ -1152,7 +1175,16 @@ var StyledLabel = styles.styled("label")(({ theme, $error, $size }) => ({
1152
1175
  fontFamily: theme.typography.fontFamily,
1153
1176
  color: $error ? theme.palette.error.main : theme.palette.text.primary
1154
1177
  }));
1155
- var Label = ({ error = false, size = "md", children, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(StyledLabel, { $error: error, $size: size, ...rest, children });
1178
+ var RequiredAsterisk = styles.styled("span")(({ theme }) => ({
1179
+ marginLeft: "0.2em",
1180
+ color: theme.palette.error.main,
1181
+ fontWeight: 600,
1182
+ lineHeight: 1
1183
+ }));
1184
+ var Label = ({ error = false, size = "md", required, children, ...rest }) => /* @__PURE__ */ jsxRuntime.jsxs(StyledLabel, { $error: error, $size: size, ...rest, children: [
1185
+ children,
1186
+ required && /* @__PURE__ */ jsxRuntime.jsx(RequiredAsterisk, { "aria-hidden": "true", children: "*" })
1187
+ ] });
1156
1188
  Label.displayName = "Label";
1157
1189
  var StyledHelperText = styles.styled("p")(({ theme, $error }) => ({
1158
1190
  margin: "0.25rem 0 0",
@@ -1232,13 +1264,14 @@ var BaseInput = react.forwardRef(
1232
1264
  startAdornment,
1233
1265
  endAdornment,
1234
1266
  disabled = false,
1267
+ required,
1235
1268
  id,
1236
1269
  ...rest
1237
1270
  }, ref) => {
1238
1271
  const autoId = react.useId();
1239
1272
  const inputId = id ?? autoId;
1240
1273
  return /* @__PURE__ */ jsxRuntime.jsxs(Root5, { $fullWidth: fullWidth, children: [
1241
- label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, error, size, children: label }),
1274
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, error, size, required, children: label }),
1242
1275
  /* @__PURE__ */ jsxRuntime.jsxs(
1243
1276
  InputWrapper,
1244
1277
  {
@@ -1249,7 +1282,7 @@ var BaseInput = react.forwardRef(
1249
1282
  "data-disabled": disabled || void 0,
1250
1283
  children: [
1251
1284
  startAdornment && /* @__PURE__ */ jsxRuntime.jsx(Adornment, { children: startAdornment }),
1252
- /* @__PURE__ */ jsxRuntime.jsx(StyledInput, { ref, id: inputId, disabled, ...rest }),
1285
+ /* @__PURE__ */ jsxRuntime.jsx(StyledInput, { ref, id: inputId, disabled, required, ...rest }),
1253
1286
  endAdornment && /* @__PURE__ */ jsxRuntime.jsx(Adornment, { children: endAdornment })
1254
1287
  ]
1255
1288
  }
@@ -1262,12 +1295,14 @@ BaseInput.displayName = "BaseInput";
1262
1295
  var checkboxSizeMap = {
1263
1296
  sm: "14px",
1264
1297
  md: "16px",
1265
- lg: "20px"
1298
+ lg: "20px",
1299
+ xl: "24px"
1266
1300
  };
1267
1301
  var labelFontSizeMap = {
1268
1302
  sm: "0.75rem",
1269
1303
  md: "0.875rem",
1270
- lg: "1rem"
1304
+ lg: "1rem",
1305
+ xl: "1.125rem"
1271
1306
  };
1272
1307
  var checkedColor = (theme, error) => error ? theme.palette.error.main : theme.palette.primary.main;
1273
1308
  var Box = styles.styled("span")(({ theme, $size, $error, $disabled }) => ({
@@ -1341,6 +1376,12 @@ var LabelText = styles.styled("span")(
1341
1376
  userSelect: "none"
1342
1377
  })
1343
1378
  );
1379
+ var RequiredAsterisk2 = styles.styled("span")(({ theme }) => ({
1380
+ marginLeft: "0.2em",
1381
+ color: theme.palette.error.main,
1382
+ fontWeight: 600,
1383
+ lineHeight: 1
1384
+ }));
1344
1385
  var Root6 = styles.styled("span")(({ $disabled }) => ({
1345
1386
  display: "inline-flex",
1346
1387
  flexDirection: "column",
@@ -1354,6 +1395,7 @@ var CheckboxInput = react.forwardRef(
1354
1395
  size = "md",
1355
1396
  disabled = false,
1356
1397
  indeterminate = false,
1398
+ required,
1357
1399
  id,
1358
1400
  ...rest
1359
1401
  }, ref) => {
@@ -1379,10 +1421,14 @@ var CheckboxInput = react.forwardRef(
1379
1421
  id: inputId,
1380
1422
  type: "checkbox",
1381
1423
  disabled,
1424
+ required,
1382
1425
  ...rest
1383
1426
  }
1384
1427
  ) }),
1385
- label && /* @__PURE__ */ jsxRuntime.jsx(LabelText, { $size: size, $disabled: disabled, $error: error, children: label })
1428
+ label && /* @__PURE__ */ jsxRuntime.jsxs(LabelText, { $size: size, $disabled: disabled, $error: error, children: [
1429
+ label,
1430
+ required && /* @__PURE__ */ jsxRuntime.jsx(RequiredAsterisk2, { "aria-hidden": "true", children: "*" })
1431
+ ] })
1386
1432
  ] }),
1387
1433
  helperText && /* @__PURE__ */ jsxRuntime.jsx(HelperText, { error, children: helperText })
1388
1434
  ] });
@@ -1392,12 +1438,14 @@ CheckboxInput.displayName = "CheckboxInput";
1392
1438
  var radioSizeMap = {
1393
1439
  sm: "14px",
1394
1440
  md: "16px",
1395
- lg: "20px"
1441
+ lg: "20px",
1442
+ xl: "24px"
1396
1443
  };
1397
1444
  var labelFontSizeMap2 = {
1398
1445
  sm: "0.75rem",
1399
1446
  md: "0.875rem",
1400
- lg: "1rem"
1447
+ lg: "1rem",
1448
+ xl: "1.125rem"
1401
1449
  };
1402
1450
  var checkedColor2 = (theme, error) => error ? theme.palette.error.main : theme.palette.primary.main;
1403
1451
  var Circle = styles.styled("span")(({ theme, $size, $error, $disabled }) => ({
@@ -1451,19 +1499,28 @@ var LabelText2 = styles.styled("span")(
1451
1499
  userSelect: "none"
1452
1500
  })
1453
1501
  );
1502
+ var RequiredAsterisk3 = styles.styled("span")(({ theme }) => ({
1503
+ marginLeft: "0.2em",
1504
+ color: theme.palette.error.main,
1505
+ fontWeight: 600,
1506
+ lineHeight: 1
1507
+ }));
1454
1508
  var Root7 = styles.styled("span")(({ $disabled }) => ({
1455
1509
  display: "inline-flex",
1456
1510
  flexDirection: "column",
1457
1511
  cursor: $disabled ? "not-allowed" : "pointer"
1458
1512
  }));
1459
1513
  var RadioInput = react.forwardRef(
1460
- ({ label, helperText, error = false, size = "md", disabled = false, id, ...rest }, ref) => {
1514
+ ({ label, helperText, error = false, size = "md", disabled = false, required, id, ...rest }, ref) => {
1461
1515
  const autoId = react.useId();
1462
1516
  const inputId = id ?? autoId;
1463
1517
  return /* @__PURE__ */ jsxRuntime.jsxs(Root7, { $disabled: disabled, children: [
1464
1518
  /* @__PURE__ */ jsxRuntime.jsxs(Row2, { htmlFor: inputId, children: [
1465
- /* @__PURE__ */ jsxRuntime.jsx(Circle, { $size: size, $error: error, $disabled: disabled, children: /* @__PURE__ */ jsxRuntime.jsx(HiddenInput2, { ref, id: inputId, type: "radio", disabled, ...rest }) }),
1466
- label && /* @__PURE__ */ jsxRuntime.jsx(LabelText2, { $size: size, $disabled: disabled, $error: error, children: label })
1519
+ /* @__PURE__ */ jsxRuntime.jsx(Circle, { $size: size, $error: error, $disabled: disabled, children: /* @__PURE__ */ jsxRuntime.jsx(HiddenInput2, { ref, id: inputId, type: "radio", disabled, required, ...rest }) }),
1520
+ label && /* @__PURE__ */ jsxRuntime.jsxs(LabelText2, { $size: size, $disabled: disabled, $error: error, children: [
1521
+ label,
1522
+ required && /* @__PURE__ */ jsxRuntime.jsx(RequiredAsterisk3, { "aria-hidden": "true", children: "*" })
1523
+ ] })
1467
1524
  ] }),
1468
1525
  helperText && /* @__PURE__ */ jsxRuntime.jsx(HelperText, { error, children: helperText })
1469
1526
  ] });
@@ -1649,6 +1706,15 @@ var dropzoneSizes = {
1649
1706
  fontSize: "1rem",
1650
1707
  subFontSize: "0.875rem",
1651
1708
  gap: "0.625rem"
1709
+ },
1710
+ xl: {
1711
+ minHeight: "220px",
1712
+ padding: "2.5rem",
1713
+ iconSize: 32,
1714
+ circleSize: "4.25rem",
1715
+ fontSize: "1.125rem",
1716
+ subFontSize: "1rem",
1717
+ gap: "0.75rem"
1652
1718
  }
1653
1719
  };
1654
1720
  var DropzoneArea = styles.styled("div")(({ theme, $size, $fullWidth, $error, $disabled, $isDragging, $hasFile }) => {
@@ -2299,6 +2365,7 @@ var BaseSelectInput = ({
2299
2365
  size = "md",
2300
2366
  fullWidth = false,
2301
2367
  disabled = false,
2368
+ required,
2302
2369
  id
2303
2370
  }) => {
2304
2371
  const checkSelected = isSelected ?? ((option) => option.value === value);
@@ -2335,7 +2402,7 @@ var BaseSelectInput = ({
2335
2402
  const selectedLabel = options.find((o) => o.value === value)?.label;
2336
2403
  const defaultTriggerContent = /* @__PURE__ */ jsxRuntime.jsx("span", { style: { opacity: selectedLabel ? 1 : 0.5 }, children: selectedLabel ?? placeholder });
2337
2404
  return /* @__PURE__ */ jsxRuntime.jsxs(Root9, { $fullWidth: fullWidth, ref: rootRef, children: [
2338
- label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, error, size, children: label }),
2405
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, error, size, required, children: label }),
2339
2406
  /* @__PURE__ */ jsxRuntime.jsxs(
2340
2407
  Trigger2,
2341
2408
  {
@@ -2650,13 +2717,14 @@ var TextareaInput = react.forwardRef(
2650
2717
  fullWidth = false,
2651
2718
  rows = 4,
2652
2719
  disabled = false,
2720
+ required,
2653
2721
  id,
2654
2722
  ...rest
2655
2723
  }, ref) => {
2656
2724
  const autoId = react.useId();
2657
2725
  const inputId = id ?? autoId;
2658
2726
  return /* @__PURE__ */ jsxRuntime.jsxs(Root10, { $fullWidth: fullWidth, children: [
2659
- label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, error, size, children: label }),
2727
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, error, size, required, children: label }),
2660
2728
  /* @__PURE__ */ jsxRuntime.jsx(
2661
2729
  StyledTextarea,
2662
2730
  {
@@ -2664,6 +2732,7 @@ var TextareaInput = react.forwardRef(
2664
2732
  id: inputId,
2665
2733
  rows,
2666
2734
  disabled,
2735
+ required,
2667
2736
  $size: size,
2668
2737
  $fullWidth: fullWidth,
2669
2738
  $error: error,
@@ -4632,10 +4701,10 @@ var TextInput = react.forwardRef(
4632
4701
  ({ type = "text", ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsx(BaseInput, { ref, type, ...rest })
4633
4702
  );
4634
4703
  TextInput.displayName = "TextInput";
4635
- var TRACK_W = { sm: "1.75rem", md: "2.25rem", lg: "2.75rem" };
4636
- var TRACK_H = { sm: "1rem", md: "1.25rem", lg: "1.5rem" };
4637
- var THUMB_S = { sm: "0.75rem", md: "1rem", lg: "1.25rem" };
4638
- var FONT_S = { sm: "0.75rem", md: "0.875rem", lg: "1rem" };
4704
+ var TRACK_W = { sm: "1.75rem", md: "2.25rem", lg: "2.75rem", xl: "3.25rem" };
4705
+ var TRACK_H = { sm: "1rem", md: "1.25rem", lg: "1.5rem", xl: "1.75rem" };
4706
+ var THUMB_S = { sm: "0.75rem", md: "1rem", lg: "1.25rem", xl: "1.5rem" };
4707
+ var FONT_S = { sm: "0.75rem", md: "0.875rem", lg: "1rem", xl: "1.125rem" };
4639
4708
  function getActiveColor(color, theme) {
4640
4709
  switch (color) {
4641
4710
  case "secondary":
@@ -6782,15 +6851,15 @@ function CookieConsent({
6782
6851
  Button,
6783
6852
  {
6784
6853
  variant: "text",
6785
- size: "sm",
6854
+ size: "md",
6786
6855
  "aria-expanded": expanded,
6787
6856
  "aria-controls": `${id}-panel`,
6788
6857
  onClick: () => setExpanded((v) => !v),
6789
6858
  children: manageLabel
6790
6859
  }
6791
6860
  ),
6792
- /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", onClick: handleRejectAll, children: rejectLabel }),
6793
- /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "sm", onClick: handleAcceptAll, children: acceptAllLabel })
6861
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "md", onClick: handleRejectAll, children: rejectLabel }),
6862
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "md", onClick: handleAcceptAll, children: acceptAllLabel })
6794
6863
  ] })
6795
6864
  ] }),
6796
6865
  expanded && /* @__PURE__ */ jsxRuntime.jsxs(Panel3, { id: `${id}-panel`, role: "group", "aria-label": "Kategorie plik\xF3w cookie", children: [
@@ -6813,7 +6882,7 @@ function CookieConsent({
6813
6882
  }
6814
6883
  )
6815
6884
  ] }, cat.id)),
6816
- /* @__PURE__ */ jsxRuntime.jsx(SaveRow, { children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "sm", onClick: handleSave, children: saveLabel }) })
6885
+ /* @__PURE__ */ jsxRuntime.jsx(SaveRow, { children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "md", onClick: handleSave, children: saveLabel }) })
6817
6886
  ] })
6818
6887
  ] }) }),
6819
6888
  document.body
@@ -6911,7 +6980,7 @@ function CommentActions({ commentId, onReply, onShare }) {
6911
6980
  onClick: () => onReply?.(commentId),
6912
6981
  variant: "text",
6913
6982
  startIcon: /* @__PURE__ */ jsxRuntime.jsx(ReplyIcon__default.default, { style: { fontSize: "inherit" } }),
6914
- size: "sm",
6983
+ size: "md",
6915
6984
  children: "Odpowiedz"
6916
6985
  }
6917
6986
  ),
@@ -6923,7 +6992,7 @@ function CommentActions({ commentId, onReply, onShare }) {
6923
6992
  onClick: () => onShare?.(commentId),
6924
6993
  variant: "text",
6925
6994
  startIcon: /* @__PURE__ */ jsxRuntime.jsx(ReplyIcon__default.default, { style: { fontSize: "inherit" } }),
6926
- size: "sm",
6995
+ size: "md",
6927
6996
  children: "Udost\u0119pnij"
6928
6997
  }
6929
6998
  )
@@ -7488,7 +7557,7 @@ var NewsletterSection = react.forwardRef(
7488
7557
  "aria-label": inputPlaceholder
7489
7558
  }
7490
7559
  ),
7491
- /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "submit", variant: "primary", size: "md", children: submitLabel })
7560
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "submit", variant: "primary", size: "lg", children: submitLabel })
7492
7561
  ] }),
7493
7562
  privacyNote && /* @__PURE__ */ jsxRuntime.jsx(PrivacyNote, { children: privacyNote })
7494
7563
  ] });
@@ -9615,25 +9684,12 @@ var Nav2 = styles.styled("nav")({
9615
9684
  display: "none"
9616
9685
  }
9617
9686
  });
9618
- var NavLink = styles.styled("a", {
9687
+ var NavButton2 = styles.styled(Button, {
9619
9688
  shouldForwardProp: (p) => p !== "$active"
9620
9689
  })(({ theme, $active }) => ({
9621
- padding: "0.375rem 0.75rem",
9622
- borderRadius: theme.shape.borderRadius,
9623
- fontFamily: theme.typography.fontFamily,
9624
9690
  fontSize: "0.9375rem",
9625
9691
  fontWeight: $active ? 600 : 400,
9626
- color: $active ? theme.palette.primary.main : theme.palette.text.primary,
9627
- textDecoration: "none",
9628
- transition: "background-color 150ms ease, color 150ms ease",
9629
- "&:hover": {
9630
- backgroundColor: theme.palette.action.hover,
9631
- color: theme.palette.primary.main
9632
- },
9633
- "&:focus-visible": {
9634
- outline: `3px solid ${theme.palette.primary.main}`,
9635
- outlineOffset: "2px"
9636
- }
9692
+ color: $active ? theme.palette.primary.main : theme.palette.text.primary
9637
9693
  }));
9638
9694
  var RightSlot = styles.styled("div")({
9639
9695
  marginLeft: "auto",
@@ -9661,20 +9717,14 @@ var MobileDrawer = styles.styled("div", {
9661
9717
  display: "none"
9662
9718
  }
9663
9719
  }));
9664
- var MobileNavLink = styles.styled("a", {
9720
+ var MobileNavButton = styles.styled(Button, {
9665
9721
  shouldForwardProp: (p) => p !== "$active"
9666
9722
  })(({ theme, $active }) => ({
9667
- padding: "0.625rem 0.75rem",
9668
- borderRadius: theme.shape.borderRadius,
9669
- fontFamily: theme.typography.fontFamily,
9670
9723
  fontSize: "1rem",
9671
9724
  fontWeight: $active ? 600 : 400,
9672
9725
  color: $active ? theme.palette.primary.main : theme.palette.text.primary,
9673
- textDecoration: "none",
9674
- transition: "background-color 150ms ease",
9675
- "&:hover": {
9676
- backgroundColor: theme.palette.action.hover
9677
- }
9726
+ justifyContent: "flex-start",
9727
+ width: "100%"
9678
9728
  }));
9679
9729
  function HamburgerIcon({ open }) {
9680
9730
  return open ? /* @__PURE__ */ jsxRuntime.jsx(CloseIcon__default.default, { "aria-hidden": "true", style: { fontSize: "inherit" } }) : /* @__PURE__ */ jsxRuntime.jsx(MenuIcon__default.default, { "aria-hidden": "true", style: { fontSize: "inherit" } });
@@ -9697,7 +9747,17 @@ function Navbar({
9697
9747
  style: { height: "3.75rem", display: "flex", alignItems: "center", gap: "1.5rem" },
9698
9748
  children: [
9699
9749
  logo && /* @__PURE__ */ jsxRuntime.jsx(LogoSlot, { children: logo }),
9700
- /* @__PURE__ */ jsxRuntime.jsx(Nav2, { "aria-label": "Nawigacja g\u0142\xF3wna", children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(NavLink, { href: item.href, $active: !!item.active, children: item.label }, item.href)) }),
9750
+ /* @__PURE__ */ jsxRuntime.jsx(Nav2, { "aria-label": "Nawigacja g\u0142\xF3wna", children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
9751
+ NavButton2,
9752
+ {
9753
+ variant: "text",
9754
+ $active: !!item.active,
9755
+ "aria-current": item.active ? "page" : void 0,
9756
+ onClick: () => window.location.assign(item.href),
9757
+ children: item.label
9758
+ },
9759
+ item.href
9760
+ )) }),
9701
9761
  (actions || navItems.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs(RightSlot, { children: [
9702
9762
  actions,
9703
9763
  navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
@@ -9705,7 +9765,7 @@ function Navbar({
9705
9765
  {
9706
9766
  variant: "primary",
9707
9767
  shape: "square",
9708
- size: "sm",
9768
+ size: "md",
9709
9769
  "aria-label": mobileOpen ? "Zamknij menu" : "Otw\xF3rz menu",
9710
9770
  "aria-expanded": mobileOpen,
9711
9771
  onClick: () => setMobileOpen((v) => !v),
@@ -9716,13 +9776,24 @@ function Navbar({
9716
9776
  ]
9717
9777
  }
9718
9778
  ),
9719
- navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(MobileDrawer, { $open: mobileOpen, "aria-label": "Menu mobilne", children: /* @__PURE__ */ jsxRuntime.jsx(Container, { maxWidth, children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(MobileNavLink, { href: item.href, $active: !!item.active, children: item.label }, item.href)) }) })
9779
+ navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(MobileDrawer, { $open: mobileOpen, "aria-label": "Menu mobilne", children: /* @__PURE__ */ jsxRuntime.jsx(Container, { maxWidth, children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
9780
+ MobileNavButton,
9781
+ {
9782
+ variant: "text",
9783
+ $active: !!item.active,
9784
+ "aria-current": item.active ? "page" : void 0,
9785
+ onClick: () => window.location.assign(item.href),
9786
+ children: item.label
9787
+ },
9788
+ item.href
9789
+ )) }) })
9720
9790
  ] });
9721
9791
  }
9722
9792
  var sizeOverrides = {
9723
9793
  sm: { minWidth: "1.75rem", height: "1.75rem" },
9724
9794
  md: { minWidth: "2rem", height: "2rem" },
9725
- lg: { minWidth: "2.5rem", height: "2.5rem" }
9795
+ lg: { minWidth: "2.5rem", height: "2.5rem" },
9796
+ xl: { minWidth: "3rem", height: "3rem" }
9726
9797
  };
9727
9798
  var activeStyles = (theme) => ({
9728
9799
  backgroundColor: theme.palette.primary.main,
@@ -9875,7 +9946,8 @@ PaginationBar.displayName = "PaginationBar";
9875
9946
  var sizeMap6 = {
9876
9947
  sm: { minWidth: "1.75rem", height: "1.75rem", fontSize: "0.75rem" },
9877
9948
  md: { minWidth: "2rem", height: "2rem", fontSize: "0.875rem" },
9878
- lg: { minWidth: "2.5rem", height: "2.5rem", fontSize: "1rem" }
9949
+ lg: { minWidth: "2.5rem", height: "2.5rem", fontSize: "1rem" },
9950
+ xl: { minWidth: "3rem", height: "3rem", fontSize: "1.125rem" }
9879
9951
  };
9880
9952
  var StyledEllipsis = styles.styled("span")(({ theme, $size }) => ({
9881
9953
  display: "inline-flex",
@@ -10236,13 +10308,14 @@ var Badge2 = styles.styled("span")(({ theme }) => ({
10236
10308
  lineHeight: 1
10237
10309
  }));
10238
10310
  var CartButton = react.forwardRef(
10239
- ({ count, size = "sm", label = "Koszyk", disabled, onClick, className, "aria-label": ariaLabel }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root36, { className, children: [
10311
+ ({ count, size = "sm", shape, label = "Koszyk", disabled, onClick, className, "aria-label": ariaLabel }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root36, { className, children: [
10240
10312
  /* @__PURE__ */ jsxRuntime.jsx(
10241
10313
  Button,
10242
10314
  {
10243
10315
  ref,
10244
10316
  variant: "ghost",
10245
10317
  size,
10318
+ shape,
10246
10319
  disabled,
10247
10320
  onClick,
10248
10321
  "aria-label": ariaLabel ?? (count ? `${label} (${count})` : label),
@@ -10295,12 +10368,14 @@ ProductCardImage.displayName = "ProductCardImage";
10295
10368
  var controlWidthMap = {
10296
10369
  sm: "26px",
10297
10370
  md: "32px",
10298
- lg: "38.5px"
10371
+ lg: "40px",
10372
+ xl: "48px"
10299
10373
  };
10300
10374
  var valueWidthMap = {
10301
10375
  sm: "2rem",
10302
10376
  md: "2.5rem",
10303
- lg: "3rem"
10377
+ lg: "3rem",
10378
+ xl: "3.5rem"
10304
10379
  };
10305
10380
  var Root37 = styles.styled("div", { shouldForwardProp: (p) => p !== "size" })(
10306
10381
  ({ theme, size }) => ({
@@ -10640,17 +10715,11 @@ var CountdownTimer = react.forwardRef(
10640
10715
  );
10641
10716
  CountdownTimer.displayName = "CountdownTimer";
10642
10717
  var countdownTimerVariants = ["inline", "card", "banner"];
10643
- var Root40 = styles.styled(Card)(({ theme }) => ({
10718
+ var Root40 = styles.styled(Card)({
10644
10719
  display: "flex",
10645
10720
  flexDirection: "column",
10646
- overflow: "hidden",
10647
- cursor: "pointer",
10648
- transition: "box-shadow 150ms ease, transform 150ms ease",
10649
- "&:hover": {
10650
- boxShadow: theme.shadows[4],
10651
- transform: "translateY(-2px)"
10652
- }
10653
- }));
10721
+ overflow: "hidden"
10722
+ });
10654
10723
  var ImageWrap2 = styles.styled("div")({
10655
10724
  margin: "-1.5rem -1.5rem 1rem"
10656
10725
  });
@@ -10666,7 +10735,7 @@ var CategoryCard = react.forwardRef(
10666
10735
  /* @__PURE__ */ jsxRuntime.jsx(ImageWrap2, { children: /* @__PURE__ */ jsxRuntime.jsx(CategoryCardImage, { src: imageUrl, alt: imageAlt ?? name }) }),
10667
10736
  /* @__PURE__ */ jsxRuntime.jsx(CategoryCardInfo, { name, count })
10668
10737
  ] });
10669
- return /* @__PURE__ */ jsxRuntime.jsx(Root40, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: href ? /* @__PURE__ */ jsxRuntime.jsx(CardLink2, { href, children: content }) : content });
10738
+ return /* @__PURE__ */ jsxRuntime.jsx(Root40, { ref, variant: "default", padding: "md", rounded: "lg", hoverEffect: true, ...props, children: href ? /* @__PURE__ */ jsxRuntime.jsx(CardLink2, { href, children: content }) : content });
10670
10739
  }
10671
10740
  );
10672
10741
  CategoryCard.displayName = "CategoryCard";
@@ -10889,100 +10958,22 @@ function CompareTool({
10889
10958
  }) })
10890
10959
  ] }) });
10891
10960
  }
10892
- var spin2 = styles.keyframes`to { transform: rotate(360deg); }`;
10893
10961
  var Root42 = styles.styled("div")({
10894
10962
  display: "flex",
10895
10963
  flexDirection: "column",
10896
10964
  gap: "0.5rem"
10897
10965
  });
10898
- var InputRow2 = styles.styled("div", {
10899
- shouldForwardProp: (p) => p !== "$hasError" && p !== "$applied"
10900
- })(({ theme, $hasError, $applied }) => ({
10966
+ var InputRow2 = styles.styled("div")({
10901
10967
  display: "flex",
10902
- border: `1.5px solid ${$hasError ? theme.palette.error.main : $applied ? theme.palette.success.main : theme.palette.divider}`,
10903
- borderRadius: "0.5rem",
10904
- overflow: "hidden",
10905
- transition: "border-color 150ms ease",
10906
- "&:focus-within": {
10907
- borderColor: $hasError ? theme.palette.error.main : $applied ? theme.palette.success.main : theme.palette.primary.main,
10908
- boxShadow: `0 0 0 3px ${$hasError ? `${theme.palette.error.main}22` : $applied ? `${theme.palette.success.main}22` : `${theme.palette.primary.main}22`}`
10909
- }
10910
- }));
10911
- var Input = styles.styled("input")(({ theme }) => ({
10912
- flex: 1,
10913
- border: "none",
10914
- outline: "none",
10915
- padding: "0.625rem 0.875rem",
10916
- fontFamily: theme.typography.fontFamily,
10917
- fontSize: "0.9375rem",
10918
- color: theme.palette.text.primary,
10919
- backgroundColor: "transparent",
10920
- textTransform: "uppercase",
10921
- letterSpacing: "0.05em",
10922
- "&::placeholder": {
10923
- color: theme.palette.text.disabled,
10924
- textTransform: "none",
10925
- letterSpacing: "normal"
10926
- },
10927
- "&:disabled": {
10928
- cursor: "not-allowed",
10929
- color: theme.palette.text.disabled
10930
- }
10931
- }));
10932
- var ApplyButton = styles.styled("button", {
10933
- shouldForwardProp: (p) => p !== "$applied"
10934
- })(({ theme, $applied }) => ({
10935
- appearance: "none",
10936
- border: "none",
10937
- borderLeft: `1.5px solid ${theme.palette.divider}`,
10938
- padding: "0 1rem",
10939
- cursor: "pointer",
10940
- fontFamily: theme.typography.fontFamily,
10941
- fontSize: "0.875rem",
10942
- fontWeight: 700,
10943
- whiteSpace: "nowrap",
10944
- backgroundColor: $applied ? theme.palette.success.main : theme.palette.primary.main,
10945
- color: $applied ? theme.palette.success.contrastText : theme.palette.primary.contrastText,
10946
- transition: "background-color 150ms ease, opacity 150ms ease",
10947
- "&:hover:not(:disabled)": {
10948
- opacity: 0.88
10949
- },
10950
- "&:disabled": {
10951
- opacity: 0.5,
10952
- cursor: "not-allowed"
10953
- },
10954
- "&:focus-visible": {
10955
- outline: `3px solid ${theme.palette.primary.main}`,
10956
- outlineOffset: "-3px"
10957
- }
10958
- }));
10959
- var Spinner4 = styles.styled("span")({
10960
- display: "inline-block",
10961
- width: "0.875rem",
10962
- height: "0.875rem",
10963
- border: "2px solid rgba(255,255,255,0.3)",
10964
- borderTopColor: "#fff",
10965
- borderRadius: "50%",
10966
- animation: `${spin2} 600ms linear infinite`,
10967
- verticalAlign: "middle"
10968
+ alignItems: "flex-start",
10969
+ gap: "0.5rem"
10968
10970
  });
10969
- var Message = styles.styled("p", {
10970
- shouldForwardProp: (p) => p !== "$type"
10971
- })(({ theme, $type }) => ({
10972
- margin: 0,
10973
- fontSize: "0.8125rem",
10974
- fontFamily: theme.typography.fontFamily,
10975
- color: $type === "error" ? theme.palette.error.main : theme.palette.success.main,
10976
- display: "flex",
10977
- alignItems: "center",
10978
- gap: "0.25rem"
10979
- }));
10980
10971
  var AppliedRow = styles.styled("div")(({ theme }) => ({
10981
10972
  display: "flex",
10982
10973
  alignItems: "center",
10983
10974
  justifyContent: "space-between",
10984
10975
  padding: "0.5rem 0.875rem",
10985
- borderRadius: "0.5rem",
10976
+ borderRadius: theme.shape.borderRadius,
10986
10977
  backgroundColor: `${theme.palette.success.main}14`,
10987
10978
  border: `1.5px solid ${theme.palette.success.main}`
10988
10979
  }));
@@ -10994,22 +10985,14 @@ var AppliedCode = styles.styled("span")(({ theme }) => ({
10994
10985
  textTransform: "uppercase",
10995
10986
  letterSpacing: "0.05em"
10996
10987
  }));
10997
- var RemoveButton2 = styles.styled("button")(({ theme }) => ({
10998
- appearance: "none",
10999
- border: "none",
11000
- background: "none",
11001
- cursor: "pointer",
11002
- fontFamily: theme.typography.fontFamily,
10988
+ var SuccessMessage2 = styles.styled("p")(({ theme }) => ({
10989
+ margin: 0,
11003
10990
  fontSize: "0.8125rem",
11004
- fontWeight: 600,
11005
- color: theme.palette.error.main,
11006
- padding: "0.25rem",
11007
- "&:hover": { textDecoration: "underline" },
11008
- "&:focus-visible": {
11009
- outline: `2px solid ${theme.palette.error.main}`,
11010
- outlineOffset: "2px",
11011
- borderRadius: "3px"
11012
- }
10991
+ fontFamily: theme.typography.fontFamily,
10992
+ color: theme.palette.success.main,
10993
+ display: "flex",
10994
+ alignItems: "center",
10995
+ gap: "0.25rem"
11013
10996
  }));
11014
10997
  function CouponInput({
11015
10998
  value,
@@ -11024,12 +11007,9 @@ function CouponInput({
11024
11007
  disabled = false,
11025
11008
  error,
11026
11009
  successMessage,
11010
+ size = "md",
11027
11011
  className
11028
11012
  }) {
11029
- const id = react.useId();
11030
- const errorId = `${id}-error`;
11031
- const successId = `${id}-success`;
11032
- const isDisabled = disabled || loading;
11033
11013
  const handleApply = () => {
11034
11014
  if (value.trim()) onApply(value.trim());
11035
11015
  };
@@ -11041,52 +11021,52 @@ function CouponInput({
11041
11021
  /* @__PURE__ */ jsxRuntime.jsxs(AppliedRow, { role: "status", "aria-label": `Kod rabatowy ${appliedCode} zastosowany`, children: [
11042
11022
  /* @__PURE__ */ jsxRuntime.jsx(AppliedCode, { children: appliedCode }),
11043
11023
  onRemove && /* @__PURE__ */ jsxRuntime.jsx(
11044
- RemoveButton2,
11024
+ Button,
11045
11025
  {
11046
- type: "button",
11047
- "aria-label": `${removeLabel} kod ${appliedCode}`,
11026
+ variant: "danger",
11027
+ size: "md",
11048
11028
  onClick: onRemove,
11029
+ "aria-label": `${removeLabel} kod ${appliedCode}`,
11049
11030
  children: removeLabel
11050
11031
  }
11051
11032
  )
11052
11033
  ] }),
11053
- successMessage && /* @__PURE__ */ jsxRuntime.jsxs(Message, { $type: "success", id: successId, role: "status", children: [
11034
+ successMessage && /* @__PURE__ */ jsxRuntime.jsxs(SuccessMessage2, { role: "status", children: [
11054
11035
  "\u2713 ",
11055
11036
  successMessage
11056
11037
  ] })
11057
11038
  ] });
11058
11039
  }
11059
- return /* @__PURE__ */ jsxRuntime.jsxs(Root42, { className, children: [
11060
- /* @__PURE__ */ jsxRuntime.jsxs(InputRow2, { $hasError: Boolean(error), $applied: false, children: [
11061
- /* @__PURE__ */ jsxRuntime.jsx(
11062
- Input,
11063
- {
11064
- id,
11065
- type: "text",
11066
- value,
11067
- placeholder,
11068
- disabled: isDisabled,
11069
- "aria-label": "Kod rabatowy",
11070
- "aria-invalid": Boolean(error),
11071
- "aria-describedby": error ? errorId : void 0,
11072
- onChange: (e) => onChange(e.target.value),
11073
- onKeyDown: handleKeyDown
11074
- }
11075
- ),
11076
- /* @__PURE__ */ jsxRuntime.jsx(
11077
- ApplyButton,
11078
- {
11079
- type: "button",
11080
- $applied: false,
11081
- disabled: isDisabled || !value.trim(),
11082
- "aria-label": applyLabel,
11083
- onClick: handleApply,
11084
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(Spinner4, { "aria-hidden": "true" }) : applyLabel
11085
- }
11086
- )
11087
- ] }),
11088
- error && /* @__PURE__ */ jsxRuntime.jsx(Message, { $type: "error", id: errorId, role: "alert", children: error })
11089
- ] });
11040
+ return /* @__PURE__ */ jsxRuntime.jsx(Root42, { className, children: /* @__PURE__ */ jsxRuntime.jsxs(InputRow2, { children: [
11041
+ /* @__PURE__ */ jsxRuntime.jsx(
11042
+ TextInput,
11043
+ {
11044
+ value,
11045
+ placeholder,
11046
+ disabled: disabled || loading,
11047
+ "aria-label": "Kod rabatowy",
11048
+ "aria-invalid": Boolean(error),
11049
+ onChange: (e) => onChange(e.target.value),
11050
+ onKeyDown: handleKeyDown,
11051
+ size,
11052
+ fullWidth: true,
11053
+ error: Boolean(error),
11054
+ helperText: error,
11055
+ style: { textTransform: "uppercase" }
11056
+ }
11057
+ ),
11058
+ /* @__PURE__ */ jsxRuntime.jsx(
11059
+ Button,
11060
+ {
11061
+ size,
11062
+ loading,
11063
+ disabled: disabled || !value.trim(),
11064
+ "aria-label": applyLabel,
11065
+ onClick: handleApply,
11066
+ children: applyLabel
11067
+ }
11068
+ )
11069
+ ] }) });
11090
11070
  }
11091
11071
  var DEFAULT_OMNIBUS_LABEL = "Najni\u017Csza cena z ostatnich 30 dni";
11092
11072
  var FONT_SIZE2 = {
@@ -11390,7 +11370,7 @@ var FilterSidebar = react.forwardRef(
11390
11370
  }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root45, { ref, "aria-label": "Filtry produkt\xF3w", ...props, children: [
11391
11371
  /* @__PURE__ */ jsxRuntime.jsxs(Header3, { children: [
11392
11372
  /* @__PURE__ */ jsxRuntime.jsx(Title10, { children: "Filtry" }),
11393
- onClear && /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", onClick: onClear, children: "Wyczy\u015B\u0107" })
11373
+ onClear && /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "md", onClick: onClear, children: "Wyczy\u015B\u0107" })
11394
11374
  ] }),
11395
11375
  priceRange && /* @__PURE__ */ jsxRuntime.jsxs(Group, { children: [
11396
11376
  /* @__PURE__ */ jsxRuntime.jsx(Legend, { children: "Cena" }),
@@ -11684,51 +11664,63 @@ var ProductCard = react.forwardRef(
11684
11664
  buttonVariant = "primary",
11685
11665
  disabledButton = false,
11686
11666
  hideButton = false,
11667
+ hoverEffect = true,
11687
11668
  ...props
11688
- }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root50, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: [
11689
- /* @__PURE__ */ jsxRuntime.jsx(
11690
- AspectRatio,
11691
- {
11692
- ratio: imageRatio,
11693
- style: { margin: "-1.5rem -1.5rem 1rem", width: "calc(100% + 3rem)" },
11694
- children: /* @__PURE__ */ jsxRuntime.jsx(
11695
- ProductCardImage,
11669
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
11670
+ Root50,
11671
+ {
11672
+ ref,
11673
+ variant: "default",
11674
+ padding: "md",
11675
+ rounded: "lg",
11676
+ hoverEffect,
11677
+ ...props,
11678
+ children: [
11679
+ /* @__PURE__ */ jsxRuntime.jsx(
11680
+ AspectRatio,
11696
11681
  {
11697
- src: imageUrl,
11698
- alt: imageAlt ?? name,
11699
- badge,
11700
- badgeVariant
11682
+ ratio: imageRatio,
11683
+ style: { margin: "-1.5rem -1.5rem 1rem", width: "calc(100% + 3rem)" },
11684
+ children: /* @__PURE__ */ jsxRuntime.jsx(
11685
+ ProductCardImage,
11686
+ {
11687
+ src: imageUrl,
11688
+ alt: imageAlt ?? name,
11689
+ badge,
11690
+ badgeVariant
11691
+ }
11692
+ )
11701
11693
  }
11702
- )
11703
- }
11704
- ),
11705
- /* @__PURE__ */ jsxRuntime.jsx(Name11, { children: name }),
11706
- rating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
11707
- /* @__PURE__ */ jsxRuntime.jsx(
11708
- Price2,
11709
- {
11710
- price,
11711
- originalPrice,
11712
- currency,
11713
- locale,
11714
- lowestPrice,
11715
- style: { marginTop: "0.5rem" }
11716
- }
11717
- ),
11718
- !hideButton && /* @__PURE__ */ jsxRuntime.jsx(Footer6, { children: /* @__PURE__ */ jsxRuntime.jsx(
11719
- Button,
11720
- {
11721
- fullWidth: true,
11722
- variant: buttonVariant,
11723
- disabled: disabledButton,
11724
- onClick: (e) => {
11725
- e.stopPropagation();
11726
- onAddToCart?.();
11727
- },
11728
- children: ctaLabel
11729
- }
11730
- ) })
11731
- ] })
11694
+ ),
11695
+ /* @__PURE__ */ jsxRuntime.jsx(Name11, { children: name }),
11696
+ rating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
11697
+ /* @__PURE__ */ jsxRuntime.jsx(
11698
+ Price2,
11699
+ {
11700
+ price,
11701
+ originalPrice,
11702
+ currency,
11703
+ locale,
11704
+ lowestPrice,
11705
+ style: { marginTop: "0.5rem" }
11706
+ }
11707
+ ),
11708
+ !hideButton && /* @__PURE__ */ jsxRuntime.jsx(Footer6, { children: /* @__PURE__ */ jsxRuntime.jsx(
11709
+ Button,
11710
+ {
11711
+ fullWidth: true,
11712
+ variant: buttonVariant,
11713
+ disabled: disabledButton,
11714
+ onClick: (e) => {
11715
+ e.stopPropagation();
11716
+ onAddToCart?.();
11717
+ },
11718
+ children: ctaLabel
11719
+ }
11720
+ ) })
11721
+ ]
11722
+ }
11723
+ )
11732
11724
  );
11733
11725
  ProductCard.displayName = "ProductCard";
11734
11726
  var COLLAPSE_AT = "480px";