keystone-design-bootstrap 1.0.41 → 1.0.43

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.
@@ -0,0 +1,50 @@
1
+ import { a as PhotoAttachment } from './form-CWXC-IHT.js';
2
+
3
+ interface BlogPost {
4
+ id: number;
5
+ title: string;
6
+ slug: string;
7
+ status: string;
8
+ published_at?: string;
9
+ excerpt_markdown?: string;
10
+ content_markdown: string;
11
+ featured: boolean;
12
+ seo_title?: string;
13
+ seo_description?: string;
14
+ seo_keywords?: string;
15
+ created_at: string;
16
+ updated_at: string;
17
+ photo_attachments?: PhotoAttachment[];
18
+ blog_post_authors?: BlogPostAuthor[];
19
+ blog_post_tags?: BlogPostTag[];
20
+ }
21
+ interface BlogPostParams {
22
+ status?: string;
23
+ author_id?: number;
24
+ tag_id?: number;
25
+ q?: string;
26
+ page?: number;
27
+ per_page?: number;
28
+ featured?: boolean;
29
+ }
30
+ type BlogPostResponse = BlogPost[];
31
+ interface BlogPostAuthor {
32
+ id: number;
33
+ name: string;
34
+ slug: string;
35
+ bio_markdown?: string;
36
+ active: boolean;
37
+ created_at: string;
38
+ updated_at: string;
39
+ photo_attachments?: PhotoAttachment[];
40
+ }
41
+ interface BlogPostTag {
42
+ id: number;
43
+ name: string;
44
+ slug: string;
45
+ description?: string;
46
+ created_at: string;
47
+ updated_at: string;
48
+ }
49
+
50
+ export type { BlogPost as B, BlogPostAuthor as a, BlogPostTag as b, BlogPostParams as c, BlogPostResponse as d };
@@ -0,0 +1,46 @@
1
+ import { P as Photo, a as PhotoAttachment } from './form-CWXC-IHT.js';
2
+
3
+ interface CompanyInformation {
4
+ id: number;
5
+ company_name: string;
6
+ tagline: string;
7
+ mission_statement_markdown?: string;
8
+ about_text_markdown?: string;
9
+ description_markdown?: string;
10
+ values_markdown?: string;
11
+ stats_markdown?: string;
12
+ founded_year?: number;
13
+ logo_photo?: Photo;
14
+ favicon_url?: string;
15
+ facebook_url?: string;
16
+ instagram_url?: string;
17
+ tiktok_url?: string;
18
+ linkedin_url?: string;
19
+ twitter_url?: string;
20
+ youtube_url?: string;
21
+ pinterest_url?: string;
22
+ google_my_business_url?: string;
23
+ yelp_url?: string;
24
+ tripadvisor_url?: string;
25
+ google_reviews_url?: string;
26
+ primary_phone?: string;
27
+ primary_email?: string;
28
+ primary_address_line_1?: string;
29
+ primary_address_line_2?: string;
30
+ primary_city?: string;
31
+ primary_state?: string;
32
+ primary_zip_code?: string;
33
+ primary_country?: string;
34
+ support_email?: string;
35
+ sales_email?: string;
36
+ business_hours?: string;
37
+ external_management_url?: string;
38
+ created_at: string;
39
+ updated_at: string;
40
+ photo_attachments?: PhotoAttachment[];
41
+ account_status?: string;
42
+ chat_enabled?: boolean;
43
+ }
44
+ type CompanyInformationResponse = CompanyInformation | null;
45
+
46
+ export type { CompanyInformation as C, CompanyInformationResponse as a };
@@ -0,0 +1,13 @@
1
+ import * as React$1 from 'react';
2
+ import { Theme } from '../themes/index.js';
3
+
4
+ interface ThemeContextValue {
5
+ theme: Theme;
6
+ }
7
+ declare function ThemeProvider({ theme, children }: {
8
+ theme: Theme;
9
+ children: React.ReactNode;
10
+ }): React$1.JSX.Element;
11
+ declare function useTheme(): ThemeContextValue;
12
+
13
+ export { ThemeProvider, useTheme };
@@ -0,0 +1,348 @@
1
+ import * as React from 'react';
2
+ import React__default, { ReactNode, Ref, ComponentType, HTMLAttributes, CSSProperties, FC, SVGProps, ComponentPropsWithRef, RefAttributes } from 'react';
3
+ import { TextFieldProps as TextFieldProps$1, ComboBoxProps as ComboBoxProps$1, ListBoxProps } from 'react-aria-components';
4
+ import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
5
+
6
+ interface InputBaseProps extends TextFieldProps {
7
+ /** Tooltip message on hover. */
8
+ tooltip?: string;
9
+ /**
10
+ * Input size.
11
+ * @default "sm"
12
+ */
13
+ size?: "sm" | "md";
14
+ /** Placeholder text. */
15
+ placeholder?: string;
16
+ /** Class name for the icon. */
17
+ iconClassName?: string;
18
+ /** Class name for the input. */
19
+ inputClassName?: string;
20
+ /** Class name for the input wrapper. */
21
+ wrapperClassName?: string;
22
+ /** Class name for the tooltip. */
23
+ tooltipClassName?: string;
24
+ /** Keyboard shortcut to display. */
25
+ shortcut?: string | boolean;
26
+ ref?: Ref<HTMLInputElement>;
27
+ groupRef?: Ref<HTMLDivElement>;
28
+ /** Icon component to display on the left side of the input. */
29
+ icon?: ComponentType<HTMLAttributes<HTMLOrSVGElement>>;
30
+ }
31
+ interface BaseProps {
32
+ /** Label text for the input */
33
+ label?: string;
34
+ /** Helper text displayed below the input */
35
+ hint?: ReactNode;
36
+ }
37
+ interface TextFieldProps extends BaseProps, TextFieldProps$1, Pick<InputBaseProps, "size" | "wrapperClassName" | "inputClassName" | "iconClassName" | "tooltipClassName"> {
38
+ ref?: Ref<HTMLDivElement>;
39
+ }
40
+
41
+ /**
42
+ * A2P 10DLC-compliant privacy + SMS consent checkbox. Use on any form that collects phone numbers.
43
+ * Same copy and markup used across contact and job application forms.
44
+ */
45
+ declare function PrivacyCheckbox$1(): React.JSX.Element;
46
+
47
+ type PaginationPage = {
48
+ /** The type of the pagination item. */
49
+ type: "page";
50
+ /** The value of the pagination item. */
51
+ value: number;
52
+ /** Whether the pagination item is the current page. */
53
+ isCurrent: boolean;
54
+ };
55
+ type PaginationEllipsisType = {
56
+ type: "ellipsis";
57
+ key: number;
58
+ };
59
+ type PaginationItemType = PaginationPage | PaginationEllipsisType;
60
+ interface PaginationContextType {
61
+ /** The pages of the pagination. */
62
+ pages: PaginationItemType[];
63
+ /** The current page of the pagination. */
64
+ currentPage: number;
65
+ /** The total number of pages. */
66
+ total: number;
67
+ /** The function to call when the page changes. */
68
+ onPageChange: (page: number) => void;
69
+ }
70
+ interface PaginationRootProps {
71
+ /** Number of sibling pages to show on each side of the current page */
72
+ siblingCount?: number;
73
+ /** Current active page number */
74
+ page: number;
75
+ /** Total number of pages */
76
+ total: number;
77
+ children: ReactNode;
78
+ /** The style of the pagination root. */
79
+ style?: CSSProperties;
80
+ /** The class name of the pagination root. */
81
+ className?: string;
82
+ /** Callback function that's called when the page changes with the new page number. */
83
+ onPageChange?: (page: number) => void;
84
+ }
85
+ interface TriggerRenderProps$1 {
86
+ isDisabled: boolean;
87
+ onClick: () => void;
88
+ }
89
+ interface TriggerProps$1 {
90
+ /** The children of the trigger. Can be a render prop or a valid element. */
91
+ children: ReactNode | ((props: TriggerRenderProps$1) => ReactNode);
92
+ /** The style of the trigger. */
93
+ style?: CSSProperties;
94
+ /** The class name of the trigger. */
95
+ className?: string | ((args: {
96
+ isDisabled: boolean;
97
+ }) => string);
98
+ /** If true, the child element will be cloned and passed down the prop of the trigger. */
99
+ asChild?: boolean;
100
+ /** The direction of the trigger. */
101
+ direction: "prev" | "next";
102
+ /** The aria label of the trigger. */
103
+ ariaLabel?: string;
104
+ }
105
+ interface PaginationItemRenderProps {
106
+ isSelected: boolean;
107
+ onClick: () => void;
108
+ value: number;
109
+ "aria-current"?: "page";
110
+ "aria-label"?: string;
111
+ }
112
+ interface PaginationItemProps {
113
+ /** The value of the pagination item. */
114
+ value: number;
115
+ /** Whether the pagination item is the current page. */
116
+ isCurrent: boolean;
117
+ /** The children of the pagination item. Can be a render prop or a valid element. */
118
+ children?: ReactNode | ((props: PaginationItemRenderProps) => ReactNode);
119
+ /** The style object of the pagination item. */
120
+ style?: CSSProperties;
121
+ /** The class name of the pagination item. */
122
+ className?: string | ((args: {
123
+ isSelected: boolean;
124
+ }) => string);
125
+ /** The aria label of the pagination item. */
126
+ ariaLabel?: string;
127
+ /** If true, the child element will be cloned and passed down the prop of the item. */
128
+ asChild?: boolean;
129
+ }
130
+ interface PaginationEllipsisProps {
131
+ key: number;
132
+ children?: ReactNode;
133
+ style?: CSSProperties;
134
+ className?: string | (() => string);
135
+ }
136
+ interface PaginationContextComponentProps {
137
+ children: (pagination: PaginationContextType) => ReactNode;
138
+ }
139
+ declare const Pagination: {
140
+ Root: ({ total, siblingCount, page, onPageChange, children, style, className }: PaginationRootProps) => React__default.JSX.Element;
141
+ PrevTrigger: FC<Omit<TriggerProps$1, "direction">>;
142
+ NextTrigger: FC<Omit<TriggerProps$1, "direction">>;
143
+ Item: ({ value, isCurrent, children, style, className, ariaLabel, asChild }: PaginationItemProps) => React__default.JSX.Element;
144
+ Ellipsis: FC<PaginationEllipsisProps>;
145
+ Context: FC<PaginationContextComponentProps>;
146
+ };
147
+
148
+ declare const getStarProgress: (starPosition: number, rating: number, maxRating?: number) => number;
149
+ interface StarIconProps extends SVGProps<SVGSVGElement> {
150
+ /**
151
+ * The progress of the star icon. It should be a number between 0 and 100.
152
+ *
153
+ * @default 100
154
+ */
155
+ progress?: number;
156
+ }
157
+ declare const StarIcon: ({ progress, ...props }: StarIconProps) => React.JSX.Element;
158
+
159
+ declare const Wreath: (props: HTMLAttributes<HTMLOrSVGElement>) => React.JSX.Element;
160
+
161
+ interface SocialIconProps {
162
+ platform: string;
163
+ className?: string;
164
+ }
165
+ /** Renders the icon for a given platform (facebook, instagram, tiktok, etc.). */
166
+ declare function SocialIcon({ platform, className }: SocialIconProps): React__default.ReactNode;
167
+ /** Returns the icon element for a platform (for use in map/render). */
168
+ declare function getSocialIcon(platform: string, className?: string): React__default.ReactNode;
169
+
170
+ type CarouselApi = UseEmblaCarouselType[1];
171
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
172
+ type CarouselOptions = UseCarouselParameters[0];
173
+ type CarouselPlugin = UseCarouselParameters[1];
174
+ type CarouselProps = {
175
+ /** The options for the Embla carousel. */
176
+ opts?: CarouselOptions;
177
+ /** The plugins for the Embla carousel. */
178
+ plugins?: CarouselPlugin;
179
+ /** The orientation of the carousel. */
180
+ orientation?: "horizontal" | "vertical";
181
+ /** The function to set the API for the carousel. */
182
+ setApi?: (api: CarouselApi) => void;
183
+ };
184
+ type CarouselContextProps = CarouselProps & {
185
+ /** The ref of the carousel. */
186
+ carouselRef: ReturnType<typeof useEmblaCarousel>[0];
187
+ /** The API of the carousel. */
188
+ api: ReturnType<typeof useEmblaCarousel>[1];
189
+ /** The function to scroll the carousel to the previous slide. */
190
+ scrollPrev: () => void;
191
+ /** The function to scroll the carousel to the next slide. */
192
+ scrollNext: () => void;
193
+ /** Whether the carousel can scroll to the previous slide. */
194
+ canScrollPrev: boolean;
195
+ /** Whether the carousel can scroll to the next slide. */
196
+ canScrollNext: boolean;
197
+ /** The index of the selected slide. */
198
+ selectedIndex: number;
199
+ /** The scroll snaps of the carousel. */
200
+ scrollSnaps: number[];
201
+ };
202
+ declare const CarouselContext: React.Context<CarouselContextProps | null>;
203
+ declare const useCarousel: () => CarouselContextProps;
204
+ interface CarouselContentProps extends ComponentPropsWithRef<"div"> {
205
+ /** The class name of the content. */
206
+ className?: string;
207
+ /** Whether to hide the overflow. */
208
+ overflowHidden?: boolean;
209
+ }
210
+ interface TriggerRenderProps {
211
+ isDisabled: boolean;
212
+ onClick: () => void;
213
+ }
214
+ interface TriggerProps {
215
+ /** The ref of the trigger. */
216
+ ref?: Ref<HTMLButtonElement>;
217
+ /** If true, the child element will be cloned and passed down the prop of the trigger. */
218
+ asChild?: boolean;
219
+ /** The direction of the trigger. */
220
+ direction: "prev" | "next";
221
+ /** The children of the trigger. Can be a render prop or a valid element. */
222
+ children: ReactNode | ((props: TriggerRenderProps) => ReactNode);
223
+ /** The style of the trigger. */
224
+ style?: CSSProperties;
225
+ /** The class name of the trigger. */
226
+ className?: string | ((args: {
227
+ isDisabled: boolean;
228
+ }) => string);
229
+ }
230
+ interface CarouselIndicatorRenderProps {
231
+ isSelected: boolean;
232
+ onClick: () => void;
233
+ }
234
+ interface CarouselIndicatorProps {
235
+ /** The index of the indicator. */
236
+ index: number;
237
+ /** If true, the child element will be cloned and passed down the prop of the indicator. */
238
+ asChild?: boolean;
239
+ /** If true, the indicator will be selected. */
240
+ isSelected?: boolean;
241
+ /** The children of the indicator. Can be a render prop or a valid element. */
242
+ children?: ReactNode | ((props: CarouselIndicatorRenderProps) => ReactNode);
243
+ /** The style of the indicator. */
244
+ style?: CSSProperties;
245
+ /** The class name of the indicator. */
246
+ className?: string | ((args: {
247
+ isSelected: boolean;
248
+ }) => string);
249
+ }
250
+ interface CarouselIndicatorGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
251
+ children: ReactNode | ((props: {
252
+ index: number;
253
+ }) => ReactNode);
254
+ className?: string;
255
+ }
256
+ declare const Carousel: {
257
+ Root: ({ orientation, opts, setApi, plugins, className, children, ...props }: ComponentPropsWithRef<"div"> & CarouselProps) => React.JSX.Element;
258
+ Content: ({ className, overflowHidden, ...props }: CarouselContentProps) => React.JSX.Element;
259
+ Item: ({ className, ...props }: ComponentPropsWithRef<"div">) => React.JSX.Element;
260
+ PrevTrigger: (props: Omit<TriggerProps, "direction">) => React.JSX.Element;
261
+ NextTrigger: (props: Omit<TriggerProps, "direction">) => React.JSX.Element;
262
+ IndicatorGroup: ({ children, ...props }: CarouselIndicatorGroupProps) => React.JSX.Element;
263
+ Indicator: ({ index, isSelected, children, asChild, className, style }: CarouselIndicatorProps) => React.JSX.Element;
264
+ };
265
+
266
+ interface CarouselSectionWrapperProps {
267
+ title: string;
268
+ subtitle?: string;
269
+ hasItems: boolean;
270
+ children: React__default.ReactNode;
271
+ emptyMessage?: string;
272
+ }
273
+ declare const CarouselSectionWrapper: ({ title, subtitle, hasItems, children, emptyMessage, }: CarouselSectionWrapperProps) => React__default.JSX.Element;
274
+
275
+ type SelectItemType = {
276
+ id: string;
277
+ label?: string;
278
+ avatarUrl?: string;
279
+ isDisabled?: boolean;
280
+ supportingText?: string;
281
+ icon?: FC | ReactNode;
282
+ };
283
+ interface CommonProps {
284
+ hint?: string;
285
+ label?: string;
286
+ tooltip?: string;
287
+ size?: "sm" | "md";
288
+ placeholder?: string;
289
+ }
290
+
291
+ interface ComboBoxProps extends Omit<ComboBoxProps$1<SelectItemType>, "children" | "items">, RefAttributes<HTMLDivElement>, CommonProps {
292
+ shortcut?: boolean;
293
+ items?: SelectItemType[];
294
+ popoverClassName?: string;
295
+ shortcutClassName?: string;
296
+ children: ListBoxProps<SelectItemType>["children"];
297
+ }
298
+ declare const ComboBox: ({ placeholder, shortcut, size, children, items, shortcutClassName, ...otherProps }: ComboBoxProps) => React.JSX.Element;
299
+
300
+ interface VideoModalProps {
301
+ isOpen: boolean;
302
+ onClose: () => void;
303
+ videoUrl: string;
304
+ }
305
+ declare function VideoModal({ isOpen, onClose, videoUrl }: VideoModalProps): React.JSX.Element | null;
306
+
307
+ interface VideoPlayButtonProps {
308
+ onClick: () => void;
309
+ className?: string;
310
+ }
311
+ declare function VideoPlayButton({ onClick, className }: VideoPlayButtonProps): React.JSX.Element;
312
+
313
+ declare const Button: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
314
+ declare const RoundButton: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
315
+ declare const ButtonGroup: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
316
+ declare const Input: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
317
+ declare const InputBase: {
318
+ ({ ref, tooltip, shortcut, groupRef, size, isInvalid, isDisabled, icon: Icon, placeholder, wrapperClassName, tooltipClassName, inputClassName, iconClassName, ...inputProps }: Omit<InputBaseProps, "label" | "hint" | "isRequired">): React__default.JSX.Element;
319
+ displayName: string;
320
+ };
321
+ declare const Textarea: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
322
+ declare const PrivacyCheckbox: typeof PrivacyCheckbox$1;
323
+ declare const Form: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
324
+ declare const FormContainer: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
325
+ declare const InputGroup: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
326
+ declare const Label: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
327
+ declare const HintText: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
328
+ declare const Select: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
329
+ declare const SelectItem: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
330
+ declare const NativeSelect: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
331
+ declare const PhotoWithFallback: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
332
+ declare const Badge: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
333
+ declare const BadgeWithDot: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
334
+ declare const BadgeGroup: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
335
+ declare const RatingStars: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
336
+ declare const RatingBadge: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
337
+ declare const Tooltip: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
338
+ declare const Avatar: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
339
+ declare const AvatarLabelGroup: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
340
+ declare const VerifiedTick: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
341
+ declare const Breadcrumb: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
342
+ declare const FeaturedIcon: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
343
+ declare const PaginationPageDefault: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
344
+ declare const PaginationPageMinimalCenter: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
345
+ declare const GoogleMap: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
346
+ declare const MarkdownRenderer: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
347
+
348
+ export { Avatar, AvatarLabelGroup, Badge, BadgeGroup, BadgeWithDot, Breadcrumb, Button, ButtonGroup, Carousel, CarouselContext, CarouselSectionWrapper, ComboBox, FeaturedIcon, Form, FormContainer, GoogleMap, HintText, Input, InputBase, InputGroup, Label, MarkdownRenderer, NativeSelect, Pagination, PaginationPageDefault, PaginationPageMinimalCenter, PhotoWithFallback, PrivacyCheckbox, RatingBadge, RatingStars, RoundButton, Select, SelectItem, SocialIcon, StarIcon, Textarea, Tooltip, VerifiedTick, VideoModal, VideoPlayButton, Wreath, getSocialIcon, getStarProgress, useCarousel };
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes } from 'react';
3
+
4
+ declare const KeystoneLogo: (props: HTMLAttributes<HTMLOrSVGElement>) => React.JSX.Element;
5
+
6
+ export { KeystoneLogo };
@@ -0,0 +1,194 @@
1
+ import { S as Service, F as FormDefinition } from '../../form-CWXC-IHT.js';
2
+ import * as React from 'react';
3
+ import React__default, { ComponentProps, ReactNode, FC } from 'react';
4
+ export { Theme } from '../../themes/index.js';
5
+ import { B as BlogPost, a as BlogPostAuthor, b as BlogPostTag } from '../../blog-post-CvRhU9ss.js';
6
+ import { BadgeGroup } from '../elements/index.js';
7
+ import 'react-aria-components';
8
+ import 'embla-carousel-react';
9
+
10
+ interface PolicyDocumentSectionProps {
11
+ /** Page title (e.g. "Terms of Service" or "Privacy Policy") */
12
+ title: string;
13
+ /** Optional effective date string (e.g. "January 1, 2025") */
14
+ effectiveDate?: string;
15
+ /** Full markdown content for the policy (supports placeholders replaced before passing in) */
16
+ content: string;
17
+ /** Optional additional class name for the container */
18
+ className?: string;
19
+ }
20
+
21
+ interface ServiceDetailContentProps {
22
+ service?: Service | null;
23
+ /** Label above the title (e.g. "Why Balance Aesthetics") */
24
+ sectionLabel?: string;
25
+ /** CTA button text */
26
+ ctaText?: string;
27
+ /** CTA button href */
28
+ ctaHref?: string;
29
+ /** Fallback summary when service.summary is empty */
30
+ defaultSummary?: string;
31
+ }
32
+
33
+ declare const getBlogPostData: (article: BlogPost) => {
34
+ author: BlogPostAuthor | null;
35
+ authorName: string;
36
+ authorHref: string;
37
+ authorAvatarUrl: string | null;
38
+ tag: BlogPostTag | null;
39
+ tagName: string;
40
+ tagHref: string;
41
+ href: string;
42
+ title: string;
43
+ publishedAt: string;
44
+ summary: string;
45
+ };
46
+ declare const BlogCardVertical: ({ article, imageClassName }: {
47
+ article: BlogPost;
48
+ imageClassName?: string;
49
+ }) => React.JSX.Element;
50
+ declare const BlogCardVerticalBadge: ({ article, badgeTheme, imageClassName, }: {
51
+ article: BlogPost;
52
+ badgeTheme?: ComponentProps<typeof BadgeGroup>["theme"];
53
+ imageClassName?: string;
54
+ }) => React.JSX.Element;
55
+ declare const BlogCardVerticalCompact: ({ article, imageClassName, titleClassName, className, }: {
56
+ article: BlogPost;
57
+ imageClassName?: string;
58
+ titleClassName?: string;
59
+ className?: string;
60
+ }) => React.JSX.Element;
61
+ declare const BlogCardVerticalMinimal: ({ article, imageClassName, className }: {
62
+ article: BlogPost;
63
+ imageClassName?: string;
64
+ className?: string;
65
+ }) => React.JSX.Element;
66
+ declare const BlogCardHorizontal: ({ article, imageClassName }: {
67
+ article: BlogPost;
68
+ imageClassName?: string;
69
+ }) => React.JSX.Element;
70
+ declare const BlogCardHorizontalBadge: ({ article }: {
71
+ article: BlogPost;
72
+ }) => React.JSX.Element;
73
+ declare const BlogCardHorizontalCompact: ({ article, imageClassName }: {
74
+ article: BlogPost;
75
+ imageClassName?: string;
76
+ }) => React.JSX.Element;
77
+ declare const BlogCardHorizontalMinimal: ({ article }: {
78
+ article: BlogPost;
79
+ }) => React.JSX.Element;
80
+ declare const BlogCardFullWidthVertical: ({ article }: {
81
+ article: BlogPost;
82
+ }) => React.JSX.Element;
83
+ declare const BlogCardFullWidthVerticalAlt: ({ article }: {
84
+ article: BlogPost;
85
+ }) => React.JSX.Element;
86
+ declare const BlogCardFullWidthVerticalCompact: ({ article }: {
87
+ article: BlogPost;
88
+ }) => React.JSX.Element;
89
+ declare const BlogCardFullWidthVerticalMinimal: ({ article }: {
90
+ article: BlogPost;
91
+ }) => React.JSX.Element;
92
+ declare const BlogCardFullWidthHorizontal: ({ article }: {
93
+ article: BlogPost;
94
+ }) => React.JSX.Element;
95
+ declare const BlogCardFullWidthHorizontalAlt: ({ article }: {
96
+ article: BlogPost;
97
+ }) => React.JSX.Element;
98
+ declare const BlogCardFullWidthHorizontalCompact: ({ article }: {
99
+ article: BlogPost;
100
+ }) => React.JSX.Element;
101
+ declare const BlogCardFullWidthHorizontalMinimal: ({ article }: {
102
+ article: BlogPost;
103
+ }) => React.JSX.Element;
104
+
105
+ interface FeatureTabProps {
106
+ title: string;
107
+ subtitle: string;
108
+ footer?: ReactNode;
109
+ isCurrent?: boolean;
110
+ }
111
+ declare const FeatureTabVertical: ({ title, subtitle, footer, isCurrent }: FeatureTabProps) => React.JSX.Element;
112
+ declare const FeatureTabHorizontal: ({ title, subtitle, footer, isCurrent }: FeatureTabProps) => React.JSX.Element;
113
+
114
+ interface TextCentered {
115
+ title: string;
116
+ subtitle: string;
117
+ footer?: ReactNode;
118
+ }
119
+ declare const FeatureTextCentered: ({ title, subtitle, footer }: TextCentered) => React.JSX.Element;
120
+ declare const FeatureTextLeft: ({ title, subtitle, footer }: TextCentered) => React.JSX.Element;
121
+ interface FeatureTextIcon extends TextCentered {
122
+ icon: FC<{
123
+ className?: string;
124
+ }>;
125
+ }
126
+ declare const FeatureTextIconTopCentered: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
127
+ declare const FeatureTextIconTopLeft: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
128
+ declare const FeatureTextIconLeft: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
129
+ declare const FeatureTextFeaturedIconTopCentered: ({ color, theme, icon, title, subtitle, footer, }: FeatureTextIcon & {
130
+ color?: "brand" | "gray" | "success" | "warning" | "error";
131
+ theme?: "light" | "gradient" | "dark" | "outline" | "modern";
132
+ }) => React.JSX.Element;
133
+ declare const FeatureTextFeaturedIconTopLeft: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
134
+ declare const FeatureTextFeaturedIconLeft: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
135
+ declare const FeatureTextFeaturedIconBox: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
136
+ interface FeatureTextIntegrationIcon extends TextCentered {
137
+ imgUrl: string;
138
+ }
139
+ declare const FeatureTextIntegrationIconTopCentered: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
140
+ declare const FeatureTextIntegrationIconTopLeft: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
141
+ declare const FeatureTextIntegrationIconLeft: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
142
+ declare const FeatureTextIntegrationIconBox: ({ imgUrl, title, subtitle, footer }: FeatureTextIntegrationIcon) => React.JSX.Element;
143
+ declare const FeatureTextIconCard: ({ icon: Icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
144
+ declare const FeatureTextFeaturedIconCard: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
145
+ declare const FeatureTextLeftBrand: ({ title, subtitle, footer }: TextCentered) => React.JSX.Element;
146
+ declare const FeatureTextFeaturedIconTopCenteredBrand: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
147
+ declare const FeatureTextFeaturedIconTopLeftBrand: ({ icon, title, subtitle, footer }: FeatureTextIcon) => React.JSX.Element;
148
+
149
+ interface JobApplicationFormProps {
150
+ jobSlug: string;
151
+ /** Form fields are rendered from this definition (required). */
152
+ formDefinition: FormDefinition | null | undefined;
153
+ inline?: boolean;
154
+ }
155
+ declare const JobApplicationForm: ({ jobSlug, formDefinition, inline }: JobApplicationFormProps) => React__default.JSX.Element | null;
156
+
157
+ declare const HeroHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
158
+ declare const ServicesHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
159
+ declare const AboutHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
160
+ declare const TestimonialsHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
161
+ declare const TestimonialsGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
162
+ declare const FAQHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
163
+ declare const BlogSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
164
+ declare const ContactSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
165
+ declare const FooterHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
166
+ declare const HeaderNavigation: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
167
+ declare const GenericHeaderComponent: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
168
+ declare const StatisticsSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
169
+ declare const ValuesSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
170
+ declare const TeamGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
171
+ declare const LocationGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
172
+ declare const LocationDetailsSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
173
+ declare const ServicesGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
174
+ declare const SocialMediaGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
175
+ declare const JobGallery: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
176
+ declare const BlogHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
177
+ declare const BlogGallery: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
178
+ declare const BlogPostSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
179
+ declare const ContactHome: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
180
+ declare const FAQGrid: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
181
+ declare const FAQHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
182
+
183
+ declare const GenericTextHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
184
+ declare const LocationDetailHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
185
+ declare const ServiceDetailHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
186
+ declare const ServiceDetailContent: ({ service, sectionLabel, ctaText, ctaHref, defaultSummary, }: ServiceDetailContentProps) => React__default.JSX.Element | null;
187
+ declare const JobDetailHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
188
+ declare const JobDetailSection: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
189
+ declare const PolicyDocumentSection: ({ title, effectiveDate, content, className, }: PolicyDocumentSectionProps) => React__default.JSX.Element;
190
+ declare const SocialMediaHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
191
+ declare const TestimonialsHero: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
192
+ declare const HomeHeroComponent: (props: Record<string, unknown>) => React__default.ReactElement<Record<string, unknown>, string | React__default.JSXElementConstructor<any>>;
193
+
194
+ export { AboutHome, BlogCardFullWidthHorizontal, BlogCardFullWidthHorizontalAlt, BlogCardFullWidthHorizontalCompact, BlogCardFullWidthHorizontalMinimal, BlogCardFullWidthVertical, BlogCardFullWidthVerticalAlt, BlogCardFullWidthVerticalCompact, BlogCardFullWidthVerticalMinimal, BlogCardHorizontal, BlogCardHorizontalBadge, BlogCardHorizontalCompact, BlogCardHorizontalMinimal, BlogCardVertical, BlogCardVerticalBadge, BlogCardVerticalCompact, BlogCardVerticalMinimal, BlogGallery, BlogHome, BlogPostSection, BlogSection, ContactHome, ContactSection, FAQGrid, FAQHero, FAQHome, FeatureTabHorizontal, FeatureTabVertical, FeatureTextCentered, FeatureTextFeaturedIconBox, FeatureTextFeaturedIconCard, FeatureTextFeaturedIconLeft, FeatureTextFeaturedIconTopCentered, FeatureTextFeaturedIconTopCenteredBrand, FeatureTextFeaturedIconTopLeft, FeatureTextFeaturedIconTopLeftBrand, FeatureTextIconCard, FeatureTextIconLeft, FeatureTextIconTopCentered, FeatureTextIconTopLeft, FeatureTextIntegrationIconBox, FeatureTextIntegrationIconLeft, FeatureTextIntegrationIconTopCentered, FeatureTextIntegrationIconTopLeft, FeatureTextLeft, FeatureTextLeftBrand, FooterHome, GenericHeaderComponent, GenericTextHero, HeaderNavigation, HeroHome, HomeHeroComponent, JobApplicationForm, JobDetailHero, JobDetailSection, JobGallery, LocationDetailHero, LocationDetailsSection, LocationGrid, PolicyDocumentSection, ServiceDetailContent, ServiceDetailHero, ServicesGrid, ServicesHome, SocialMediaGrid, SocialMediaHero, StatisticsSection, TeamGrid, TestimonialsGrid, TestimonialsHero, TestimonialsHome, ValuesSection, getBlogPostData };