@szymonpiatek/designsystem 0.0.2 → 0.0.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/index.d.cts CHANGED
@@ -1,13 +1,16 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, MouseEventHandler } from 'react';
2
+ import { ReactNode, MouseEventHandler, AriaAttributes, InputHTMLAttributes, TextareaHTMLAttributes, HTMLAttributes, CSSProperties, FormEvent } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
4
  import { ThemeOptions, Theme } from '@mui/material/styles';
4
5
  import * as _mui_material from '@mui/material';
5
6
 
6
7
  declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
7
8
 
9
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
10
+ type ButtonSize = 'sm' | 'md' | 'lg';
8
11
  interface ButtonProps {
9
- variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
10
- size?: 'sm' | 'md' | 'lg';
12
+ variant?: ButtonVariant;
13
+ size?: ButtonSize;
11
14
  disabled?: boolean;
12
15
  loading?: boolean;
13
16
  fullWidth?: boolean;
@@ -16,6 +19,1250 @@ interface ButtonProps {
16
19
  onClick?: MouseEventHandler<HTMLButtonElement>;
17
20
  type?: 'button' | 'submit' | 'reset';
18
21
  children: ReactNode;
22
+ className?: string;
23
+ 'aria-label'?: string;
24
+ 'aria-current'?: AriaAttributes['aria-current'];
25
+ }
26
+
27
+ declare const BaseInput: react.ForwardRefExoticComponent<BaseInputProps & react.RefAttributes<HTMLInputElement>>;
28
+
29
+ type InputSize = 'sm' | 'md' | 'lg';
30
+
31
+ interface BaseInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
32
+ label?: string;
33
+ helperText?: string;
34
+ error?: boolean;
35
+ size?: InputSize;
36
+ fullWidth?: boolean;
37
+ startAdornment?: ReactNode;
38
+ endAdornment?: ReactNode;
39
+ }
40
+
41
+ declare const CheckboxInput: react.ForwardRefExoticComponent<CheckboxInputProps & react.RefAttributes<HTMLInputElement>>;
42
+
43
+ interface CheckboxInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
44
+ label?: string;
45
+ helperText?: string;
46
+ error?: boolean;
47
+ size?: InputSize;
48
+ indeterminate?: boolean;
49
+ }
50
+
51
+ declare const FileInput: react.ForwardRefExoticComponent<FileInputProps & react.RefAttributes<HTMLInputElement>>;
52
+
53
+ interface FileInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'placeholder'> {
54
+ label?: string;
55
+ helperText?: string;
56
+ error?: boolean;
57
+ size?: InputSize;
58
+ fullWidth?: boolean;
59
+ variant?: 'compact' | 'dropzone';
60
+ /** Label on the Browse button (compact). */
61
+ browseLabel?: string;
62
+ /** Text shown when no file is selected (compact). */
63
+ noFileLabel?: string;
64
+ /** Content shown in the dropzone center when empty. Replaces the default "Drop or browse" line. */
65
+ dropzoneLabel?: React.ReactNode;
66
+ /** Secondary hint text shown below the main dropzone label. */
67
+ dropzoneSublabel?: string;
68
+ /** Text shown while dragging over the dropzone. */
69
+ dropToUploadLabel?: string;
70
+ /** Label for the "N files selected" summary in the compact wrapper. */
71
+ filesSelectedLabel?: (count: number) => string;
72
+ /** Text on the Remove button (single file). */
73
+ removeLabel?: string;
74
+ /** Text on the Remove all button (multiple files). */
75
+ removeAllLabel?: string;
76
+ /** Text on the Change button. */
77
+ changeLabel?: string;
78
+ /** aria-label on the compact clear (×) button. */
79
+ clearAriaLabel?: string;
80
+ /** aria-label on the per-file remove button; receives the file name. */
81
+ removeFileAriaLabel?: (fileName: string) => string;
82
+ /** aria-label on the Remove all button. */
83
+ removeAllAriaLabel?: string;
84
+ /** aria-label on the Change button. */
85
+ changeAriaLabel?: string;
86
+ /** aria-label on the dropzone browse button when no label prop is provided. */
87
+ chooseFileAriaLabel?: string;
88
+ }
89
+
90
+ declare const EmailInput: react.ForwardRefExoticComponent<EmailInputProps & react.RefAttributes<HTMLInputElement>>;
91
+
92
+ type EmailInputProps = Omit<BaseInputProps, 'type'>;
93
+
94
+ declare const BaseSelectInput: {
95
+ ({ options, value, placeholder, onSelect, renderTrigger, renderOption, isSelected, open: controlledOpen, onOpenChange, label, helperText, error, size, fullWidth, disabled, id, }: BaseSelectInputProps): react_jsx_runtime.JSX.Element;
96
+ displayName: string;
97
+ };
98
+
99
+ interface SelectOption {
100
+ label: string;
101
+ value: string;
102
+ disabled?: boolean;
103
+ }
104
+ interface BaseSelectInputProps {
105
+ options: SelectOption[];
106
+ value?: string;
107
+ placeholder?: string;
108
+ onSelect?: (option: SelectOption, close: () => void) => void;
109
+ /** Overrides the trigger button content. By default, shows the selected option label or placeholder. */
110
+ renderTrigger?: () => ReactNode;
111
+ /** Overrides the visual content of each option row. BaseSelectInput still handles the click. */
112
+ renderOption?: (option: SelectOption) => ReactNode;
113
+ /** Determines aria-selected for each option. Defaults to value === option.value. */
114
+ isSelected?: (option: SelectOption) => boolean;
115
+ open?: boolean;
116
+ onOpenChange?: (open: boolean) => void;
117
+ label?: string;
118
+ helperText?: string;
119
+ error?: boolean;
120
+ size?: InputSize;
121
+ fullWidth?: boolean;
122
+ disabled?: boolean;
123
+ id?: string;
124
+ }
125
+
126
+ declare const NumberInput: react.ForwardRefExoticComponent<NumberInputProps & react.RefAttributes<HTMLInputElement>>;
127
+
128
+ interface NumberInputProps extends Omit<BaseInputProps, 'type'> {
129
+ min?: number;
130
+ max?: number;
131
+ step?: number;
132
+ }
133
+
134
+ declare const MultiSelectInput: {
135
+ ({ value, onChange, options, placeholder, ...rest }: MultiSelectInputProps): react_jsx_runtime.JSX.Element;
136
+ displayName: string;
137
+ };
138
+
139
+ interface MultiSelectInputProps extends Omit<BaseSelectInputProps, 'onSelect' | 'renderTrigger' | 'renderOption' | 'value'> {
140
+ value?: string[];
141
+ onChange?: (value: string[]) => void;
142
+ }
143
+
144
+ declare const PasswordInput: react.ForwardRefExoticComponent<PasswordInputProps & react.RefAttributes<HTMLInputElement>>;
145
+
146
+ interface PasswordInputProps extends Omit<BaseInputProps, 'type' | 'endAdornment'> {
147
+ showPasswordLabel?: string;
148
+ hidePasswordLabel?: string;
149
+ }
150
+
151
+ declare const SearchInput: react.ForwardRefExoticComponent<SearchInputProps & react.RefAttributes<HTMLInputElement>>;
152
+
153
+ interface SearchInputProps extends Omit<BaseInputProps, 'type' | 'startAdornment' | 'endAdornment'> {
154
+ onClear?: () => void;
155
+ clearAriaLabel?: string;
156
+ }
157
+
158
+ declare const SelectInput: {
159
+ ({ onChange, value, ...rest }: SelectInputProps): react_jsx_runtime.JSX.Element;
160
+ displayName: string;
161
+ };
162
+
163
+ interface SelectInputProps extends Omit<BaseSelectInputProps, 'onSelect' | 'renderTrigger' | 'renderOption'> {
164
+ onChange?: (value: string) => void;
165
+ }
166
+
167
+ declare const TextareaInput: react.ForwardRefExoticComponent<TextareaInputProps & react.RefAttributes<HTMLTextAreaElement>>;
168
+
169
+ interface TextareaInputProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
170
+ label?: string;
171
+ helperText?: string;
172
+ error?: boolean;
173
+ size?: InputSize;
174
+ fullWidth?: boolean;
175
+ rows?: number;
176
+ }
177
+
178
+ declare const PhoneInput: react.ForwardRefExoticComponent<PhoneInputProps & react.RefAttributes<HTMLInputElement>>;
179
+
180
+ interface PhoneCountry {
181
+ flagCode: string;
182
+ country: string;
183
+ dialCode: string;
184
+ maxLength: number;
185
+ minLength: number;
186
+ }
187
+ interface PhoneInputMeta {
188
+ country: PhoneCountry;
189
+ dialCode: string;
190
+ fullNumber: string;
191
+ }
192
+ interface PhoneInputProps {
193
+ value?: string;
194
+ defaultValue?: string;
195
+ defaultCountry?: string;
196
+ onChange?: (value: string, meta: PhoneInputMeta) => void;
197
+ onCountryChange?: (country: PhoneCountry) => void;
198
+ label?: string;
199
+ helperText?: string;
200
+ error?: boolean;
201
+ size?: InputSize;
202
+ fullWidth?: boolean;
203
+ disabled?: boolean;
204
+ placeholder?: string;
205
+ id?: string;
206
+ /** aria-label on the country trigger button. Receives current country name and dial code. */
207
+ countrySelectAriaLabel?: (country: string, dialCode: string) => string;
208
+ /** aria-label on the phone number input when no label prop is provided. */
209
+ phoneAriaLabel?: string;
210
+ /** aria-label on the country listbox dropdown. */
211
+ countryListAriaLabel?: string;
212
+ /** Placeholder inside the country search box. */
213
+ countrySearchPlaceholder?: string;
214
+ /** aria-label on the country search input. */
215
+ countrySearchAriaLabel?: string;
216
+ /** Suffix used in the auto-generated digit-count placeholder (e.g. 'cyfr'). */
217
+ digitsLabel?: string;
218
+ }
219
+
220
+ declare const TextInput: react.ForwardRefExoticComponent<TextInputProps & react.RefAttributes<HTMLInputElement>>;
221
+
222
+ interface TextInputProps extends Omit<BaseInputProps, 'type'> {
223
+ type?: 'text' | 'email' | 'password' | 'search' | 'tel' | 'url';
224
+ }
225
+
226
+ declare const SwitchInput: react.ForwardRefExoticComponent<SwitchInputProps & react.RefAttributes<HTMLInputElement>>;
227
+ declare const switchColors: SwitchColor[];
228
+
229
+ type SwitchColor = 'primary' | 'secondary' | 'success' | 'danger';
230
+ interface SwitchInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
231
+ label?: string;
232
+ helperText?: string;
233
+ size?: InputSize;
234
+ color?: SwitchColor;
235
+ error?: boolean;
236
+ labelPlacement?: 'end' | 'start';
237
+ }
238
+
239
+ declare const RangeSlider: react.ForwardRefExoticComponent<RangeSliderProps & react.RefAttributes<HTMLDivElement>>;
240
+ declare const rangeSliderSizes: RangeSliderSize[];
241
+
242
+ type RangeSliderSize = 'sm' | 'md' | 'lg';
243
+ interface RangeSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
244
+ min?: number;
245
+ max?: number;
246
+ step?: number;
247
+ value?: [number, number] | number;
248
+ defaultValue?: [number, number] | number;
249
+ onChange?: (value: [number, number] | number) => void;
250
+ size?: RangeSliderSize;
251
+ disabled?: boolean;
252
+ label?: string;
253
+ showValue?: boolean;
254
+ formatValue?: (value: number) => string;
255
+ range?: boolean;
256
+ }
257
+
258
+ declare const DateTimePicker: react.ForwardRefExoticComponent<DateTimePickerProps & react.RefAttributes<HTMLButtonElement>>;
259
+
260
+ type DateTimePickerMode = 'date' | 'time' | 'datetime';
261
+ interface DateTimePickerProps {
262
+ value?: Date | null;
263
+ defaultValue?: Date | null;
264
+ onChange?: (date: Date | null) => void;
265
+ mode?: DateTimePickerMode;
266
+ label?: string;
267
+ helperText?: string;
268
+ error?: boolean;
269
+ disabled?: boolean;
270
+ fullWidth?: boolean;
271
+ size?: InputSize;
272
+ placeholder?: string;
273
+ min?: Date;
274
+ max?: Date;
275
+ id?: string;
276
+ }
277
+ declare const dateTimePickerModes: DateTimePickerMode[];
278
+
279
+ declare const CountryFlag: {
280
+ ({ countryCode, size, style, ...rest }: CountryFlagProps): react_jsx_runtime.JSX.Element;
281
+ displayName: string;
282
+ };
283
+
284
+ interface CountryFlagProps extends HTMLAttributes<HTMLSpanElement> {
285
+ countryCode: string;
286
+ size?: InputSize;
287
+ }
288
+
289
+ type CardVariant = 'default' | 'muted' | 'accent' | 'primary' | 'ghost' | 'elevated' | 'glass' | 'gradient' | 'gradient-primary' | 'outline' | 'outline-primary' | 'flat' | 'dots' | 'grid' | 'mesh' | 'aurora' | 'spotlight' | 'neon' | 'diagonal' | 'blueprint' | 'noise' | 'crosshatch';
290
+ type CardPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
291
+ type CardRounded = 'none' | 'sm' | 'md' | 'lg' | 'full';
292
+ interface CardProps extends HTMLAttributes<HTMLDivElement> {
293
+ variant?: CardVariant;
294
+ padding?: CardPadding;
295
+ rounded?: CardRounded;
296
+ }
297
+
298
+ declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
299
+ declare const cardVariants: CardVariant[];
300
+ declare const cardPaddings: CardPadding[];
301
+ declare const cardRoundeds: CardRounded[];
302
+
303
+ declare function Badge({ variant, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
304
+ declare const badgeVariants: BadgeVariant[];
305
+
306
+ type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive' | 'success' | 'ghost' | 'promo';
307
+ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
308
+ variant?: BadgeVariant;
309
+ }
310
+
311
+ declare function Avatar({ initials, size, color, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
312
+ declare const avatarSizes: AvatarSize[];
313
+ declare const avatarColors: AvatarColor[];
314
+
315
+ type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
316
+ type AvatarColor = 'primary' | 'secondary' | 'muted';
317
+ interface AvatarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
318
+ initials: string;
319
+ size?: AvatarSize;
320
+ color?: AvatarColor;
321
+ }
322
+
323
+ declare function SectionHeading({ title, description, align, as, ...props }: SectionHeadingProps): react_jsx_runtime.JSX.Element;
324
+ declare const sectionHeadingAligns: SectionHeadingAlign[];
325
+
326
+ type SectionHeadingAlign = 'center' | 'left' | 'right';
327
+ interface SectionHeadingProps extends HTMLAttributes<HTMLDivElement> {
328
+ title: string;
329
+ description?: string;
330
+ align?: SectionHeadingAlign;
331
+ as?: 'h1' | 'h2' | 'h3';
332
+ }
333
+
334
+ declare function Skeleton({ variant, width, height, lines, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
335
+ declare const skeletonVariants: SkeletonVariant[];
336
+
337
+ type SkeletonVariant = 'text' | 'rectangular' | 'circular';
338
+ interface SkeletonProps extends HTMLAttributes<HTMLSpanElement> {
339
+ variant?: SkeletonVariant;
340
+ width?: string | number;
341
+ height?: string | number;
342
+ lines?: number;
343
+ }
344
+
345
+ declare function Spinner({ variant, size, color, label, ...props }: SpinnerProps): react_jsx_runtime.JSX.Element;
346
+ declare const spinnerVariants: SpinnerVariant[];
347
+ declare const spinnerSizes: SpinnerSize[];
348
+ declare const spinnerColors: SpinnerColor[];
349
+
350
+ type SpinnerVariant = 'ring' | 'dots' | 'pulse' | 'bars';
351
+ type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
352
+ type SpinnerColor = 'primary' | 'secondary' | 'white' | 'current';
353
+ interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
354
+ variant?: SpinnerVariant;
355
+ size?: SpinnerSize;
356
+ color?: SpinnerColor;
357
+ label?: string;
358
+ }
359
+
360
+ declare function ProgressBar({ value, max, size, variant, label, showValue, animated, striped, ...props }: ProgressBarProps): react_jsx_runtime.JSX.Element;
361
+ declare const progressBarSizes: ProgressBarSize[];
362
+ declare const progressBarVariants: ProgressBarVariant[];
363
+
364
+ type ProgressBarSize = 'xs' | 'sm' | 'md' | 'lg';
365
+ type ProgressBarVariant = 'default' | 'success' | 'warning' | 'danger' | 'gradient';
366
+ interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {
367
+ value: number;
368
+ max?: number;
369
+ size?: ProgressBarSize;
370
+ variant?: ProgressBarVariant;
371
+ label?: string;
372
+ showValue?: boolean;
373
+ animated?: boolean;
374
+ striped?: boolean;
375
+ }
376
+
377
+ declare function ProgressCircle({ value, max, size, variant, thickness, label, showValue, children, ...props }: ProgressCircleProps): react_jsx_runtime.JSX.Element;
378
+ declare const progressCircleSizes: ProgressCircleSize[];
379
+ declare const progressCircleVariants: ProgressCircleVariant[];
380
+
381
+ type ProgressCircleSize = 'sm' | 'md' | 'lg' | 'xl';
382
+ type ProgressCircleVariant = 'default' | 'success' | 'warning' | 'danger' | 'gradient';
383
+ interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
384
+ value: number;
385
+ max?: number;
386
+ size?: ProgressCircleSize;
387
+ variant?: ProgressCircleVariant;
388
+ thickness?: number;
389
+ label?: string;
390
+ showValue?: boolean;
391
+ children?: React.ReactNode;
392
+ }
393
+
394
+ type Breakpoint = 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
395
+ type GapValue = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
396
+ type GridValue = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
397
+ type ResponsiveValue<T> = T | {
398
+ [K in Breakpoint]?: T;
399
+ };
400
+ interface BoxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
401
+ direction?: ResponsiveValue<'row' | 'col'>;
402
+ wrap?: ResponsiveValue<'wrap' | 'nowrap'>;
403
+ gap?: ResponsiveValue<GapValue>;
404
+ cols?: ResponsiveValue<GridValue>;
405
+ rows?: ResponsiveValue<GridValue>;
406
+ }
407
+
408
+ declare const Box: react.ForwardRefExoticComponent<BoxProps & react.RefAttributes<HTMLDivElement>>;
409
+
410
+ declare const Container: react.ForwardRefExoticComponent<ContainerProps & react.RefAttributes<HTMLDivElement>>;
411
+
412
+ type ContainerMaxWidth = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
413
+ interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
414
+ maxWidth?: ContainerMaxWidth;
415
+ }
416
+
417
+ declare const Section: react.ForwardRefExoticComponent<SectionProps & react.RefAttributes<HTMLElement>>;
418
+
419
+ type SectionProps = HTMLAttributes<HTMLElement>;
420
+
421
+ type MainProps = HTMLAttributes<HTMLElement>;
422
+
423
+ declare const Main: react.ForwardRefExoticComponent<MainProps & react.RefAttributes<HTMLElement>>;
424
+
425
+ declare const Prose: react.ForwardRefExoticComponent<ProseProps & react.RefAttributes<HTMLDivElement>>;
426
+
427
+ type ProseProps = HTMLAttributes<HTMLDivElement>;
428
+
429
+ declare const Article: react.ForwardRefExoticComponent<ArticleProps & react.RefAttributes<HTMLElement>>;
430
+
431
+ type ArticleProps = HTMLAttributes<HTMLElement>;
432
+
433
+ declare const ProductCard: react.ForwardRefExoticComponent<ProductCardProps & react.RefAttributes<HTMLDivElement>>;
434
+
435
+ interface ProductCardProps extends HTMLAttributes<HTMLDivElement> {
436
+ name: string;
437
+ imageUrl: string;
438
+ imageAlt?: string;
439
+ price: number;
440
+ originalPrice?: number;
441
+ currency?: string;
442
+ locale?: string;
443
+ lowestPrice?: number;
444
+ badge?: string;
445
+ badgeVariant?: BadgeVariant;
446
+ rating?: number;
447
+ reviewCount?: number;
448
+ ctaLabel?: string;
449
+ onAddToCart?: () => void;
450
+ }
451
+
452
+ declare const PostCard: react.ForwardRefExoticComponent<PostCardProps & react.RefAttributes<HTMLDivElement>>;
453
+
454
+ type PostCardVariant = 'vertical' | 'horizontal' | 'featured' | 'compact';
455
+ declare const postCardVariants: PostCardVariant[];
456
+ interface PostCardProps extends HTMLAttributes<HTMLDivElement> {
457
+ title: string;
458
+ excerpt?: string;
459
+ imageUrl?: string;
460
+ imageAlt?: string;
461
+ date?: string;
462
+ author?: string;
463
+ href?: string;
464
+ category?: string;
465
+ variant?: PostCardVariant;
466
+ cardVariant?: CardVariant;
467
+ }
468
+
469
+ declare const PostCardImage: {
470
+ ({ src, alt, aspectRatio, overlay, className, style, }: PostCardImageProps): react_jsx_runtime.JSX.Element;
471
+ displayName: string;
472
+ };
473
+
474
+ type AspectRatioPreset = '1/1' | '4/3' | '3/2' | '16/9' | '21/9' | '9/16' | '3/4' | '2/3';
475
+ interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
476
+ ratio?: AspectRatioPreset | number;
477
+ children?: ReactNode;
478
+ }
479
+
480
+ interface PostCardImageProps {
481
+ src?: string;
482
+ alt?: string;
483
+ aspectRatio?: AspectRatioPreset | number;
484
+ overlay?: boolean;
485
+ className?: string;
486
+ style?: CSSProperties;
487
+ }
488
+
489
+ declare const PostCardMeta: {
490
+ ({ date, author, locale, inverted, }: PostCardMetaProps): react_jsx_runtime.JSX.Element | null;
491
+ displayName: string;
492
+ };
493
+
494
+ interface PostCardMetaProps {
495
+ date?: string;
496
+ author?: string;
497
+ locale?: string;
498
+ inverted?: boolean;
499
+ }
500
+
501
+ declare const PricingCard: react.ForwardRefExoticComponent<PricingCardProps & react.RefAttributes<HTMLDivElement>>;
502
+
503
+ interface PricingFeature {
504
+ text: string;
505
+ included?: boolean;
506
+ }
507
+ interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {
508
+ name: string;
509
+ price: string | number;
510
+ currency?: string;
511
+ period?: string;
512
+ description?: string;
513
+ features?: PricingFeature[];
514
+ ctaLabel?: string;
515
+ ctaVariant?: ButtonVariant;
516
+ onCtaClick?: () => void;
517
+ href?: string;
518
+ popular?: boolean;
519
+ popularLabel?: string;
520
+ cardVariant?: CardVariant;
521
+ }
522
+
523
+ declare const StatCard: react.ForwardRefExoticComponent<StatCardProps & react.RefAttributes<HTMLDivElement>>;
524
+
525
+ interface StatItem {
526
+ value: string;
527
+ label: string;
528
+ description?: string;
529
+ }
530
+ interface StatCardProps extends HTMLAttributes<HTMLDivElement> {
531
+ stat: StatItem;
532
+ cardVariant?: CardVariant;
533
+ align?: 'left' | 'center';
534
+ }
535
+
536
+ declare const TestimonialCard: react.ForwardRefExoticComponent<TestimonialCardProps & react.RefAttributes<HTMLDivElement>>;
537
+
538
+ interface Testimonial {
539
+ quote: string;
540
+ authorName: string;
541
+ authorRole?: string;
542
+ authorAvatarUrl?: string;
543
+ authorInitials?: string;
544
+ rating?: 1 | 2 | 3 | 4 | 5;
545
+ }
546
+ interface TestimonialCardProps extends HTMLAttributes<HTMLDivElement> {
547
+ testimonial: Testimonial;
548
+ cardVariant?: CardVariant;
549
+ }
550
+
551
+ declare const TeamMemberCard: react.ForwardRefExoticComponent<TeamMemberCardProps & react.RefAttributes<HTMLDivElement>>;
552
+
553
+ interface TeamMember {
554
+ name: string;
555
+ role: string;
556
+ initials?: string;
557
+ avatarUrl?: string;
558
+ avatarAlt?: string;
559
+ avatarColor?: AvatarColor;
560
+ }
561
+ interface TeamMemberCardProps extends HTMLAttributes<HTMLDivElement> {
562
+ member: TeamMember;
563
+ cardVariant?: CardVariant;
564
+ }
565
+
566
+ declare function CompareTool({ products, specLabels, onRemove, highlightDifferences, className, }: CompareToolProps): react_jsx_runtime.JSX.Element | null;
567
+
568
+ type CompareSpecValue = string | number | boolean;
569
+ interface CompareProduct {
570
+ id: string;
571
+ name: string;
572
+ imageUrl?: string;
573
+ price: string;
574
+ specs: Record<string, CompareSpecValue>;
575
+ }
576
+ interface CompareToolProps {
577
+ products: CompareProduct[];
578
+ specLabels?: Record<string, string>;
579
+ onRemove?: (id: string) => void;
580
+ highlightDifferences?: boolean;
581
+ className?: string;
582
+ }
583
+
584
+ declare function CouponInput({ value, onChange, onApply, onRemove, appliedCode, placeholder, applyLabel, removeLabel, loading, disabled, error, successMessage, className, }: CouponInputProps): react_jsx_runtime.JSX.Element;
585
+
586
+ interface CouponInputProps {
587
+ value: string;
588
+ onChange: (value: string) => void;
589
+ onApply: (code: string) => void;
590
+ onRemove?: () => void;
591
+ appliedCode?: string;
592
+ placeholder?: string;
593
+ applyLabel?: string;
594
+ removeLabel?: string;
595
+ loading?: boolean;
596
+ disabled?: boolean;
597
+ error?: string;
598
+ successMessage?: string;
599
+ className?: string;
600
+ }
601
+
602
+ declare const Price: react.ForwardRefExoticComponent<PriceProps & react.RefAttributes<HTMLDivElement>>;
603
+ declare const priceSizes: PriceSize[];
604
+
605
+ type PriceSize = 'sm' | 'md' | 'lg' | 'xl';
606
+ interface PriceProps extends HTMLAttributes<HTMLDivElement> {
607
+ price: number;
608
+ originalPrice?: number;
609
+ currency?: string;
610
+ locale?: string;
611
+ size?: PriceSize;
612
+ showDiscountBadge?: boolean;
613
+ /** Najniższa cena z ostatnich 30 dni (dyrektywa Omnibus). Wartość liczbowa. */
614
+ lowestPrice?: number;
615
+ /** Override etykiety omnibus. */
616
+ omnibusLabel?: string;
617
+ }
618
+
619
+ declare const ProductGallery: react.ForwardRefExoticComponent<ProductGalleryProps & react.RefAttributes<HTMLDivElement>>;
620
+
621
+ interface ProductGalleryImage {
622
+ src: string;
623
+ alt: string;
624
+ }
625
+ interface ProductGalleryProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onSelect'> {
626
+ images: ProductGalleryImage[];
627
+ selectedIndex?: number;
628
+ onSelect?: (index: number) => void;
629
+ }
630
+
631
+ declare const PromoStrip: react.ForwardRefExoticComponent<PromoStripProps & react.RefAttributes<HTMLDivElement>>;
632
+ declare const promoStripVariants: PromoStripVariant[];
633
+
634
+ type PromoStripVariant = 'info' | 'success' | 'warning';
635
+ interface PromoStripProps extends HTMLAttributes<HTMLDivElement> {
636
+ message: ReactNode;
637
+ actionLabel?: string;
638
+ href?: string;
639
+ variant?: PromoStripVariant;
640
+ }
641
+
642
+ declare const QuantitySelector: react.ForwardRefExoticComponent<QuantitySelectorProps & react.RefAttributes<HTMLDivElement>>;
643
+
644
+ interface QuantitySelectorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
645
+ value: number;
646
+ min?: number;
647
+ max?: number;
648
+ step?: number;
649
+ disabled?: boolean;
650
+ onChange?: (value: number) => void;
651
+ }
652
+
653
+ declare const StockStatus: react.ForwardRefExoticComponent<StockStatusProps & react.RefAttributes<HTMLDivElement>>;
654
+ declare const stockStatusValues: StockStatusValue[];
655
+
656
+ type StockStatusValue = 'in-stock' | 'low-stock' | 'out-of-stock' | 'preorder' | 'backorder';
657
+ interface StockStatusProps extends HTMLAttributes<HTMLDivElement> {
658
+ status: StockStatusValue;
659
+ count?: number;
660
+ label?: string;
661
+ showIcon?: boolean;
662
+ size?: 'sm' | 'md';
663
+ }
664
+
665
+ declare const FaqItem: react.ForwardRefExoticComponent<FaqItemProps & react.RefAttributes<HTMLDivElement>>;
666
+
667
+ interface FaqItemData {
668
+ question: string;
669
+ answer: string;
670
+ }
671
+ interface FaqItemProps extends HTMLAttributes<HTMLDivElement> {
672
+ item: FaqItemData;
673
+ defaultOpen?: boolean;
674
+ }
675
+
676
+ declare const FeatureItem: react.ForwardRefExoticComponent<FeatureItemProps & react.RefAttributes<HTMLDivElement>>;
677
+
678
+ interface Feature {
679
+ icon?: ReactNode;
680
+ title: string;
681
+ description: string;
682
+ }
683
+ interface FeatureItemProps extends HTMLAttributes<HTMLDivElement> {
684
+ feature: Feature;
685
+ cardVariant?: CardVariant;
686
+ layout?: 'card' | 'icon-left';
687
+ }
688
+
689
+ declare const ProcessStep: react.ForwardRefExoticComponent<ProcessStepProps & react.RefAttributes<HTMLDivElement>>;
690
+
691
+ interface ProcessStepProps extends HTMLAttributes<HTMLDivElement> {
692
+ step: number;
693
+ title: string;
694
+ description?: string;
695
+ icon?: ReactNode;
696
+ }
697
+
698
+ declare const LogoTile: react.ForwardRefExoticComponent<LogoTileProps & react.RefAttributes<HTMLElement>>;
699
+ declare const logoTileVariants: LogoTileVariant[];
700
+
701
+ interface LogoTileItem {
702
+ name: string;
703
+ logoUrl?: string;
704
+ logoAlt?: string;
705
+ href?: string;
706
+ width?: number | string;
707
+ height?: number | string;
708
+ }
709
+ type LogoTileVariant = 'plain' | 'boxed';
710
+ interface LogoTileProps extends HTMLAttributes<HTMLElement> {
711
+ logo: LogoTileItem;
712
+ variant?: LogoTileVariant;
713
+ monochrome?: boolean;
714
+ logoHeight?: number | string;
715
+ }
716
+
717
+ declare const Rating: react.ForwardRefExoticComponent<RatingProps & react.RefAttributes<HTMLDivElement>>;
718
+
719
+ interface RatingProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
720
+ value: number;
721
+ max?: number;
722
+ readonly?: boolean;
723
+ size?: 'sm' | 'md' | 'lg';
724
+ label?: string;
725
+ count?: number;
726
+ onChange?: (value: number) => void;
727
+ }
728
+
729
+ declare const Timeline: react.ForwardRefExoticComponent<TimelineProps & react.RefAttributes<HTMLOListElement>>;
730
+ declare const timelineVariants: TimelineVariant[];
731
+ declare const timelineItemStatuses: TimelineItemStatus[];
732
+
733
+ type TimelineItemStatus = 'completed' | 'active' | 'pending' | 'error';
734
+ type TimelineVariant = 'default' | 'compact';
735
+ type TimelineAlign = 'left' | 'alternate';
736
+ interface TimelineItem {
737
+ id: string;
738
+ title: string;
739
+ description?: ReactNode;
740
+ date?: string;
741
+ status?: TimelineItemStatus;
742
+ icon?: ReactNode;
743
+ }
744
+ interface TimelineProps extends HTMLAttributes<HTMLOListElement> {
745
+ items: TimelineItem[];
746
+ variant?: TimelineVariant;
747
+ align?: TimelineAlign;
748
+ }
749
+
750
+ declare const PRESET_MAP: Record<string, number>;
751
+ declare const AspectRatio: react.ForwardRefExoticComponent<AspectRatioProps & react.RefAttributes<HTMLDivElement>>;
752
+ declare const aspectRatioPresets: Array<keyof typeof PRESET_MAP>;
753
+
754
+ declare function Carousel({ slides, autoPlay, autoPlayInterval, showDots, showArrows, loop, className, }: CarouselProps): react_jsx_runtime.JSX.Element | null;
755
+
756
+ interface CarouselSlide {
757
+ id: string;
758
+ content: ReactNode;
759
+ }
760
+ interface CarouselProps {
761
+ slides: CarouselSlide[];
762
+ autoPlay?: boolean;
763
+ autoPlayInterval?: number;
764
+ showDots?: boolean;
765
+ showArrows?: boolean;
766
+ loop?: boolean;
767
+ className?: string;
768
+ }
769
+
770
+ declare function VideoPlayer({ src, provider, title, poster, ratio, autoPlay, muted, loop, controls, className, }: VideoPlayerProps): react_jsx_runtime.JSX.Element;
771
+
772
+ type VideoPlayerProvider = 'youtube' | 'vimeo' | 'local' | 'auto';
773
+ interface VideoPlayerProps {
774
+ src: string;
775
+ provider?: VideoPlayerProvider;
776
+ title?: string;
777
+ poster?: string;
778
+ ratio?: AspectRatioPreset | number;
779
+ autoPlay?: boolean;
780
+ muted?: boolean;
781
+ loop?: boolean;
782
+ controls?: boolean;
783
+ className?: string;
784
+ }
785
+
786
+ declare function Lightbox({ images, columns, gap, className }: LightboxProps): react_jsx_runtime.JSX.Element;
787
+
788
+ interface LightboxImage {
789
+ id: string;
790
+ src: string;
791
+ thumb?: string;
792
+ alt?: string;
793
+ caption?: string;
794
+ }
795
+ interface LightboxProps {
796
+ images: LightboxImage[];
797
+ columns?: 2 | 3 | 4 | 5;
798
+ gap?: number;
799
+ className?: string;
800
+ }
801
+
802
+ declare const Breadcrumbs: react.ForwardRefExoticComponent<BreadcrumbsProps & react.RefAttributes<HTMLElement>>;
803
+
804
+ interface BreadcrumbItem {
805
+ label: ReactNode;
806
+ href?: string;
807
+ }
808
+ interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {
809
+ items: BreadcrumbItem[];
810
+ separator?: ReactNode;
811
+ }
812
+
813
+ declare const PaginationBar: {
814
+ ({ currentPage, totalPages, onPageChange, siblingCount, showFirstLast, size, disabled, }: PaginationBarProps): react_jsx_runtime.JSX.Element;
815
+ displayName: string;
816
+ };
817
+
818
+ type PaginationBarSize = 'sm' | 'md' | 'lg';
819
+ interface PaginationBarProps {
820
+ currentPage: number;
821
+ totalPages: number;
822
+ onPageChange: (page: number) => void;
823
+ siblingCount?: number;
824
+ showFirstLast?: boolean;
825
+ size?: PaginationBarSize;
826
+ disabled?: boolean;
827
+ }
828
+
829
+ declare const PaginationButton: react.ForwardRefExoticComponent<PaginationButtonProps & react.RefAttributes<HTMLButtonElement>>;
830
+
831
+ type PaginationButtonSize = 'sm' | 'md' | 'lg';
832
+ type PaginationButtonVariant = 'page' | 'nav';
833
+ interface PaginationButtonProps {
834
+ onClick?: MouseEventHandler<HTMLButtonElement>;
835
+ isActive?: boolean;
836
+ disabled?: boolean;
837
+ size?: PaginationButtonSize;
838
+ variant?: PaginationButtonVariant;
839
+ 'aria-label': string;
840
+ children: React.ReactNode;
841
+ }
842
+
843
+ interface Props {
844
+ size?: PaginationButtonSize;
845
+ }
846
+ declare const PaginationEllipsis: {
847
+ ({ size }: Props): react_jsx_runtime.JSX.Element;
848
+ displayName: string;
849
+ };
850
+
851
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<HTMLDivElement>>;
852
+ declare const accordionVariants: AccordionVariant[];
853
+
854
+ type AccordionVariant = 'default' | 'bordered' | 'separated';
855
+ interface AccordionItemData {
856
+ key: string;
857
+ header: ReactNode;
858
+ content: ReactNode;
859
+ disabled?: boolean;
860
+ }
861
+ interface AccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
862
+ items: AccordionItemData[];
863
+ defaultOpenKeys?: string[];
864
+ openKeys?: string[];
865
+ onChange?: (keys: string[]) => void;
866
+ multiple?: boolean;
867
+ variant?: AccordionVariant;
868
+ }
869
+
870
+ declare function BackToTop({ threshold, variant, position, label, scrollTarget, }: BackToTopProps): react_jsx_runtime.JSX.Element;
871
+ declare const backToTopVariants: BackToTopVariant[];
872
+ declare const backToTopPositions: BackToTopPosition[];
873
+
874
+ type BackToTopVariant = 'default' | 'primary' | 'ghost';
875
+ type BackToTopPosition = 'bottom-right' | 'bottom-left' | 'bottom-center';
876
+ interface BackToTopProps {
877
+ threshold?: number;
878
+ variant?: BackToTopVariant;
879
+ position?: BackToTopPosition;
880
+ label?: string;
881
+ scrollTarget?: () => Element | Window;
882
+ }
883
+
884
+ declare const ContextMenu: react.ForwardRefExoticComponent<ContextMenuProps & react.RefAttributes<HTMLDivElement>>;
885
+
886
+ interface ContextMenuItemData {
887
+ key: string;
888
+ label?: ReactNode;
889
+ icon?: ReactNode;
890
+ onClick?: () => void;
891
+ disabled?: boolean;
892
+ separator?: boolean;
893
+ }
894
+ interface ContextMenuProps extends HTMLAttributes<HTMLDivElement> {
895
+ items: ContextMenuItemData[];
896
+ children: ReactNode;
897
+ disabled?: boolean;
898
+ }
899
+
900
+ type ListSize = 'sm' | 'md' | 'lg';
901
+ type ListVariant = 'default' | 'bordered' | 'separated';
902
+ interface ListItemData {
903
+ key: string;
904
+ primary: ReactNode;
905
+ secondary?: ReactNode;
906
+ prefixIcon?: ReactNode;
907
+ suffixAction?: ReactNode;
908
+ disabled?: boolean;
909
+ onClick?: () => void;
910
+ }
911
+ interface ListProps extends HTMLAttributes<HTMLUListElement> {
912
+ items: ListItemData[];
913
+ size?: ListSize;
914
+ variant?: ListVariant;
915
+ dividers?: boolean;
916
+ }
917
+
918
+ declare const List: react.ForwardRefExoticComponent<ListProps & react.RefAttributes<HTMLUListElement>>;
919
+ declare const listVariants: ListVariant[];
920
+ declare const listSizes: ListSize[];
921
+
922
+ declare const Marquee: react.ForwardRefExoticComponent<MarqueeProps & react.RefAttributes<HTMLDivElement>>;
923
+ declare const marqueeDirections: MarqueeDirection[];
924
+ declare const marqueeSpeeds: MarqueeSpeed[];
925
+
926
+ type MarqueeDirection = 'left' | 'right';
927
+ type MarqueeSpeed = 'slow' | 'normal' | 'fast';
928
+ interface MarqueeProps extends HTMLAttributes<HTMLDivElement> {
929
+ children: ReactNode;
930
+ direction?: MarqueeDirection;
931
+ speed?: MarqueeSpeed;
932
+ pauseOnHover?: boolean;
933
+ gap?: string | number;
934
+ }
935
+
936
+ declare function Modal({ open, onClose, title, children, footer, size, closeOnBackdrop, hideCloseButton, }: ModalProps): react.ReactPortal | null;
937
+ declare const modalSizes: ModalSize[];
938
+
939
+ type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
940
+ interface ModalProps {
941
+ open: boolean;
942
+ onClose: () => void;
943
+ title?: ReactNode;
944
+ children?: ReactNode;
945
+ footer?: ReactNode;
946
+ size?: ModalSize;
947
+ closeOnBackdrop?: boolean;
948
+ hideCloseButton?: boolean;
949
+ }
950
+
951
+ type TabsVariant = 'underline' | 'pills' | 'bordered';
952
+ interface TabItem {
953
+ key: string;
954
+ label: ReactNode;
955
+ content: ReactNode;
956
+ disabled?: boolean;
957
+ }
958
+ interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
959
+ tabs: TabItem[];
960
+ defaultActiveKey?: string;
961
+ activeKey?: string;
962
+ onChange?: (key: string) => void;
963
+ variant?: TabsVariant;
964
+ }
965
+
966
+ declare const Tabs: react.ForwardRefExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
967
+ declare const tabsVariants: TabsVariant[];
968
+
969
+ declare const CartDrawer: react.ForwardRefExoticComponent<CartDrawerProps & react.RefAttributes<HTMLDivElement>>;
970
+
971
+ interface CartDrawerItem {
972
+ id: string;
973
+ name: string;
974
+ price: string;
975
+ quantity: number;
976
+ imageUrl?: string;
977
+ imageAlt?: string;
978
+ }
979
+ interface CartDrawerProps extends HTMLAttributes<HTMLDivElement> {
980
+ open: boolean;
981
+ title?: string;
982
+ items: CartDrawerItem[];
983
+ subtotal: string;
984
+ checkoutLabel?: string;
985
+ closeLabel?: string;
986
+ onClose?: () => void;
987
+ onCheckout?: () => void;
988
+ onQuantityChange?: (id: string, quantity: number) => void;
989
+ onRemove?: (id: string) => void;
990
+ }
991
+
992
+ declare const FilterSidebar: react.ForwardRefExoticComponent<FilterSidebarProps & react.RefAttributes<HTMLDivElement>>;
993
+
994
+ interface FilterOption {
995
+ label: string;
996
+ value: string;
997
+ count?: number;
998
+ }
999
+ interface PriceRange {
1000
+ min: number;
1001
+ max: number;
1002
+ }
1003
+ interface FilterSidebarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1004
+ categories?: FilterOption[];
1005
+ colors?: FilterOption[];
1006
+ sizes?: FilterOption[];
1007
+ selectedCategories?: string[];
1008
+ selectedColors?: string[];
1009
+ selectedSizes?: string[];
1010
+ priceRange?: PriceRange;
1011
+ onToggleCategory?: (value: string) => void;
1012
+ onToggleColor?: (value: string) => void;
1013
+ onToggleSize?: (value: string) => void;
1014
+ onPriceRangeChange?: (range: PriceRange) => void;
1015
+ onClear?: () => void;
1016
+ }
1017
+
1018
+ declare const OrderSummary: react.ForwardRefExoticComponent<OrderSummaryProps & react.RefAttributes<HTMLDivElement>>;
1019
+
1020
+ interface OrderSummaryLine {
1021
+ label: ReactNode;
1022
+ value: ReactNode;
1023
+ }
1024
+ interface OrderSummaryItem {
1025
+ id: string;
1026
+ name: ReactNode;
1027
+ price: ReactNode;
1028
+ quantity?: number;
1029
+ imageUrl?: string;
1030
+ imageAlt?: string;
1031
+ meta?: ReactNode;
1032
+ }
1033
+ interface OrderSummaryProps extends HTMLAttributes<HTMLDivElement> {
1034
+ title?: string;
1035
+ items?: OrderSummaryItem[];
1036
+ itemsTitle?: string;
1037
+ subtotal: ReactNode;
1038
+ shipping?: ReactNode;
1039
+ tax?: ReactNode;
1040
+ discount?: ReactNode;
1041
+ total: ReactNode;
1042
+ lines?: OrderSummaryLine[];
1043
+ ctaLabel?: string;
1044
+ onCheckout?: () => void;
1045
+ }
1046
+
1047
+ declare const FaqSection: react.ForwardRefExoticComponent<FaqSectionProps & react.RefAttributes<HTMLElement>>;
1048
+
1049
+ interface FaqSectionProps extends HTMLAttributes<HTMLElement> {
1050
+ title?: string;
1051
+ description?: string;
1052
+ items: FaqItemData[];
1053
+ headingAlign?: SectionHeadingAlign;
1054
+ maxWidth?: ContainerMaxWidth;
1055
+ defaultOpenIndex?: number;
1056
+ }
1057
+
1058
+ declare const FeatureGrid: react.ForwardRefExoticComponent<FeatureGridProps & react.RefAttributes<HTMLElement>>;
1059
+ declare const featureGridColumns: FeatureGridColumns[];
1060
+
1061
+ type FeatureGridColumns = 2 | 3 | 4;
1062
+ interface FeatureGridProps extends HTMLAttributes<HTMLElement> {
1063
+ title?: string;
1064
+ description?: string;
1065
+ features: Feature[];
1066
+ headingAlign?: SectionHeadingAlign;
1067
+ columns?: FeatureGridColumns;
1068
+ cardVariant?: CardVariant;
1069
+ itemLayout?: FeatureItemProps['layout'];
1070
+ maxWidth?: ContainerMaxWidth;
1071
+ }
1072
+
1073
+ declare const LogoCloud: react.ForwardRefExoticComponent<LogoCloudProps & react.RefAttributes<HTMLElement>>;
1074
+ declare const Partners: react.ForwardRefExoticComponent<LogoCloudProps & react.RefAttributes<HTMLElement>>;
1075
+ declare const logoCloudColumns: LogoCloudColumns[];
1076
+ declare const logoCloudVariants: LogoCloudVariant[];
1077
+
1078
+ type LogoCloudColumns = 3 | 4 | 5 | 6;
1079
+ type LogoCloudVariant = LogoTileVariant;
1080
+ interface LogoCloudProps extends HTMLAttributes<HTMLElement> {
1081
+ title?: string;
1082
+ description?: string;
1083
+ logos: LogoTileItem[];
1084
+ headingAlign?: SectionHeadingAlign;
1085
+ columns?: LogoCloudColumns;
1086
+ variant?: LogoCloudVariant;
1087
+ monochrome?: boolean;
1088
+ logoHeight?: number | string;
1089
+ maxWidth?: ContainerMaxWidth;
1090
+ }
1091
+
1092
+ declare const NewsletterSection: react.ForwardRefExoticComponent<NewsletterSectionProps & react.RefAttributes<HTMLElement>>;
1093
+
1094
+ type NewsletterLayout = 'centered' | 'split';
1095
+ interface NewsletterSectionProps extends Omit<HTMLAttributes<HTMLElement>, 'onSubmit'> {
1096
+ title?: string;
1097
+ description?: string;
1098
+ inputPlaceholder?: string;
1099
+ submitLabel?: string;
1100
+ successMessage?: string;
1101
+ privacyNote?: string;
1102
+ headingAlign?: SectionHeadingAlign;
1103
+ layout?: NewsletterLayout;
1104
+ cardVariant?: CardVariant;
1105
+ maxWidth?: ContainerMaxWidth;
1106
+ onSubmit?: (email: string, event: FormEvent<HTMLFormElement>) => void;
1107
+ }
1108
+ declare const newsletterLayouts: NewsletterLayout[];
1109
+
1110
+ declare function PricingSection({ title, description, plans, ...props }: PricingSectionProps): react_jsx_runtime.JSX.Element;
1111
+
1112
+ interface PricingSectionProps extends HTMLAttributes<HTMLElement> {
1113
+ title?: string;
1114
+ description?: string;
1115
+ plans: PricingCardProps[];
1116
+ }
1117
+
1118
+ declare function ProcessSection({ title, description, steps, ...props }: ProcessSectionProps): react_jsx_runtime.JSX.Element;
1119
+
1120
+ interface ProcessSectionStep {
1121
+ title: string;
1122
+ description?: string;
1123
+ icon?: ReactNode;
1124
+ }
1125
+ interface ProcessSectionProps extends HTMLAttributes<HTMLElement> {
1126
+ title?: string;
1127
+ description?: string;
1128
+ steps: ProcessSectionStep[];
1129
+ }
1130
+
1131
+ declare const StatsSection: react.ForwardRefExoticComponent<StatsSectionProps & react.RefAttributes<HTMLElement>>;
1132
+ declare const statsSectionColumns: StatsSectionColumns[];
1133
+
1134
+ type StatsSectionColumns = 2 | 3 | 4;
1135
+ interface StatsSectionProps extends HTMLAttributes<HTMLElement> {
1136
+ title?: string;
1137
+ description?: string;
1138
+ stats: StatItem[];
1139
+ headingAlign?: SectionHeadingAlign;
1140
+ columns?: StatsSectionColumns;
1141
+ cardVariant?: CardVariant;
1142
+ statAlign?: 'left' | 'center';
1143
+ maxWidth?: ContainerMaxWidth;
1144
+ }
1145
+
1146
+ declare const TeamSection: react.ForwardRefExoticComponent<TeamSectionProps & react.RefAttributes<HTMLElement>>;
1147
+ declare const teamSectionColumns: TeamSectionColumns[];
1148
+
1149
+ type TeamSectionColumns = 2 | 3 | 4;
1150
+ interface TeamSectionProps extends HTMLAttributes<HTMLElement> {
1151
+ title?: string;
1152
+ description?: string;
1153
+ members: TeamMember[];
1154
+ headingAlign?: SectionHeadingAlign;
1155
+ columns?: TeamSectionColumns;
1156
+ cardVariant?: CardVariant;
1157
+ maxWidth?: ContainerMaxWidth;
1158
+ }
1159
+
1160
+ declare const TestimonialsSection: react.ForwardRefExoticComponent<TestimonialsSectionProps & react.RefAttributes<HTMLElement>>;
1161
+ declare const testimonialsSectionColumns: TestimonialsSectionColumns[];
1162
+
1163
+ type TestimonialsSectionColumns = 1 | 2 | 3;
1164
+ interface TestimonialsSectionProps extends HTMLAttributes<HTMLElement> {
1165
+ title?: string;
1166
+ description?: string;
1167
+ testimonials: Testimonial[];
1168
+ headingAlign?: SectionHeadingAlign;
1169
+ columns?: TestimonialsSectionColumns;
1170
+ cardVariant?: CardVariant;
1171
+ maxWidth?: ContainerMaxWidth;
1172
+ }
1173
+
1174
+ declare function CommandPalette({ open, onClose, groups, placeholder, emptyLabel, onSelect, }: CommandPaletteProps): react.ReactPortal | null;
1175
+
1176
+ interface CommandItem {
1177
+ id: string;
1178
+ label: string;
1179
+ description?: string;
1180
+ icon?: ReactNode;
1181
+ shortcut?: string[];
1182
+ keywords?: string[];
1183
+ group?: string;
1184
+ onSelect?: () => void;
1185
+ }
1186
+ interface CommandGroup {
1187
+ id: string;
1188
+ label: string;
1189
+ items: CommandItem[];
1190
+ }
1191
+ interface CommandPaletteProps {
1192
+ open: boolean;
1193
+ onClose: () => void;
1194
+ groups?: CommandGroup[];
1195
+ placeholder?: string;
1196
+ emptyLabel?: string;
1197
+ onSelect?: (item: CommandItem) => void;
1198
+ }
1199
+
1200
+ declare function CookieConsent({ open, title, description, categories, acceptAllLabel, rejectLabel, manageLabel, saveLabel, onAcceptAll, onRejectAll, onSave, privacyPolicyLabel, privacyPolicyHref, }: CookieConsentProps): react.ReactPortal | null;
1201
+ declare const defaultCookieCategories: CookieCategory[];
1202
+
1203
+ interface CookieCategory {
1204
+ id: string;
1205
+ label: string;
1206
+ description: string;
1207
+ required?: boolean;
1208
+ defaultEnabled?: boolean;
1209
+ }
1210
+ interface CookiePreferences {
1211
+ [categoryId: string]: boolean;
1212
+ }
1213
+ interface CookieConsentProps {
1214
+ open: boolean;
1215
+ title?: string;
1216
+ description?: string;
1217
+ categories?: CookieCategory[];
1218
+ acceptAllLabel?: string;
1219
+ rejectLabel?: string;
1220
+ manageLabel?: string;
1221
+ saveLabel?: string;
1222
+ onAcceptAll?: () => void;
1223
+ onRejectAll?: () => void;
1224
+ onSave?: (preferences: CookiePreferences) => void;
1225
+ privacyPolicyLabel?: string;
1226
+ privacyPolicyHref?: string;
1227
+ }
1228
+
1229
+ declare function Footer({ logo, description, columns, socialLinks, copyright, }: FooterProps): react_jsx_runtime.JSX.Element;
1230
+
1231
+ interface FooterLink {
1232
+ label: string;
1233
+ href: string;
1234
+ }
1235
+ interface FooterColumn {
1236
+ title: string;
1237
+ links: FooterLink[];
1238
+ }
1239
+ type SocialPlatform = 'facebook' | 'twitter' | 'instagram' | 'linkedin' | 'youtube';
1240
+ interface SocialLink {
1241
+ label: string;
1242
+ href: string;
1243
+ platform: SocialPlatform;
1244
+ }
1245
+ interface FooterProps {
1246
+ logo?: ReactNode;
1247
+ description?: string;
1248
+ columns?: FooterColumn[];
1249
+ socialLinks?: SocialLink[];
1250
+ copyright?: string;
1251
+ }
1252
+
1253
+ declare function Navbar({ logo, navItems, actions, sticky, variant, }: NavbarProps): react_jsx_runtime.JSX.Element;
1254
+
1255
+ interface NavItem {
1256
+ label: string;
1257
+ href: string;
1258
+ active?: boolean;
1259
+ }
1260
+ interface NavbarProps {
1261
+ logo?: ReactNode;
1262
+ navItems?: NavItem[];
1263
+ actions?: ReactNode;
1264
+ sticky?: boolean;
1265
+ variant?: 'filled' | 'transparent';
19
1266
  }
20
1267
 
21
1268
  interface CreateMyThemeOptions {
@@ -66,4 +1313,4 @@ declare const themeLight: _mui_material.Theme;
66
1313
  declare const themeDark: _mui_material.Theme;
67
1314
  declare const themeHighContrast: _mui_material.Theme;
68
1315
 
69
- export { Button, type ButtonProps, type CreateMyThemeOptions, type MyThemeMode, MyThemeProvider, type MyThemeProviderProps, createMyTheme, myTheme, themeDark, themeHighContrast, themeLight };
1316
+ export { Accordion, type AccordionItemData, type AccordionProps, type AccordionVariant, Article, type ArticleProps, AspectRatio, type AspectRatioPreset, type AspectRatioProps, Avatar, type AvatarColor, type AvatarProps, type AvatarSize, BackToTop, type BackToTopPosition, type BackToTopProps, type BackToTopVariant, Badge, type BadgeProps, type BadgeVariant, BaseInput, type BaseInputProps, BaseSelectInput, type BaseSelectInputProps, Box, type BoxProps, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type Breakpoint, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardPadding, type CardProps, type CardRounded, type CardVariant, Carousel, type CarouselProps, type CarouselSlide, CartDrawer, type CartDrawerItem, type CartDrawerProps, CheckboxInput, type CheckboxInputProps, type CommandGroup, type CommandItem, CommandPalette, type CommandPaletteProps, type CompareProduct, type CompareSpecValue, CompareTool, type CompareToolProps, Container, type ContainerMaxWidth, type ContainerProps, ContextMenu, type ContextMenuItemData, type ContextMenuProps, type CookieCategory, CookieConsent, type CookieConsentProps, type CookiePreferences, CountryFlag, type CountryFlagProps, CouponInput, type CouponInputProps, type CreateMyThemeOptions, DateTimePicker, type DateTimePickerMode, type DateTimePickerProps, EmailInput, type EmailInputProps, FaqItem, type FaqItemData, type FaqItemProps, FaqSection, type FaqSectionProps, type Feature, FeatureGrid, type FeatureGridColumns, type FeatureGridProps, FeatureItem, type FeatureItemProps, FileInput, type FileInputProps, type FilterOption, FilterSidebar, type FilterSidebarProps, Footer, type FooterColumn, type FooterLink, type FooterProps, type GapValue, type GridValue, Lightbox, type LightboxImage, type LightboxProps, List, type ListItemData, type ListProps, type ListSize, type ListVariant, LogoCloud, type LogoCloudColumns, type LogoTileItem as LogoCloudItem, type LogoCloudProps, type LogoCloudVariant, LogoTile, type LogoTileItem, type LogoTileProps, type LogoTileVariant, Main, type MainProps, Marquee, type MarqueeDirection, type MarqueeProps, type MarqueeSpeed, Modal, type ModalProps, type ModalSize, MultiSelectInput, type MultiSelectInputProps, type MyThemeMode, MyThemeProvider, type MyThemeProviderProps, type NavItem, Navbar, type NavbarProps, type NewsletterLayout, NewsletterSection, type NewsletterSectionProps, NumberInput, type NumberInputProps, OrderSummary, type OrderSummaryItem, type OrderSummaryLine, type OrderSummaryProps, PaginationBar, type PaginationBarProps, type PaginationBarSize, PaginationButton, type PaginationButtonProps, type PaginationButtonSize, PaginationEllipsis, Partners, PasswordInput, type PasswordInputProps, type PhoneCountry, PhoneInput, type PhoneInputMeta, type PhoneInputProps, PostCard, PostCardImage, type PostCardImageProps, PostCardMeta, type PostCardMetaProps, type PostCardProps, type PostCardVariant, Price, type PriceProps, type PriceRange, type PriceSize, PricingCard, type PricingCardProps, type PricingFeature, PricingSection, type PricingSectionProps, ProcessSection, type ProcessSectionProps, type ProcessSectionStep, ProcessStep, type ProcessStepProps, ProductCard, type ProductCardProps, ProductGallery, type ProductGalleryImage, type ProductGalleryProps, ProgressBar, type ProgressBarProps, type ProgressBarSize, type ProgressBarVariant, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, type ProgressCircleVariant, PromoStrip, type PromoStripProps, type PromoStripVariant, Prose, type ProseProps, QuantitySelector, type QuantitySelectorProps, RangeSlider, type RangeSliderProps, type RangeSliderSize, Rating, type RatingProps, type ResponsiveValue, SearchInput, type SearchInputProps, Section, SectionHeading, type SectionHeadingAlign, type SectionHeadingProps, type SectionProps, SelectInput, type SelectInputProps, type SelectOption, Skeleton, type SkeletonProps, type SkeletonVariant, type SocialLink, type SocialPlatform, Spinner, type SpinnerColor, type SpinnerProps, type SpinnerSize, type SpinnerVariant, StatCard, type StatCardProps, type StatItem, StatsSection, type StatsSectionColumns, type StatsSectionProps, StockStatus, type StockStatusProps, type StockStatusValue, type SwitchColor, SwitchInput, type SwitchInputProps, type TabItem, Tabs, type TabsProps, type TabsVariant, type TeamMember, TeamMemberCard, type TeamMemberCardProps, TeamSection, type TeamSectionColumns, type TeamSectionProps, type Testimonial, TestimonialCard, type TestimonialCardProps, TestimonialsSection, type TestimonialsSectionColumns, type TestimonialsSectionProps, TextInput, type TextInputProps, TextareaInput, type TextareaInputProps, Timeline, type TimelineAlign, type TimelineItem, type TimelineItemStatus, type TimelineProps, type TimelineVariant, VideoPlayer, type VideoPlayerProps, type VideoPlayerProvider, accordionVariants, aspectRatioPresets, avatarColors, avatarSizes, backToTopPositions, backToTopVariants, badgeVariants, cardPaddings, cardRoundeds, cardVariants, createMyTheme, dateTimePickerModes, defaultCookieCategories, featureGridColumns, listSizes, listVariants, logoCloudColumns, logoCloudVariants, logoTileVariants, marqueeDirections, marqueeSpeeds, modalSizes, myTheme, newsletterLayouts, postCardVariants, priceSizes, progressBarSizes, progressBarVariants, progressCircleSizes, progressCircleVariants, promoStripVariants, rangeSliderSizes, sectionHeadingAligns, skeletonVariants, spinnerColors, spinnerSizes, spinnerVariants, statsSectionColumns, stockStatusValues, switchColors, tabsVariants, teamSectionColumns, testimonialsSectionColumns, themeDark, themeHighContrast, themeLight, timelineItemStatuses, timelineVariants };