@bookinglab/booking-ui-react 1.7.1 → 1.8.0
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.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -230,6 +230,8 @@ interface ContactDetailsFormProps {
|
|
|
230
230
|
classNames?: ContactDetailsFormClassNames;
|
|
231
231
|
/** Per-field settings for the default contact fields (required, disabled) */
|
|
232
232
|
fieldSettings?: ContactDetailsFieldSettings;
|
|
233
|
+
/** When true, the submit button is hidden and form values are emitted via `onChange` on every change */
|
|
234
|
+
hideSubmitButton?: boolean;
|
|
233
235
|
}
|
|
234
236
|
/**
|
|
235
237
|
* Imperative handle methods exposed via ref
|
package/dist/index.d.ts
CHANGED
|
@@ -230,6 +230,8 @@ interface ContactDetailsFormProps {
|
|
|
230
230
|
classNames?: ContactDetailsFormClassNames;
|
|
231
231
|
/** Per-field settings for the default contact fields (required, disabled) */
|
|
232
232
|
fieldSettings?: ContactDetailsFieldSettings;
|
|
233
|
+
/** When true, the submit button is hidden and form values are emitted via `onChange` on every change */
|
|
234
|
+
hideSubmitButton?: boolean;
|
|
233
235
|
}
|
|
234
236
|
/**
|
|
235
237
|
* Imperative handle methods exposed via ref
|
package/dist/index.js
CHANGED
|
@@ -788,7 +788,8 @@ var ContactDetailsForm = react.forwardRef(
|
|
|
788
788
|
submitLabel = "Submit",
|
|
789
789
|
className = "",
|
|
790
790
|
classNames = {},
|
|
791
|
-
fieldSettings = {}
|
|
791
|
+
fieldSettings = {},
|
|
792
|
+
hideSubmitButton = false
|
|
792
793
|
}, ref) => {
|
|
793
794
|
const formId = react.useId();
|
|
794
795
|
const [firstName, setFirstName] = react.useState(initialValues?.firstName || "");
|
|
@@ -1187,12 +1188,24 @@ var ContactDetailsForm = react.forwardRef(
|
|
|
1187
1188
|
return null;
|
|
1188
1189
|
}
|
|
1189
1190
|
};
|
|
1191
|
+
react.useEffect(() => {
|
|
1192
|
+
if (hideSubmitButton && _onChange) {
|
|
1193
|
+
const contactValid = !contactFields.some((f) => {
|
|
1194
|
+
if (getFieldDisabled(f.name)) return false;
|
|
1195
|
+
return !!validateContactField(f.name, f.value);
|
|
1196
|
+
});
|
|
1197
|
+
const questionsValid = !questions.some(
|
|
1198
|
+
(q) => !!validateQuestionField(q, questionValues[q.id])
|
|
1199
|
+
);
|
|
1200
|
+
_onChange(buildOutput(), contactValid && questionsValid);
|
|
1201
|
+
}
|
|
1202
|
+
}, [hideSubmitButton, firstName, lastName, emailValue, questionValues]);
|
|
1190
1203
|
return /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, className, noValidate: true, children: [
|
|
1191
1204
|
renderContactField("firstName", "First name", firstName),
|
|
1192
1205
|
renderContactField("lastName", "Last name", lastName),
|
|
1193
1206
|
renderContactField("email", "Email", emailValue, "email"),
|
|
1194
1207
|
questions.map(renderQuestionField),
|
|
1195
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "submit", className: styles.button, children: submitLabel })
|
|
1208
|
+
!hideSubmitButton && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "submit", className: styles.button, children: submitLabel })
|
|
1196
1209
|
] });
|
|
1197
1210
|
}
|
|
1198
1211
|
);
|