@flamingo-stack/openframe-frontend-core 0.0.596-2034.5671.1 → 0.0.596-2034.5675.1
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/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +15 -1
- package/dist/components/meeting-scheduler/index.cjs.map +1 -1
- package/dist/components/meeting-scheduler/index.js +15 -1
- package/dist/components/meeting-scheduler/index.js.map +1 -1
- package/dist/schemas/meeting-booking-schema.cjs +4 -1
- package/dist/schemas/meeting-booking-schema.cjs.map +1 -1
- package/dist/schemas/meeting-booking-schema.d.ts +1 -1
- package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
- package/dist/schemas/meeting-booking-schema.js +4 -1
- package/dist/schemas/meeting-booking-schema.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/booking-form-number-field.test.tsx +69 -0
- package/src/__tests__/meeting-booking-schema.test.ts +62 -0
- package/src/components/meeting-scheduler/booking-form.tsx +10 -0
- package/src/schemas/meeting-booking-schema.ts +16 -1
- package/src/utils/__tests__/hubspot-meetings-convention.test.ts +4 -1
|
@@ -93,7 +93,7 @@ var MEETING_BOOKING_ERROR_CODES = [
|
|
|
93
93
|
"TEMPORARILY_UNAVAILABLE",
|
|
94
94
|
"MEETING_UNAVAILABLE"
|
|
95
95
|
];
|
|
96
|
-
var SUPPORTED_FORM_FIELD_TYPES = ["text", "textarea", "select", "radio", "checkbox"];
|
|
96
|
+
var SUPPORTED_FORM_FIELD_TYPES = ["text", "textarea", "select", "radio", "checkbox", "number"];
|
|
97
97
|
function isSupportedFormField(field) {
|
|
98
98
|
return SUPPORTED_FORM_FIELD_TYPES.includes(field.type);
|
|
99
99
|
}
|
|
@@ -132,6 +132,9 @@ function buildBookingSchema(formFields, legalConsent, slot) {
|
|
|
132
132
|
case "textarea":
|
|
133
133
|
validator = z.string().max(5e3, { message: `${field.label} is too long` });
|
|
134
134
|
break;
|
|
135
|
+
case "number":
|
|
136
|
+
validator = z.string().max(32, { message: `${field.label} is too long` }).regex(/^-?\d+(\.\d+)?$/, { message: `${field.label} must be a number` });
|
|
137
|
+
break;
|
|
135
138
|
case "text":
|
|
136
139
|
default:
|
|
137
140
|
validator = z.string().max(1e3, { message: `${field.label} is too long` });
|
|
@@ -428,6 +431,17 @@ function BookingForm({
|
|
|
428
431
|
...register(`formFields.${field.name}`)
|
|
429
432
|
}
|
|
430
433
|
),
|
|
434
|
+
field.type === "number" && /* @__PURE__ */ jsx(
|
|
435
|
+
Input,
|
|
436
|
+
{
|
|
437
|
+
id: `ms-q-${field.name}`,
|
|
438
|
+
type: "number",
|
|
439
|
+
inputMode: "numeric",
|
|
440
|
+
step: "any",
|
|
441
|
+
className: "h-11 border-ods-border bg-ods-card px-3 text-ods-text-primary placeholder-ods-text-secondary md:h-12",
|
|
442
|
+
...register(`formFields.${field.name}`)
|
|
443
|
+
}
|
|
444
|
+
),
|
|
431
445
|
(field.type === "select" || field.type === "radio") && /* @__PURE__ */ jsx(
|
|
432
446
|
Controller,
|
|
433
447
|
{
|