@opensite/ui 1.8.2 → 1.8.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/about-story-gallery.cjs +3 -30
- package/dist/about-story-gallery.d.cts +1 -1
- package/dist/about-story-gallery.d.ts +1 -1
- package/dist/about-story-gallery.js +3 -30
- package/dist/components.d.cts +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/contact-callback.cjs +526 -273
- package/dist/contact-callback.d.cts +39 -59
- package/dist/contact-callback.d.ts +39 -59
- package/dist/contact-callback.js +528 -274
- package/dist/contact-card.cjs +459 -183
- package/dist/contact-card.d.cts +26 -49
- package/dist/contact-card.d.ts +26 -49
- package/dist/contact-card.js +461 -183
- package/dist/contact-careers.cjs +614 -510
- package/dist/contact-careers.d.cts +32 -55
- package/dist/contact-careers.d.ts +32 -55
- package/dist/contact-careers.js +616 -510
- package/dist/contact-catering.cjs +507 -501
- package/dist/contact-catering.d.cts +27 -61
- package/dist/contact-catering.d.ts +27 -61
- package/dist/contact-catering.js +509 -500
- package/dist/contact-consultation.cjs +484 -253
- package/dist/contact-consultation.d.cts +29 -56
- package/dist/contact-consultation.d.ts +29 -56
- package/dist/contact-consultation.js +486 -253
- package/dist/contact-dark.cjs +296 -296
- package/dist/contact-dark.d.cts +1 -1
- package/dist/contact-dark.d.ts +1 -1
- package/dist/contact-dark.js +297 -296
- package/dist/contact-demo.d.cts +1 -1
- package/dist/contact-demo.d.ts +1 -1
- package/dist/contact-emergency.d.cts +1 -1
- package/dist/contact-emergency.d.ts +1 -1
- package/dist/contact-event.d.cts +1 -1
- package/dist/contact-event.d.ts +1 -1
- package/dist/contact-faq.cjs +247 -250
- package/dist/contact-faq.d.cts +1 -1
- package/dist/contact-faq.d.ts +1 -1
- package/dist/contact-faq.js +248 -250
- package/dist/contact-feedback.d.cts +1 -1
- package/dist/contact-feedback.d.ts +1 -1
- package/dist/contact-fitness.d.cts +1 -1
- package/dist/contact-fitness.d.ts +1 -1
- package/dist/contact-guest.d.cts +1 -1
- package/dist/contact-guest.d.ts +1 -1
- package/dist/contact-image.d.cts +1 -1
- package/dist/contact-image.d.ts +1 -1
- package/dist/contact-insurance.d.cts +1 -1
- package/dist/contact-insurance.d.ts +1 -1
- package/dist/contact-interview.d.cts +1 -1
- package/dist/contact-interview.d.ts +1 -1
- package/dist/contact-locations.d.cts +1 -1
- package/dist/contact-locations.d.ts +1 -1
- package/dist/contact-maintenance.d.cts +1 -1
- package/dist/contact-maintenance.d.ts +1 -1
- package/dist/contact-map.d.cts +1 -1
- package/dist/contact-map.d.ts +1 -1
- package/dist/contact-minimal.d.cts +1 -1
- package/dist/contact-minimal.d.ts +1 -1
- package/dist/contact-moving.d.cts +1 -1
- package/dist/contact-moving.d.ts +1 -1
- package/dist/contact-multistep.d.cts +1 -1
- package/dist/contact-multistep.d.ts +1 -1
- package/dist/contact-partnership.d.cts +1 -1
- package/dist/contact-partnership.d.ts +1 -1
- package/dist/contact-photography.cjs +247 -250
- package/dist/contact-photography.d.cts +1 -1
- package/dist/contact-photography.d.ts +1 -1
- package/dist/contact-photography.js +248 -250
- package/dist/contact-press.d.cts +1 -1
- package/dist/contact-press.d.ts +1 -1
- package/dist/contact-quote.d.cts +1 -1
- package/dist/contact-quote.d.ts +1 -1
- package/dist/contact-referral.d.cts +1 -1
- package/dist/contact-referral.d.ts +1 -1
- package/dist/contact-report.d.cts +1 -1
- package/dist/contact-report.d.ts +1 -1
- package/dist/contact-reservation.d.cts +1 -1
- package/dist/contact-reservation.d.ts +1 -1
- package/dist/contact-retreat.d.cts +1 -1
- package/dist/contact-retreat.d.ts +1 -1
- package/dist/contact-rsvp.d.cts +1 -1
- package/dist/contact-rsvp.d.ts +1 -1
- package/dist/contact-sales.d.cts +1 -1
- package/dist/contact-sales.d.ts +1 -1
- package/dist/contact-schedule.d.cts +1 -1
- package/dist/contact-schedule.d.ts +1 -1
- package/dist/contact-sponsorship.d.cts +1 -1
- package/dist/contact-sponsorship.d.ts +1 -1
- package/dist/contact-support.d.cts +1 -1
- package/dist/contact-support.d.ts +1 -1
- package/dist/contact-tenant.d.cts +1 -1
- package/dist/contact-tenant.d.ts +1 -1
- package/dist/contact-vendor.d.cts +1 -1
- package/dist/contact-vendor.d.ts +1 -1
- package/dist/contact-volunteer.d.cts +1 -1
- package/dist/contact-volunteer.d.ts +1 -1
- package/dist/contact-warranty.d.cts +1 -1
- package/dist/contact-warranty.d.ts +1 -1
- package/dist/contact-wedding.d.cts +1 -1
- package/dist/contact-wedding.d.ts +1 -1
- package/dist/cta-app-download-newsletter.d.cts +1 -1
- package/dist/cta-app-download-newsletter.d.ts +1 -1
- package/dist/cta-newsletter-features.d.cts +1 -1
- package/dist/cta-newsletter-features.d.ts +1 -1
- package/dist/footer-accordion-social.d.cts +1 -1
- package/dist/footer-accordion-social.d.ts +1 -1
- package/dist/footer-newsletter-contact.d.cts +1 -1
- package/dist/footer-newsletter-contact.d.ts +1 -1
- package/dist/footer-newsletter-minimal.d.cts +1 -1
- package/dist/footer-newsletter-minimal.d.ts +1 -1
- package/dist/footer-split-image-accordion.d.cts +1 -1
- package/dist/footer-split-image-accordion.d.ts +1 -1
- package/dist/{forms-nGgHUTBw.d.cts → forms-CStlFhnh.d.cts} +41 -0
- package/dist/{forms-nGgHUTBw.d.ts → forms-CStlFhnh.d.ts} +41 -0
- package/dist/hero-conversation-intelligence.cjs +1 -2
- package/dist/hero-conversation-intelligence.d.cts +1 -5
- package/dist/hero-conversation-intelligence.d.ts +1 -5
- package/dist/hero-conversation-intelligence.js +1 -2
- package/dist/hero-conversion-video-play.cjs +2 -2
- package/dist/hero-conversion-video-play.js +2 -2
- package/dist/hero-design-system-3d.cjs +162 -82
- package/dist/hero-design-system-3d.js +162 -82
- package/dist/hero-ecommerce-product-showcase.cjs +103 -81
- package/dist/hero-ecommerce-product-showcase.d.cts +5 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +5 -1
- package/dist/hero-ecommerce-product-showcase.js +103 -81
- package/dist/hero-floating-images.cjs +1 -1
- package/dist/hero-floating-images.js +1 -1
- package/dist/hero-hiring-animated-text.cjs +4 -4
- package/dist/hero-hiring-animated-text.js +4 -4
- package/dist/hero-minimal-centered-dark.cjs +111 -82
- package/dist/hero-minimal-centered-dark.d.cts +1 -1
- package/dist/hero-minimal-centered-dark.d.ts +1 -1
- package/dist/hero-minimal-centered-dark.js +111 -82
- package/dist/hero-mobile-app-download.cjs +1 -1
- package/dist/hero-mobile-app-download.js +1 -1
- package/dist/hero-overlay-cta-grid.cjs +1 -1
- package/dist/hero-overlay-cta-grid.js +1 -1
- package/dist/hero-spiral-pattern-cards.cjs +1 -1
- package/dist/hero-spiral-pattern-cards.js +1 -1
- package/dist/hero-startup-launch-cta.cjs +1 -1
- package/dist/hero-startup-launch-cta.js +1 -1
- package/dist/hero-stats-social-proof.cjs +106 -90
- package/dist/hero-stats-social-proof.js +106 -90
- package/dist/hero-testimonial-image-grid.cjs +1 -1
- package/dist/hero-testimonial-image-grid.js +1 -1
- package/dist/hero-therapy-testimonial-grid.cjs +1 -1
- package/dist/hero-therapy-testimonial-grid.js +1 -1
- package/dist/hero-ui-library-showcase.cjs +63 -15
- package/dist/hero-ui-library-showcase.d.cts +5 -1
- package/dist/hero-ui-library-showcase.d.ts +5 -1
- package/dist/hero-ui-library-showcase.js +63 -15
- package/dist/index.cjs +44 -6
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +44 -6
- package/dist/link-page-newsletter-social.d.cts +1 -1
- package/dist/link-page-newsletter-social.d.ts +1 -1
- package/dist/offer-modal-membership-image.d.cts +1 -1
- package/dist/offer-modal-membership-image.d.ts +1 -1
- package/dist/offer-modal-newsletter-discount.d.cts +1 -1
- package/dist/offer-modal-newsletter-discount.d.ts +1 -1
- package/dist/offer-modal-sheet-newsletter.d.cts +1 -1
- package/dist/offer-modal-sheet-newsletter.d.ts +1 -1
- package/dist/registry.cjs +14465 -14767
- package/dist/registry.js +12664 -12966
- package/dist/resource-list-hero-filter.d.cts +1 -1
- package/dist/resource-list-hero-filter.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { F as FormFieldConfig } from './form-field-types-flMXhIjG.cjs';
|
|
3
|
+
import { P as PageSpeedFormConfig } from './forms-CStlFhnh.cjs';
|
|
3
4
|
import { f as SectionBackground, g as SectionSpacing, s as PatternName } from './community-initiatives-k1_FqqBQ.cjs';
|
|
4
5
|
import { A as ActionConfig } from './blocks-rgCERYOC.cjs';
|
|
5
6
|
import '@page-speed/forms/integration';
|
|
@@ -8,17 +9,6 @@ import 'class-variance-authority';
|
|
|
8
9
|
import './button-variants-lRElsmTc.cjs';
|
|
9
10
|
import 'class-variance-authority/types';
|
|
10
11
|
|
|
11
|
-
interface ConsultationFormValues {
|
|
12
|
-
service: string;
|
|
13
|
-
duration: string;
|
|
14
|
-
budget: string;
|
|
15
|
-
firstName: string;
|
|
16
|
-
lastName: string;
|
|
17
|
-
email: string;
|
|
18
|
-
phone: string;
|
|
19
|
-
company: string;
|
|
20
|
-
details: string;
|
|
21
|
-
}
|
|
22
12
|
interface ContactConsultationProps {
|
|
23
13
|
/**
|
|
24
14
|
* Main heading content
|
|
@@ -44,12 +34,23 @@ interface ContactConsultationProps {
|
|
|
44
34
|
* Custom slot for rendering actions (overrides actions array and default submit)
|
|
45
35
|
*/
|
|
46
36
|
actionsSlot?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Array of form field configurations
|
|
39
|
+
* If not provided, defaults to: service, duration, budget, firstName, lastName, email, phone, company, details
|
|
40
|
+
*/
|
|
41
|
+
formFields?: FormFieldConfig[];
|
|
42
|
+
/**
|
|
43
|
+
* Success message to display after form submission
|
|
44
|
+
* @default "Thank you for your consultation request! We'll be in touch within 24 hours to schedule your session."
|
|
45
|
+
*/
|
|
46
|
+
successMessage?: React.ReactNode;
|
|
47
47
|
/**
|
|
48
48
|
* Additional CSS classes for the section
|
|
49
49
|
*/
|
|
50
50
|
className?: string;
|
|
51
51
|
/**
|
|
52
52
|
* Additional CSS classes for the container
|
|
53
|
+
* @default "px-6 sm:px-6 md:px-8 lg:px-8"
|
|
53
54
|
*/
|
|
54
55
|
containerClassName?: string;
|
|
55
56
|
/**
|
|
@@ -76,15 +77,25 @@ interface ContactConsultationProps {
|
|
|
76
77
|
* Additional CSS classes for the form
|
|
77
78
|
*/
|
|
78
79
|
formClassName?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Additional CSS classes for success message
|
|
82
|
+
*/
|
|
83
|
+
successMessageClassName?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Additional CSS classes for error message
|
|
86
|
+
*/
|
|
87
|
+
errorMessageClassName?: string;
|
|
79
88
|
/**
|
|
80
89
|
* Additional CSS classes for the submit button
|
|
81
90
|
*/
|
|
82
|
-
submitClassName?: string;
|
|
91
|
+
submitClassName?: string;
|
|
92
|
+
/**
|
|
83
93
|
* Background style for the section
|
|
84
94
|
*/
|
|
85
95
|
background?: SectionBackground;
|
|
86
96
|
/**
|
|
87
97
|
* Vertical spacing for the section
|
|
98
|
+
* @default "py-8 md:py-32"
|
|
88
99
|
*/
|
|
89
100
|
spacing?: SectionSpacing;
|
|
90
101
|
/**
|
|
@@ -96,57 +107,19 @@ interface ContactConsultationProps {
|
|
|
96
107
|
*/
|
|
97
108
|
patternOpacity?: number;
|
|
98
109
|
/**
|
|
99
|
-
* Optional form submission configuration.
|
|
100
|
-
*
|
|
101
|
-
* **Universal Usage**: Works with ANY REST API endpoint. Simply provide an `endpoint` URL
|
|
102
|
-
* and the form will submit to it in JSON format.
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* // Works with any API
|
|
106
|
-
* formConfig={{ endpoint: "https://api.mysite.com/consultation", format: "json" }}
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* // With custom headers (e.g., authentication)
|
|
110
|
-
* formConfig={{
|
|
111
|
-
* endpoint: "/api/consultation",
|
|
112
|
-
* headers: { "Authorization": "Bearer token123" }
|
|
113
|
-
* }}
|
|
114
|
-
*
|
|
115
|
-
* **Note**: The `apiKey`, `contactCategoryToken`, and other platform-specific fields
|
|
116
|
-
* are OPTIONAL and only needed when integrating with DashTrack's Rails backend.
|
|
117
|
-
* For generic REST APIs, just use `endpoint`, `method`, `format`, and `headers`.
|
|
118
|
-
*
|
|
119
|
-
* See `FORMS_INTEGRATION_GUIDE.md` for complete examples with Next.js, React, and more.
|
|
110
|
+
* Optional form submission configuration. See FORMS_INTEGRATION_GUIDE.md for complete examples.
|
|
120
111
|
*/
|
|
121
112
|
formConfig?: PageSpeedFormConfig;
|
|
122
113
|
/**
|
|
123
|
-
* Optional custom submission handler
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
* such as custom API calls, analytics tracking, or multi-step workflows.
|
|
127
|
-
*
|
|
128
|
-
* Can be used alone or in combination with `formConfig` for hybrid approaches.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* onSubmit={async (values) => {
|
|
132
|
-
* await fetch("/api/consultation", {
|
|
133
|
-
* method: "POST",
|
|
134
|
-
* body: JSON.stringify(values)
|
|
135
|
-
* });
|
|
136
|
-
* }}
|
|
137
|
-
*/
|
|
138
|
-
onSubmit?: (values: ConsultationFormValues) => void | Promise<void>;
|
|
114
|
+
* Optional custom submission handler.
|
|
115
|
+
*/
|
|
116
|
+
onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;
|
|
139
117
|
/**
|
|
140
118
|
* Optional success callback invoked after successful submission.
|
|
141
|
-
*
|
|
142
|
-
* Called after `formConfig` submission and/or `onSubmit` completes successfully.
|
|
143
|
-
* Use for showing success messages, redirecting, analytics tracking, etc.
|
|
144
119
|
*/
|
|
145
120
|
onSuccess?: (data: unknown) => void;
|
|
146
121
|
/**
|
|
147
122
|
* Optional error callback invoked if submission fails.
|
|
148
|
-
*
|
|
149
|
-
* Receives the error object for custom error handling, logging, or user notifications.
|
|
150
123
|
*/
|
|
151
124
|
onError?: (error: Error) => void;
|
|
152
125
|
}
|
|
@@ -165,6 +138,6 @@ interface ContactConsultationProps {
|
|
|
165
138
|
* />
|
|
166
139
|
* ```
|
|
167
140
|
*/
|
|
168
|
-
declare function ContactConsultation({ heading, description, buttonText, buttonIcon, actions, actionsSlot, className, headerClassName, headingClassName, descriptionClassName, cardClassName, cardContentClassName, formClassName, submitClassName, spacing, containerClassName, background, pattern, patternOpacity, formConfig, onSubmit, onSuccess, onError, }: ContactConsultationProps): React.JSX.Element;
|
|
141
|
+
declare function ContactConsultation({ heading, description, buttonText, buttonIcon, actions, actionsSlot, formFields, successMessage, className, headerClassName, headingClassName, descriptionClassName, cardClassName, cardContentClassName, formClassName, successMessageClassName, errorMessageClassName, submitClassName, spacing, containerClassName, background, pattern, patternOpacity, formConfig, onSubmit, onSuccess, onError, }: ContactConsultationProps): React.JSX.Element;
|
|
169
142
|
|
|
170
143
|
export { ContactConsultation, type ContactConsultationProps };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { F as FormFieldConfig } from './form-field-types-flMXhIjG.js';
|
|
3
|
+
import { P as PageSpeedFormConfig } from './forms-CStlFhnh.js';
|
|
3
4
|
import { f as SectionBackground, g as SectionSpacing, s as PatternName } from './community-initiatives-AwBlQu1a.js';
|
|
4
5
|
import { A as ActionConfig } from './blocks-ClXAGlHQ.js';
|
|
5
6
|
import '@page-speed/forms/integration';
|
|
@@ -8,17 +9,6 @@ import 'class-variance-authority';
|
|
|
8
9
|
import './button-variants-lRElsmTc.js';
|
|
9
10
|
import 'class-variance-authority/types';
|
|
10
11
|
|
|
11
|
-
interface ConsultationFormValues {
|
|
12
|
-
service: string;
|
|
13
|
-
duration: string;
|
|
14
|
-
budget: string;
|
|
15
|
-
firstName: string;
|
|
16
|
-
lastName: string;
|
|
17
|
-
email: string;
|
|
18
|
-
phone: string;
|
|
19
|
-
company: string;
|
|
20
|
-
details: string;
|
|
21
|
-
}
|
|
22
12
|
interface ContactConsultationProps {
|
|
23
13
|
/**
|
|
24
14
|
* Main heading content
|
|
@@ -44,12 +34,23 @@ interface ContactConsultationProps {
|
|
|
44
34
|
* Custom slot for rendering actions (overrides actions array and default submit)
|
|
45
35
|
*/
|
|
46
36
|
actionsSlot?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Array of form field configurations
|
|
39
|
+
* If not provided, defaults to: service, duration, budget, firstName, lastName, email, phone, company, details
|
|
40
|
+
*/
|
|
41
|
+
formFields?: FormFieldConfig[];
|
|
42
|
+
/**
|
|
43
|
+
* Success message to display after form submission
|
|
44
|
+
* @default "Thank you for your consultation request! We'll be in touch within 24 hours to schedule your session."
|
|
45
|
+
*/
|
|
46
|
+
successMessage?: React.ReactNode;
|
|
47
47
|
/**
|
|
48
48
|
* Additional CSS classes for the section
|
|
49
49
|
*/
|
|
50
50
|
className?: string;
|
|
51
51
|
/**
|
|
52
52
|
* Additional CSS classes for the container
|
|
53
|
+
* @default "px-6 sm:px-6 md:px-8 lg:px-8"
|
|
53
54
|
*/
|
|
54
55
|
containerClassName?: string;
|
|
55
56
|
/**
|
|
@@ -76,15 +77,25 @@ interface ContactConsultationProps {
|
|
|
76
77
|
* Additional CSS classes for the form
|
|
77
78
|
*/
|
|
78
79
|
formClassName?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Additional CSS classes for success message
|
|
82
|
+
*/
|
|
83
|
+
successMessageClassName?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Additional CSS classes for error message
|
|
86
|
+
*/
|
|
87
|
+
errorMessageClassName?: string;
|
|
79
88
|
/**
|
|
80
89
|
* Additional CSS classes for the submit button
|
|
81
90
|
*/
|
|
82
|
-
submitClassName?: string;
|
|
91
|
+
submitClassName?: string;
|
|
92
|
+
/**
|
|
83
93
|
* Background style for the section
|
|
84
94
|
*/
|
|
85
95
|
background?: SectionBackground;
|
|
86
96
|
/**
|
|
87
97
|
* Vertical spacing for the section
|
|
98
|
+
* @default "py-8 md:py-32"
|
|
88
99
|
*/
|
|
89
100
|
spacing?: SectionSpacing;
|
|
90
101
|
/**
|
|
@@ -96,57 +107,19 @@ interface ContactConsultationProps {
|
|
|
96
107
|
*/
|
|
97
108
|
patternOpacity?: number;
|
|
98
109
|
/**
|
|
99
|
-
* Optional form submission configuration.
|
|
100
|
-
*
|
|
101
|
-
* **Universal Usage**: Works with ANY REST API endpoint. Simply provide an `endpoint` URL
|
|
102
|
-
* and the form will submit to it in JSON format.
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* // Works with any API
|
|
106
|
-
* formConfig={{ endpoint: "https://api.mysite.com/consultation", format: "json" }}
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* // With custom headers (e.g., authentication)
|
|
110
|
-
* formConfig={{
|
|
111
|
-
* endpoint: "/api/consultation",
|
|
112
|
-
* headers: { "Authorization": "Bearer token123" }
|
|
113
|
-
* }}
|
|
114
|
-
*
|
|
115
|
-
* **Note**: The `apiKey`, `contactCategoryToken`, and other platform-specific fields
|
|
116
|
-
* are OPTIONAL and only needed when integrating with DashTrack's Rails backend.
|
|
117
|
-
* For generic REST APIs, just use `endpoint`, `method`, `format`, and `headers`.
|
|
118
|
-
*
|
|
119
|
-
* See `FORMS_INTEGRATION_GUIDE.md` for complete examples with Next.js, React, and more.
|
|
110
|
+
* Optional form submission configuration. See FORMS_INTEGRATION_GUIDE.md for complete examples.
|
|
120
111
|
*/
|
|
121
112
|
formConfig?: PageSpeedFormConfig;
|
|
122
113
|
/**
|
|
123
|
-
* Optional custom submission handler
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
* such as custom API calls, analytics tracking, or multi-step workflows.
|
|
127
|
-
*
|
|
128
|
-
* Can be used alone or in combination with `formConfig` for hybrid approaches.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* onSubmit={async (values) => {
|
|
132
|
-
* await fetch("/api/consultation", {
|
|
133
|
-
* method: "POST",
|
|
134
|
-
* body: JSON.stringify(values)
|
|
135
|
-
* });
|
|
136
|
-
* }}
|
|
137
|
-
*/
|
|
138
|
-
onSubmit?: (values: ConsultationFormValues) => void | Promise<void>;
|
|
114
|
+
* Optional custom submission handler.
|
|
115
|
+
*/
|
|
116
|
+
onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;
|
|
139
117
|
/**
|
|
140
118
|
* Optional success callback invoked after successful submission.
|
|
141
|
-
*
|
|
142
|
-
* Called after `formConfig` submission and/or `onSubmit` completes successfully.
|
|
143
|
-
* Use for showing success messages, redirecting, analytics tracking, etc.
|
|
144
119
|
*/
|
|
145
120
|
onSuccess?: (data: unknown) => void;
|
|
146
121
|
/**
|
|
147
122
|
* Optional error callback invoked if submission fails.
|
|
148
|
-
*
|
|
149
|
-
* Receives the error object for custom error handling, logging, or user notifications.
|
|
150
123
|
*/
|
|
151
124
|
onError?: (error: Error) => void;
|
|
152
125
|
}
|
|
@@ -165,6 +138,6 @@ interface ContactConsultationProps {
|
|
|
165
138
|
* />
|
|
166
139
|
* ```
|
|
167
140
|
*/
|
|
168
|
-
declare function ContactConsultation({ heading, description, buttonText, buttonIcon, actions, actionsSlot, className, headerClassName, headingClassName, descriptionClassName, cardClassName, cardContentClassName, formClassName, submitClassName, spacing, containerClassName, background, pattern, patternOpacity, formConfig, onSubmit, onSuccess, onError, }: ContactConsultationProps): React.JSX.Element;
|
|
141
|
+
declare function ContactConsultation({ heading, description, buttonText, buttonIcon, actions, actionsSlot, formFields, successMessage, className, headerClassName, headingClassName, descriptionClassName, cardClassName, cardContentClassName, formClassName, successMessageClassName, errorMessageClassName, submitClassName, spacing, containerClassName, background, pattern, patternOpacity, formConfig, onSubmit, onSuccess, onError, }: ContactConsultationProps): React.JSX.Element;
|
|
169
142
|
|
|
170
143
|
export { ContactConsultation, type ContactConsultationProps };
|