mautourco-components 0.2.7 → 0.2.9

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.
Files changed (34) hide show
  1. package/dist/components/atoms/Icon/Icon.d.ts +1 -0
  2. package/dist/components/atoms/Icon/Icon.js +3 -4
  3. package/dist/components/atoms/Icon/icons/Chevron.d.ts +2 -0
  4. package/dist/components/atoms/Icon/icons/Chevron.js +10 -10
  5. package/dist/components/atoms/Typography/Typography.d.ts +2 -0
  6. package/dist/components/atoms/Typography/Typography.js +13 -4
  7. package/dist/components/molecules/RatingTab/RatingTab.js +1 -1
  8. package/dist/components/molecules/ServiceSelector/ServiceSelector.d.ts +22 -0
  9. package/dist/components/molecules/ServiceSelector/ServiceSelector.js +85 -0
  10. package/dist/components/molecules/ServiceSelector/index.d.ts +2 -0
  11. package/dist/components/molecules/ServiceSelector/index.js +1 -0
  12. package/dist/components/organisms/PaxSelector/PaxSelector.js +3 -3
  13. package/dist/components/organisms/SearchBarTransfer/SearchBarTransfer.js +2 -2
  14. package/dist/components/ui/button.d.ts +1 -1
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.js +1 -0
  17. package/dist/styles/components/molecule/service-selector.css +2310 -0
  18. package/dist/styles/components/organism/pax-selector.css +3 -15
  19. package/dist/styles/components/organism/search-bar-transfer.css +4 -10
  20. package/dist/styles/components/rating-tab.css +1 -3
  21. package/package.json +1 -1
  22. package/src/components/atoms/Icon/Icon.tsx +4 -3
  23. package/src/components/atoms/Icon/icons/Chevron.tsx +30 -11
  24. package/src/components/atoms/Typography/Typography.tsx +29 -2
  25. package/src/components/molecules/RatingTab/RatingTab.tsx +1 -1
  26. package/src/components/molecules/ServiceSelector/ServiceSelector.tsx +179 -0
  27. package/src/components/molecules/ServiceSelector/index.ts +3 -0
  28. package/src/components/organisms/PaxSelector/PaxSelector.tsx +4 -4
  29. package/src/components/organisms/SearchBarTransfer/SearchBarTransfer.tsx +3 -3
  30. package/src/styles/components/molecule/service-selector.css +228 -0
  31. package/src/styles/components/organism/pax-selector.css +3 -15
  32. package/src/styles/components/organism/search-bar-transfer.css +4 -10
  33. package/src/styles/components/rating-tab.css +1 -3
  34. package/src/components/atoms/Icon/icons/ChevronDownIcon.tsx +0 -46
@@ -2236,11 +2236,7 @@
2236
2236
  }
2237
2237
 
2238
2238
  .pax-selector__stepper-label {
2239
- font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
2240
- font-weight: 700;
2241
- font-size: 16px;
2242
- line-height: 24px;
2243
- color: var(--color-text-default, #262626);
2239
+ /* La couleur est maintenant gérée par la prop color="default" du composant Text */
2244
2240
  }
2245
2241
 
2246
2242
  .pax-selector__stepper-controls {
@@ -2669,11 +2665,7 @@
2669
2665
  }
2670
2666
 
2671
2667
  .pax-selector__age-section-title {
2672
- font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
2673
- font-weight: var(--font-weight-font-bold, 700);
2674
- font-size: 16px;
2675
- line-height: 24px;
2676
- color: var(--color-text-default, #262626);
2668
+ /* La couleur est maintenant gérée par la prop color="default" du composant Text */
2677
2669
  margin: 0;
2678
2670
  }
2679
2671
 
@@ -2722,11 +2714,7 @@
2722
2714
  }
2723
2715
 
2724
2716
  .pax-selector__room-name {
2725
- font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
2726
- font-weight: var(--font-weight-font-bold, 700);
2727
- font-size: 18px;
2728
- line-height: 24px;
2729
- color: var(--color-text-accent, #0f7173);
2717
+ /* La couleur est maintenant gérée par la prop color="accent" du composant Text */
2730
2718
  margin: 0;
2731
2719
  }
2732
2720
 
@@ -2099,10 +2099,6 @@
2099
2099
  justify-content: space-between;
2100
2100
  }
2101
2101
 
2102
- .search-bar-transfer__title {
2103
- color: var(--color-text-accent, #0f7173);
2104
- }
2105
-
2106
2102
  /* Mode Selector (Segmented Button) */
2107
2103
 
2108
2104
  .search-bar-transfer__mode-selector {
@@ -2119,9 +2115,7 @@
2119
2115
  justify-content: space-between;
2120
2116
  }
2121
2117
 
2122
- .search-bar-transfer__transfer-type-label {
2123
- color: var(--color-text-subtle);
2124
- }
2118
+ /* La couleur est maintenant gérée par la prop color="subtle" du composant Text */
2125
2119
 
2126
2120
  .search-bar-transfer__add-buttons {
2127
2121
  display: flex;
@@ -2143,7 +2137,7 @@
2143
2137
  display: flex;
2144
2138
  align-items: center;
2145
2139
  gap: 0.5rem;
2146
- color: var(--color-text-default);
2140
+ /* La couleur du texte est maintenant gérée par la prop color="default" du composant Text */
2147
2141
  }
2148
2142
 
2149
2143
  /* Divider between categories */
@@ -2215,8 +2209,8 @@
2215
2209
  gap: 1rem;
2216
2210
  }
2217
2211
 
2218
- .search-bar-transfer__title {
2219
- /* Responsive: Utiliser les tokens heading-sm (24px) sur mobile */
2212
+ /* Responsive: Réduire la taille du titre sur mobile */
2213
+ .search-bar-transfer__header .heading-md {
2220
2214
  font-size: var(--font-size-text-2xl, 24px);
2221
2215
  line-height: var(--font-leading-leading-2xl, 36px);
2222
2216
  }
@@ -2114,9 +2114,7 @@
2114
2114
  color: var(--checkbox-color-checkbox-checked-default, #0f7173);
2115
2115
  }
2116
2116
 
2117
- .rating-tab__label {
2118
- color: var(--color-text-default, #262626);
2119
- }
2117
+ /* La couleur est maintenant gérée par la prop color="default" du composant Text */
2120
2118
 
2121
2119
  /* States */
2122
2120
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mautourco-components",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "private": false,
5
5
  "description": "Bibliothèque de composants Motorco pour le redesign",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,6 @@ import EyeIcon from "./icons/EyeIcon";
14
14
  import InfoIcon from "./icons/InfoIcon";
15
15
  import CheckCircleIcon from "./icons/CheckCircleIcon";
16
16
  import StrollerIcon from "./icons/StrollerIcon";
17
- import ChevronDownIcon from "./icons/ChevronDownIcon";
18
17
  import CarIcon from "./icons/CarIcon";
19
18
  import MoreIcon from "./icons/MoreIcon";
20
19
  import Settings from "./icons/Settings";
@@ -74,6 +73,7 @@ interface IconProps {
74
73
  size?: "xs" | "sm" | "md" | "lg" | "xl";
75
74
  className?: string;
76
75
  color?: string;
76
+ style?: React.CSSProperties;
77
77
  }
78
78
 
79
79
  const Icon: React.FC<IconProps> = ({
@@ -81,8 +81,9 @@ const Icon: React.FC<IconProps> = ({
81
81
  size = "md",
82
82
  className = "",
83
83
  color,
84
+ style,
84
85
  }) => {
85
- const iconProps = { size, className, color };
86
+ const iconProps = { size, className, color, style };
86
87
 
87
88
  switch (name) {
88
89
  case "chevron-down":
@@ -124,7 +125,7 @@ const Icon: React.FC<IconProps> = ({
124
125
  case "stroller":
125
126
  return <StrollerIcon {...iconProps} />;
126
127
  case "chevron-down-new":
127
- return <ChevronDownIcon {...iconProps} />;
128
+ return <Chevron direction="down" variant="filled" {...iconProps} />;
128
129
  case "car":
129
130
  return <CarIcon {...iconProps} />;
130
131
  case "more":
@@ -2,16 +2,20 @@ import React from 'react';
2
2
 
3
3
  interface ChevronProps {
4
4
  direction?: 'up' | 'down' | 'left' | 'right';
5
+ variant?: 'outline' | 'filled';
5
6
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
7
  className?: string;
7
8
  color?: string;
9
+ style?: React.CSSProperties;
8
10
  }
9
11
 
10
12
  const Chevron: React.FC<ChevronProps> = ({
11
13
  direction = 'down',
14
+ variant = 'outline',
12
15
  size = 'md',
13
16
  className = '',
14
- color
17
+ color,
18
+ style
15
19
  }) => {
16
20
  const getSizeClasses = () => {
17
21
  switch (size) {
@@ -24,14 +28,13 @@ const Chevron: React.FC<ChevronProps> = ({
24
28
  }
25
29
  };
26
30
 
27
- const getDirectionStyle = () => {
28
- switch (direction) {
29
- case 'up': return { transform: 'rotate(0deg)' };
30
- case 'down': return { transform: 'rotate(0deg)' };
31
- case 'left': return { transform: 'rotate(360deg)' };
32
- case 'right': return { transform: 'rotate(360deg)' };
33
- default: return { transform: 'rotate(0deg)' };
31
+ const getRotationStyle = () => {
32
+ if (variant === 'filled') {
33
+ const rotations = { up: 180, down: 0, left: 90, right: -90 };
34
+ return { transform: `rotate(${rotations[direction] || 0}deg)` };
34
35
  }
36
+ // Outline variant doesn't need rotation (paths handle direction)
37
+ return { transform: 'rotate(0deg)' };
35
38
  };
36
39
 
37
40
  const getPath = () => {
@@ -50,14 +53,30 @@ const Chevron: React.FC<ChevronProps> = ({
50
53
  };
51
54
 
52
55
  const sizeClasses = getSizeClasses();
53
- const directionStyle = getDirectionStyle();
54
56
  const colorClass = color ? `text-${color}` : 'text-current';
55
57
  const classes = `${sizeClasses} ${colorClass} ${className}`;
58
+ const rotationStyle = getRotationStyle();
59
+ const combinedStyle = style ? { ...rotationStyle, ...style } : rotationStyle;
56
60
 
57
- return (
61
+ return variant === 'filled' ? (
62
+ <svg
63
+ className={classes}
64
+ style={combinedStyle}
65
+ viewBox="0 0 15 12"
66
+ fill="none"
67
+ xmlns="http://www.w3.org/2000/svg"
68
+ >
69
+ <path
70
+ d="M12.4707 0.571533H2.07621C0.87817 0.571533 0.163582 1.90675 0.828137 2.90358L6.02536 10.6994C6.6191 11.59 7.92778 11.59 8.52151 10.6994L13.7187 2.90358C14.3833 1.90675 13.6687 0.571533 12.4707 0.571533Z"
71
+ fill="currentColor"
72
+ stroke="currentColor"
73
+ strokeWidth="1.14286"
74
+ />
75
+ </svg>
76
+ ) : (
58
77
  <svg
59
78
  className={classes}
60
- style={directionStyle}
79
+ style={combinedStyle}
61
80
  viewBox="0 0 24 24"
62
81
  fill="none"
63
82
  stroke="currentColor"
@@ -5,10 +5,24 @@ type BodySizeInput = BodyTokenSize | 'base' | 'xl';
5
5
  type Variant = 'light' | 'regular' | 'medium' | 'bold' | 'black';
6
6
  type Leading = 'none' | '4' | '5' | '6' | '7';
7
7
  type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
8
+ type TextColor =
9
+ | 'default'
10
+ | 'accent'
11
+ | 'subtle'
12
+ | 'light'
13
+ | 'brand'
14
+ | 'inverted'
15
+ | 'state-default'
16
+ | 'state-hover'
17
+ | 'state-filled'
18
+ | 'state-disabled'
19
+ | 'state-error'
20
+ | 'state-success';
8
21
 
9
22
  interface BaseProps {
10
23
  variant?: Variant;
11
24
  leading?: Leading;
25
+ color?: TextColor;
12
26
  className?: string;
13
27
  children: React.ReactNode;
14
28
  onClick?: React.MouseEventHandler<Element>;
@@ -91,11 +105,19 @@ const buildVariantClass = (base: string, variant: Variant): string | undefined =
91
105
  return `${base}--${variant}`;
92
106
  };
93
107
 
108
+ const getColorStyle = (color?: TextColor): React.CSSProperties => {
109
+ if (!color) return {};
110
+ return {
111
+ color: `var(--color-text-${color}, inherit)`,
112
+ };
113
+ };
114
+
94
115
 
95
116
  export const Heading: React.FC<HeadingProps> = ({
96
117
  level = 2,
97
118
  variant = 'bold',
98
119
  leading,
120
+ color,
99
121
  as,
100
122
  className = '',
101
123
  children,
@@ -114,8 +136,10 @@ export const Heading: React.FC<HeadingProps> = ({
114
136
  .filter(Boolean)
115
137
  .join(' ');
116
138
 
139
+ const colorStyle = getColorStyle(color);
140
+
117
141
  return (
118
- <Tag className={classes} onClick={onClick}>
142
+ <Tag className={classes} style={colorStyle} onClick={onClick}>
119
143
  {children}
120
144
  </Tag>
121
145
  );
@@ -126,6 +150,7 @@ export const Text: React.FC<TextProps> = ({
126
150
  size = 'md',
127
151
  variant = 'regular',
128
152
  leading,
153
+ color,
129
154
  as,
130
155
  className = '',
131
156
  children,
@@ -145,8 +170,10 @@ export const Text: React.FC<TextProps> = ({
145
170
  .filter(Boolean)
146
171
  .join(' ');
147
172
 
173
+ const colorStyle = getColorStyle(color);
174
+
148
175
  return (
149
- <Tag className={classes} onClick={onClick}>
176
+ <Tag className={classes} style={colorStyle} onClick={onClick}>
150
177
  {children}
151
178
  </Tag>
152
179
  );
@@ -81,7 +81,7 @@ const RatingTab: React.FC<RatingTabProps> = ({
81
81
  <div className="rating-tab__checkbox">
82
82
  {checked && <Check size="sm" className="rating-tab__checkbox-icon" />}
83
83
  </div>
84
- <Text size="sm" className="rating-tab__label">
84
+ <Text size="sm" color="default" className="rating-tab__label">
85
85
  {label}
86
86
  </Text>
87
87
  </div>
@@ -0,0 +1,179 @@
1
+ import React, { useState, useRef, useEffect } from 'react';
2
+ import Icon from '../../atoms/Icon/Icon';
3
+ import { Text } from '../../atoms/Typography/Typography';
4
+ import '../../../styles/components/molecule/service-selector.css';
5
+
6
+ export type ServiceType = 'transfer' | 'accommodation' | 'excursion';
7
+
8
+ export interface ServiceOption {
9
+ value: ServiceType;
10
+ label: string;
11
+ icon: string;
12
+ disabled?: boolean;
13
+ badge?: string;
14
+ }
15
+
16
+ export interface ServiceSelectorProps {
17
+ /** Selected service */
18
+ value?: ServiceType;
19
+ /** Change handler */
20
+ onChange: (value: ServiceType) => void;
21
+ /** Disabled state */
22
+ disabled?: boolean;
23
+ /** Additional CSS classes */
24
+ className?: string;
25
+ }
26
+
27
+ const DEFAULT_OPTIONS: ServiceOption[] = [
28
+ {
29
+ value: 'accommodation',
30
+ label: 'Accommodation',
31
+ icon: 'building',
32
+ },
33
+ {
34
+ value: 'transfer',
35
+ label: 'Transfer',
36
+ icon: 'car',
37
+ },
38
+ {
39
+ value: 'excursion',
40
+ label: 'Excursion',
41
+ icon: 'map-pin',
42
+ disabled: true,
43
+ badge: 'Coming soon',
44
+ },
45
+ ];
46
+
47
+ const ServiceSelector: React.FC<ServiceSelectorProps> = ({
48
+ value,
49
+ onChange,
50
+ disabled = false,
51
+ className = '',
52
+ }) => {
53
+ const [isOpen, setIsOpen] = useState(false);
54
+ const dropdownRef = useRef<HTMLDivElement>(null);
55
+
56
+ // Close dropdown when clicking outside
57
+ useEffect(() => {
58
+ const handleClickOutside = (event: MouseEvent) => {
59
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {
60
+ setIsOpen(false);
61
+ }
62
+ };
63
+
64
+ document.addEventListener('mousedown', handleClickOutside);
65
+ return () => {
66
+ document.removeEventListener('mousedown', handleClickOutside);
67
+ };
68
+ }, []);
69
+
70
+ const handleToggleDropdown = () => {
71
+ if (!disabled) {
72
+ setIsOpen(!isOpen);
73
+ }
74
+ };
75
+
76
+ const handleOptionSelect = (option: ServiceOption) => {
77
+ if (disabled || option.disabled) return;
78
+ onChange(option.value);
79
+ setIsOpen(false);
80
+ };
81
+
82
+ const getDropdownState = () => {
83
+ if (disabled) return 'disabled';
84
+ // If a service is selected, always show selected state (even if open)
85
+ if (value) return 'selected';
86
+ if (isOpen) return 'open';
87
+ return 'default';
88
+ };
89
+
90
+ const selectedOption = value ? DEFAULT_OPTIONS.find(opt => opt.value === value) : null;
91
+ const displayText = selectedOption ? selectedOption.label : 'Select a service';
92
+
93
+ return (
94
+ <div ref={dropdownRef} className={`service-selector ${className}`}>
95
+ <button
96
+ type="button"
97
+ className={`service-selector__trigger service-selector__trigger--${getDropdownState()}`}
98
+ onClick={handleToggleDropdown}
99
+ disabled={disabled}
100
+ aria-expanded={isOpen}
101
+ aria-haspopup="listbox"
102
+ >
103
+ <div className="service-selector__trigger-content">
104
+ {selectedOption && (
105
+ <Icon
106
+ name={selectedOption.icon as any}
107
+ size="md"
108
+ className="service-selector__trigger-icon"
109
+ />
110
+ )}
111
+ <Text
112
+ size="base"
113
+ variant="bold"
114
+ className="service-selector__trigger-text"
115
+ >
116
+ {displayText}
117
+ </Text>
118
+ </div>
119
+ <Icon
120
+ name="chevron-down-new"
121
+ size="sm"
122
+ className="service-selector__trigger-chevron"
123
+ style={{
124
+ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',
125
+ transition: 'transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
126
+ transformOrigin: 'center'
127
+ }}
128
+ />
129
+ </button>
130
+
131
+ {isOpen && (
132
+ <div className="service-selector__panel" role="listbox">
133
+ <div className="service-selector__content">
134
+ <div className="service-selector__options-wrapper">
135
+ {DEFAULT_OPTIONS.map((option) => {
136
+ const isSelected = value === option.value;
137
+ const isDisabled = option.disabled || disabled;
138
+
139
+ return (
140
+ <button
141
+ key={option.value}
142
+ type="button"
143
+ className={`service-selector__option ${isSelected ? 'service-selector__option--selected' : ''} ${isDisabled ? 'service-selector__option--disabled' : ''}`}
144
+ onClick={() => handleOptionSelect(option)}
145
+ disabled={isDisabled}
146
+ role="option"
147
+ aria-selected={isSelected}
148
+ >
149
+ <Icon
150
+ name={option.icon as any}
151
+ size="md"
152
+ className={`service-selector__option-icon ${isSelected ? 'service-selector__option-icon--selected' : ''}`}
153
+ />
154
+ <Text
155
+ size="base"
156
+ variant="bold"
157
+ color={isSelected ? 'inverted' : 'default'}
158
+ className="service-selector__option-text"
159
+ >
160
+ {option.label}
161
+ </Text>
162
+ {option.badge && (
163
+ <span className="service-selector__option-badge">
164
+ {option.badge}
165
+ </span>
166
+ )}
167
+ </button>
168
+ );
169
+ })}
170
+ </div>
171
+ </div>
172
+ </div>
173
+ )}
174
+ </div>
175
+ );
176
+ };
177
+
178
+ export default ServiceSelector;
179
+
@@ -0,0 +1,3 @@
1
+ export { default } from './ServiceSelector';
2
+ export type { ServiceSelectorProps, ServiceType, ServiceOption } from './ServiceSelector';
3
+
@@ -285,7 +285,7 @@ const StepperRow: React.FC<StepperRowProps> = ({
285
285
 
286
286
  return (
287
287
  <div className="pax-selector__stepper">
288
- <Text size="base" variant="bold" className="pax-selector__stepper-label">
288
+ <Text size="base" variant="bold" color="default" className="pax-selector__stepper-label">
289
289
  {label}
290
290
  </Text>
291
291
  <div className="pax-selector__stepper-controls">
@@ -467,7 +467,7 @@ const RoomEditor: React.FC<RoomEditorProps> = ({
467
467
  <div className="pax-selector__room-container">
468
468
  <div className="pax-selector__room-header">
469
469
  <div className="pax-selector__room-title">
470
- <Text size="lg" variant="bold" className="pax-selector__room-name">
470
+ <Text size="lg" variant="bold" color="accent" className="pax-selector__room-name">
471
471
  Room {roomNumber}
472
472
  </Text>
473
473
  <Icon name="home" size="md" className="pax-selector__room-icon" />
@@ -516,7 +516,7 @@ const RoomEditor: React.FC<RoomEditorProps> = ({
516
516
  {/* Age specification section */}
517
517
  {((room.teens > 0) || (room.children > 0) || (room.infants > 0)) && (
518
518
  <div className="pax-selector__age-section">
519
- <Text size="base" variant="bold" className="pax-selector__age-section-title">
519
+ <Text size="base" variant="bold" color="default" className="pax-selector__age-section-title">
520
520
  Please specify the age :
521
521
  </Text>
522
522
 
@@ -857,7 +857,7 @@ const PaxSelector: React.FC<PaxSelectorProps> = ({
857
857
  {/* Age specification for single room */}
858
858
  {((internalData.teens > 0) || (internalData.children > 0) || (internalData.infants > 0)) && (
859
859
  <div className="pax-selector__age-section">
860
- <Text size="base" variant="bold" className="pax-selector__age-section-title">
860
+ <Text size="base" variant="bold" color="default" className="pax-selector__age-section-title">
861
861
  Please specify the age :
862
862
  </Text>
863
863
 
@@ -210,7 +210,7 @@ const SearchBarTransfer: React.FC<SearchBarTransferProps> = ({
210
210
  <div className={`search-bar-transfer ${className}`}>
211
211
  {/* Header with title and mode selector */}
212
212
  <div className="search-bar-transfer__header">
213
- <Heading level={5} variant="bold" className="search-bar-transfer__title">
213
+ <Heading level={5} variant="bold" color="accent">
214
214
  Select your transfer details
215
215
  </Heading>
216
216
 
@@ -241,7 +241,7 @@ const SearchBarTransfer: React.FC<SearchBarTransferProps> = ({
241
241
  <>
242
242
  {/* Transfer type selector */}
243
243
  <div className="search-bar-transfer__transfer-type">
244
- <Text size="lg" variant="bold" as="div" className="search-bar-transfer__transfer-type-label">
244
+ <Text size="lg" variant="bold" color="subtle" as="div" className="search-bar-transfer__transfer-type-label">
245
245
  Select a transfer type you want to add
246
246
  </Text>
247
247
  <div className="search-bar-transfer__add-buttons">
@@ -303,7 +303,7 @@ const SearchBarTransfer: React.FC<SearchBarTransferProps> = ({
303
303
  {/* Category header */}
304
304
  <div className="search-bar-transfer__category-header">
305
305
  <Icon name={categoryInfo[type].icon} size="md" />
306
- <Text size="md" variant="bold" as="span">
306
+ <Text size="md" variant="bold" color="default" as="span">
307
307
  {categoryInfo[type].label}
308
308
  </Text>
309
309
  </div>