mautourco-components 0.2.82 → 0.2.83
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.
|
@@ -102,13 +102,21 @@ var CarBookingCard = function (_a) {
|
|
|
102
102
|
};
|
|
103
103
|
// Handle CTA click: toggle between "Add to quote" and "Selected" and pass supplement data
|
|
104
104
|
var handleCtaClick = function (e) {
|
|
105
|
-
|
|
105
|
+
var newIsSelected = !isSelected;
|
|
106
|
+
setIsSelected(newIsSelected);
|
|
107
|
+
// Reset hover state when deselecting to prevent text staying as "Remove"
|
|
108
|
+
if (!newIsSelected) {
|
|
109
|
+
setIsHovered(false);
|
|
110
|
+
}
|
|
106
111
|
// Pass the selected supplements to the parent component
|
|
107
112
|
onCtaClick === null || onCtaClick === void 0 ? void 0 : onCtaClick(e, selectedSupplements.length > 0 ? selectedSupplements : undefined);
|
|
108
113
|
};
|
|
109
114
|
// Determine button state based on selection and hover
|
|
110
|
-
|
|
111
|
-
|
|
115
|
+
// Use both isSelected (internal state) and state prop to ensure synchronization
|
|
116
|
+
// If state prop is 'default', always show default label regardless of isSelected
|
|
117
|
+
var isActuallySelected = isSelected && (state === 'selected' || state === 'hover');
|
|
118
|
+
var shouldShowRemove = isActuallySelected && isHovered;
|
|
119
|
+
var shouldShowSelected = isActuallySelected && !isHovered;
|
|
112
120
|
var resolvedCtaLabel = shouldShowRemove
|
|
113
121
|
? 'Remove'
|
|
114
122
|
: shouldShowSelected
|
package/package.json
CHANGED
|
@@ -193,14 +193,22 @@ const CarBookingCard: React.FC<CarBookingCardProps> = ({
|
|
|
193
193
|
|
|
194
194
|
// Handle CTA click: toggle between "Add to quote" and "Selected" and pass supplement data
|
|
195
195
|
const handleCtaClick = (e: React.MouseEvent<HTMLButtonElement>) => {
|
|
196
|
-
|
|
196
|
+
const newIsSelected = !isSelected;
|
|
197
|
+
setIsSelected(newIsSelected);
|
|
198
|
+
// Reset hover state when deselecting to prevent text staying as "Remove"
|
|
199
|
+
if (!newIsSelected) {
|
|
200
|
+
setIsHovered(false);
|
|
201
|
+
}
|
|
197
202
|
// Pass the selected supplements to the parent component
|
|
198
203
|
onCtaClick?.(e, selectedSupplements.length > 0 ? selectedSupplements : undefined);
|
|
199
204
|
};
|
|
200
205
|
|
|
201
206
|
// Determine button state based on selection and hover
|
|
202
|
-
|
|
203
|
-
|
|
207
|
+
// Use both isSelected (internal state) and state prop to ensure synchronization
|
|
208
|
+
// If state prop is 'default', always show default label regardless of isSelected
|
|
209
|
+
const isActuallySelected = isSelected && (state === 'selected' || state === 'hover');
|
|
210
|
+
const shouldShowRemove = isActuallySelected && isHovered;
|
|
211
|
+
const shouldShowSelected = isActuallySelected && !isHovered;
|
|
204
212
|
|
|
205
213
|
const resolvedCtaLabel = shouldShowRemove
|
|
206
214
|
? 'Remove'
|