@mitumba/ui 0.1.2 → 0.1.4

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.mjs CHANGED
@@ -1102,6 +1102,60 @@ function MitumbaAvatar({
1102
1102
  import Box6 from "@mui/material/Box";
1103
1103
  import { tokens as tokens6 } from "@mitumba/tokens";
1104
1104
  import { jsx as jsx6 } from "react/jsx-runtime";
1105
+ function MitumbaGlass({
1106
+ children,
1107
+ blur = 24,
1108
+ opacity = 0.5,
1109
+ rounding = "large",
1110
+ border = true,
1111
+ role,
1112
+ sx
1113
+ }) {
1114
+ const radiusMap = {
1115
+ rounded: tokens6.radius.md,
1116
+ // 8px
1117
+ large: tokens6.radius.lg,
1118
+ // 16px
1119
+ huge: tokens6.radius.xl,
1120
+ // 24px
1121
+ full: tokens6.radius.full
1122
+ };
1123
+ return /* @__PURE__ */ jsx6(
1124
+ Box6,
1125
+ {
1126
+ role,
1127
+ sx: [
1128
+ {
1129
+ position: "relative",
1130
+ overflow: "hidden",
1131
+ backgroundColor: `rgba(255, 255, 255, ${opacity})`,
1132
+ backdropFilter: `blur(${blur}px) saturate(180%)`,
1133
+ WebkitBackdropFilter: `blur(${blur}px) saturate(180%)`,
1134
+ borderRadius: `${radiusMap[rounding]}px`,
1135
+ // High-end glass border: Ultra-thin, white, low-opacity
1136
+ border: border ? "1px solid rgba(255, 255, 255, 0.4)" : "none",
1137
+ // Multi-layered shadow for realistic floating depth
1138
+ boxShadow: `
1139
+ 0 4px 12px 0 rgba(0, 0, 0, 0.05),
1140
+ 0 12px 32px 0 rgba(31, 38, 135, 0.1)
1141
+ `,
1142
+ transition: "all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",
1143
+ // Subtle light leak / shine effect
1144
+ "&::before": {
1145
+ content: '""',
1146
+ position: "absolute",
1147
+ inset: 0,
1148
+ zIndex: 0,
1149
+ background: "linear-gradient(135deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,0.1) 100%)",
1150
+ pointerEvents: "none"
1151
+ }
1152
+ },
1153
+ ...Array.isArray(sx) ? sx : [sx]
1154
+ ],
1155
+ children: /* @__PURE__ */ jsx6(Box6, { sx: { position: "relative", zIndex: 1 }, children })
1156
+ }
1157
+ );
1158
+ }
1105
1159
 
1106
1160
  // src/components/selection/MitumbaCheckbox/MitumbaCheckbox.tsx
1107
1161
  import { useEffect, useRef } from "react";
@@ -2861,30 +2915,72 @@ function STIScoreChip({
2861
2915
 
2862
2916
  // src/components/seller/SellerCard/SellerCard.tsx
2863
2917
  import Box24 from "@mui/material/Box";
2864
- import Typography16 from "@mui/material/Typography";
2918
+ import Typography17 from "@mui/material/Typography";
2865
2919
  import Inventory2OutlinedIcon from "@mui/icons-material/Inventory2Outlined";
2866
2920
  import LocationOnOutlinedIcon from "@mui/icons-material/LocationOnOutlined";
2867
- import { tokens as tokens31 } from "@mitumba/tokens";
2921
+ import { tokens as tokens32 } from "@mitumba/tokens";
2868
2922
 
2869
2923
  // src/components/vazi/VAZIBadge/VAZIBadge.tsx
2924
+ import Typography16 from "@mui/material/Typography";
2870
2925
  import AutoAwesomeIcon2 from "@mui/icons-material/AutoAwesome";
2871
- import { jsx as jsx31 } from "react/jsx-runtime";
2926
+ import { tokens as tokens31 } from "@mitumba/tokens";
2927
+ import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
2872
2928
  function VAZIBadge({ size = "small" }) {
2873
- return /* @__PURE__ */ jsx31(
2874
- MitumbaChip,
2929
+ const isLarge = size === "medium";
2930
+ return /* @__PURE__ */ jsxs19(
2931
+ MitumbaGlass,
2875
2932
  {
2876
- label: "VAZI Curation",
2877
- status: "special",
2878
- variant: "solid",
2879
- size,
2880
- icon: /* @__PURE__ */ jsx31(AutoAwesomeIcon2, {}),
2881
- color: "purple"
2933
+ rounding: "full",
2934
+ blur: 8,
2935
+ opacity: 0.9,
2936
+ sx: {
2937
+ display: "inline-flex",
2938
+ alignItems: "center",
2939
+ gap: 0.8,
2940
+ px: isLarge ? 2 : 1.5,
2941
+ py: 0.6,
2942
+ backgroundColor: "rgba(255, 255, 255, 0.95)",
2943
+ boxShadow: "0 2px 8px rgba(160, 98, 53, 0.15)",
2944
+ border: `1px solid rgba(160, 98, 53, 0.2)`
2945
+ },
2946
+ role: "status",
2947
+ children: [
2948
+ /* @__PURE__ */ jsx31(
2949
+ AutoAwesomeIcon2,
2950
+ {
2951
+ sx: {
2952
+ fontSize: isLarge ? 18 : 14,
2953
+ color: tokens31.colors.earth,
2954
+ animation: "vazi-pulse 3s infinite ease-in-out",
2955
+ "@keyframes vazi-pulse": {
2956
+ "0%, 100%": { transform: "scale(1) rotate(0deg)", opacity: 1 },
2957
+ "50%": { transform: "scale(1.2) rotate(10deg)", opacity: 0.8 }
2958
+ }
2959
+ }
2960
+ }
2961
+ ),
2962
+ /* @__PURE__ */ jsx31(
2963
+ Typography16,
2964
+ {
2965
+ sx: {
2966
+ fontSize: isLarge ? 12 : 10,
2967
+ fontWeight: 900,
2968
+ color: tokens31.colors.earth,
2969
+ fontFamily: tokens31.typography.fontFamily,
2970
+ textTransform: "uppercase",
2971
+ letterSpacing: "0.08em",
2972
+ lineHeight: 1
2973
+ },
2974
+ children: "VAZI"
2975
+ }
2976
+ )
2977
+ ]
2882
2978
  }
2883
2979
  );
2884
2980
  }
2885
2981
 
2886
2982
  // src/components/seller/SellerCard/SellerCard.tsx
2887
- import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
2983
+ import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
2888
2984
  function SellerCard({
2889
2985
  name,
2890
2986
  avatarUrl,
@@ -2894,7 +2990,7 @@ function SellerCard({
2894
2990
  isVaziFeatured = false,
2895
2991
  onTap
2896
2992
  }) {
2897
- return /* @__PURE__ */ jsxs19(
2993
+ return /* @__PURE__ */ jsxs20(
2898
2994
  Box24,
2899
2995
  {
2900
2996
  onClick: onTap,
@@ -2910,75 +3006,75 @@ function SellerCard({
2910
3006
  sx: {
2911
3007
  display: "flex",
2912
3008
  alignItems: "center",
2913
- gap: tokens31.spacing.base,
2914
- p: tokens31.spacing.base,
2915
- borderRadius: tokens31.radius.lg,
2916
- bgcolor: tokens31.colors.surface,
2917
- boxShadow: tokens31.shadows.card,
2918
- border: `1px solid ${tokens31.colors.divider}`,
3009
+ gap: tokens32.spacing.base,
3010
+ p: tokens32.spacing.base,
3011
+ borderRadius: tokens32.radius.lg,
3012
+ bgcolor: tokens32.colors.surface,
3013
+ boxShadow: tokens32.shadows.card,
3014
+ border: `1px solid ${tokens32.colors.divider}`,
2919
3015
  cursor: onTap ? "pointer" : "default",
2920
3016
  transition: "all 250ms cubic-bezier(0.4, 0, 0.2, 1)",
2921
3017
  "&:hover": onTap ? {
2922
- boxShadow: tokens31.shadows.elevated,
3018
+ boxShadow: tokens32.shadows.elevated,
2923
3019
  transform: "translateY(-2px)",
2924
- borderColor: tokens31.colors.border
3020
+ borderColor: tokens32.colors.border
2925
3021
  } : void 0,
2926
3022
  "&:focus-visible": {
2927
- outline: `2px solid ${tokens31.colors.greenLight}`,
2928
- boxShadow: tokens31.shadows.focus
3023
+ outline: `2px solid ${tokens32.colors.greenLight}`,
3024
+ boxShadow: tokens32.shadows.focus
2929
3025
  }
2930
3026
  },
2931
3027
  children: [
2932
3028
  /* @__PURE__ */ jsx32(MitumbaAvatar, { name, imageUrl: avatarUrl, size: "md" }),
2933
- /* @__PURE__ */ jsxs19(Box24, { sx: { flex: 1, minWidth: 0 }, children: [
2934
- /* @__PURE__ */ jsxs19(Box24, { sx: { display: "flex", alignItems: "center", gap: tokens31.spacing.sm }, children: [
3029
+ /* @__PURE__ */ jsxs20(Box24, { sx: { flex: 1, minWidth: 0 }, children: [
3030
+ /* @__PURE__ */ jsxs20(Box24, { sx: { display: "flex", alignItems: "center", gap: tokens32.spacing.sm }, children: [
2935
3031
  /* @__PURE__ */ jsx32(
2936
- Typography16,
3032
+ Typography17,
2937
3033
  {
2938
3034
  sx: {
2939
- fontWeight: tokens31.typography.fontWeights.bold,
2940
- fontSize: tokens31.typography.fontSizes.base,
2941
- color: tokens31.colors.textPrimary,
3035
+ fontWeight: tokens32.typography.fontWeights.bold,
3036
+ fontSize: tokens32.typography.fontSizes.base,
3037
+ color: tokens32.colors.textPrimary,
2942
3038
  lineHeight: 1.2,
2943
3039
  overflow: "hidden",
2944
3040
  textOverflow: "ellipsis",
2945
3041
  whiteSpace: "nowrap",
2946
- fontFamily: tokens31.typography.fontFamily
3042
+ fontFamily: tokens32.typography.fontFamily
2947
3043
  },
2948
3044
  children: name
2949
3045
  }
2950
3046
  ),
2951
3047
  isVaziFeatured && /* @__PURE__ */ jsx32(VAZIBadge, { size: "small" })
2952
3048
  ] }),
2953
- /* @__PURE__ */ jsxs19(Box24, { sx: { display: "flex", alignItems: "center", gap: tokens31.spacing.sm, mt: tokens31.spacing.xs }, children: [
3049
+ /* @__PURE__ */ jsxs20(Box24, { sx: { display: "flex", alignItems: "center", gap: tokens32.spacing.sm, mt: tokens32.spacing.xs }, children: [
2954
3050
  /* @__PURE__ */ jsx32(STIScoreChip, { score: stiScore, compact: true }),
2955
- /* @__PURE__ */ jsxs19(Box24, { sx: { display: "flex", alignItems: "center", gap: "4px", opacity: 0.7 }, children: [
2956
- /* @__PURE__ */ jsx32(Inventory2OutlinedIcon, { sx: { fontSize: 14, color: tokens31.colors.textSecondary } }),
3051
+ /* @__PURE__ */ jsxs20(Box24, { sx: { display: "flex", alignItems: "center", gap: "4px", opacity: 0.7 }, children: [
3052
+ /* @__PURE__ */ jsx32(Inventory2OutlinedIcon, { sx: { fontSize: 14, color: tokens32.colors.textSecondary } }),
2957
3053
  /* @__PURE__ */ jsx32(
2958
- Typography16,
3054
+ Typography17,
2959
3055
  {
2960
3056
  sx: {
2961
- color: tokens31.colors.textSecondary,
3057
+ color: tokens32.colors.textSecondary,
2962
3058
  fontSize: 10,
2963
- fontWeight: tokens31.typography.fontWeights.semibold,
3059
+ fontWeight: tokens32.typography.fontWeights.semibold,
2964
3060
  textTransform: "uppercase",
2965
- letterSpacing: tokens31.typography.letterSpacings.wide
3061
+ letterSpacing: tokens32.typography.letterSpacings.wide
2966
3062
  },
2967
3063
  children: totalListings
2968
3064
  }
2969
3065
  )
2970
3066
  ] }),
2971
- /* @__PURE__ */ jsxs19(Box24, { sx: { display: "flex", alignItems: "center", gap: "4px", opacity: 0.7 }, children: [
2972
- /* @__PURE__ */ jsx32(LocationOnOutlinedIcon, { sx: { fontSize: 14, color: tokens31.colors.textSecondary } }),
3067
+ /* @__PURE__ */ jsxs20(Box24, { sx: { display: "flex", alignItems: "center", gap: "4px", opacity: 0.7 }, children: [
3068
+ /* @__PURE__ */ jsx32(LocationOnOutlinedIcon, { sx: { fontSize: 14, color: tokens32.colors.textSecondary } }),
2973
3069
  /* @__PURE__ */ jsx32(
2974
- Typography16,
3070
+ Typography17,
2975
3071
  {
2976
3072
  sx: {
2977
- color: tokens31.colors.textSecondary,
3073
+ color: tokens32.colors.textSecondary,
2978
3074
  fontSize: 10,
2979
- fontWeight: tokens31.typography.fontWeights.semibold,
3075
+ fontWeight: tokens32.typography.fontWeights.semibold,
2980
3076
  textTransform: "uppercase",
2981
- letterSpacing: tokens31.typography.letterSpacings.wide
3077
+ letterSpacing: tokens32.typography.letterSpacings.wide
2982
3078
  },
2983
3079
  children: city
2984
3080
  }
@@ -2993,12 +3089,12 @@ function SellerCard({
2993
3089
 
2994
3090
  // src/components/seller/STIBreakdownPanel/STIBreakdownPanel.tsx
2995
3091
  import Box25 from "@mui/material/Box";
2996
- import Typography17 from "@mui/material/Typography";
3092
+ import Typography18 from "@mui/material/Typography";
2997
3093
  import LinearProgress2 from "@mui/material/LinearProgress";
2998
3094
  import AddOutlinedIcon from "@mui/icons-material/AddOutlined";
2999
3095
  import RemoveOutlinedIcon from "@mui/icons-material/RemoveOutlined";
3000
- import { tokens as tokens32 } from "@mitumba/tokens";
3001
- import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
3096
+ import { tokens as tokens33 } from "@mitumba/tokens";
3097
+ import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
3002
3098
  function formatPercent(value) {
3003
3099
  return `${Math.round(value * 100)}%`;
3004
3100
  }
@@ -3016,33 +3112,33 @@ function STIBreakdownPanel({
3016
3112
  { label: "Avg Response Time", display: `${avgResponseHours}h` },
3017
3113
  { label: "Days Active", display: `${daysActive}` }
3018
3114
  ];
3019
- return /* @__PURE__ */ jsxs20(
3115
+ return /* @__PURE__ */ jsxs21(
3020
3116
  Box25,
3021
3117
  {
3022
3118
  sx: {
3023
- p: tokens32.spacing.base,
3024
- borderRadius: tokens32.radius.lg,
3025
- bgcolor: tokens32.colors.surface,
3026
- boxShadow: tokens32.shadows.card,
3027
- border: `1px solid ${tokens32.colors.divider}`
3119
+ p: tokens33.spacing.base,
3120
+ borderRadius: tokens33.radius.lg,
3121
+ bgcolor: tokens33.colors.surface,
3122
+ boxShadow: tokens33.shadows.card,
3123
+ border: `1px solid ${tokens33.colors.divider}`
3028
3124
  },
3029
3125
  children: [
3030
- /* @__PURE__ */ jsx33(Box25, { sx: { display: "flex", alignItems: "center", gap: tokens32.spacing.base, mb: tokens32.spacing.lg }, children: /* @__PURE__ */ jsx33(STIScoreChip, { score }) }),
3031
- /* @__PURE__ */ jsx33(Box25, { component: "section", "aria-label": "Score factors", sx: { mb: tokens32.spacing.lg }, children: factors.map((factor) => /* @__PURE__ */ jsxs20(Box25, { sx: { mb: tokens32.spacing.md }, children: [
3032
- /* @__PURE__ */ jsxs20(Box25, { sx: { display: "flex", justifyContent: "space-between", mb: tokens32.spacing.xs }, children: [
3126
+ /* @__PURE__ */ jsx33(Box25, { sx: { display: "flex", alignItems: "center", gap: tokens33.spacing.base, mb: tokens33.spacing.lg }, children: /* @__PURE__ */ jsx33(STIScoreChip, { score }) }),
3127
+ /* @__PURE__ */ jsx33(Box25, { component: "section", "aria-label": "Score factors", sx: { mb: tokens33.spacing.lg }, children: factors.map((factor) => /* @__PURE__ */ jsxs21(Box25, { sx: { mb: tokens33.spacing.md }, children: [
3128
+ /* @__PURE__ */ jsxs21(Box25, { sx: { display: "flex", justifyContent: "space-between", mb: tokens33.spacing.xs }, children: [
3033
3129
  /* @__PURE__ */ jsx33(
3034
- Typography17,
3130
+ Typography18,
3035
3131
  {
3036
3132
  variant: "body2",
3037
- sx: { color: tokens32.colors.textSecondary, fontSize: tokens32.typography.fontSizes.sm },
3133
+ sx: { color: tokens33.colors.textSecondary, fontSize: tokens33.typography.fontSizes.sm },
3038
3134
  children: factor.label
3039
3135
  }
3040
3136
  ),
3041
3137
  /* @__PURE__ */ jsx33(
3042
- Typography17,
3138
+ Typography18,
3043
3139
  {
3044
3140
  variant: "body2",
3045
- sx: { fontWeight: tokens32.typography.fontWeights.semibold, fontSize: tokens32.typography.fontSizes.sm },
3141
+ sx: { fontWeight: tokens33.typography.fontWeights.semibold, fontSize: tokens33.typography.fontSizes.sm },
3046
3142
  children: factor.display
3047
3143
  }
3048
3144
  )
@@ -3053,66 +3149,66 @@ function STIBreakdownPanel({
3053
3149
  variant: "determinate",
3054
3150
  value: factor.value * 100,
3055
3151
  sx: {
3056
- height: tokens32.spacing.sm,
3057
- borderRadius: tokens32.radius.full,
3058
- bgcolor: tokens32.colors.background,
3152
+ height: tokens33.spacing.sm,
3153
+ borderRadius: tokens33.radius.full,
3154
+ bgcolor: tokens33.colors.background,
3059
3155
  "& .MuiLinearProgress-bar": {
3060
- bgcolor: tokens32.colors.green,
3061
- borderRadius: tokens32.radius.full
3156
+ bgcolor: tokens33.colors.green,
3157
+ borderRadius: tokens33.radius.full
3062
3158
  }
3063
3159
  },
3064
3160
  "aria-label": `${factor.label} progress`
3065
3161
  }
3066
3162
  )
3067
3163
  ] }, factor.label)) }),
3068
- recentEvents.length > 0 && /* @__PURE__ */ jsxs20(Box25, { component: "section", "aria-label": "Recent STI events", children: [
3164
+ recentEvents.length > 0 && /* @__PURE__ */ jsxs21(Box25, { component: "section", "aria-label": "Recent STI events", children: [
3069
3165
  /* @__PURE__ */ jsx33(
3070
- Typography17,
3166
+ Typography18,
3071
3167
  {
3072
3168
  variant: "body2",
3073
3169
  sx: {
3074
- fontWeight: tokens32.typography.fontWeights.semibold,
3075
- fontSize: tokens32.typography.fontSizes.sm,
3076
- color: tokens32.colors.textPrimary,
3077
- mb: tokens32.spacing.sm
3170
+ fontWeight: tokens33.typography.fontWeights.semibold,
3171
+ fontSize: tokens33.typography.fontSizes.sm,
3172
+ color: tokens33.colors.textPrimary,
3173
+ mb: tokens33.spacing.sm
3078
3174
  },
3079
3175
  children: "Recent Events"
3080
3176
  }
3081
3177
  ),
3082
- recentEvents.map((event) => /* @__PURE__ */ jsxs20(
3178
+ recentEvents.map((event) => /* @__PURE__ */ jsxs21(
3083
3179
  Box25,
3084
3180
  {
3085
3181
  sx: {
3086
3182
  display: "flex",
3087
3183
  alignItems: "flex-start",
3088
- gap: tokens32.spacing.sm,
3089
- py: tokens32.spacing.sm,
3090
- borderBottom: `1px solid ${tokens32.colors.divider}`
3184
+ gap: tokens33.spacing.sm,
3185
+ py: tokens33.spacing.sm,
3186
+ borderBottom: `1px solid ${tokens33.colors.divider}`
3091
3187
  },
3092
3188
  children: [
3093
- event.type === "positive" ? /* @__PURE__ */ jsx33(AddOutlinedIcon, { sx: { fontSize: 16, color: tokens32.colors.success, mt: tokens32.spacing.xs } }) : /* @__PURE__ */ jsx33(RemoveOutlinedIcon, { sx: { fontSize: 16, color: tokens32.colors.error, mt: tokens32.spacing.xs } }),
3094
- /* @__PURE__ */ jsxs20(Box25, { sx: { flex: 1 }, children: [
3095
- /* @__PURE__ */ jsxs20(Box25, { sx: { display: "flex", justifyContent: "space-between" }, children: [
3189
+ event.type === "positive" ? /* @__PURE__ */ jsx33(AddOutlinedIcon, { sx: { fontSize: 16, color: tokens33.colors.success, mt: tokens33.spacing.xs } }) : /* @__PURE__ */ jsx33(RemoveOutlinedIcon, { sx: { fontSize: 16, color: tokens33.colors.error, mt: tokens33.spacing.xs } }),
3190
+ /* @__PURE__ */ jsxs21(Box25, { sx: { flex: 1 }, children: [
3191
+ /* @__PURE__ */ jsxs21(Box25, { sx: { display: "flex", justifyContent: "space-between" }, children: [
3096
3192
  /* @__PURE__ */ jsx33(
3097
- Typography17,
3193
+ Typography18,
3098
3194
  {
3099
3195
  variant: "body2",
3100
3196
  sx: {
3101
- fontSize: tokens32.typography.fontSizes.sm,
3102
- color: tokens32.colors.textPrimary,
3103
- fontWeight: tokens32.typography.fontWeights.medium
3197
+ fontSize: tokens33.typography.fontSizes.sm,
3198
+ color: tokens33.colors.textPrimary,
3199
+ fontWeight: tokens33.typography.fontWeights.medium
3104
3200
  },
3105
3201
  children: event.reason
3106
3202
  }
3107
3203
  ),
3108
- /* @__PURE__ */ jsxs20(
3109
- Typography17,
3204
+ /* @__PURE__ */ jsxs21(
3205
+ Typography18,
3110
3206
  {
3111
3207
  variant: "caption",
3112
3208
  sx: {
3113
- fontSize: tokens32.typography.fontSizes.xs,
3114
- fontWeight: tokens32.typography.fontWeights.bold,
3115
- color: event.type === "positive" ? tokens32.colors.success : tokens32.colors.error
3209
+ fontSize: tokens33.typography.fontSizes.xs,
3210
+ fontWeight: tokens33.typography.fontWeights.bold,
3211
+ color: event.type === "positive" ? tokens33.colors.success : tokens33.colors.error
3116
3212
  },
3117
3213
  children: [
3118
3214
  event.type === "positive" ? "+" : "",
@@ -3121,7 +3217,7 @@ function STIBreakdownPanel({
3121
3217
  }
3122
3218
  )
3123
3219
  ] }),
3124
- /* @__PURE__ */ jsx33(Typography17, { variant: "caption", sx: { fontSize: tokens32.typography.fontSizes.xs, color: tokens32.colors.textSecondary }, children: event.timestamp })
3220
+ /* @__PURE__ */ jsx33(Typography18, { variant: "caption", sx: { fontSize: tokens33.typography.fontSizes.xs, color: tokens33.colors.textSecondary }, children: event.timestamp })
3125
3221
  ] })
3126
3222
  ]
3127
3223
  },
@@ -3136,14 +3232,14 @@ function STIBreakdownPanel({
3136
3232
  // src/components/listing/ListingCard/ListingCard.tsx
3137
3233
  import { useState as useState7 } from "react";
3138
3234
  import Box26 from "@mui/material/Box";
3139
- import Typography18 from "@mui/material/Typography";
3235
+ import Typography19 from "@mui/material/Typography";
3140
3236
  import Stack4 from "@mui/material/Stack";
3141
3237
  import IconButton6 from "@mui/material/IconButton";
3142
3238
  import FavoriteIcon from "@mui/icons-material/Favorite";
3143
3239
  import FavoriteBorderIcon from "@mui/icons-material/FavoriteBorder";
3144
3240
  import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward";
3145
- import { tokens as tokens33 } from "@mitumba/tokens";
3146
- import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
3241
+ import { tokens as tokens34 } from "@mitumba/tokens";
3242
+ import { jsx as jsx34, jsxs as jsxs22 } from "react/jsx-runtime";
3147
3243
  function ListingCard({
3148
3244
  images,
3149
3245
  title,
@@ -3168,15 +3264,15 @@ function ListingCard({
3168
3264
  e.stopPropagation();
3169
3265
  onLikeClick?.(e);
3170
3266
  };
3171
- return /* @__PURE__ */ jsxs21(
3267
+ return /* @__PURE__ */ jsxs22(
3172
3268
  Box26,
3173
3269
  {
3174
3270
  onClick,
3175
3271
  sx: [
3176
3272
  {
3177
3273
  width: "100%",
3178
- backgroundColor: tokens33.colors.surface,
3179
- borderRadius: `${tokens33.radius.lg}px`,
3274
+ backgroundColor: tokens34.colors.surface,
3275
+ borderRadius: `${tokens34.radius.lg}px`,
3180
3276
  // Standardized to 16px (Serious)
3181
3277
  overflow: "hidden",
3182
3278
  // High-end layered shadow, no clunky borders
@@ -3189,13 +3285,13 @@ function ListingCard({
3189
3285
  position: "relative",
3190
3286
  "&:hover": {
3191
3287
  transform: "translateY(-6px)",
3192
- boxShadow: tokens33.shadows.deep
3288
+ boxShadow: tokens34.shadows.deep
3193
3289
  }
3194
3290
  },
3195
3291
  ...Array.isArray(sx) ? sx : [sx]
3196
3292
  ],
3197
3293
  children: [
3198
- /* @__PURE__ */ jsxs21(Box26, { sx: { position: "relative", width: "100%", pt: "100%", backgroundColor: tokens33.colors.background }, children: [
3294
+ /* @__PURE__ */ jsxs22(Box26, { sx: { position: "relative", width: "100%", pt: "100%", backgroundColor: tokens34.colors.background }, children: [
3199
3295
  /* @__PURE__ */ jsx34(
3200
3296
  Box26,
3201
3297
  {
@@ -3224,13 +3320,13 @@ function ListingCard({
3224
3320
  backdropFilter: "blur(4px)",
3225
3321
  px: 1.5,
3226
3322
  py: 0.5,
3227
- borderRadius: tokens33.radius.full,
3323
+ borderRadius: tokens34.radius.full,
3228
3324
  fontSize: 10,
3229
3325
  fontWeight: 800,
3230
- color: tokens33.colors.textPrimary,
3231
- fontFamily: tokens33.typography.fontFamily,
3326
+ color: tokens34.colors.textPrimary,
3327
+ fontFamily: tokens34.typography.fontFamily,
3232
3328
  textTransform: "uppercase",
3233
- boxShadow: tokens33.shadows.card,
3329
+ boxShadow: tokens34.shadows.card,
3234
3330
  zIndex: 2
3235
3331
  },
3236
3332
  children: badge
@@ -3245,12 +3341,12 @@ function ListingCard({
3245
3341
  right: 12,
3246
3342
  width: 32,
3247
3343
  height: 32,
3248
- backgroundColor: tokens33.colors.white,
3344
+ backgroundColor: tokens34.colors.white,
3249
3345
  borderRadius: "50%",
3250
3346
  display: "flex",
3251
3347
  alignItems: "center",
3252
3348
  justifyContent: "center",
3253
- boxShadow: tokens33.shadows.card,
3349
+ boxShadow: tokens34.shadows.card,
3254
3350
  p: 0.5,
3255
3351
  zIndex: 2,
3256
3352
  "& img": { width: "100%", height: "100%", objectFit: "contain" }
@@ -3268,10 +3364,10 @@ function ListingCard({
3268
3364
  right: 12,
3269
3365
  backgroundColor: "rgba(255, 255, 255, 0.9)",
3270
3366
  backdropFilter: "blur(4px)",
3271
- boxShadow: tokens33.shadows.card,
3272
- color: isLiked ? tokens33.colors.error : tokens33.colors.textSecondary,
3367
+ boxShadow: tokens34.shadows.card,
3368
+ color: isLiked ? tokens34.colors.error : tokens34.colors.textSecondary,
3273
3369
  zIndex: 2,
3274
- "&:hover": { backgroundColor: tokens33.colors.white, transform: "scale(1.1)" }
3370
+ "&:hover": { backgroundColor: tokens34.colors.white, transform: "scale(1.1)" }
3275
3371
  },
3276
3372
  children: isLiked ? /* @__PURE__ */ jsx34(FavoriteIcon, { sx: { fontSize: 18 } }) : /* @__PURE__ */ jsx34(FavoriteBorderIcon, { sx: { fontSize: 18 } })
3277
3373
  }
@@ -3298,8 +3394,8 @@ function ListingCard({
3298
3394
  sx: {
3299
3395
  width: activeImage === i ? 12 : 6,
3300
3396
  height: 6,
3301
- borderRadius: tokens33.radius.full,
3302
- backgroundColor: tokens33.colors.white,
3397
+ borderRadius: tokens34.radius.full,
3398
+ backgroundColor: tokens34.colors.white,
3303
3399
  opacity: activeImage === i ? 1 : 0.5,
3304
3400
  transition: "all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)",
3305
3401
  cursor: "pointer",
@@ -3311,16 +3407,16 @@ function ListingCard({
3311
3407
  }
3312
3408
  )
3313
3409
  ] }),
3314
- /* @__PURE__ */ jsxs21(Box26, { sx: { p: 2.5 }, children: [
3410
+ /* @__PURE__ */ jsxs22(Box26, { sx: { p: 2.5 }, children: [
3315
3411
  " ",
3316
3412
  /* @__PURE__ */ jsx34(
3317
- Typography18,
3413
+ Typography19,
3318
3414
  {
3319
3415
  sx: {
3320
- fontSize: tokens33.typography.fontSizes.base,
3416
+ fontSize: tokens34.typography.fontSizes.base,
3321
3417
  fontWeight: 800,
3322
- color: tokens33.colors.textPrimary,
3323
- fontFamily: tokens33.typography.fontFamily,
3418
+ color: tokens34.colors.textPrimary,
3419
+ fontFamily: tokens34.typography.fontFamily,
3324
3420
  lineHeight: 1.2,
3325
3421
  mb: 0.5,
3326
3422
  whiteSpace: "nowrap",
@@ -3330,13 +3426,13 @@ function ListingCard({
3330
3426
  children: title
3331
3427
  }
3332
3428
  ),
3333
- (brand || size) && /* @__PURE__ */ jsxs21(
3334
- Typography18,
3429
+ (brand || size) && /* @__PURE__ */ jsxs22(
3430
+ Typography19,
3335
3431
  {
3336
3432
  sx: {
3337
- fontSize: tokens33.typography.fontSizes.xs,
3338
- color: tokens33.colors.textSecondary,
3339
- fontFamily: tokens33.typography.fontFamily,
3433
+ fontSize: tokens34.typography.fontSizes.xs,
3434
+ color: tokens34.colors.textSecondary,
3435
+ fontFamily: tokens34.typography.fontFamily,
3340
3436
  fontWeight: 600,
3341
3437
  mb: 2
3342
3438
  },
@@ -3347,34 +3443,34 @@ function ListingCard({
3347
3443
  ]
3348
3444
  }
3349
3445
  ),
3350
- /* @__PURE__ */ jsxs21(Stack4, { direction: "row", alignItems: "center", justifyContent: "space-between", spacing: 2, children: [
3351
- /* @__PURE__ */ jsxs21(
3446
+ /* @__PURE__ */ jsxs22(Stack4, { direction: "row", alignItems: "center", justifyContent: "space-between", spacing: 2, children: [
3447
+ /* @__PURE__ */ jsxs22(
3352
3448
  Box26,
3353
3449
  {
3354
3450
  sx: {
3355
- backgroundColor: tokens33.colors.background,
3451
+ backgroundColor: tokens34.colors.background,
3356
3452
  px: 1.5,
3357
3453
  py: 0.8,
3358
- borderRadius: tokens33.radius.full,
3359
- fontSize: tokens33.typography.fontSizes.base,
3454
+ borderRadius: tokens34.radius.full,
3455
+ fontSize: tokens34.typography.fontSizes.base,
3360
3456
  fontWeight: 800,
3361
- color: tokens33.colors.textPrimary,
3362
- fontFamily: tokens33.typography.fontFamily,
3457
+ color: tokens34.colors.textPrimary,
3458
+ fontFamily: tokens34.typography.fontFamily,
3363
3459
  display: "flex",
3364
3460
  alignItems: "baseline",
3365
3461
  gap: 0.5
3366
3462
  },
3367
3463
  children: [
3368
- /* @__PURE__ */ jsx34(Typography18, { component: "span", sx: { fontSize: 10, fontWeight: 900 }, children: "KES" }),
3464
+ /* @__PURE__ */ jsx34(Typography19, { component: "span", sx: { fontSize: 10, fontWeight: 900 }, children: "KES" }),
3369
3465
  price.toLocaleString(),
3370
3466
  originalPrice && /* @__PURE__ */ jsx34(
3371
- Typography18,
3467
+ Typography19,
3372
3468
  {
3373
3469
  component: "span",
3374
3470
  sx: {
3375
3471
  ml: 0.5,
3376
3472
  fontSize: 10,
3377
- color: tokens33.colors.textDisabled,
3473
+ color: tokens34.colors.textDisabled,
3378
3474
  textDecoration: "line-through",
3379
3475
  fontWeight: 600
3380
3476
  },
@@ -3394,7 +3490,7 @@ function ListingCard({
3394
3490
  icon: /* @__PURE__ */ jsx34(ArrowOutwardIcon, { sx: { fontSize: 16 } }),
3395
3491
  iconPosition: "right",
3396
3492
  sx: {
3397
- borderRadius: tokens33.radius.full,
3493
+ borderRadius: tokens34.radius.full,
3398
3494
  px: 2.5,
3399
3495
  height: 32,
3400
3496
  // Forced small height for density
@@ -3412,16 +3508,16 @@ function ListingCard({
3412
3508
 
3413
3509
  // src/components/listing/ListingCardSkeleton/ListingCardSkeleton.tsx
3414
3510
  import Box27 from "@mui/material/Box";
3415
- import { tokens as tokens34 } from "@mitumba/tokens";
3416
- import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
3511
+ import { tokens as tokens35 } from "@mitumba/tokens";
3512
+ import { jsx as jsx35, jsxs as jsxs23 } from "react/jsx-runtime";
3417
3513
  function ListingCardSkeleton() {
3418
- return /* @__PURE__ */ jsxs22(
3514
+ return /* @__PURE__ */ jsxs23(
3419
3515
  Box27,
3420
3516
  {
3421
3517
  sx: {
3422
3518
  width: "100%",
3423
- backgroundColor: tokens34.colors.surface,
3424
- borderRadius: `${tokens34.radius.lg}px`,
3519
+ backgroundColor: tokens35.colors.surface,
3520
+ borderRadius: `${tokens35.radius.lg}px`,
3425
3521
  // 16px (Serious Standard)
3426
3522
  overflow: "hidden",
3427
3523
  boxShadow: `
@@ -3437,7 +3533,7 @@ function ListingCardSkeleton() {
3437
3533
  sx: { position: "absolute", inset: 0, height: "100%", width: "100%" }
3438
3534
  }
3439
3535
  ) }),
3440
- /* @__PURE__ */ jsxs22(Box27, { sx: { p: 2.5 }, children: [
3536
+ /* @__PURE__ */ jsxs23(Box27, { sx: { p: 2.5 }, children: [
3441
3537
  /* @__PURE__ */ jsx35(
3442
3538
  MitumbaSkeleton,
3443
3539
  {
@@ -3456,7 +3552,7 @@ function ListingCardSkeleton() {
3456
3552
  sx: { mb: 3, borderRadius: 1 }
3457
3553
  }
3458
3554
  ),
3459
- /* @__PURE__ */ jsxs22(Box27, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
3555
+ /* @__PURE__ */ jsxs23(Box27, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
3460
3556
  /* @__PURE__ */ jsx35(
3461
3557
  MitumbaSkeleton,
3462
3558
  {
@@ -3515,8 +3611,8 @@ function ListingGrid({
3515
3611
  // src/components/listing/ListingImageGallery/ListingImageGallery.tsx
3516
3612
  import { useState as useState8, useCallback as useCallback2, useEffect as useEffect4 } from "react";
3517
3613
  import Box29 from "@mui/material/Box";
3518
- import { tokens as tokens35 } from "@mitumba/tokens";
3519
- import { jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
3614
+ import { tokens as tokens36 } from "@mitumba/tokens";
3615
+ import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
3520
3616
  function ListingImageGallery({ images, title }) {
3521
3617
  const [activeIndex, setActiveIndex] = useState8(0);
3522
3618
  const goTo = useCallback2(
@@ -3549,26 +3645,26 @@ function ListingImageGallery({ images, title }) {
3549
3645
  sx: {
3550
3646
  alignItems: "center",
3551
3647
  aspectRatio: "1 / 1",
3552
- backgroundColor: tokens35.colors.background,
3553
- borderRadius: `${tokens35.radius.lg}px`,
3554
- color: tokens35.colors.textSecondary,
3648
+ backgroundColor: tokens36.colors.background,
3649
+ borderRadius: `${tokens36.radius.lg}px`,
3650
+ color: tokens36.colors.textSecondary,
3555
3651
  display: "flex",
3556
- fontSize: tokens35.typography.fontSizes.base,
3652
+ fontSize: tokens36.typography.fontSizes.base,
3557
3653
  justifyContent: "center",
3558
3654
  width: "100%",
3559
- border: `1px dashed ${tokens35.colors.divider}`
3655
+ border: `1px dashed ${tokens36.colors.divider}`
3560
3656
  },
3561
3657
  children: "No images available"
3562
3658
  }
3563
3659
  );
3564
3660
  }
3565
- return /* @__PURE__ */ jsxs23(
3661
+ return /* @__PURE__ */ jsxs24(
3566
3662
  Box29,
3567
3663
  {
3568
3664
  sx: {
3569
3665
  display: "flex",
3570
3666
  flexDirection: "column",
3571
- gap: tokens35.spacing.base,
3667
+ gap: tokens36.spacing.base,
3572
3668
  width: "100%"
3573
3669
  },
3574
3670
  children: [
@@ -3577,11 +3673,11 @@ function ListingImageGallery({ images, title }) {
3577
3673
  {
3578
3674
  sx: {
3579
3675
  aspectRatio: "1 / 1",
3580
- borderRadius: `${tokens35.radius.lg}px`,
3676
+ borderRadius: `${tokens36.radius.lg}px`,
3581
3677
  overflow: "hidden",
3582
3678
  position: "relative",
3583
3679
  width: "100%",
3584
- backgroundColor: tokens35.colors.background,
3680
+ backgroundColor: tokens36.colors.background,
3585
3681
  boxShadow: `
3586
3682
  0 2px 4px 0 rgba(0, 0, 0, 0.05),
3587
3683
  0 8px 16px -4px rgba(0, 0, 0, 0.1)
@@ -3629,8 +3725,8 @@ function ListingImageGallery({ images, title }) {
3629
3725
  role: "button",
3630
3726
  tabIndex: 0,
3631
3727
  sx: {
3632
- border: index === activeIndex ? `2px solid ${tokens35.colors.green}` : `2px solid transparent`,
3633
- borderRadius: `${tokens35.radius.md}px`,
3728
+ border: index === activeIndex ? `2px solid ${tokens36.colors.green}` : `2px solid transparent`,
3729
+ borderRadius: `${tokens36.radius.md}px`,
3634
3730
  cursor: "pointer",
3635
3731
  flexShrink: 0,
3636
3732
  height: 56,
@@ -3645,7 +3741,7 @@ function ListingImageGallery({ images, title }) {
3645
3741
  },
3646
3742
  "&:focus-visible": {
3647
3743
  outline: "none",
3648
- boxShadow: tokens35.shadows.focus
3744
+ boxShadow: tokens36.shadows.focus
3649
3745
  }
3650
3746
  },
3651
3747
  "aria-label": `View image ${index + 1} of ${images.length}`,
@@ -3696,33 +3792,33 @@ function ConditionBadge({ grade, showLabel = false }) {
3696
3792
  }
3697
3793
 
3698
3794
  // src/components/commerce/PriceTag/PriceTag.tsx
3699
- import Typography19 from "@mui/material/Typography";
3700
- import { tokens as tokens36 } from "@mitumba/tokens";
3795
+ import Typography20 from "@mui/material/Typography";
3796
+ import { tokens as tokens37 } from "@mitumba/tokens";
3701
3797
  import { jsx as jsx39 } from "react/jsx-runtime";
3702
3798
  function PriceTag({ priceKes, size = "medium", color = "default", strikethrough = false }) {
3703
3799
  const formattedNumber = new Intl.NumberFormat("en-KE").format(priceKes);
3704
3800
  const formatted = `KES ${formattedNumber}`;
3705
3801
  const sizeStyles = {
3706
3802
  small: {
3707
- fontSize: tokens36.typography.fontSizes.sm,
3708
- fontWeight: tokens36.typography.fontWeights.semibold
3803
+ fontSize: tokens37.typography.fontSizes.sm,
3804
+ fontWeight: tokens37.typography.fontWeights.semibold
3709
3805
  },
3710
3806
  medium: {
3711
- fontSize: tokens36.typography.fontSizes.base,
3712
- fontWeight: tokens36.typography.fontWeights.bold
3807
+ fontSize: tokens37.typography.fontSizes.base,
3808
+ fontWeight: tokens37.typography.fontWeights.bold
3713
3809
  },
3714
3810
  large: {
3715
- fontSize: tokens36.typography.fontSizes.xl,
3716
- fontWeight: tokens36.typography.fontWeights.extrabold
3811
+ fontSize: tokens37.typography.fontSizes.xl,
3812
+ fontWeight: tokens37.typography.fontWeights.extrabold
3717
3813
  }
3718
3814
  };
3719
3815
  const colorMap = {
3720
- green: tokens36.colors.green,
3721
- earth: tokens36.colors.earth,
3722
- default: tokens36.colors.textPrimary
3816
+ green: tokens37.colors.green,
3817
+ earth: tokens37.colors.earth,
3818
+ default: tokens37.colors.textPrimary
3723
3819
  };
3724
3820
  return /* @__PURE__ */ jsx39(
3725
- Typography19,
3821
+ Typography20,
3726
3822
  {
3727
3823
  component: "span",
3728
3824
  sx: {
@@ -3760,12 +3856,12 @@ function DeliveryBadge({ type, estimatedDays }) {
3760
3856
 
3761
3857
  // src/components/commerce/CartItem/CartItem.tsx
3762
3858
  import Box30 from "@mui/material/Box";
3763
- import Typography20 from "@mui/material/Typography";
3859
+ import Typography21 from "@mui/material/Typography";
3764
3860
  import IconButton7 from "@mui/material/IconButton";
3765
3861
  import CloseIcon4 from "@mui/icons-material/Close";
3766
3862
  import Stack5 from "@mui/material/Stack";
3767
- import { tokens as tokens37 } from "@mitumba/tokens";
3768
- import { jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
3863
+ import { tokens as tokens38 } from "@mitumba/tokens";
3864
+ import { jsx as jsx41, jsxs as jsxs25 } from "react/jsx-runtime";
3769
3865
  function CartItem({
3770
3866
  imageUrl,
3771
3867
  title,
@@ -3779,15 +3875,15 @@ function CartItem({
3779
3875
  onSizeChange,
3780
3876
  sx
3781
3877
  }) {
3782
- return /* @__PURE__ */ jsxs24(
3878
+ return /* @__PURE__ */ jsxs25(
3783
3879
  Box30,
3784
3880
  {
3785
3881
  sx: [
3786
3882
  {
3787
3883
  display: "flex",
3788
3884
  width: "100%",
3789
- backgroundColor: tokens37.colors.surface,
3790
- borderRadius: `${tokens37.radius.lg}px`,
3885
+ backgroundColor: tokens38.colors.surface,
3886
+ borderRadius: `${tokens38.radius.lg}px`,
3791
3887
  // 16px (Serious Standard)
3792
3888
  p: { xs: 2, md: 3 },
3793
3889
  boxShadow: `
@@ -3796,10 +3892,10 @@ function CartItem({
3796
3892
  `,
3797
3893
  transition: "all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)",
3798
3894
  position: "relative",
3799
- border: `1px solid ${tokens37.colors.divider}`,
3895
+ border: `1px solid ${tokens38.colors.divider}`,
3800
3896
  "&:hover": {
3801
3897
  transform: "translateY(-4px)",
3802
- boxShadow: tokens37.shadows.deep
3898
+ boxShadow: tokens38.shadows.deep
3803
3899
  }
3804
3900
  },
3805
3901
  ...Array.isArray(sx) ? sx : [sx]
@@ -3811,9 +3907,9 @@ function CartItem({
3811
3907
  sx: {
3812
3908
  width: { xs: 80, sm: 120, md: 140 },
3813
3909
  height: { xs: 80, sm: 120, md: 140 },
3814
- borderRadius: `${tokens37.radius.md}px`,
3910
+ borderRadius: `${tokens38.radius.md}px`,
3815
3911
  overflow: "hidden",
3816
- backgroundColor: tokens37.colors.background,
3912
+ backgroundColor: tokens38.colors.background,
3817
3913
  flexShrink: 0
3818
3914
  },
3819
3915
  children: /* @__PURE__ */ jsx41(
@@ -3827,7 +3923,7 @@ function CartItem({
3827
3923
  )
3828
3924
  }
3829
3925
  ),
3830
- /* @__PURE__ */ jsxs24(
3926
+ /* @__PURE__ */ jsxs25(
3831
3927
  Box30,
3832
3928
  {
3833
3929
  sx: {
@@ -3840,15 +3936,15 @@ function CartItem({
3840
3936
  gap: { xs: 2, lg: 4 }
3841
3937
  },
3842
3938
  children: [
3843
- /* @__PURE__ */ jsxs24(Box30, { sx: { flex: 1.5 }, children: [
3939
+ /* @__PURE__ */ jsxs25(Box30, { sx: { flex: 1.5 }, children: [
3844
3940
  /* @__PURE__ */ jsx41(
3845
- Typography20,
3941
+ Typography21,
3846
3942
  {
3847
3943
  sx: {
3848
- fontSize: tokens37.typography.fontSizes.lg,
3944
+ fontSize: tokens38.typography.fontSizes.lg,
3849
3945
  fontWeight: 900,
3850
- color: tokens37.colors.textPrimary,
3851
- fontFamily: tokens37.typography.fontFamily,
3946
+ color: tokens38.colors.textPrimary,
3947
+ fontFamily: tokens38.typography.fontFamily,
3852
3948
  textTransform: "uppercase",
3853
3949
  lineHeight: 1.1,
3854
3950
  mb: 0.5
@@ -3857,12 +3953,12 @@ function CartItem({
3857
3953
  }
3858
3954
  ),
3859
3955
  subtitle && /* @__PURE__ */ jsx41(
3860
- Typography20,
3956
+ Typography21,
3861
3957
  {
3862
3958
  variant: "caption",
3863
3959
  sx: {
3864
3960
  display: "block",
3865
- color: tokens37.colors.textSecondary,
3961
+ color: tokens38.colors.textSecondary,
3866
3962
  fontWeight: 700,
3867
3963
  textTransform: "uppercase",
3868
3964
  fontSize: 10
@@ -3871,12 +3967,12 @@ function CartItem({
3871
3967
  }
3872
3968
  ),
3873
3969
  /* @__PURE__ */ jsx41(
3874
- Typography20,
3970
+ Typography21,
3875
3971
  {
3876
3972
  variant: "caption",
3877
3973
  sx: {
3878
3974
  display: "block",
3879
- color: tokens37.colors.green,
3975
+ color: tokens38.colors.green,
3880
3976
  fontWeight: 800,
3881
3977
  fontSize: 9,
3882
3978
  mt: 1,
@@ -3887,9 +3983,9 @@ function CartItem({
3887
3983
  }
3888
3984
  )
3889
3985
  ] }),
3890
- /* @__PURE__ */ jsxs24(Stack5, { direction: "row", spacing: { xs: 2, sm: 4, md: 6 }, alignItems: "center", sx: { width: { xs: "100%", lg: "auto" } }, children: [
3891
- /* @__PURE__ */ jsxs24(Box30, { sx: { width: 80 }, children: [
3892
- /* @__PURE__ */ jsx41(Typography20, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: tokens37.colors.textDisabled, fontSize: 10 }, children: "SIZE" }),
3986
+ /* @__PURE__ */ jsxs25(Stack5, { direction: "row", spacing: { xs: 2, sm: 4, md: 6 }, alignItems: "center", sx: { width: { xs: "100%", lg: "auto" } }, children: [
3987
+ /* @__PURE__ */ jsxs25(Box30, { sx: { width: 80 }, children: [
3988
+ /* @__PURE__ */ jsx41(Typography21, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: tokens38.colors.textDisabled, fontSize: 10 }, children: "SIZE" }),
3893
3989
  /* @__PURE__ */ jsx41(
3894
3990
  MitumbaSelect,
3895
3991
  {
@@ -3902,8 +3998,8 @@ function CartItem({
3902
3998
  }
3903
3999
  )
3904
4000
  ] }),
3905
- /* @__PURE__ */ jsxs24(Box30, { sx: { width: 80 }, children: [
3906
- /* @__PURE__ */ jsx41(Typography20, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: tokens37.colors.textDisabled, fontSize: 10 }, children: "QUANTITY" }),
4001
+ /* @__PURE__ */ jsxs25(Box30, { sx: { width: 80 }, children: [
4002
+ /* @__PURE__ */ jsx41(Typography21, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: tokens38.colors.textDisabled, fontSize: 10 }, children: "QUANTITY" }),
3907
4003
  /* @__PURE__ */ jsx41(
3908
4004
  MitumbaSelect,
3909
4005
  {
@@ -3916,9 +4012,9 @@ function CartItem({
3916
4012
  }
3917
4013
  )
3918
4014
  ] }),
3919
- /* @__PURE__ */ jsxs24(Box30, { sx: { textAlign: "right", minWidth: 100 }, children: [
3920
- /* @__PURE__ */ jsx41(Typography20, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: tokens37.colors.textDisabled, fontSize: 10 }, children: "PRICE" }),
3921
- /* @__PURE__ */ jsxs24(Typography20, { sx: { fontWeight: 900, color: tokens37.colors.textPrimary, fontSize: tokens37.typography.fontSizes.base, fontFamily: tokens37.typography.fontFamily }, children: [
4015
+ /* @__PURE__ */ jsxs25(Box30, { sx: { textAlign: "right", minWidth: 100 }, children: [
4016
+ /* @__PURE__ */ jsx41(Typography21, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: tokens38.colors.textDisabled, fontSize: 10 }, children: "PRICE" }),
4017
+ /* @__PURE__ */ jsxs25(Typography21, { sx: { fontWeight: 900, color: tokens38.colors.textPrimary, fontSize: tokens38.typography.fontSizes.base, fontFamily: tokens38.typography.fontFamily }, children: [
3922
4018
  "KES ",
3923
4019
  priceKes.toLocaleString()
3924
4020
  ] })
@@ -3935,10 +4031,10 @@ function CartItem({
3935
4031
  position: "absolute",
3936
4032
  top: 8,
3937
4033
  right: 8,
3938
- color: tokens37.colors.textDisabled,
4034
+ color: tokens38.colors.textDisabled,
3939
4035
  "&:hover": {
3940
- color: tokens37.colors.error,
3941
- backgroundColor: tokens37.colors.errorLight,
4036
+ color: tokens38.colors.error,
4037
+ backgroundColor: tokens38.colors.errorLight,
3942
4038
  transform: "rotate(90deg)"
3943
4039
  },
3944
4040
  transition: "all 0.3s ease"
@@ -3954,11 +4050,11 @@ function CartItem({
3954
4050
 
3955
4051
  // src/components/commerce/OrderStatusTimeline/OrderStatusTimeline.tsx
3956
4052
  import Box31 from "@mui/material/Box";
3957
- import Typography21 from "@mui/material/Typography";
4053
+ import Typography22 from "@mui/material/Typography";
3958
4054
  import CheckCircleOutlinedIcon from "@mui/icons-material/CheckCircleOutlined";
3959
4055
  import RadioButtonUncheckedOutlinedIcon from "@mui/icons-material/RadioButtonUncheckedOutlined";
3960
- import { tokens as tokens38 } from "@mitumba/tokens";
3961
- import { jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
4056
+ import { tokens as tokens39 } from "@mitumba/tokens";
4057
+ import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
3962
4058
  var ORDER_STATUS_ORDER = [
3963
4059
  "CREATED",
3964
4060
  "PAYMENT_PENDING",
@@ -3983,26 +4079,26 @@ function OrderStatusTimeline({ currentStatus, events }) {
3983
4079
  const currentIndex = ORDER_STATUS_ORDER.indexOf(currentStatus);
3984
4080
  const lastEvent = events.length > 0 ? events[events.length - 1] : null;
3985
4081
  const currentNote = lastEvent?.note;
3986
- return /* @__PURE__ */ jsxs25(
4082
+ return /* @__PURE__ */ jsxs26(
3987
4083
  Box31,
3988
4084
  {
3989
4085
  sx: {
3990
- p: tokens38.spacing.base,
3991
- borderRadius: tokens38.radius.lg,
3992
- bgcolor: tokens38.colors.surface,
3993
- boxShadow: tokens38.shadows.card,
3994
- border: `1px solid ${tokens38.colors.divider}`
4086
+ p: tokens39.spacing.base,
4087
+ borderRadius: tokens39.radius.lg,
4088
+ bgcolor: tokens39.colors.surface,
4089
+ boxShadow: tokens39.shadows.card,
4090
+ border: `1px solid ${tokens39.colors.divider}`
3995
4091
  },
3996
4092
  children: [
3997
- /* @__PURE__ */ jsxs25(Box31, { sx: { display: "flex", alignItems: "center", gap: tokens38.spacing.sm, mb: tokens38.spacing.base }, children: [
4093
+ /* @__PURE__ */ jsxs26(Box31, { sx: { display: "flex", alignItems: "center", gap: tokens39.spacing.sm, mb: tokens39.spacing.base }, children: [
3998
4094
  /* @__PURE__ */ jsx42(
3999
- Typography21,
4095
+ Typography22,
4000
4096
  {
4001
4097
  sx: {
4002
- fontWeight: tokens38.typography.fontWeights.bold,
4003
- fontSize: tokens38.typography.fontSizes.md,
4004
- color: tokens38.colors.textPrimary,
4005
- fontFamily: tokens38.typography.fontFamily
4098
+ fontWeight: tokens39.typography.fontWeights.bold,
4099
+ fontSize: tokens39.typography.fontSizes.md,
4100
+ color: tokens39.colors.textPrimary,
4101
+ fontFamily: tokens39.typography.fontFamily
4006
4102
  },
4007
4103
  children: "Order Tracking"
4008
4104
  }
@@ -4011,15 +4107,15 @@ function OrderStatusTimeline({ currentStatus, events }) {
4011
4107
  Box31,
4012
4108
  {
4013
4109
  sx: {
4014
- px: tokens38.spacing.sm,
4110
+ px: tokens39.spacing.sm,
4015
4111
  py: "2px",
4016
- borderRadius: tokens38.radius.sm,
4017
- bgcolor: tokens38.colors.greenLight,
4018
- color: tokens38.colors.greenDark,
4112
+ borderRadius: tokens39.radius.sm,
4113
+ bgcolor: tokens39.colors.greenLight,
4114
+ color: tokens39.colors.greenDark,
4019
4115
  fontSize: 10,
4020
- fontWeight: tokens38.typography.fontWeights.extrabold,
4116
+ fontWeight: tokens39.typography.fontWeights.extrabold,
4021
4117
  textTransform: "uppercase",
4022
- letterSpacing: tokens38.typography.letterSpacings.wide
4118
+ letterSpacing: tokens39.typography.letterSpacings.wide
4023
4119
  },
4024
4120
  children: ORDER_STATUS_LABELS[currentStatus]
4025
4121
  }
@@ -4029,19 +4125,19 @@ function OrderStatusTimeline({ currentStatus, events }) {
4029
4125
  Box31,
4030
4126
  {
4031
4127
  sx: {
4032
- p: tokens38.spacing.sm,
4033
- borderRadius: tokens38.radius.sm,
4034
- bgcolor: tokens38.colors.background,
4035
- borderLeft: `3px solid ${tokens38.colors.info}`,
4036
- mb: tokens38.spacing.lg
4128
+ p: tokens39.spacing.sm,
4129
+ borderRadius: tokens39.radius.sm,
4130
+ bgcolor: tokens39.colors.background,
4131
+ borderLeft: `3px solid ${tokens39.colors.info}`,
4132
+ mb: tokens39.spacing.lg
4037
4133
  },
4038
- children: /* @__PURE__ */ jsxs25(
4039
- Typography21,
4134
+ children: /* @__PURE__ */ jsxs26(
4135
+ Typography22,
4040
4136
  {
4041
4137
  sx: {
4042
- color: tokens38.colors.textPrimary,
4043
- fontSize: tokens38.typography.fontSizes.sm,
4044
- fontFamily: tokens38.typography.fontFamily,
4138
+ color: tokens39.colors.textPrimary,
4139
+ fontSize: tokens39.typography.fontSizes.sm,
4140
+ fontFamily: tokens39.typography.fontFamily,
4045
4141
  fontStyle: "italic"
4046
4142
  },
4047
4143
  children: [
@@ -4058,18 +4154,18 @@ function OrderStatusTimeline({ currentStatus, events }) {
4058
4154
  const isCurrent = status === currentStatus;
4059
4155
  const statusEvents = events.filter((e) => e.status === status);
4060
4156
  const latestEvent = statusEvents.length > 0 ? statusEvents[statusEvents.length - 1] : null;
4061
- return /* @__PURE__ */ jsxs25(
4157
+ return /* @__PURE__ */ jsxs26(
4062
4158
  Box31,
4063
4159
  {
4064
4160
  component: "li",
4065
4161
  sx: {
4066
4162
  display: "flex",
4067
4163
  alignItems: "flex-start",
4068
- gap: tokens38.spacing.base,
4164
+ gap: tokens39.spacing.base,
4069
4165
  position: "relative"
4070
4166
  },
4071
4167
  children: [
4072
- /* @__PURE__ */ jsxs25(
4168
+ /* @__PURE__ */ jsxs26(
4073
4169
  Box31,
4074
4170
  {
4075
4171
  sx: {
@@ -4089,14 +4185,14 @@ function OrderStatusTimeline({ currentStatus, events }) {
4089
4185
  width: "24px",
4090
4186
  height: "24px",
4091
4187
  zIndex: 1,
4092
- backgroundColor: tokens38.colors.surface
4188
+ backgroundColor: tokens39.colors.surface
4093
4189
  },
4094
4190
  children: isCompleted ? /* @__PURE__ */ jsx42(
4095
4191
  CheckCircleOutlinedIcon,
4096
4192
  {
4097
4193
  sx: {
4098
4194
  fontSize: 20,
4099
- color: isCurrent ? tokens38.colors.green : tokens38.colors.textDisabled
4195
+ color: isCurrent ? tokens39.colors.green : tokens39.colors.textDisabled
4100
4196
  }
4101
4197
  }
4102
4198
  ) : /* @__PURE__ */ jsx42(
@@ -4104,7 +4200,7 @@ function OrderStatusTimeline({ currentStatus, events }) {
4104
4200
  {
4105
4201
  sx: {
4106
4202
  fontSize: 18,
4107
- color: tokens38.colors.divider
4203
+ color: tokens39.colors.divider
4108
4204
  }
4109
4205
  }
4110
4206
  )
@@ -4116,8 +4212,8 @@ function OrderStatusTimeline({ currentStatus, events }) {
4116
4212
  sx: {
4117
4213
  width: "2px",
4118
4214
  flex: 1,
4119
- minHeight: tokens38.spacing.lg,
4120
- bgcolor: index < currentIndex ? tokens38.colors.green : tokens38.colors.divider,
4215
+ minHeight: tokens39.spacing.lg,
4216
+ bgcolor: index < currentIndex ? tokens39.colors.green : tokens39.colors.divider,
4121
4217
  marginBlock: "2px"
4122
4218
  }
4123
4219
  }
@@ -4125,27 +4221,27 @@ function OrderStatusTimeline({ currentStatus, events }) {
4125
4221
  ]
4126
4222
  }
4127
4223
  ),
4128
- /* @__PURE__ */ jsxs25(Box31, { sx: { pt: "2px", pb: tokens38.spacing.lg }, children: [
4224
+ /* @__PURE__ */ jsxs26(Box31, { sx: { pt: "2px", pb: tokens39.spacing.lg }, children: [
4129
4225
  /* @__PURE__ */ jsx42(
4130
- Typography21,
4226
+ Typography22,
4131
4227
  {
4132
4228
  sx: {
4133
- fontWeight: isCurrent ? tokens38.typography.fontWeights.bold : tokens38.typography.fontWeights.medium,
4134
- fontSize: tokens38.typography.fontSizes.sm,
4135
- fontFamily: tokens38.typography.fontFamily,
4136
- color: isCompleted ? tokens38.colors.textPrimary : tokens38.colors.textDisabled,
4229
+ fontWeight: isCurrent ? tokens39.typography.fontWeights.bold : tokens39.typography.fontWeights.medium,
4230
+ fontSize: tokens39.typography.fontSizes.sm,
4231
+ fontFamily: tokens39.typography.fontFamily,
4232
+ color: isCompleted ? tokens39.colors.textPrimary : tokens39.colors.textDisabled,
4137
4233
  lineHeight: 1
4138
4234
  },
4139
4235
  children: ORDER_STATUS_LABELS[status]
4140
4236
  }
4141
4237
  ),
4142
4238
  latestEvent && /* @__PURE__ */ jsx42(
4143
- Typography21,
4239
+ Typography22,
4144
4240
  {
4145
4241
  sx: {
4146
- color: tokens38.colors.textSecondary,
4242
+ color: tokens39.colors.textSecondary,
4147
4243
  fontSize: 10,
4148
- fontFamily: tokens38.typography.fontFamily,
4244
+ fontFamily: tokens39.typography.fontFamily,
4149
4245
  mt: "4px"
4150
4246
  },
4151
4247
  children: latestEvent.timestamp
@@ -4169,13 +4265,14 @@ import AccountBalanceWalletIcon from "@mui/icons-material/AccountBalanceWallet";
4169
4265
  import HistoryIcon from "@mui/icons-material/History";
4170
4266
  import ErrorOutlineIcon2 from "@mui/icons-material/ErrorOutline";
4171
4267
  import { jsx as jsx43 } from "react/jsx-runtime";
4172
- function EscrowStatusBanner({ status, amountKes, hoursRemaining, sx }) {
4268
+ function EscrowStatusBanner({ status, amountKes = 0, hoursRemaining, sx }) {
4269
+ const formattedAmount = (amountKes || 0).toLocaleString();
4173
4270
  const config = {
4174
4271
  FUNDED: {
4175
4272
  severity: "info",
4176
4273
  icon: /* @__PURE__ */ jsx43(SecurityIcon, {}),
4177
4274
  title: "Payment in Escrow",
4178
- message: `KES ${amountKes.toLocaleString()} is securely held. We'll release it once you confirm delivery.`
4275
+ message: `KES ${formattedAmount} is securely held. We'll release it once you confirm delivery.`
4179
4276
  },
4180
4277
  SHIPPED: {
4181
4278
  severity: "info",
@@ -4199,7 +4296,7 @@ function EscrowStatusBanner({ status, amountKes, hoursRemaining, sx }) {
4199
4296
  severity: "error",
4200
4297
  icon: /* @__PURE__ */ jsx43(ErrorOutlineIcon2, {}),
4201
4298
  title: "Payment Refunded",
4202
- message: `The escrow has been cancelled and KES ${amountKes.toLocaleString()} has been returned to your wallet.`
4299
+ message: `The escrow has been cancelled and KES ${formattedAmount} has been returned to your wallet.`
4203
4300
  }
4204
4301
  };
4205
4302
  const { severity, icon, title, message } = config[status];
@@ -4216,13 +4313,14 @@ function EscrowStatusBanner({ status, amountKes, hoursRemaining, sx }) {
4216
4313
  }
4217
4314
 
4218
4315
  // src/components/vazi/VAZIOutfitCard/VAZIOutfitCard.tsx
4219
- import Box32 from "@mui/material/Box";
4220
- import Card from "@mui/material/Card";
4221
- import CardContent from "@mui/material/CardContent";
4222
- import Typography22 from "@mui/material/Typography";
4223
- import { tokens as tokens39 } from "@mitumba/tokens";
4224
4316
  import { useCallback as useCallback3 } from "react";
4225
- import { jsx as jsx44, jsxs as jsxs26 } from "react/jsx-runtime";
4317
+ import Box32 from "@mui/material/Box";
4318
+ import Typography23 from "@mui/material/Typography";
4319
+ import Stack6 from "@mui/material/Stack";
4320
+ import AutoAwesomeIcon3 from "@mui/icons-material/AutoAwesome";
4321
+ import LocalShippingIcon3 from "@mui/icons-material/LocalShipping";
4322
+ import { tokens as tokens40 } from "@mitumba/tokens";
4323
+ import { Fragment, jsx as jsx44, jsxs as jsxs27 } from "react/jsx-runtime";
4226
4324
  function VAZIOutfitCard({
4227
4325
  outfitName,
4228
4326
  items,
@@ -4241,240 +4339,212 @@ function VAZIOutfitCard({
4241
4339
  },
4242
4340
  [onTap]
4243
4341
  );
4244
- return /* @__PURE__ */ jsxs26(
4245
- Card,
4342
+ return /* @__PURE__ */ jsxs27(
4343
+ Box32,
4246
4344
  {
4247
4345
  onClick: onTap,
4248
4346
  onKeyDown: handleKeyDown,
4249
4347
  role: "button",
4250
4348
  tabIndex: onTap ? 0 : -1,
4251
4349
  sx: {
4252
- borderRadius: tokens39.radius.lg,
4253
- boxShadow: tokens39.shadows.card,
4350
+ width: "100%",
4351
+ position: "relative",
4254
4352
  cursor: onTap ? "pointer" : "default",
4255
- display: "flex",
4256
- flexDirection: "column",
4353
+ borderRadius: `${tokens40.radius.lg}px`,
4257
4354
  overflow: "hidden",
4258
- transition: "all 250ms cubic-bezier(0.4, 0, 0.2, 1)",
4259
- width: "100%",
4260
- backgroundColor: tokens39.colors.surface,
4261
- border: `1px solid ${tokens39.colors.divider}`,
4262
- "&:hover": onTap ? {
4263
- transform: "translateY(-4px)",
4264
- boxShadow: tokens39.shadows.elevated,
4265
- borderColor: tokens39.colors.earthLight
4266
- } : void 0,
4267
- "&:focus-visible": {
4268
- outline: `2px solid ${tokens39.colors.earthLight}`,
4269
- boxShadow: tokens39.shadows.focus
4355
+ backgroundColor: tokens40.colors.surface,
4356
+ boxShadow: `
4357
+ 0 4px 12px 0 rgba(0, 0, 0, 0.05),
4358
+ 0 12px 32px 0 rgba(31, 38, 135, 0.1)
4359
+ `,
4360
+ transition: "all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",
4361
+ "&:hover": {
4362
+ transform: "translateY(-8px) scale(1.01)",
4363
+ boxShadow: tokens40.shadows.deep,
4364
+ "& .collage-image-2": { transform: "rotate(4deg) translate(8px, -4px)" },
4365
+ "& .collage-image-3": { transform: "rotate(-4deg) translate(-8px, -4px)" }
4270
4366
  }
4271
4367
  },
4272
4368
  children: [
4273
- /* @__PURE__ */ jsxs26(
4274
- Box32,
4275
- {
4276
- sx: {
4277
- alignItems: "center",
4278
- display: "flex",
4279
- gap: tokens39.spacing.sm,
4280
- paddingInline: tokens39.spacing.base,
4281
- paddingBlock: tokens39.spacing.base,
4282
- borderBottom: `1px solid ${tokens39.colors.background}`
4283
- },
4284
- children: [
4285
- /* @__PURE__ */ jsx44(VAZIBadge, { size: "small" }),
4286
- /* @__PURE__ */ jsx44(
4287
- Typography22,
4288
- {
4289
- sx: {
4290
- color: tokens39.colors.textPrimary,
4291
- flex: 1,
4292
- fontSize: tokens39.typography.fontSizes.base,
4293
- fontWeight: tokens39.typography.fontWeights.bold,
4294
- lineHeight: tokens39.typography.lineHeights.snug,
4295
- overflow: "hidden",
4296
- textOverflow: "ellipsis",
4297
- whiteSpace: "nowrap"
4298
- },
4299
- children: outfitName
4300
- }
4301
- )
4302
- ]
4303
- }
4304
- ),
4305
4369
  /* @__PURE__ */ jsx44(
4306
4370
  Box32,
4307
4371
  {
4308
4372
  sx: {
4309
- display: "flex",
4310
- gap: tokens39.spacing.sm,
4311
- overflowX: "auto",
4312
- padding: tokens39.spacing.base,
4313
- backgroundColor: tokens39.colors.background,
4314
- scrollbarWidth: "none",
4315
- msOverflowStyle: "none",
4316
- "&::-webkit-scrollbar": {
4317
- display: "none"
4318
- }
4373
+ position: "absolute",
4374
+ top: 12,
4375
+ left: 12,
4376
+ zIndex: 10
4319
4377
  },
4320
- children: items.map((item) => /* @__PURE__ */ jsxs26(
4321
- Box32,
4322
- {
4323
- sx: {
4324
- flexShrink: 0,
4325
- width: "88px"
4326
- },
4327
- children: [
4328
- /* @__PURE__ */ jsx44(
4329
- Box32,
4330
- {
4331
- sx: {
4332
- aspectRatio: "3 / 4",
4333
- borderRadius: tokens39.radius.sm,
4334
- overflow: "hidden",
4335
- width: "100%",
4336
- backgroundColor: tokens39.colors.surface,
4337
- border: `1px solid ${tokens39.colors.divider}`
4338
- },
4339
- children: /* @__PURE__ */ jsx44(
4340
- Box32,
4341
- {
4342
- component: "img",
4343
- src: item.imageUrl,
4344
- alt: `${item.garmentType} \u2014 ${item.sellerName}`,
4345
- loading: "lazy",
4346
- sx: {
4347
- display: "block",
4348
- height: "100%",
4349
- objectFit: "cover",
4350
- width: "100%"
4351
- }
4352
- }
4353
- )
4354
- }
4355
- ),
4356
- /* @__PURE__ */ jsx44(
4357
- Typography22,
4358
- {
4359
- sx: {
4360
- color: tokens39.colors.textSecondary,
4361
- fontSize: 10,
4362
- fontWeight: tokens39.typography.fontWeights.semibold,
4363
- textTransform: "uppercase",
4364
- letterSpacing: tokens39.typography.letterSpacings.wide,
4365
- marginTop: tokens39.spacing.xs,
4366
- overflow: "hidden",
4367
- textOverflow: "ellipsis",
4368
- whiteSpace: "nowrap",
4369
- textAlign: "center"
4370
- },
4371
- children: item.sellerName
4372
- }
4373
- )
4374
- ]
4375
- },
4376
- item.listingId
4377
- ))
4378
+ children: /* @__PURE__ */ jsx44(VAZIBadge, { size: "small" })
4378
4379
  }
4379
4380
  ),
4380
- /* @__PURE__ */ jsxs26(
4381
- CardContent,
4381
+ /* @__PURE__ */ jsxs27(
4382
+ Box32,
4382
4383
  {
4383
4384
  sx: {
4385
+ position: "relative",
4386
+ width: "100%",
4387
+ height: 280,
4388
+ backgroundColor: tokens40.colors.background,
4384
4389
  display: "flex",
4385
- flexDirection: "column",
4386
- gap: tokens39.spacing.sm,
4387
- padding: tokens39.spacing.base,
4388
- "&:last-child": {
4389
- paddingBottom: tokens39.spacing.base
4390
- }
4390
+ alignItems: "center",
4391
+ justifyContent: "center",
4392
+ overflow: "hidden",
4393
+ p: 3
4391
4394
  },
4392
4395
  children: [
4393
- /* @__PURE__ */ jsxs26(
4396
+ /* @__PURE__ */ jsx44(
4394
4397
  Box32,
4395
4398
  {
4396
4399
  sx: {
4397
- alignItems: "center",
4398
- display: "flex",
4399
- gap: tokens39.spacing.sm,
4400
- justifyContent: "space-between"
4401
- },
4402
- children: [
4403
- /* @__PURE__ */ jsx44(PriceTag, { priceKes: totalPriceKes, size: "large", color: "earth" }),
4404
- onBuyAll && /* @__PURE__ */ jsx44(Box32, { sx: { flexShrink: 0 }, children: /* @__PURE__ */ jsx44(
4405
- MitumbaPrimaryButton,
4406
- {
4407
- label: "Buy all",
4408
- variant: "earth",
4409
- size: "small",
4410
- fullWidth: false,
4411
- onClick: (e) => {
4412
- if (e && e.stopPropagation) {
4413
- e.stopPropagation();
4414
- }
4415
- onBuyAll();
4416
- }
4417
- }
4418
- ) })
4419
- ]
4400
+ position: "absolute",
4401
+ inset: 0,
4402
+ background: "radial-gradient(circle at center, rgba(160, 98, 53, 0.05) 0%, rgba(255,255,255,0) 70%)",
4403
+ pointerEvents: "none"
4404
+ }
4420
4405
  }
4421
4406
  ),
4422
- sellersCount > 1 && /* @__PURE__ */ jsxs26(
4423
- Box32,
4424
- {
4425
- sx: {
4426
- display: "flex",
4427
- alignItems: "center",
4428
- gap: tokens39.spacing.xs,
4429
- mt: tokens39.spacing.xs
4430
- },
4431
- children: [
4432
- /* @__PURE__ */ jsxs26(
4433
- Typography22,
4434
- {
4435
- sx: {
4436
- color: tokens39.colors.textSecondary,
4437
- fontSize: tokens39.typography.fontSizes.sm,
4438
- lineHeight: 1
4439
- },
4440
- children: [
4441
- "Ships from ",
4442
- sellersCount,
4443
- " sellers"
4444
- ]
4445
- }
4446
- ),
4447
- isMultiCity && /* @__PURE__ */ jsx44(
4407
+ /* @__PURE__ */ jsx44(Box32, { sx: { position: "relative", width: 140, height: 180 }, children: items.slice(0, 3).map((item, index) => {
4408
+ const isMain = index === 0;
4409
+ let rotation = 0;
4410
+ if (index === 1) rotation = -4;
4411
+ if (index === 2) rotation = 4;
4412
+ let leftOffset = 0;
4413
+ if (index === 1) leftOffset = -12;
4414
+ if (index === 2) leftOffset = 12;
4415
+ return /* @__PURE__ */ jsx44(
4416
+ Box32,
4417
+ {
4418
+ className: `collage-image-${index + 1}`,
4419
+ sx: {
4420
+ position: "absolute",
4421
+ top: isMain ? 0 : 4,
4422
+ left: isMain ? 0 : leftOffset,
4423
+ width: "100%",
4424
+ height: "100%",
4425
+ borderRadius: `${tokens40.radius.md}px`,
4426
+ overflow: "hidden",
4427
+ zIndex: 3 - index,
4428
+ boxShadow: tokens40.shadows.card,
4429
+ border: `2px solid ${tokens40.colors.white}`,
4430
+ transform: `rotate(${rotation}deg)`,
4431
+ transition: "all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1)",
4432
+ backgroundColor: tokens40.colors.surface
4433
+ },
4434
+ children: /* @__PURE__ */ jsx44(
4448
4435
  Box32,
4449
4436
  {
4450
- component: "span",
4451
- sx: {
4452
- fontSize: tokens39.typography.fontSizes.xs,
4453
- color: tokens39.colors.textDisabled
4454
- },
4455
- children: "\u2022"
4456
- }
4457
- ),
4458
- isMultiCity && /* @__PURE__ */ jsx44(
4459
- Typography22,
4460
- {
4461
- sx: {
4462
- color: tokens39.colors.earth,
4463
- fontSize: tokens39.typography.fontSizes.xs,
4464
- fontWeight: tokens39.typography.fontWeights.bold,
4465
- textTransform: "uppercase",
4466
- letterSpacing: tokens39.typography.letterSpacings.wide,
4467
- lineHeight: 1
4468
- },
4469
- children: "Multi-city"
4437
+ component: "img",
4438
+ src: item.imageUrl,
4439
+ alt: item.garmentType,
4440
+ sx: { width: "100%", height: "100%", objectFit: "cover" }
4470
4441
  }
4471
4442
  )
4472
- ]
4443
+ },
4444
+ item.listingId
4445
+ );
4446
+ }) }),
4447
+ items.length > 3 && /* @__PURE__ */ jsx44(
4448
+ MitumbaGlass,
4449
+ {
4450
+ rounding: "full",
4451
+ opacity: 0.8,
4452
+ blur: 12,
4453
+ sx: {
4454
+ position: "absolute",
4455
+ bottom: 20,
4456
+ right: 20,
4457
+ px: 1.5,
4458
+ py: 0.5,
4459
+ zIndex: 5
4460
+ },
4461
+ children: /* @__PURE__ */ jsxs27(Typography23, { sx: { fontSize: 10, fontWeight: 900, color: tokens40.colors.earth }, children: [
4462
+ "+",
4463
+ items.length - 3,
4464
+ " MORE"
4465
+ ] })
4473
4466
  }
4474
4467
  )
4475
4468
  ]
4476
4469
  }
4477
- )
4470
+ ),
4471
+ /* @__PURE__ */ jsxs27(Box32, { sx: { p: 2.5 }, children: [
4472
+ /* @__PURE__ */ jsx44(
4473
+ Typography23,
4474
+ {
4475
+ sx: {
4476
+ fontSize: tokens40.typography.fontSizes.lg,
4477
+ fontWeight: 900,
4478
+ color: tokens40.colors.textPrimary,
4479
+ fontFamily: tokens40.typography.fontFamily,
4480
+ lineHeight: 1.1,
4481
+ mb: 1,
4482
+ letterSpacing: "-0.01em"
4483
+ },
4484
+ children: outfitName
4485
+ }
4486
+ ),
4487
+ /* @__PURE__ */ jsxs27(Stack6, { direction: "row", spacing: 1, alignItems: "center", sx: { mb: 2.5 }, children: [
4488
+ /* @__PURE__ */ jsxs27(
4489
+ Typography23,
4490
+ {
4491
+ sx: {
4492
+ fontSize: 11,
4493
+ fontWeight: 700,
4494
+ color: tokens40.colors.textSecondary,
4495
+ textTransform: "uppercase",
4496
+ letterSpacing: "0.05em"
4497
+ },
4498
+ children: [
4499
+ sellersCount,
4500
+ " Sellers"
4501
+ ]
4502
+ }
4503
+ ),
4504
+ isMultiCity && /* @__PURE__ */ jsxs27(Fragment, { children: [
4505
+ /* @__PURE__ */ jsx44(Box32, { sx: { width: 4, height: 4, borderRadius: "50%", bgcolor: tokens40.colors.divider } }),
4506
+ /* @__PURE__ */ jsxs27(Stack6, { direction: "row", spacing: 0.5, alignItems: "center", children: [
4507
+ /* @__PURE__ */ jsx44(LocalShippingIcon3, { sx: { fontSize: 14, color: tokens40.colors.earth } }),
4508
+ /* @__PURE__ */ jsx44(
4509
+ Typography23,
4510
+ {
4511
+ sx: {
4512
+ fontSize: 10,
4513
+ fontWeight: 800,
4514
+ color: tokens40.colors.earth,
4515
+ textTransform: "uppercase"
4516
+ },
4517
+ children: "Multi-City"
4518
+ }
4519
+ )
4520
+ ] })
4521
+ ] })
4522
+ ] }),
4523
+ /* @__PURE__ */ jsxs27(Stack6, { direction: "row", justifyContent: "space-between", alignItems: "center", children: [
4524
+ /* @__PURE__ */ jsxs27(Box32, { children: [
4525
+ /* @__PURE__ */ jsx44(Typography23, { sx: { fontSize: 10, fontWeight: 800, color: tokens40.colors.textDisabled, textTransform: "uppercase", mb: 0.2 }, children: "Total Look" }),
4526
+ /* @__PURE__ */ jsxs27(Typography23, { sx: { fontSize: tokens40.typography.fontSizes.xl, fontWeight: 900, color: tokens40.colors.textPrimary, fontFamily: tokens40.typography.fontFamily }, children: [
4527
+ "KES ",
4528
+ totalPriceKes.toLocaleString()
4529
+ ] })
4530
+ ] }),
4531
+ onBuyAll && /* @__PURE__ */ jsx44(
4532
+ MitumbaPrimaryButton,
4533
+ {
4534
+ label: "Buy entire look",
4535
+ variant: "earth",
4536
+ size: "small",
4537
+ icon: /* @__PURE__ */ jsx44(AutoAwesomeIcon3, { sx: { fontSize: 16 } }),
4538
+ iconPosition: "right",
4539
+ onClick: (e) => {
4540
+ e.stopPropagation();
4541
+ onBuyAll();
4542
+ },
4543
+ sx: { borderRadius: tokens40.radius.full, height: 36, px: 3 }
4544
+ }
4545
+ )
4546
+ ] })
4547
+ ] })
4478
4548
  ]
4479
4549
  }
4480
4550
  );
@@ -4482,175 +4552,99 @@ function VAZIOutfitCard({
4482
4552
 
4483
4553
  // src/components/vazi/VAZIOutfitCardSkeleton/VAZIOutfitCardSkeleton.tsx
4484
4554
  import Box33 from "@mui/material/Box";
4485
- import Skeleton from "@mui/material/Skeleton";
4486
- import { tokens as tokens40 } from "@mitumba/tokens";
4487
- import { jsx as jsx45, jsxs as jsxs27 } from "react/jsx-runtime";
4488
- var SKELETON_IMAGE_KEYS = ["image-1", "image-2", "image-3", "image-4"];
4555
+ import { tokens as tokens41 } from "@mitumba/tokens";
4556
+ import { jsx as jsx45, jsxs as jsxs28 } from "react/jsx-runtime";
4489
4557
  function VAZIOutfitCardSkeleton() {
4490
- return /* @__PURE__ */ jsxs27(
4558
+ return /* @__PURE__ */ jsxs28(
4491
4559
  Box33,
4492
4560
  {
4493
4561
  sx: {
4494
- borderRadius: tokens40.radius.lg,
4495
- boxShadow: tokens40.shadows.card,
4496
- display: "flex",
4497
- flexDirection: "column",
4562
+ borderRadius: `${tokens41.radius.lg}px`,
4498
4563
  overflow: "hidden",
4564
+ backgroundColor: tokens41.colors.surface,
4565
+ boxShadow: tokens41.shadows.card,
4499
4566
  width: "100%"
4500
4567
  },
4501
4568
  children: [
4502
- /* @__PURE__ */ jsxs27(
4569
+ /* @__PURE__ */ jsx45(
4503
4570
  Box33,
4504
4571
  {
4505
4572
  sx: {
4506
- alignItems: "center",
4573
+ height: 280,
4574
+ backgroundColor: tokens41.colors.background,
4507
4575
  display: "flex",
4508
- gap: tokens40.spacing.sm,
4509
- paddingInline: tokens40.spacing.base,
4510
- paddingBlock: tokens40.spacing.base
4576
+ alignItems: "center",
4577
+ justifyContent: "center",
4578
+ position: "relative"
4511
4579
  },
4512
- children: [
4580
+ children: /* @__PURE__ */ jsxs28(Box33, { sx: { position: "relative", width: 140, height: 180 }, children: [
4513
4581
  /* @__PURE__ */ jsx45(
4514
- Skeleton,
4582
+ MitumbaSkeleton,
4515
4583
  {
4516
- "aria-label": "Loading VAZI label",
4517
- variant: "rounded",
4584
+ variant: "rectangular",
4518
4585
  sx: {
4519
- borderRadius: tokens40.radius.sm,
4520
- height: tokens40.spacing.lg,
4521
- width: 48
4586
+ position: "absolute",
4587
+ inset: 0,
4588
+ borderRadius: 2,
4589
+ border: `2px solid ${tokens41.colors.white}`
4522
4590
  }
4523
4591
  }
4524
4592
  ),
4525
4593
  /* @__PURE__ */ jsx45(
4526
- Skeleton,
4594
+ MitumbaSkeleton,
4527
4595
  {
4528
- "aria-label": "Loading outfit name",
4529
- variant: "text",
4596
+ variant: "rectangular",
4530
4597
  sx: {
4531
- flex: 1,
4532
- fontSize: tokens40.typography.fontSizes.base
4598
+ position: "absolute",
4599
+ top: 4,
4600
+ left: -12,
4601
+ width: "100%",
4602
+ height: "100%",
4603
+ borderRadius: 2,
4604
+ zIndex: -1,
4605
+ transform: "rotate(-4deg)",
4606
+ opacity: 0.5
4533
4607
  }
4534
4608
  }
4535
4609
  )
4536
- ]
4610
+ ] })
4537
4611
  }
4538
4612
  ),
4539
- /* @__PURE__ */ jsx45(
4540
- Box33,
4541
- {
4542
- sx: {
4543
- display: "flex",
4544
- gap: tokens40.spacing.sm,
4545
- overflowX: "auto",
4546
- paddingInline: tokens40.spacing.base,
4547
- paddingBottom: tokens40.spacing.base,
4548
- scrollbarWidth: "none",
4549
- msOverflowStyle: "none",
4550
- "&::-webkit-scrollbar": {
4551
- display: "none"
4552
- }
4553
- },
4554
- children: SKELETON_IMAGE_KEYS.map((imgKey) => /* @__PURE__ */ jsxs27(
4555
- Box33,
4613
+ /* @__PURE__ */ jsxs28(Box33, { sx: { p: 2.5 }, children: [
4614
+ /* @__PURE__ */ jsx45(
4615
+ MitumbaSkeleton,
4616
+ {
4617
+ variant: "rectangular",
4618
+ width: "70%",
4619
+ height: 24,
4620
+ sx: { mb: 1, borderRadius: 1 }
4621
+ }
4622
+ ),
4623
+ /* @__PURE__ */ jsx45(
4624
+ MitumbaSkeleton,
4625
+ {
4626
+ variant: "rectangular",
4627
+ width: "40%",
4628
+ height: 12,
4629
+ sx: { mb: 3, borderRadius: 1 }
4630
+ }
4631
+ ),
4632
+ /* @__PURE__ */ jsxs28(Box33, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
4633
+ /* @__PURE__ */ jsxs28(Box33, { children: [
4634
+ /* @__PURE__ */ jsx45(MitumbaSkeleton, { variant: "rectangular", width: 60, height: 10, sx: { mb: 0.5, borderRadius: 0.5 } }),
4635
+ /* @__PURE__ */ jsx45(MitumbaSkeleton, { variant: "rectangular", width: 100, height: 28, sx: { borderRadius: 0.5 } })
4636
+ ] }),
4637
+ /* @__PURE__ */ jsx45(
4638
+ MitumbaSkeleton,
4556
4639
  {
4557
- sx: {
4558
- flexShrink: 0,
4559
- width: `${3 / 4 * 100}px`,
4560
- minWidth: "88px"
4561
- },
4562
- children: [
4563
- /* @__PURE__ */ jsx45(
4564
- Skeleton,
4565
- {
4566
- "aria-label": `Loading item image ${imgKey.split("-")[1]}`,
4567
- variant: "rounded",
4568
- sx: {
4569
- aspectRatio: "3 / 4",
4570
- borderRadius: tokens40.radius.md,
4571
- width: "100%"
4572
- }
4573
- }
4574
- ),
4575
- /* @__PURE__ */ jsx45(
4576
- Skeleton,
4577
- {
4578
- "aria-label": `Loading seller name ${imgKey.split("-")[1]}`,
4579
- variant: "text",
4580
- sx: {
4581
- fontSize: tokens40.typography.fontSizes.xs,
4582
- marginTop: tokens40.spacing.xs,
4583
- width: "80%"
4584
- }
4585
- }
4586
- )
4587
- ]
4588
- },
4589
- imgKey
4590
- ))
4591
- }
4592
- ),
4593
- /* @__PURE__ */ jsxs27(
4594
- Box33,
4595
- {
4596
- sx: {
4597
- display: "flex",
4598
- flexDirection: "column",
4599
- gap: tokens40.spacing.sm,
4600
- paddingInline: tokens40.spacing.base,
4601
- paddingBlock: tokens40.spacing.base
4602
- },
4603
- children: [
4604
- /* @__PURE__ */ jsxs27(
4605
- Box33,
4606
- {
4607
- sx: {
4608
- alignItems: "center",
4609
- display: "flex",
4610
- gap: tokens40.spacing.sm,
4611
- justifyContent: "space-between"
4612
- },
4613
- children: [
4614
- /* @__PURE__ */ jsx45(
4615
- Skeleton,
4616
- {
4617
- "aria-label": "Loading total price",
4618
- variant: "text",
4619
- sx: {
4620
- fontSize: tokens40.typography.fontSizes.lg,
4621
- width: "40%"
4622
- }
4623
- }
4624
- ),
4625
- /* @__PURE__ */ jsx45(
4626
- Skeleton,
4627
- {
4628
- "aria-label": "Loading buy button",
4629
- variant: "rounded",
4630
- sx: {
4631
- borderRadius: tokens40.radius.md,
4632
- height: "36px",
4633
- width: 100
4634
- }
4635
- }
4636
- )
4637
- ]
4638
- }
4639
- ),
4640
- /* @__PURE__ */ jsx45(
4641
- Skeleton,
4642
- {
4643
- "aria-label": "Loading seller info",
4644
- variant: "text",
4645
- sx: {
4646
- fontSize: tokens40.typography.fontSizes.sm,
4647
- width: "60%"
4648
- }
4649
- }
4650
- )
4651
- ]
4652
- }
4653
- )
4640
+ variant: "rounded",
4641
+ width: 120,
4642
+ height: 36,
4643
+ sx: { borderRadius: 100 }
4644
+ }
4645
+ )
4646
+ ] })
4647
+ ] })
4654
4648
  ]
4655
4649
  }
4656
4650
  );
@@ -4658,132 +4652,115 @@ function VAZIOutfitCardSkeleton() {
4658
4652
 
4659
4653
  // src/components/vazi/VAZIFeedSection/VAZIFeedSection.tsx
4660
4654
  import Box34 from "@mui/material/Box";
4661
- import { tokens as tokens41 } from "@mitumba/tokens";
4662
- import { jsx as jsx46, jsxs as jsxs28 } from "react/jsx-runtime";
4663
- var renderOutfitCards = (outfits) => outfits.map((outfit) => /* @__PURE__ */ jsx46(
4664
- Box34,
4665
- {
4666
- sx: {
4667
- flexShrink: 0,
4668
- width: { xs: "82%", md: "100%" },
4669
- maxWidth: { xs: "340px", md: "none" }
4670
- },
4671
- children: /* @__PURE__ */ jsx46(
4672
- VAZIOutfitCard,
4673
- {
4674
- outfitName: outfit.outfitName,
4675
- items: outfit.items,
4676
- totalPriceKes: outfit.totalPriceKes,
4677
- sellersCount: outfit.sellersCount,
4678
- isMultiCity: outfit.isMultiCity,
4679
- onTap: outfit.onTap,
4680
- onBuyAll: outfit.onBuyAll
4681
- }
4682
- )
4683
- },
4684
- outfit.outfitName
4685
- ));
4686
- var renderSkeletons = () => Array.from({ length: 3 }, (_, skeletonIdx) => /* @__PURE__ */ jsx46(
4687
- Box34,
4688
- {
4689
- sx: {
4690
- flexShrink: 0,
4691
- width: { xs: "82%", md: "100%" },
4692
- maxWidth: { xs: "340px", md: "none" }
4693
- },
4694
- children: /* @__PURE__ */ jsx46(VAZIOutfitCardSkeleton, {})
4695
- },
4696
- `skeleton-${skeletonIdx}`
4697
- ));
4655
+ import Typography24 from "@mui/material/Typography";
4656
+ import Stack7 from "@mui/material/Stack";
4657
+ import AutoAwesomeIcon4 from "@mui/icons-material/AutoAwesome";
4658
+ import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
4659
+ import { tokens as tokens42 } from "@mitumba/tokens";
4660
+ import { jsx as jsx46, jsxs as jsxs29 } from "react/jsx-runtime";
4698
4661
  function VAZIFeedSection({ outfits, loading = false, onSeeAll }) {
4699
- return /* @__PURE__ */ jsxs28(
4662
+ return /* @__PURE__ */ jsxs29(
4700
4663
  Box34,
4701
4664
  {
4702
4665
  sx: {
4703
4666
  display: "flex",
4704
4667
  flexDirection: "column",
4705
- gap: tokens41.spacing.base,
4668
+ gap: 4,
4706
4669
  width: "100%"
4707
4670
  },
4708
4671
  children: [
4709
- /* @__PURE__ */ jsxs28(
4672
+ /* @__PURE__ */ jsxs29(
4710
4673
  Box34,
4711
4674
  {
4712
4675
  sx: {
4713
- alignItems: "center",
4714
4676
  display: "flex",
4715
4677
  justifyContent: "space-between",
4716
- paddingInline: { xs: tokens41.spacing.base, md: 0 }
4678
+ alignItems: "flex-end",
4679
+ paddingInline: { xs: 2, md: 0 }
4717
4680
  },
4718
4681
  children: [
4719
- /* @__PURE__ */ jsx46(
4720
- Box34,
4721
- {
4722
- component: "h2",
4723
- sx: {
4724
- color: tokens41.colors.textPrimary,
4725
- fontFamily: tokens41.typography.fontFamily,
4726
- fontSize: tokens41.typography.fontSizes.xl,
4727
- fontWeight: tokens41.typography.fontWeights.bold,
4728
- lineHeight: tokens41.typography.lineHeights.snug,
4729
- margin: 0
4730
- },
4731
- children: "VAZI Picks"
4732
- }
4733
- ),
4734
- onSeeAll && /* @__PURE__ */ jsx46(
4682
+ /* @__PURE__ */ jsxs29(Stack7, { spacing: 1, children: [
4683
+ /* @__PURE__ */ jsxs29(Stack7, { direction: "row", spacing: 1, alignItems: "center", children: [
4684
+ /* @__PURE__ */ jsx46(AutoAwesomeIcon4, { sx: { fontSize: 18, color: tokens42.colors.earth } }),
4685
+ /* @__PURE__ */ jsx46(
4686
+ Typography24,
4687
+ {
4688
+ sx: {
4689
+ fontSize: 12,
4690
+ fontWeight: 900,
4691
+ color: tokens42.colors.earth,
4692
+ textTransform: "uppercase",
4693
+ letterSpacing: "0.1em"
4694
+ },
4695
+ children: "AI Curation"
4696
+ }
4697
+ )
4698
+ ] }),
4699
+ /* @__PURE__ */ jsx46(
4700
+ Typography24,
4701
+ {
4702
+ component: "h2",
4703
+ sx: {
4704
+ color: tokens42.colors.textPrimary,
4705
+ fontFamily: tokens42.typography.fontFamily,
4706
+ fontSize: tokens42.typography.fontSizes.xxl,
4707
+ fontWeight: 900,
4708
+ lineHeight: 1,
4709
+ margin: 0
4710
+ },
4711
+ children: "VAZI Picks for You"
4712
+ }
4713
+ )
4714
+ ] }),
4715
+ onSeeAll && /* @__PURE__ */ jsxs29(
4735
4716
  Box34,
4736
4717
  {
4737
- component: "button",
4738
4718
  onClick: onSeeAll,
4739
4719
  sx: {
4740
- backgroundColor: "transparent",
4741
- border: "none",
4742
- color: tokens41.colors.earth,
4720
+ display: "flex",
4721
+ alignItems: "center",
4722
+ gap: 1,
4723
+ color: tokens42.colors.earth,
4743
4724
  cursor: "pointer",
4744
- fontFamily: tokens41.typography.fontFamily,
4745
- fontSize: tokens41.typography.fontSizes.base,
4746
- fontWeight: tokens41.typography.fontWeights.semibold,
4747
- lineHeight: tokens41.typography.lineHeights.normal,
4748
- padding: 0,
4749
- textDecoration: "none",
4750
- transition: "color 200ms ease",
4751
- whiteSpace: "nowrap",
4725
+ transition: "all 0.3s ease",
4752
4726
  "&:hover": {
4753
- color: tokens41.colors.earthDark,
4754
- textDecoration: "underline"
4755
- },
4756
- "&:focus-visible": {
4757
- outline: `${tokens41.spacing.xs}px solid transparent`,
4758
- boxShadow: tokens41.shadows.focus,
4759
- borderRadius: tokens41.radius.sm
4727
+ gap: 1.5,
4728
+ color: tokens42.colors.earthDark
4760
4729
  }
4761
4730
  },
4762
- children: "See all"
4731
+ children: [
4732
+ /* @__PURE__ */ jsx46(
4733
+ Typography24,
4734
+ {
4735
+ sx: {
4736
+ fontSize: 12,
4737
+ fontWeight: 900,
4738
+ textTransform: "uppercase",
4739
+ letterSpacing: "0.05em"
4740
+ },
4741
+ children: "Explore All"
4742
+ }
4743
+ ),
4744
+ /* @__PURE__ */ jsx46(ArrowForwardIcon, { sx: { fontSize: 16 } })
4745
+ ]
4763
4746
  }
4764
4747
  )
4765
4748
  ]
4766
4749
  }
4767
4750
  ),
4768
- /* @__PURE__ */ jsx46(
4769
- Box34,
4751
+ /* @__PURE__ */ jsx46(MitumbaGrid, { columns: { xs: 1, sm: 2, md: 3, lg: 3 }, gap: 3, children: loading ? Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx46(VAZIOutfitCardSkeleton, {}, `vazi-skeleton-${i + 1}`)) : outfits.map((outfit) => /* @__PURE__ */ jsx46(
4752
+ VAZIOutfitCard,
4770
4753
  {
4771
- sx: {
4772
- display: { xs: "flex", md: "grid" },
4773
- gridTemplateColumns: { md: "repeat(3, 1fr)" },
4774
- gap: tokens41.spacing.base,
4775
- overflowX: { xs: "auto", md: "visible" },
4776
- paddingInline: { xs: tokens41.spacing.base, md: 0 },
4777
- paddingBottom: { xs: tokens41.spacing.sm, md: 0 },
4778
- scrollbarWidth: "none",
4779
- msOverflowStyle: "none",
4780
- "&::-webkit-scrollbar": {
4781
- display: "none"
4782
- }
4783
- },
4784
- children: loading ? renderSkeletons() : renderOutfitCards(outfits)
4785
- }
4786
- )
4754
+ outfitName: outfit.outfitName,
4755
+ items: outfit.items,
4756
+ totalPriceKes: outfit.totalPriceKes,
4757
+ sellersCount: outfit.sellersCount,
4758
+ isMultiCity: outfit.isMultiCity,
4759
+ onTap: outfit.onTap,
4760
+ onBuyAll: outfit.onBuyAll
4761
+ },
4762
+ outfit.outfitName
4763
+ )) })
4787
4764
  ]
4788
4765
  }
4789
4766
  );
@@ -4791,90 +4768,71 @@ function VAZIFeedSection({ outfits, loading = false, onSeeAll }) {
4791
4768
 
4792
4769
  // src/components/vazi/CompleteThisLookPanel/CompleteThisLookPanel.tsx
4793
4770
  import Box35 from "@mui/material/Box";
4794
- import Typography23 from "@mui/material/Typography";
4795
- import { tokens as tokens42 } from "@mitumba/tokens";
4796
- import { jsx as jsx47, jsxs as jsxs29 } from "react/jsx-runtime";
4771
+ import Typography25 from "@mui/material/Typography";
4772
+ import Stack8 from "@mui/material/Stack";
4773
+ import AutoAwesomeIcon5 from "@mui/icons-material/AutoAwesome";
4774
+ import { tokens as tokens43 } from "@mitumba/tokens";
4775
+ import { jsx as jsx47, jsxs as jsxs30 } from "react/jsx-runtime";
4797
4776
  function CompleteThisLookPanel({ outfits, loading = false }) {
4798
4777
  if (!loading && outfits.length === 0) {
4799
4778
  return null;
4800
4779
  }
4801
- const renderOutfitCards2 = () => outfits.map((outfit) => /* @__PURE__ */ jsx47(
4802
- Box35,
4803
- {
4804
- sx: {
4805
- flexShrink: 0,
4806
- width: { xs: "82%", md: "100%" },
4807
- maxWidth: { xs: "340px", md: "none" }
4808
- },
4809
- children: /* @__PURE__ */ jsx47(
4810
- VAZIOutfitCard,
4811
- {
4812
- outfitName: outfit.outfitName,
4813
- items: outfit.items,
4814
- totalPriceKes: outfit.totalPriceKes,
4815
- sellersCount: outfit.sellersCount,
4816
- isMultiCity: outfit.isMultiCity,
4817
- onTap: outfit.onTap,
4818
- onBuyAll: outfit.onBuyAll
4819
- }
4820
- )
4821
- },
4822
- outfit.outfitName
4823
- ));
4824
- const renderSkeletons2 = () => ["skel-0", "skel-1", "skel-2"].map((skelKey) => /* @__PURE__ */ jsx47(
4825
- Box35,
4826
- {
4827
- sx: {
4828
- flexShrink: 0,
4829
- width: { xs: "82%", md: "100%" },
4830
- maxWidth: { xs: "340px", md: "none" }
4831
- },
4832
- children: /* @__PURE__ */ jsx47(VAZIOutfitCardSkeleton, {})
4833
- },
4834
- skelKey
4835
- ));
4836
- return /* @__PURE__ */ jsxs29(
4780
+ return /* @__PURE__ */ jsxs30(
4837
4781
  Box35,
4838
4782
  {
4839
4783
  sx: {
4840
4784
  display: "flex",
4841
4785
  flexDirection: "column",
4842
- gap: tokens42.spacing.base,
4786
+ gap: 3,
4843
4787
  width: "100%"
4844
4788
  },
4845
4789
  children: [
4846
- /* @__PURE__ */ jsx47(
4847
- Typography23,
4848
- {
4849
- component: "h2",
4850
- sx: {
4851
- color: tokens42.colors.textPrimary,
4852
- fontSize: tokens42.typography.fontSizes.xl,
4853
- fontWeight: tokens42.typography.fontWeights.bold,
4854
- lineHeight: tokens42.typography.lineHeights.snug,
4855
- margin: 0
4856
- },
4857
- children: "Complete this look"
4858
- }
4859
- ),
4860
- /* @__PURE__ */ jsx47(
4861
- Box35,
4862
- {
4863
- sx: {
4864
- display: { xs: "flex", md: "grid" },
4865
- gridTemplateColumns: { md: "repeat(3, 1fr)" },
4866
- gap: tokens42.spacing.base,
4867
- overflowX: { xs: "auto", md: "visible" },
4868
- paddingBottom: { xs: tokens42.spacing.sm, md: 0 },
4869
- scrollbarWidth: "none",
4870
- msOverflowStyle: "none",
4871
- "&::-webkit-scrollbar": {
4872
- display: "none"
4790
+ /* @__PURE__ */ jsxs30(Stack8, { spacing: 1, sx: { paddingInline: { xs: 2, md: 0 } }, children: [
4791
+ /* @__PURE__ */ jsxs30(Stack8, { direction: "row", spacing: 1, alignItems: "center", children: [
4792
+ /* @__PURE__ */ jsx47(AutoAwesomeIcon5, { sx: { fontSize: 16, color: tokens43.colors.earth } }),
4793
+ /* @__PURE__ */ jsx47(
4794
+ Typography25,
4795
+ {
4796
+ sx: {
4797
+ fontSize: 11,
4798
+ fontWeight: 900,
4799
+ color: tokens43.colors.earth,
4800
+ textTransform: "uppercase",
4801
+ letterSpacing: "0.08em"
4802
+ },
4803
+ children: "AI Recommendations"
4873
4804
  }
4874
- },
4875
- children: loading ? renderSkeletons2() : renderOutfitCards2()
4876
- }
4877
- )
4805
+ )
4806
+ ] }),
4807
+ /* @__PURE__ */ jsx47(
4808
+ Typography25,
4809
+ {
4810
+ component: "h2",
4811
+ sx: {
4812
+ color: tokens43.colors.textPrimary,
4813
+ fontFamily: tokens43.typography.fontFamily,
4814
+ fontSize: tokens43.typography.fontSizes.xl,
4815
+ fontWeight: 900,
4816
+ lineHeight: 1,
4817
+ margin: 0
4818
+ },
4819
+ children: "Complete this look"
4820
+ }
4821
+ )
4822
+ ] }),
4823
+ /* @__PURE__ */ jsx47(MitumbaGrid, { columns: { xs: 1, sm: 2, md: 3, lg: 3 }, gap: 3, children: loading ? Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx47(VAZIOutfitCardSkeleton, {}, `vazi-skel-${i + 1}`)) : outfits.map((outfit) => /* @__PURE__ */ jsx47(
4824
+ VAZIOutfitCard,
4825
+ {
4826
+ outfitName: outfit.outfitName,
4827
+ items: outfit.items,
4828
+ totalPriceKes: outfit.totalPriceKes,
4829
+ sellersCount: outfit.sellersCount,
4830
+ isMultiCity: outfit.isMultiCity,
4831
+ onTap: outfit.onTap,
4832
+ onBuyAll: outfit.onBuyAll
4833
+ },
4834
+ outfit.outfitName
4835
+ )) })
4878
4836
  ]
4879
4837
  }
4880
4838
  );
@@ -4886,7 +4844,7 @@ import { ThemeProvider } from "@mui/material/styles";
4886
4844
 
4887
4845
  // src/theme/theme.ts
4888
4846
  import { createTheme } from "@mui/material/styles";
4889
- import { tokens as tokens43 } from "@mitumba/tokens";
4847
+ import { tokens as tokens44 } from "@mitumba/tokens";
4890
4848
  var transitions = {
4891
4849
  standard: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
4892
4850
  spring: "all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)"
@@ -4895,86 +4853,86 @@ var mitumbaTheme = createTheme({
4895
4853
  // Spacing factor 4px (Mandate)
4896
4854
  spacing: (factor) => `${factor * 4}px`,
4897
4855
  breakpoints: {
4898
- values: tokens43.breakpoints
4856
+ values: tokens44.breakpoints
4899
4857
  },
4900
4858
  palette: {
4901
4859
  mode: "light",
4902
4860
  primary: {
4903
- main: tokens43.colors.green,
4904
- light: tokens43.colors.greenLight,
4905
- dark: tokens43.colors.greenDark,
4906
- contrastText: tokens43.colors.textOnGreen
4861
+ main: tokens44.colors.green,
4862
+ light: tokens44.colors.greenLight,
4863
+ dark: tokens44.colors.greenDark,
4864
+ contrastText: tokens44.colors.textOnGreen
4907
4865
  },
4908
4866
  secondary: {
4909
- main: tokens43.colors.earth,
4910
- light: tokens43.colors.earthLight,
4911
- dark: tokens43.colors.earthDark,
4912
- contrastText: tokens43.colors.textOnEarth
4867
+ main: tokens44.colors.earth,
4868
+ light: tokens44.colors.earthLight,
4869
+ dark: tokens44.colors.earthDark,
4870
+ contrastText: tokens44.colors.textOnEarth
4913
4871
  },
4914
4872
  earth: {
4915
- main: tokens43.colors.earth,
4916
- light: tokens43.colors.earthLight,
4917
- dark: tokens43.colors.earthDark,
4918
- contrastText: tokens43.colors.textOnEarth
4873
+ main: tokens44.colors.earth,
4874
+ light: tokens44.colors.earthLight,
4875
+ dark: tokens44.colors.earthDark,
4876
+ contrastText: tokens44.colors.textOnEarth
4919
4877
  },
4920
4878
  success: {
4921
- main: tokens43.colors.success,
4922
- light: tokens43.colors.successLight,
4923
- dark: tokens43.colors.successDark,
4924
- contrastText: tokens43.colors.textOnGreen
4879
+ main: tokens44.colors.success,
4880
+ light: tokens44.colors.successLight,
4881
+ dark: tokens44.colors.successDark,
4882
+ contrastText: tokens44.colors.textOnGreen
4925
4883
  },
4926
4884
  error: {
4927
- main: tokens43.colors.error,
4928
- light: tokens43.colors.errorLight,
4929
- dark: tokens43.colors.errorDark,
4930
- contrastText: tokens43.colors.white
4885
+ main: tokens44.colors.error,
4886
+ light: tokens44.colors.errorLight,
4887
+ dark: tokens44.colors.errorDark,
4888
+ contrastText: tokens44.colors.white
4931
4889
  },
4932
4890
  warning: {
4933
- main: tokens43.colors.warning,
4934
- light: tokens43.colors.warningLight,
4935
- dark: tokens43.colors.warningDark,
4936
- contrastText: tokens43.colors.textPrimary
4891
+ main: tokens44.colors.warning,
4892
+ light: tokens44.colors.warningLight,
4893
+ dark: tokens44.colors.warningDark,
4894
+ contrastText: tokens44.colors.textPrimary
4937
4895
  },
4938
4896
  info: {
4939
- main: tokens43.colors.info,
4940
- light: tokens43.colors.infoLight,
4941
- dark: tokens43.colors.infoDark,
4942
- contrastText: tokens43.colors.white
4897
+ main: tokens44.colors.info,
4898
+ light: tokens44.colors.infoLight,
4899
+ dark: tokens44.colors.infoDark,
4900
+ contrastText: tokens44.colors.white
4943
4901
  },
4944
4902
  background: {
4945
- default: tokens43.colors.background,
4946
- paper: tokens43.colors.surface
4903
+ default: tokens44.colors.background,
4904
+ paper: tokens44.colors.surface
4947
4905
  },
4948
- divider: tokens43.colors.divider,
4906
+ divider: tokens44.colors.divider,
4949
4907
  text: {
4950
- primary: tokens43.colors.textPrimary,
4951
- secondary: tokens43.colors.textSecondary,
4952
- disabled: tokens43.colors.textDisabled
4908
+ primary: tokens44.colors.textPrimary,
4909
+ secondary: tokens44.colors.textSecondary,
4910
+ disabled: tokens44.colors.textDisabled
4953
4911
  },
4954
4912
  common: {
4955
- black: tokens43.colors.textPrimary,
4956
- white: tokens43.colors.white
4913
+ black: tokens44.colors.textPrimary,
4914
+ white: tokens44.colors.white
4957
4915
  }
4958
4916
  },
4959
4917
  shape: {
4960
- borderRadius: tokens43.radius.md
4918
+ borderRadius: tokens44.radius.md
4961
4919
  // 8px default
4962
4920
  },
4963
4921
  shadows: [
4964
4922
  "none",
4965
- tokens43.shadows.card,
4923
+ tokens44.shadows.card,
4966
4924
  // 1
4967
- tokens43.shadows.elevated,
4925
+ tokens44.shadows.elevated,
4968
4926
  // 2
4969
- tokens43.shadows.deep,
4927
+ tokens44.shadows.deep,
4970
4928
  // 3
4971
- tokens43.shadows.bottomSheet,
4929
+ tokens44.shadows.bottomSheet,
4972
4930
  // 4
4973
- tokens43.shadows.focus,
4931
+ tokens44.shadows.focus,
4974
4932
  // 5
4975
- tokens43.shadows.green,
4933
+ tokens44.shadows.green,
4976
4934
  // 6
4977
- tokens43.shadows.earth,
4935
+ tokens44.shadows.earth,
4978
4936
  // 7
4979
4937
  "none",
4980
4938
  "none",
@@ -4995,45 +4953,45 @@ var mitumbaTheme = createTheme({
4995
4953
  "none"
4996
4954
  ],
4997
4955
  typography: {
4998
- fontFamily: tokens43.typography.fontFamily,
4999
- fontWeightRegular: tokens43.typography.fontWeights.regular,
5000
- fontWeightMedium: tokens43.typography.fontWeights.medium,
5001
- fontWeightBold: tokens43.typography.fontWeights.bold,
4956
+ fontFamily: tokens44.typography.fontFamily,
4957
+ fontWeightRegular: tokens44.typography.fontWeights.regular,
4958
+ fontWeightMedium: tokens44.typography.fontWeights.medium,
4959
+ fontWeightBold: tokens44.typography.fontWeights.bold,
5002
4960
  h1: {
5003
- fontSize: `${tokens43.typography.fontSizes.display}px`,
5004
- fontWeight: tokens43.typography.fontWeights.extrabold,
4961
+ fontSize: `${tokens44.typography.fontSizes.display}px`,
4962
+ fontWeight: tokens44.typography.fontWeights.extrabold,
5005
4963
  lineHeight: 1.1
5006
4964
  },
5007
4965
  h2: {
5008
- fontSize: `${tokens43.typography.fontSizes.xxxl}px`,
5009
- fontWeight: tokens43.typography.fontWeights.bold,
4966
+ fontSize: `${tokens44.typography.fontSizes.xxxl}px`,
4967
+ fontWeight: tokens44.typography.fontWeights.bold,
5010
4968
  lineHeight: 1.2
5011
4969
  },
5012
4970
  h3: {
5013
- fontSize: `${tokens43.typography.fontSizes.xxl}px`,
5014
- fontWeight: tokens43.typography.fontWeights.bold,
4971
+ fontSize: `${tokens44.typography.fontSizes.xxl}px`,
4972
+ fontWeight: tokens44.typography.fontWeights.bold,
5015
4973
  lineHeight: 1.2
5016
4974
  },
5017
4975
  h4: {
5018
- fontSize: `${tokens43.typography.fontSizes.xl}px`,
5019
- fontWeight: tokens43.typography.fontWeights.bold,
4976
+ fontSize: `${tokens44.typography.fontSizes.xl}px`,
4977
+ fontWeight: tokens44.typography.fontWeights.bold,
5020
4978
  lineHeight: 1.2
5021
4979
  },
5022
4980
  body1: {
5023
- fontSize: `${tokens43.typography.fontSizes.md}px`,
4981
+ fontSize: `${tokens44.typography.fontSizes.md}px`,
5024
4982
  lineHeight: 1.5
5025
4983
  },
5026
4984
  body2: {
5027
- fontSize: `${tokens43.typography.fontSizes.base}px`,
4985
+ fontSize: `${tokens44.typography.fontSizes.base}px`,
5028
4986
  lineHeight: 1.5
5029
4987
  },
5030
4988
  button: {
5031
- fontSize: `${tokens43.typography.fontSizes.base}px`,
4989
+ fontSize: `${tokens44.typography.fontSizes.base}px`,
5032
4990
  fontWeight: 600,
5033
4991
  textTransform: "none"
5034
4992
  },
5035
4993
  caption: {
5036
- fontSize: `${tokens43.typography.fontSizes.sm}px`,
4994
+ fontSize: `${tokens44.typography.fontSizes.sm}px`,
5037
4995
  lineHeight: 1.5
5038
4996
  }
5039
4997
  },
@@ -5041,9 +4999,9 @@ var mitumbaTheme = createTheme({
5041
4999
  MuiCssBaseline: {
5042
5000
  styleOverrides: {
5043
5001
  body: {
5044
- backgroundColor: tokens43.colors.background,
5045
- color: tokens43.colors.textPrimary,
5046
- fontFamily: tokens43.typography.fontFamily,
5002
+ backgroundColor: tokens44.colors.background,
5003
+ color: tokens44.colors.textPrimary,
5004
+ fontFamily: tokens44.typography.fontFamily,
5047
5005
  WebkitFontSmoothing: "antialiased",
5048
5006
  MozOsxFontSmoothing: "grayscale"
5049
5007
  },
@@ -5058,7 +5016,7 @@ var mitumbaTheme = createTheme({
5058
5016
  },
5059
5017
  styleOverrides: {
5060
5018
  root: {
5061
- borderRadius: `${tokens43.radius.md}px`,
5019
+ borderRadius: `${tokens44.radius.md}px`,
5062
5020
  transition: transitions.standard,
5063
5021
  fontWeight: 600,
5064
5022
  "&:hover": {
@@ -5068,40 +5026,40 @@ var mitumbaTheme = createTheme({
5068
5026
  transform: "translateY(0) scale(0.98)"
5069
5027
  },
5070
5028
  "&.Mui-disabled": {
5071
- backgroundColor: tokens43.colors.divider,
5072
- color: tokens43.colors.textDisabled,
5073
- borderColor: tokens43.colors.divider
5029
+ backgroundColor: tokens44.colors.divider,
5030
+ color: tokens44.colors.textDisabled,
5031
+ borderColor: tokens44.colors.divider
5074
5032
  }
5075
5033
  },
5076
5034
  containedPrimary: {
5077
- backgroundColor: tokens43.colors.green,
5035
+ backgroundColor: tokens44.colors.green,
5078
5036
  "&:hover": {
5079
- backgroundColor: tokens43.colors.greenDark,
5080
- boxShadow: tokens43.shadows.green
5037
+ backgroundColor: tokens44.colors.greenDark,
5038
+ boxShadow: tokens44.shadows.green
5081
5039
  }
5082
5040
  },
5083
5041
  containedSecondary: {
5084
- backgroundColor: tokens43.colors.earth,
5042
+ backgroundColor: tokens44.colors.earth,
5085
5043
  "&:hover": {
5086
- backgroundColor: tokens43.colors.earthDark,
5087
- boxShadow: tokens43.shadows.earth
5044
+ backgroundColor: tokens44.colors.earthDark,
5045
+ boxShadow: tokens44.shadows.earth
5088
5046
  }
5089
5047
  },
5090
5048
  outlinedPrimary: {
5091
5049
  borderWidth: "2px !important",
5092
- borderColor: tokens43.colors.border,
5093
- color: tokens43.colors.textPrimary,
5050
+ borderColor: tokens44.colors.border,
5051
+ color: tokens44.colors.textPrimary,
5094
5052
  "&:hover": {
5095
- backgroundColor: tokens43.colors.background,
5096
- borderColor: tokens43.colors.green,
5097
- color: tokens43.colors.green
5053
+ backgroundColor: tokens44.colors.background,
5054
+ borderColor: tokens44.colors.green,
5055
+ color: tokens44.colors.green
5098
5056
  }
5099
5057
  },
5100
5058
  textPrimary: {
5101
- color: tokens43.colors.textSecondary,
5059
+ color: tokens44.colors.textSecondary,
5102
5060
  "&:hover": {
5103
- backgroundColor: tokens43.colors.background,
5104
- color: tokens43.colors.textPrimary
5061
+ backgroundColor: tokens44.colors.background,
5062
+ color: tokens44.colors.textPrimary
5105
5063
  }
5106
5064
  }
5107
5065
  }
@@ -5109,16 +5067,16 @@ var mitumbaTheme = createTheme({
5109
5067
  MuiCard: {
5110
5068
  styleOverrides: {
5111
5069
  root: {
5112
- borderRadius: `${tokens43.radius.xl}px`,
5113
- backgroundColor: tokens43.colors.surface,
5114
- boxShadow: tokens43.shadows.card,
5070
+ borderRadius: `${tokens44.radius.xl}px`,
5071
+ backgroundColor: tokens44.colors.surface,
5072
+ boxShadow: tokens44.shadows.card,
5115
5073
  transition: transitions.standard,
5116
5074
  border: "1px solid",
5117
- borderColor: tokens43.colors.divider,
5075
+ borderColor: tokens44.colors.divider,
5118
5076
  "&:hover": {
5119
5077
  transform: "translateY(-4px)",
5120
- boxShadow: tokens43.shadows.elevated,
5121
- borderColor: tokens43.colors.border
5078
+ boxShadow: tokens44.shadows.elevated,
5079
+ borderColor: tokens44.colors.border
5122
5080
  }
5123
5081
  }
5124
5082
  }
@@ -5126,36 +5084,36 @@ var mitumbaTheme = createTheme({
5126
5084
  MuiPaper: {
5127
5085
  styleOverrides: {
5128
5086
  rounded: {
5129
- borderRadius: `${tokens43.radius.xl}px`
5087
+ borderRadius: `${tokens44.radius.xl}px`
5130
5088
  },
5131
5089
  elevation1: {
5132
- boxShadow: tokens43.shadows.card
5090
+ boxShadow: tokens44.shadows.card
5133
5091
  }
5134
5092
  }
5135
5093
  },
5136
5094
  MuiOutlinedInput: {
5137
5095
  styleOverrides: {
5138
5096
  root: {
5139
- borderRadius: `${tokens43.radius.md}px`,
5140
- backgroundColor: tokens43.colors.surface,
5097
+ borderRadius: `${tokens44.radius.md}px`,
5098
+ backgroundColor: tokens44.colors.surface,
5141
5099
  transition: transitions.standard,
5142
5100
  "& .MuiOutlinedInput-notchedOutline": {
5143
- borderColor: tokens43.colors.border,
5101
+ borderColor: tokens44.colors.border,
5144
5102
  borderWidth: "1px",
5145
5103
  transition: transitions.standard
5146
5104
  },
5147
5105
  "&:hover .MuiOutlinedInput-notchedOutline": {
5148
- borderColor: tokens43.colors.textDisabled
5106
+ borderColor: tokens44.colors.textDisabled
5149
5107
  },
5150
5108
  "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
5151
- borderColor: tokens43.colors.green,
5109
+ borderColor: tokens44.colors.green,
5152
5110
  borderWidth: "2px"
5153
5111
  },
5154
5112
  "&.Mui-error .MuiOutlinedInput-notchedOutline": {
5155
- borderColor: tokens43.colors.error
5113
+ borderColor: tokens44.colors.error
5156
5114
  },
5157
5115
  "&.Mui-focused": {
5158
- boxShadow: tokens43.shadows.focus
5116
+ boxShadow: tokens44.shadows.focus
5159
5117
  }
5160
5118
  }
5161
5119
  }
@@ -5167,7 +5125,7 @@ var mitumbaTheme = createTheme({
5167
5125
  cursor: "pointer",
5168
5126
  "&:hover": {
5169
5127
  transform: "perspective(1000px) rotateY(15deg) rotateX(-5deg) scale(1.1)",
5170
- boxShadow: tokens43.shadows.elevated
5128
+ boxShadow: tokens44.shadows.elevated
5171
5129
  },
5172
5130
  "&:active": {
5173
5131
  transform: "perspective(1000px) rotateY(0deg) rotateX(0deg) scale(1.05)"
@@ -5178,8 +5136,8 @@ var mitumbaTheme = createTheme({
5178
5136
  MuiDialog: {
5179
5137
  styleOverrides: {
5180
5138
  paper: {
5181
- borderRadius: `${tokens43.radius.xxxl}px`,
5182
- boxShadow: tokens43.shadows.bottomSheet,
5139
+ borderRadius: `${tokens44.radius.xxxl}px`,
5140
+ boxShadow: tokens44.shadows.bottomSheet,
5183
5141
  backgroundImage: "none"
5184
5142
  }
5185
5143
  }
@@ -5187,7 +5145,7 @@ var mitumbaTheme = createTheme({
5187
5145
  MuiAlert: {
5188
5146
  styleOverrides: {
5189
5147
  root: {
5190
- borderRadius: `${tokens43.radius.lg}px`,
5148
+ borderRadius: `${tokens44.radius.lg}px`,
5191
5149
  alignItems: "center"
5192
5150
  }
5193
5151
  }
@@ -5196,12 +5154,12 @@ var mitumbaTheme = createTheme({
5196
5154
  });
5197
5155
 
5198
5156
  // src/theme/provider.tsx
5199
- import { jsx as jsx48, jsxs as jsxs30 } from "react/jsx-runtime";
5157
+ import { jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
5200
5158
  function MitumbaThemeProvider({
5201
5159
  children,
5202
5160
  disableCssBaseline = false
5203
5161
  }) {
5204
- return /* @__PURE__ */ jsxs30(ThemeProvider, { theme: mitumbaTheme, children: [
5162
+ return /* @__PURE__ */ jsxs31(ThemeProvider, { theme: mitumbaTheme, children: [
5205
5163
  !disableCssBaseline && /* @__PURE__ */ jsx48(CssBaseline, {}),
5206
5164
  children
5207
5165
  ] });