@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.js CHANGED
@@ -1176,6 +1176,60 @@ function MitumbaAvatar({
1176
1176
  var import_Box6 = __toESM(require("@mui/material/Box"));
1177
1177
  var import_tokens6 = require("@mitumba/tokens");
1178
1178
  var import_jsx_runtime6 = require("react/jsx-runtime");
1179
+ function MitumbaGlass({
1180
+ children,
1181
+ blur = 24,
1182
+ opacity = 0.5,
1183
+ rounding = "large",
1184
+ border = true,
1185
+ role,
1186
+ sx
1187
+ }) {
1188
+ const radiusMap = {
1189
+ rounded: import_tokens6.tokens.radius.md,
1190
+ // 8px
1191
+ large: import_tokens6.tokens.radius.lg,
1192
+ // 16px
1193
+ huge: import_tokens6.tokens.radius.xl,
1194
+ // 24px
1195
+ full: import_tokens6.tokens.radius.full
1196
+ };
1197
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1198
+ import_Box6.default,
1199
+ {
1200
+ role,
1201
+ sx: [
1202
+ {
1203
+ position: "relative",
1204
+ overflow: "hidden",
1205
+ backgroundColor: `rgba(255, 255, 255, ${opacity})`,
1206
+ backdropFilter: `blur(${blur}px) saturate(180%)`,
1207
+ WebkitBackdropFilter: `blur(${blur}px) saturate(180%)`,
1208
+ borderRadius: `${radiusMap[rounding]}px`,
1209
+ // High-end glass border: Ultra-thin, white, low-opacity
1210
+ border: border ? "1px solid rgba(255, 255, 255, 0.4)" : "none",
1211
+ // Multi-layered shadow for realistic floating depth
1212
+ boxShadow: `
1213
+ 0 4px 12px 0 rgba(0, 0, 0, 0.05),
1214
+ 0 12px 32px 0 rgba(31, 38, 135, 0.1)
1215
+ `,
1216
+ transition: "all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",
1217
+ // Subtle light leak / shine effect
1218
+ "&::before": {
1219
+ content: '""',
1220
+ position: "absolute",
1221
+ inset: 0,
1222
+ zIndex: 0,
1223
+ 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%)",
1224
+ pointerEvents: "none"
1225
+ }
1226
+ },
1227
+ ...Array.isArray(sx) ? sx : [sx]
1228
+ ],
1229
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_Box6.default, { sx: { position: "relative", zIndex: 1 }, children })
1230
+ }
1231
+ );
1232
+ }
1179
1233
 
1180
1234
  // src/components/selection/MitumbaCheckbox/MitumbaCheckbox.tsx
1181
1235
  var import_react5 = require("react");
@@ -2935,24 +2989,66 @@ function STIScoreChip({
2935
2989
 
2936
2990
  // src/components/seller/SellerCard/SellerCard.tsx
2937
2991
  var import_Box24 = __toESM(require("@mui/material/Box"));
2938
- var import_Typography16 = __toESM(require("@mui/material/Typography"));
2992
+ var import_Typography17 = __toESM(require("@mui/material/Typography"));
2939
2993
  var import_Inventory2Outlined = __toESM(require("@mui/icons-material/Inventory2Outlined"));
2940
2994
  var import_LocationOnOutlined = __toESM(require("@mui/icons-material/LocationOnOutlined"));
2941
- var import_tokens31 = require("@mitumba/tokens");
2995
+ var import_tokens32 = require("@mitumba/tokens");
2942
2996
 
2943
2997
  // src/components/vazi/VAZIBadge/VAZIBadge.tsx
2998
+ var import_Typography16 = __toESM(require("@mui/material/Typography"));
2944
2999
  var import_AutoAwesome2 = __toESM(require("@mui/icons-material/AutoAwesome"));
3000
+ var import_tokens31 = require("@mitumba/tokens");
2945
3001
  var import_jsx_runtime31 = require("react/jsx-runtime");
2946
3002
  function VAZIBadge({ size = "small" }) {
2947
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2948
- MitumbaChip,
3003
+ const isLarge = size === "medium";
3004
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3005
+ MitumbaGlass,
2949
3006
  {
2950
- label: "VAZI Curation",
2951
- status: "special",
2952
- variant: "solid",
2953
- size,
2954
- icon: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_AutoAwesome2.default, {}),
2955
- color: "purple"
3007
+ rounding: "full",
3008
+ blur: 8,
3009
+ opacity: 0.9,
3010
+ sx: {
3011
+ display: "inline-flex",
3012
+ alignItems: "center",
3013
+ gap: 0.8,
3014
+ px: isLarge ? 2 : 1.5,
3015
+ py: 0.6,
3016
+ backgroundColor: "rgba(255, 255, 255, 0.95)",
3017
+ boxShadow: "0 2px 8px rgba(160, 98, 53, 0.15)",
3018
+ border: `1px solid rgba(160, 98, 53, 0.2)`
3019
+ },
3020
+ role: "status",
3021
+ children: [
3022
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3023
+ import_AutoAwesome2.default,
3024
+ {
3025
+ sx: {
3026
+ fontSize: isLarge ? 18 : 14,
3027
+ color: import_tokens31.tokens.colors.earth,
3028
+ animation: "vazi-pulse 3s infinite ease-in-out",
3029
+ "@keyframes vazi-pulse": {
3030
+ "0%, 100%": { transform: "scale(1) rotate(0deg)", opacity: 1 },
3031
+ "50%": { transform: "scale(1.2) rotate(10deg)", opacity: 0.8 }
3032
+ }
3033
+ }
3034
+ }
3035
+ ),
3036
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3037
+ import_Typography16.default,
3038
+ {
3039
+ sx: {
3040
+ fontSize: isLarge ? 12 : 10,
3041
+ fontWeight: 900,
3042
+ color: import_tokens31.tokens.colors.earth,
3043
+ fontFamily: import_tokens31.tokens.typography.fontFamily,
3044
+ textTransform: "uppercase",
3045
+ letterSpacing: "0.08em",
3046
+ lineHeight: 1
3047
+ },
3048
+ children: "VAZI"
3049
+ }
3050
+ )
3051
+ ]
2956
3052
  }
2957
3053
  );
2958
3054
  }
@@ -2984,75 +3080,75 @@ function SellerCard({
2984
3080
  sx: {
2985
3081
  display: "flex",
2986
3082
  alignItems: "center",
2987
- gap: import_tokens31.tokens.spacing.base,
2988
- p: import_tokens31.tokens.spacing.base,
2989
- borderRadius: import_tokens31.tokens.radius.lg,
2990
- bgcolor: import_tokens31.tokens.colors.surface,
2991
- boxShadow: import_tokens31.tokens.shadows.card,
2992
- border: `1px solid ${import_tokens31.tokens.colors.divider}`,
3083
+ gap: import_tokens32.tokens.spacing.base,
3084
+ p: import_tokens32.tokens.spacing.base,
3085
+ borderRadius: import_tokens32.tokens.radius.lg,
3086
+ bgcolor: import_tokens32.tokens.colors.surface,
3087
+ boxShadow: import_tokens32.tokens.shadows.card,
3088
+ border: `1px solid ${import_tokens32.tokens.colors.divider}`,
2993
3089
  cursor: onTap ? "pointer" : "default",
2994
3090
  transition: "all 250ms cubic-bezier(0.4, 0, 0.2, 1)",
2995
3091
  "&:hover": onTap ? {
2996
- boxShadow: import_tokens31.tokens.shadows.elevated,
3092
+ boxShadow: import_tokens32.tokens.shadows.elevated,
2997
3093
  transform: "translateY(-2px)",
2998
- borderColor: import_tokens31.tokens.colors.border
3094
+ borderColor: import_tokens32.tokens.colors.border
2999
3095
  } : void 0,
3000
3096
  "&:focus-visible": {
3001
- outline: `2px solid ${import_tokens31.tokens.colors.greenLight}`,
3002
- boxShadow: import_tokens31.tokens.shadows.focus
3097
+ outline: `2px solid ${import_tokens32.tokens.colors.greenLight}`,
3098
+ boxShadow: import_tokens32.tokens.shadows.focus
3003
3099
  }
3004
3100
  },
3005
3101
  children: [
3006
3102
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MitumbaAvatar, { name, imageUrl: avatarUrl, size: "md" }),
3007
3103
  /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { flex: 1, minWidth: 0 }, children: [
3008
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens31.tokens.spacing.sm }, children: [
3104
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens32.tokens.spacing.sm }, children: [
3009
3105
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3010
- import_Typography16.default,
3106
+ import_Typography17.default,
3011
3107
  {
3012
3108
  sx: {
3013
- fontWeight: import_tokens31.tokens.typography.fontWeights.bold,
3014
- fontSize: import_tokens31.tokens.typography.fontSizes.base,
3015
- color: import_tokens31.tokens.colors.textPrimary,
3109
+ fontWeight: import_tokens32.tokens.typography.fontWeights.bold,
3110
+ fontSize: import_tokens32.tokens.typography.fontSizes.base,
3111
+ color: import_tokens32.tokens.colors.textPrimary,
3016
3112
  lineHeight: 1.2,
3017
3113
  overflow: "hidden",
3018
3114
  textOverflow: "ellipsis",
3019
3115
  whiteSpace: "nowrap",
3020
- fontFamily: import_tokens31.tokens.typography.fontFamily
3116
+ fontFamily: import_tokens32.tokens.typography.fontFamily
3021
3117
  },
3022
3118
  children: name
3023
3119
  }
3024
3120
  ),
3025
3121
  isVaziFeatured && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VAZIBadge, { size: "small" })
3026
3122
  ] }),
3027
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens31.tokens.spacing.sm, mt: import_tokens31.tokens.spacing.xs }, children: [
3123
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens32.tokens.spacing.sm, mt: import_tokens32.tokens.spacing.xs }, children: [
3028
3124
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(STIScoreChip, { score: stiScore, compact: true }),
3029
3125
  /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { display: "flex", alignItems: "center", gap: "4px", opacity: 0.7 }, children: [
3030
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_Inventory2Outlined.default, { sx: { fontSize: 14, color: import_tokens31.tokens.colors.textSecondary } }),
3126
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_Inventory2Outlined.default, { sx: { fontSize: 14, color: import_tokens32.tokens.colors.textSecondary } }),
3031
3127
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3032
- import_Typography16.default,
3128
+ import_Typography17.default,
3033
3129
  {
3034
3130
  sx: {
3035
- color: import_tokens31.tokens.colors.textSecondary,
3131
+ color: import_tokens32.tokens.colors.textSecondary,
3036
3132
  fontSize: 10,
3037
- fontWeight: import_tokens31.tokens.typography.fontWeights.semibold,
3133
+ fontWeight: import_tokens32.tokens.typography.fontWeights.semibold,
3038
3134
  textTransform: "uppercase",
3039
- letterSpacing: import_tokens31.tokens.typography.letterSpacings.wide
3135
+ letterSpacing: import_tokens32.tokens.typography.letterSpacings.wide
3040
3136
  },
3041
3137
  children: totalListings
3042
3138
  }
3043
3139
  )
3044
3140
  ] }),
3045
3141
  /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_Box24.default, { sx: { display: "flex", alignItems: "center", gap: "4px", opacity: 0.7 }, children: [
3046
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_LocationOnOutlined.default, { sx: { fontSize: 14, color: import_tokens31.tokens.colors.textSecondary } }),
3142
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_LocationOnOutlined.default, { sx: { fontSize: 14, color: import_tokens32.tokens.colors.textSecondary } }),
3047
3143
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3048
- import_Typography16.default,
3144
+ import_Typography17.default,
3049
3145
  {
3050
3146
  sx: {
3051
- color: import_tokens31.tokens.colors.textSecondary,
3147
+ color: import_tokens32.tokens.colors.textSecondary,
3052
3148
  fontSize: 10,
3053
- fontWeight: import_tokens31.tokens.typography.fontWeights.semibold,
3149
+ fontWeight: import_tokens32.tokens.typography.fontWeights.semibold,
3054
3150
  textTransform: "uppercase",
3055
- letterSpacing: import_tokens31.tokens.typography.letterSpacings.wide
3151
+ letterSpacing: import_tokens32.tokens.typography.letterSpacings.wide
3056
3152
  },
3057
3153
  children: city
3058
3154
  }
@@ -3067,11 +3163,11 @@ function SellerCard({
3067
3163
 
3068
3164
  // src/components/seller/STIBreakdownPanel/STIBreakdownPanel.tsx
3069
3165
  var import_Box25 = __toESM(require("@mui/material/Box"));
3070
- var import_Typography17 = __toESM(require("@mui/material/Typography"));
3166
+ var import_Typography18 = __toESM(require("@mui/material/Typography"));
3071
3167
  var import_LinearProgress2 = __toESM(require("@mui/material/LinearProgress"));
3072
3168
  var import_AddOutlined = __toESM(require("@mui/icons-material/AddOutlined"));
3073
3169
  var import_RemoveOutlined = __toESM(require("@mui/icons-material/RemoveOutlined"));
3074
- var import_tokens32 = require("@mitumba/tokens");
3170
+ var import_tokens33 = require("@mitumba/tokens");
3075
3171
  var import_jsx_runtime33 = require("react/jsx-runtime");
3076
3172
  function formatPercent(value) {
3077
3173
  return `${Math.round(value * 100)}%`;
@@ -3094,29 +3190,29 @@ function STIBreakdownPanel({
3094
3190
  import_Box25.default,
3095
3191
  {
3096
3192
  sx: {
3097
- p: import_tokens32.tokens.spacing.base,
3098
- borderRadius: import_tokens32.tokens.radius.lg,
3099
- bgcolor: import_tokens32.tokens.colors.surface,
3100
- boxShadow: import_tokens32.tokens.shadows.card,
3101
- border: `1px solid ${import_tokens32.tokens.colors.divider}`
3193
+ p: import_tokens33.tokens.spacing.base,
3194
+ borderRadius: import_tokens33.tokens.radius.lg,
3195
+ bgcolor: import_tokens33.tokens.colors.surface,
3196
+ boxShadow: import_tokens33.tokens.shadows.card,
3197
+ border: `1px solid ${import_tokens33.tokens.colors.divider}`
3102
3198
  },
3103
3199
  children: [
3104
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Box25.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens32.tokens.spacing.base, mb: import_tokens32.tokens.spacing.lg }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(STIScoreChip, { score }) }),
3105
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Box25.default, { component: "section", "aria-label": "Score factors", sx: { mb: import_tokens32.tokens.spacing.lg }, children: factors.map((factor) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { sx: { mb: import_tokens32.tokens.spacing.md }, children: [
3106
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { sx: { display: "flex", justifyContent: "space-between", mb: import_tokens32.tokens.spacing.xs }, children: [
3200
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Box25.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens33.tokens.spacing.base, mb: import_tokens33.tokens.spacing.lg }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(STIScoreChip, { score }) }),
3201
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Box25.default, { component: "section", "aria-label": "Score factors", sx: { mb: import_tokens33.tokens.spacing.lg }, children: factors.map((factor) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { sx: { mb: import_tokens33.tokens.spacing.md }, children: [
3202
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { sx: { display: "flex", justifyContent: "space-between", mb: import_tokens33.tokens.spacing.xs }, children: [
3107
3203
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3108
- import_Typography17.default,
3204
+ import_Typography18.default,
3109
3205
  {
3110
3206
  variant: "body2",
3111
- sx: { color: import_tokens32.tokens.colors.textSecondary, fontSize: import_tokens32.tokens.typography.fontSizes.sm },
3207
+ sx: { color: import_tokens33.tokens.colors.textSecondary, fontSize: import_tokens33.tokens.typography.fontSizes.sm },
3112
3208
  children: factor.label
3113
3209
  }
3114
3210
  ),
3115
3211
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3116
- import_Typography17.default,
3212
+ import_Typography18.default,
3117
3213
  {
3118
3214
  variant: "body2",
3119
- sx: { fontWeight: import_tokens32.tokens.typography.fontWeights.semibold, fontSize: import_tokens32.tokens.typography.fontSizes.sm },
3215
+ sx: { fontWeight: import_tokens33.tokens.typography.fontWeights.semibold, fontSize: import_tokens33.tokens.typography.fontSizes.sm },
3120
3216
  children: factor.display
3121
3217
  }
3122
3218
  )
@@ -3127,12 +3223,12 @@ function STIBreakdownPanel({
3127
3223
  variant: "determinate",
3128
3224
  value: factor.value * 100,
3129
3225
  sx: {
3130
- height: import_tokens32.tokens.spacing.sm,
3131
- borderRadius: import_tokens32.tokens.radius.full,
3132
- bgcolor: import_tokens32.tokens.colors.background,
3226
+ height: import_tokens33.tokens.spacing.sm,
3227
+ borderRadius: import_tokens33.tokens.radius.full,
3228
+ bgcolor: import_tokens33.tokens.colors.background,
3133
3229
  "& .MuiLinearProgress-bar": {
3134
- bgcolor: import_tokens32.tokens.colors.green,
3135
- borderRadius: import_tokens32.tokens.radius.full
3230
+ bgcolor: import_tokens33.tokens.colors.green,
3231
+ borderRadius: import_tokens33.tokens.radius.full
3136
3232
  }
3137
3233
  },
3138
3234
  "aria-label": `${factor.label} progress`
@@ -3141,14 +3237,14 @@ function STIBreakdownPanel({
3141
3237
  ] }, factor.label)) }),
3142
3238
  recentEvents.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { component: "section", "aria-label": "Recent STI events", children: [
3143
3239
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3144
- import_Typography17.default,
3240
+ import_Typography18.default,
3145
3241
  {
3146
3242
  variant: "body2",
3147
3243
  sx: {
3148
- fontWeight: import_tokens32.tokens.typography.fontWeights.semibold,
3149
- fontSize: import_tokens32.tokens.typography.fontSizes.sm,
3150
- color: import_tokens32.tokens.colors.textPrimary,
3151
- mb: import_tokens32.tokens.spacing.sm
3244
+ fontWeight: import_tokens33.tokens.typography.fontWeights.semibold,
3245
+ fontSize: import_tokens33.tokens.typography.fontSizes.sm,
3246
+ color: import_tokens33.tokens.colors.textPrimary,
3247
+ mb: import_tokens33.tokens.spacing.sm
3152
3248
  },
3153
3249
  children: "Recent Events"
3154
3250
  }
@@ -3159,34 +3255,34 @@ function STIBreakdownPanel({
3159
3255
  sx: {
3160
3256
  display: "flex",
3161
3257
  alignItems: "flex-start",
3162
- gap: import_tokens32.tokens.spacing.sm,
3163
- py: import_tokens32.tokens.spacing.sm,
3164
- borderBottom: `1px solid ${import_tokens32.tokens.colors.divider}`
3258
+ gap: import_tokens33.tokens.spacing.sm,
3259
+ py: import_tokens33.tokens.spacing.sm,
3260
+ borderBottom: `1px solid ${import_tokens33.tokens.colors.divider}`
3165
3261
  },
3166
3262
  children: [
3167
- event.type === "positive" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_AddOutlined.default, { sx: { fontSize: 16, color: import_tokens32.tokens.colors.success, mt: import_tokens32.tokens.spacing.xs } }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_RemoveOutlined.default, { sx: { fontSize: 16, color: import_tokens32.tokens.colors.error, mt: import_tokens32.tokens.spacing.xs } }),
3263
+ event.type === "positive" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_AddOutlined.default, { sx: { fontSize: 16, color: import_tokens33.tokens.colors.success, mt: import_tokens33.tokens.spacing.xs } }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_RemoveOutlined.default, { sx: { fontSize: 16, color: import_tokens33.tokens.colors.error, mt: import_tokens33.tokens.spacing.xs } }),
3168
3264
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { sx: { flex: 1 }, children: [
3169
3265
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_Box25.default, { sx: { display: "flex", justifyContent: "space-between" }, children: [
3170
3266
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3171
- import_Typography17.default,
3267
+ import_Typography18.default,
3172
3268
  {
3173
3269
  variant: "body2",
3174
3270
  sx: {
3175
- fontSize: import_tokens32.tokens.typography.fontSizes.sm,
3176
- color: import_tokens32.tokens.colors.textPrimary,
3177
- fontWeight: import_tokens32.tokens.typography.fontWeights.medium
3271
+ fontSize: import_tokens33.tokens.typography.fontSizes.sm,
3272
+ color: import_tokens33.tokens.colors.textPrimary,
3273
+ fontWeight: import_tokens33.tokens.typography.fontWeights.medium
3178
3274
  },
3179
3275
  children: event.reason
3180
3276
  }
3181
3277
  ),
3182
3278
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3183
- import_Typography17.default,
3279
+ import_Typography18.default,
3184
3280
  {
3185
3281
  variant: "caption",
3186
3282
  sx: {
3187
- fontSize: import_tokens32.tokens.typography.fontSizes.xs,
3188
- fontWeight: import_tokens32.tokens.typography.fontWeights.bold,
3189
- color: event.type === "positive" ? import_tokens32.tokens.colors.success : import_tokens32.tokens.colors.error
3283
+ fontSize: import_tokens33.tokens.typography.fontSizes.xs,
3284
+ fontWeight: import_tokens33.tokens.typography.fontWeights.bold,
3285
+ color: event.type === "positive" ? import_tokens33.tokens.colors.success : import_tokens33.tokens.colors.error
3190
3286
  },
3191
3287
  children: [
3192
3288
  event.type === "positive" ? "+" : "",
@@ -3195,7 +3291,7 @@ function STIBreakdownPanel({
3195
3291
  }
3196
3292
  )
3197
3293
  ] }),
3198
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Typography17.default, { variant: "caption", sx: { fontSize: import_tokens32.tokens.typography.fontSizes.xs, color: import_tokens32.tokens.colors.textSecondary }, children: event.timestamp })
3294
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_Typography18.default, { variant: "caption", sx: { fontSize: import_tokens33.tokens.typography.fontSizes.xs, color: import_tokens33.tokens.colors.textSecondary }, children: event.timestamp })
3199
3295
  ] })
3200
3296
  ]
3201
3297
  },
@@ -3210,13 +3306,13 @@ function STIBreakdownPanel({
3210
3306
  // src/components/listing/ListingCard/ListingCard.tsx
3211
3307
  var import_react12 = require("react");
3212
3308
  var import_Box26 = __toESM(require("@mui/material/Box"));
3213
- var import_Typography18 = __toESM(require("@mui/material/Typography"));
3309
+ var import_Typography19 = __toESM(require("@mui/material/Typography"));
3214
3310
  var import_Stack4 = __toESM(require("@mui/material/Stack"));
3215
3311
  var import_IconButton6 = __toESM(require("@mui/material/IconButton"));
3216
3312
  var import_Favorite = __toESM(require("@mui/icons-material/Favorite"));
3217
3313
  var import_FavoriteBorder = __toESM(require("@mui/icons-material/FavoriteBorder"));
3218
3314
  var import_ArrowOutward = __toESM(require("@mui/icons-material/ArrowOutward"));
3219
- var import_tokens33 = require("@mitumba/tokens");
3315
+ var import_tokens34 = require("@mitumba/tokens");
3220
3316
  var import_jsx_runtime34 = require("react/jsx-runtime");
3221
3317
  function ListingCard({
3222
3318
  images,
@@ -3249,8 +3345,8 @@ function ListingCard({
3249
3345
  sx: [
3250
3346
  {
3251
3347
  width: "100%",
3252
- backgroundColor: import_tokens33.tokens.colors.surface,
3253
- borderRadius: `${import_tokens33.tokens.radius.lg}px`,
3348
+ backgroundColor: import_tokens34.tokens.colors.surface,
3349
+ borderRadius: `${import_tokens34.tokens.radius.lg}px`,
3254
3350
  // Standardized to 16px (Serious)
3255
3351
  overflow: "hidden",
3256
3352
  // High-end layered shadow, no clunky borders
@@ -3263,13 +3359,13 @@ function ListingCard({
3263
3359
  position: "relative",
3264
3360
  "&:hover": {
3265
3361
  transform: "translateY(-6px)",
3266
- boxShadow: import_tokens33.tokens.shadows.deep
3362
+ boxShadow: import_tokens34.tokens.shadows.deep
3267
3363
  }
3268
3364
  },
3269
3365
  ...Array.isArray(sx) ? sx : [sx]
3270
3366
  ],
3271
3367
  children: [
3272
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_Box26.default, { sx: { position: "relative", width: "100%", pt: "100%", backgroundColor: import_tokens33.tokens.colors.background }, children: [
3368
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_Box26.default, { sx: { position: "relative", width: "100%", pt: "100%", backgroundColor: import_tokens34.tokens.colors.background }, children: [
3273
3369
  /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3274
3370
  import_Box26.default,
3275
3371
  {
@@ -3298,13 +3394,13 @@ function ListingCard({
3298
3394
  backdropFilter: "blur(4px)",
3299
3395
  px: 1.5,
3300
3396
  py: 0.5,
3301
- borderRadius: import_tokens33.tokens.radius.full,
3397
+ borderRadius: import_tokens34.tokens.radius.full,
3302
3398
  fontSize: 10,
3303
3399
  fontWeight: 800,
3304
- color: import_tokens33.tokens.colors.textPrimary,
3305
- fontFamily: import_tokens33.tokens.typography.fontFamily,
3400
+ color: import_tokens34.tokens.colors.textPrimary,
3401
+ fontFamily: import_tokens34.tokens.typography.fontFamily,
3306
3402
  textTransform: "uppercase",
3307
- boxShadow: import_tokens33.tokens.shadows.card,
3403
+ boxShadow: import_tokens34.tokens.shadows.card,
3308
3404
  zIndex: 2
3309
3405
  },
3310
3406
  children: badge
@@ -3319,12 +3415,12 @@ function ListingCard({
3319
3415
  right: 12,
3320
3416
  width: 32,
3321
3417
  height: 32,
3322
- backgroundColor: import_tokens33.tokens.colors.white,
3418
+ backgroundColor: import_tokens34.tokens.colors.white,
3323
3419
  borderRadius: "50%",
3324
3420
  display: "flex",
3325
3421
  alignItems: "center",
3326
3422
  justifyContent: "center",
3327
- boxShadow: import_tokens33.tokens.shadows.card,
3423
+ boxShadow: import_tokens34.tokens.shadows.card,
3328
3424
  p: 0.5,
3329
3425
  zIndex: 2,
3330
3426
  "& img": { width: "100%", height: "100%", objectFit: "contain" }
@@ -3342,10 +3438,10 @@ function ListingCard({
3342
3438
  right: 12,
3343
3439
  backgroundColor: "rgba(255, 255, 255, 0.9)",
3344
3440
  backdropFilter: "blur(4px)",
3345
- boxShadow: import_tokens33.tokens.shadows.card,
3346
- color: isLiked ? import_tokens33.tokens.colors.error : import_tokens33.tokens.colors.textSecondary,
3441
+ boxShadow: import_tokens34.tokens.shadows.card,
3442
+ color: isLiked ? import_tokens34.tokens.colors.error : import_tokens34.tokens.colors.textSecondary,
3347
3443
  zIndex: 2,
3348
- "&:hover": { backgroundColor: import_tokens33.tokens.colors.white, transform: "scale(1.1)" }
3444
+ "&:hover": { backgroundColor: import_tokens34.tokens.colors.white, transform: "scale(1.1)" }
3349
3445
  },
3350
3446
  children: isLiked ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_Favorite.default, { sx: { fontSize: 18 } }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_FavoriteBorder.default, { sx: { fontSize: 18 } })
3351
3447
  }
@@ -3372,8 +3468,8 @@ function ListingCard({
3372
3468
  sx: {
3373
3469
  width: activeImage === i ? 12 : 6,
3374
3470
  height: 6,
3375
- borderRadius: import_tokens33.tokens.radius.full,
3376
- backgroundColor: import_tokens33.tokens.colors.white,
3471
+ borderRadius: import_tokens34.tokens.radius.full,
3472
+ backgroundColor: import_tokens34.tokens.colors.white,
3377
3473
  opacity: activeImage === i ? 1 : 0.5,
3378
3474
  transition: "all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)",
3379
3475
  cursor: "pointer",
@@ -3388,13 +3484,13 @@ function ListingCard({
3388
3484
  /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_Box26.default, { sx: { p: 2.5 }, children: [
3389
3485
  " ",
3390
3486
  /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3391
- import_Typography18.default,
3487
+ import_Typography19.default,
3392
3488
  {
3393
3489
  sx: {
3394
- fontSize: import_tokens33.tokens.typography.fontSizes.base,
3490
+ fontSize: import_tokens34.tokens.typography.fontSizes.base,
3395
3491
  fontWeight: 800,
3396
- color: import_tokens33.tokens.colors.textPrimary,
3397
- fontFamily: import_tokens33.tokens.typography.fontFamily,
3492
+ color: import_tokens34.tokens.colors.textPrimary,
3493
+ fontFamily: import_tokens34.tokens.typography.fontFamily,
3398
3494
  lineHeight: 1.2,
3399
3495
  mb: 0.5,
3400
3496
  whiteSpace: "nowrap",
@@ -3405,12 +3501,12 @@ function ListingCard({
3405
3501
  }
3406
3502
  ),
3407
3503
  (brand || size) && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3408
- import_Typography18.default,
3504
+ import_Typography19.default,
3409
3505
  {
3410
3506
  sx: {
3411
- fontSize: import_tokens33.tokens.typography.fontSizes.xs,
3412
- color: import_tokens33.tokens.colors.textSecondary,
3413
- fontFamily: import_tokens33.tokens.typography.fontFamily,
3507
+ fontSize: import_tokens34.tokens.typography.fontSizes.xs,
3508
+ color: import_tokens34.tokens.colors.textSecondary,
3509
+ fontFamily: import_tokens34.tokens.typography.fontFamily,
3414
3510
  fontWeight: 600,
3415
3511
  mb: 2
3416
3512
  },
@@ -3426,29 +3522,29 @@ function ListingCard({
3426
3522
  import_Box26.default,
3427
3523
  {
3428
3524
  sx: {
3429
- backgroundColor: import_tokens33.tokens.colors.background,
3525
+ backgroundColor: import_tokens34.tokens.colors.background,
3430
3526
  px: 1.5,
3431
3527
  py: 0.8,
3432
- borderRadius: import_tokens33.tokens.radius.full,
3433
- fontSize: import_tokens33.tokens.typography.fontSizes.base,
3528
+ borderRadius: import_tokens34.tokens.radius.full,
3529
+ fontSize: import_tokens34.tokens.typography.fontSizes.base,
3434
3530
  fontWeight: 800,
3435
- color: import_tokens33.tokens.colors.textPrimary,
3436
- fontFamily: import_tokens33.tokens.typography.fontFamily,
3531
+ color: import_tokens34.tokens.colors.textPrimary,
3532
+ fontFamily: import_tokens34.tokens.typography.fontFamily,
3437
3533
  display: "flex",
3438
3534
  alignItems: "baseline",
3439
3535
  gap: 0.5
3440
3536
  },
3441
3537
  children: [
3442
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_Typography18.default, { component: "span", sx: { fontSize: 10, fontWeight: 900 }, children: "KES" }),
3538
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_Typography19.default, { component: "span", sx: { fontSize: 10, fontWeight: 900 }, children: "KES" }),
3443
3539
  price.toLocaleString(),
3444
3540
  originalPrice && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3445
- import_Typography18.default,
3541
+ import_Typography19.default,
3446
3542
  {
3447
3543
  component: "span",
3448
3544
  sx: {
3449
3545
  ml: 0.5,
3450
3546
  fontSize: 10,
3451
- color: import_tokens33.tokens.colors.textDisabled,
3547
+ color: import_tokens34.tokens.colors.textDisabled,
3452
3548
  textDecoration: "line-through",
3453
3549
  fontWeight: 600
3454
3550
  },
@@ -3468,7 +3564,7 @@ function ListingCard({
3468
3564
  icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_ArrowOutward.default, { sx: { fontSize: 16 } }),
3469
3565
  iconPosition: "right",
3470
3566
  sx: {
3471
- borderRadius: import_tokens33.tokens.radius.full,
3567
+ borderRadius: import_tokens34.tokens.radius.full,
3472
3568
  px: 2.5,
3473
3569
  height: 32,
3474
3570
  // Forced small height for density
@@ -3486,7 +3582,7 @@ function ListingCard({
3486
3582
 
3487
3583
  // src/components/listing/ListingCardSkeleton/ListingCardSkeleton.tsx
3488
3584
  var import_Box27 = __toESM(require("@mui/material/Box"));
3489
- var import_tokens34 = require("@mitumba/tokens");
3585
+ var import_tokens35 = require("@mitumba/tokens");
3490
3586
  var import_jsx_runtime35 = require("react/jsx-runtime");
3491
3587
  function ListingCardSkeleton() {
3492
3588
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
@@ -3494,8 +3590,8 @@ function ListingCardSkeleton() {
3494
3590
  {
3495
3591
  sx: {
3496
3592
  width: "100%",
3497
- backgroundColor: import_tokens34.tokens.colors.surface,
3498
- borderRadius: `${import_tokens34.tokens.radius.lg}px`,
3593
+ backgroundColor: import_tokens35.tokens.colors.surface,
3594
+ borderRadius: `${import_tokens35.tokens.radius.lg}px`,
3499
3595
  // 16px (Serious Standard)
3500
3596
  overflow: "hidden",
3501
3597
  boxShadow: `
@@ -3589,7 +3685,7 @@ function ListingGrid({
3589
3685
  // src/components/listing/ListingImageGallery/ListingImageGallery.tsx
3590
3686
  var import_react13 = require("react");
3591
3687
  var import_Box29 = __toESM(require("@mui/material/Box"));
3592
- var import_tokens35 = require("@mitumba/tokens");
3688
+ var import_tokens36 = require("@mitumba/tokens");
3593
3689
  var import_jsx_runtime37 = require("react/jsx-runtime");
3594
3690
  function ListingImageGallery({ images, title }) {
3595
3691
  const [activeIndex, setActiveIndex] = (0, import_react13.useState)(0);
@@ -3623,14 +3719,14 @@ function ListingImageGallery({ images, title }) {
3623
3719
  sx: {
3624
3720
  alignItems: "center",
3625
3721
  aspectRatio: "1 / 1",
3626
- backgroundColor: import_tokens35.tokens.colors.background,
3627
- borderRadius: `${import_tokens35.tokens.radius.lg}px`,
3628
- color: import_tokens35.tokens.colors.textSecondary,
3722
+ backgroundColor: import_tokens36.tokens.colors.background,
3723
+ borderRadius: `${import_tokens36.tokens.radius.lg}px`,
3724
+ color: import_tokens36.tokens.colors.textSecondary,
3629
3725
  display: "flex",
3630
- fontSize: import_tokens35.tokens.typography.fontSizes.base,
3726
+ fontSize: import_tokens36.tokens.typography.fontSizes.base,
3631
3727
  justifyContent: "center",
3632
3728
  width: "100%",
3633
- border: `1px dashed ${import_tokens35.tokens.colors.divider}`
3729
+ border: `1px dashed ${import_tokens36.tokens.colors.divider}`
3634
3730
  },
3635
3731
  children: "No images available"
3636
3732
  }
@@ -3642,7 +3738,7 @@ function ListingImageGallery({ images, title }) {
3642
3738
  sx: {
3643
3739
  display: "flex",
3644
3740
  flexDirection: "column",
3645
- gap: import_tokens35.tokens.spacing.base,
3741
+ gap: import_tokens36.tokens.spacing.base,
3646
3742
  width: "100%"
3647
3743
  },
3648
3744
  children: [
@@ -3651,11 +3747,11 @@ function ListingImageGallery({ images, title }) {
3651
3747
  {
3652
3748
  sx: {
3653
3749
  aspectRatio: "1 / 1",
3654
- borderRadius: `${import_tokens35.tokens.radius.lg}px`,
3750
+ borderRadius: `${import_tokens36.tokens.radius.lg}px`,
3655
3751
  overflow: "hidden",
3656
3752
  position: "relative",
3657
3753
  width: "100%",
3658
- backgroundColor: import_tokens35.tokens.colors.background,
3754
+ backgroundColor: import_tokens36.tokens.colors.background,
3659
3755
  boxShadow: `
3660
3756
  0 2px 4px 0 rgba(0, 0, 0, 0.05),
3661
3757
  0 8px 16px -4px rgba(0, 0, 0, 0.1)
@@ -3703,8 +3799,8 @@ function ListingImageGallery({ images, title }) {
3703
3799
  role: "button",
3704
3800
  tabIndex: 0,
3705
3801
  sx: {
3706
- border: index === activeIndex ? `2px solid ${import_tokens35.tokens.colors.green}` : `2px solid transparent`,
3707
- borderRadius: `${import_tokens35.tokens.radius.md}px`,
3802
+ border: index === activeIndex ? `2px solid ${import_tokens36.tokens.colors.green}` : `2px solid transparent`,
3803
+ borderRadius: `${import_tokens36.tokens.radius.md}px`,
3708
3804
  cursor: "pointer",
3709
3805
  flexShrink: 0,
3710
3806
  height: 56,
@@ -3719,7 +3815,7 @@ function ListingImageGallery({ images, title }) {
3719
3815
  },
3720
3816
  "&:focus-visible": {
3721
3817
  outline: "none",
3722
- boxShadow: import_tokens35.tokens.shadows.focus
3818
+ boxShadow: import_tokens36.tokens.shadows.focus
3723
3819
  }
3724
3820
  },
3725
3821
  "aria-label": `View image ${index + 1} of ${images.length}`,
@@ -3770,33 +3866,33 @@ function ConditionBadge({ grade, showLabel = false }) {
3770
3866
  }
3771
3867
 
3772
3868
  // src/components/commerce/PriceTag/PriceTag.tsx
3773
- var import_Typography19 = __toESM(require("@mui/material/Typography"));
3774
- var import_tokens36 = require("@mitumba/tokens");
3869
+ var import_Typography20 = __toESM(require("@mui/material/Typography"));
3870
+ var import_tokens37 = require("@mitumba/tokens");
3775
3871
  var import_jsx_runtime39 = require("react/jsx-runtime");
3776
3872
  function PriceTag({ priceKes, size = "medium", color = "default", strikethrough = false }) {
3777
3873
  const formattedNumber = new Intl.NumberFormat("en-KE").format(priceKes);
3778
3874
  const formatted = `KES ${formattedNumber}`;
3779
3875
  const sizeStyles = {
3780
3876
  small: {
3781
- fontSize: import_tokens36.tokens.typography.fontSizes.sm,
3782
- fontWeight: import_tokens36.tokens.typography.fontWeights.semibold
3877
+ fontSize: import_tokens37.tokens.typography.fontSizes.sm,
3878
+ fontWeight: import_tokens37.tokens.typography.fontWeights.semibold
3783
3879
  },
3784
3880
  medium: {
3785
- fontSize: import_tokens36.tokens.typography.fontSizes.base,
3786
- fontWeight: import_tokens36.tokens.typography.fontWeights.bold
3881
+ fontSize: import_tokens37.tokens.typography.fontSizes.base,
3882
+ fontWeight: import_tokens37.tokens.typography.fontWeights.bold
3787
3883
  },
3788
3884
  large: {
3789
- fontSize: import_tokens36.tokens.typography.fontSizes.xl,
3790
- fontWeight: import_tokens36.tokens.typography.fontWeights.extrabold
3885
+ fontSize: import_tokens37.tokens.typography.fontSizes.xl,
3886
+ fontWeight: import_tokens37.tokens.typography.fontWeights.extrabold
3791
3887
  }
3792
3888
  };
3793
3889
  const colorMap = {
3794
- green: import_tokens36.tokens.colors.green,
3795
- earth: import_tokens36.tokens.colors.earth,
3796
- default: import_tokens36.tokens.colors.textPrimary
3890
+ green: import_tokens37.tokens.colors.green,
3891
+ earth: import_tokens37.tokens.colors.earth,
3892
+ default: import_tokens37.tokens.colors.textPrimary
3797
3893
  };
3798
3894
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3799
- import_Typography19.default,
3895
+ import_Typography20.default,
3800
3896
  {
3801
3897
  component: "span",
3802
3898
  sx: {
@@ -3834,11 +3930,11 @@ function DeliveryBadge({ type, estimatedDays }) {
3834
3930
 
3835
3931
  // src/components/commerce/CartItem/CartItem.tsx
3836
3932
  var import_Box30 = __toESM(require("@mui/material/Box"));
3837
- var import_Typography20 = __toESM(require("@mui/material/Typography"));
3933
+ var import_Typography21 = __toESM(require("@mui/material/Typography"));
3838
3934
  var import_IconButton7 = __toESM(require("@mui/material/IconButton"));
3839
3935
  var import_Close4 = __toESM(require("@mui/icons-material/Close"));
3840
3936
  var import_Stack5 = __toESM(require("@mui/material/Stack"));
3841
- var import_tokens37 = require("@mitumba/tokens");
3937
+ var import_tokens38 = require("@mitumba/tokens");
3842
3938
  var import_jsx_runtime41 = require("react/jsx-runtime");
3843
3939
  function CartItem({
3844
3940
  imageUrl,
@@ -3860,8 +3956,8 @@ function CartItem({
3860
3956
  {
3861
3957
  display: "flex",
3862
3958
  width: "100%",
3863
- backgroundColor: import_tokens37.tokens.colors.surface,
3864
- borderRadius: `${import_tokens37.tokens.radius.lg}px`,
3959
+ backgroundColor: import_tokens38.tokens.colors.surface,
3960
+ borderRadius: `${import_tokens38.tokens.radius.lg}px`,
3865
3961
  // 16px (Serious Standard)
3866
3962
  p: { xs: 2, md: 3 },
3867
3963
  boxShadow: `
@@ -3870,10 +3966,10 @@ function CartItem({
3870
3966
  `,
3871
3967
  transition: "all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)",
3872
3968
  position: "relative",
3873
- border: `1px solid ${import_tokens37.tokens.colors.divider}`,
3969
+ border: `1px solid ${import_tokens38.tokens.colors.divider}`,
3874
3970
  "&:hover": {
3875
3971
  transform: "translateY(-4px)",
3876
- boxShadow: import_tokens37.tokens.shadows.deep
3972
+ boxShadow: import_tokens38.tokens.shadows.deep
3877
3973
  }
3878
3974
  },
3879
3975
  ...Array.isArray(sx) ? sx : [sx]
@@ -3885,9 +3981,9 @@ function CartItem({
3885
3981
  sx: {
3886
3982
  width: { xs: 80, sm: 120, md: 140 },
3887
3983
  height: { xs: 80, sm: 120, md: 140 },
3888
- borderRadius: `${import_tokens37.tokens.radius.md}px`,
3984
+ borderRadius: `${import_tokens38.tokens.radius.md}px`,
3889
3985
  overflow: "hidden",
3890
- backgroundColor: import_tokens37.tokens.colors.background,
3986
+ backgroundColor: import_tokens38.tokens.colors.background,
3891
3987
  flexShrink: 0
3892
3988
  },
3893
3989
  children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
@@ -3916,13 +4012,13 @@ function CartItem({
3916
4012
  children: [
3917
4013
  /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Box30.default, { sx: { flex: 1.5 }, children: [
3918
4014
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3919
- import_Typography20.default,
4015
+ import_Typography21.default,
3920
4016
  {
3921
4017
  sx: {
3922
- fontSize: import_tokens37.tokens.typography.fontSizes.lg,
4018
+ fontSize: import_tokens38.tokens.typography.fontSizes.lg,
3923
4019
  fontWeight: 900,
3924
- color: import_tokens37.tokens.colors.textPrimary,
3925
- fontFamily: import_tokens37.tokens.typography.fontFamily,
4020
+ color: import_tokens38.tokens.colors.textPrimary,
4021
+ fontFamily: import_tokens38.tokens.typography.fontFamily,
3926
4022
  textTransform: "uppercase",
3927
4023
  lineHeight: 1.1,
3928
4024
  mb: 0.5
@@ -3931,12 +4027,12 @@ function CartItem({
3931
4027
  }
3932
4028
  ),
3933
4029
  subtitle && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3934
- import_Typography20.default,
4030
+ import_Typography21.default,
3935
4031
  {
3936
4032
  variant: "caption",
3937
4033
  sx: {
3938
4034
  display: "block",
3939
- color: import_tokens37.tokens.colors.textSecondary,
4035
+ color: import_tokens38.tokens.colors.textSecondary,
3940
4036
  fontWeight: 700,
3941
4037
  textTransform: "uppercase",
3942
4038
  fontSize: 10
@@ -3945,12 +4041,12 @@ function CartItem({
3945
4041
  }
3946
4042
  ),
3947
4043
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3948
- import_Typography20.default,
4044
+ import_Typography21.default,
3949
4045
  {
3950
4046
  variant: "caption",
3951
4047
  sx: {
3952
4048
  display: "block",
3953
- color: import_tokens37.tokens.colors.green,
4049
+ color: import_tokens38.tokens.colors.green,
3954
4050
  fontWeight: 800,
3955
4051
  fontSize: 9,
3956
4052
  mt: 1,
@@ -3963,7 +4059,7 @@ function CartItem({
3963
4059
  ] }),
3964
4060
  /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Stack5.default, { direction: "row", spacing: { xs: 2, sm: 4, md: 6 }, alignItems: "center", sx: { width: { xs: "100%", lg: "auto" } }, children: [
3965
4061
  /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Box30.default, { sx: { width: 80 }, children: [
3966
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_Typography20.default, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: import_tokens37.tokens.colors.textDisabled, fontSize: 10 }, children: "SIZE" }),
4062
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_Typography21.default, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: import_tokens38.tokens.colors.textDisabled, fontSize: 10 }, children: "SIZE" }),
3967
4063
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3968
4064
  MitumbaSelect,
3969
4065
  {
@@ -3977,7 +4073,7 @@ function CartItem({
3977
4073
  )
3978
4074
  ] }),
3979
4075
  /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Box30.default, { sx: { width: 80 }, children: [
3980
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_Typography20.default, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: import_tokens37.tokens.colors.textDisabled, fontSize: 10 }, children: "QUANTITY" }),
4076
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_Typography21.default, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: import_tokens38.tokens.colors.textDisabled, fontSize: 10 }, children: "QUANTITY" }),
3981
4077
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3982
4078
  MitumbaSelect,
3983
4079
  {
@@ -3991,8 +4087,8 @@ function CartItem({
3991
4087
  )
3992
4088
  ] }),
3993
4089
  /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Box30.default, { sx: { textAlign: "right", minWidth: 100 }, children: [
3994
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_Typography20.default, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: import_tokens37.tokens.colors.textDisabled, fontSize: 10 }, children: "PRICE" }),
3995
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Typography20.default, { sx: { fontWeight: 900, color: import_tokens37.tokens.colors.textPrimary, fontSize: import_tokens37.tokens.typography.fontSizes.base, fontFamily: import_tokens37.tokens.typography.fontFamily }, children: [
4090
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_Typography21.default, { variant: "caption", sx: { display: "block", mb: 1.5, fontWeight: 700, color: import_tokens38.tokens.colors.textDisabled, fontSize: 10 }, children: "PRICE" }),
4091
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_Typography21.default, { sx: { fontWeight: 900, color: import_tokens38.tokens.colors.textPrimary, fontSize: import_tokens38.tokens.typography.fontSizes.base, fontFamily: import_tokens38.tokens.typography.fontFamily }, children: [
3996
4092
  "KES ",
3997
4093
  priceKes.toLocaleString()
3998
4094
  ] })
@@ -4009,10 +4105,10 @@ function CartItem({
4009
4105
  position: "absolute",
4010
4106
  top: 8,
4011
4107
  right: 8,
4012
- color: import_tokens37.tokens.colors.textDisabled,
4108
+ color: import_tokens38.tokens.colors.textDisabled,
4013
4109
  "&:hover": {
4014
- color: import_tokens37.tokens.colors.error,
4015
- backgroundColor: import_tokens37.tokens.colors.errorLight,
4110
+ color: import_tokens38.tokens.colors.error,
4111
+ backgroundColor: import_tokens38.tokens.colors.errorLight,
4016
4112
  transform: "rotate(90deg)"
4017
4113
  },
4018
4114
  transition: "all 0.3s ease"
@@ -4028,10 +4124,10 @@ function CartItem({
4028
4124
 
4029
4125
  // src/components/commerce/OrderStatusTimeline/OrderStatusTimeline.tsx
4030
4126
  var import_Box31 = __toESM(require("@mui/material/Box"));
4031
- var import_Typography21 = __toESM(require("@mui/material/Typography"));
4127
+ var import_Typography22 = __toESM(require("@mui/material/Typography"));
4032
4128
  var import_CheckCircleOutlined = __toESM(require("@mui/icons-material/CheckCircleOutlined"));
4033
4129
  var import_RadioButtonUncheckedOutlined = __toESM(require("@mui/icons-material/RadioButtonUncheckedOutlined"));
4034
- var import_tokens38 = require("@mitumba/tokens");
4130
+ var import_tokens39 = require("@mitumba/tokens");
4035
4131
  var import_jsx_runtime42 = require("react/jsx-runtime");
4036
4132
  var ORDER_STATUS_ORDER = [
4037
4133
  "CREATED",
@@ -4061,22 +4157,22 @@ function OrderStatusTimeline({ currentStatus, events }) {
4061
4157
  import_Box31.default,
4062
4158
  {
4063
4159
  sx: {
4064
- p: import_tokens38.tokens.spacing.base,
4065
- borderRadius: import_tokens38.tokens.radius.lg,
4066
- bgcolor: import_tokens38.tokens.colors.surface,
4067
- boxShadow: import_tokens38.tokens.shadows.card,
4068
- border: `1px solid ${import_tokens38.tokens.colors.divider}`
4160
+ p: import_tokens39.tokens.spacing.base,
4161
+ borderRadius: import_tokens39.tokens.radius.lg,
4162
+ bgcolor: import_tokens39.tokens.colors.surface,
4163
+ boxShadow: import_tokens39.tokens.shadows.card,
4164
+ border: `1px solid ${import_tokens39.tokens.colors.divider}`
4069
4165
  },
4070
4166
  children: [
4071
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_Box31.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens38.tokens.spacing.sm, mb: import_tokens38.tokens.spacing.base }, children: [
4167
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_Box31.default, { sx: { display: "flex", alignItems: "center", gap: import_tokens39.tokens.spacing.sm, mb: import_tokens39.tokens.spacing.base }, children: [
4072
4168
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4073
- import_Typography21.default,
4169
+ import_Typography22.default,
4074
4170
  {
4075
4171
  sx: {
4076
- fontWeight: import_tokens38.tokens.typography.fontWeights.bold,
4077
- fontSize: import_tokens38.tokens.typography.fontSizes.md,
4078
- color: import_tokens38.tokens.colors.textPrimary,
4079
- fontFamily: import_tokens38.tokens.typography.fontFamily
4172
+ fontWeight: import_tokens39.tokens.typography.fontWeights.bold,
4173
+ fontSize: import_tokens39.tokens.typography.fontSizes.md,
4174
+ color: import_tokens39.tokens.colors.textPrimary,
4175
+ fontFamily: import_tokens39.tokens.typography.fontFamily
4080
4176
  },
4081
4177
  children: "Order Tracking"
4082
4178
  }
@@ -4085,15 +4181,15 @@ function OrderStatusTimeline({ currentStatus, events }) {
4085
4181
  import_Box31.default,
4086
4182
  {
4087
4183
  sx: {
4088
- px: import_tokens38.tokens.spacing.sm,
4184
+ px: import_tokens39.tokens.spacing.sm,
4089
4185
  py: "2px",
4090
- borderRadius: import_tokens38.tokens.radius.sm,
4091
- bgcolor: import_tokens38.tokens.colors.greenLight,
4092
- color: import_tokens38.tokens.colors.greenDark,
4186
+ borderRadius: import_tokens39.tokens.radius.sm,
4187
+ bgcolor: import_tokens39.tokens.colors.greenLight,
4188
+ color: import_tokens39.tokens.colors.greenDark,
4093
4189
  fontSize: 10,
4094
- fontWeight: import_tokens38.tokens.typography.fontWeights.extrabold,
4190
+ fontWeight: import_tokens39.tokens.typography.fontWeights.extrabold,
4095
4191
  textTransform: "uppercase",
4096
- letterSpacing: import_tokens38.tokens.typography.letterSpacings.wide
4192
+ letterSpacing: import_tokens39.tokens.typography.letterSpacings.wide
4097
4193
  },
4098
4194
  children: ORDER_STATUS_LABELS[currentStatus]
4099
4195
  }
@@ -4103,19 +4199,19 @@ function OrderStatusTimeline({ currentStatus, events }) {
4103
4199
  import_Box31.default,
4104
4200
  {
4105
4201
  sx: {
4106
- p: import_tokens38.tokens.spacing.sm,
4107
- borderRadius: import_tokens38.tokens.radius.sm,
4108
- bgcolor: import_tokens38.tokens.colors.background,
4109
- borderLeft: `3px solid ${import_tokens38.tokens.colors.info}`,
4110
- mb: import_tokens38.tokens.spacing.lg
4202
+ p: import_tokens39.tokens.spacing.sm,
4203
+ borderRadius: import_tokens39.tokens.radius.sm,
4204
+ bgcolor: import_tokens39.tokens.colors.background,
4205
+ borderLeft: `3px solid ${import_tokens39.tokens.colors.info}`,
4206
+ mb: import_tokens39.tokens.spacing.lg
4111
4207
  },
4112
4208
  children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4113
- import_Typography21.default,
4209
+ import_Typography22.default,
4114
4210
  {
4115
4211
  sx: {
4116
- color: import_tokens38.tokens.colors.textPrimary,
4117
- fontSize: import_tokens38.tokens.typography.fontSizes.sm,
4118
- fontFamily: import_tokens38.tokens.typography.fontFamily,
4212
+ color: import_tokens39.tokens.colors.textPrimary,
4213
+ fontSize: import_tokens39.tokens.typography.fontSizes.sm,
4214
+ fontFamily: import_tokens39.tokens.typography.fontFamily,
4119
4215
  fontStyle: "italic"
4120
4216
  },
4121
4217
  children: [
@@ -4139,7 +4235,7 @@ function OrderStatusTimeline({ currentStatus, events }) {
4139
4235
  sx: {
4140
4236
  display: "flex",
4141
4237
  alignItems: "flex-start",
4142
- gap: import_tokens38.tokens.spacing.base,
4238
+ gap: import_tokens39.tokens.spacing.base,
4143
4239
  position: "relative"
4144
4240
  },
4145
4241
  children: [
@@ -4163,14 +4259,14 @@ function OrderStatusTimeline({ currentStatus, events }) {
4163
4259
  width: "24px",
4164
4260
  height: "24px",
4165
4261
  zIndex: 1,
4166
- backgroundColor: import_tokens38.tokens.colors.surface
4262
+ backgroundColor: import_tokens39.tokens.colors.surface
4167
4263
  },
4168
4264
  children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4169
4265
  import_CheckCircleOutlined.default,
4170
4266
  {
4171
4267
  sx: {
4172
4268
  fontSize: 20,
4173
- color: isCurrent ? import_tokens38.tokens.colors.green : import_tokens38.tokens.colors.textDisabled
4269
+ color: isCurrent ? import_tokens39.tokens.colors.green : import_tokens39.tokens.colors.textDisabled
4174
4270
  }
4175
4271
  }
4176
4272
  ) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
@@ -4178,7 +4274,7 @@ function OrderStatusTimeline({ currentStatus, events }) {
4178
4274
  {
4179
4275
  sx: {
4180
4276
  fontSize: 18,
4181
- color: import_tokens38.tokens.colors.divider
4277
+ color: import_tokens39.tokens.colors.divider
4182
4278
  }
4183
4279
  }
4184
4280
  )
@@ -4190,8 +4286,8 @@ function OrderStatusTimeline({ currentStatus, events }) {
4190
4286
  sx: {
4191
4287
  width: "2px",
4192
4288
  flex: 1,
4193
- minHeight: import_tokens38.tokens.spacing.lg,
4194
- bgcolor: index < currentIndex ? import_tokens38.tokens.colors.green : import_tokens38.tokens.colors.divider,
4289
+ minHeight: import_tokens39.tokens.spacing.lg,
4290
+ bgcolor: index < currentIndex ? import_tokens39.tokens.colors.green : import_tokens39.tokens.colors.divider,
4195
4291
  marginBlock: "2px"
4196
4292
  }
4197
4293
  }
@@ -4199,27 +4295,27 @@ function OrderStatusTimeline({ currentStatus, events }) {
4199
4295
  ]
4200
4296
  }
4201
4297
  ),
4202
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_Box31.default, { sx: { pt: "2px", pb: import_tokens38.tokens.spacing.lg }, children: [
4298
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_Box31.default, { sx: { pt: "2px", pb: import_tokens39.tokens.spacing.lg }, children: [
4203
4299
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4204
- import_Typography21.default,
4300
+ import_Typography22.default,
4205
4301
  {
4206
4302
  sx: {
4207
- fontWeight: isCurrent ? import_tokens38.tokens.typography.fontWeights.bold : import_tokens38.tokens.typography.fontWeights.medium,
4208
- fontSize: import_tokens38.tokens.typography.fontSizes.sm,
4209
- fontFamily: import_tokens38.tokens.typography.fontFamily,
4210
- color: isCompleted ? import_tokens38.tokens.colors.textPrimary : import_tokens38.tokens.colors.textDisabled,
4303
+ fontWeight: isCurrent ? import_tokens39.tokens.typography.fontWeights.bold : import_tokens39.tokens.typography.fontWeights.medium,
4304
+ fontSize: import_tokens39.tokens.typography.fontSizes.sm,
4305
+ fontFamily: import_tokens39.tokens.typography.fontFamily,
4306
+ color: isCompleted ? import_tokens39.tokens.colors.textPrimary : import_tokens39.tokens.colors.textDisabled,
4211
4307
  lineHeight: 1
4212
4308
  },
4213
4309
  children: ORDER_STATUS_LABELS[status]
4214
4310
  }
4215
4311
  ),
4216
4312
  latestEvent && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4217
- import_Typography21.default,
4313
+ import_Typography22.default,
4218
4314
  {
4219
4315
  sx: {
4220
- color: import_tokens38.tokens.colors.textSecondary,
4316
+ color: import_tokens39.tokens.colors.textSecondary,
4221
4317
  fontSize: 10,
4222
- fontFamily: import_tokens38.tokens.typography.fontFamily,
4318
+ fontFamily: import_tokens39.tokens.typography.fontFamily,
4223
4319
  mt: "4px"
4224
4320
  },
4225
4321
  children: latestEvent.timestamp
@@ -4243,13 +4339,14 @@ var import_AccountBalanceWallet = __toESM(require("@mui/icons-material/AccountBa
4243
4339
  var import_History = __toESM(require("@mui/icons-material/History"));
4244
4340
  var import_ErrorOutline2 = __toESM(require("@mui/icons-material/ErrorOutline"));
4245
4341
  var import_jsx_runtime43 = require("react/jsx-runtime");
4246
- function EscrowStatusBanner({ status, amountKes, hoursRemaining, sx }) {
4342
+ function EscrowStatusBanner({ status, amountKes = 0, hoursRemaining, sx }) {
4343
+ const formattedAmount = (amountKes || 0).toLocaleString();
4247
4344
  const config = {
4248
4345
  FUNDED: {
4249
4346
  severity: "info",
4250
4347
  icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_Security.default, {}),
4251
4348
  title: "Payment in Escrow",
4252
- message: `KES ${amountKes.toLocaleString()} is securely held. We'll release it once you confirm delivery.`
4349
+ message: `KES ${formattedAmount} is securely held. We'll release it once you confirm delivery.`
4253
4350
  },
4254
4351
  SHIPPED: {
4255
4352
  severity: "info",
@@ -4273,7 +4370,7 @@ function EscrowStatusBanner({ status, amountKes, hoursRemaining, sx }) {
4273
4370
  severity: "error",
4274
4371
  icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_ErrorOutline2.default, {}),
4275
4372
  title: "Payment Refunded",
4276
- message: `The escrow has been cancelled and KES ${amountKes.toLocaleString()} has been returned to your wallet.`
4373
+ message: `The escrow has been cancelled and KES ${formattedAmount} has been returned to your wallet.`
4277
4374
  }
4278
4375
  };
4279
4376
  const { severity, icon, title, message } = config[status];
@@ -4290,12 +4387,13 @@ function EscrowStatusBanner({ status, amountKes, hoursRemaining, sx }) {
4290
4387
  }
4291
4388
 
4292
4389
  // src/components/vazi/VAZIOutfitCard/VAZIOutfitCard.tsx
4293
- var import_Box32 = __toESM(require("@mui/material/Box"));
4294
- var import_Card = __toESM(require("@mui/material/Card"));
4295
- var import_CardContent = __toESM(require("@mui/material/CardContent"));
4296
- var import_Typography22 = __toESM(require("@mui/material/Typography"));
4297
- var import_tokens39 = require("@mitumba/tokens");
4298
4390
  var import_react14 = require("react");
4391
+ var import_Box32 = __toESM(require("@mui/material/Box"));
4392
+ var import_Typography23 = __toESM(require("@mui/material/Typography"));
4393
+ var import_Stack6 = __toESM(require("@mui/material/Stack"));
4394
+ var import_AutoAwesome3 = __toESM(require("@mui/icons-material/AutoAwesome"));
4395
+ var import_LocalShipping3 = __toESM(require("@mui/icons-material/LocalShipping"));
4396
+ var import_tokens40 = require("@mitumba/tokens");
4299
4397
  var import_jsx_runtime44 = require("react/jsx-runtime");
4300
4398
  function VAZIOutfitCard({
4301
4399
  outfitName,
@@ -4316,239 +4414,211 @@ function VAZIOutfitCard({
4316
4414
  [onTap]
4317
4415
  );
4318
4416
  return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4319
- import_Card.default,
4417
+ import_Box32.default,
4320
4418
  {
4321
4419
  onClick: onTap,
4322
4420
  onKeyDown: handleKeyDown,
4323
4421
  role: "button",
4324
4422
  tabIndex: onTap ? 0 : -1,
4325
4423
  sx: {
4326
- borderRadius: import_tokens39.tokens.radius.lg,
4327
- boxShadow: import_tokens39.tokens.shadows.card,
4424
+ width: "100%",
4425
+ position: "relative",
4328
4426
  cursor: onTap ? "pointer" : "default",
4329
- display: "flex",
4330
- flexDirection: "column",
4427
+ borderRadius: `${import_tokens40.tokens.radius.lg}px`,
4331
4428
  overflow: "hidden",
4332
- transition: "all 250ms cubic-bezier(0.4, 0, 0.2, 1)",
4333
- width: "100%",
4334
- backgroundColor: import_tokens39.tokens.colors.surface,
4335
- border: `1px solid ${import_tokens39.tokens.colors.divider}`,
4336
- "&:hover": onTap ? {
4337
- transform: "translateY(-4px)",
4338
- boxShadow: import_tokens39.tokens.shadows.elevated,
4339
- borderColor: import_tokens39.tokens.colors.earthLight
4340
- } : void 0,
4341
- "&:focus-visible": {
4342
- outline: `2px solid ${import_tokens39.tokens.colors.earthLight}`,
4343
- boxShadow: import_tokens39.tokens.shadows.focus
4429
+ backgroundColor: import_tokens40.tokens.colors.surface,
4430
+ boxShadow: `
4431
+ 0 4px 12px 0 rgba(0, 0, 0, 0.05),
4432
+ 0 12px 32px 0 rgba(31, 38, 135, 0.1)
4433
+ `,
4434
+ transition: "all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",
4435
+ "&:hover": {
4436
+ transform: "translateY(-8px) scale(1.01)",
4437
+ boxShadow: import_tokens40.tokens.shadows.deep,
4438
+ "& .collage-image-2": { transform: "rotate(4deg) translate(8px, -4px)" },
4439
+ "& .collage-image-3": { transform: "rotate(-4deg) translate(-8px, -4px)" }
4344
4440
  }
4345
4441
  },
4346
4442
  children: [
4347
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4348
- import_Box32.default,
4349
- {
4350
- sx: {
4351
- alignItems: "center",
4352
- display: "flex",
4353
- gap: import_tokens39.tokens.spacing.sm,
4354
- paddingInline: import_tokens39.tokens.spacing.base,
4355
- paddingBlock: import_tokens39.tokens.spacing.base,
4356
- borderBottom: `1px solid ${import_tokens39.tokens.colors.background}`
4357
- },
4358
- children: [
4359
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(VAZIBadge, { size: "small" }),
4360
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4361
- import_Typography22.default,
4362
- {
4363
- sx: {
4364
- color: import_tokens39.tokens.colors.textPrimary,
4365
- flex: 1,
4366
- fontSize: import_tokens39.tokens.typography.fontSizes.base,
4367
- fontWeight: import_tokens39.tokens.typography.fontWeights.bold,
4368
- lineHeight: import_tokens39.tokens.typography.lineHeights.snug,
4369
- overflow: "hidden",
4370
- textOverflow: "ellipsis",
4371
- whiteSpace: "nowrap"
4372
- },
4373
- children: outfitName
4374
- }
4375
- )
4376
- ]
4377
- }
4378
- ),
4379
4443
  /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4380
4444
  import_Box32.default,
4381
4445
  {
4382
4446
  sx: {
4383
- display: "flex",
4384
- gap: import_tokens39.tokens.spacing.sm,
4385
- overflowX: "auto",
4386
- padding: import_tokens39.tokens.spacing.base,
4387
- backgroundColor: import_tokens39.tokens.colors.background,
4388
- scrollbarWidth: "none",
4389
- msOverflowStyle: "none",
4390
- "&::-webkit-scrollbar": {
4391
- display: "none"
4392
- }
4447
+ position: "absolute",
4448
+ top: 12,
4449
+ left: 12,
4450
+ zIndex: 10
4393
4451
  },
4394
- children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4395
- import_Box32.default,
4396
- {
4397
- sx: {
4398
- flexShrink: 0,
4399
- width: "88px"
4400
- },
4401
- children: [
4402
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4403
- import_Box32.default,
4404
- {
4405
- sx: {
4406
- aspectRatio: "3 / 4",
4407
- borderRadius: import_tokens39.tokens.radius.sm,
4408
- overflow: "hidden",
4409
- width: "100%",
4410
- backgroundColor: import_tokens39.tokens.colors.surface,
4411
- border: `1px solid ${import_tokens39.tokens.colors.divider}`
4412
- },
4413
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4414
- import_Box32.default,
4415
- {
4416
- component: "img",
4417
- src: item.imageUrl,
4418
- alt: `${item.garmentType} \u2014 ${item.sellerName}`,
4419
- loading: "lazy",
4420
- sx: {
4421
- display: "block",
4422
- height: "100%",
4423
- objectFit: "cover",
4424
- width: "100%"
4425
- }
4426
- }
4427
- )
4428
- }
4429
- ),
4430
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4431
- import_Typography22.default,
4432
- {
4433
- sx: {
4434
- color: import_tokens39.tokens.colors.textSecondary,
4435
- fontSize: 10,
4436
- fontWeight: import_tokens39.tokens.typography.fontWeights.semibold,
4437
- textTransform: "uppercase",
4438
- letterSpacing: import_tokens39.tokens.typography.letterSpacings.wide,
4439
- marginTop: import_tokens39.tokens.spacing.xs,
4440
- overflow: "hidden",
4441
- textOverflow: "ellipsis",
4442
- whiteSpace: "nowrap",
4443
- textAlign: "center"
4444
- },
4445
- children: item.sellerName
4446
- }
4447
- )
4448
- ]
4449
- },
4450
- item.listingId
4451
- ))
4452
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(VAZIBadge, { size: "small" })
4452
4453
  }
4453
4454
  ),
4454
4455
  /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4455
- import_CardContent.default,
4456
+ import_Box32.default,
4456
4457
  {
4457
4458
  sx: {
4459
+ position: "relative",
4460
+ width: "100%",
4461
+ height: 280,
4462
+ backgroundColor: import_tokens40.tokens.colors.background,
4458
4463
  display: "flex",
4459
- flexDirection: "column",
4460
- gap: import_tokens39.tokens.spacing.sm,
4461
- padding: import_tokens39.tokens.spacing.base,
4462
- "&:last-child": {
4463
- paddingBottom: import_tokens39.tokens.spacing.base
4464
- }
4464
+ alignItems: "center",
4465
+ justifyContent: "center",
4466
+ overflow: "hidden",
4467
+ p: 3
4465
4468
  },
4466
4469
  children: [
4467
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4470
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4468
4471
  import_Box32.default,
4469
4472
  {
4470
4473
  sx: {
4471
- alignItems: "center",
4472
- display: "flex",
4473
- gap: import_tokens39.tokens.spacing.sm,
4474
- justifyContent: "space-between"
4475
- },
4476
- children: [
4477
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PriceTag, { priceKes: totalPriceKes, size: "large", color: "earth" }),
4478
- onBuyAll && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Box32.default, { sx: { flexShrink: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4479
- MitumbaPrimaryButton,
4480
- {
4481
- label: "Buy all",
4482
- variant: "earth",
4483
- size: "small",
4484
- fullWidth: false,
4485
- onClick: (e) => {
4486
- if (e && e.stopPropagation) {
4487
- e.stopPropagation();
4488
- }
4489
- onBuyAll();
4490
- }
4491
- }
4492
- ) })
4493
- ]
4474
+ position: "absolute",
4475
+ inset: 0,
4476
+ background: "radial-gradient(circle at center, rgba(160, 98, 53, 0.05) 0%, rgba(255,255,255,0) 70%)",
4477
+ pointerEvents: "none"
4478
+ }
4494
4479
  }
4495
4480
  ),
4496
- sellersCount > 1 && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4497
- import_Box32.default,
4498
- {
4499
- sx: {
4500
- display: "flex",
4501
- alignItems: "center",
4502
- gap: import_tokens39.tokens.spacing.xs,
4503
- mt: import_tokens39.tokens.spacing.xs
4504
- },
4505
- children: [
4506
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4507
- import_Typography22.default,
4508
- {
4509
- sx: {
4510
- color: import_tokens39.tokens.colors.textSecondary,
4511
- fontSize: import_tokens39.tokens.typography.fontSizes.sm,
4512
- lineHeight: 1
4513
- },
4514
- children: [
4515
- "Ships from ",
4516
- sellersCount,
4517
- " sellers"
4518
- ]
4519
- }
4520
- ),
4521
- isMultiCity && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4481
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Box32.default, { sx: { position: "relative", width: 140, height: 180 }, children: items.slice(0, 3).map((item, index) => {
4482
+ const isMain = index === 0;
4483
+ let rotation = 0;
4484
+ if (index === 1) rotation = -4;
4485
+ if (index === 2) rotation = 4;
4486
+ let leftOffset = 0;
4487
+ if (index === 1) leftOffset = -12;
4488
+ if (index === 2) leftOffset = 12;
4489
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4490
+ import_Box32.default,
4491
+ {
4492
+ className: `collage-image-${index + 1}`,
4493
+ sx: {
4494
+ position: "absolute",
4495
+ top: isMain ? 0 : 4,
4496
+ left: isMain ? 0 : leftOffset,
4497
+ width: "100%",
4498
+ height: "100%",
4499
+ borderRadius: `${import_tokens40.tokens.radius.md}px`,
4500
+ overflow: "hidden",
4501
+ zIndex: 3 - index,
4502
+ boxShadow: import_tokens40.tokens.shadows.card,
4503
+ border: `2px solid ${import_tokens40.tokens.colors.white}`,
4504
+ transform: `rotate(${rotation}deg)`,
4505
+ transition: "all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1)",
4506
+ backgroundColor: import_tokens40.tokens.colors.surface
4507
+ },
4508
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4522
4509
  import_Box32.default,
4523
4510
  {
4524
- component: "span",
4525
- sx: {
4526
- fontSize: import_tokens39.tokens.typography.fontSizes.xs,
4527
- color: import_tokens39.tokens.colors.textDisabled
4528
- },
4529
- children: "\u2022"
4530
- }
4531
- ),
4532
- isMultiCity && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4533
- import_Typography22.default,
4534
- {
4535
- sx: {
4536
- color: import_tokens39.tokens.colors.earth,
4537
- fontSize: import_tokens39.tokens.typography.fontSizes.xs,
4538
- fontWeight: import_tokens39.tokens.typography.fontWeights.bold,
4539
- textTransform: "uppercase",
4540
- letterSpacing: import_tokens39.tokens.typography.letterSpacings.wide,
4541
- lineHeight: 1
4542
- },
4543
- children: "Multi-city"
4511
+ component: "img",
4512
+ src: item.imageUrl,
4513
+ alt: item.garmentType,
4514
+ sx: { width: "100%", height: "100%", objectFit: "cover" }
4544
4515
  }
4545
4516
  )
4546
- ]
4517
+ },
4518
+ item.listingId
4519
+ );
4520
+ }) }),
4521
+ items.length > 3 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4522
+ MitumbaGlass,
4523
+ {
4524
+ rounding: "full",
4525
+ opacity: 0.8,
4526
+ blur: 12,
4527
+ sx: {
4528
+ position: "absolute",
4529
+ bottom: 20,
4530
+ right: 20,
4531
+ px: 1.5,
4532
+ py: 0.5,
4533
+ zIndex: 5
4534
+ },
4535
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Typography23.default, { sx: { fontSize: 10, fontWeight: 900, color: import_tokens40.tokens.colors.earth }, children: [
4536
+ "+",
4537
+ items.length - 3,
4538
+ " MORE"
4539
+ ] })
4547
4540
  }
4548
4541
  )
4549
4542
  ]
4550
4543
  }
4551
- )
4544
+ ),
4545
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Box32.default, { sx: { p: 2.5 }, children: [
4546
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4547
+ import_Typography23.default,
4548
+ {
4549
+ sx: {
4550
+ fontSize: import_tokens40.tokens.typography.fontSizes.lg,
4551
+ fontWeight: 900,
4552
+ color: import_tokens40.tokens.colors.textPrimary,
4553
+ fontFamily: import_tokens40.tokens.typography.fontFamily,
4554
+ lineHeight: 1.1,
4555
+ mb: 1,
4556
+ letterSpacing: "-0.01em"
4557
+ },
4558
+ children: outfitName
4559
+ }
4560
+ ),
4561
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Stack6.default, { direction: "row", spacing: 1, alignItems: "center", sx: { mb: 2.5 }, children: [
4562
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4563
+ import_Typography23.default,
4564
+ {
4565
+ sx: {
4566
+ fontSize: 11,
4567
+ fontWeight: 700,
4568
+ color: import_tokens40.tokens.colors.textSecondary,
4569
+ textTransform: "uppercase",
4570
+ letterSpacing: "0.05em"
4571
+ },
4572
+ children: [
4573
+ sellersCount,
4574
+ " Sellers"
4575
+ ]
4576
+ }
4577
+ ),
4578
+ isMultiCity && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
4579
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Box32.default, { sx: { width: 4, height: 4, borderRadius: "50%", bgcolor: import_tokens40.tokens.colors.divider } }),
4580
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Stack6.default, { direction: "row", spacing: 0.5, alignItems: "center", children: [
4581
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_LocalShipping3.default, { sx: { fontSize: 14, color: import_tokens40.tokens.colors.earth } }),
4582
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4583
+ import_Typography23.default,
4584
+ {
4585
+ sx: {
4586
+ fontSize: 10,
4587
+ fontWeight: 800,
4588
+ color: import_tokens40.tokens.colors.earth,
4589
+ textTransform: "uppercase"
4590
+ },
4591
+ children: "Multi-City"
4592
+ }
4593
+ )
4594
+ ] })
4595
+ ] })
4596
+ ] }),
4597
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Stack6.default, { direction: "row", justifyContent: "space-between", alignItems: "center", children: [
4598
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Box32.default, { children: [
4599
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_Typography23.default, { sx: { fontSize: 10, fontWeight: 800, color: import_tokens40.tokens.colors.textDisabled, textTransform: "uppercase", mb: 0.2 }, children: "Total Look" }),
4600
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_Typography23.default, { sx: { fontSize: import_tokens40.tokens.typography.fontSizes.xl, fontWeight: 900, color: import_tokens40.tokens.colors.textPrimary, fontFamily: import_tokens40.tokens.typography.fontFamily }, children: [
4601
+ "KES ",
4602
+ totalPriceKes.toLocaleString()
4603
+ ] })
4604
+ ] }),
4605
+ onBuyAll && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4606
+ MitumbaPrimaryButton,
4607
+ {
4608
+ label: "Buy entire look",
4609
+ variant: "earth",
4610
+ size: "small",
4611
+ icon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_AutoAwesome3.default, { sx: { fontSize: 16 } }),
4612
+ iconPosition: "right",
4613
+ onClick: (e) => {
4614
+ e.stopPropagation();
4615
+ onBuyAll();
4616
+ },
4617
+ sx: { borderRadius: import_tokens40.tokens.radius.full, height: 36, px: 3 }
4618
+ }
4619
+ )
4620
+ ] })
4621
+ ] })
4552
4622
  ]
4553
4623
  }
4554
4624
  );
@@ -4556,175 +4626,99 @@ function VAZIOutfitCard({
4556
4626
 
4557
4627
  // src/components/vazi/VAZIOutfitCardSkeleton/VAZIOutfitCardSkeleton.tsx
4558
4628
  var import_Box33 = __toESM(require("@mui/material/Box"));
4559
- var import_Skeleton = __toESM(require("@mui/material/Skeleton"));
4560
- var import_tokens40 = require("@mitumba/tokens");
4629
+ var import_tokens41 = require("@mitumba/tokens");
4561
4630
  var import_jsx_runtime45 = require("react/jsx-runtime");
4562
- var SKELETON_IMAGE_KEYS = ["image-1", "image-2", "image-3", "image-4"];
4563
4631
  function VAZIOutfitCardSkeleton() {
4564
4632
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4565
4633
  import_Box33.default,
4566
4634
  {
4567
4635
  sx: {
4568
- borderRadius: import_tokens40.tokens.radius.lg,
4569
- boxShadow: import_tokens40.tokens.shadows.card,
4570
- display: "flex",
4571
- flexDirection: "column",
4636
+ borderRadius: `${import_tokens41.tokens.radius.lg}px`,
4572
4637
  overflow: "hidden",
4638
+ backgroundColor: import_tokens41.tokens.colors.surface,
4639
+ boxShadow: import_tokens41.tokens.shadows.card,
4573
4640
  width: "100%"
4574
4641
  },
4575
4642
  children: [
4576
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4643
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4577
4644
  import_Box33.default,
4578
4645
  {
4579
4646
  sx: {
4580
- alignItems: "center",
4647
+ height: 280,
4648
+ backgroundColor: import_tokens41.tokens.colors.background,
4581
4649
  display: "flex",
4582
- gap: import_tokens40.tokens.spacing.sm,
4583
- paddingInline: import_tokens40.tokens.spacing.base,
4584
- paddingBlock: import_tokens40.tokens.spacing.base
4650
+ alignItems: "center",
4651
+ justifyContent: "center",
4652
+ position: "relative"
4585
4653
  },
4586
- children: [
4654
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_Box33.default, { sx: { position: "relative", width: 140, height: 180 }, children: [
4587
4655
  /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4588
- import_Skeleton.default,
4656
+ MitumbaSkeleton,
4589
4657
  {
4590
- "aria-label": "Loading VAZI label",
4591
- variant: "rounded",
4658
+ variant: "rectangular",
4592
4659
  sx: {
4593
- borderRadius: import_tokens40.tokens.radius.sm,
4594
- height: import_tokens40.tokens.spacing.lg,
4595
- width: 48
4660
+ position: "absolute",
4661
+ inset: 0,
4662
+ borderRadius: 2,
4663
+ border: `2px solid ${import_tokens41.tokens.colors.white}`
4596
4664
  }
4597
4665
  }
4598
4666
  ),
4599
4667
  /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4600
- import_Skeleton.default,
4668
+ MitumbaSkeleton,
4601
4669
  {
4602
- "aria-label": "Loading outfit name",
4603
- variant: "text",
4670
+ variant: "rectangular",
4604
4671
  sx: {
4605
- flex: 1,
4606
- fontSize: import_tokens40.tokens.typography.fontSizes.base
4672
+ position: "absolute",
4673
+ top: 4,
4674
+ left: -12,
4675
+ width: "100%",
4676
+ height: "100%",
4677
+ borderRadius: 2,
4678
+ zIndex: -1,
4679
+ transform: "rotate(-4deg)",
4680
+ opacity: 0.5
4607
4681
  }
4608
4682
  }
4609
4683
  )
4610
- ]
4684
+ ] })
4611
4685
  }
4612
4686
  ),
4613
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4614
- import_Box33.default,
4615
- {
4616
- sx: {
4617
- display: "flex",
4618
- gap: import_tokens40.tokens.spacing.sm,
4619
- overflowX: "auto",
4620
- paddingInline: import_tokens40.tokens.spacing.base,
4621
- paddingBottom: import_tokens40.tokens.spacing.base,
4622
- scrollbarWidth: "none",
4623
- msOverflowStyle: "none",
4624
- "&::-webkit-scrollbar": {
4625
- display: "none"
4626
- }
4627
- },
4628
- children: SKELETON_IMAGE_KEYS.map((imgKey) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4629
- import_Box33.default,
4687
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_Box33.default, { sx: { p: 2.5 }, children: [
4688
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4689
+ MitumbaSkeleton,
4690
+ {
4691
+ variant: "rectangular",
4692
+ width: "70%",
4693
+ height: 24,
4694
+ sx: { mb: 1, borderRadius: 1 }
4695
+ }
4696
+ ),
4697
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4698
+ MitumbaSkeleton,
4699
+ {
4700
+ variant: "rectangular",
4701
+ width: "40%",
4702
+ height: 12,
4703
+ sx: { mb: 3, borderRadius: 1 }
4704
+ }
4705
+ ),
4706
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_Box33.default, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
4707
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_Box33.default, { children: [
4708
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MitumbaSkeleton, { variant: "rectangular", width: 60, height: 10, sx: { mb: 0.5, borderRadius: 0.5 } }),
4709
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MitumbaSkeleton, { variant: "rectangular", width: 100, height: 28, sx: { borderRadius: 0.5 } })
4710
+ ] }),
4711
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4712
+ MitumbaSkeleton,
4630
4713
  {
4631
- sx: {
4632
- flexShrink: 0,
4633
- width: `${3 / 4 * 100}px`,
4634
- minWidth: "88px"
4635
- },
4636
- children: [
4637
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4638
- import_Skeleton.default,
4639
- {
4640
- "aria-label": `Loading item image ${imgKey.split("-")[1]}`,
4641
- variant: "rounded",
4642
- sx: {
4643
- aspectRatio: "3 / 4",
4644
- borderRadius: import_tokens40.tokens.radius.md,
4645
- width: "100%"
4646
- }
4647
- }
4648
- ),
4649
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4650
- import_Skeleton.default,
4651
- {
4652
- "aria-label": `Loading seller name ${imgKey.split("-")[1]}`,
4653
- variant: "text",
4654
- sx: {
4655
- fontSize: import_tokens40.tokens.typography.fontSizes.xs,
4656
- marginTop: import_tokens40.tokens.spacing.xs,
4657
- width: "80%"
4658
- }
4659
- }
4660
- )
4661
- ]
4662
- },
4663
- imgKey
4664
- ))
4665
- }
4666
- ),
4667
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4668
- import_Box33.default,
4669
- {
4670
- sx: {
4671
- display: "flex",
4672
- flexDirection: "column",
4673
- gap: import_tokens40.tokens.spacing.sm,
4674
- paddingInline: import_tokens40.tokens.spacing.base,
4675
- paddingBlock: import_tokens40.tokens.spacing.base
4676
- },
4677
- children: [
4678
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4679
- import_Box33.default,
4680
- {
4681
- sx: {
4682
- alignItems: "center",
4683
- display: "flex",
4684
- gap: import_tokens40.tokens.spacing.sm,
4685
- justifyContent: "space-between"
4686
- },
4687
- children: [
4688
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4689
- import_Skeleton.default,
4690
- {
4691
- "aria-label": "Loading total price",
4692
- variant: "text",
4693
- sx: {
4694
- fontSize: import_tokens40.tokens.typography.fontSizes.lg,
4695
- width: "40%"
4696
- }
4697
- }
4698
- ),
4699
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4700
- import_Skeleton.default,
4701
- {
4702
- "aria-label": "Loading buy button",
4703
- variant: "rounded",
4704
- sx: {
4705
- borderRadius: import_tokens40.tokens.radius.md,
4706
- height: "36px",
4707
- width: 100
4708
- }
4709
- }
4710
- )
4711
- ]
4712
- }
4713
- ),
4714
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4715
- import_Skeleton.default,
4716
- {
4717
- "aria-label": "Loading seller info",
4718
- variant: "text",
4719
- sx: {
4720
- fontSize: import_tokens40.tokens.typography.fontSizes.sm,
4721
- width: "60%"
4722
- }
4723
- }
4724
- )
4725
- ]
4726
- }
4727
- )
4714
+ variant: "rounded",
4715
+ width: 120,
4716
+ height: 36,
4717
+ sx: { borderRadius: 100 }
4718
+ }
4719
+ )
4720
+ ] })
4721
+ ] })
4728
4722
  ]
4729
4723
  }
4730
4724
  );
@@ -4732,43 +4726,12 @@ function VAZIOutfitCardSkeleton() {
4732
4726
 
4733
4727
  // src/components/vazi/VAZIFeedSection/VAZIFeedSection.tsx
4734
4728
  var import_Box34 = __toESM(require("@mui/material/Box"));
4735
- var import_tokens41 = require("@mitumba/tokens");
4729
+ var import_Typography24 = __toESM(require("@mui/material/Typography"));
4730
+ var import_Stack7 = __toESM(require("@mui/material/Stack"));
4731
+ var import_AutoAwesome4 = __toESM(require("@mui/icons-material/AutoAwesome"));
4732
+ var import_ArrowForward = __toESM(require("@mui/icons-material/ArrowForward"));
4733
+ var import_tokens42 = require("@mitumba/tokens");
4736
4734
  var import_jsx_runtime46 = require("react/jsx-runtime");
4737
- var renderOutfitCards = (outfits) => outfits.map((outfit) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4738
- import_Box34.default,
4739
- {
4740
- sx: {
4741
- flexShrink: 0,
4742
- width: { xs: "82%", md: "100%" },
4743
- maxWidth: { xs: "340px", md: "none" }
4744
- },
4745
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4746
- VAZIOutfitCard,
4747
- {
4748
- outfitName: outfit.outfitName,
4749
- items: outfit.items,
4750
- totalPriceKes: outfit.totalPriceKes,
4751
- sellersCount: outfit.sellersCount,
4752
- isMultiCity: outfit.isMultiCity,
4753
- onTap: outfit.onTap,
4754
- onBuyAll: outfit.onBuyAll
4755
- }
4756
- )
4757
- },
4758
- outfit.outfitName
4759
- ));
4760
- var renderSkeletons = () => Array.from({ length: 3 }, (_, skeletonIdx) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4761
- import_Box34.default,
4762
- {
4763
- sx: {
4764
- flexShrink: 0,
4765
- width: { xs: "82%", md: "100%" },
4766
- maxWidth: { xs: "340px", md: "none" }
4767
- },
4768
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(VAZIOutfitCardSkeleton, {})
4769
- },
4770
- `skeleton-${skeletonIdx}`
4771
- ));
4772
4735
  function VAZIFeedSection({ outfits, loading = false, onSeeAll }) {
4773
4736
  return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4774
4737
  import_Box34.default,
@@ -4776,7 +4739,7 @@ function VAZIFeedSection({ outfits, loading = false, onSeeAll }) {
4776
4739
  sx: {
4777
4740
  display: "flex",
4778
4741
  flexDirection: "column",
4779
- gap: import_tokens41.tokens.spacing.base,
4742
+ gap: 4,
4780
4743
  width: "100%"
4781
4744
  },
4782
4745
  children: [
@@ -4784,80 +4747,94 @@ function VAZIFeedSection({ outfits, loading = false, onSeeAll }) {
4784
4747
  import_Box34.default,
4785
4748
  {
4786
4749
  sx: {
4787
- alignItems: "center",
4788
4750
  display: "flex",
4789
4751
  justifyContent: "space-between",
4790
- paddingInline: { xs: import_tokens41.tokens.spacing.base, md: 0 }
4752
+ alignItems: "flex-end",
4753
+ paddingInline: { xs: 2, md: 0 }
4791
4754
  },
4792
4755
  children: [
4793
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4794
- import_Box34.default,
4795
- {
4796
- component: "h2",
4797
- sx: {
4798
- color: import_tokens41.tokens.colors.textPrimary,
4799
- fontFamily: import_tokens41.tokens.typography.fontFamily,
4800
- fontSize: import_tokens41.tokens.typography.fontSizes.xl,
4801
- fontWeight: import_tokens41.tokens.typography.fontWeights.bold,
4802
- lineHeight: import_tokens41.tokens.typography.lineHeights.snug,
4803
- margin: 0
4804
- },
4805
- children: "VAZI Picks"
4806
- }
4807
- ),
4808
- onSeeAll && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4756
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_Stack7.default, { spacing: 1, children: [
4757
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_Stack7.default, { direction: "row", spacing: 1, alignItems: "center", children: [
4758
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_AutoAwesome4.default, { sx: { fontSize: 18, color: import_tokens42.tokens.colors.earth } }),
4759
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4760
+ import_Typography24.default,
4761
+ {
4762
+ sx: {
4763
+ fontSize: 12,
4764
+ fontWeight: 900,
4765
+ color: import_tokens42.tokens.colors.earth,
4766
+ textTransform: "uppercase",
4767
+ letterSpacing: "0.1em"
4768
+ },
4769
+ children: "AI Curation"
4770
+ }
4771
+ )
4772
+ ] }),
4773
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4774
+ import_Typography24.default,
4775
+ {
4776
+ component: "h2",
4777
+ sx: {
4778
+ color: import_tokens42.tokens.colors.textPrimary,
4779
+ fontFamily: import_tokens42.tokens.typography.fontFamily,
4780
+ fontSize: import_tokens42.tokens.typography.fontSizes.xxl,
4781
+ fontWeight: 900,
4782
+ lineHeight: 1,
4783
+ margin: 0
4784
+ },
4785
+ children: "VAZI Picks for You"
4786
+ }
4787
+ )
4788
+ ] }),
4789
+ onSeeAll && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4809
4790
  import_Box34.default,
4810
4791
  {
4811
- component: "button",
4812
4792
  onClick: onSeeAll,
4813
4793
  sx: {
4814
- backgroundColor: "transparent",
4815
- border: "none",
4816
- color: import_tokens41.tokens.colors.earth,
4794
+ display: "flex",
4795
+ alignItems: "center",
4796
+ gap: 1,
4797
+ color: import_tokens42.tokens.colors.earth,
4817
4798
  cursor: "pointer",
4818
- fontFamily: import_tokens41.tokens.typography.fontFamily,
4819
- fontSize: import_tokens41.tokens.typography.fontSizes.base,
4820
- fontWeight: import_tokens41.tokens.typography.fontWeights.semibold,
4821
- lineHeight: import_tokens41.tokens.typography.lineHeights.normal,
4822
- padding: 0,
4823
- textDecoration: "none",
4824
- transition: "color 200ms ease",
4825
- whiteSpace: "nowrap",
4799
+ transition: "all 0.3s ease",
4826
4800
  "&:hover": {
4827
- color: import_tokens41.tokens.colors.earthDark,
4828
- textDecoration: "underline"
4829
- },
4830
- "&:focus-visible": {
4831
- outline: `${import_tokens41.tokens.spacing.xs}px solid transparent`,
4832
- boxShadow: import_tokens41.tokens.shadows.focus,
4833
- borderRadius: import_tokens41.tokens.radius.sm
4801
+ gap: 1.5,
4802
+ color: import_tokens42.tokens.colors.earthDark
4834
4803
  }
4835
4804
  },
4836
- children: "See all"
4805
+ children: [
4806
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4807
+ import_Typography24.default,
4808
+ {
4809
+ sx: {
4810
+ fontSize: 12,
4811
+ fontWeight: 900,
4812
+ textTransform: "uppercase",
4813
+ letterSpacing: "0.05em"
4814
+ },
4815
+ children: "Explore All"
4816
+ }
4817
+ ),
4818
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_ArrowForward.default, { sx: { fontSize: 16 } })
4819
+ ]
4837
4820
  }
4838
4821
  )
4839
4822
  ]
4840
4823
  }
4841
4824
  ),
4842
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4843
- import_Box34.default,
4825
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MitumbaGrid, { columns: { xs: 1, sm: 2, md: 3, lg: 3 }, gap: 3, children: loading ? Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(VAZIOutfitCardSkeleton, {}, `vazi-skeleton-${i + 1}`)) : outfits.map((outfit) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4826
+ VAZIOutfitCard,
4844
4827
  {
4845
- sx: {
4846
- display: { xs: "flex", md: "grid" },
4847
- gridTemplateColumns: { md: "repeat(3, 1fr)" },
4848
- gap: import_tokens41.tokens.spacing.base,
4849
- overflowX: { xs: "auto", md: "visible" },
4850
- paddingInline: { xs: import_tokens41.tokens.spacing.base, md: 0 },
4851
- paddingBottom: { xs: import_tokens41.tokens.spacing.sm, md: 0 },
4852
- scrollbarWidth: "none",
4853
- msOverflowStyle: "none",
4854
- "&::-webkit-scrollbar": {
4855
- display: "none"
4856
- }
4857
- },
4858
- children: loading ? renderSkeletons() : renderOutfitCards(outfits)
4859
- }
4860
- )
4828
+ outfitName: outfit.outfitName,
4829
+ items: outfit.items,
4830
+ totalPriceKes: outfit.totalPriceKes,
4831
+ sellersCount: outfit.sellersCount,
4832
+ isMultiCity: outfit.isMultiCity,
4833
+ onTap: outfit.onTap,
4834
+ onBuyAll: outfit.onBuyAll
4835
+ },
4836
+ outfit.outfitName
4837
+ )) })
4861
4838
  ]
4862
4839
  }
4863
4840
  );
@@ -4865,90 +4842,71 @@ function VAZIFeedSection({ outfits, loading = false, onSeeAll }) {
4865
4842
 
4866
4843
  // src/components/vazi/CompleteThisLookPanel/CompleteThisLookPanel.tsx
4867
4844
  var import_Box35 = __toESM(require("@mui/material/Box"));
4868
- var import_Typography23 = __toESM(require("@mui/material/Typography"));
4869
- var import_tokens42 = require("@mitumba/tokens");
4845
+ var import_Typography25 = __toESM(require("@mui/material/Typography"));
4846
+ var import_Stack8 = __toESM(require("@mui/material/Stack"));
4847
+ var import_AutoAwesome5 = __toESM(require("@mui/icons-material/AutoAwesome"));
4848
+ var import_tokens43 = require("@mitumba/tokens");
4870
4849
  var import_jsx_runtime47 = require("react/jsx-runtime");
4871
4850
  function CompleteThisLookPanel({ outfits, loading = false }) {
4872
4851
  if (!loading && outfits.length === 0) {
4873
4852
  return null;
4874
4853
  }
4875
- const renderOutfitCards2 = () => outfits.map((outfit) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4876
- import_Box35.default,
4877
- {
4878
- sx: {
4879
- flexShrink: 0,
4880
- width: { xs: "82%", md: "100%" },
4881
- maxWidth: { xs: "340px", md: "none" }
4882
- },
4883
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4884
- VAZIOutfitCard,
4885
- {
4886
- outfitName: outfit.outfitName,
4887
- items: outfit.items,
4888
- totalPriceKes: outfit.totalPriceKes,
4889
- sellersCount: outfit.sellersCount,
4890
- isMultiCity: outfit.isMultiCity,
4891
- onTap: outfit.onTap,
4892
- onBuyAll: outfit.onBuyAll
4893
- }
4894
- )
4895
- },
4896
- outfit.outfitName
4897
- ));
4898
- const renderSkeletons2 = () => ["skel-0", "skel-1", "skel-2"].map((skelKey) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4899
- import_Box35.default,
4900
- {
4901
- sx: {
4902
- flexShrink: 0,
4903
- width: { xs: "82%", md: "100%" },
4904
- maxWidth: { xs: "340px", md: "none" }
4905
- },
4906
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(VAZIOutfitCardSkeleton, {})
4907
- },
4908
- skelKey
4909
- ));
4910
4854
  return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4911
4855
  import_Box35.default,
4912
4856
  {
4913
4857
  sx: {
4914
4858
  display: "flex",
4915
4859
  flexDirection: "column",
4916
- gap: import_tokens42.tokens.spacing.base,
4860
+ gap: 3,
4917
4861
  width: "100%"
4918
4862
  },
4919
4863
  children: [
4920
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4921
- import_Typography23.default,
4922
- {
4923
- component: "h2",
4924
- sx: {
4925
- color: import_tokens42.tokens.colors.textPrimary,
4926
- fontSize: import_tokens42.tokens.typography.fontSizes.xl,
4927
- fontWeight: import_tokens42.tokens.typography.fontWeights.bold,
4928
- lineHeight: import_tokens42.tokens.typography.lineHeights.snug,
4929
- margin: 0
4930
- },
4931
- children: "Complete this look"
4932
- }
4933
- ),
4934
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4935
- import_Box35.default,
4936
- {
4937
- sx: {
4938
- display: { xs: "flex", md: "grid" },
4939
- gridTemplateColumns: { md: "repeat(3, 1fr)" },
4940
- gap: import_tokens42.tokens.spacing.base,
4941
- overflowX: { xs: "auto", md: "visible" },
4942
- paddingBottom: { xs: import_tokens42.tokens.spacing.sm, md: 0 },
4943
- scrollbarWidth: "none",
4944
- msOverflowStyle: "none",
4945
- "&::-webkit-scrollbar": {
4946
- display: "none"
4864
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_Stack8.default, { spacing: 1, sx: { paddingInline: { xs: 2, md: 0 } }, children: [
4865
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_Stack8.default, { direction: "row", spacing: 1, alignItems: "center", children: [
4866
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_AutoAwesome5.default, { sx: { fontSize: 16, color: import_tokens43.tokens.colors.earth } }),
4867
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4868
+ import_Typography25.default,
4869
+ {
4870
+ sx: {
4871
+ fontSize: 11,
4872
+ fontWeight: 900,
4873
+ color: import_tokens43.tokens.colors.earth,
4874
+ textTransform: "uppercase",
4875
+ letterSpacing: "0.08em"
4876
+ },
4877
+ children: "AI Recommendations"
4947
4878
  }
4948
- },
4949
- children: loading ? renderSkeletons2() : renderOutfitCards2()
4950
- }
4951
- )
4879
+ )
4880
+ ] }),
4881
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4882
+ import_Typography25.default,
4883
+ {
4884
+ component: "h2",
4885
+ sx: {
4886
+ color: import_tokens43.tokens.colors.textPrimary,
4887
+ fontFamily: import_tokens43.tokens.typography.fontFamily,
4888
+ fontSize: import_tokens43.tokens.typography.fontSizes.xl,
4889
+ fontWeight: 900,
4890
+ lineHeight: 1,
4891
+ margin: 0
4892
+ },
4893
+ children: "Complete this look"
4894
+ }
4895
+ )
4896
+ ] }),
4897
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(MitumbaGrid, { columns: { xs: 1, sm: 2, md: 3, lg: 3 }, gap: 3, children: loading ? Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(VAZIOutfitCardSkeleton, {}, `vazi-skel-${i + 1}`)) : outfits.map((outfit) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4898
+ VAZIOutfitCard,
4899
+ {
4900
+ outfitName: outfit.outfitName,
4901
+ items: outfit.items,
4902
+ totalPriceKes: outfit.totalPriceKes,
4903
+ sellersCount: outfit.sellersCount,
4904
+ isMultiCity: outfit.isMultiCity,
4905
+ onTap: outfit.onTap,
4906
+ onBuyAll: outfit.onBuyAll
4907
+ },
4908
+ outfit.outfitName
4909
+ )) })
4952
4910
  ]
4953
4911
  }
4954
4912
  );
@@ -4960,7 +4918,7 @@ var import_styles3 = require("@mui/material/styles");
4960
4918
 
4961
4919
  // src/theme/theme.ts
4962
4920
  var import_styles2 = require("@mui/material/styles");
4963
- var import_tokens43 = require("@mitumba/tokens");
4921
+ var import_tokens44 = require("@mitumba/tokens");
4964
4922
  var transitions = {
4965
4923
  standard: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
4966
4924
  spring: "all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)"
@@ -4969,86 +4927,86 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
4969
4927
  // Spacing factor 4px (Mandate)
4970
4928
  spacing: (factor) => `${factor * 4}px`,
4971
4929
  breakpoints: {
4972
- values: import_tokens43.tokens.breakpoints
4930
+ values: import_tokens44.tokens.breakpoints
4973
4931
  },
4974
4932
  palette: {
4975
4933
  mode: "light",
4976
4934
  primary: {
4977
- main: import_tokens43.tokens.colors.green,
4978
- light: import_tokens43.tokens.colors.greenLight,
4979
- dark: import_tokens43.tokens.colors.greenDark,
4980
- contrastText: import_tokens43.tokens.colors.textOnGreen
4935
+ main: import_tokens44.tokens.colors.green,
4936
+ light: import_tokens44.tokens.colors.greenLight,
4937
+ dark: import_tokens44.tokens.colors.greenDark,
4938
+ contrastText: import_tokens44.tokens.colors.textOnGreen
4981
4939
  },
4982
4940
  secondary: {
4983
- main: import_tokens43.tokens.colors.earth,
4984
- light: import_tokens43.tokens.colors.earthLight,
4985
- dark: import_tokens43.tokens.colors.earthDark,
4986
- contrastText: import_tokens43.tokens.colors.textOnEarth
4941
+ main: import_tokens44.tokens.colors.earth,
4942
+ light: import_tokens44.tokens.colors.earthLight,
4943
+ dark: import_tokens44.tokens.colors.earthDark,
4944
+ contrastText: import_tokens44.tokens.colors.textOnEarth
4987
4945
  },
4988
4946
  earth: {
4989
- main: import_tokens43.tokens.colors.earth,
4990
- light: import_tokens43.tokens.colors.earthLight,
4991
- dark: import_tokens43.tokens.colors.earthDark,
4992
- contrastText: import_tokens43.tokens.colors.textOnEarth
4947
+ main: import_tokens44.tokens.colors.earth,
4948
+ light: import_tokens44.tokens.colors.earthLight,
4949
+ dark: import_tokens44.tokens.colors.earthDark,
4950
+ contrastText: import_tokens44.tokens.colors.textOnEarth
4993
4951
  },
4994
4952
  success: {
4995
- main: import_tokens43.tokens.colors.success,
4996
- light: import_tokens43.tokens.colors.successLight,
4997
- dark: import_tokens43.tokens.colors.successDark,
4998
- contrastText: import_tokens43.tokens.colors.textOnGreen
4953
+ main: import_tokens44.tokens.colors.success,
4954
+ light: import_tokens44.tokens.colors.successLight,
4955
+ dark: import_tokens44.tokens.colors.successDark,
4956
+ contrastText: import_tokens44.tokens.colors.textOnGreen
4999
4957
  },
5000
4958
  error: {
5001
- main: import_tokens43.tokens.colors.error,
5002
- light: import_tokens43.tokens.colors.errorLight,
5003
- dark: import_tokens43.tokens.colors.errorDark,
5004
- contrastText: import_tokens43.tokens.colors.white
4959
+ main: import_tokens44.tokens.colors.error,
4960
+ light: import_tokens44.tokens.colors.errorLight,
4961
+ dark: import_tokens44.tokens.colors.errorDark,
4962
+ contrastText: import_tokens44.tokens.colors.white
5005
4963
  },
5006
4964
  warning: {
5007
- main: import_tokens43.tokens.colors.warning,
5008
- light: import_tokens43.tokens.colors.warningLight,
5009
- dark: import_tokens43.tokens.colors.warningDark,
5010
- contrastText: import_tokens43.tokens.colors.textPrimary
4965
+ main: import_tokens44.tokens.colors.warning,
4966
+ light: import_tokens44.tokens.colors.warningLight,
4967
+ dark: import_tokens44.tokens.colors.warningDark,
4968
+ contrastText: import_tokens44.tokens.colors.textPrimary
5011
4969
  },
5012
4970
  info: {
5013
- main: import_tokens43.tokens.colors.info,
5014
- light: import_tokens43.tokens.colors.infoLight,
5015
- dark: import_tokens43.tokens.colors.infoDark,
5016
- contrastText: import_tokens43.tokens.colors.white
4971
+ main: import_tokens44.tokens.colors.info,
4972
+ light: import_tokens44.tokens.colors.infoLight,
4973
+ dark: import_tokens44.tokens.colors.infoDark,
4974
+ contrastText: import_tokens44.tokens.colors.white
5017
4975
  },
5018
4976
  background: {
5019
- default: import_tokens43.tokens.colors.background,
5020
- paper: import_tokens43.tokens.colors.surface
4977
+ default: import_tokens44.tokens.colors.background,
4978
+ paper: import_tokens44.tokens.colors.surface
5021
4979
  },
5022
- divider: import_tokens43.tokens.colors.divider,
4980
+ divider: import_tokens44.tokens.colors.divider,
5023
4981
  text: {
5024
- primary: import_tokens43.tokens.colors.textPrimary,
5025
- secondary: import_tokens43.tokens.colors.textSecondary,
5026
- disabled: import_tokens43.tokens.colors.textDisabled
4982
+ primary: import_tokens44.tokens.colors.textPrimary,
4983
+ secondary: import_tokens44.tokens.colors.textSecondary,
4984
+ disabled: import_tokens44.tokens.colors.textDisabled
5027
4985
  },
5028
4986
  common: {
5029
- black: import_tokens43.tokens.colors.textPrimary,
5030
- white: import_tokens43.tokens.colors.white
4987
+ black: import_tokens44.tokens.colors.textPrimary,
4988
+ white: import_tokens44.tokens.colors.white
5031
4989
  }
5032
4990
  },
5033
4991
  shape: {
5034
- borderRadius: import_tokens43.tokens.radius.md
4992
+ borderRadius: import_tokens44.tokens.radius.md
5035
4993
  // 8px default
5036
4994
  },
5037
4995
  shadows: [
5038
4996
  "none",
5039
- import_tokens43.tokens.shadows.card,
4997
+ import_tokens44.tokens.shadows.card,
5040
4998
  // 1
5041
- import_tokens43.tokens.shadows.elevated,
4999
+ import_tokens44.tokens.shadows.elevated,
5042
5000
  // 2
5043
- import_tokens43.tokens.shadows.deep,
5001
+ import_tokens44.tokens.shadows.deep,
5044
5002
  // 3
5045
- import_tokens43.tokens.shadows.bottomSheet,
5003
+ import_tokens44.tokens.shadows.bottomSheet,
5046
5004
  // 4
5047
- import_tokens43.tokens.shadows.focus,
5005
+ import_tokens44.tokens.shadows.focus,
5048
5006
  // 5
5049
- import_tokens43.tokens.shadows.green,
5007
+ import_tokens44.tokens.shadows.green,
5050
5008
  // 6
5051
- import_tokens43.tokens.shadows.earth,
5009
+ import_tokens44.tokens.shadows.earth,
5052
5010
  // 7
5053
5011
  "none",
5054
5012
  "none",
@@ -5069,45 +5027,45 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5069
5027
  "none"
5070
5028
  ],
5071
5029
  typography: {
5072
- fontFamily: import_tokens43.tokens.typography.fontFamily,
5073
- fontWeightRegular: import_tokens43.tokens.typography.fontWeights.regular,
5074
- fontWeightMedium: import_tokens43.tokens.typography.fontWeights.medium,
5075
- fontWeightBold: import_tokens43.tokens.typography.fontWeights.bold,
5030
+ fontFamily: import_tokens44.tokens.typography.fontFamily,
5031
+ fontWeightRegular: import_tokens44.tokens.typography.fontWeights.regular,
5032
+ fontWeightMedium: import_tokens44.tokens.typography.fontWeights.medium,
5033
+ fontWeightBold: import_tokens44.tokens.typography.fontWeights.bold,
5076
5034
  h1: {
5077
- fontSize: `${import_tokens43.tokens.typography.fontSizes.display}px`,
5078
- fontWeight: import_tokens43.tokens.typography.fontWeights.extrabold,
5035
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.display}px`,
5036
+ fontWeight: import_tokens44.tokens.typography.fontWeights.extrabold,
5079
5037
  lineHeight: 1.1
5080
5038
  },
5081
5039
  h2: {
5082
- fontSize: `${import_tokens43.tokens.typography.fontSizes.xxxl}px`,
5083
- fontWeight: import_tokens43.tokens.typography.fontWeights.bold,
5040
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.xxxl}px`,
5041
+ fontWeight: import_tokens44.tokens.typography.fontWeights.bold,
5084
5042
  lineHeight: 1.2
5085
5043
  },
5086
5044
  h3: {
5087
- fontSize: `${import_tokens43.tokens.typography.fontSizes.xxl}px`,
5088
- fontWeight: import_tokens43.tokens.typography.fontWeights.bold,
5045
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.xxl}px`,
5046
+ fontWeight: import_tokens44.tokens.typography.fontWeights.bold,
5089
5047
  lineHeight: 1.2
5090
5048
  },
5091
5049
  h4: {
5092
- fontSize: `${import_tokens43.tokens.typography.fontSizes.xl}px`,
5093
- fontWeight: import_tokens43.tokens.typography.fontWeights.bold,
5050
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.xl}px`,
5051
+ fontWeight: import_tokens44.tokens.typography.fontWeights.bold,
5094
5052
  lineHeight: 1.2
5095
5053
  },
5096
5054
  body1: {
5097
- fontSize: `${import_tokens43.tokens.typography.fontSizes.md}px`,
5055
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.md}px`,
5098
5056
  lineHeight: 1.5
5099
5057
  },
5100
5058
  body2: {
5101
- fontSize: `${import_tokens43.tokens.typography.fontSizes.base}px`,
5059
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.base}px`,
5102
5060
  lineHeight: 1.5
5103
5061
  },
5104
5062
  button: {
5105
- fontSize: `${import_tokens43.tokens.typography.fontSizes.base}px`,
5063
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.base}px`,
5106
5064
  fontWeight: 600,
5107
5065
  textTransform: "none"
5108
5066
  },
5109
5067
  caption: {
5110
- fontSize: `${import_tokens43.tokens.typography.fontSizes.sm}px`,
5068
+ fontSize: `${import_tokens44.tokens.typography.fontSizes.sm}px`,
5111
5069
  lineHeight: 1.5
5112
5070
  }
5113
5071
  },
@@ -5115,9 +5073,9 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5115
5073
  MuiCssBaseline: {
5116
5074
  styleOverrides: {
5117
5075
  body: {
5118
- backgroundColor: import_tokens43.tokens.colors.background,
5119
- color: import_tokens43.tokens.colors.textPrimary,
5120
- fontFamily: import_tokens43.tokens.typography.fontFamily,
5076
+ backgroundColor: import_tokens44.tokens.colors.background,
5077
+ color: import_tokens44.tokens.colors.textPrimary,
5078
+ fontFamily: import_tokens44.tokens.typography.fontFamily,
5121
5079
  WebkitFontSmoothing: "antialiased",
5122
5080
  MozOsxFontSmoothing: "grayscale"
5123
5081
  },
@@ -5132,7 +5090,7 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5132
5090
  },
5133
5091
  styleOverrides: {
5134
5092
  root: {
5135
- borderRadius: `${import_tokens43.tokens.radius.md}px`,
5093
+ borderRadius: `${import_tokens44.tokens.radius.md}px`,
5136
5094
  transition: transitions.standard,
5137
5095
  fontWeight: 600,
5138
5096
  "&:hover": {
@@ -5142,40 +5100,40 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5142
5100
  transform: "translateY(0) scale(0.98)"
5143
5101
  },
5144
5102
  "&.Mui-disabled": {
5145
- backgroundColor: import_tokens43.tokens.colors.divider,
5146
- color: import_tokens43.tokens.colors.textDisabled,
5147
- borderColor: import_tokens43.tokens.colors.divider
5103
+ backgroundColor: import_tokens44.tokens.colors.divider,
5104
+ color: import_tokens44.tokens.colors.textDisabled,
5105
+ borderColor: import_tokens44.tokens.colors.divider
5148
5106
  }
5149
5107
  },
5150
5108
  containedPrimary: {
5151
- backgroundColor: import_tokens43.tokens.colors.green,
5109
+ backgroundColor: import_tokens44.tokens.colors.green,
5152
5110
  "&:hover": {
5153
- backgroundColor: import_tokens43.tokens.colors.greenDark,
5154
- boxShadow: import_tokens43.tokens.shadows.green
5111
+ backgroundColor: import_tokens44.tokens.colors.greenDark,
5112
+ boxShadow: import_tokens44.tokens.shadows.green
5155
5113
  }
5156
5114
  },
5157
5115
  containedSecondary: {
5158
- backgroundColor: import_tokens43.tokens.colors.earth,
5116
+ backgroundColor: import_tokens44.tokens.colors.earth,
5159
5117
  "&:hover": {
5160
- backgroundColor: import_tokens43.tokens.colors.earthDark,
5161
- boxShadow: import_tokens43.tokens.shadows.earth
5118
+ backgroundColor: import_tokens44.tokens.colors.earthDark,
5119
+ boxShadow: import_tokens44.tokens.shadows.earth
5162
5120
  }
5163
5121
  },
5164
5122
  outlinedPrimary: {
5165
5123
  borderWidth: "2px !important",
5166
- borderColor: import_tokens43.tokens.colors.border,
5167
- color: import_tokens43.tokens.colors.textPrimary,
5124
+ borderColor: import_tokens44.tokens.colors.border,
5125
+ color: import_tokens44.tokens.colors.textPrimary,
5168
5126
  "&:hover": {
5169
- backgroundColor: import_tokens43.tokens.colors.background,
5170
- borderColor: import_tokens43.tokens.colors.green,
5171
- color: import_tokens43.tokens.colors.green
5127
+ backgroundColor: import_tokens44.tokens.colors.background,
5128
+ borderColor: import_tokens44.tokens.colors.green,
5129
+ color: import_tokens44.tokens.colors.green
5172
5130
  }
5173
5131
  },
5174
5132
  textPrimary: {
5175
- color: import_tokens43.tokens.colors.textSecondary,
5133
+ color: import_tokens44.tokens.colors.textSecondary,
5176
5134
  "&:hover": {
5177
- backgroundColor: import_tokens43.tokens.colors.background,
5178
- color: import_tokens43.tokens.colors.textPrimary
5135
+ backgroundColor: import_tokens44.tokens.colors.background,
5136
+ color: import_tokens44.tokens.colors.textPrimary
5179
5137
  }
5180
5138
  }
5181
5139
  }
@@ -5183,16 +5141,16 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5183
5141
  MuiCard: {
5184
5142
  styleOverrides: {
5185
5143
  root: {
5186
- borderRadius: `${import_tokens43.tokens.radius.xl}px`,
5187
- backgroundColor: import_tokens43.tokens.colors.surface,
5188
- boxShadow: import_tokens43.tokens.shadows.card,
5144
+ borderRadius: `${import_tokens44.tokens.radius.xl}px`,
5145
+ backgroundColor: import_tokens44.tokens.colors.surface,
5146
+ boxShadow: import_tokens44.tokens.shadows.card,
5189
5147
  transition: transitions.standard,
5190
5148
  border: "1px solid",
5191
- borderColor: import_tokens43.tokens.colors.divider,
5149
+ borderColor: import_tokens44.tokens.colors.divider,
5192
5150
  "&:hover": {
5193
5151
  transform: "translateY(-4px)",
5194
- boxShadow: import_tokens43.tokens.shadows.elevated,
5195
- borderColor: import_tokens43.tokens.colors.border
5152
+ boxShadow: import_tokens44.tokens.shadows.elevated,
5153
+ borderColor: import_tokens44.tokens.colors.border
5196
5154
  }
5197
5155
  }
5198
5156
  }
@@ -5200,36 +5158,36 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5200
5158
  MuiPaper: {
5201
5159
  styleOverrides: {
5202
5160
  rounded: {
5203
- borderRadius: `${import_tokens43.tokens.radius.xl}px`
5161
+ borderRadius: `${import_tokens44.tokens.radius.xl}px`
5204
5162
  },
5205
5163
  elevation1: {
5206
- boxShadow: import_tokens43.tokens.shadows.card
5164
+ boxShadow: import_tokens44.tokens.shadows.card
5207
5165
  }
5208
5166
  }
5209
5167
  },
5210
5168
  MuiOutlinedInput: {
5211
5169
  styleOverrides: {
5212
5170
  root: {
5213
- borderRadius: `${import_tokens43.tokens.radius.md}px`,
5214
- backgroundColor: import_tokens43.tokens.colors.surface,
5171
+ borderRadius: `${import_tokens44.tokens.radius.md}px`,
5172
+ backgroundColor: import_tokens44.tokens.colors.surface,
5215
5173
  transition: transitions.standard,
5216
5174
  "& .MuiOutlinedInput-notchedOutline": {
5217
- borderColor: import_tokens43.tokens.colors.border,
5175
+ borderColor: import_tokens44.tokens.colors.border,
5218
5176
  borderWidth: "1px",
5219
5177
  transition: transitions.standard
5220
5178
  },
5221
5179
  "&:hover .MuiOutlinedInput-notchedOutline": {
5222
- borderColor: import_tokens43.tokens.colors.textDisabled
5180
+ borderColor: import_tokens44.tokens.colors.textDisabled
5223
5181
  },
5224
5182
  "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
5225
- borderColor: import_tokens43.tokens.colors.green,
5183
+ borderColor: import_tokens44.tokens.colors.green,
5226
5184
  borderWidth: "2px"
5227
5185
  },
5228
5186
  "&.Mui-error .MuiOutlinedInput-notchedOutline": {
5229
- borderColor: import_tokens43.tokens.colors.error
5187
+ borderColor: import_tokens44.tokens.colors.error
5230
5188
  },
5231
5189
  "&.Mui-focused": {
5232
- boxShadow: import_tokens43.tokens.shadows.focus
5190
+ boxShadow: import_tokens44.tokens.shadows.focus
5233
5191
  }
5234
5192
  }
5235
5193
  }
@@ -5241,7 +5199,7 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5241
5199
  cursor: "pointer",
5242
5200
  "&:hover": {
5243
5201
  transform: "perspective(1000px) rotateY(15deg) rotateX(-5deg) scale(1.1)",
5244
- boxShadow: import_tokens43.tokens.shadows.elevated
5202
+ boxShadow: import_tokens44.tokens.shadows.elevated
5245
5203
  },
5246
5204
  "&:active": {
5247
5205
  transform: "perspective(1000px) rotateY(0deg) rotateX(0deg) scale(1.05)"
@@ -5252,8 +5210,8 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5252
5210
  MuiDialog: {
5253
5211
  styleOverrides: {
5254
5212
  paper: {
5255
- borderRadius: `${import_tokens43.tokens.radius.xxxl}px`,
5256
- boxShadow: import_tokens43.tokens.shadows.bottomSheet,
5213
+ borderRadius: `${import_tokens44.tokens.radius.xxxl}px`,
5214
+ boxShadow: import_tokens44.tokens.shadows.bottomSheet,
5257
5215
  backgroundImage: "none"
5258
5216
  }
5259
5217
  }
@@ -5261,7 +5219,7 @@ var mitumbaTheme = (0, import_styles2.createTheme)({
5261
5219
  MuiAlert: {
5262
5220
  styleOverrides: {
5263
5221
  root: {
5264
- borderRadius: `${import_tokens43.tokens.radius.lg}px`,
5222
+ borderRadius: `${import_tokens44.tokens.radius.lg}px`,
5265
5223
  alignItems: "center"
5266
5224
  }
5267
5225
  }