@szymonpiatek/designsystem 0.0.13 → 0.0.15

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.js CHANGED
@@ -194,14 +194,32 @@ function getVariantStyles(variant, theme) {
194
194
  }
195
195
  }
196
196
  var StyledCard = styled("div", {
197
- shouldForwardProp: (prop) => !["$variant", "$padding", "$rounded"].includes(prop)
198
- })(({ theme, $variant, $padding, $rounded }) => ({
197
+ shouldForwardProp: (prop) => !["$variant", "$padding", "$rounded", "$hoverEffect"].includes(prop)
198
+ })(({ theme, $variant, $padding, $rounded, $hoverEffect }) => ({
199
199
  padding: paddingMap[$padding],
200
200
  borderRadius: roundedMap[$rounded],
201
- ...getVariantStyles($variant, theme)
201
+ ...getVariantStyles($variant, theme),
202
+ ...$hoverEffect && {
203
+ cursor: "pointer",
204
+ transition: "box-shadow 150ms ease, transform 150ms ease",
205
+ "&:hover": {
206
+ boxShadow: theme.shadows[4],
207
+ transform: "translateY(-2px)"
208
+ }
209
+ }
202
210
  }));
203
211
  var Card = forwardRef(
204
- ({ variant = "default", padding = "md", rounded = "lg", ...props }, ref) => /* @__PURE__ */ jsx(StyledCard, { ref, $variant: variant, $padding: padding, $rounded: rounded, ...props })
212
+ ({ variant = "default", padding = "md", rounded = "lg", hoverEffect = false, ...props }, ref) => /* @__PURE__ */ jsx(
213
+ StyledCard,
214
+ {
215
+ ref,
216
+ $variant: variant,
217
+ $padding: padding,
218
+ $rounded: rounded,
219
+ $hoverEffect: hoverEffect,
220
+ ...props
221
+ }
222
+ )
205
223
  );
206
224
  Card.displayName = "Card";
207
225
  var cardVariants = [
@@ -496,14 +514,16 @@ var Accordion = forwardRef(
496
514
  Accordion.displayName = "Accordion";
497
515
  var accordionVariants = ["default", "bordered", "separated"];
498
516
  var iconSizeMap = {
499
- sm: 18,
500
- md: 20,
501
- lg: 24
517
+ sm: 16,
518
+ md: 18,
519
+ lg: 20,
520
+ xl: 24
502
521
  };
503
522
  var sizeMap3 = {
504
- sm: { height: "2rem", paddingInline: "0.75rem", fontSize: "0.75rem", gap: "0.25rem" },
505
- md: { height: "2.5rem", paddingInline: "1.25rem", fontSize: "0.875rem", gap: "0.375rem" },
506
- lg: { height: "3rem", paddingInline: "1.75rem", fontSize: "1rem", gap: "0.5rem" }
523
+ sm: { height: "1.625rem", paddingInline: "0.5rem", fontSize: "0.625rem", gap: "0.125rem" },
524
+ md: { height: "2rem", paddingInline: "0.75rem", fontSize: "0.75rem", gap: "0.25rem" },
525
+ lg: { height: "2.5rem", paddingInline: "1.25rem", fontSize: "0.875rem", gap: "0.375rem" },
526
+ xl: { height: "3rem", paddingInline: "1.75rem", fontSize: "1rem", gap: "0.5rem" }
507
527
  };
508
528
  var variantStyles = {
509
529
  primary: (theme) => ({
@@ -634,25 +654,28 @@ var Button = forwardRef(
634
654
  )
635
655
  );
636
656
  Button.displayName = "Button";
637
- var StyledButton2 = styled(Button)(({ theme }) => ({
657
+ var StyledButton2 = styled(Button)(({ theme, $variant }) => ({
638
658
  border: "none",
639
659
  borderRadius: "0.375rem",
640
- color: theme.palette.text.secondary,
641
- "&:hover:not(:disabled)": {
642
- backgroundColor: theme.palette.action.hover,
643
- color: theme.palette.text.primary
644
- },
645
- "&:active:not(:disabled)": {
646
- filter: "none",
647
- backgroundColor: theme.palette.action.selected
648
- }
660
+ ...$variant === "ghost" || $variant === "text" ? {
661
+ color: theme.palette.text.secondary,
662
+ "&:hover:not(:disabled)": {
663
+ backgroundColor: theme.palette.action.hover,
664
+ color: theme.palette.text.primary
665
+ },
666
+ "&:active:not(:disabled)": {
667
+ filter: "none",
668
+ backgroundColor: theme.palette.action.selected
669
+ }
670
+ } : {}
649
671
  }));
650
672
  var CloseButton = forwardRef(
651
- ({ "aria-label": ariaLabel = "Zamknij", size = "sm", ...props }, ref) => /* @__PURE__ */ jsx(
673
+ ({ "aria-label": ariaLabel = "Zamknij", size = "sm", variant = "ghost", ...props }, ref) => /* @__PURE__ */ jsx(
652
674
  StyledButton2,
653
675
  {
654
676
  ref,
655
- variant: "ghost",
677
+ variant,
678
+ $variant: variant,
656
679
  shape: "square",
657
680
  size,
658
681
  startIcon: /* @__PURE__ */ jsx(CloseIcon, { "aria-hidden": true, style: { fontSize: "inherit" } }),
@@ -1020,7 +1043,7 @@ var ContextMenu = forwardRef(
1020
1043
  }
1021
1044
  );
1022
1045
  ContextMenu.displayName = "ContextMenu";
1023
- var sizeMap4 = { sm: "1em", md: "1.25em", lg: "1.75em" };
1046
+ var sizeMap4 = { sm: "1em", md: "1.25em", lg: "1.75em", xl: "2.25em" };
1024
1047
  var toFlagEmoji = (code) => code.toUpperCase().replace(/[A-Z]/g, (char) => String.fromCodePoint(127462 + char.charCodeAt(0) - 65));
1025
1048
  var CountryFlag = ({ countryCode, size = "md", style, ...rest }) => /* @__PURE__ */ jsx(
1026
1049
  "span",
@@ -1076,12 +1099,14 @@ EmptyState.displayName = "EmptyState";
1076
1099
  var inputSizeMap = {
1077
1100
  sm: { padding: "0.25rem 0.5rem", fontSize: "0.75rem", gap: "0.25rem" },
1078
1101
  md: { padding: "0.375rem 0.75rem", fontSize: "0.875rem", gap: "0.375rem" },
1079
- lg: { padding: "0.5rem 1rem", fontSize: "1rem", gap: "0.5rem" }
1102
+ lg: { padding: "0.5rem 1rem", fontSize: "1rem", gap: "0.5rem" },
1103
+ xl: { padding: "0.625rem 1.25rem", fontSize: "1.125rem", gap: "0.625rem" }
1080
1104
  };
1081
1105
  var inputHeightMap = {
1082
1106
  sm: "26px",
1083
1107
  md: "32px",
1084
- lg: "38.5px"
1108
+ lg: "40px",
1109
+ xl: "48px"
1085
1110
  };
1086
1111
  var DropdownPanel = styled("div")(({ theme }) => ({
1087
1112
  position: "absolute",
@@ -1097,7 +1122,8 @@ var Chevron = () => /* @__PURE__ */ jsx(ExpandMoreIcon, { "aria-hidden": true, s
1097
1122
  var labelSizeMap = {
1098
1123
  sm: "0.625rem",
1099
1124
  md: "0.75rem",
1100
- lg: "0.875rem"
1125
+ lg: "0.875rem",
1126
+ xl: "1rem"
1101
1127
  };
1102
1128
  var StyledLabel = styled("label")(({ theme, $error, $size }) => ({
1103
1129
  display: "block",
@@ -1107,7 +1133,16 @@ var StyledLabel = styled("label")(({ theme, $error, $size }) => ({
1107
1133
  fontFamily: theme.typography.fontFamily,
1108
1134
  color: $error ? theme.palette.error.main : theme.palette.text.primary
1109
1135
  }));
1110
- var Label = ({ error = false, size = "md", children, ...rest }) => /* @__PURE__ */ jsx(StyledLabel, { $error: error, $size: size, ...rest, children });
1136
+ var RequiredAsterisk = styled("span")(({ theme }) => ({
1137
+ marginLeft: "0.2em",
1138
+ color: theme.palette.error.main,
1139
+ fontWeight: 600,
1140
+ lineHeight: 1
1141
+ }));
1142
+ var Label = ({ error = false, size = "md", required, children, ...rest }) => /* @__PURE__ */ jsxs(StyledLabel, { $error: error, $size: size, ...rest, children: [
1143
+ children,
1144
+ required && /* @__PURE__ */ jsx(RequiredAsterisk, { "aria-hidden": "true", children: "*" })
1145
+ ] });
1111
1146
  Label.displayName = "Label";
1112
1147
  var StyledHelperText = styled("p")(({ theme, $error }) => ({
1113
1148
  margin: "0.25rem 0 0",
@@ -1187,13 +1222,14 @@ var BaseInput = forwardRef(
1187
1222
  startAdornment,
1188
1223
  endAdornment,
1189
1224
  disabled = false,
1225
+ required,
1190
1226
  id,
1191
1227
  ...rest
1192
1228
  }, ref) => {
1193
1229
  const autoId = useId();
1194
1230
  const inputId = id ?? autoId;
1195
1231
  return /* @__PURE__ */ jsxs(Root5, { $fullWidth: fullWidth, children: [
1196
- label && /* @__PURE__ */ jsx(Label, { htmlFor: inputId, error, size, children: label }),
1232
+ label && /* @__PURE__ */ jsx(Label, { htmlFor: inputId, error, size, required, children: label }),
1197
1233
  /* @__PURE__ */ jsxs(
1198
1234
  InputWrapper,
1199
1235
  {
@@ -1204,7 +1240,7 @@ var BaseInput = forwardRef(
1204
1240
  "data-disabled": disabled || void 0,
1205
1241
  children: [
1206
1242
  startAdornment && /* @__PURE__ */ jsx(Adornment, { children: startAdornment }),
1207
- /* @__PURE__ */ jsx(StyledInput, { ref, id: inputId, disabled, ...rest }),
1243
+ /* @__PURE__ */ jsx(StyledInput, { ref, id: inputId, disabled, required, ...rest }),
1208
1244
  endAdornment && /* @__PURE__ */ jsx(Adornment, { children: endAdornment })
1209
1245
  ]
1210
1246
  }
@@ -1217,12 +1253,14 @@ BaseInput.displayName = "BaseInput";
1217
1253
  var checkboxSizeMap = {
1218
1254
  sm: "14px",
1219
1255
  md: "16px",
1220
- lg: "20px"
1256
+ lg: "20px",
1257
+ xl: "24px"
1221
1258
  };
1222
1259
  var labelFontSizeMap = {
1223
1260
  sm: "0.75rem",
1224
1261
  md: "0.875rem",
1225
- lg: "1rem"
1262
+ lg: "1rem",
1263
+ xl: "1.125rem"
1226
1264
  };
1227
1265
  var checkedColor = (theme, error) => error ? theme.palette.error.main : theme.palette.primary.main;
1228
1266
  var Box = styled("span")(({ theme, $size, $error, $disabled }) => ({
@@ -1296,6 +1334,12 @@ var LabelText = styled("span")(
1296
1334
  userSelect: "none"
1297
1335
  })
1298
1336
  );
1337
+ var RequiredAsterisk2 = styled("span")(({ theme }) => ({
1338
+ marginLeft: "0.2em",
1339
+ color: theme.palette.error.main,
1340
+ fontWeight: 600,
1341
+ lineHeight: 1
1342
+ }));
1299
1343
  var Root6 = styled("span")(({ $disabled }) => ({
1300
1344
  display: "inline-flex",
1301
1345
  flexDirection: "column",
@@ -1309,6 +1353,7 @@ var CheckboxInput = forwardRef(
1309
1353
  size = "md",
1310
1354
  disabled = false,
1311
1355
  indeterminate = false,
1356
+ required,
1312
1357
  id,
1313
1358
  ...rest
1314
1359
  }, ref) => {
@@ -1334,10 +1379,14 @@ var CheckboxInput = forwardRef(
1334
1379
  id: inputId,
1335
1380
  type: "checkbox",
1336
1381
  disabled,
1382
+ required,
1337
1383
  ...rest
1338
1384
  }
1339
1385
  ) }),
1340
- label && /* @__PURE__ */ jsx(LabelText, { $size: size, $disabled: disabled, $error: error, children: label })
1386
+ label && /* @__PURE__ */ jsxs(LabelText, { $size: size, $disabled: disabled, $error: error, children: [
1387
+ label,
1388
+ required && /* @__PURE__ */ jsx(RequiredAsterisk2, { "aria-hidden": "true", children: "*" })
1389
+ ] })
1341
1390
  ] }),
1342
1391
  helperText && /* @__PURE__ */ jsx(HelperText, { error, children: helperText })
1343
1392
  ] });
@@ -1347,12 +1396,14 @@ CheckboxInput.displayName = "CheckboxInput";
1347
1396
  var radioSizeMap = {
1348
1397
  sm: "14px",
1349
1398
  md: "16px",
1350
- lg: "20px"
1399
+ lg: "20px",
1400
+ xl: "24px"
1351
1401
  };
1352
1402
  var labelFontSizeMap2 = {
1353
1403
  sm: "0.75rem",
1354
1404
  md: "0.875rem",
1355
- lg: "1rem"
1405
+ lg: "1rem",
1406
+ xl: "1.125rem"
1356
1407
  };
1357
1408
  var checkedColor2 = (theme, error) => error ? theme.palette.error.main : theme.palette.primary.main;
1358
1409
  var Circle = styled("span")(({ theme, $size, $error, $disabled }) => ({
@@ -1406,19 +1457,28 @@ var LabelText2 = styled("span")(
1406
1457
  userSelect: "none"
1407
1458
  })
1408
1459
  );
1460
+ var RequiredAsterisk3 = styled("span")(({ theme }) => ({
1461
+ marginLeft: "0.2em",
1462
+ color: theme.palette.error.main,
1463
+ fontWeight: 600,
1464
+ lineHeight: 1
1465
+ }));
1409
1466
  var Root7 = styled("span")(({ $disabled }) => ({
1410
1467
  display: "inline-flex",
1411
1468
  flexDirection: "column",
1412
1469
  cursor: $disabled ? "not-allowed" : "pointer"
1413
1470
  }));
1414
1471
  var RadioInput = forwardRef(
1415
- ({ label, helperText, error = false, size = "md", disabled = false, id, ...rest }, ref) => {
1472
+ ({ label, helperText, error = false, size = "md", disabled = false, required, id, ...rest }, ref) => {
1416
1473
  const autoId = useId();
1417
1474
  const inputId = id ?? autoId;
1418
1475
  return /* @__PURE__ */ jsxs(Root7, { $disabled: disabled, children: [
1419
1476
  /* @__PURE__ */ jsxs(Row2, { htmlFor: inputId, children: [
1420
- /* @__PURE__ */ jsx(Circle, { $size: size, $error: error, $disabled: disabled, children: /* @__PURE__ */ jsx(HiddenInput2, { ref, id: inputId, type: "radio", disabled, ...rest }) }),
1421
- label && /* @__PURE__ */ jsx(LabelText2, { $size: size, $disabled: disabled, $error: error, children: label })
1477
+ /* @__PURE__ */ jsx(Circle, { $size: size, $error: error, $disabled: disabled, children: /* @__PURE__ */ jsx(HiddenInput2, { ref, id: inputId, type: "radio", disabled, required, ...rest }) }),
1478
+ label && /* @__PURE__ */ jsxs(LabelText2, { $size: size, $disabled: disabled, $error: error, children: [
1479
+ label,
1480
+ required && /* @__PURE__ */ jsx(RequiredAsterisk3, { "aria-hidden": "true", children: "*" })
1481
+ ] })
1422
1482
  ] }),
1423
1483
  helperText && /* @__PURE__ */ jsx(HelperText, { error, children: helperText })
1424
1484
  ] });
@@ -1604,6 +1664,15 @@ var dropzoneSizes = {
1604
1664
  fontSize: "1rem",
1605
1665
  subFontSize: "0.875rem",
1606
1666
  gap: "0.625rem"
1667
+ },
1668
+ xl: {
1669
+ minHeight: "220px",
1670
+ padding: "2.5rem",
1671
+ iconSize: 32,
1672
+ circleSize: "4.25rem",
1673
+ fontSize: "1.125rem",
1674
+ subFontSize: "1rem",
1675
+ gap: "0.75rem"
1607
1676
  }
1608
1677
  };
1609
1678
  var DropzoneArea = styled("div")(({ theme, $size, $fullWidth, $error, $disabled, $isDragging, $hasFile }) => {
@@ -2254,6 +2323,7 @@ var BaseSelectInput = ({
2254
2323
  size = "md",
2255
2324
  fullWidth = false,
2256
2325
  disabled = false,
2326
+ required,
2257
2327
  id
2258
2328
  }) => {
2259
2329
  const checkSelected = isSelected ?? ((option) => option.value === value);
@@ -2290,7 +2360,7 @@ var BaseSelectInput = ({
2290
2360
  const selectedLabel = options.find((o) => o.value === value)?.label;
2291
2361
  const defaultTriggerContent = /* @__PURE__ */ jsx("span", { style: { opacity: selectedLabel ? 1 : 0.5 }, children: selectedLabel ?? placeholder });
2292
2362
  return /* @__PURE__ */ jsxs(Root9, { $fullWidth: fullWidth, ref: rootRef, children: [
2293
- label && /* @__PURE__ */ jsx(Label, { htmlFor: inputId, error, size, children: label }),
2363
+ label && /* @__PURE__ */ jsx(Label, { htmlFor: inputId, error, size, required, children: label }),
2294
2364
  /* @__PURE__ */ jsxs(
2295
2365
  Trigger2,
2296
2366
  {
@@ -2605,13 +2675,14 @@ var TextareaInput = forwardRef(
2605
2675
  fullWidth = false,
2606
2676
  rows = 4,
2607
2677
  disabled = false,
2678
+ required,
2608
2679
  id,
2609
2680
  ...rest
2610
2681
  }, ref) => {
2611
2682
  const autoId = useId();
2612
2683
  const inputId = id ?? autoId;
2613
2684
  return /* @__PURE__ */ jsxs(Root10, { $fullWidth: fullWidth, children: [
2614
- label && /* @__PURE__ */ jsx(Label, { htmlFor: inputId, error, size, children: label }),
2685
+ label && /* @__PURE__ */ jsx(Label, { htmlFor: inputId, error, size, required, children: label }),
2615
2686
  /* @__PURE__ */ jsx(
2616
2687
  StyledTextarea,
2617
2688
  {
@@ -2619,6 +2690,7 @@ var TextareaInput = forwardRef(
2619
2690
  id: inputId,
2620
2691
  rows,
2621
2692
  disabled,
2693
+ required,
2622
2694
  $size: size,
2623
2695
  $fullWidth: fullWidth,
2624
2696
  $error: error,
@@ -4587,10 +4659,10 @@ var TextInput = forwardRef(
4587
4659
  ({ type = "text", ...rest }, ref) => /* @__PURE__ */ jsx(BaseInput, { ref, type, ...rest })
4588
4660
  );
4589
4661
  TextInput.displayName = "TextInput";
4590
- var TRACK_W = { sm: "1.75rem", md: "2.25rem", lg: "2.75rem" };
4591
- var TRACK_H = { sm: "1rem", md: "1.25rem", lg: "1.5rem" };
4592
- var THUMB_S = { sm: "0.75rem", md: "1rem", lg: "1.25rem" };
4593
- var FONT_S = { sm: "0.75rem", md: "0.875rem", lg: "1rem" };
4662
+ var TRACK_W = { sm: "1.75rem", md: "2.25rem", lg: "2.75rem", xl: "3.25rem" };
4663
+ var TRACK_H = { sm: "1rem", md: "1.25rem", lg: "1.5rem", xl: "1.75rem" };
4664
+ var THUMB_S = { sm: "0.75rem", md: "1rem", lg: "1.25rem", xl: "1.5rem" };
4665
+ var FONT_S = { sm: "0.75rem", md: "0.875rem", lg: "1rem", xl: "1.125rem" };
4594
4666
  function getActiveColor(color, theme) {
4595
4667
  switch (color) {
4596
4668
  case "secondary":
@@ -6737,15 +6809,15 @@ function CookieConsent({
6737
6809
  Button,
6738
6810
  {
6739
6811
  variant: "text",
6740
- size: "sm",
6812
+ size: "md",
6741
6813
  "aria-expanded": expanded,
6742
6814
  "aria-controls": `${id}-panel`,
6743
6815
  onClick: () => setExpanded((v) => !v),
6744
6816
  children: manageLabel
6745
6817
  }
6746
6818
  ),
6747
- /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", onClick: handleRejectAll, children: rejectLabel }),
6748
- /* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", onClick: handleAcceptAll, children: acceptAllLabel })
6819
+ /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "md", onClick: handleRejectAll, children: rejectLabel }),
6820
+ /* @__PURE__ */ jsx(Button, { variant: "primary", size: "md", onClick: handleAcceptAll, children: acceptAllLabel })
6749
6821
  ] })
6750
6822
  ] }),
6751
6823
  expanded && /* @__PURE__ */ jsxs(Panel3, { id: `${id}-panel`, role: "group", "aria-label": "Kategorie plik\xF3w cookie", children: [
@@ -6768,7 +6840,7 @@ function CookieConsent({
6768
6840
  }
6769
6841
  )
6770
6842
  ] }, cat.id)),
6771
- /* @__PURE__ */ jsx(SaveRow, { children: /* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", onClick: handleSave, children: saveLabel }) })
6843
+ /* @__PURE__ */ jsx(SaveRow, { children: /* @__PURE__ */ jsx(Button, { variant: "primary", size: "md", onClick: handleSave, children: saveLabel }) })
6772
6844
  ] })
6773
6845
  ] }) }),
6774
6846
  document.body
@@ -6866,7 +6938,7 @@ function CommentActions({ commentId, onReply, onShare }) {
6866
6938
  onClick: () => onReply?.(commentId),
6867
6939
  variant: "text",
6868
6940
  startIcon: /* @__PURE__ */ jsx(ReplyIcon, { style: { fontSize: "inherit" } }),
6869
- size: "sm",
6941
+ size: "md",
6870
6942
  children: "Odpowiedz"
6871
6943
  }
6872
6944
  ),
@@ -6878,7 +6950,7 @@ function CommentActions({ commentId, onReply, onShare }) {
6878
6950
  onClick: () => onShare?.(commentId),
6879
6951
  variant: "text",
6880
6952
  startIcon: /* @__PURE__ */ jsx(ReplyIcon, { style: { fontSize: "inherit" } }),
6881
- size: "sm",
6953
+ size: "md",
6882
6954
  children: "Udost\u0119pnij"
6883
6955
  }
6884
6956
  )
@@ -7443,7 +7515,7 @@ var NewsletterSection = forwardRef(
7443
7515
  "aria-label": inputPlaceholder
7444
7516
  }
7445
7517
  ),
7446
- /* @__PURE__ */ jsx(Button, { type: "submit", variant: "primary", size: "md", children: submitLabel })
7518
+ /* @__PURE__ */ jsx(Button, { type: "submit", variant: "primary", size: "lg", children: submitLabel })
7447
7519
  ] }),
7448
7520
  privacyNote && /* @__PURE__ */ jsx(PrivacyNote, { children: privacyNote })
7449
7521
  ] });
@@ -9570,25 +9642,12 @@ var Nav2 = styled("nav")({
9570
9642
  display: "none"
9571
9643
  }
9572
9644
  });
9573
- var NavLink = styled("a", {
9645
+ var NavButton2 = styled(Button, {
9574
9646
  shouldForwardProp: (p) => p !== "$active"
9575
9647
  })(({ theme, $active }) => ({
9576
- padding: "0.375rem 0.75rem",
9577
- borderRadius: theme.shape.borderRadius,
9578
- fontFamily: theme.typography.fontFamily,
9579
9648
  fontSize: "0.9375rem",
9580
9649
  fontWeight: $active ? 600 : 400,
9581
- color: $active ? theme.palette.primary.main : theme.palette.text.primary,
9582
- textDecoration: "none",
9583
- transition: "background-color 150ms ease, color 150ms ease",
9584
- "&:hover": {
9585
- backgroundColor: theme.palette.action.hover,
9586
- color: theme.palette.primary.main
9587
- },
9588
- "&:focus-visible": {
9589
- outline: `3px solid ${theme.palette.primary.main}`,
9590
- outlineOffset: "2px"
9591
- }
9650
+ color: $active ? theme.palette.primary.main : theme.palette.text.primary
9592
9651
  }));
9593
9652
  var RightSlot = styled("div")({
9594
9653
  marginLeft: "auto",
@@ -9616,20 +9675,14 @@ var MobileDrawer = styled("div", {
9616
9675
  display: "none"
9617
9676
  }
9618
9677
  }));
9619
- var MobileNavLink = styled("a", {
9678
+ var MobileNavButton = styled(Button, {
9620
9679
  shouldForwardProp: (p) => p !== "$active"
9621
9680
  })(({ theme, $active }) => ({
9622
- padding: "0.625rem 0.75rem",
9623
- borderRadius: theme.shape.borderRadius,
9624
- fontFamily: theme.typography.fontFamily,
9625
9681
  fontSize: "1rem",
9626
9682
  fontWeight: $active ? 600 : 400,
9627
9683
  color: $active ? theme.palette.primary.main : theme.palette.text.primary,
9628
- textDecoration: "none",
9629
- transition: "background-color 150ms ease",
9630
- "&:hover": {
9631
- backgroundColor: theme.palette.action.hover
9632
- }
9684
+ justifyContent: "flex-start",
9685
+ width: "100%"
9633
9686
  }));
9634
9687
  function HamburgerIcon({ open }) {
9635
9688
  return open ? /* @__PURE__ */ jsx(CloseIcon, { "aria-hidden": "true", style: { fontSize: "inherit" } }) : /* @__PURE__ */ jsx(MenuIcon, { "aria-hidden": "true", style: { fontSize: "inherit" } });
@@ -9652,7 +9705,17 @@ function Navbar({
9652
9705
  style: { height: "3.75rem", display: "flex", alignItems: "center", gap: "1.5rem" },
9653
9706
  children: [
9654
9707
  logo && /* @__PURE__ */ jsx(LogoSlot, { children: logo }),
9655
- /* @__PURE__ */ jsx(Nav2, { "aria-label": "Nawigacja g\u0142\xF3wna", children: navItems.map((item) => /* @__PURE__ */ jsx(NavLink, { href: item.href, $active: !!item.active, children: item.label }, item.href)) }),
9708
+ /* @__PURE__ */ jsx(Nav2, { "aria-label": "Nawigacja g\u0142\xF3wna", children: navItems.map((item) => /* @__PURE__ */ jsx(
9709
+ NavButton2,
9710
+ {
9711
+ variant: "text",
9712
+ $active: !!item.active,
9713
+ "aria-current": item.active ? "page" : void 0,
9714
+ onClick: () => window.location.assign(item.href),
9715
+ children: item.label
9716
+ },
9717
+ item.href
9718
+ )) }),
9656
9719
  (actions || navItems.length > 0) && /* @__PURE__ */ jsxs(RightSlot, { children: [
9657
9720
  actions,
9658
9721
  navItems.length > 0 && /* @__PURE__ */ jsx(
@@ -9660,7 +9723,7 @@ function Navbar({
9660
9723
  {
9661
9724
  variant: "primary",
9662
9725
  shape: "square",
9663
- size: "sm",
9726
+ size: "md",
9664
9727
  "aria-label": mobileOpen ? "Zamknij menu" : "Otw\xF3rz menu",
9665
9728
  "aria-expanded": mobileOpen,
9666
9729
  onClick: () => setMobileOpen((v) => !v),
@@ -9671,49 +9734,99 @@ function Navbar({
9671
9734
  ]
9672
9735
  }
9673
9736
  ),
9674
- navItems.length > 0 && /* @__PURE__ */ jsx(MobileDrawer, { $open: mobileOpen, "aria-label": "Menu mobilne", children: /* @__PURE__ */ jsx(Container, { maxWidth, children: navItems.map((item) => /* @__PURE__ */ jsx(MobileNavLink, { href: item.href, $active: !!item.active, children: item.label }, item.href)) }) })
9737
+ navItems.length > 0 && /* @__PURE__ */ jsx(MobileDrawer, { $open: mobileOpen, "aria-label": "Menu mobilne", children: /* @__PURE__ */ jsx(Container, { maxWidth, children: navItems.map((item) => /* @__PURE__ */ jsx(
9738
+ MobileNavButton,
9739
+ {
9740
+ variant: "text",
9741
+ $active: !!item.active,
9742
+ "aria-current": item.active ? "page" : void 0,
9743
+ onClick: () => window.location.assign(item.href),
9744
+ children: item.label
9745
+ },
9746
+ item.href
9747
+ )) }) })
9675
9748
  ] });
9676
9749
  }
9677
9750
  var sizeOverrides = {
9678
9751
  sm: { minWidth: "1.75rem", height: "1.75rem" },
9679
9752
  md: { minWidth: "2rem", height: "2rem" },
9680
- lg: { minWidth: "2.5rem", height: "2.5rem" }
9753
+ lg: { minWidth: "2.5rem", height: "2.5rem" },
9754
+ xl: { minWidth: "3rem", height: "3rem" }
9681
9755
  };
9682
- var activeStyles = (theme) => ({
9683
- backgroundColor: theme.palette.primary.main,
9684
- color: theme.palette.primary.contrastText,
9685
- fontWeight: 700,
9686
- "&:hover:not(:disabled)": { backgroundColor: theme.palette.primary.dark },
9687
- "&:active:not(:disabled)": { filter: "none" }
9688
- });
9689
- var idleStyles = (theme) => ({
9690
- backgroundColor: "transparent",
9691
- color: theme.palette.text.primary,
9692
- fontWeight: 400,
9693
- "&:hover:not(:disabled)": { backgroundColor: alpha(theme.palette.primary.main, 0.08) },
9694
- "&:active:not(:disabled)": { backgroundColor: alpha(theme.palette.primary.main, 0.16) }
9695
- });
9696
- var StyledButton3 = styled(Button)(
9697
- ({ theme, $isActive, $btnSize }) => ({
9756
+ var activeStyles = (theme, variant) => {
9757
+ if (variant === "secondary") {
9758
+ return {
9759
+ backgroundColor: theme.palette.secondary.main,
9760
+ color: theme.palette.secondary.contrastText,
9761
+ fontWeight: 700,
9762
+ "&:hover:not(:disabled)": { backgroundColor: theme.palette.secondary.dark },
9763
+ "&:active:not(:disabled)": { filter: "none" }
9764
+ };
9765
+ }
9766
+ if (variant === "danger") {
9767
+ return {
9768
+ backgroundColor: theme.palette.error.main,
9769
+ color: theme.palette.error.contrastText,
9770
+ fontWeight: 700,
9771
+ "&:hover:not(:disabled)": { backgroundColor: theme.palette.error.dark },
9772
+ "&:active:not(:disabled)": { filter: "none" }
9773
+ };
9774
+ }
9775
+ if (variant === "primary") {
9776
+ return {
9777
+ fontWeight: 700,
9778
+ "&:active:not(:disabled)": { filter: "none" }
9779
+ };
9780
+ }
9781
+ return {
9782
+ backgroundColor: theme.palette.primary.main,
9783
+ color: theme.palette.primary.contrastText,
9784
+ fontWeight: 700,
9785
+ "&:hover:not(:disabled)": { backgroundColor: theme.palette.primary.dark },
9786
+ "&:active:not(:disabled)": { filter: "none" }
9787
+ };
9788
+ };
9789
+ var idleStyles = (theme, variant) => {
9790
+ if (variant !== "ghost" && variant !== "text") {
9791
+ return {};
9792
+ }
9793
+ return {
9794
+ backgroundColor: "transparent",
9795
+ color: theme.palette.text.primary,
9698
9796
  border: "none",
9699
- borderRadius: theme.shape.borderRadius,
9700
- padding: "0 0.25rem",
9701
- lineHeight: 1,
9702
- ...sizeOverrides[$btnSize],
9703
- ...$isActive ? activeStyles(theme) : idleStyles(theme)
9704
- })
9705
- );
9797
+ fontWeight: 400,
9798
+ "&:hover:not(:disabled)": { backgroundColor: alpha(theme.palette.primary.main, 0.08) },
9799
+ "&:active:not(:disabled)": { backgroundColor: alpha(theme.palette.primary.main, 0.16) }
9800
+ };
9801
+ };
9802
+ var StyledButton3 = styled(Button)(({ theme, $isActive, $btnSize, $variant }) => ({
9803
+ border: "none",
9804
+ borderRadius: theme.shape.borderRadius,
9805
+ padding: "0 0.25rem",
9806
+ lineHeight: 1,
9807
+ ...sizeOverrides[$btnSize],
9808
+ ...$isActive ? activeStyles(theme, $variant) : idleStyles(theme, $variant)
9809
+ }));
9706
9810
  var PaginationButton = forwardRef(
9707
- ({ onClick, isActive = false, disabled = false, size = "md", children, "aria-label": ariaLabel }, ref) => /* @__PURE__ */ jsx(
9811
+ ({
9812
+ onClick,
9813
+ isActive = false,
9814
+ disabled = false,
9815
+ size = "md",
9816
+ variant = "ghost",
9817
+ children,
9818
+ "aria-label": ariaLabel
9819
+ }, ref) => /* @__PURE__ */ jsx(
9708
9820
  StyledButton3,
9709
9821
  {
9710
9822
  ref,
9711
- variant: "ghost",
9823
+ variant,
9712
9824
  size,
9713
9825
  disabled,
9714
9826
  onClick,
9715
9827
  $isActive: isActive,
9716
9828
  $btnSize: size,
9829
+ $variant: variant,
9717
9830
  "aria-label": ariaLabel,
9718
9831
  "aria-current": isActive ? "page" : void 0,
9719
9832
  children
@@ -9830,7 +9943,8 @@ PaginationBar.displayName = "PaginationBar";
9830
9943
  var sizeMap6 = {
9831
9944
  sm: { minWidth: "1.75rem", height: "1.75rem", fontSize: "0.75rem" },
9832
9945
  md: { minWidth: "2rem", height: "2rem", fontSize: "0.875rem" },
9833
- lg: { minWidth: "2.5rem", height: "2.5rem", fontSize: "1rem" }
9946
+ lg: { minWidth: "2.5rem", height: "2.5rem", fontSize: "1rem" },
9947
+ xl: { minWidth: "3rem", height: "3rem", fontSize: "1.125rem" }
9834
9948
  };
9835
9949
  var StyledEllipsis = styled("span")(({ theme, $size }) => ({
9836
9950
  display: "inline-flex",
@@ -10191,13 +10305,24 @@ var Badge2 = styled("span")(({ theme }) => ({
10191
10305
  lineHeight: 1
10192
10306
  }));
10193
10307
  var CartButton = forwardRef(
10194
- ({ count, size = "sm", label = "Koszyk", disabled, onClick, className, "aria-label": ariaLabel }, ref) => /* @__PURE__ */ jsxs(Root36, { className, children: [
10308
+ ({
10309
+ count,
10310
+ size = "sm",
10311
+ shape,
10312
+ variant = "ghost",
10313
+ label = "Koszyk",
10314
+ disabled,
10315
+ onClick,
10316
+ className,
10317
+ "aria-label": ariaLabel
10318
+ }, ref) => /* @__PURE__ */ jsxs(Root36, { className, children: [
10195
10319
  /* @__PURE__ */ jsx(
10196
10320
  Button,
10197
10321
  {
10198
10322
  ref,
10199
- variant: "ghost",
10323
+ variant,
10200
10324
  size,
10325
+ shape,
10201
10326
  disabled,
10202
10327
  onClick,
10203
10328
  "aria-label": ariaLabel ?? (count ? `${label} (${count})` : label),
@@ -10250,12 +10375,14 @@ ProductCardImage.displayName = "ProductCardImage";
10250
10375
  var controlWidthMap = {
10251
10376
  sm: "26px",
10252
10377
  md: "32px",
10253
- lg: "38.5px"
10378
+ lg: "40px",
10379
+ xl: "48px"
10254
10380
  };
10255
10381
  var valueWidthMap = {
10256
10382
  sm: "2rem",
10257
10383
  md: "2.5rem",
10258
- lg: "3rem"
10384
+ lg: "3rem",
10385
+ xl: "3.5rem"
10259
10386
  };
10260
10387
  var Root37 = styled("div", { shouldForwardProp: (p) => p !== "size" })(
10261
10388
  ({ theme, size }) => ({
@@ -10595,17 +10722,11 @@ var CountdownTimer = forwardRef(
10595
10722
  );
10596
10723
  CountdownTimer.displayName = "CountdownTimer";
10597
10724
  var countdownTimerVariants = ["inline", "card", "banner"];
10598
- var Root40 = styled(Card)(({ theme }) => ({
10725
+ var Root40 = styled(Card)({
10599
10726
  display: "flex",
10600
10727
  flexDirection: "column",
10601
- overflow: "hidden",
10602
- cursor: "pointer",
10603
- transition: "box-shadow 150ms ease, transform 150ms ease",
10604
- "&:hover": {
10605
- boxShadow: theme.shadows[4],
10606
- transform: "translateY(-2px)"
10607
- }
10608
- }));
10728
+ overflow: "hidden"
10729
+ });
10609
10730
  var ImageWrap2 = styled("div")({
10610
10731
  margin: "-1.5rem -1.5rem 1rem"
10611
10732
  });
@@ -10621,7 +10742,7 @@ var CategoryCard = forwardRef(
10621
10742
  /* @__PURE__ */ jsx(ImageWrap2, { children: /* @__PURE__ */ jsx(CategoryCardImage, { src: imageUrl, alt: imageAlt ?? name }) }),
10622
10743
  /* @__PURE__ */ jsx(CategoryCardInfo, { name, count })
10623
10744
  ] });
10624
- return /* @__PURE__ */ jsx(Root40, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: href ? /* @__PURE__ */ jsx(CardLink2, { href, children: content }) : content });
10745
+ return /* @__PURE__ */ jsx(Root40, { ref, variant: "default", padding: "md", rounded: "lg", hoverEffect: true, ...props, children: href ? /* @__PURE__ */ jsx(CardLink2, { href, children: content }) : content });
10625
10746
  }
10626
10747
  );
10627
10748
  CategoryCard.displayName = "CategoryCard";
@@ -10844,100 +10965,22 @@ function CompareTool({
10844
10965
  }) })
10845
10966
  ] }) });
10846
10967
  }
10847
- var spin2 = keyframes$1`to { transform: rotate(360deg); }`;
10848
10968
  var Root42 = styled("div")({
10849
10969
  display: "flex",
10850
10970
  flexDirection: "column",
10851
10971
  gap: "0.5rem"
10852
10972
  });
10853
- var InputRow2 = styled("div", {
10854
- shouldForwardProp: (p) => p !== "$hasError" && p !== "$applied"
10855
- })(({ theme, $hasError, $applied }) => ({
10973
+ var InputRow2 = styled("div")({
10856
10974
  display: "flex",
10857
- border: `1.5px solid ${$hasError ? theme.palette.error.main : $applied ? theme.palette.success.main : theme.palette.divider}`,
10858
- borderRadius: "0.5rem",
10859
- overflow: "hidden",
10860
- transition: "border-color 150ms ease",
10861
- "&:focus-within": {
10862
- borderColor: $hasError ? theme.palette.error.main : $applied ? theme.palette.success.main : theme.palette.primary.main,
10863
- boxShadow: `0 0 0 3px ${$hasError ? `${theme.palette.error.main}22` : $applied ? `${theme.palette.success.main}22` : `${theme.palette.primary.main}22`}`
10864
- }
10865
- }));
10866
- var Input = styled("input")(({ theme }) => ({
10867
- flex: 1,
10868
- border: "none",
10869
- outline: "none",
10870
- padding: "0.625rem 0.875rem",
10871
- fontFamily: theme.typography.fontFamily,
10872
- fontSize: "0.9375rem",
10873
- color: theme.palette.text.primary,
10874
- backgroundColor: "transparent",
10875
- textTransform: "uppercase",
10876
- letterSpacing: "0.05em",
10877
- "&::placeholder": {
10878
- color: theme.palette.text.disabled,
10879
- textTransform: "none",
10880
- letterSpacing: "normal"
10881
- },
10882
- "&:disabled": {
10883
- cursor: "not-allowed",
10884
- color: theme.palette.text.disabled
10885
- }
10886
- }));
10887
- var ApplyButton = styled("button", {
10888
- shouldForwardProp: (p) => p !== "$applied"
10889
- })(({ theme, $applied }) => ({
10890
- appearance: "none",
10891
- border: "none",
10892
- borderLeft: `1.5px solid ${theme.palette.divider}`,
10893
- padding: "0 1rem",
10894
- cursor: "pointer",
10895
- fontFamily: theme.typography.fontFamily,
10896
- fontSize: "0.875rem",
10897
- fontWeight: 700,
10898
- whiteSpace: "nowrap",
10899
- backgroundColor: $applied ? theme.palette.success.main : theme.palette.primary.main,
10900
- color: $applied ? theme.palette.success.contrastText : theme.palette.primary.contrastText,
10901
- transition: "background-color 150ms ease, opacity 150ms ease",
10902
- "&:hover:not(:disabled)": {
10903
- opacity: 0.88
10904
- },
10905
- "&:disabled": {
10906
- opacity: 0.5,
10907
- cursor: "not-allowed"
10908
- },
10909
- "&:focus-visible": {
10910
- outline: `3px solid ${theme.palette.primary.main}`,
10911
- outlineOffset: "-3px"
10912
- }
10913
- }));
10914
- var Spinner4 = styled("span")({
10915
- display: "inline-block",
10916
- width: "0.875rem",
10917
- height: "0.875rem",
10918
- border: "2px solid rgba(255,255,255,0.3)",
10919
- borderTopColor: "#fff",
10920
- borderRadius: "50%",
10921
- animation: `${spin2} 600ms linear infinite`,
10922
- verticalAlign: "middle"
10975
+ alignItems: "flex-start",
10976
+ gap: "0.5rem"
10923
10977
  });
10924
- var Message = styled("p", {
10925
- shouldForwardProp: (p) => p !== "$type"
10926
- })(({ theme, $type }) => ({
10927
- margin: 0,
10928
- fontSize: "0.8125rem",
10929
- fontFamily: theme.typography.fontFamily,
10930
- color: $type === "error" ? theme.palette.error.main : theme.palette.success.main,
10931
- display: "flex",
10932
- alignItems: "center",
10933
- gap: "0.25rem"
10934
- }));
10935
10978
  var AppliedRow = styled("div")(({ theme }) => ({
10936
10979
  display: "flex",
10937
10980
  alignItems: "center",
10938
10981
  justifyContent: "space-between",
10939
10982
  padding: "0.5rem 0.875rem",
10940
- borderRadius: "0.5rem",
10983
+ borderRadius: theme.shape.borderRadius,
10941
10984
  backgroundColor: `${theme.palette.success.main}14`,
10942
10985
  border: `1.5px solid ${theme.palette.success.main}`
10943
10986
  }));
@@ -10949,22 +10992,14 @@ var AppliedCode = styled("span")(({ theme }) => ({
10949
10992
  textTransform: "uppercase",
10950
10993
  letterSpacing: "0.05em"
10951
10994
  }));
10952
- var RemoveButton2 = styled("button")(({ theme }) => ({
10953
- appearance: "none",
10954
- border: "none",
10955
- background: "none",
10956
- cursor: "pointer",
10957
- fontFamily: theme.typography.fontFamily,
10995
+ var SuccessMessage2 = styled("p")(({ theme }) => ({
10996
+ margin: 0,
10958
10997
  fontSize: "0.8125rem",
10959
- fontWeight: 600,
10960
- color: theme.palette.error.main,
10961
- padding: "0.25rem",
10962
- "&:hover": { textDecoration: "underline" },
10963
- "&:focus-visible": {
10964
- outline: `2px solid ${theme.palette.error.main}`,
10965
- outlineOffset: "2px",
10966
- borderRadius: "3px"
10967
- }
10998
+ fontFamily: theme.typography.fontFamily,
10999
+ color: theme.palette.success.main,
11000
+ display: "flex",
11001
+ alignItems: "center",
11002
+ gap: "0.25rem"
10968
11003
  }));
10969
11004
  function CouponInput({
10970
11005
  value,
@@ -10979,12 +11014,9 @@ function CouponInput({
10979
11014
  disabled = false,
10980
11015
  error,
10981
11016
  successMessage,
11017
+ size = "md",
10982
11018
  className
10983
11019
  }) {
10984
- const id = useId();
10985
- const errorId = `${id}-error`;
10986
- const successId = `${id}-success`;
10987
- const isDisabled = disabled || loading;
10988
11020
  const handleApply = () => {
10989
11021
  if (value.trim()) onApply(value.trim());
10990
11022
  };
@@ -10996,52 +11028,52 @@ function CouponInput({
10996
11028
  /* @__PURE__ */ jsxs(AppliedRow, { role: "status", "aria-label": `Kod rabatowy ${appliedCode} zastosowany`, children: [
10997
11029
  /* @__PURE__ */ jsx(AppliedCode, { children: appliedCode }),
10998
11030
  onRemove && /* @__PURE__ */ jsx(
10999
- RemoveButton2,
11031
+ Button,
11000
11032
  {
11001
- type: "button",
11002
- "aria-label": `${removeLabel} kod ${appliedCode}`,
11033
+ variant: "danger",
11034
+ size: "md",
11003
11035
  onClick: onRemove,
11036
+ "aria-label": `${removeLabel} kod ${appliedCode}`,
11004
11037
  children: removeLabel
11005
11038
  }
11006
11039
  )
11007
11040
  ] }),
11008
- successMessage && /* @__PURE__ */ jsxs(Message, { $type: "success", id: successId, role: "status", children: [
11041
+ successMessage && /* @__PURE__ */ jsxs(SuccessMessage2, { role: "status", children: [
11009
11042
  "\u2713 ",
11010
11043
  successMessage
11011
11044
  ] })
11012
11045
  ] });
11013
11046
  }
11014
- return /* @__PURE__ */ jsxs(Root42, { className, children: [
11015
- /* @__PURE__ */ jsxs(InputRow2, { $hasError: Boolean(error), $applied: false, children: [
11016
- /* @__PURE__ */ jsx(
11017
- Input,
11018
- {
11019
- id,
11020
- type: "text",
11021
- value,
11022
- placeholder,
11023
- disabled: isDisabled,
11024
- "aria-label": "Kod rabatowy",
11025
- "aria-invalid": Boolean(error),
11026
- "aria-describedby": error ? errorId : void 0,
11027
- onChange: (e) => onChange(e.target.value),
11028
- onKeyDown: handleKeyDown
11029
- }
11030
- ),
11031
- /* @__PURE__ */ jsx(
11032
- ApplyButton,
11033
- {
11034
- type: "button",
11035
- $applied: false,
11036
- disabled: isDisabled || !value.trim(),
11037
- "aria-label": applyLabel,
11038
- onClick: handleApply,
11039
- children: loading ? /* @__PURE__ */ jsx(Spinner4, { "aria-hidden": "true" }) : applyLabel
11040
- }
11041
- )
11042
- ] }),
11043
- error && /* @__PURE__ */ jsx(Message, { $type: "error", id: errorId, role: "alert", children: error })
11044
- ] });
11047
+ return /* @__PURE__ */ jsx(Root42, { className, children: /* @__PURE__ */ jsxs(InputRow2, { children: [
11048
+ /* @__PURE__ */ jsx(
11049
+ TextInput,
11050
+ {
11051
+ value,
11052
+ placeholder,
11053
+ disabled: disabled || loading,
11054
+ "aria-label": "Kod rabatowy",
11055
+ "aria-invalid": Boolean(error),
11056
+ onChange: (e) => onChange(e.target.value),
11057
+ onKeyDown: handleKeyDown,
11058
+ size,
11059
+ fullWidth: true,
11060
+ error: Boolean(error),
11061
+ helperText: error,
11062
+ style: { textTransform: "uppercase" }
11063
+ }
11064
+ ),
11065
+ /* @__PURE__ */ jsx(
11066
+ Button,
11067
+ {
11068
+ size,
11069
+ loading,
11070
+ disabled: disabled || !value.trim(),
11071
+ "aria-label": applyLabel,
11072
+ onClick: handleApply,
11073
+ children: applyLabel
11074
+ }
11075
+ )
11076
+ ] }) });
11045
11077
  }
11046
11078
  var DEFAULT_OMNIBUS_LABEL = "Najni\u017Csza cena z ostatnich 30 dni";
11047
11079
  var FONT_SIZE2 = {
@@ -11345,7 +11377,7 @@ var FilterSidebar = forwardRef(
11345
11377
  }, ref) => /* @__PURE__ */ jsxs(Root45, { ref, "aria-label": "Filtry produkt\xF3w", ...props, children: [
11346
11378
  /* @__PURE__ */ jsxs(Header3, { children: [
11347
11379
  /* @__PURE__ */ jsx(Title10, { children: "Filtry" }),
11348
- onClear && /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", onClick: onClear, children: "Wyczy\u015B\u0107" })
11380
+ onClear && /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "md", onClick: onClear, children: "Wyczy\u015B\u0107" })
11349
11381
  ] }),
11350
11382
  priceRange && /* @__PURE__ */ jsxs(Group, { children: [
11351
11383
  /* @__PURE__ */ jsx(Legend, { children: "Cena" }),
@@ -11639,51 +11671,63 @@ var ProductCard = forwardRef(
11639
11671
  buttonVariant = "primary",
11640
11672
  disabledButton = false,
11641
11673
  hideButton = false,
11674
+ hoverEffect = true,
11642
11675
  ...props
11643
- }, ref) => /* @__PURE__ */ jsxs(Root50, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: [
11644
- /* @__PURE__ */ jsx(
11645
- AspectRatio,
11646
- {
11647
- ratio: imageRatio,
11648
- style: { margin: "-1.5rem -1.5rem 1rem", width: "calc(100% + 3rem)" },
11649
- children: /* @__PURE__ */ jsx(
11650
- ProductCardImage,
11676
+ }, ref) => /* @__PURE__ */ jsxs(
11677
+ Root50,
11678
+ {
11679
+ ref,
11680
+ variant: "default",
11681
+ padding: "md",
11682
+ rounded: "lg",
11683
+ hoverEffect,
11684
+ ...props,
11685
+ children: [
11686
+ /* @__PURE__ */ jsx(
11687
+ AspectRatio,
11651
11688
  {
11652
- src: imageUrl,
11653
- alt: imageAlt ?? name,
11654
- badge,
11655
- badgeVariant
11689
+ ratio: imageRatio,
11690
+ style: { margin: "-1.5rem -1.5rem 1rem", width: "calc(100% + 3rem)" },
11691
+ children: /* @__PURE__ */ jsx(
11692
+ ProductCardImage,
11693
+ {
11694
+ src: imageUrl,
11695
+ alt: imageAlt ?? name,
11696
+ badge,
11697
+ badgeVariant
11698
+ }
11699
+ )
11656
11700
  }
11657
- )
11658
- }
11659
- ),
11660
- /* @__PURE__ */ jsx(Name11, { children: name }),
11661
- rating !== void 0 && /* @__PURE__ */ jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
11662
- /* @__PURE__ */ jsx(
11663
- Price2,
11664
- {
11665
- price,
11666
- originalPrice,
11667
- currency,
11668
- locale,
11669
- lowestPrice,
11670
- style: { marginTop: "0.5rem" }
11671
- }
11672
- ),
11673
- !hideButton && /* @__PURE__ */ jsx(Footer6, { children: /* @__PURE__ */ jsx(
11674
- Button,
11675
- {
11676
- fullWidth: true,
11677
- variant: buttonVariant,
11678
- disabled: disabledButton,
11679
- onClick: (e) => {
11680
- e.stopPropagation();
11681
- onAddToCart?.();
11682
- },
11683
- children: ctaLabel
11684
- }
11685
- ) })
11686
- ] })
11701
+ ),
11702
+ /* @__PURE__ */ jsx(Name11, { children: name }),
11703
+ rating !== void 0 && /* @__PURE__ */ jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
11704
+ /* @__PURE__ */ jsx(
11705
+ Price2,
11706
+ {
11707
+ price,
11708
+ originalPrice,
11709
+ currency,
11710
+ locale,
11711
+ lowestPrice,
11712
+ style: { marginTop: "0.5rem" }
11713
+ }
11714
+ ),
11715
+ !hideButton && /* @__PURE__ */ jsx(Footer6, { children: /* @__PURE__ */ jsx(
11716
+ Button,
11717
+ {
11718
+ fullWidth: true,
11719
+ variant: buttonVariant,
11720
+ disabled: disabledButton,
11721
+ onClick: (e) => {
11722
+ e.stopPropagation();
11723
+ onAddToCart?.();
11724
+ },
11725
+ children: ctaLabel
11726
+ }
11727
+ ) })
11728
+ ]
11729
+ }
11730
+ )
11687
11731
  );
11688
11732
  ProductCard.displayName = "ProductCard";
11689
11733
  var COLLAPSE_AT = "480px";
@@ -12538,23 +12582,34 @@ var VoucherCard = forwardRef(
12538
12582
  ] })
12539
12583
  );
12540
12584
  VoucherCard.displayName = "VoucherCard";
12541
- var StyledButton4 = styled(Button)(({ theme, $active }) => ({
12542
- border: `1px solid ${$active ? theme.palette.error.main : theme.palette.divider}`,
12543
- background: $active ? `${theme.palette.error.main}14` : "transparent",
12544
- color: $active ? theme.palette.error.main : theme.palette.text.secondary,
12545
- "&:hover:not(:disabled)": {
12546
- color: theme.palette.error.main,
12547
- borderColor: theme.palette.error.main,
12548
- backgroundColor: `${theme.palette.error.main}14`
12585
+ var StyledButton4 = styled(Button)(({
12586
+ theme,
12587
+ $active,
12588
+ $variant
12589
+ }) => {
12590
+ if ($variant !== "ghost" && $variant !== "text") {
12591
+ return {};
12549
12592
  }
12550
- }));
12593
+ return {
12594
+ border: $variant === "ghost" ? `1px solid ${$active ? theme.palette.error.main : theme.palette.divider}` : "none",
12595
+ background: $active ? `${theme.palette.error.main}14` : "transparent",
12596
+ color: $active ? theme.palette.error.main : theme.palette.text.secondary,
12597
+ "&:hover:not(:disabled)": {
12598
+ color: theme.palette.error.main,
12599
+ borderColor: $variant === "ghost" ? theme.palette.error.main : void 0,
12600
+ backgroundColor: `${theme.palette.error.main}14`
12601
+ }
12602
+ };
12603
+ });
12551
12604
  var WishlistButton = forwardRef(
12552
- ({ active = false, size = "md", label, ...props }, ref) => /* @__PURE__ */ jsx(
12605
+ ({ active = false, size = "md", variant = "ghost", label, ...props }, ref) => /* @__PURE__ */ jsx(
12553
12606
  StyledButton4,
12554
12607
  {
12555
12608
  ref,
12609
+ variant,
12556
12610
  shape: "circle",
12557
12611
  size,
12612
+ $variant: variant,
12558
12613
  startIcon: active ? /* @__PURE__ */ jsx(FavoriteIcon, { "aria-hidden": true, style: { fontSize: "inherit" } }) : /* @__PURE__ */ jsx(FavoriteBorderIcon, { "aria-hidden": true, style: { fontSize: "inherit" } }),
12559
12614
  "aria-label": label ?? (active ? "Usu\u0144 z listy \u017Cycze\u0144" : "Dodaj do listy \u017Cycze\u0144"),
12560
12615
  $active: active,