@szymonpiatek/designsystem 0.0.7 → 0.0.8

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
@@ -29,6 +29,8 @@ var ImageIcon = require('@mui/icons-material/Image');
29
29
  var ArticleIcon = require('@mui/icons-material/Article');
30
30
  var CheckCircleOutlinedIcon = require('@mui/icons-material/CheckCircleOutlined');
31
31
  var HighlightOffIcon = require('@mui/icons-material/HighlightOff');
32
+ var ContentCopyIcon = require('@mui/icons-material/ContentCopy');
33
+ var LocalOfferIcon = require('@mui/icons-material/LocalOffer');
32
34
  var CreditCardOutlinedIcon = require('@mui/icons-material/CreditCardOutlined');
33
35
  var LocalShippingOutlinedIcon = require('@mui/icons-material/LocalShippingOutlined');
34
36
  var GridViewIcon = require('@mui/icons-material/GridView');
@@ -70,6 +72,8 @@ var ImageIcon__default = /*#__PURE__*/_interopDefault(ImageIcon);
70
72
  var ArticleIcon__default = /*#__PURE__*/_interopDefault(ArticleIcon);
71
73
  var CheckCircleOutlinedIcon__default = /*#__PURE__*/_interopDefault(CheckCircleOutlinedIcon);
72
74
  var HighlightOffIcon__default = /*#__PURE__*/_interopDefault(HighlightOffIcon);
75
+ var ContentCopyIcon__default = /*#__PURE__*/_interopDefault(ContentCopyIcon);
76
+ var LocalOfferIcon__default = /*#__PURE__*/_interopDefault(LocalOfferIcon);
73
77
  var CreditCardOutlinedIcon__default = /*#__PURE__*/_interopDefault(CreditCardOutlinedIcon);
74
78
  var LocalShippingOutlinedIcon__default = /*#__PURE__*/_interopDefault(LocalShippingOutlinedIcon);
75
79
  var GridViewIcon__default = /*#__PURE__*/_interopDefault(GridViewIcon);
@@ -5173,8 +5177,8 @@ function Spinner3({
5173
5177
  label = "\u0141adowanie\u2026",
5174
5178
  ...props
5175
5179
  }) {
5176
- const Inner7 = VARIANTS[variant];
5177
- return /* @__PURE__ */ jsxRuntime.jsx(Root13, { $size: size, $color: color, role: "status", "aria-label": label, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Inner7, {}) });
5180
+ const Inner5 = VARIANTS[variant];
5181
+ return /* @__PURE__ */ jsxRuntime.jsx(Root13, { $size: size, $color: color, role: "status", "aria-label": label, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Inner5, {}) });
5178
5182
  }
5179
5183
  var spinnerVariants = ["ring", "dots", "pulse", "bars"];
5180
5184
  var spinnerSizes = ["xs", "sm", "md", "lg", "xl"];
@@ -5731,26 +5735,12 @@ var AspectRatio = react.forwardRef(
5731
5735
  );
5732
5736
  AspectRatio.displayName = "AspectRatio";
5733
5737
  var aspectRatioPresets = Object.keys(PRESET_MAP);
5734
- var Root16 = styles.styled(Card)(({ theme }) => ({
5735
- display: "flex",
5736
- flexDirection: "column",
5737
- overflow: "hidden",
5738
- cursor: "pointer",
5739
- transition: "box-shadow 150ms ease, transform 150ms ease",
5740
- "&:hover": {
5741
- boxShadow: theme.shadows[4],
5742
- transform: "translateY(-2px)"
5743
- }
5744
- }));
5745
- var ImageWrap = styles.styled("div")({
5746
- margin: "-1.5rem -1.5rem 1rem"
5747
- });
5748
- var Image = styles.styled("img")({
5738
+ var Img = styles.styled("img")({
5749
5739
  objectFit: "cover",
5750
5740
  width: "100%",
5751
5741
  height: "100%"
5752
5742
  });
5753
- var ImagePlaceholder = styles.styled("div")(({ theme }) => ({
5743
+ var Placeholder2 = styles.styled("div")(({ theme }) => ({
5754
5744
  width: "100%",
5755
5745
  height: "100%",
5756
5746
  backgroundColor: theme.palette.action.hover,
@@ -5759,7 +5749,9 @@ var ImagePlaceholder = styles.styled("div")(({ theme }) => ({
5759
5749
  justifyContent: "center",
5760
5750
  color: theme.palette.text.disabled
5761
5751
  }));
5762
- var Content = styles.styled("div")({
5752
+ var CategoryCardImage = ({ src, alt }) => /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: "4/3", children: src ? /* @__PURE__ */ jsxRuntime.jsx(Img, { src, alt }) : /* @__PURE__ */ jsxRuntime.jsx(Placeholder2, { "aria-label": alt, children: /* @__PURE__ */ jsxRuntime.jsx(ImageIcon__default.default, { style: { fontSize: 48 } }) }) });
5753
+ CategoryCardImage.displayName = "CategoryCardImage";
5754
+ var Root16 = styles.styled("div")({
5763
5755
  display: "flex",
5764
5756
  flexDirection: "column",
5765
5757
  gap: "0.25rem"
@@ -5777,6 +5769,33 @@ var Count = styles.styled("span")(({ theme }) => ({
5777
5769
  fontFamily: theme.typography.fontFamily,
5778
5770
  fontSize: "0.875rem"
5779
5771
  }));
5772
+ var CategoryCardInfo = ({
5773
+ name,
5774
+ count,
5775
+ countLabel = "produkt\xF3w"
5776
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(Root16, { children: [
5777
+ /* @__PURE__ */ jsxRuntime.jsx(Name, { children: name }),
5778
+ count !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Count, { children: [
5779
+ count,
5780
+ " ",
5781
+ countLabel
5782
+ ] })
5783
+ ] });
5784
+ CategoryCardInfo.displayName = "CategoryCardInfo";
5785
+ var Root17 = styles.styled(Card)(({ theme }) => ({
5786
+ display: "flex",
5787
+ flexDirection: "column",
5788
+ overflow: "hidden",
5789
+ cursor: "pointer",
5790
+ transition: "box-shadow 150ms ease, transform 150ms ease",
5791
+ "&:hover": {
5792
+ boxShadow: theme.shadows[4],
5793
+ transform: "translateY(-2px)"
5794
+ }
5795
+ }));
5796
+ var ImageWrap = styles.styled("div")({
5797
+ margin: "-1.5rem -1.5rem 1rem"
5798
+ });
5780
5799
  var CardLink = styles.styled("a")({
5781
5800
  display: "block",
5782
5801
  textDecoration: "none",
@@ -5786,90 +5805,13 @@ var CardLink = styles.styled("a")({
5786
5805
  var CategoryCard = react.forwardRef(
5787
5806
  ({ name, imageUrl, imageAlt, count, href, ...props }, ref) => {
5788
5807
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5789
- /* @__PURE__ */ jsxRuntime.jsx(ImageWrap, { children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: "4/3", children: imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(Image, { src: imageUrl, alt: imageAlt ?? name }) : /* @__PURE__ */ jsxRuntime.jsx(ImagePlaceholder, { "aria-label": imageAlt ?? name, children: /* @__PURE__ */ jsxRuntime.jsx(ImageIcon__default.default, { style: { fontSize: 48 } }) }) }) }),
5790
- /* @__PURE__ */ jsxRuntime.jsxs(Content, { children: [
5791
- /* @__PURE__ */ jsxRuntime.jsx(Name, { children: name }),
5792
- count !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Count, { children: [
5793
- count,
5794
- " produkt\xF3w"
5795
- ] })
5796
- ] })
5808
+ /* @__PURE__ */ jsxRuntime.jsx(ImageWrap, { children: /* @__PURE__ */ jsxRuntime.jsx(CategoryCardImage, { src: imageUrl, alt: imageAlt ?? name }) }),
5809
+ /* @__PURE__ */ jsxRuntime.jsx(CategoryCardInfo, { name, count })
5797
5810
  ] });
5798
- return /* @__PURE__ */ jsxRuntime.jsx(Root16, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: href ? /* @__PURE__ */ jsxRuntime.jsx(CardLink, { href, children: content }) : content });
5811
+ return /* @__PURE__ */ jsxRuntime.jsx(Root17, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: href ? /* @__PURE__ */ jsxRuntime.jsx(CardLink, { href, children: content }) : content });
5799
5812
  }
5800
5813
  );
5801
5814
  CategoryCard.displayName = "CategoryCard";
5802
- var sizeMap5 = {
5803
- sm: "1rem",
5804
- md: "1.25rem",
5805
- lg: "1.5rem"
5806
- };
5807
- var Root17 = styles.styled("div")(({ theme }) => ({
5808
- display: "inline-flex",
5809
- alignItems: "center",
5810
- gap: "0.5rem",
5811
- color: theme.palette.text.secondary,
5812
- fontFamily: theme.typography.fontFamily
5813
- }));
5814
- var Stars = styles.styled("div")({
5815
- display: "inline-flex",
5816
- alignItems: "center",
5817
- gap: "0.125rem"
5818
- });
5819
- var StarButton = styles.styled("button")(
5820
- ({ theme, $size, $active }) => ({
5821
- appearance: "none",
5822
- border: 0,
5823
- background: "transparent",
5824
- padding: 0,
5825
- color: $active ? "#f59e0b" : theme.palette.action.disabled,
5826
- cursor: "pointer",
5827
- fontSize: sizeMap5[$size],
5828
- lineHeight: 1,
5829
- "&:disabled": {
5830
- cursor: "default"
5831
- }
5832
- })
5833
- );
5834
- var Meta = styles.styled("span")(({ theme }) => ({
5835
- fontSize: "0.875rem",
5836
- color: theme.palette.text.secondary
5837
- }));
5838
- var Rating = react.forwardRef(
5839
- ({ value, max = 5, readonly = true, size = "md", label, count, onChange, ...props }, ref) => {
5840
- const roundedValue = Math.round(value);
5841
- const meta = label ?? (count !== void 0 ? `(${count})` : void 0);
5842
- return /* @__PURE__ */ jsxRuntime.jsxs(Root17, { ref, "aria-label": `Ocena ${value} z ${max}`, ...props, children: [
5843
- /* @__PURE__ */ jsxRuntime.jsx(
5844
- Stars,
5845
- {
5846
- role: readonly ? "img" : "radiogroup",
5847
- "aria-label": readonly ? void 0 : "Wybierz ocen\u0119",
5848
- children: Array.from({ length: max }, (_, index) => {
5849
- const starValue = index + 1;
5850
- return /* @__PURE__ */ jsxRuntime.jsx(
5851
- StarButton,
5852
- {
5853
- type: "button",
5854
- $size: size,
5855
- $active: starValue <= roundedValue,
5856
- disabled: readonly,
5857
- "aria-label": `${starValue} z ${max}`,
5858
- "aria-checked": readonly ? void 0 : starValue === roundedValue,
5859
- role: readonly ? void 0 : "radio",
5860
- onClick: () => onChange?.(starValue),
5861
- children: "\u2605"
5862
- },
5863
- starValue
5864
- );
5865
- })
5866
- }
5867
- ),
5868
- meta && /* @__PURE__ */ jsxRuntime.jsx(Meta, { children: meta })
5869
- ] });
5870
- }
5871
- );
5872
- Rating.displayName = "Rating";
5873
5815
  var DEFAULT_OMNIBUS_LABEL = "Najni\u017Csza cena z ostatnich 30 dni";
5874
5816
  var FONT_SIZE = {
5875
5817
  sm: "0.875rem",
@@ -6002,7 +5944,142 @@ var Price = react.forwardRef(
6002
5944
  );
6003
5945
  Price.displayName = "Price";
6004
5946
  var priceSizes = ["sm", "md", "lg", "xl"];
6005
- var Root19 = styles.styled(Card)({
5947
+ function calcTimeLeft(target) {
5948
+ const diff = new Date(target).getTime() - Date.now();
5949
+ if (diff <= 0) return null;
5950
+ return {
5951
+ days: Math.floor(diff / 864e5),
5952
+ hours: Math.floor(diff % 864e5 / 36e5),
5953
+ minutes: Math.floor(diff % 36e5 / 6e4),
5954
+ seconds: Math.floor(diff % 6e4 / 1e3)
5955
+ };
5956
+ }
5957
+ function pad(n) {
5958
+ return String(n).padStart(2, "0");
5959
+ }
5960
+ var Root19 = styles.styled("div", {
5961
+ shouldForwardProp: (prop) => prop !== "$variant"
5962
+ })(({ theme, $variant }) => ({
5963
+ display: "inline-flex",
5964
+ alignItems: "center",
5965
+ justifyContent: "space-between",
5966
+ flexWrap: "wrap",
5967
+ gap: "0.5rem",
5968
+ fontFamily: theme.typography.fontFamily,
5969
+ ...$variant === "card" && {
5970
+ backgroundColor: theme.palette.background.paper,
5971
+ border: `1px solid ${theme.palette.divider}`,
5972
+ borderRadius: theme.shape.borderRadius,
5973
+ padding: "1rem 1.5rem"
5974
+ },
5975
+ ...$variant === "banner" && {
5976
+ backgroundColor: theme.palette.error.main,
5977
+ color: "#fff",
5978
+ borderRadius: theme.shape.borderRadius,
5979
+ padding: "0.75rem 1.25rem"
5980
+ }
5981
+ }));
5982
+ var TimerLabel = styles.styled("span", {
5983
+ shouldForwardProp: (prop) => prop !== "$variant"
5984
+ })(({ theme, $variant }) => ({
5985
+ fontSize: "0.875rem",
5986
+ fontWeight: 600,
5987
+ color: $variant === "banner" ? "rgba(255,255,255,0.85)" : theme.palette.text.secondary,
5988
+ marginRight: "0.25rem"
5989
+ }));
5990
+ var Segments = styles.styled("div")({
5991
+ display: "flex",
5992
+ alignItems: "center",
5993
+ gap: "0.25rem"
5994
+ });
5995
+ var Segment = styles.styled("div", {
5996
+ shouldForwardProp: (prop) => prop !== "$variant"
5997
+ })(({ theme, $variant }) => ({
5998
+ display: "flex",
5999
+ flexDirection: "column",
6000
+ alignItems: "center",
6001
+ minWidth: "2.5rem",
6002
+ ...$variant === "card" && {
6003
+ backgroundColor: theme.palette.action.hover,
6004
+ borderRadius: "0.375rem",
6005
+ padding: "0.375rem 0.5rem"
6006
+ }
6007
+ }));
6008
+ var Value = styles.styled("span", {
6009
+ shouldForwardProp: (prop) => prop !== "$variant"
6010
+ })(({ $variant }) => ({
6011
+ fontSize: $variant === "inline" ? "1rem" : "1.5rem",
6012
+ fontWeight: 700,
6013
+ lineHeight: 1,
6014
+ color: $variant === "banner" ? "#fff" : "inherit"
6015
+ }));
6016
+ var Unit = styles.styled("span", {
6017
+ shouldForwardProp: (prop) => prop !== "$variant"
6018
+ })(({ theme, $variant }) => ({
6019
+ fontSize: "0.6875rem",
6020
+ color: $variant === "banner" ? "rgba(255,255,255,0.7)" : theme.palette.text.secondary,
6021
+ marginTop: "0.125rem"
6022
+ }));
6023
+ var Colon = styles.styled("span", {
6024
+ shouldForwardProp: (prop) => prop !== "$variant"
6025
+ })(({ theme, $variant }) => ({
6026
+ fontSize: $variant === "inline" ? "1rem" : "1.5rem",
6027
+ fontWeight: 700,
6028
+ color: $variant === "banner" ? "rgba(255,255,255,0.6)" : theme.palette.text.disabled,
6029
+ alignSelf: $variant === "card" ? "flex-start" : "center",
6030
+ marginTop: $variant === "card" ? "0.375rem" : 0
6031
+ }));
6032
+ var UNITS = ["dni", "godz", "min", "sek"];
6033
+ var CountdownTimer = react.forwardRef(
6034
+ ({
6035
+ targetDate,
6036
+ variant = "inline",
6037
+ label,
6038
+ expiredLabel = "Promocja zako\u0144czona",
6039
+ onExpire,
6040
+ ...props
6041
+ }, ref) => {
6042
+ const [timeLeft, setTimeLeft] = react.useState(() => calcTimeLeft(targetDate));
6043
+ react.useEffect(() => {
6044
+ const id = setInterval(() => {
6045
+ const tl = calcTimeLeft(targetDate);
6046
+ setTimeLeft(tl);
6047
+ if (!tl) {
6048
+ clearInterval(id);
6049
+ onExpire?.();
6050
+ }
6051
+ }, 1e3);
6052
+ return () => clearInterval(id);
6053
+ }, [targetDate, onExpire]);
6054
+ if (!timeLeft) {
6055
+ return /* @__PURE__ */ jsxRuntime.jsx(Root19, { ref, $variant: variant, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(TimerLabel, { $variant: variant, children: expiredLabel }) });
6056
+ }
6057
+ const parts = [timeLeft.days, timeLeft.hours, timeLeft.minutes, timeLeft.seconds];
6058
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6059
+ Root19,
6060
+ {
6061
+ ref,
6062
+ $variant: variant,
6063
+ "aria-live": "polite",
6064
+ "aria-label": `Czas do ko\u0144ca promocji`,
6065
+ ...props,
6066
+ children: [
6067
+ label && /* @__PURE__ */ jsxRuntime.jsx(TimerLabel, { $variant: variant, children: label }),
6068
+ /* @__PURE__ */ jsxRuntime.jsx(Segments, { children: parts.map((val, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "contents" }, children: [
6069
+ i > 0 && /* @__PURE__ */ jsxRuntime.jsx(Colon, { $variant: variant, children: ":" }),
6070
+ /* @__PURE__ */ jsxRuntime.jsxs(Segment, { $variant: variant, children: [
6071
+ /* @__PURE__ */ jsxRuntime.jsx(Value, { $variant: variant, children: pad(val) }),
6072
+ variant !== "inline" && /* @__PURE__ */ jsxRuntime.jsx(Unit, { $variant: variant, children: UNITS[i] })
6073
+ ] })
6074
+ ] }, UNITS[i])) })
6075
+ ]
6076
+ }
6077
+ );
6078
+ }
6079
+ );
6080
+ CountdownTimer.displayName = "CountdownTimer";
6081
+ var countdownTimerVariants = ["inline", "card", "banner"];
6082
+ var Root20 = styles.styled(Card)({
6006
6083
  display: "flex",
6007
6084
  flexDirection: "column",
6008
6085
  height: "100%",
@@ -6012,24 +6089,6 @@ var ImageWrap2 = styles.styled("div")({
6012
6089
  position: "relative",
6013
6090
  margin: "-1.5rem -1.5rem 1rem"
6014
6091
  });
6015
- var Image2 = styles.styled("img")(({ theme }) => ({
6016
- objectFit: "cover",
6017
- backgroundColor: theme.palette.action.hover
6018
- }));
6019
- var ImagePlaceholder2 = styles.styled("div")(({ theme }) => ({
6020
- width: "100%",
6021
- height: "100%",
6022
- backgroundColor: theme.palette.action.hover,
6023
- display: "flex",
6024
- alignItems: "center",
6025
- justifyContent: "center",
6026
- color: theme.palette.text.disabled
6027
- }));
6028
- var BadgeSlot = styles.styled("div")({
6029
- position: "absolute",
6030
- left: "0.75rem",
6031
- top: "0.75rem"
6032
- });
6033
6092
  var Name2 = styles.styled("h3")(({ theme }) => ({
6034
6093
  margin: 0,
6035
6094
  color: theme.palette.text.primary,
@@ -6044,7 +6103,7 @@ var Footer = styles.styled("div")({
6044
6103
  marginTop: "auto",
6045
6104
  paddingTop: "1rem"
6046
6105
  });
6047
- var ProductCard = react.forwardRef(
6106
+ var DealCard = react.forwardRef(
6048
6107
  ({
6049
6108
  name,
6050
6109
  imageUrl,
@@ -6053,136 +6112,14 @@ var ProductCard = react.forwardRef(
6053
6112
  originalPrice,
6054
6113
  currency,
6055
6114
  locale,
6056
- lowestPrice,
6057
- badge,
6058
- badgeVariant = "success",
6059
- rating,
6060
- reviewCount,
6061
- ctaLabel = "Dodaj do koszyka",
6115
+ dealEndsAt,
6116
+ ctaLabel = "Kup teraz",
6062
6117
  onAddToCart,
6063
6118
  ...props
6064
- }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root19, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: [
6065
- /* @__PURE__ */ jsxRuntime.jsx(ImageWrap2, { children: /* @__PURE__ */ jsxRuntime.jsxs(AspectRatio, { ratio: "4/3", children: [
6066
- imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(Image2, { src: imageUrl, alt: imageAlt ?? name }) : /* @__PURE__ */ jsxRuntime.jsx(ImagePlaceholder2, { "aria-label": imageAlt ?? name, children: /* @__PURE__ */ jsxRuntime.jsx(ImageIcon__default.default, { style: { fontSize: 48 } }) }),
6067
- badge && /* @__PURE__ */ jsxRuntime.jsx(BadgeSlot, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge2, { variant: badgeVariant, children: badge }) })
6068
- ] }) }),
6069
- /* @__PURE__ */ jsxRuntime.jsx(Name2, { children: name }),
6070
- rating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
6071
- /* @__PURE__ */ jsxRuntime.jsx(
6072
- Price,
6073
- {
6074
- price,
6075
- originalPrice,
6076
- currency,
6077
- locale,
6078
- lowestPrice,
6079
- style: { marginTop: "0.5rem" }
6080
- }
6081
- ),
6082
- /* @__PURE__ */ jsxRuntime.jsx(Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(Button, { fullWidth: true, onClick: (e) => {
6083
- e.stopPropagation();
6084
- onAddToCart?.();
6085
- }, children: ctaLabel }) })
6086
- ] })
6087
- );
6088
- ProductCard.displayName = "ProductCard";
6089
- var COLLAPSE_AT = "480px";
6090
- var ContainerRoot = styles.styled("div")({
6091
- containerType: "inline-size",
6092
- width: "100%",
6093
- height: "100%"
6094
- });
6095
- var Inner = styles.styled("div")({
6096
- display: "flex",
6097
- flexDirection: "row",
6098
- height: "100%",
6099
- [`@container (max-width: ${COLLAPSE_AT})`]: {
6100
- flexDirection: "column"
6101
- }
6102
- });
6103
- var ImageWrap3 = styles.styled("div")({
6104
- position: "relative",
6105
- flexShrink: 0,
6106
- width: "clamp(120px, 33%, 200px)",
6107
- alignSelf: "stretch",
6108
- margin: "-1.5rem 1rem -1.5rem -1.5rem",
6109
- [`@container (max-width: ${COLLAPSE_AT})`]: {
6110
- width: "auto",
6111
- alignSelf: "auto",
6112
- margin: "-1.5rem -1.5rem 1rem",
6113
- aspectRatio: "4 / 3"
6114
- }
6115
- });
6116
- var Image3 = styles.styled("img")(({ theme }) => ({
6117
- position: "absolute",
6118
- inset: 0,
6119
- width: "100%",
6120
- height: "100%",
6121
- objectFit: "cover",
6122
- backgroundColor: theme.palette.action.hover
6123
- }));
6124
- var ImagePlaceholder3 = styles.styled("div")(({ theme }) => ({
6125
- position: "absolute",
6126
- inset: 0,
6127
- width: "100%",
6128
- height: "100%",
6129
- backgroundColor: theme.palette.action.hover,
6130
- display: "flex",
6131
- alignItems: "center",
6132
- justifyContent: "center",
6133
- color: theme.palette.text.disabled
6134
- }));
6135
- var BadgeSlot2 = styles.styled("div")({
6136
- position: "absolute",
6137
- left: "0.75rem",
6138
- top: "0.75rem",
6139
- zIndex: 1
6140
- });
6141
- var Content2 = styles.styled("div")({
6142
- display: "flex",
6143
- flexDirection: "column",
6144
- flex: 1,
6145
- minWidth: 0
6146
- });
6147
- var Name3 = styles.styled("h3")(({ theme }) => ({
6148
- margin: 0,
6149
- color: theme.palette.text.primary,
6150
- fontFamily: theme.typography.fontFamily,
6151
- fontSize: "1rem",
6152
- fontWeight: 700,
6153
- lineHeight: 1.4
6154
- }));
6155
- var Footer2 = styles.styled("div")({
6156
- display: "grid",
6157
- gap: "1rem",
6158
- marginTop: "auto",
6159
- paddingTop: "1rem"
6160
- });
6161
- var ProductCardHorizontal = react.forwardRef(
6162
- ({
6163
- name,
6164
- imageUrl,
6165
- imageAlt,
6166
- price,
6167
- originalPrice,
6168
- currency,
6169
- locale,
6170
- lowestPrice,
6171
- badge,
6172
- badgeVariant = "success",
6173
- rating,
6174
- reviewCount,
6175
- ctaLabel = "Dodaj do koszyka",
6176
- onAddToCart,
6177
- ...props
6178
- }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Card, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(ContainerRoot, { children: /* @__PURE__ */ jsxRuntime.jsxs(Inner, { children: [
6179
- /* @__PURE__ */ jsxRuntime.jsxs(ImageWrap3, { children: [
6180
- imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(Image3, { src: imageUrl, alt: imageAlt ?? name }) : /* @__PURE__ */ jsxRuntime.jsx(ImagePlaceholder3, { "aria-label": imageAlt ?? name, children: /* @__PURE__ */ jsxRuntime.jsx(ImageIcon__default.default, { style: { fontSize: 48 } }) }),
6181
- badge && /* @__PURE__ */ jsxRuntime.jsx(BadgeSlot2, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge2, { variant: badgeVariant, children: badge }) })
6182
- ] }),
6183
- /* @__PURE__ */ jsxRuntime.jsxs(Content2, { children: [
6184
- /* @__PURE__ */ jsxRuntime.jsx(Name3, { children: name }),
6185
- rating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
6119
+ }, ref) => {
6120
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root20, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: [
6121
+ /* @__PURE__ */ jsxRuntime.jsx(ImageWrap2, { children: /* @__PURE__ */ jsxRuntime.jsx(ProductCardImage, { src: imageUrl, alt: imageAlt ?? name }) }),
6122
+ /* @__PURE__ */ jsxRuntime.jsx(Name2, { children: name }),
6186
6123
  /* @__PURE__ */ jsxRuntime.jsx(
6187
6124
  Price,
6188
6125
  {
@@ -6190,14 +6127,22 @@ var ProductCardHorizontal = react.forwardRef(
6190
6127
  originalPrice,
6191
6128
  currency,
6192
6129
  locale,
6193
- lowestPrice,
6194
6130
  style: { marginTop: "0.5rem" }
6195
6131
  }
6196
6132
  ),
6197
- /* @__PURE__ */ jsxRuntime.jsx(Footer2, { children: /* @__PURE__ */ jsxRuntime.jsx(
6133
+ dealEndsAt && /* @__PURE__ */ jsxRuntime.jsx(
6134
+ CountdownTimer,
6135
+ {
6136
+ targetDate: dealEndsAt,
6137
+ label: "Oferta ko\u0144czy si\u0119 za:",
6138
+ style: { marginTop: "0.75rem" }
6139
+ }
6140
+ ),
6141
+ /* @__PURE__ */ jsxRuntime.jsx(Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(
6198
6142
  Button,
6199
6143
  {
6200
6144
  fullWidth: true,
6145
+ variant: "primary",
6201
6146
  onClick: (e) => {
6202
6147
  e.stopPropagation();
6203
6148
  onAddToCart?.();
@@ -6205,10 +6150,10 @@ var ProductCardHorizontal = react.forwardRef(
6205
6150
  children: ctaLabel
6206
6151
  }
6207
6152
  ) })
6208
- ] })
6209
- ] }) }) })
6153
+ ] });
6154
+ }
6210
6155
  );
6211
- ProductCardHorizontal.displayName = "ProductCardHorizontal";
6156
+ DealCard.displayName = "DealCard";
6212
6157
  var ImageWrapper = styles.styled("div", {
6213
6158
  shouldForwardProp: (prop) => prop !== "$ar"
6214
6159
  })(({ $ar }) => ({
@@ -6218,13 +6163,13 @@ var ImageWrapper = styles.styled("div", {
6218
6163
  overflow: "hidden",
6219
6164
  flexShrink: 0
6220
6165
  }));
6221
- var Img = styles.styled("img")({
6166
+ var Img2 = styles.styled("img")({
6222
6167
  width: "100%",
6223
6168
  height: "100%",
6224
6169
  objectFit: "cover",
6225
6170
  display: "block"
6226
6171
  });
6227
- var Placeholder2 = styles.styled("div")(({ theme }) => ({
6172
+ var Placeholder3 = styles.styled("div")(({ theme }) => ({
6228
6173
  width: "100%",
6229
6174
  height: "100%",
6230
6175
  display: "flex",
@@ -6254,7 +6199,7 @@ var PostCardImage = ({
6254
6199
  const [imgError, setImgError] = react.useState(false);
6255
6200
  const showPlaceholder = !src || imgError;
6256
6201
  return /* @__PURE__ */ jsxRuntime.jsxs(ImageWrapper, { $ar: toAspectRatioCss(aspectRatio), className, style, children: [
6257
- showPlaceholder ? /* @__PURE__ */ jsxRuntime.jsx(Placeholder2, { children: /* @__PURE__ */ jsxRuntime.jsx(FileTextIcon, {}) }) : /* @__PURE__ */ jsxRuntime.jsx(Img, { src, alt, onError: () => setImgError(true) }),
6202
+ showPlaceholder ? /* @__PURE__ */ jsxRuntime.jsx(Placeholder3, { children: /* @__PURE__ */ jsxRuntime.jsx(FileTextIcon, {}) }) : /* @__PURE__ */ jsxRuntime.jsx(Img2, { src, alt, onError: () => setImgError(true) }),
6258
6203
  overlay && !showPlaceholder && /* @__PURE__ */ jsxRuntime.jsx(Overlay, {})
6259
6204
  ] });
6260
6205
  };
@@ -6453,25 +6398,7 @@ var postCardVariants = [
6453
6398
  "featured",
6454
6399
  "compact"
6455
6400
  ];
6456
- var Root20 = styles.styled(Card)({
6457
- display: "flex",
6458
- flexDirection: "column",
6459
- height: "100%"
6460
- });
6461
- var NameRow = styles.styled("div")({
6462
- display: "flex",
6463
- alignItems: "center",
6464
- justifyContent: "space-between",
6465
- marginBottom: "0.75rem"
6466
- });
6467
- var Name4 = styles.styled("p")(({ theme }) => ({
6468
- margin: 0,
6469
- fontFamily: theme.typography.fontFamily,
6470
- fontWeight: 600,
6471
- fontSize: "1rem",
6472
- color: theme.palette.text.primary
6473
- }));
6474
- var PriceRow2 = styles.styled("div")({
6401
+ var Row3 = styles.styled("div")({
6475
6402
  display: "flex",
6476
6403
  alignItems: "baseline",
6477
6404
  gap: "0.25rem"
@@ -6484,7 +6411,7 @@ var Currency = styles.styled("span")(({ theme }) => ({
6484
6411
  alignSelf: "flex-start",
6485
6412
  paddingTop: "0.375rem"
6486
6413
  }));
6487
- var Price2 = styles.styled("span")(({ theme }) => ({
6414
+ var Amount = styles.styled("span")(({ theme }) => ({
6488
6415
  fontFamily: theme.typography.fontFamily,
6489
6416
  fontWeight: 700,
6490
6417
  fontSize: "3rem",
@@ -6496,28 +6423,21 @@ var Period = styles.styled("span")(({ theme }) => ({
6496
6423
  fontSize: "0.875rem",
6497
6424
  color: theme.palette.text.secondary
6498
6425
  }));
6499
- var Description2 = styles.styled("p")(({ theme }) => ({
6500
- margin: "0.75rem 0 0",
6501
- fontFamily: theme.typography.fontFamily,
6502
- fontSize: "0.875rem",
6503
- color: theme.palette.text.secondary,
6504
- lineHeight: 1.6
6505
- }));
6506
- var Divider2 = styles.styled("hr")(({ theme }) => ({
6507
- border: "none",
6508
- borderTop: `1px solid ${theme.palette.divider}`,
6509
- margin: "1.25rem 0"
6510
- }));
6511
- var FeatureList = styles.styled("ul")({
6426
+ var PricingCardPrice = ({ price, currency, period }) => /* @__PURE__ */ jsxRuntime.jsxs(Row3, { children: [
6427
+ currency && /* @__PURE__ */ jsxRuntime.jsx(Currency, { children: currency }),
6428
+ /* @__PURE__ */ jsxRuntime.jsx(Amount, { children: price }),
6429
+ period && /* @__PURE__ */ jsxRuntime.jsx(Period, { children: period })
6430
+ ] });
6431
+ PricingCardPrice.displayName = "PricingCardPrice";
6432
+ var List = styles.styled("ul")({
6512
6433
  listStyle: "none",
6513
6434
  margin: 0,
6514
6435
  padding: 0,
6515
6436
  display: "flex",
6516
6437
  flexDirection: "column",
6517
- gap: "0.625rem",
6518
- flex: 1
6438
+ gap: "0.625rem"
6519
6439
  });
6520
- var FeatureItem = styles.styled("li", {
6440
+ var Item = styles.styled("li", {
6521
6441
  shouldForwardProp: (prop) => prop !== "$included"
6522
6442
  })(({ theme, $included }) => ({
6523
6443
  display: "flex",
@@ -6527,6 +6447,50 @@ var FeatureItem = styles.styled("li", {
6527
6447
  fontSize: "0.875rem",
6528
6448
  color: $included ? theme.palette.text.primary : theme.palette.text.disabled
6529
6449
  }));
6450
+ function CheckIcon3() {
6451
+ return /* @__PURE__ */ jsxRuntime.jsx(CheckCircleOutlinedIcon__default.default, { "aria-hidden": "true", style: { fontSize: 16, flexShrink: 0 } });
6452
+ }
6453
+ function XIcon3() {
6454
+ return /* @__PURE__ */ jsxRuntime.jsx(HighlightOffIcon__default.default, { "aria-hidden": "true", style: { fontSize: 16, flexShrink: 0 } });
6455
+ }
6456
+ var PricingCardFeatureList = ({ features }) => /* @__PURE__ */ jsxRuntime.jsx(List, { children: features.map((feature, i) => {
6457
+ const included = feature.included !== false;
6458
+ return /* @__PURE__ */ jsxRuntime.jsxs(Item, { $included: included, children: [
6459
+ included ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon3, {}) : /* @__PURE__ */ jsxRuntime.jsx(XIcon3, {}),
6460
+ feature.text
6461
+ ] }, i);
6462
+ }) });
6463
+ PricingCardFeatureList.displayName = "PricingCardFeatureList";
6464
+ var Root21 = styles.styled(Card)({
6465
+ display: "flex",
6466
+ flexDirection: "column",
6467
+ height: "100%"
6468
+ });
6469
+ var NameRow = styles.styled("div")({
6470
+ display: "flex",
6471
+ alignItems: "center",
6472
+ justifyContent: "space-between",
6473
+ marginBottom: "0.75rem"
6474
+ });
6475
+ var Name3 = styles.styled("p")(({ theme }) => ({
6476
+ margin: 0,
6477
+ fontFamily: theme.typography.fontFamily,
6478
+ fontWeight: 600,
6479
+ fontSize: "1rem",
6480
+ color: theme.palette.text.primary
6481
+ }));
6482
+ var Description2 = styles.styled("p")(({ theme }) => ({
6483
+ margin: "0.75rem 0 0",
6484
+ fontFamily: theme.typography.fontFamily,
6485
+ fontSize: "0.875rem",
6486
+ color: theme.palette.text.secondary,
6487
+ lineHeight: 1.6
6488
+ }));
6489
+ var Divider2 = styles.styled("hr")(({ theme }) => ({
6490
+ border: "none",
6491
+ borderTop: `1px solid ${theme.palette.divider}`,
6492
+ margin: "1.25rem 0"
6493
+ }));
6530
6494
  var CtaLink = styles.styled("a", {
6531
6495
  shouldForwardProp: (prop) => prop !== "$variant"
6532
6496
  })(({ theme, $variant }) => ({
@@ -6559,12 +6523,6 @@ var CtaLink = styles.styled("a", {
6559
6523
  var CtaWrapper = styles.styled("div")({
6560
6524
  marginTop: "1.5rem"
6561
6525
  });
6562
- function CheckIcon3() {
6563
- return /* @__PURE__ */ jsxRuntime.jsx(CheckCircleOutlinedIcon__default.default, { "aria-hidden": "true", style: { fontSize: 16, flexShrink: 0 } });
6564
- }
6565
- function XIcon3() {
6566
- return /* @__PURE__ */ jsxRuntime.jsx(HighlightOffIcon__default.default, { "aria-hidden": "true", style: { fontSize: 16, flexShrink: 0 } });
6567
- }
6568
6526
  var PricingCard = react.forwardRef(
6569
6527
  ({
6570
6528
  name,
@@ -6584,141 +6542,376 @@ var PricingCard = react.forwardRef(
6584
6542
  }, ref) => {
6585
6543
  const resolvedCardVariant = cardVariant ?? (popular ? "gradient-primary" : "default");
6586
6544
  const resolvedCtaVariant = ctaVariant ?? (popular ? "primary" : "ghost");
6587
- return /* @__PURE__ */ jsxRuntime.jsxs(Root20, { ref, variant: resolvedCardVariant, padding: "lg", rounded: "lg", ...props, children: [
6545
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root21, { ref, variant: resolvedCardVariant, padding: "lg", rounded: "lg", ...props, children: [
6588
6546
  /* @__PURE__ */ jsxRuntime.jsxs(NameRow, { children: [
6589
- /* @__PURE__ */ jsxRuntime.jsx(Name4, { children: name }),
6547
+ /* @__PURE__ */ jsxRuntime.jsx(Name3, { children: name }),
6590
6548
  popular && /* @__PURE__ */ jsxRuntime.jsx(Badge2, { variant: "default", children: popularLabel })
6591
6549
  ] }),
6592
- /* @__PURE__ */ jsxRuntime.jsxs(PriceRow2, { children: [
6593
- currency && /* @__PURE__ */ jsxRuntime.jsx(Currency, { children: currency }),
6594
- /* @__PURE__ */ jsxRuntime.jsx(Price2, { children: price }),
6595
- period && /* @__PURE__ */ jsxRuntime.jsx(Period, { children: period })
6596
- ] }),
6550
+ /* @__PURE__ */ jsxRuntime.jsx(PricingCardPrice, { price, currency, period }),
6597
6551
  description && /* @__PURE__ */ jsxRuntime.jsx(Description2, { children: description }),
6598
6552
  features.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6599
6553
  /* @__PURE__ */ jsxRuntime.jsx(Divider2, {}),
6600
- /* @__PURE__ */ jsxRuntime.jsx(FeatureList, { children: features.map((feature, i) => {
6601
- const included = feature.included !== false;
6602
- return /* @__PURE__ */ jsxRuntime.jsxs(FeatureItem, { $included: included, children: [
6603
- included ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon3, {}) : /* @__PURE__ */ jsxRuntime.jsx(XIcon3, {}),
6604
- feature.text
6605
- ] }, i);
6606
- }) })
6554
+ /* @__PURE__ */ jsxRuntime.jsx(PricingCardFeatureList, { features })
6607
6555
  ] }),
6608
6556
  /* @__PURE__ */ jsxRuntime.jsx(CtaWrapper, { children: href ? /* @__PURE__ */ jsxRuntime.jsx(CtaLink, { href, $variant: resolvedCtaVariant, children: ctaLabel }) : /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: resolvedCtaVariant, fullWidth: true, onClick: onCtaClick, children: ctaLabel }) })
6609
6557
  ] });
6610
6558
  }
6611
6559
  );
6612
6560
  PricingCard.displayName = "PricingCard";
6613
- var Root21 = styles.styled(Card, {
6614
- shouldForwardProp: (prop) => prop !== "$align"
6615
- })(({ $align }) => ({
6616
- textAlign: $align,
6617
- height: "100%"
6618
- }));
6619
- var Value = styles.styled("p")(({ theme }) => ({
6620
- margin: 0,
6621
- fontFamily: theme.typography.fontFamily,
6622
- fontSize: "2.5rem",
6623
- fontWeight: 800,
6624
- letterSpacing: "-0.03em",
6625
- color: theme.palette.primary.main,
6626
- lineHeight: 1.1
6627
- }));
6628
- var Label3 = styles.styled("p")(({ theme }) => ({
6629
- margin: "0.5rem 0 0",
6630
- fontFamily: theme.typography.fontFamily,
6631
- fontSize: "1rem",
6632
- fontWeight: 600,
6633
- color: theme.palette.text.primary
6634
- }));
6635
- var Description3 = styles.styled("p")(({ theme }) => ({
6636
- margin: "0.375rem 0 0",
6637
- fontFamily: theme.typography.fontFamily,
6638
- fontSize: "0.875rem",
6561
+ var sizeMap5 = {
6562
+ sm: "1rem",
6563
+ md: "1.25rem",
6564
+ lg: "1.5rem"
6565
+ };
6566
+ var Root22 = styles.styled("div")(({ theme }) => ({
6567
+ display: "inline-flex",
6568
+ alignItems: "center",
6569
+ gap: "0.5rem",
6639
6570
  color: theme.palette.text.secondary,
6640
- lineHeight: 1.5
6571
+ fontFamily: theme.typography.fontFamily
6641
6572
  }));
6642
- var StatCard = react.forwardRef(
6643
- ({ stat, cardVariant = "default", align = "center", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root21, { ref, variant: cardVariant, padding: "lg", rounded: "lg", $align: align, ...props, children: [
6644
- /* @__PURE__ */ jsxRuntime.jsx(Value, { children: stat.value }),
6645
- /* @__PURE__ */ jsxRuntime.jsx(Label3, { children: stat.label }),
6646
- stat.description && /* @__PURE__ */ jsxRuntime.jsx(Description3, { children: stat.description })
6647
- ] })
6648
- );
6649
- StatCard.displayName = "StatCard";
6650
- var Root22 = styles.styled(Card)({
6651
- display: "flex",
6652
- flexDirection: "column",
6653
- gap: "1.25rem",
6654
- height: "100%"
6573
+ var Stars = styles.styled("div")({
6574
+ display: "inline-flex",
6575
+ alignItems: "center",
6576
+ gap: "0.125rem"
6655
6577
  });
6656
- var Quote = styles.styled("blockquote")(({ theme }) => ({
6657
- margin: 0,
6658
- fontFamily: theme.typography.fontFamily,
6659
- fontSize: "0.9375rem",
6660
- color: theme.palette.text.secondary,
6661
- lineHeight: 1.7,
6662
- flex: 1,
6663
- "&::before": {
6664
- content: '"\u201C"',
6665
- color: theme.palette.primary.main,
6666
- fontWeight: 700,
6667
- marginRight: "0.125rem"
6668
- },
6669
- "&::after": {
6670
- content: '"\u201D"',
6671
- color: theme.palette.primary.main,
6672
- fontWeight: 700,
6673
- marginLeft: "0.125rem"
6578
+ var StarButton = styles.styled("button")(
6579
+ ({ theme, $size, $active }) => ({
6580
+ appearance: "none",
6581
+ border: 0,
6582
+ background: "transparent",
6583
+ padding: 0,
6584
+ color: $active ? "#f59e0b" : theme.palette.action.disabled,
6585
+ cursor: "pointer",
6586
+ fontSize: sizeMap5[$size],
6587
+ lineHeight: 1,
6588
+ "&:disabled": {
6589
+ cursor: "default"
6590
+ }
6591
+ })
6592
+ );
6593
+ var Meta = styles.styled("span")(({ theme }) => ({
6594
+ fontSize: "0.875rem",
6595
+ color: theme.palette.text.secondary
6596
+ }));
6597
+ var Rating = react.forwardRef(
6598
+ ({ value, max = 5, readonly = true, size = "md", label, count, onChange, ...props }, ref) => {
6599
+ const roundedValue = Math.round(value);
6600
+ const meta = label ?? (count !== void 0 ? `(${count})` : void 0);
6601
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root22, { ref, "aria-label": `Ocena ${value} z ${max}`, ...props, children: [
6602
+ /* @__PURE__ */ jsxRuntime.jsx(
6603
+ Stars,
6604
+ {
6605
+ role: readonly ? "img" : "radiogroup",
6606
+ "aria-label": readonly ? void 0 : "Wybierz ocen\u0119",
6607
+ children: Array.from({ length: max }, (_, index) => {
6608
+ const starValue = index + 1;
6609
+ return /* @__PURE__ */ jsxRuntime.jsx(
6610
+ StarButton,
6611
+ {
6612
+ type: "button",
6613
+ $size: size,
6614
+ $active: starValue <= roundedValue,
6615
+ disabled: readonly,
6616
+ "aria-label": `${starValue} z ${max}`,
6617
+ "aria-checked": readonly ? void 0 : starValue === roundedValue,
6618
+ role: readonly ? void 0 : "radio",
6619
+ onClick: () => onChange?.(starValue),
6620
+ children: "\u2605"
6621
+ },
6622
+ starValue
6623
+ );
6624
+ })
6625
+ }
6626
+ ),
6627
+ meta && /* @__PURE__ */ jsxRuntime.jsx(Meta, { children: meta })
6628
+ ] });
6674
6629
  }
6630
+ );
6631
+ Rating.displayName = "Rating";
6632
+ var Img3 = styles.styled("img")(({ theme }) => ({
6633
+ position: "absolute",
6634
+ inset: 0,
6635
+ width: "100%",
6636
+ height: "100%",
6637
+ objectFit: "cover",
6638
+ backgroundColor: theme.palette.action.hover
6675
6639
  }));
6676
- var Footer3 = styles.styled("div")({
6640
+ var Placeholder4 = styles.styled("div")(({ theme }) => ({
6641
+ position: "absolute",
6642
+ inset: 0,
6643
+ width: "100%",
6644
+ height: "100%",
6645
+ backgroundColor: theme.palette.action.hover,
6677
6646
  display: "flex",
6678
6647
  alignItems: "center",
6679
- gap: "0.75rem"
6648
+ justifyContent: "center",
6649
+ color: theme.palette.text.disabled
6650
+ }));
6651
+ var BadgeSlot = styles.styled("div")({
6652
+ position: "absolute",
6653
+ left: "0.75rem",
6654
+ top: "0.75rem",
6655
+ zIndex: 1
6680
6656
  });
6681
- var AvatarImage = styles.styled("img")({
6682
- width: "2.5rem",
6683
- height: "2.5rem",
6684
- borderRadius: "50%",
6685
- objectFit: "cover",
6686
- flexShrink: 0
6657
+ var ProductCardImage = ({
6658
+ src,
6659
+ alt,
6660
+ badge,
6661
+ badgeVariant = "success"
6662
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6663
+ src ? /* @__PURE__ */ jsxRuntime.jsx(Img3, { src, alt }) : /* @__PURE__ */ jsxRuntime.jsx(Placeholder4, { "aria-label": alt, children: /* @__PURE__ */ jsxRuntime.jsx(ImageIcon__default.default, { style: { fontSize: 48 } }) }),
6664
+ badge && /* @__PURE__ */ jsxRuntime.jsx(BadgeSlot, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge2, { variant: badgeVariant, children: badge }) })
6665
+ ] });
6666
+ ProductCardImage.displayName = "ProductCardImage";
6667
+ var Root23 = styles.styled(Card)({
6668
+ display: "flex",
6669
+ flexDirection: "column",
6670
+ height: "100%",
6671
+ overflow: "hidden"
6672
+ });
6673
+ var ImageWrap3 = styles.styled("div")({
6674
+ position: "relative",
6675
+ aspectRatio: "4 / 3",
6676
+ margin: "-1.5rem -1.5rem 1rem"
6677
+ });
6678
+ var Name4 = styles.styled("h3")(({ theme }) => ({
6679
+ margin: 0,
6680
+ color: theme.palette.text.primary,
6681
+ fontFamily: theme.typography.fontFamily,
6682
+ fontSize: "1rem",
6683
+ fontWeight: 700,
6684
+ lineHeight: 1.4
6685
+ }));
6686
+ var Footer2 = styles.styled("div")({
6687
+ display: "grid",
6688
+ gap: "1rem",
6689
+ marginTop: "auto",
6690
+ paddingTop: "1rem"
6691
+ });
6692
+ var ProductCard = react.forwardRef(
6693
+ ({
6694
+ name,
6695
+ imageUrl,
6696
+ imageAlt,
6697
+ price,
6698
+ originalPrice,
6699
+ currency,
6700
+ locale,
6701
+ lowestPrice,
6702
+ badge,
6703
+ badgeVariant = "success",
6704
+ rating,
6705
+ reviewCount,
6706
+ ctaLabel = "Dodaj do koszyka",
6707
+ onAddToCart,
6708
+ ...props
6709
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root23, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: [
6710
+ /* @__PURE__ */ jsxRuntime.jsx(ImageWrap3, { children: /* @__PURE__ */ jsxRuntime.jsx(ProductCardImage, { src: imageUrl, alt: imageAlt ?? name, badge, badgeVariant }) }),
6711
+ /* @__PURE__ */ jsxRuntime.jsx(Name4, { children: name }),
6712
+ rating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
6713
+ /* @__PURE__ */ jsxRuntime.jsx(
6714
+ Price,
6715
+ {
6716
+ price,
6717
+ originalPrice,
6718
+ currency,
6719
+ locale,
6720
+ lowestPrice,
6721
+ style: { marginTop: "0.5rem" }
6722
+ }
6723
+ ),
6724
+ /* @__PURE__ */ jsxRuntime.jsx(Footer2, { children: /* @__PURE__ */ jsxRuntime.jsx(Button, { fullWidth: true, onClick: (e) => {
6725
+ e.stopPropagation();
6726
+ onAddToCart?.();
6727
+ }, children: ctaLabel }) })
6728
+ ] })
6729
+ );
6730
+ ProductCard.displayName = "ProductCard";
6731
+ var COLLAPSE_AT = "480px";
6732
+ var ContainerRoot = styles.styled("div")({
6733
+ containerType: "inline-size",
6734
+ width: "100%",
6735
+ height: "100%"
6736
+ });
6737
+ var Inner = styles.styled("div")({
6738
+ display: "flex",
6739
+ flexDirection: "row",
6740
+ height: "100%",
6741
+ [`@container (max-width: ${COLLAPSE_AT})`]: {
6742
+ flexDirection: "column"
6743
+ }
6687
6744
  });
6688
- var AuthorInfo = styles.styled("div")({
6745
+ var ImageWrap4 = styles.styled("div")({
6746
+ position: "relative",
6747
+ flexShrink: 0,
6748
+ width: "clamp(120px, 33%, 200px)",
6749
+ alignSelf: "stretch",
6750
+ margin: "-1.5rem 1rem -1.5rem -1.5rem",
6751
+ [`@container (max-width: ${COLLAPSE_AT})`]: {
6752
+ width: "auto",
6753
+ alignSelf: "auto",
6754
+ margin: "-1.5rem -1.5rem 1rem",
6755
+ aspectRatio: "4 / 3"
6756
+ }
6757
+ });
6758
+ var Content = styles.styled("div")({
6759
+ display: "flex",
6760
+ flexDirection: "column",
6761
+ flex: 1,
6689
6762
  minWidth: 0
6690
6763
  });
6691
- var AuthorName = styles.styled("p")(({ theme }) => ({
6764
+ var Name5 = styles.styled("h3")(({ theme }) => ({
6692
6765
  margin: 0,
6766
+ color: theme.palette.text.primary,
6693
6767
  fontFamily: theme.typography.fontFamily,
6694
- fontSize: "0.875rem",
6768
+ fontSize: "1rem",
6695
6769
  fontWeight: 700,
6770
+ lineHeight: 1.4
6771
+ }));
6772
+ var Footer3 = styles.styled("div")({
6773
+ display: "grid",
6774
+ gap: "1rem",
6775
+ marginTop: "auto",
6776
+ paddingTop: "1rem"
6777
+ });
6778
+ var ProductCardHorizontal = react.forwardRef(
6779
+ ({
6780
+ name,
6781
+ imageUrl,
6782
+ imageAlt,
6783
+ price,
6784
+ originalPrice,
6785
+ currency,
6786
+ locale,
6787
+ lowestPrice,
6788
+ badge,
6789
+ badgeVariant = "success",
6790
+ rating,
6791
+ reviewCount,
6792
+ ctaLabel = "Dodaj do koszyka",
6793
+ onAddToCart,
6794
+ ...props
6795
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Card, { ref, variant: "default", padding: "md", rounded: "lg", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(ContainerRoot, { children: /* @__PURE__ */ jsxRuntime.jsxs(Inner, { children: [
6796
+ /* @__PURE__ */ jsxRuntime.jsx(ImageWrap4, { children: /* @__PURE__ */ jsxRuntime.jsx(ProductCardImage, { src: imageUrl, alt: imageAlt ?? name, badge, badgeVariant }) }),
6797
+ /* @__PURE__ */ jsxRuntime.jsxs(Content, { children: [
6798
+ /* @__PURE__ */ jsxRuntime.jsx(Name5, { children: name }),
6799
+ rating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, count: reviewCount, size: "sm" }),
6800
+ /* @__PURE__ */ jsxRuntime.jsx(
6801
+ Price,
6802
+ {
6803
+ price,
6804
+ originalPrice,
6805
+ currency,
6806
+ locale,
6807
+ lowestPrice,
6808
+ style: { marginTop: "0.5rem" }
6809
+ }
6810
+ ),
6811
+ /* @__PURE__ */ jsxRuntime.jsx(Footer3, { children: /* @__PURE__ */ jsxRuntime.jsx(
6812
+ Button,
6813
+ {
6814
+ fullWidth: true,
6815
+ onClick: (e) => {
6816
+ e.stopPropagation();
6817
+ onAddToCart?.();
6818
+ },
6819
+ children: ctaLabel
6820
+ }
6821
+ ) })
6822
+ ] })
6823
+ ] }) }) })
6824
+ );
6825
+ ProductCardHorizontal.displayName = "ProductCardHorizontal";
6826
+ var Root24 = styles.styled(Card, {
6827
+ shouldForwardProp: (prop) => prop !== "$align"
6828
+ })(({ $align }) => ({
6829
+ textAlign: $align,
6830
+ height: "100%"
6831
+ }));
6832
+ var Value2 = styles.styled("p")(({ theme }) => ({
6833
+ margin: 0,
6834
+ fontFamily: theme.typography.fontFamily,
6835
+ fontSize: "2.5rem",
6836
+ fontWeight: 800,
6837
+ letterSpacing: "-0.03em",
6838
+ color: theme.palette.primary.main,
6839
+ lineHeight: 1.1
6840
+ }));
6841
+ var Label3 = styles.styled("p")(({ theme }) => ({
6842
+ margin: "0.5rem 0 0",
6843
+ fontFamily: theme.typography.fontFamily,
6844
+ fontSize: "1rem",
6845
+ fontWeight: 600,
6696
6846
  color: theme.palette.text.primary
6697
6847
  }));
6698
- var AuthorRole = styles.styled("p")(({ theme }) => ({
6699
- margin: "0.125rem 0 0",
6848
+ var Description3 = styles.styled("p")(({ theme }) => ({
6849
+ margin: "0.375rem 0 0",
6700
6850
  fontFamily: theme.typography.fontFamily,
6701
- fontSize: "0.8125rem",
6702
- color: theme.palette.text.secondary
6851
+ fontSize: "0.875rem",
6852
+ color: theme.palette.text.secondary,
6853
+ lineHeight: 1.5
6703
6854
  }));
6704
- var TestimonialCard = react.forwardRef(
6705
- ({ testimonial, cardVariant = "default", ...props }, ref) => {
6706
- const initials = testimonial.authorInitials ?? testimonial.authorName.split(" ").filter(Boolean).slice(0, 2).map((p) => p[0]).join("").toUpperCase();
6707
- return /* @__PURE__ */ jsxRuntime.jsxs(Root22, { ref, variant: cardVariant, padding: "lg", rounded: "lg", ...props, children: [
6708
- testimonial.rating && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: testimonial.rating, readonly: true, size: "sm" }),
6709
- /* @__PURE__ */ jsxRuntime.jsx(Quote, { children: testimonial.quote }),
6710
- /* @__PURE__ */ jsxRuntime.jsxs(Footer3, { children: [
6711
- testimonial.authorAvatarUrl ? /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: testimonial.authorAvatarUrl, alt: testimonial.authorName }) : /* @__PURE__ */ jsxRuntime.jsx(Avatar, { initials, size: "md", color: "primary" }),
6712
- /* @__PURE__ */ jsxRuntime.jsxs(AuthorInfo, { children: [
6713
- /* @__PURE__ */ jsxRuntime.jsx(AuthorName, { children: testimonial.authorName }),
6714
- testimonial.authorRole && /* @__PURE__ */ jsxRuntime.jsx(AuthorRole, { children: testimonial.authorRole })
6715
- ] })
6716
- ] })
6717
- ] });
6718
- }
6855
+ var StatCard = react.forwardRef(
6856
+ ({ stat, cardVariant = "default", align = "center", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root24, { ref, variant: cardVariant, padding: "lg", rounded: "lg", $align: align, ...props, children: [
6857
+ /* @__PURE__ */ jsxRuntime.jsx(Value2, { children: stat.value }),
6858
+ /* @__PURE__ */ jsxRuntime.jsx(Label3, { children: stat.label }),
6859
+ stat.description && /* @__PURE__ */ jsxRuntime.jsx(Description3, { children: stat.description })
6860
+ ] })
6719
6861
  );
6720
- TestimonialCard.displayName = "TestimonialCard";
6721
- var Root23 = styles.styled(Card)(({ theme }) => ({
6862
+ StatCard.displayName = "StatCard";
6863
+ var Img4 = styles.styled("img")({
6864
+ width: "4rem",
6865
+ height: "4rem",
6866
+ flexShrink: 0,
6867
+ borderRadius: "50%",
6868
+ objectFit: "cover"
6869
+ });
6870
+ function deriveInitials(name) {
6871
+ return name.split(" ").filter(Boolean).slice(0, 2).map((part) => part[0]).join("").toUpperCase();
6872
+ }
6873
+ var TeamMemberAvatar = ({
6874
+ name,
6875
+ avatarUrl,
6876
+ avatarAlt,
6877
+ initials,
6878
+ avatarColor = "primary"
6879
+ }) => {
6880
+ if (avatarUrl) {
6881
+ return /* @__PURE__ */ jsxRuntime.jsx(Img4, { src: avatarUrl, alt: avatarAlt ?? name });
6882
+ }
6883
+ return /* @__PURE__ */ jsxRuntime.jsx(
6884
+ Avatar,
6885
+ {
6886
+ initials: initials ?? deriveInitials(name),
6887
+ size: "xl",
6888
+ color: avatarColor
6889
+ }
6890
+ );
6891
+ };
6892
+ TeamMemberAvatar.displayName = "TeamMemberAvatar";
6893
+ var Root25 = styles.styled("div")({ minWidth: 0 });
6894
+ var Name6 = styles.styled("h3")(({ theme }) => ({
6895
+ margin: 0,
6896
+ color: theme.palette.text.primary,
6897
+ fontFamily: theme.typography.fontFamily,
6898
+ fontSize: "1rem",
6899
+ fontWeight: 700,
6900
+ lineHeight: 1.4
6901
+ }));
6902
+ var Role = styles.styled("p")(({ theme }) => ({
6903
+ margin: "0.25rem 0 0",
6904
+ color: theme.palette.text.secondary,
6905
+ fontFamily: theme.typography.fontFamily,
6906
+ fontSize: "0.875rem",
6907
+ lineHeight: 1.5
6908
+ }));
6909
+ var TeamMemberInfo = ({ name, role }) => /* @__PURE__ */ jsxRuntime.jsxs(Root25, { children: [
6910
+ /* @__PURE__ */ jsxRuntime.jsx(Name6, { children: name }),
6911
+ role && /* @__PURE__ */ jsxRuntime.jsx(Role, { children: role })
6912
+ ] });
6913
+ TeamMemberInfo.displayName = "TeamMemberInfo";
6914
+ var Root26 = styles.styled(Card)(({ theme }) => ({
6722
6915
  display: "flex",
6723
6916
  alignItems: "center",
6724
6917
  gap: "1rem",
@@ -6730,47 +6923,198 @@ var Root23 = styles.styled(Card)(({ theme }) => ({
6730
6923
  transform: "translateY(-2px)"
6731
6924
  }
6732
6925
  }));
6733
- var AvatarImage2 = styles.styled("img")({
6734
- width: "4rem",
6735
- height: "4rem",
6736
- flexShrink: 0,
6737
- borderRadius: "50%",
6738
- objectFit: "cover"
6926
+ var TeamMemberCard = react.forwardRef(
6927
+ ({ member, cardVariant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root26, { ref, variant: cardVariant, padding: "lg", rounded: "lg", ...props, children: [
6928
+ /* @__PURE__ */ jsxRuntime.jsx(
6929
+ TeamMemberAvatar,
6930
+ {
6931
+ name: member.name,
6932
+ avatarUrl: member.avatarUrl,
6933
+ avatarAlt: member.avatarAlt,
6934
+ initials: member.initials,
6935
+ avatarColor: member.avatarColor
6936
+ }
6937
+ ),
6938
+ /* @__PURE__ */ jsxRuntime.jsx(TeamMemberInfo, { name: member.name, role: member.role })
6939
+ ] })
6940
+ );
6941
+ TeamMemberCard.displayName = "TeamMemberCard";
6942
+ var Quote = styles.styled("blockquote")(({ theme }) => ({
6943
+ margin: 0,
6944
+ fontFamily: theme.typography.fontFamily,
6945
+ fontSize: "0.9375rem",
6946
+ color: theme.palette.text.secondary,
6947
+ lineHeight: 1.7,
6948
+ flex: 1,
6949
+ "&::before": {
6950
+ content: '"\u201C"',
6951
+ color: theme.palette.primary.main,
6952
+ fontWeight: 700,
6953
+ marginRight: "0.125rem"
6954
+ },
6955
+ "&::after": {
6956
+ content: '"\u201D"',
6957
+ color: theme.palette.primary.main,
6958
+ fontWeight: 700,
6959
+ marginLeft: "0.125rem"
6960
+ }
6961
+ }));
6962
+ var TestimonialQuote = ({ quote }) => /* @__PURE__ */ jsxRuntime.jsx(Quote, { children: quote });
6963
+ TestimonialQuote.displayName = "TestimonialQuote";
6964
+ var Root27 = styles.styled("div")({
6965
+ display: "flex",
6966
+ alignItems: "center",
6967
+ gap: "0.75rem"
6739
6968
  });
6740
- var Content3 = styles.styled("div")({
6741
- minWidth: 0
6969
+ var AvatarImg = styles.styled("img")({
6970
+ width: "2.5rem",
6971
+ height: "2.5rem",
6972
+ borderRadius: "50%",
6973
+ objectFit: "cover",
6974
+ flexShrink: 0
6742
6975
  });
6743
- var Name5 = styles.styled("h3")(({ theme }) => ({
6976
+ var Info = styles.styled("div")({ minWidth: 0 });
6977
+ var Name7 = styles.styled("p")(({ theme }) => ({
6744
6978
  margin: 0,
6745
- color: theme.palette.text.primary,
6746
6979
  fontFamily: theme.typography.fontFamily,
6747
- fontSize: "1rem",
6980
+ fontSize: "0.875rem",
6748
6981
  fontWeight: 700,
6749
- lineHeight: 1.4
6982
+ color: theme.palette.text.primary
6750
6983
  }));
6751
- var Role = styles.styled("p")(({ theme }) => ({
6752
- margin: "0.25rem 0 0",
6753
- color: theme.palette.text.secondary,
6984
+ var Role2 = styles.styled("p")(({ theme }) => ({
6985
+ margin: "0.125rem 0 0",
6986
+ fontFamily: theme.typography.fontFamily,
6987
+ fontSize: "0.8125rem",
6988
+ color: theme.palette.text.secondary
6989
+ }));
6990
+ function deriveInitials2(name) {
6991
+ return name.split(" ").filter(Boolean).slice(0, 2).map((p) => p[0]).join("").toUpperCase();
6992
+ }
6993
+ var TestimonialAuthor = ({
6994
+ authorName,
6995
+ authorRole,
6996
+ authorAvatarUrl,
6997
+ authorInitials
6998
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(Root27, { children: [
6999
+ authorAvatarUrl ? /* @__PURE__ */ jsxRuntime.jsx(AvatarImg, { src: authorAvatarUrl, alt: authorName }) : /* @__PURE__ */ jsxRuntime.jsx(Avatar, { initials: authorInitials ?? deriveInitials2(authorName), size: "md", color: "primary" }),
7000
+ /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
7001
+ /* @__PURE__ */ jsxRuntime.jsx(Name7, { children: authorName }),
7002
+ authorRole && /* @__PURE__ */ jsxRuntime.jsx(Role2, { children: authorRole })
7003
+ ] })
7004
+ ] });
7005
+ TestimonialAuthor.displayName = "TestimonialAuthor";
7006
+ var Root28 = styles.styled(Card)({
7007
+ display: "flex",
7008
+ flexDirection: "column",
7009
+ gap: "1.25rem",
7010
+ height: "100%"
7011
+ });
7012
+ var TestimonialCard = react.forwardRef(
7013
+ ({ testimonial, cardVariant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root28, { ref, variant: cardVariant, padding: "lg", rounded: "lg", ...props, children: [
7014
+ testimonial.rating && /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: testimonial.rating, readonly: true, size: "sm" }),
7015
+ /* @__PURE__ */ jsxRuntime.jsx(TestimonialQuote, { quote: testimonial.quote }),
7016
+ /* @__PURE__ */ jsxRuntime.jsx(
7017
+ TestimonialAuthor,
7018
+ {
7019
+ authorName: testimonial.authorName,
7020
+ authorRole: testimonial.authorRole,
7021
+ authorAvatarUrl: testimonial.authorAvatarUrl,
7022
+ authorInitials: testimonial.authorInitials
7023
+ }
7024
+ )
7025
+ ] })
7026
+ );
7027
+ TestimonialCard.displayName = "TestimonialCard";
7028
+ var Root29 = styles.styled("div")(({ theme }) => ({
7029
+ position: "relative",
7030
+ padding: "1.5rem",
7031
+ borderRadius: "1rem",
7032
+ border: `2px dashed ${theme.palette.primary.main}`,
7033
+ backgroundColor: theme.palette.background.paper,
6754
7034
  fontFamily: theme.typography.fontFamily,
7035
+ display: "flex",
7036
+ flexDirection: "column",
7037
+ gap: "1rem"
7038
+ }));
7039
+ var Header = styles.styled("div")({
7040
+ display: "flex",
7041
+ alignItems: "center",
7042
+ gap: "0.75rem"
7043
+ });
7044
+ var Discount = styles.styled("span")(({ theme }) => ({
7045
+ fontSize: "2rem",
7046
+ fontWeight: 800,
7047
+ lineHeight: 1,
7048
+ color: theme.palette.primary.main
7049
+ }));
7050
+ var Description4 = styles.styled("p")(({ theme }) => ({
7051
+ margin: 0,
6755
7052
  fontSize: "0.875rem",
7053
+ color: theme.palette.text.secondary,
6756
7054
  lineHeight: 1.5
6757
7055
  }));
6758
- function getInitials(member) {
6759
- if (member.initials) {
6760
- return member.initials;
7056
+ var CodeRow = styles.styled("div")(({ theme }) => ({
7057
+ display: "flex",
7058
+ alignItems: "center",
7059
+ gap: "0.5rem",
7060
+ padding: "0.625rem 1rem",
7061
+ backgroundColor: theme.palette.action.hover,
7062
+ borderRadius: theme.shape.borderRadius
7063
+ }));
7064
+ var Code = styles.styled("span")(({ theme }) => ({
7065
+ flex: 1,
7066
+ fontFamily: "monospace",
7067
+ fontSize: "1rem",
7068
+ fontWeight: 700,
7069
+ letterSpacing: "0.1em",
7070
+ color: theme.palette.text.primary,
7071
+ userSelect: "all"
7072
+ }));
7073
+ var CopyButton = styles.styled("button")(({ theme }) => ({
7074
+ border: 0,
7075
+ background: "transparent",
7076
+ color: theme.palette.primary.main,
7077
+ cursor: "pointer",
7078
+ padding: "0.25rem",
7079
+ display: "flex",
7080
+ alignItems: "center",
7081
+ borderRadius: theme.shape.borderRadius,
7082
+ transition: "background-color 150ms ease",
7083
+ "&:hover": {
7084
+ backgroundColor: theme.palette.action.hover
6761
7085
  }
6762
- return member.name.split(" ").filter(Boolean).slice(0, 2).map((part) => part[0]).join("").toUpperCase();
6763
- }
6764
- var TeamMemberCard = react.forwardRef(
6765
- ({ member, cardVariant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root23, { ref, variant: cardVariant, padding: "lg", rounded: "lg", ...props, children: [
6766
- member.avatarUrl ? /* @__PURE__ */ jsxRuntime.jsx(AvatarImage2, { src: member.avatarUrl, alt: member.avatarAlt ?? member.name }) : /* @__PURE__ */ jsxRuntime.jsx(Avatar, { initials: getInitials(member), size: "xl", color: member.avatarColor ?? "primary" }),
6767
- /* @__PURE__ */ jsxRuntime.jsxs(Content3, { children: [
6768
- /* @__PURE__ */ jsxRuntime.jsx(Name5, { children: member.name }),
6769
- /* @__PURE__ */ jsxRuntime.jsx(Role, { children: member.role })
7086
+ }));
7087
+ var Expiry = styles.styled("p")(({ theme }) => ({
7088
+ margin: 0,
7089
+ fontSize: "0.75rem",
7090
+ color: theme.palette.text.disabled
7091
+ }));
7092
+ var VoucherCard = react.forwardRef(
7093
+ ({ code, discount, description, expiresAt, copied = false, onCopy, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root29, { ref, ...props, children: [
7094
+ /* @__PURE__ */ jsxRuntime.jsxs(Header, { children: [
7095
+ /* @__PURE__ */ jsxRuntime.jsx(LocalOfferIcon__default.default, { style: { fontSize: 20 }, color: "primary" }),
7096
+ /* @__PURE__ */ jsxRuntime.jsx(Discount, { children: discount })
7097
+ ] }),
7098
+ description && /* @__PURE__ */ jsxRuntime.jsx(Description4, { children: description }),
7099
+ /* @__PURE__ */ jsxRuntime.jsxs(CodeRow, { children: [
7100
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: code }),
7101
+ /* @__PURE__ */ jsxRuntime.jsx(
7102
+ CopyButton,
7103
+ {
7104
+ type: "button",
7105
+ "aria-label": copied ? "Skopiowano" : "Kopiuj kod",
7106
+ onClick: () => onCopy?.(code),
7107
+ children: copied ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon__default.default, { style: { fontSize: 18, color: "green" } }) : /* @__PURE__ */ jsxRuntime.jsx(ContentCopyIcon__default.default, { style: { fontSize: 18 } })
7108
+ }
7109
+ )
7110
+ ] }),
7111
+ expiresAt && /* @__PURE__ */ jsxRuntime.jsxs(Expiry, { children: [
7112
+ "Wa\u017Cny do: ",
7113
+ expiresAt
6770
7114
  ] })
6771
7115
  ] })
6772
7116
  );
6773
- TeamMemberCard.displayName = "TeamMemberCard";
7117
+ VoucherCard.displayName = "VoucherCard";
6774
7118
  var Wrapper3 = styles.styled("div")({
6775
7119
  width: "100%",
6776
7120
  overflowX: "auto",
@@ -6855,7 +7199,7 @@ var RemoveBtn = styles.styled("button")(({ theme }) => ({
6855
7199
  }
6856
7200
  }));
6857
7201
  var Tbody = styles.styled("tbody")({});
6858
- var Row3 = styles.styled("tr", {
7202
+ var Row4 = styles.styled("tr", {
6859
7203
  shouldForwardProp: (p) => p !== "$diff"
6860
7204
  })(({ theme, $diff }) => ({
6861
7205
  backgroundColor: $diff ? theme.palette.mode === "dark" ? "rgba(255,255,255,0.03)" : "rgba(0,0,0,0.02)" : "transparent",
@@ -6932,7 +7276,7 @@ function CompareTool({
6932
7276
  ] }) }),
6933
7277
  /* @__PURE__ */ jsxRuntime.jsx(Tbody, { children: specKeys.map((key) => {
6934
7278
  const diff = highlightDifferences && isDiff(key, products);
6935
- return /* @__PURE__ */ jsxRuntime.jsxs(Row3, { $diff: diff, children: [
7279
+ return /* @__PURE__ */ jsxRuntime.jsxs(Row4, { $diff: diff, children: [
6936
7280
  /* @__PURE__ */ jsxRuntime.jsx(LabelCell, { as: "th", scope: "row", children: specLabels[key] ?? key }),
6937
7281
  products.map((p) => {
6938
7282
  const val = p.specs[key];
@@ -6943,143 +7287,8 @@ function CompareTool({
6943
7287
  }) })
6944
7288
  ] }) });
6945
7289
  }
6946
- function calcTimeLeft(target) {
6947
- const diff = new Date(target).getTime() - Date.now();
6948
- if (diff <= 0) return null;
6949
- return {
6950
- days: Math.floor(diff / 864e5),
6951
- hours: Math.floor(diff % 864e5 / 36e5),
6952
- minutes: Math.floor(diff % 36e5 / 6e4),
6953
- seconds: Math.floor(diff % 6e4 / 1e3)
6954
- };
6955
- }
6956
- function pad(n) {
6957
- return String(n).padStart(2, "0");
6958
- }
6959
- var Root24 = styles.styled("div", {
6960
- shouldForwardProp: (prop) => prop !== "$variant"
6961
- })(({ theme, $variant }) => ({
6962
- display: "inline-flex",
6963
- alignItems: "center",
6964
- justifyContent: "space-between",
6965
- flexWrap: "wrap",
6966
- gap: "0.5rem",
6967
- fontFamily: theme.typography.fontFamily,
6968
- ...$variant === "card" && {
6969
- backgroundColor: theme.palette.background.paper,
6970
- border: `1px solid ${theme.palette.divider}`,
6971
- borderRadius: theme.shape.borderRadius,
6972
- padding: "1rem 1.5rem"
6973
- },
6974
- ...$variant === "banner" && {
6975
- backgroundColor: theme.palette.error.main,
6976
- color: "#fff",
6977
- borderRadius: theme.shape.borderRadius,
6978
- padding: "0.75rem 1.25rem"
6979
- }
6980
- }));
6981
- var TimerLabel = styles.styled("span", {
6982
- shouldForwardProp: (prop) => prop !== "$variant"
6983
- })(({ theme, $variant }) => ({
6984
- fontSize: "0.875rem",
6985
- fontWeight: 600,
6986
- color: $variant === "banner" ? "rgba(255,255,255,0.85)" : theme.palette.text.secondary,
6987
- marginRight: "0.25rem"
6988
- }));
6989
- var Segments = styles.styled("div")({
6990
- display: "flex",
6991
- alignItems: "center",
6992
- gap: "0.25rem"
6993
- });
6994
- var Segment = styles.styled("div", {
6995
- shouldForwardProp: (prop) => prop !== "$variant"
6996
- })(({ theme, $variant }) => ({
6997
- display: "flex",
6998
- flexDirection: "column",
6999
- alignItems: "center",
7000
- minWidth: "2.5rem",
7001
- ...$variant === "card" && {
7002
- backgroundColor: theme.palette.action.hover,
7003
- borderRadius: "0.375rem",
7004
- padding: "0.375rem 0.5rem"
7005
- }
7006
- }));
7007
- var Value2 = styles.styled("span", {
7008
- shouldForwardProp: (prop) => prop !== "$variant"
7009
- })(({ $variant }) => ({
7010
- fontSize: $variant === "inline" ? "1rem" : "1.5rem",
7011
- fontWeight: 700,
7012
- lineHeight: 1,
7013
- color: $variant === "banner" ? "#fff" : "inherit"
7014
- }));
7015
- var Unit = styles.styled("span", {
7016
- shouldForwardProp: (prop) => prop !== "$variant"
7017
- })(({ theme, $variant }) => ({
7018
- fontSize: "0.6875rem",
7019
- color: $variant === "banner" ? "rgba(255,255,255,0.7)" : theme.palette.text.secondary,
7020
- marginTop: "0.125rem"
7021
- }));
7022
- var Colon = styles.styled("span", {
7023
- shouldForwardProp: (prop) => prop !== "$variant"
7024
- })(({ theme, $variant }) => ({
7025
- fontSize: $variant === "inline" ? "1rem" : "1.5rem",
7026
- fontWeight: 700,
7027
- color: $variant === "banner" ? "rgba(255,255,255,0.6)" : theme.palette.text.disabled,
7028
- alignSelf: $variant === "card" ? "flex-start" : "center",
7029
- marginTop: $variant === "card" ? "0.375rem" : 0
7030
- }));
7031
- var UNITS = ["dni", "godz", "min", "sek"];
7032
- var CountdownTimer = react.forwardRef(
7033
- ({
7034
- targetDate,
7035
- variant = "inline",
7036
- label,
7037
- expiredLabel = "Promocja zako\u0144czona",
7038
- onExpire,
7039
- ...props
7040
- }, ref) => {
7041
- const [timeLeft, setTimeLeft] = react.useState(() => calcTimeLeft(targetDate));
7042
- react.useEffect(() => {
7043
- const id = setInterval(() => {
7044
- const tl = calcTimeLeft(targetDate);
7045
- setTimeLeft(tl);
7046
- if (!tl) {
7047
- clearInterval(id);
7048
- onExpire?.();
7049
- }
7050
- }, 1e3);
7051
- return () => clearInterval(id);
7052
- }, [targetDate, onExpire]);
7053
- if (!timeLeft) {
7054
- return /* @__PURE__ */ jsxRuntime.jsx(Root24, { ref, $variant: variant, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(TimerLabel, { $variant: variant, children: expiredLabel }) });
7055
- }
7056
- const parts = [timeLeft.days, timeLeft.hours, timeLeft.minutes, timeLeft.seconds];
7057
- return /* @__PURE__ */ jsxRuntime.jsxs(
7058
- Root24,
7059
- {
7060
- ref,
7061
- $variant: variant,
7062
- "aria-live": "polite",
7063
- "aria-label": `Czas do ko\u0144ca promocji`,
7064
- ...props,
7065
- children: [
7066
- label && /* @__PURE__ */ jsxRuntime.jsx(TimerLabel, { $variant: variant, children: label }),
7067
- /* @__PURE__ */ jsxRuntime.jsx(Segments, { children: parts.map((val, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "contents" }, children: [
7068
- i > 0 && /* @__PURE__ */ jsxRuntime.jsx(Colon, { $variant: variant, children: ":" }),
7069
- /* @__PURE__ */ jsxRuntime.jsxs(Segment, { $variant: variant, children: [
7070
- /* @__PURE__ */ jsxRuntime.jsx(Value2, { $variant: variant, children: pad(val) }),
7071
- variant !== "inline" && /* @__PURE__ */ jsxRuntime.jsx(Unit, { $variant: variant, children: UNITS[i] })
7072
- ] })
7073
- ] }, UNITS[i])) })
7074
- ]
7075
- }
7076
- );
7077
- }
7078
- );
7079
- CountdownTimer.displayName = "CountdownTimer";
7080
- var countdownTimerVariants = ["inline", "card", "banner"];
7081
7290
  var spin2 = styles.keyframes`to { transform: rotate(360deg); }`;
7082
- var Root25 = styles.styled("div")({
7291
+ var Root30 = styles.styled("div")({
7083
7292
  display: "flex",
7084
7293
  flexDirection: "column",
7085
7294
  gap: "0.5rem"
@@ -7226,7 +7435,7 @@ function CouponInput({
7226
7435
  if (e.key === "Enter") handleApply();
7227
7436
  };
7228
7437
  if (appliedCode) {
7229
- return /* @__PURE__ */ jsxRuntime.jsxs(Root25, { className, children: [
7438
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root30, { className, children: [
7230
7439
  /* @__PURE__ */ jsxRuntime.jsxs(AppliedRow, { role: "status", "aria-label": `Kod rabatowy ${appliedCode} zastosowany`, children: [
7231
7440
  /* @__PURE__ */ jsxRuntime.jsx(AppliedCode, { children: appliedCode }),
7232
7441
  onRemove && /* @__PURE__ */ jsxRuntime.jsx(
@@ -7245,7 +7454,7 @@ function CouponInput({
7245
7454
  ] })
7246
7455
  ] });
7247
7456
  }
7248
- return /* @__PURE__ */ jsxRuntime.jsxs(Root25, { className, children: [
7457
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root30, { className, children: [
7249
7458
  /* @__PURE__ */ jsxRuntime.jsxs(InputRow, { $hasError: Boolean(error), $applied: false, children: [
7250
7459
  /* @__PURE__ */ jsxRuntime.jsx(
7251
7460
  Input,
@@ -7277,7 +7486,7 @@ function CouponInput({
7277
7486
  error && /* @__PURE__ */ jsxRuntime.jsx(Message, { $type: "error", id: errorId, role: "alert", children: error })
7278
7487
  ] });
7279
7488
  }
7280
- var Root26 = styles.styled("div")({
7489
+ var Root31 = styles.styled("div")({
7281
7490
  display: "flex",
7282
7491
  flexDirection: "column",
7283
7492
  gap: "0.5rem"
@@ -7313,8 +7522,8 @@ var IconWrap = styles.styled("span")(({ theme }) => ({
7313
7522
  color: theme.palette.text.secondary,
7314
7523
  display: "flex"
7315
7524
  }));
7316
- var Info = styles.styled("div")({ flex: 1 });
7317
- var Name6 = styles.styled("div")(({ theme }) => ({
7525
+ var Info2 = styles.styled("div")({ flex: 1 });
7526
+ var Name8 = styles.styled("div")(({ theme }) => ({
7318
7527
  fontSize: "0.9375rem",
7319
7528
  fontWeight: 600,
7320
7529
  color: theme.palette.text.primary
@@ -7325,7 +7534,7 @@ var Desc = styles.styled("div")(({ theme }) => ({
7325
7534
  marginTop: "0.125rem"
7326
7535
  }));
7327
7536
  var PaymentMethodSelector = react.forwardRef(
7328
- ({ methods, value, onChange, label = "Metoda p\u0142atno\u015Bci", disabled, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root26, { ref, ...props, children: [
7537
+ ({ methods, value, onChange, label = "Metoda p\u0142atno\u015Bci", disabled, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root31, { ref, ...props, children: [
7329
7538
  /* @__PURE__ */ jsxRuntime.jsx(GroupLabel, { children: label }),
7330
7539
  methods.map((method) => {
7331
7540
  const selected = value === method.id;
@@ -7343,8 +7552,8 @@ var PaymentMethodSelector = react.forwardRef(
7343
7552
  }
7344
7553
  ),
7345
7554
  /* @__PURE__ */ jsxRuntime.jsx(IconWrap, { children: method.icon ?? /* @__PURE__ */ jsxRuntime.jsx(CreditCardOutlinedIcon__default.default, { "aria-hidden": true }) }),
7346
- /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
7347
- /* @__PURE__ */ jsxRuntime.jsx(Name6, { children: method.label }),
7555
+ /* @__PURE__ */ jsxRuntime.jsxs(Info2, { children: [
7556
+ /* @__PURE__ */ jsxRuntime.jsx(Name8, { children: method.label }),
7348
7557
  method.description && /* @__PURE__ */ jsxRuntime.jsx(Desc, { children: method.description })
7349
7558
  ] })
7350
7559
  ] }, method.id);
@@ -7352,7 +7561,7 @@ var PaymentMethodSelector = react.forwardRef(
7352
7561
  ] })
7353
7562
  );
7354
7563
  PaymentMethodSelector.displayName = "PaymentMethodSelector";
7355
- var Root27 = styles.styled("div")({
7564
+ var Root32 = styles.styled("div")({
7356
7565
  display: "grid",
7357
7566
  gap: "0.75rem"
7358
7567
  });
@@ -7390,7 +7599,7 @@ var ProductGallery = react.forwardRef(
7390
7599
  if (!activeImage) {
7391
7600
  return null;
7392
7601
  }
7393
- return /* @__PURE__ */ jsxRuntime.jsxs(Root27, { ref, ...props, children: [
7602
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root32, { ref, ...props, children: [
7394
7603
  /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: "4/3", children: /* @__PURE__ */ jsxRuntime.jsx(MainImage, { src: activeImage.src, alt: activeImage.alt }) }),
7395
7604
  images.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(Thumbnails, { children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
7396
7605
  ThumbnailButton,
@@ -7408,7 +7617,7 @@ var ProductGallery = react.forwardRef(
7408
7617
  }
7409
7618
  );
7410
7619
  ProductGallery.displayName = "ProductGallery";
7411
- var Root28 = styles.styled("div")(({ theme, $variant }) => ({
7620
+ var Root33 = styles.styled("div")(({ theme, $variant }) => ({
7412
7621
  display: "flex",
7413
7622
  alignItems: "center",
7414
7623
  justifyContent: "center",
@@ -7428,14 +7637,14 @@ var Link = styles.styled("a")(({ theme }) => ({
7428
7637
  textUnderlineOffset: "0.2em"
7429
7638
  }));
7430
7639
  var PromoStrip = react.forwardRef(
7431
- ({ message, actionLabel, href, variant = "info", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root28, { ref, $variant: variant, ...props, children: [
7640
+ ({ message, actionLabel, href, variant = "info", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root33, { ref, $variant: variant, ...props, children: [
7432
7641
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: message }),
7433
7642
  actionLabel && href && /* @__PURE__ */ jsxRuntime.jsx(Link, { href, children: actionLabel })
7434
7643
  ] })
7435
7644
  );
7436
7645
  PromoStrip.displayName = "PromoStrip";
7437
7646
  var promoStripVariants = ["info", "success", "warning"];
7438
- var Root29 = styles.styled("div")(({ theme }) => ({
7647
+ var Root34 = styles.styled("div")(({ theme }) => ({
7439
7648
  display: "inline-grid",
7440
7649
  gridTemplateColumns: "2.25rem 3rem 2.25rem",
7441
7650
  alignItems: "center",
@@ -7471,7 +7680,7 @@ var QuantitySelector = react.forwardRef(
7471
7680
  ({ value, min = 1, max = 99, step = 1, disabled = false, onChange, ...props }, ref) => {
7472
7681
  const decrease = Math.max(min, value - step);
7473
7682
  const increase = Math.min(max, value + step);
7474
- return /* @__PURE__ */ jsxRuntime.jsxs(Root29, { ref, "aria-label": "Wybierz ilo\u015B\u0107", ...props, children: [
7683
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root34, { ref, "aria-label": "Wybierz ilo\u015B\u0107", ...props, children: [
7475
7684
  /* @__PURE__ */ jsxRuntime.jsx(
7476
7685
  Control,
7477
7686
  {
@@ -7497,7 +7706,7 @@ var QuantitySelector = react.forwardRef(
7497
7706
  }
7498
7707
  );
7499
7708
  QuantitySelector.displayName = "QuantitySelector";
7500
- var Root30 = styles.styled("div")({
7709
+ var Root35 = styles.styled("div")({
7501
7710
  display: "flex",
7502
7711
  flexDirection: "column",
7503
7712
  gap: "0.5rem"
@@ -7535,8 +7744,8 @@ var IconWrap2 = styles.styled("span")(({ theme }) => ({
7535
7744
  color: theme.palette.text.secondary,
7536
7745
  display: "flex"
7537
7746
  }));
7538
- var Info2 = styles.styled("div")({ flex: 1 });
7539
- var Name7 = styles.styled("div")(({ theme }) => ({
7747
+ var Info3 = styles.styled("div")({ flex: 1 });
7748
+ var Name9 = styles.styled("div")(({ theme }) => ({
7540
7749
  fontSize: "0.9375rem",
7541
7750
  fontWeight: 600,
7542
7751
  color: theme.palette.text.primary
@@ -7546,7 +7755,7 @@ var Desc2 = styles.styled("div")(({ theme }) => ({
7546
7755
  color: theme.palette.text.secondary,
7547
7756
  marginTop: "0.125rem"
7548
7757
  }));
7549
- var Price3 = styles.styled("div", {
7758
+ var Price2 = styles.styled("div", {
7550
7759
  shouldForwardProp: (prop) => prop !== "$selected"
7551
7760
  })(({ theme, $selected }) => ({
7552
7761
  fontSize: "0.9375rem",
@@ -7555,7 +7764,7 @@ var Price3 = styles.styled("div", {
7555
7764
  whiteSpace: "nowrap"
7556
7765
  }));
7557
7766
  var ShippingSelector = react.forwardRef(
7558
- ({ options, value, onChange, label = "Metoda dostawy", disabled, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root30, { ref, ...props, children: [
7767
+ ({ options, value, onChange, label = "Metoda dostawy", disabled, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root35, { ref, ...props, children: [
7559
7768
  /* @__PURE__ */ jsxRuntime.jsx(GroupLabel2, { children: label }),
7560
7769
  options.map((opt) => {
7561
7770
  const selected = value === opt.id;
@@ -7573,14 +7782,14 @@ var ShippingSelector = react.forwardRef(
7573
7782
  }
7574
7783
  ),
7575
7784
  /* @__PURE__ */ jsxRuntime.jsx(IconWrap2, { children: opt.icon ?? /* @__PURE__ */ jsxRuntime.jsx(LocalShippingOutlinedIcon__default.default, { "aria-hidden": true }) }),
7576
- /* @__PURE__ */ jsxRuntime.jsxs(Info2, { children: [
7577
- /* @__PURE__ */ jsxRuntime.jsx(Name7, { children: opt.label }),
7785
+ /* @__PURE__ */ jsxRuntime.jsxs(Info3, { children: [
7786
+ /* @__PURE__ */ jsxRuntime.jsx(Name9, { children: opt.label }),
7578
7787
  (opt.description || opt.estimatedDays) && /* @__PURE__ */ jsxRuntime.jsxs(Desc2, { children: [
7579
7788
  opt.description,
7580
7789
  opt.estimatedDays && ` \xB7 ${opt.estimatedDays}`
7581
7790
  ] })
7582
7791
  ] }),
7583
- /* @__PURE__ */ jsxRuntime.jsx(Price3, { $selected: selected, children: opt.price })
7792
+ /* @__PURE__ */ jsxRuntime.jsx(Price2, { $selected: selected, children: opt.price })
7584
7793
  ] }, opt.id);
7585
7794
  })
7586
7795
  ] })
@@ -7592,7 +7801,7 @@ var DEFAULT_SORT_OPTIONS = [
7592
7801
  { value: "price-asc", label: "Cena rosn\u0105co" },
7593
7802
  { value: "price-desc", label: "Cena malej\u0105co" }
7594
7803
  ];
7595
- var Root31 = styles.styled("div")(({ theme }) => ({
7804
+ var Root36 = styles.styled("div")(({ theme }) => ({
7596
7805
  display: "flex",
7597
7806
  alignItems: "center",
7598
7807
  justifyContent: "space-between",
@@ -7666,7 +7875,7 @@ var SortBar = react.forwardRef(
7666
7875
  ...props
7667
7876
  }, ref) => {
7668
7877
  const resolvedLabel = totalLabel ?? (total !== void 0 ? `Znaleziono ${total} produkt\xF3w` : void 0);
7669
- return /* @__PURE__ */ jsxRuntime.jsxs(Root31, { ref, ...props, children: [
7878
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root36, { ref, ...props, children: [
7670
7879
  resolvedLabel && /* @__PURE__ */ jsxRuntime.jsx(TotalLabel, { children: resolvedLabel }),
7671
7880
  /* @__PURE__ */ jsxRuntime.jsxs(Controls, { children: [
7672
7881
  sortOptions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -7719,7 +7928,7 @@ function getDefaultLabel(status, count) {
7719
7928
  return "Dost\u0119pny na zam\xF3wienie";
7720
7929
  }
7721
7930
  }
7722
- var Root32 = styles.styled("div", {
7931
+ var Root37 = styles.styled("div", {
7723
7932
  shouldForwardProp: (p) => p !== "$color" && p !== "$size"
7724
7933
  })(({ theme, $color, $size }) => {
7725
7934
  const colorMap = {
@@ -7760,7 +7969,7 @@ var StockStatus = react.forwardRef(
7760
7969
  ({ status, count, label, showIcon = true, size = "md", ...props }, ref) => {
7761
7970
  const color = COLOR_MAP[status];
7762
7971
  const text = label ?? getDefaultLabel(status, count);
7763
- return /* @__PURE__ */ jsxRuntime.jsxs(Root32, { ref, $color: color, $size: size, role: "status", "aria-label": text, ...props, children: [
7972
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root37, { ref, $color: color, $size: size, role: "status", "aria-label": text, ...props, children: [
7764
7973
  showIcon && /* @__PURE__ */ jsxRuntime.jsx(Dot2, { $color: color, "aria-hidden": "true" }),
7765
7974
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: text })
7766
7975
  ] });
@@ -7774,7 +7983,7 @@ var stockStatusValues = [
7774
7983
  "preorder",
7775
7984
  "backorder"
7776
7985
  ];
7777
- var Root33 = styles.styled("div")({
7986
+ var Root38 = styles.styled("div")({
7778
7987
  display: "flex",
7779
7988
  flexDirection: "column",
7780
7989
  gap: "0.5rem"
@@ -7843,7 +8052,7 @@ var Select2 = styles.styled("select")(({ theme }) => ({
7843
8052
  }
7844
8053
  }));
7845
8054
  var VariantSelector = react.forwardRef(
7846
- ({ label, options, value, onChange, mode = "button", disabled, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root33, { ref, ...props, children: [
8055
+ ({ label, options, value, onChange, mode = "button", disabled, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root38, { ref, ...props, children: [
7847
8056
  /* @__PURE__ */ jsxRuntime.jsxs(Label4, { children: [
7848
8057
  label,
7849
8058
  value && mode !== "swatch" && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontWeight: 400, marginLeft: "0.375rem" }, children: options.find((o) => o.value === value)?.label })
@@ -7877,7 +8086,7 @@ var VariantSelector = react.forwardRef(
7877
8086
  );
7878
8087
  VariantSelector.displayName = "VariantSelector";
7879
8088
  var variantSelectorModes = ["button", "swatch", "dropdown"];
7880
- var Root34 = styles.styled("div")(({ theme }) => ({
8089
+ var Root39 = styles.styled("div")(({ theme }) => ({
7881
8090
  borderBottom: `1px solid ${theme.palette.divider}`
7882
8091
  }));
7883
8092
  var Trigger2 = styles.styled("button")(({ theme }) => ({
@@ -7925,7 +8134,7 @@ var PanelInner = styles.styled("p")(({ theme }) => ({
7925
8134
  var FaqItem = react.forwardRef(
7926
8135
  ({ item, defaultOpen = false, ...props }, ref) => {
7927
8136
  const [open, setOpen] = react.useState(defaultOpen);
7928
- return /* @__PURE__ */ jsxRuntime.jsxs(Root34, { ref, ...props, children: [
8137
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root39, { ref, ...props, children: [
7929
8138
  /* @__PURE__ */ jsxRuntime.jsxs(Trigger2, { type: "button", "aria-expanded": open, onClick: () => setOpen((prev) => !prev), children: [
7930
8139
  item.question,
7931
8140
  /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon2, { $open: open, "aria-hidden": "true" })
@@ -7973,21 +8182,21 @@ var Title2 = styles.styled("h3")(({ theme }) => ({
7973
8182
  color: theme.palette.text.primary,
7974
8183
  lineHeight: 1.4
7975
8184
  }));
7976
- var Description4 = styles.styled("p")(({ theme }) => ({
8185
+ var Description5 = styles.styled("p")(({ theme }) => ({
7977
8186
  margin: "0.375rem 0 0",
7978
8187
  fontFamily: theme.typography.fontFamily,
7979
8188
  fontSize: "0.9rem",
7980
8189
  color: theme.palette.text.secondary,
7981
8190
  lineHeight: 1.6
7982
8191
  }));
7983
- var FeatureItem2 = react.forwardRef(
8192
+ var FeatureItem = react.forwardRef(
7984
8193
  ({ feature, cardVariant = "default", layout = "card", ...props }, ref) => {
7985
8194
  if (layout === "icon-left") {
7986
8195
  return /* @__PURE__ */ jsxRuntime.jsxs(IconLeftRoot, { ref, ...props, children: [
7987
8196
  feature.icon && /* @__PURE__ */ jsxRuntime.jsx(IconWrapper, { children: feature.icon }),
7988
8197
  /* @__PURE__ */ jsxRuntime.jsxs(TextGroup2, { children: [
7989
8198
  /* @__PURE__ */ jsxRuntime.jsx(Title2, { children: feature.title }),
7990
- /* @__PURE__ */ jsxRuntime.jsx(Description4, { children: feature.description })
8199
+ /* @__PURE__ */ jsxRuntime.jsx(Description5, { children: feature.description })
7991
8200
  ] })
7992
8201
  ] });
7993
8202
  }
@@ -7995,13 +8204,13 @@ var FeatureItem2 = react.forwardRef(
7995
8204
  feature.icon && /* @__PURE__ */ jsxRuntime.jsx(IconWrapper, { children: feature.icon }),
7996
8205
  /* @__PURE__ */ jsxRuntime.jsxs(TextGroup2, { children: [
7997
8206
  /* @__PURE__ */ jsxRuntime.jsx(Title2, { children: feature.title }),
7998
- /* @__PURE__ */ jsxRuntime.jsx(Description4, { children: feature.description })
8207
+ /* @__PURE__ */ jsxRuntime.jsx(Description5, { children: feature.description })
7999
8208
  ] })
8000
8209
  ] });
8001
8210
  }
8002
8211
  );
8003
- FeatureItem2.displayName = "FeatureItem";
8004
- var Root35 = styles.styled("div")({
8212
+ FeatureItem.displayName = "FeatureItem";
8213
+ var Root40 = styles.styled("div")({
8005
8214
  display: "flex",
8006
8215
  flexDirection: "column",
8007
8216
  alignItems: "center",
@@ -8040,7 +8249,7 @@ var Title3 = styles.styled("h3")(({ theme }) => ({
8040
8249
  fontSize: "1rem",
8041
8250
  color: theme.palette.text.primary
8042
8251
  }));
8043
- var Description5 = styles.styled("p")(({ theme }) => ({
8252
+ var Description6 = styles.styled("p")(({ theme }) => ({
8044
8253
  margin: 0,
8045
8254
  fontFamily: theme.typography.fontFamily,
8046
8255
  fontSize: "0.875rem",
@@ -8049,10 +8258,10 @@ var Description5 = styles.styled("p")(({ theme }) => ({
8049
8258
  maxWidth: "18rem"
8050
8259
  }));
8051
8260
  var ProcessStep = react.forwardRef(
8052
- ({ step, title, description, icon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root35, { ref, ...props, children: [
8261
+ ({ step, title, description, icon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root40, { ref, ...props, children: [
8053
8262
  /* @__PURE__ */ jsxRuntime.jsx(StepBadge, { "aria-hidden": "true", children: icon ? /* @__PURE__ */ jsxRuntime.jsx(IconWrapper2, { children: icon }) : /* @__PURE__ */ jsxRuntime.jsx(StepNumber, { children: step }) }),
8054
8263
  /* @__PURE__ */ jsxRuntime.jsx(Title3, { children: title }),
8055
- description && /* @__PURE__ */ jsxRuntime.jsx(Description5, { children: description })
8264
+ description && /* @__PURE__ */ jsxRuntime.jsx(Description6, { children: description })
8056
8265
  ] })
8057
8266
  );
8058
8267
  ProcessStep.displayName = "ProcessStep";
@@ -8175,7 +8384,7 @@ function getDotColor(status, theme) {
8175
8384
  return theme.palette.mode === "dark" ? "rgba(255,255,255,0.2)" : "rgba(0,0,0,0.15)";
8176
8385
  }
8177
8386
  }
8178
- var List = styles.styled("ol")({
8387
+ var List2 = styles.styled("ol")({
8179
8388
  listStyle: "none",
8180
8389
  margin: 0,
8181
8390
  padding: 0,
@@ -8235,7 +8444,7 @@ var Dot3 = styles.styled("span", {
8235
8444
  }
8236
8445
  }
8237
8446
  }));
8238
- var Content4 = styles.styled("div")({ flex: 1, minWidth: 0, paddingTop: "0.0625rem" });
8447
+ var Content2 = styles.styled("div")({ flex: 1, minWidth: 0, paddingTop: "0.0625rem" });
8239
8448
  var TitleRow = styles.styled("div")({
8240
8449
  display: "flex",
8241
8450
  alignItems: "baseline",
@@ -8258,7 +8467,7 @@ var Date2 = styles.styled("time")(({ theme }) => ({
8258
8467
  color: theme.palette.text.secondary,
8259
8468
  whiteSpace: "nowrap"
8260
8469
  }));
8261
- var Description6 = styles.styled("div")(({ theme }) => ({
8470
+ var Description7 = styles.styled("div")(({ theme }) => ({
8262
8471
  marginTop: "0.25rem",
8263
8472
  fontFamily: theme.typography.fontFamily,
8264
8473
  fontSize: "0.875rem",
@@ -8280,19 +8489,19 @@ function TimelineItemComponent({
8280
8489
  const hasIcon = Boolean(item.icon);
8281
8490
  return /* @__PURE__ */ jsxRuntime.jsxs(ItemRow, { $compact: compact, $last: last, children: [
8282
8491
  /* @__PURE__ */ jsxRuntime.jsx(DotCol, { $last: last, children: /* @__PURE__ */ jsxRuntime.jsx(Dot3, { $status: status, $hasIcon: hasIcon, children: item.icon ?? /* @__PURE__ */ jsxRuntime.jsx(StatusIcon, { status }) }) }),
8283
- /* @__PURE__ */ jsxRuntime.jsxs(Content4, { children: [
8492
+ /* @__PURE__ */ jsxRuntime.jsxs(Content2, { children: [
8284
8493
  /* @__PURE__ */ jsxRuntime.jsxs(TitleRow, { children: [
8285
8494
  /* @__PURE__ */ jsxRuntime.jsx(Title4, { $compact: compact, children: item.title }),
8286
8495
  item.date && /* @__PURE__ */ jsxRuntime.jsx(Date2, { dateTime: item.date, children: item.date })
8287
8496
  ] }),
8288
- item.description && /* @__PURE__ */ jsxRuntime.jsx(Description6, { children: item.description })
8497
+ item.description && /* @__PURE__ */ jsxRuntime.jsx(Description7, { children: item.description })
8289
8498
  ] })
8290
8499
  ] });
8291
8500
  }
8292
8501
  var Timeline = react.forwardRef(
8293
8502
  ({ items, variant = "default", align: _align = "left", ...props }, ref) => {
8294
8503
  const compact = variant === "compact";
8295
- return /* @__PURE__ */ jsxRuntime.jsx(List, { ref, "aria-label": "O\u015B czasu", ...props, children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
8504
+ return /* @__PURE__ */ jsxRuntime.jsx(List2, { ref, "aria-label": "O\u015B czasu", ...props, children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
8296
8505
  TimelineItemComponent,
8297
8506
  {
8298
8507
  item,
@@ -8311,7 +8520,7 @@ var timelineItemStatuses = [
8311
8520
  "pending",
8312
8521
  "error"
8313
8522
  ];
8314
- var Root36 = styles.styled("div")({
8523
+ var Root41 = styles.styled("div")({
8315
8524
  position: "relative",
8316
8525
  width: "100%",
8317
8526
  overflow: "hidden",
@@ -8421,7 +8630,7 @@ function Carousel({
8421
8630
  }, [prev, next]);
8422
8631
  if (!count) return null;
8423
8632
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, children: [
8424
- /* @__PURE__ */ jsxRuntime.jsxs(Root36, { "aria-roledescription": "carousel", children: [
8633
+ /* @__PURE__ */ jsxRuntime.jsxs(Root41, { "aria-roledescription": "carousel", children: [
8425
8634
  /* @__PURE__ */ jsxRuntime.jsx(Track4, { $index: index, "aria-live": "polite", children: slides.map((slide, i) => /* @__PURE__ */ jsxRuntime.jsx(
8426
8635
  Slide,
8427
8636
  {
@@ -8769,7 +8978,7 @@ var Nav = styles.styled("nav")(({ theme }) => ({
8769
8978
  fontSize: "0.875rem",
8770
8979
  color: theme.palette.text.secondary
8771
8980
  }));
8772
- var List2 = styles.styled("ol")({
8981
+ var List3 = styles.styled("ol")({
8773
8982
  display: "flex",
8774
8983
  alignItems: "center",
8775
8984
  flexWrap: "wrap",
@@ -8793,7 +9002,7 @@ var Separator2 = styles.styled("span")(({ theme }) => ({
8793
9002
  color: theme.palette.text.disabled
8794
9003
  }));
8795
9004
  var Breadcrumbs = react.forwardRef(
8796
- ({ items, separator = "/", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Nav, { ref, "aria-label": "\u015Acie\u017Cka nawigacji", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(List2, { children: items.map((item, index) => {
9005
+ ({ items, separator = "/", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Nav, { ref, "aria-label": "\u015Acie\u017Cka nawigacji", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(List3, { children: items.map((item, index) => {
8797
9006
  const isLast = index === items.length - 1;
8798
9007
  return /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
8799
9008
  item.href && !isLast ? /* @__PURE__ */ jsxRuntime.jsx(Link2, { href: item.href, children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(Current2, { "aria-current": isLast ? "page" : void 0, children: item.label }),
@@ -8984,7 +9193,7 @@ var PaginationBar = ({
8984
9193
  ] });
8985
9194
  };
8986
9195
  PaginationBar.displayName = "PaginationBar";
8987
- var Root37 = styles.styled("div", {
9196
+ var Root42 = styles.styled("div", {
8988
9197
  shouldForwardProp: (p) => p !== "$variant"
8989
9198
  })(({ theme, $variant }) => ({
8990
9199
  width: "100%",
@@ -8999,7 +9208,7 @@ var Root37 = styles.styled("div", {
8999
9208
  gap: "0.5rem"
9000
9209
  }
9001
9210
  }));
9002
- var Item = styles.styled("div", {
9211
+ var Item2 = styles.styled("div", {
9003
9212
  shouldForwardProp: (p) => !["$variant", "$disabled"].includes(p)
9004
9213
  })(({ theme, $variant, $disabled }) => ({
9005
9214
  opacity: $disabled ? 0.5 : 1,
@@ -9094,11 +9303,11 @@ var Accordion = react.forwardRef(
9094
9303
  if (controlledKeys === void 0) setInternalKeys(next);
9095
9304
  onChange?.(next);
9096
9305
  };
9097
- return /* @__PURE__ */ jsxRuntime.jsx(Root37, { ref, $variant: variant, ...props, children: items.map((item) => {
9306
+ return /* @__PURE__ */ jsxRuntime.jsx(Root42, { ref, $variant: variant, ...props, children: items.map((item) => {
9098
9307
  const isOpen = openKeys.includes(item.key);
9099
9308
  const panelId = `accordion-panel-${item.key}`;
9100
9309
  const triggerId = `accordion-trigger-${item.key}`;
9101
- return /* @__PURE__ */ jsxRuntime.jsxs(Item, { $variant: variant, $disabled: Boolean(item.disabled), children: [
9310
+ return /* @__PURE__ */ jsxRuntime.jsxs(Item2, { $variant: variant, $disabled: Boolean(item.disabled), children: [
9102
9311
  /* @__PURE__ */ jsxRuntime.jsxs(
9103
9312
  Trigger3,
9104
9313
  {
@@ -9135,7 +9344,7 @@ var ICONS = {
9135
9344
  warning: /* @__PURE__ */ jsxRuntime.jsx(WarningAmberOutlinedIcon__default.default, { "aria-hidden": true, style: { fontSize: 20 } }),
9136
9345
  error: /* @__PURE__ */ jsxRuntime.jsx(ErrorOutlineOutlinedIcon__default.default, { "aria-hidden": true, style: { fontSize: 20 } })
9137
9346
  };
9138
- var Root38 = styles.styled("div", {
9347
+ var Root43 = styles.styled("div", {
9139
9348
  shouldForwardProp: (prop) => prop !== "$severity"
9140
9349
  })(({ theme, $severity }) => {
9141
9350
  const c = SEVERITY_COLORS[$severity];
@@ -9180,7 +9389,7 @@ var CloseButton2 = styles.styled("button")(({ theme }) => ({
9180
9389
  }
9181
9390
  }));
9182
9391
  var Alert = react.forwardRef(
9183
- ({ severity = "info", title, children, onClose, icon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root38, { ref, role: "alert", $severity: severity, ...props, children: [
9392
+ ({ severity = "info", title, children, onClose, icon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root43, { ref, role: "alert", $severity: severity, ...props, children: [
9184
9393
  /* @__PURE__ */ jsxRuntime.jsx(IconSlot2, { children: icon ?? ICONS[severity] }),
9185
9394
  /* @__PURE__ */ jsxRuntime.jsxs(Body, { children: [
9186
9395
  title && /* @__PURE__ */ jsxRuntime.jsx(Title5, { children: title }),
@@ -9430,7 +9639,7 @@ var ContextMenu = react.forwardRef(
9430
9639
  }
9431
9640
  );
9432
9641
  ContextMenu.displayName = "ContextMenu";
9433
- var Root39 = styles.styled("div")(({ theme }) => ({
9642
+ var Root44 = styles.styled("div")(({ theme }) => ({
9434
9643
  display: "flex",
9435
9644
  flexDirection: "column",
9436
9645
  alignItems: "center",
@@ -9451,18 +9660,18 @@ var Title6 = styles.styled("h3")(({ theme }) => ({
9451
9660
  fontWeight: 700,
9452
9661
  color: theme.palette.text.primary
9453
9662
  }));
9454
- var Description7 = styles.styled("p")(({ theme }) => ({
9663
+ var Description8 = styles.styled("p")(({ theme }) => ({
9455
9664
  margin: 0,
9456
9665
  fontSize: "0.9375rem",
9457
9666
  color: theme.palette.text.secondary,
9458
9667
  maxWidth: "28rem"
9459
9668
  }));
9460
9669
  var EmptyState = react.forwardRef(
9461
- ({ icon, title, description, action, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root39, { ref, ...props, children: [
9670
+ ({ icon, title, description, action, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root44, { ref, ...props, children: [
9462
9671
  /* @__PURE__ */ jsxRuntime.jsx(IconWrap3, { "aria-hidden": true, children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(InboxOutlinedIcon__default.default, {}) }),
9463
9672
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
9464
9673
  /* @__PURE__ */ jsxRuntime.jsx(Title6, { children: title }),
9465
- description && /* @__PURE__ */ jsxRuntime.jsx(Description7, { style: { marginTop: "0.5rem" }, children: description })
9674
+ description && /* @__PURE__ */ jsxRuntime.jsx(Description8, { style: { marginTop: "0.5rem" }, children: description })
9466
9675
  ] }),
9467
9676
  action && /* @__PURE__ */ jsxRuntime.jsx("div", { children: action })
9468
9677
  ] })
@@ -9478,7 +9687,7 @@ var FONT_SIZE2 = {
9478
9687
  md: "0.9375rem",
9479
9688
  lg: "1rem"
9480
9689
  };
9481
- var Root40 = styles.styled("ul", {
9690
+ var Root45 = styles.styled("ul", {
9482
9691
  shouldForwardProp: (p) => p !== "$variant"
9483
9692
  })(({ theme, $variant }) => ({
9484
9693
  listStyle: "none",
@@ -9496,7 +9705,7 @@ var Root40 = styles.styled("ul", {
9496
9705
  gap: "0.375rem"
9497
9706
  }
9498
9707
  }));
9499
- var Item2 = styles.styled("li", {
9708
+ var Item3 = styles.styled("li", {
9500
9709
  shouldForwardProp: (p) => !["$size", "$variant", "$clickable", "$disabled"].includes(p)
9501
9710
  })(({ theme, $size, $variant, $clickable, $disabled }) => ({
9502
9711
  display: "flex",
@@ -9570,11 +9779,11 @@ var SuffixWrap = styles.styled("span")({
9570
9779
  display: "flex",
9571
9780
  alignItems: "center"
9572
9781
  });
9573
- var List3 = react.forwardRef(
9782
+ var List4 = react.forwardRef(
9574
9783
  ({ items, size = "md", variant = "default", dividers = true, ...props }, ref) => {
9575
9784
  const effectiveVariant = !dividers && variant === "default" ? "default" : variant;
9576
- return /* @__PURE__ */ jsxRuntime.jsx(Root40, { ref, $variant: effectiveVariant, role: "list", ...props, children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
9577
- Item2,
9785
+ return /* @__PURE__ */ jsxRuntime.jsx(Root45, { ref, $variant: effectiveVariant, role: "list", ...props, children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
9786
+ Item3,
9578
9787
  {
9579
9788
  role: "listitem",
9580
9789
  $size: size,
@@ -9596,7 +9805,7 @@ var List3 = react.forwardRef(
9596
9805
  )) });
9597
9806
  }
9598
9807
  );
9599
- List3.displayName = "List";
9808
+ List4.displayName = "List";
9600
9809
  var listVariants = ["default", "bordered", "separated"];
9601
9810
  var listSizes = ["sm", "md", "lg"];
9602
9811
  var scrollLeft = styles.keyframes`
@@ -9612,7 +9821,7 @@ var speedDuration = {
9612
9821
  normal: "20s",
9613
9822
  fast: "10s"
9614
9823
  };
9615
- var Root41 = styles.styled("div")({
9824
+ var Root46 = styles.styled("div")({
9616
9825
  overflow: "hidden",
9617
9826
  width: "100%",
9618
9827
  userSelect: "none"
@@ -9643,7 +9852,7 @@ var Marquee = react.forwardRef(
9643
9852
  /* @__PURE__ */ jsxRuntime.jsx(ItemWrap, { $gap: gapValue, "aria-hidden": "false", children }),
9644
9853
  /* @__PURE__ */ jsxRuntime.jsx(ItemWrap, { $gap: gapValue, "aria-hidden": "true", children })
9645
9854
  ] });
9646
- return /* @__PURE__ */ jsxRuntime.jsx(Root41, { ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Track5, { $direction: direction, $speed: speed, $pauseOnHover: pauseOnHover, $gap: gapValue, children: content }) });
9855
+ return /* @__PURE__ */ jsxRuntime.jsx(Root46, { ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Track5, { $direction: direction, $speed: speed, $pauseOnHover: pauseOnHover, $gap: gapValue, children: content }) });
9647
9856
  }
9648
9857
  );
9649
9858
  Marquee.displayName = "Marquee";
@@ -9689,7 +9898,7 @@ var Dialog = styles.styled("div", {
9689
9898
  margin: 0
9690
9899
  }
9691
9900
  }));
9692
- var Header = styles.styled("div")(({ theme }) => ({
9901
+ var Header2 = styles.styled("div")(({ theme }) => ({
9693
9902
  display: "flex",
9694
9903
  alignItems: "center",
9695
9904
  justifyContent: "space-between",
@@ -9786,7 +9995,7 @@ function Modal({
9786
9995
  tabIndex: -1,
9787
9996
  onClick: (e) => e.stopPropagation(),
9788
9997
  children: [
9789
- (title || !hideCloseButton) && /* @__PURE__ */ jsxRuntime.jsxs(Header, { children: [
9998
+ (title || !hideCloseButton) && /* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
9790
9999
  title ? /* @__PURE__ */ jsxRuntime.jsx(Title7, { id: "modal-title", children: title }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
9791
10000
  !hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx(CloseButton3, { "aria-label": "Zamknij", onClick: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon__default.default, { "aria-hidden": true, style: { fontSize: 16 } }) })
9792
10001
  ] }),
@@ -9799,7 +10008,7 @@ function Modal({
9799
10008
  );
9800
10009
  }
9801
10010
  var modalSizes = ["sm", "md", "lg", "xl", "full"];
9802
- var Root42 = styles.styled("div")({ width: "100%" });
10011
+ var Root47 = styles.styled("div")({ width: "100%" });
9803
10012
  var TabList = styles.styled("div", {
9804
10013
  shouldForwardProp: (prop) => prop !== "$variant"
9805
10014
  })(({ theme, $variant }) => ({
@@ -9879,7 +10088,7 @@ var Tabs = react.forwardRef(
9879
10088
  onChange?.(key);
9880
10089
  };
9881
10090
  const activeTab = tabs.find((t) => t.key === activeKey);
9882
- return /* @__PURE__ */ jsxRuntime.jsxs(Root42, { ref, ...props, children: [
10091
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root47, { ref, ...props, children: [
9883
10092
  /* @__PURE__ */ jsxRuntime.jsx(TabList, { role: "tablist", $variant: variant, children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
9884
10093
  TabButton,
9885
10094
  {
@@ -9911,6 +10120,79 @@ var Tabs = react.forwardRef(
9911
10120
  );
9912
10121
  Tabs.displayName = "Tabs";
9913
10122
  var tabsVariants = ["underline", "pills", "bordered"];
10123
+ var Root48 = styles.styled("div")(({ theme }) => ({
10124
+ display: "grid",
10125
+ gridTemplateColumns: "4.5rem 1fr",
10126
+ gap: "0.875rem",
10127
+ paddingBottom: "1rem",
10128
+ borderBottom: `1px solid ${theme.palette.divider}`
10129
+ }));
10130
+ var ImageWrap5 = styles.styled("div")(({ theme }) => ({
10131
+ position: "relative",
10132
+ width: "4.5rem",
10133
+ height: "4.5rem",
10134
+ borderRadius: theme.shape.borderRadius,
10135
+ overflow: "hidden",
10136
+ flexShrink: 0
10137
+ }));
10138
+ var Info4 = styles.styled("div")({ display: "grid", gap: "0.5rem" });
10139
+ var Row5 = styles.styled("div")({
10140
+ display: "flex",
10141
+ alignItems: "center",
10142
+ justifyContent: "space-between",
10143
+ gap: "0.75rem"
10144
+ });
10145
+ var Name10 = styles.styled("p")(({ theme }) => ({
10146
+ margin: 0,
10147
+ color: theme.palette.text.primary,
10148
+ fontFamily: theme.typography.fontFamily,
10149
+ fontWeight: 700
10150
+ }));
10151
+ var Price3 = styles.styled("p")(({ theme }) => ({
10152
+ margin: 0,
10153
+ color: theme.palette.text.secondary,
10154
+ fontFamily: theme.typography.fontFamily,
10155
+ fontSize: "0.875rem"
10156
+ }));
10157
+ var RemoveButton2 = styles.styled("button")(({ theme }) => ({
10158
+ border: 0,
10159
+ background: "transparent",
10160
+ color: theme.palette.error.main,
10161
+ cursor: "pointer",
10162
+ padding: 0,
10163
+ fontFamily: theme.typography.fontFamily,
10164
+ fontSize: "0.875rem"
10165
+ }));
10166
+ var CartDrawerItem = ({
10167
+ id,
10168
+ name,
10169
+ price,
10170
+ quantity,
10171
+ imageUrl,
10172
+ imageAlt,
10173
+ onQuantityChange,
10174
+ onRemove
10175
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(Root48, { children: [
10176
+ /* @__PURE__ */ jsxRuntime.jsx(ImageWrap5, { children: /* @__PURE__ */ jsxRuntime.jsx(ProductCardImage, { src: imageUrl, alt: imageAlt ?? name }) }),
10177
+ /* @__PURE__ */ jsxRuntime.jsxs(Info4, { children: [
10178
+ /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10179
+ /* @__PURE__ */ jsxRuntime.jsx(Name10, { children: name }),
10180
+ /* @__PURE__ */ jsxRuntime.jsx(Price3, { children: price })
10181
+ ] }),
10182
+ /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10183
+ /* @__PURE__ */ jsxRuntime.jsx(
10184
+ QuantitySelector,
10185
+ {
10186
+ value: quantity,
10187
+ min: 1,
10188
+ onChange: (qty) => onQuantityChange?.(id, qty)
10189
+ }
10190
+ ),
10191
+ /* @__PURE__ */ jsxRuntime.jsx(RemoveButton2, { type: "button", onClick: () => onRemove?.(id), children: "Usu\u0144" })
10192
+ ] })
10193
+ ] })
10194
+ ] });
10195
+ CartDrawerItem.displayName = "CartDrawerItem";
9914
10196
  var Overlay3 = styles.styled("div")(({ $open }) => ({
9915
10197
  position: "fixed",
9916
10198
  inset: 0,
@@ -9930,7 +10212,7 @@ var Panel3 = styles.styled("aside")(({ theme }) => ({
9930
10212
  boxShadow: theme.shadows[5],
9931
10213
  fontFamily: theme.typography.fontFamily
9932
10214
  }));
9933
- var Header2 = styles.styled("div")(({ theme }) => ({
10215
+ var Header3 = styles.styled("div")(({ theme }) => ({
9934
10216
  display: "flex",
9935
10217
  alignItems: "center",
9936
10218
  justifyContent: "space-between",
@@ -9943,63 +10225,24 @@ var Title8 = styles.styled("h2")(({ theme }) => ({
9943
10225
  color: theme.palette.text.primary
9944
10226
  }));
9945
10227
  var IconButton = styles.styled("button")(({ theme }) => ({
9946
- border: 0,
9947
- background: "transparent",
9948
- color: theme.palette.text.primary,
9949
- cursor: "pointer",
9950
- fontSize: "1.5rem"
9951
- }));
9952
- var Items = styles.styled("div")({
9953
- display: "grid",
9954
- gap: "1rem",
9955
- padding: "1rem 1.25rem",
9956
- overflow: "auto"
9957
- });
9958
- var Item3 = styles.styled("div")(({ theme }) => ({
9959
- display: "grid",
9960
- gridTemplateColumns: "4.5rem 1fr",
9961
- gap: "0.875rem",
9962
- paddingBottom: "1rem",
9963
- borderBottom: `1px solid ${theme.palette.divider}`
9964
- }));
9965
- var ItemImage = styles.styled("img")(({ theme }) => ({
9966
- width: "4.5rem",
9967
- height: "4.5rem",
9968
- borderRadius: theme.shape.borderRadius,
9969
- objectFit: "cover",
9970
- backgroundColor: theme.palette.action.hover
9971
- }));
9972
- var PlaceholderImage = styles.styled("div")(({ theme }) => ({
9973
- width: "4.5rem",
9974
- height: "4.5rem",
9975
- borderRadius: theme.shape.borderRadius,
9976
- backgroundColor: theme.palette.action.hover
9977
- }));
9978
- var ItemInfo = styles.styled("div")({ display: "grid", gap: "0.5rem" });
9979
- var ItemName = styles.styled("p")(({ theme }) => ({
9980
- margin: 0,
9981
- color: theme.palette.text.primary,
9982
- fontWeight: 700
9983
- }));
9984
- var ItemMeta = styles.styled("p")(({ theme }) => ({
9985
- margin: 0,
9986
- color: theme.palette.text.secondary,
9987
- fontSize: "0.875rem"
10228
+ border: 0,
10229
+ background: "transparent",
10230
+ color: theme.palette.text.primary,
10231
+ cursor: "pointer",
10232
+ fontSize: "1.5rem"
9988
10233
  }));
9989
- var Row4 = styles.styled("div")({
10234
+ var Items = styles.styled("div")({
10235
+ display: "grid",
10236
+ gap: "1rem",
10237
+ padding: "1rem 1.25rem",
10238
+ overflow: "auto"
10239
+ });
10240
+ var Row6 = styles.styled("div")({
9990
10241
  display: "flex",
9991
10242
  alignItems: "center",
9992
10243
  justifyContent: "space-between",
9993
10244
  gap: "0.75rem"
9994
10245
  });
9995
- var RemoveButton2 = styles.styled("button")(({ theme }) => ({
9996
- border: 0,
9997
- background: "transparent",
9998
- color: theme.palette.error.main,
9999
- cursor: "pointer",
10000
- padding: 0,
10001
- fontSize: "0.875rem"
10002
- }));
10003
10246
  var Footer5 = styles.styled("div")(({ theme }) => ({
10004
10247
  display: "grid",
10005
10248
  gap: "1rem",
@@ -10021,32 +10264,21 @@ var CartDrawer = react.forwardRef(
10021
10264
  onRemove,
10022
10265
  ...props
10023
10266
  }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Overlay3, { $open: open, children: /* @__PURE__ */ jsxRuntime.jsxs(Panel3, { ref, "aria-hidden": !open, "aria-label": title, ...props, children: [
10024
- /* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
10267
+ /* @__PURE__ */ jsxRuntime.jsxs(Header3, { children: [
10025
10268
  /* @__PURE__ */ jsxRuntime.jsx(Title8, { children: title }),
10026
10269
  /* @__PURE__ */ jsxRuntime.jsx(IconButton, { type: "button", "aria-label": closeLabel, onClick: onClose, children: "\xD7" })
10027
10270
  ] }),
10028
- /* @__PURE__ */ jsxRuntime.jsx(Items, { children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(Item3, { children: [
10029
- item.imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(ItemImage, { src: item.imageUrl, alt: item.imageAlt ?? item.name }) : /* @__PURE__ */ jsxRuntime.jsx(PlaceholderImage, {}),
10030
- /* @__PURE__ */ jsxRuntime.jsxs(ItemInfo, { children: [
10031
- /* @__PURE__ */ jsxRuntime.jsxs(Row4, { children: [
10032
- /* @__PURE__ */ jsxRuntime.jsx(ItemName, { children: item.name }),
10033
- /* @__PURE__ */ jsxRuntime.jsx(ItemMeta, { children: item.price })
10034
- ] }),
10035
- /* @__PURE__ */ jsxRuntime.jsxs(Row4, { children: [
10036
- /* @__PURE__ */ jsxRuntime.jsx(
10037
- QuantitySelector,
10038
- {
10039
- value: item.quantity,
10040
- min: 1,
10041
- onChange: (quantity) => onQuantityChange?.(item.id, quantity)
10042
- }
10043
- ),
10044
- /* @__PURE__ */ jsxRuntime.jsx(RemoveButton2, { type: "button", onClick: () => onRemove?.(item.id), children: "Usu\u0144" })
10045
- ] })
10046
- ] })
10047
- ] }, item.id)) }),
10271
+ /* @__PURE__ */ jsxRuntime.jsx(Items, { children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
10272
+ CartDrawerItem,
10273
+ {
10274
+ ...item,
10275
+ onQuantityChange,
10276
+ onRemove
10277
+ },
10278
+ item.id
10279
+ )) }),
10048
10280
  /* @__PURE__ */ jsxRuntime.jsxs(Footer5, { children: [
10049
- /* @__PURE__ */ jsxRuntime.jsxs(Row4, { children: [
10281
+ /* @__PURE__ */ jsxRuntime.jsxs(Row6, { children: [
10050
10282
  /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Suma" }),
10051
10283
  /* @__PURE__ */ jsxRuntime.jsx("strong", { children: subtotal })
10052
10284
  ] }),
@@ -10055,7 +10287,7 @@ var CartDrawer = react.forwardRef(
10055
10287
  ] }) })
10056
10288
  );
10057
10289
  CartDrawer.displayName = "CartDrawer";
10058
- var Root43 = styles.styled("aside")(({ theme }) => ({
10290
+ var Root49 = styles.styled("aside")(({ theme }) => ({
10059
10291
  display: "grid",
10060
10292
  gap: "1.5rem",
10061
10293
  width: "100%",
@@ -10066,7 +10298,7 @@ var Root43 = styles.styled("aside")(({ theme }) => ({
10066
10298
  backgroundColor: theme.palette.background.paper,
10067
10299
  fontFamily: theme.typography.fontFamily
10068
10300
  }));
10069
- var Header3 = styles.styled("div")({
10301
+ var Header4 = styles.styled("div")({
10070
10302
  display: "flex",
10071
10303
  alignItems: "center",
10072
10304
  justifyContent: "space-between",
@@ -10147,8 +10379,8 @@ var FilterSidebar = react.forwardRef(
10147
10379
  onPriceRangeChange,
10148
10380
  onClear,
10149
10381
  ...props
10150
- }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root43, { ref, "aria-label": "Filtry produkt\xF3w", ...props, children: [
10151
- /* @__PURE__ */ jsxRuntime.jsxs(Header3, { children: [
10382
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root49, { ref, "aria-label": "Filtry produkt\xF3w", ...props, children: [
10383
+ /* @__PURE__ */ jsxRuntime.jsxs(Header4, { children: [
10152
10384
  /* @__PURE__ */ jsxRuntime.jsx(Title9, { children: "Filtry" }),
10153
10385
  onClear && /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", onClick: onClear, children: "Wyczy\u015B\u0107" })
10154
10386
  ] }),
@@ -10190,52 +10422,22 @@ var FilterSidebar = react.forwardRef(
10190
10422
  ] })
10191
10423
  );
10192
10424
  FilterSidebar.displayName = "FilterSidebar";
10193
- var Root44 = styles.styled(Card)({ display: "grid", gap: "1rem" });
10194
- var Title10 = styles.styled("h2")(({ theme }) => ({
10195
- margin: 0,
10196
- fontFamily: theme.typography.fontFamily,
10197
- fontSize: "1.125rem",
10198
- fontWeight: 800,
10199
- color: theme.palette.text.primary
10200
- }));
10201
- var Rows = styles.styled("dl")({ display: "grid", gap: "0.75rem", margin: 0 });
10202
- var SectionTitle = styles.styled("h3")(({ theme }) => ({
10203
- margin: 0,
10204
- fontFamily: theme.typography.fontFamily,
10205
- fontSize: "0.875rem",
10206
- fontWeight: 800,
10207
- color: theme.palette.text.primary
10208
- }));
10209
- var ItemList = styles.styled("ul")({
10210
- display: "grid",
10211
- gap: "0.875rem",
10212
- padding: 0,
10213
- margin: 0,
10214
- listStyle: "none"
10215
- });
10216
- var Item4 = styles.styled("li")({
10425
+ var Root50 = styles.styled("li")({
10217
10426
  display: "grid",
10218
10427
  gridTemplateColumns: "3.5rem 1fr auto",
10219
10428
  alignItems: "center",
10220
10429
  gap: "0.75rem"
10221
10430
  });
10222
- var ItemImage2 = styles.styled("img")(({ theme }) => ({
10223
- width: "3.5rem",
10224
- height: "3.5rem",
10225
- borderRadius: theme.shape.borderRadius,
10226
- objectFit: "cover",
10227
- backgroundColor: theme.palette.action.hover
10228
- }));
10229
- var ItemImagePlaceholder = styles.styled("div")(({ theme }) => ({
10431
+ var ImageWrap6 = styles.styled("div")(({ theme }) => ({
10432
+ position: "relative",
10230
10433
  width: "3.5rem",
10231
10434
  height: "3.5rem",
10232
10435
  borderRadius: theme.shape.borderRadius,
10233
- backgroundColor: theme.palette.action.hover
10436
+ overflow: "hidden",
10437
+ flexShrink: 0
10234
10438
  }));
10235
- var ItemInfo2 = styles.styled("div")({
10236
- minWidth: 0
10237
- });
10238
- var ItemName2 = styles.styled("p")(({ theme }) => ({
10439
+ var Info5 = styles.styled("div")({ minWidth: 0 });
10440
+ var Name11 = styles.styled("p")(({ theme }) => ({
10239
10441
  margin: 0,
10240
10442
  color: theme.palette.text.primary,
10241
10443
  fontFamily: theme.typography.fontFamily,
@@ -10243,39 +10445,88 @@ var ItemName2 = styles.styled("p")(({ theme }) => ({
10243
10445
  fontWeight: 700,
10244
10446
  lineHeight: 1.4
10245
10447
  }));
10246
- var ItemMeta2 = styles.styled("p")(({ theme }) => ({
10448
+ var Meta2 = styles.styled("p")(({ theme }) => ({
10247
10449
  margin: "0.25rem 0 0",
10248
10450
  color: theme.palette.text.secondary,
10249
10451
  fontFamily: theme.typography.fontFamily,
10250
10452
  fontSize: "0.8125rem",
10251
10453
  lineHeight: 1.4
10252
10454
  }));
10253
- var ItemPrice = styles.styled("span")(({ theme }) => ({
10455
+ var Price4 = styles.styled("span")(({ theme }) => ({
10254
10456
  color: theme.palette.text.primary,
10255
10457
  fontFamily: theme.typography.fontFamily,
10256
10458
  fontSize: "0.875rem",
10257
10459
  fontWeight: 800,
10258
10460
  whiteSpace: "nowrap"
10259
10461
  }));
10260
- var Row5 = styles.styled("div")(({ theme }) => ({
10462
+ var OrderSummaryItem = ({
10463
+ name,
10464
+ price,
10465
+ imageUrl,
10466
+ imageAlt,
10467
+ quantity,
10468
+ meta
10469
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(Root50, { children: [
10470
+ /* @__PURE__ */ jsxRuntime.jsx(ImageWrap6, { children: /* @__PURE__ */ jsxRuntime.jsx(ProductCardImage, { src: imageUrl, alt: imageAlt ?? String(name) }) }),
10471
+ /* @__PURE__ */ jsxRuntime.jsxs(Info5, { children: [
10472
+ /* @__PURE__ */ jsxRuntime.jsx(Name11, { children: name }),
10473
+ (quantity !== void 0 || meta) && /* @__PURE__ */ jsxRuntime.jsxs(Meta2, { children: [
10474
+ quantity !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10475
+ "Ilo\u015B\u0107: ",
10476
+ quantity
10477
+ ] }),
10478
+ quantity !== void 0 && meta && " \xB7 ",
10479
+ meta
10480
+ ] })
10481
+ ] }),
10482
+ /* @__PURE__ */ jsxRuntime.jsx(Price4, { children: price })
10483
+ ] });
10484
+ OrderSummaryItem.displayName = "OrderSummaryItem";
10485
+ var Root51 = styles.styled("div", {
10486
+ shouldForwardProp: (prop) => prop !== "$total"
10487
+ })(({ theme, $total }) => ({
10261
10488
  display: "flex",
10262
10489
  justifyContent: "space-between",
10263
10490
  gap: "1rem",
10264
- color: theme.palette.text.secondary,
10491
+ color: $total ? theme.palette.text.primary : theme.palette.text.secondary,
10265
10492
  fontFamily: theme.typography.fontFamily,
10266
- fontSize: "0.875rem",
10493
+ fontSize: $total ? "1rem" : "0.875rem",
10494
+ fontWeight: $total ? 800 : 400,
10267
10495
  "& dt, & dd": { margin: 0 }
10268
10496
  }));
10497
+ var OrderSummaryRow = ({ label, value, total = false }) => /* @__PURE__ */ jsxRuntime.jsxs(Root51, { as: "div", $total: total, children: [
10498
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { children: label }),
10499
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { children: value })
10500
+ ] });
10501
+ OrderSummaryRow.displayName = "OrderSummaryRow";
10502
+ var Root52 = styles.styled(Card)({ display: "grid", gap: "1rem" });
10503
+ var Title10 = styles.styled("h2")(({ theme }) => ({
10504
+ margin: 0,
10505
+ fontFamily: theme.typography.fontFamily,
10506
+ fontSize: "1.125rem",
10507
+ fontWeight: 800,
10508
+ color: theme.palette.text.primary
10509
+ }));
10510
+ var Rows = styles.styled("dl")({ display: "grid", gap: "0.75rem", margin: 0 });
10511
+ var SectionTitle = styles.styled("h3")(({ theme }) => ({
10512
+ margin: 0,
10513
+ fontFamily: theme.typography.fontFamily,
10514
+ fontSize: "0.875rem",
10515
+ fontWeight: 800,
10516
+ color: theme.palette.text.primary
10517
+ }));
10518
+ var ItemList = styles.styled("ul")({
10519
+ display: "grid",
10520
+ gap: "0.875rem",
10521
+ padding: 0,
10522
+ margin: 0,
10523
+ listStyle: "none"
10524
+ });
10269
10525
  var Divider3 = styles.styled("hr")(({ theme }) => ({
10270
10526
  width: "100%",
10271
10527
  border: 0,
10272
10528
  borderTop: `1px solid ${theme.palette.divider}`
10273
10529
  }));
10274
- var TotalRow = styles.styled(Row5)(({ theme }) => ({
10275
- color: theme.palette.text.primary,
10276
- fontSize: "1rem",
10277
- fontWeight: 800
10278
- }));
10279
10530
  var OrderSummary = react.forwardRef(
10280
10531
  ({
10281
10532
  title = "Podsumowanie zam\xF3wienia",
@@ -10290,59 +10541,27 @@ var OrderSummary = react.forwardRef(
10290
10541
  ctaLabel = "Przejd\u017A do kasy",
10291
10542
  onCheckout,
10292
10543
  ...props
10293
- }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root44, { ref, variant: "default", padding: "lg", rounded: "lg", ...props, children: [
10544
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root52, { ref, variant: "default", padding: "lg", rounded: "lg", ...props, children: [
10294
10545
  /* @__PURE__ */ jsxRuntime.jsx(Title10, { children: title }),
10295
10546
  items.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10296
10547
  /* @__PURE__ */ jsxRuntime.jsx(SectionTitle, { children: itemsTitle }),
10297
- /* @__PURE__ */ jsxRuntime.jsx(ItemList, { children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(Item4, { children: [
10298
- item.imageUrl ? /* @__PURE__ */ jsxRuntime.jsx(ItemImage2, { src: item.imageUrl, alt: item.imageAlt ?? String(item.name) }) : /* @__PURE__ */ jsxRuntime.jsx(ItemImagePlaceholder, { "aria-hidden": "true" }),
10299
- /* @__PURE__ */ jsxRuntime.jsxs(ItemInfo2, { children: [
10300
- /* @__PURE__ */ jsxRuntime.jsx(ItemName2, { children: item.name }),
10301
- (item.quantity !== void 0 || item.meta) && /* @__PURE__ */ jsxRuntime.jsxs(ItemMeta2, { children: [
10302
- item.quantity !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10303
- "Ilo\u015B\u0107: ",
10304
- item.quantity
10305
- ] }),
10306
- item.quantity !== void 0 && item.meta && " \xB7 ",
10307
- item.meta
10308
- ] })
10309
- ] }),
10310
- /* @__PURE__ */ jsxRuntime.jsx(ItemPrice, { children: item.price })
10311
- ] }, item.id)) }),
10548
+ /* @__PURE__ */ jsxRuntime.jsx(ItemList, { children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryItem, { ...item }, item.id)) }),
10312
10549
  /* @__PURE__ */ jsxRuntime.jsx(Divider3, {})
10313
10550
  ] }),
10314
10551
  /* @__PURE__ */ jsxRuntime.jsxs(Rows, { children: [
10315
- /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10316
- /* @__PURE__ */ jsxRuntime.jsx("dt", { children: "Warto\u015B\u0107 produkt\xF3w" }),
10317
- /* @__PURE__ */ jsxRuntime.jsx("dd", { children: subtotal })
10318
- ] }),
10319
- shipping !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10320
- /* @__PURE__ */ jsxRuntime.jsx("dt", { children: "Dostawa" }),
10321
- /* @__PURE__ */ jsxRuntime.jsx("dd", { children: shipping })
10322
- ] }),
10323
- tax !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10324
- /* @__PURE__ */ jsxRuntime.jsx("dt", { children: "Podatek" }),
10325
- /* @__PURE__ */ jsxRuntime.jsx("dd", { children: tax })
10326
- ] }),
10327
- discount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10328
- /* @__PURE__ */ jsxRuntime.jsx("dt", { children: "Rabat" }),
10329
- /* @__PURE__ */ jsxRuntime.jsx("dd", { children: discount })
10330
- ] }),
10331
- lines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsxs(Row5, { children: [
10332
- /* @__PURE__ */ jsxRuntime.jsx("dt", { children: line.label }),
10333
- /* @__PURE__ */ jsxRuntime.jsx("dd", { children: line.value })
10334
- ] }, index))
10552
+ /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryRow, { label: "Warto\u015B\u0107 produkt\xF3w", value: subtotal }),
10553
+ shipping !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryRow, { label: "Dostawa", value: shipping }),
10554
+ tax !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryRow, { label: "Podatek", value: tax }),
10555
+ discount !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryRow, { label: "Rabat", value: discount }),
10556
+ lines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryRow, { label: line.label, value: line.value }, index))
10335
10557
  ] }),
10336
10558
  /* @__PURE__ */ jsxRuntime.jsx(Divider3, {}),
10337
- /* @__PURE__ */ jsxRuntime.jsx(Rows, { children: /* @__PURE__ */ jsxRuntime.jsxs(TotalRow, { children: [
10338
- /* @__PURE__ */ jsxRuntime.jsx("dt", { children: "Razem" }),
10339
- /* @__PURE__ */ jsxRuntime.jsx("dd", { children: total })
10340
- ] }) }),
10559
+ /* @__PURE__ */ jsxRuntime.jsx(Rows, { children: /* @__PURE__ */ jsxRuntime.jsx(OrderSummaryRow, { label: "Razem", value: total, total: true }) }),
10341
10560
  /* @__PURE__ */ jsxRuntime.jsx(Button, { fullWidth: true, onClick: onCheckout, children: ctaLabel })
10342
10561
  ] })
10343
10562
  );
10344
10563
  OrderSummary.displayName = "OrderSummary";
10345
- var Root45 = styles.styled("div")(({ theme }) => ({
10564
+ var Root53 = styles.styled("div")(({ theme }) => ({
10346
10565
  fontFamily: theme.typography.fontFamily
10347
10566
  }));
10348
10567
  var Grid2 = styles.styled("div", {
@@ -10377,17 +10596,81 @@ var ScrollTrack = styles.styled("div")({
10377
10596
  }
10378
10597
  });
10379
10598
  var RelatedProducts = react.forwardRef(
10380
- ({ products, title = "Podobne produkty", layout = "grid", columns = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root45, { ref, ...props, children: [
10599
+ ({ products, title = "Podobne produkty", layout = "grid", columns = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root53, { ref, ...props, children: [
10381
10600
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeading, { title, align: "left", style: { marginBottom: "1.5rem" } }),
10382
10601
  layout === "scroll" ? /* @__PURE__ */ jsxRuntime.jsx(ScrollTrack, { children: products.map((product, i) => /* @__PURE__ */ jsxRuntime.jsx(ProductCard, { ...product }, product.name + i)) }) : /* @__PURE__ */ jsxRuntime.jsx(Grid2, { $columns: columns, children: products.map((product, i) => /* @__PURE__ */ jsxRuntime.jsx(ProductCard, { ...product }, product.name + i)) })
10383
10602
  ] })
10384
10603
  );
10385
10604
  RelatedProducts.displayName = "RelatedProducts";
10386
10605
  var relatedProductsLayouts = ["grid", "scroll"];
10387
- var Root46 = styles.styled("div")(({ theme }) => ({
10606
+ var Card2 = styles.styled("div")(({ theme }) => ({
10607
+ padding: "1.25rem",
10608
+ border: `1px solid ${theme.palette.divider}`,
10609
+ borderRadius: theme.shape.borderRadius,
10610
+ display: "flex",
10611
+ flexDirection: "column",
10612
+ gap: "0.75rem",
10388
10613
  fontFamily: theme.typography.fontFamily
10389
10614
  }));
10390
- var Summary = styles.styled("div")(({ theme }) => ({
10615
+ var Header5 = styles.styled("div")({
10616
+ display: "flex",
10617
+ alignItems: "flex-start",
10618
+ gap: "0.875rem"
10619
+ });
10620
+ var AuthorInfo = styles.styled("div")({ flex: 1 });
10621
+ var AuthorName = styles.styled("div")(({ theme }) => ({
10622
+ display: "flex",
10623
+ alignItems: "center",
10624
+ gap: "0.375rem",
10625
+ fontSize: "0.9375rem",
10626
+ fontWeight: 700,
10627
+ color: theme.palette.text.primary
10628
+ }));
10629
+ var ReviewDate = styles.styled("div")(({ theme }) => ({
10630
+ fontSize: "0.8125rem",
10631
+ color: theme.palette.text.secondary,
10632
+ marginTop: "0.125rem"
10633
+ }));
10634
+ var Title11 = styles.styled("div")(({ theme }) => ({
10635
+ fontSize: "0.9375rem",
10636
+ fontWeight: 700,
10637
+ color: theme.palette.text.primary
10638
+ }));
10639
+ var Content3 = styles.styled("p")(({ theme }) => ({
10640
+ margin: 0,
10641
+ fontSize: "0.9375rem",
10642
+ color: theme.palette.text.secondary,
10643
+ lineHeight: 1.6
10644
+ }));
10645
+ var HelpfulRow = styles.styled("div")(({ theme }) => ({
10646
+ display: "flex",
10647
+ alignItems: "center",
10648
+ gap: "0.375rem",
10649
+ fontSize: "0.8125rem",
10650
+ color: theme.palette.text.secondary
10651
+ }));
10652
+ var ReviewItem = ({ review }) => /* @__PURE__ */ jsxRuntime.jsxs(Card2, { children: [
10653
+ /* @__PURE__ */ jsxRuntime.jsxs(Header5, { children: [
10654
+ /* @__PURE__ */ jsxRuntime.jsx(Avatar, { initials: review.author.slice(0, 2).toUpperCase(), size: "sm" }),
10655
+ /* @__PURE__ */ jsxRuntime.jsxs(AuthorInfo, { children: [
10656
+ /* @__PURE__ */ jsxRuntime.jsxs(AuthorName, { children: [
10657
+ review.author,
10658
+ review.verified && /* @__PURE__ */ jsxRuntime.jsx(VerifiedIcon__default.default, { "aria-label": "Zweryfikowany zakup", style: { fontSize: 14, color: "#16a34a" } })
10659
+ ] }),
10660
+ /* @__PURE__ */ jsxRuntime.jsx(ReviewDate, { children: review.date })
10661
+ ] }),
10662
+ /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: review.rating, size: "sm", readonly: true })
10663
+ ] }),
10664
+ review.title && /* @__PURE__ */ jsxRuntime.jsx(Title11, { children: review.title }),
10665
+ /* @__PURE__ */ jsxRuntime.jsx(Content3, { children: review.content }),
10666
+ review.helpfulCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(HelpfulRow, { children: [
10667
+ /* @__PURE__ */ jsxRuntime.jsx(ThumbUpOutlinedIcon__default.default, { "aria-hidden": true, style: { fontSize: 14 } }),
10668
+ review.helpfulCount,
10669
+ " os\xF3b uzna\u0142o t\u0119 recenzj\u0119 za pomocn\u0105"
10670
+ ] })
10671
+ ] });
10672
+ ReviewItem.displayName = "ReviewItem";
10673
+ var Root54 = styles.styled("div")(({ theme }) => ({
10391
10674
  display: "flex",
10392
10675
  alignItems: "center",
10393
10676
  gap: "2rem",
@@ -10395,7 +10678,7 @@ var Summary = styles.styled("div")(({ theme }) => ({
10395
10678
  padding: "1.5rem",
10396
10679
  backgroundColor: theme.palette.action.hover,
10397
10680
  borderRadius: theme.shape.borderRadius,
10398
- marginBottom: "2rem"
10681
+ fontFamily: theme.typography.fontFamily
10399
10682
  }));
10400
10683
  var AverageBlock = styles.styled("div")({
10401
10684
  display: "flex",
@@ -10403,13 +10686,23 @@ var AverageBlock = styles.styled("div")({
10403
10686
  alignItems: "center",
10404
10687
  gap: "0.25rem"
10405
10688
  });
10406
- var AverageScore = styles.styled("span")(({ theme }) => ({
10689
+ var Score = styles.styled("span")(({ theme }) => ({
10407
10690
  fontSize: "3rem",
10408
10691
  fontWeight: 800,
10409
10692
  lineHeight: 1,
10410
10693
  color: theme.palette.text.primary
10411
10694
  }));
10412
- var Distribution = styles.styled("div")({ flex: 1, display: "flex", flexDirection: "column", gap: "0.375rem" });
10695
+ var ReviewCount = styles.styled("span")(({ theme }) => ({
10696
+ fontSize: "0.8125rem",
10697
+ marginTop: "0.25rem",
10698
+ color: theme.palette.text.secondary
10699
+ }));
10700
+ var Distribution = styles.styled("div")({
10701
+ flex: 1,
10702
+ display: "flex",
10703
+ flexDirection: "column",
10704
+ gap: "0.375rem"
10705
+ });
10413
10706
  var DistRow = styles.styled("div")({ display: "flex", alignItems: "center", gap: "0.75rem" });
10414
10707
  var DistLabel = styles.styled("span")(({ theme }) => ({
10415
10708
  fontSize: "0.8125rem",
@@ -10433,117 +10726,60 @@ var DistFill = styles.styled("div", {
10433
10726
  borderRadius: "9999px",
10434
10727
  transition: "width 400ms ease"
10435
10728
  }));
10729
+ var ReviewSummary = ({
10730
+ averageRating,
10731
+ totalReviews,
10732
+ ratingDistribution
10733
+ }) => {
10734
+ const totalDist = ratingDistribution ? Object.values(ratingDistribution).reduce((a, b) => a + b, 0) : 0;
10735
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root54, { children: [
10736
+ /* @__PURE__ */ jsxRuntime.jsxs(AverageBlock, { children: [
10737
+ /* @__PURE__ */ jsxRuntime.jsx(Score, { children: averageRating.toFixed(1) }),
10738
+ /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: averageRating, size: "sm", readonly: true }),
10739
+ totalReviews !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(ReviewCount, { children: [
10740
+ totalReviews,
10741
+ " opinii"
10742
+ ] })
10743
+ ] }),
10744
+ ratingDistribution && /* @__PURE__ */ jsxRuntime.jsx(Distribution, { children: [5, 4, 3, 2, 1].map((star) => {
10745
+ const count = ratingDistribution[star] ?? 0;
10746
+ const pct2 = totalDist > 0 ? count / totalDist * 100 : 0;
10747
+ return /* @__PURE__ */ jsxRuntime.jsxs(DistRow, { children: [
10748
+ /* @__PURE__ */ jsxRuntime.jsxs(DistLabel, { children: [
10749
+ star,
10750
+ "\u2605"
10751
+ ] }),
10752
+ /* @__PURE__ */ jsxRuntime.jsx(DistBar, { children: /* @__PURE__ */ jsxRuntime.jsx(DistFill, { $pct: pct2 }) }),
10753
+ /* @__PURE__ */ jsxRuntime.jsx(DistLabel, { style: { textAlign: "left" }, children: count })
10754
+ ] }, star);
10755
+ }) })
10756
+ ] });
10757
+ };
10758
+ ReviewSummary.displayName = "ReviewSummary";
10759
+ var Root55 = styles.styled("div")(({ theme }) => ({
10760
+ fontFamily: theme.typography.fontFamily
10761
+ }));
10436
10762
  var ReviewList = styles.styled("div")({
10437
10763
  display: "flex",
10438
10764
  flexDirection: "column",
10439
10765
  gap: "1.5rem"
10440
10766
  });
10441
- var ReviewCard = styles.styled("div")(({ theme }) => ({
10442
- padding: "1.25rem",
10443
- border: `1px solid ${theme.palette.divider}`,
10444
- borderRadius: theme.shape.borderRadius,
10445
- display: "flex",
10446
- flexDirection: "column",
10447
- gap: "0.75rem"
10448
- }));
10449
- var ReviewHeader = styles.styled("div")({
10450
- display: "flex",
10451
- alignItems: "flex-start",
10452
- gap: "0.875rem"
10453
- });
10454
- var AuthorInfo2 = styles.styled("div")({ flex: 1 });
10455
- var AuthorName2 = styles.styled("div")(({ theme }) => ({
10456
- display: "flex",
10457
- alignItems: "center",
10458
- gap: "0.375rem",
10459
- fontSize: "0.9375rem",
10460
- fontWeight: 700,
10461
- color: theme.palette.text.primary
10462
- }));
10463
- var ReviewDate = styles.styled("div")(({ theme }) => ({
10464
- fontSize: "0.8125rem",
10465
- color: theme.palette.text.secondary,
10466
- marginTop: "0.125rem"
10467
- }));
10468
- var ReviewTitle = styles.styled("div")(({ theme }) => ({
10469
- fontSize: "0.9375rem",
10470
- fontWeight: 700,
10471
- color: theme.palette.text.primary
10472
- }));
10473
- var ReviewContent = styles.styled("p")(({ theme }) => ({
10474
- margin: 0,
10475
- fontSize: "0.9375rem",
10476
- color: theme.palette.text.secondary,
10477
- lineHeight: 1.6
10478
- }));
10479
- var HelpfulRow = styles.styled("div")(({ theme }) => ({
10480
- display: "flex",
10481
- alignItems: "center",
10482
- gap: "0.375rem",
10483
- fontSize: "0.8125rem",
10484
- color: theme.palette.text.secondary
10485
- }));
10486
- function ReviewItem({ review }) {
10487
- return /* @__PURE__ */ jsxRuntime.jsxs(ReviewCard, { children: [
10488
- /* @__PURE__ */ jsxRuntime.jsxs(ReviewHeader, { children: [
10489
- /* @__PURE__ */ jsxRuntime.jsx(
10490
- Avatar,
10491
- {
10492
- initials: review.author.slice(0, 2).toUpperCase(),
10493
- size: "sm"
10494
- }
10495
- ),
10496
- /* @__PURE__ */ jsxRuntime.jsxs(AuthorInfo2, { children: [
10497
- /* @__PURE__ */ jsxRuntime.jsxs(AuthorName2, { children: [
10498
- review.author,
10499
- review.verified && /* @__PURE__ */ jsxRuntime.jsx(VerifiedIcon__default.default, { "aria-label": "Zweryfikowany zakup", style: { fontSize: 14, color: "#16a34a" } })
10500
- ] }),
10501
- /* @__PURE__ */ jsxRuntime.jsx(ReviewDate, { children: review.date })
10502
- ] }),
10503
- /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: review.rating, size: "sm", readonly: true })
10504
- ] }),
10505
- review.title && /* @__PURE__ */ jsxRuntime.jsx(ReviewTitle, { children: review.title }),
10506
- /* @__PURE__ */ jsxRuntime.jsx(ReviewContent, { children: review.content }),
10507
- review.helpfulCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(HelpfulRow, { children: [
10508
- /* @__PURE__ */ jsxRuntime.jsx(ThumbUpOutlinedIcon__default.default, { "aria-hidden": true, style: { fontSize: 14 } }),
10509
- review.helpfulCount,
10510
- " os\xF3b uzna\u0142o t\u0119 recenzj\u0119 za pomocn\u0105"
10511
- ] })
10512
- ] });
10513
- }
10514
10767
  var ReviewSection = react.forwardRef(
10515
- ({ reviews, averageRating, totalReviews, title = "Opinie klient\xF3w", ratingDistribution, ...props }, ref) => {
10516
- const totalDist = ratingDistribution ? Object.values(ratingDistribution).reduce((a, b) => a + b, 0) : 0;
10517
- return /* @__PURE__ */ jsxRuntime.jsxs(Root46, { ref, ...props, children: [
10518
- /* @__PURE__ */ jsxRuntime.jsx(SectionHeading, { title, align: "left", style: { marginBottom: "1.5rem" } }),
10519
- (averageRating !== void 0 || ratingDistribution) && /* @__PURE__ */ jsxRuntime.jsxs(Summary, { children: [
10520
- averageRating !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(AverageBlock, { children: [
10521
- /* @__PURE__ */ jsxRuntime.jsx(AverageScore, { children: averageRating.toFixed(1) }),
10522
- /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: averageRating, size: "sm", readonly: true }),
10523
- totalReviews !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "0.8125rem", marginTop: "0.25rem" }, children: [
10524
- totalReviews,
10525
- " opinii"
10526
- ] })
10527
- ] }),
10528
- ratingDistribution && /* @__PURE__ */ jsxRuntime.jsx(Distribution, { children: [5, 4, 3, 2, 1].map((star) => {
10529
- const count = ratingDistribution[star] ?? 0;
10530
- const pct2 = totalDist > 0 ? count / totalDist * 100 : 0;
10531
- return /* @__PURE__ */ jsxRuntime.jsxs(DistRow, { children: [
10532
- /* @__PURE__ */ jsxRuntime.jsxs(DistLabel, { children: [
10533
- star,
10534
- "\u2605"
10535
- ] }),
10536
- /* @__PURE__ */ jsxRuntime.jsx(DistBar, { children: /* @__PURE__ */ jsxRuntime.jsx(DistFill, { $pct: pct2 }) }),
10537
- /* @__PURE__ */ jsxRuntime.jsx(DistLabel, { style: { textAlign: "left" }, children: count })
10538
- ] }, star);
10539
- }) })
10540
- ] }),
10541
- /* @__PURE__ */ jsxRuntime.jsx(ReviewList, { children: reviews.map((review) => /* @__PURE__ */ jsxRuntime.jsx(ReviewItem, { review }, review.id)) })
10542
- ] });
10543
- }
10768
+ ({ reviews, averageRating, totalReviews, title = "Opinie klient\xF3w", ratingDistribution, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Root55, { ref, ...props, children: [
10769
+ /* @__PURE__ */ jsxRuntime.jsx(SectionHeading, { title, align: "left", style: { marginBottom: "1.5rem" } }),
10770
+ averageRating !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "2rem" }, children: /* @__PURE__ */ jsxRuntime.jsx(
10771
+ ReviewSummary,
10772
+ {
10773
+ averageRating,
10774
+ totalReviews,
10775
+ ratingDistribution
10776
+ }
10777
+ ) }),
10778
+ /* @__PURE__ */ jsxRuntime.jsx(ReviewList, { children: reviews.map((review) => /* @__PURE__ */ jsxRuntime.jsx(ReviewItem, { review }, review.id)) })
10779
+ ] })
10544
10780
  );
10545
10781
  ReviewSection.displayName = "ReviewSection";
10546
- var List4 = styles.styled("div")(({ $hasHeading }) => ({
10782
+ var List5 = styles.styled("div")(({ $hasHeading }) => ({
10547
10783
  marginTop: $hasHeading ? "2.5rem" : 0
10548
10784
  }));
10549
10785
  var FaqSection = react.forwardRef(
@@ -10559,7 +10795,7 @@ var FaqSection = react.forwardRef(
10559
10795
  const hasHeading = Boolean(title || description);
10560
10796
  return /* @__PURE__ */ jsxRuntime.jsx(Section, { ref, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { maxWidth, children: [
10561
10797
  hasHeading && /* @__PURE__ */ jsxRuntime.jsx(SectionHeading, { title: title ?? "", description, align: headingAlign }),
10562
- /* @__PURE__ */ jsxRuntime.jsx(List4, { $hasHeading: hasHeading, children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
10798
+ /* @__PURE__ */ jsxRuntime.jsx(List5, { $hasHeading: hasHeading, children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
10563
10799
  FaqItem,
10564
10800
  {
10565
10801
  item,
@@ -10601,7 +10837,7 @@ var FeatureGrid = react.forwardRef(
10601
10837
  return /* @__PURE__ */ jsxRuntime.jsx(Section, { ref, ...rest, children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { maxWidth, children: [
10602
10838
  hasHeading && /* @__PURE__ */ jsxRuntime.jsx(SectionHeading, { title: title ?? "", description, align: headingAlign }),
10603
10839
  /* @__PURE__ */ jsxRuntime.jsx(Grid3, { $columns: columns, $hasHeading: hasHeading, $iconLeft: itemLayout === "icon-left", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
10604
- FeatureItem2,
10840
+ FeatureItem,
10605
10841
  {
10606
10842
  feature,
10607
10843
  cardVariant,
@@ -11084,7 +11320,7 @@ var GroupLabel3 = styles.styled("div")(({ theme }) => ({
11084
11320
  textTransform: "uppercase",
11085
11321
  letterSpacing: "0.06em"
11086
11322
  }));
11087
- var Item5 = styles.styled("div", {
11323
+ var Item4 = styles.styled("div", {
11088
11324
  shouldForwardProp: (p) => p !== "$active"
11089
11325
  })(({ theme, $active }) => ({
11090
11326
  display: "flex",
@@ -11283,7 +11519,7 @@ function CommandPalette({
11283
11519
  const idx = globalIndex++;
11284
11520
  const isActive = idx === activeIndex;
11285
11521
  return /* @__PURE__ */ jsxRuntime.jsxs(
11286
- Item5,
11522
+ Item4,
11287
11523
  {
11288
11524
  id: `${id}-item-${item.id}`,
11289
11525
  role: "option",
@@ -11379,7 +11615,7 @@ var TopRow = styles.styled("div")({
11379
11615
  flexWrap: "wrap"
11380
11616
  });
11381
11617
  var TextBlock = styles.styled("div")({ flex: 1, minWidth: "16rem" });
11382
- var Title11 = styles.styled("p")(({ theme }) => ({
11618
+ var Title12 = styles.styled("p")(({ theme }) => ({
11383
11619
  margin: "0 0 0.25rem",
11384
11620
  fontFamily: theme.typography.fontFamily,
11385
11621
  fontSize: "1rem",
@@ -11387,7 +11623,7 @@ var Title11 = styles.styled("p")(({ theme }) => ({
11387
11623
  color: theme.palette.text.primary,
11388
11624
  lineHeight: 1.4
11389
11625
  }));
11390
- var Description8 = styles.styled("p")(({ theme }) => ({
11626
+ var Description9 = styles.styled("p")(({ theme }) => ({
11391
11627
  margin: 0,
11392
11628
  fontFamily: theme.typography.fontFamily,
11393
11629
  fontSize: "0.875rem",
@@ -11544,8 +11780,8 @@ function CookieConsent({
11544
11780
  /* @__PURE__ */ jsxRuntime.jsx(Bar2, { role: "region", "aria-label": "Zgoda na pliki cookie", "aria-live": "polite", children: /* @__PURE__ */ jsxRuntime.jsxs(Inner4, { children: [
11545
11781
  /* @__PURE__ */ jsxRuntime.jsxs(TopRow, { children: [
11546
11782
  /* @__PURE__ */ jsxRuntime.jsxs(TextBlock, { children: [
11547
- /* @__PURE__ */ jsxRuntime.jsx(Title11, { children: title }),
11548
- /* @__PURE__ */ jsxRuntime.jsxs(Description8, { children: [
11783
+ /* @__PURE__ */ jsxRuntime.jsx(Title12, { children: title }),
11784
+ /* @__PURE__ */ jsxRuntime.jsxs(Description9, { children: [
11549
11785
  description,
11550
11786
  privacyPolicyLabel && privacyPolicyHref && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11551
11787
  " ",
@@ -11595,16 +11831,11 @@ function CookieConsent({
11595
11831
  );
11596
11832
  }
11597
11833
  var defaultCookieCategories = DEFAULT_CATEGORIES;
11598
- var Root47 = styles.styled("footer")(({ theme }) => ({
11834
+ var Root56 = styles.styled("footer")(({ theme }) => ({
11599
11835
  width: "100%",
11600
11836
  backgroundColor: theme.palette.background.paper,
11601
11837
  borderTop: `1px solid ${theme.palette.divider}`
11602
11838
  }));
11603
- var Inner5 = styles.styled("div")({
11604
- maxWidth: "72rem",
11605
- margin: "0 auto",
11606
- padding: "3rem 1.5rem 2rem"
11607
- });
11608
11839
  var TopRow2 = styles.styled("div")({
11609
11840
  display: "grid",
11610
11841
  gridTemplateColumns: "1fr",
@@ -11622,7 +11853,7 @@ var BrandBlock = styles.styled("div")({
11622
11853
  flexDirection: "column",
11623
11854
  gap: "0.75rem"
11624
11855
  });
11625
- var Description9 = styles.styled("p")(({ theme }) => ({
11856
+ var Description10 = styles.styled("p")(({ theme }) => ({
11626
11857
  margin: 0,
11627
11858
  fontFamily: theme.typography.fontFamily,
11628
11859
  fontSize: "0.875rem",
@@ -11733,14 +11964,16 @@ function Footer7({
11733
11964
  description,
11734
11965
  columns = [],
11735
11966
  socialLinks = [],
11736
- copyright
11967
+ copyright,
11968
+ maxWidth = "lg",
11969
+ style
11737
11970
  }) {
11738
11971
  const colCount = columns.length;
11739
- return /* @__PURE__ */ jsxRuntime.jsx(Root47, { children: /* @__PURE__ */ jsxRuntime.jsxs(Inner5, { children: [
11972
+ return /* @__PURE__ */ jsxRuntime.jsx(Root56, { style, children: /* @__PURE__ */ jsxRuntime.jsxs(material.Container, { maxWidth, sx: { pt: "3rem", pb: "2rem" }, children: [
11740
11973
  (logo || description || colCount > 0) && /* @__PURE__ */ jsxRuntime.jsxs(TopRow2, { style: { "--col-count": colCount }, children: [
11741
11974
  (logo || description) && /* @__PURE__ */ jsxRuntime.jsxs(BrandBlock, { children: [
11742
11975
  logo,
11743
- description && /* @__PURE__ */ jsxRuntime.jsx(Description9, { children: description })
11976
+ description && /* @__PURE__ */ jsxRuntime.jsx(Description10, { children: description })
11744
11977
  ] }),
11745
11978
  columns.map((col) => /* @__PURE__ */ jsxRuntime.jsxs(Column, { children: [
11746
11979
  /* @__PURE__ */ jsxRuntime.jsx(ColumnTitle, { children: col.title }),
@@ -11763,7 +11996,7 @@ function Footer7({
11763
11996
  ] })
11764
11997
  ] }) });
11765
11998
  }
11766
- var Root48 = styles.styled("header", {
11999
+ var Root57 = styles.styled("header", {
11767
12000
  shouldForwardProp: (p) => p !== "$sticky" && p !== "$variant"
11768
12001
  })(({ theme, $sticky, $variant }) => ({
11769
12002
  position: $sticky ? "sticky" : "relative",
@@ -11774,17 +12007,6 @@ var Root48 = styles.styled("header", {
11774
12007
  borderBottom: $variant === "transparent" ? "none" : `1px solid ${theme.palette.divider}`,
11775
12008
  boxShadow: $variant === "transparent" ? "none" : "0 1px 4px rgba(0,0,0,0.08)"
11776
12009
  }));
11777
- var Inner6 = styles.styled("div", {
11778
- shouldForwardProp: (p) => p !== "$maxWidth"
11779
- })(({ $maxWidth }) => ({
11780
- maxWidth: typeof $maxWidth === "number" ? `${$maxWidth}px` : $maxWidth,
11781
- margin: "0 auto",
11782
- padding: "0 1.5rem",
11783
- height: "3.75rem",
11784
- display: "flex",
11785
- alignItems: "center",
11786
- gap: "1.5rem"
11787
- }));
11788
12010
  var LogoSlot = styles.styled("div")({
11789
12011
  flexShrink: 0,
11790
12012
  display: "flex",
@@ -11850,7 +12072,8 @@ var MobileDrawer = styles.styled("div", {
11850
12072
  display: $open ? "flex" : "none",
11851
12073
  flexDirection: "column",
11852
12074
  gap: "0.25rem",
11853
- padding: "0.75rem 1.5rem 1rem",
12075
+ paddingTop: "0.75rem",
12076
+ paddingBottom: "1rem",
11854
12077
  borderTop: `1px solid ${theme.palette.divider}`,
11855
12078
  backgroundColor: theme.palette.background.paper,
11856
12079
  "@media (min-width: 768px)": {
@@ -11881,28 +12104,36 @@ function Navbar({
11881
12104
  actions,
11882
12105
  sticky = false,
11883
12106
  variant = "filled",
11884
- maxWidth = "72rem"
12107
+ maxWidth = "lg",
12108
+ style
11885
12109
  }) {
11886
12110
  const [mobileOpen, setMobileOpen] = react.useState(false);
11887
- return /* @__PURE__ */ jsxRuntime.jsxs(Root48, { $sticky: sticky, $variant: variant, children: [
11888
- /* @__PURE__ */ jsxRuntime.jsxs(Inner6, { $maxWidth: maxWidth, children: [
11889
- logo && /* @__PURE__ */ jsxRuntime.jsx(LogoSlot, { children: logo }),
11890
- /* @__PURE__ */ jsxRuntime.jsx(Nav3, { "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)) }),
11891
- (actions || navItems.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs(RightSlot, { children: [
11892
- actions,
11893
- navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
11894
- HamburgerButton,
11895
- {
11896
- type: "button",
11897
- "aria-label": mobileOpen ? "Zamknij menu" : "Otw\xF3rz menu",
11898
- "aria-expanded": mobileOpen,
11899
- onClick: () => setMobileOpen((v) => !v),
11900
- children: /* @__PURE__ */ jsxRuntime.jsx(HamburgerIcon, { open: mobileOpen })
11901
- }
11902
- )
11903
- ] })
11904
- ] }),
11905
- navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(MobileDrawer, { $open: mobileOpen, "aria-label": "Menu mobilne", children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(MobileNavLink, { href: item.href, $active: !!item.active, children: item.label }, item.href)) })
12111
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root57, { $sticky: sticky, $variant: variant, style, children: [
12112
+ /* @__PURE__ */ jsxRuntime.jsxs(
12113
+ material.Container,
12114
+ {
12115
+ maxWidth,
12116
+ sx: { height: "3.75rem", display: "flex", alignItems: "center", gap: "1.5rem" },
12117
+ children: [
12118
+ logo && /* @__PURE__ */ jsxRuntime.jsx(LogoSlot, { children: logo }),
12119
+ /* @__PURE__ */ jsxRuntime.jsx(Nav3, { "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)) }),
12120
+ (actions || navItems.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs(RightSlot, { children: [
12121
+ actions,
12122
+ navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
12123
+ HamburgerButton,
12124
+ {
12125
+ type: "button",
12126
+ "aria-label": mobileOpen ? "Zamknij menu" : "Otw\xF3rz menu",
12127
+ "aria-expanded": mobileOpen,
12128
+ onClick: () => setMobileOpen((v) => !v),
12129
+ children: /* @__PURE__ */ jsxRuntime.jsx(HamburgerIcon, { open: mobileOpen })
12130
+ }
12131
+ )
12132
+ ] })
12133
+ ]
12134
+ }
12135
+ ),
12136
+ navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(MobileDrawer, { $open: mobileOpen, "aria-label": "Menu mobilne", children: /* @__PURE__ */ jsxRuntime.jsx(material.Container, { maxWidth, children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(MobileNavLink, { href: item.href, $active: !!item.active, children: item.label }, item.href)) }) })
11906
12137
  ] });
11907
12138
  }
11908
12139
  var ss = "sans-serif";
@@ -12026,7 +12257,10 @@ exports.Card = Card;
12026
12257
  exports.Carousel = Carousel;
12027
12258
  exports.CartButton = CartButton;
12028
12259
  exports.CartDrawer = CartDrawer;
12260
+ exports.CartDrawerItemComponent = CartDrawerItem;
12029
12261
  exports.CategoryCard = CategoryCard;
12262
+ exports.CategoryCardImage = CategoryCardImage;
12263
+ exports.CategoryCardInfo = CategoryCardInfo;
12030
12264
  exports.CheckboxInput = CheckboxInput;
12031
12265
  exports.CommandPalette = CommandPalette;
12032
12266
  exports.CompareTool = CompareTool;
@@ -12037,17 +12271,18 @@ exports.CountdownTimer = CountdownTimer;
12037
12271
  exports.CountryFlag = CountryFlag;
12038
12272
  exports.CouponInput = CouponInput;
12039
12273
  exports.DateTimePicker = DateTimePicker;
12274
+ exports.DealCard = DealCard;
12040
12275
  exports.EmailInput = EmailInput;
12041
12276
  exports.EmptyState = EmptyState;
12042
12277
  exports.FaqItem = FaqItem;
12043
12278
  exports.FaqSection = FaqSection;
12044
12279
  exports.FeatureGrid = FeatureGrid;
12045
- exports.FeatureItem = FeatureItem2;
12280
+ exports.FeatureItem = FeatureItem;
12046
12281
  exports.FileInput = FileInput;
12047
12282
  exports.FilterSidebar = FilterSidebar;
12048
12283
  exports.Footer = Footer7;
12049
12284
  exports.Lightbox = Lightbox;
12050
- exports.List = List3;
12285
+ exports.List = List4;
12051
12286
  exports.LogoCloud = LogoCloud;
12052
12287
  exports.LogoTile = LogoTile;
12053
12288
  exports.Main = Main;
@@ -12059,6 +12294,8 @@ exports.Navbar = Navbar;
12059
12294
  exports.NewsletterSection = NewsletterSection;
12060
12295
  exports.NumberInput = NumberInput;
12061
12296
  exports.OrderSummary = OrderSummary;
12297
+ exports.OrderSummaryItemComponent = OrderSummaryItem;
12298
+ exports.OrderSummaryRow = OrderSummaryRow;
12062
12299
  exports.PaginationBar = PaginationBar;
12063
12300
  exports.PaginationButton = PaginationButton;
12064
12301
  exports.PaginationEllipsis = PaginationEllipsis;
@@ -12071,11 +12308,14 @@ exports.PostCardImage = PostCardImage;
12071
12308
  exports.PostCardMeta = PostCardMeta;
12072
12309
  exports.Price = Price;
12073
12310
  exports.PricingCard = PricingCard;
12311
+ exports.PricingCardFeatureList = PricingCardFeatureList;
12312
+ exports.PricingCardPrice = PricingCardPrice;
12074
12313
  exports.PricingSection = PricingSection;
12075
12314
  exports.ProcessSection = ProcessSection;
12076
12315
  exports.ProcessStep = ProcessStep;
12077
12316
  exports.ProductCard = ProductCard;
12078
12317
  exports.ProductCardHorizontal = ProductCardHorizontal;
12318
+ exports.ProductCardImage = ProductCardImage;
12079
12319
  exports.ProductGallery = ProductGallery;
12080
12320
  exports.ProgressBar = ProgressBar;
12081
12321
  exports.ProgressCircle = ProgressCircle;
@@ -12085,7 +12325,9 @@ exports.QuantitySelector = QuantitySelector;
12085
12325
  exports.RangeSlider = RangeSlider;
12086
12326
  exports.Rating = Rating;
12087
12327
  exports.RelatedProducts = RelatedProducts;
12328
+ exports.ReviewItem = ReviewItem;
12088
12329
  exports.ReviewSection = ReviewSection;
12330
+ exports.ReviewSummary = ReviewSummary;
12089
12331
  exports.SaleBadge = SaleBadge;
12090
12332
  exports.SearchInput = SearchInput;
12091
12333
  exports.Section = Section;
@@ -12100,15 +12342,20 @@ exports.StatsSection = StatsSection;
12100
12342
  exports.StockStatus = StockStatus;
12101
12343
  exports.SwitchInput = SwitchInput;
12102
12344
  exports.Tabs = Tabs;
12345
+ exports.TeamMemberAvatar = TeamMemberAvatar;
12103
12346
  exports.TeamMemberCard = TeamMemberCard;
12347
+ exports.TeamMemberInfo = TeamMemberInfo;
12104
12348
  exports.TeamSection = TeamSection;
12349
+ exports.TestimonialAuthor = TestimonialAuthor;
12105
12350
  exports.TestimonialCard = TestimonialCard;
12351
+ exports.TestimonialQuote = TestimonialQuote;
12106
12352
  exports.TestimonialsSection = TestimonialsSection;
12107
12353
  exports.TextInput = TextInput;
12108
12354
  exports.TextareaInput = TextareaInput;
12109
12355
  exports.Timeline = Timeline;
12110
12356
  exports.VariantSelector = VariantSelector;
12111
12357
  exports.VideoPlayer = VideoPlayer;
12358
+ exports.VoucherCard = VoucherCard;
12112
12359
  exports.WishlistButton = WishlistButton;
12113
12360
  exports.accordionVariants = accordionVariants;
12114
12361
  exports.alertSeverities = alertSeverities;