@dododog/ui 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/{chunk-S26SN3WK.js → chunk-3JM2X4I2.js} +44 -40
  2. package/dist/{chunk-QTW2FJUJ.mjs → chunk-BFGRWOQM.mjs} +44 -40
  3. package/dist/chunk-P2SGBTKS.mjs +138 -0
  4. package/dist/chunk-ZCQJN4IT.js +160 -0
  5. package/dist/components/FloatingDock/index.js +2 -2
  6. package/dist/components/FloatingDock/index.mjs +1 -1
  7. package/dist/components/RoomTypeCard/index.js +3 -3
  8. package/dist/components/RoomTypeCard/index.mjs +1 -1
  9. package/dist/index.js +38 -38
  10. package/dist/index.mjs +9 -9
  11. package/package.json +11 -11
  12. package/dist/chunk-PBDPZTHK.mjs +0 -53
  13. package/dist/chunk-S732LTPT.js +0 -75
  14. package/dist/components/Accordion/index.d.mts +0 -24
  15. package/dist/components/Accordion/index.d.ts +0 -24
  16. package/dist/components/Alert/index.d.mts +0 -40
  17. package/dist/components/Alert/index.d.ts +0 -40
  18. package/dist/components/AnchorTabs/index.d.mts +0 -59
  19. package/dist/components/AnchorTabs/index.d.ts +0 -59
  20. package/dist/components/Autocomplete/index.d.mts +0 -27
  21. package/dist/components/Autocomplete/index.d.ts +0 -27
  22. package/dist/components/Avatar/index.d.mts +0 -13
  23. package/dist/components/Avatar/index.d.ts +0 -13
  24. package/dist/components/Badge/index.d.mts +0 -13
  25. package/dist/components/Badge/index.d.ts +0 -13
  26. package/dist/components/Banner/index.d.mts +0 -19
  27. package/dist/components/Banner/index.d.ts +0 -19
  28. package/dist/components/BottomNavBar/index.d.mts +0 -17
  29. package/dist/components/BottomNavBar/index.d.ts +0 -17
  30. package/dist/components/Breadcrumb/index.d.mts +0 -23
  31. package/dist/components/Breadcrumb/index.d.ts +0 -23
  32. package/dist/components/Button/index.d.mts +0 -17
  33. package/dist/components/Button/index.d.ts +0 -17
  34. package/dist/components/Card/index.d.mts +0 -30
  35. package/dist/components/Card/index.d.ts +0 -30
  36. package/dist/components/CardList/index.d.mts +0 -30
  37. package/dist/components/CardList/index.d.ts +0 -30
  38. package/dist/components/Carousel/index.d.mts +0 -15
  39. package/dist/components/Carousel/index.d.ts +0 -15
  40. package/dist/components/Checkbox/index.d.mts +0 -16
  41. package/dist/components/Checkbox/index.d.ts +0 -16
  42. package/dist/components/Counter/index.d.mts +0 -14
  43. package/dist/components/Counter/index.d.ts +0 -14
  44. package/dist/components/DateRangePicker/index.d.mts +0 -26
  45. package/dist/components/DateRangePicker/index.d.ts +0 -26
  46. package/dist/components/DetailList/index.d.mts +0 -23
  47. package/dist/components/DetailList/index.d.ts +0 -23
  48. package/dist/components/Divider/index.d.mts +0 -10
  49. package/dist/components/Divider/index.d.ts +0 -10
  50. package/dist/components/Drawer/index.d.mts +0 -13
  51. package/dist/components/Drawer/index.d.ts +0 -13
  52. package/dist/components/DropdownMenu/index.d.mts +0 -19
  53. package/dist/components/DropdownMenu/index.d.ts +0 -19
  54. package/dist/components/DualRangeSlider/index.d.mts +0 -26
  55. package/dist/components/DualRangeSlider/index.d.ts +0 -26
  56. package/dist/components/EmptyState/index.d.mts +0 -12
  57. package/dist/components/EmptyState/index.d.ts +0 -12
  58. package/dist/components/ErrorBoundary/index.d.mts +0 -21
  59. package/dist/components/ErrorBoundary/index.d.ts +0 -21
  60. package/dist/components/FilterAccordion/index.d.mts +0 -16
  61. package/dist/components/FilterAccordion/index.d.ts +0 -16
  62. package/dist/components/FilterPill/index.d.mts +0 -19
  63. package/dist/components/FilterPill/index.d.ts +0 -19
  64. package/dist/components/FloatingDock/index.d.mts +0 -44
  65. package/dist/components/FloatingDock/index.d.ts +0 -44
  66. package/dist/components/Footer/index.d.mts +0 -46
  67. package/dist/components/Footer/index.d.ts +0 -46
  68. package/dist/components/GuestPicker/index.d.mts +0 -31
  69. package/dist/components/GuestPicker/index.d.ts +0 -31
  70. package/dist/components/Header/index.d.mts +0 -37
  71. package/dist/components/Header/index.d.ts +0 -37
  72. package/dist/components/HotelCard/index.d.mts +0 -45
  73. package/dist/components/HotelCard/index.d.ts +0 -45
  74. package/dist/components/IconBadge/index.d.mts +0 -14
  75. package/dist/components/IconBadge/index.d.ts +0 -14
  76. package/dist/components/ImageGallery/index.d.mts +0 -16
  77. package/dist/components/ImageGallery/index.d.ts +0 -16
  78. package/dist/components/ImageWithFallback/index.d.mts +0 -17
  79. package/dist/components/ImageWithFallback/index.d.ts +0 -17
  80. package/dist/components/Input/index.d.mts +0 -18
  81. package/dist/components/Input/index.d.ts +0 -18
  82. package/dist/components/Lightbox/index.d.mts +0 -15
  83. package/dist/components/Lightbox/index.d.ts +0 -15
  84. package/dist/components/LinkCard/index.d.mts +0 -12
  85. package/dist/components/LinkCard/index.d.ts +0 -12
  86. package/dist/components/LoadingOverlay/index.d.mts +0 -12
  87. package/dist/components/LoadingOverlay/index.d.ts +0 -12
  88. package/dist/components/MegaMenu/index.d.mts +0 -52
  89. package/dist/components/MegaMenu/index.d.ts +0 -52
  90. package/dist/components/MobileMenu/index.d.mts +0 -35
  91. package/dist/components/MobileMenu/index.d.ts +0 -35
  92. package/dist/components/Modal/index.d.mts +0 -12
  93. package/dist/components/Modal/index.d.ts +0 -12
  94. package/dist/components/Pagination/index.d.mts +0 -13
  95. package/dist/components/Pagination/index.d.ts +0 -13
  96. package/dist/components/PriceDisplay/index.d.mts +0 -14
  97. package/dist/components/PriceDisplay/index.d.ts +0 -14
  98. package/dist/components/ProgressBar/index.d.mts +0 -19
  99. package/dist/components/ProgressBar/index.d.ts +0 -19
  100. package/dist/components/PromoBanner/index.d.mts +0 -39
  101. package/dist/components/PromoBanner/index.d.ts +0 -39
  102. package/dist/components/RadioGroup/index.d.mts +0 -21
  103. package/dist/components/RadioGroup/index.d.ts +0 -21
  104. package/dist/components/Rating/index.d.mts +0 -12
  105. package/dist/components/Rating/index.d.ts +0 -12
  106. package/dist/components/RoomTypeCard/index.d.mts +0 -102
  107. package/dist/components/RoomTypeCard/index.d.ts +0 -102
  108. package/dist/components/SearchBar/index.d.mts +0 -20
  109. package/dist/components/SearchBar/index.d.ts +0 -20
  110. package/dist/components/SegmentedControl/index.d.mts +0 -15
  111. package/dist/components/SegmentedControl/index.d.ts +0 -15
  112. package/dist/components/Select/index.d.mts +0 -26
  113. package/dist/components/Select/index.d.ts +0 -26
  114. package/dist/components/Sidebar/index.d.mts +0 -19
  115. package/dist/components/Sidebar/index.d.ts +0 -19
  116. package/dist/components/SignInCallout/index.d.mts +0 -26
  117. package/dist/components/SignInCallout/index.d.ts +0 -26
  118. package/dist/components/Skeleton/index.d.mts +0 -31
  119. package/dist/components/Skeleton/index.d.ts +0 -31
  120. package/dist/components/Spinner/index.d.mts +0 -13
  121. package/dist/components/Spinner/index.d.ts +0 -13
  122. package/dist/components/StatCard/index.d.mts +0 -15
  123. package/dist/components/StatCard/index.d.ts +0 -15
  124. package/dist/components/StatusBadge/index.d.mts +0 -16
  125. package/dist/components/StatusBadge/index.d.ts +0 -16
  126. package/dist/components/Stepper/index.d.mts +0 -16
  127. package/dist/components/Stepper/index.d.ts +0 -16
  128. package/dist/components/Switch/index.d.mts +0 -22
  129. package/dist/components/Switch/index.d.ts +0 -22
  130. package/dist/components/Tabs/index.d.mts +0 -18
  131. package/dist/components/Tabs/index.d.ts +0 -18
  132. package/dist/components/Tag/index.d.mts +0 -15
  133. package/dist/components/Tag/index.d.ts +0 -15
  134. package/dist/components/Textarea/index.d.mts +0 -16
  135. package/dist/components/Textarea/index.d.ts +0 -16
  136. package/dist/components/Toast/index.d.mts +0 -16
  137. package/dist/components/Toast/index.d.ts +0 -16
  138. package/dist/components/Toggle/index.d.mts +0 -13
  139. package/dist/components/Toggle/index.d.ts +0 -13
  140. package/dist/components/Tooltip/index.d.mts +0 -11
  141. package/dist/components/Tooltip/index.d.ts +0 -11
  142. package/dist/components/VerticalMarquee/index.d.mts +0 -16
  143. package/dist/components/VerticalMarquee/index.d.ts +0 -16
  144. package/dist/index.d.mts +0 -189
  145. package/dist/index.d.ts +0 -189
  146. package/dist/tailwind-preset.d.mts +0 -170
  147. package/dist/tailwind-preset.d.ts +0 -170
  148. package/dist/tokens/index.d.mts +0 -219
  149. package/dist/tokens/index.d.ts +0 -219
  150. package/dist/typography-BUlhEnfy.d.mts +0 -16
  151. package/dist/typography-BUlhEnfy.d.ts +0 -16
  152. package/dist/utils/index.d.mts +0 -5
  153. package/dist/utils/index.d.ts +0 -5
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface DrawerProps {
4
- isOpen: boolean;
5
- onClose: () => void;
6
- children: React.ReactNode;
7
- side?: "left" | "right";
8
- title?: string;
9
- className?: string;
10
- }
11
- declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
12
-
13
- export { Drawer, type DrawerProps };
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface DropdownMenuItem {
4
- id: string;
5
- label: string;
6
- icon?: React.ReactNode;
7
- disabled?: boolean;
8
- destructive?: boolean;
9
- }
10
- interface DropdownMenuProps {
11
- trigger: React.ReactNode;
12
- items: DropdownMenuItem[];
13
- onSelect: (id: string) => void;
14
- align?: "left" | "right";
15
- className?: string;
16
- }
17
- declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLDivElement>>;
18
-
19
- export { DropdownMenu, type DropdownMenuItem, type DropdownMenuProps };
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface DropdownMenuItem {
4
- id: string;
5
- label: string;
6
- icon?: React.ReactNode;
7
- disabled?: boolean;
8
- destructive?: boolean;
9
- }
10
- interface DropdownMenuProps {
11
- trigger: React.ReactNode;
12
- items: DropdownMenuItem[];
13
- onSelect: (id: string) => void;
14
- align?: "left" | "right";
15
- className?: string;
16
- }
17
- declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLDivElement>>;
18
-
19
- export { DropdownMenu, type DropdownMenuItem, type DropdownMenuProps };
@@ -1,26 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface DualRangeSliderProps {
4
- /** Minimum possible value */
5
- min: number;
6
- /** Maximum possible value */
7
- max: number;
8
- /** Step increment */
9
- step?: number;
10
- /** Current minimum value */
11
- valueMin: number;
12
- /** Current maximum value */
13
- valueMax: number;
14
- /** Called when the minimum thumb changes */
15
- onChangeMin: (value: number) => void;
16
- /** Called when the maximum thumb changes */
17
- onChangeMax: (value: number) => void;
18
- /** Format the label below the slider (e.g. `v => \`${v}€\``) */
19
- formatLabel?: (value: number, type: "min" | "max") => string;
20
- /** Minimum gap between the two thumbs (in step units). Defaults to `step`. */
21
- minGap?: number;
22
- className?: string;
23
- }
24
- declare const DualRangeSlider: React.ForwardRefExoticComponent<DualRangeSliderProps & React.RefAttributes<HTMLDivElement>>;
25
-
26
- export { DualRangeSlider, type DualRangeSliderProps };
@@ -1,26 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface DualRangeSliderProps {
4
- /** Minimum possible value */
5
- min: number;
6
- /** Maximum possible value */
7
- max: number;
8
- /** Step increment */
9
- step?: number;
10
- /** Current minimum value */
11
- valueMin: number;
12
- /** Current maximum value */
13
- valueMax: number;
14
- /** Called when the minimum thumb changes */
15
- onChangeMin: (value: number) => void;
16
- /** Called when the maximum thumb changes */
17
- onChangeMax: (value: number) => void;
18
- /** Format the label below the slider (e.g. `v => \`${v}€\``) */
19
- formatLabel?: (value: number, type: "min" | "max") => string;
20
- /** Minimum gap between the two thumbs (in step units). Defaults to `step`. */
21
- minGap?: number;
22
- className?: string;
23
- }
24
- declare const DualRangeSlider: React.ForwardRefExoticComponent<DualRangeSliderProps & React.RefAttributes<HTMLDivElement>>;
25
-
26
- export { DualRangeSlider, type DualRangeSliderProps };
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface EmptyStateProps {
4
- icon: React.ReactNode;
5
- title: string;
6
- description: string;
7
- action?: React.ReactNode;
8
- className?: string;
9
- }
10
- declare const EmptyState: React.ForwardRefExoticComponent<EmptyStateProps & React.RefAttributes<HTMLDivElement>>;
11
-
12
- export { EmptyState, type EmptyStateProps };
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface EmptyStateProps {
4
- icon: React.ReactNode;
5
- title: string;
6
- description: string;
7
- action?: React.ReactNode;
8
- className?: string;
9
- }
10
- declare const EmptyState: React.ForwardRefExoticComponent<EmptyStateProps & React.RefAttributes<HTMLDivElement>>;
11
-
12
- export { EmptyState, type EmptyStateProps };
@@ -1,21 +0,0 @@
1
- import { Component, ReactNode } from 'react';
2
-
3
- interface ErrorBoundaryProps {
4
- children: ReactNode;
5
- fallback?: ReactNode;
6
- onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
7
- className?: string;
8
- }
9
- interface ErrorBoundaryState {
10
- hasError: boolean;
11
- error?: Error;
12
- }
13
- declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
14
- constructor(props: ErrorBoundaryProps);
15
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
16
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
17
- handleRetry: () => void;
18
- render(): ReactNode;
19
- }
20
-
21
- export { ErrorBoundary, type ErrorBoundaryProps };
@@ -1,21 +0,0 @@
1
- import { Component, ReactNode } from 'react';
2
-
3
- interface ErrorBoundaryProps {
4
- children: ReactNode;
5
- fallback?: ReactNode;
6
- onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
7
- className?: string;
8
- }
9
- interface ErrorBoundaryState {
10
- hasError: boolean;
11
- error?: Error;
12
- }
13
- declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
14
- constructor(props: ErrorBoundaryProps);
15
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
16
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
17
- handleRetry: () => void;
18
- render(): ReactNode;
19
- }
20
-
21
- export { ErrorBoundary, type ErrorBoundaryProps };
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FilterAccordionItemData {
4
- key: string;
5
- title: string;
6
- content: React.ReactNode;
7
- }
8
- interface FilterAccordionProps {
9
- items: FilterAccordionItemData[];
10
- /** Keys of sections open by default */
11
- defaultOpenKeys?: string[];
12
- className?: string;
13
- }
14
- declare const FilterAccordion: React.ForwardRefExoticComponent<FilterAccordionProps & React.RefAttributes<HTMLDivElement>>;
15
-
16
- export { FilterAccordion, type FilterAccordionItemData, type FilterAccordionProps };
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FilterAccordionItemData {
4
- key: string;
5
- title: string;
6
- content: React.ReactNode;
7
- }
8
- interface FilterAccordionProps {
9
- items: FilterAccordionItemData[];
10
- /** Keys of sections open by default */
11
- defaultOpenKeys?: string[];
12
- className?: string;
13
- }
14
- declare const FilterAccordion: React.ForwardRefExoticComponent<FilterAccordionProps & React.RefAttributes<HTMLDivElement>>;
15
-
16
- export { FilterAccordion, type FilterAccordionItemData, type FilterAccordionProps };
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FilterPillProps {
4
- label: string;
5
- isActive?: boolean;
6
- count?: number;
7
- onClear?: () => void;
8
- children?: React.ReactNode;
9
- className?: string;
10
- /**
11
- * Mode TOGGLE (additif) : quand fourni, le clic bascule le filtre au lieu
12
- * d'ouvrir un dropdown — le chevron disparaît et l'état est exposé via
13
- * `aria-pressed`. Utilisé par les filtres de la section chambres (fiche V2).
14
- */
15
- onToggle?: () => void;
16
- }
17
- declare const FilterPill: React.ForwardRefExoticComponent<FilterPillProps & React.RefAttributes<HTMLDivElement>>;
18
-
19
- export { FilterPill, type FilterPillProps };
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FilterPillProps {
4
- label: string;
5
- isActive?: boolean;
6
- count?: number;
7
- onClear?: () => void;
8
- children?: React.ReactNode;
9
- className?: string;
10
- /**
11
- * Mode TOGGLE (additif) : quand fourni, le clic bascule le filtre au lieu
12
- * d'ouvrir un dropdown — le chevron disparaît et l'état est exposé via
13
- * `aria-pressed`. Utilisé par les filtres de la section chambres (fiche V2).
14
- */
15
- onToggle?: () => void;
16
- }
17
- declare const FilterPill: React.ForwardRefExoticComponent<FilterPillProps & React.RefAttributes<HTMLDivElement>>;
18
-
19
- export { FilterPill, type FilterPillProps };
@@ -1,44 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FloatingDockItem {
4
- /** Identifiant stable de l'item. */
5
- key: string;
6
- /** Libellé affiché quand l'item est actif (et pour l'accessibilité). */
7
- label: string;
8
- /** Icône (ex: `<Search className="w-5 h-5" />`), dimensionnée par l'appelant. */
9
- icon: React.ReactNode;
10
- /** Destination. Rendu comme `<a href>` (crawlable) même si `onNavigate` intercepte. */
11
- href: string;
12
- /** Item courant → bulle colorée + label visible. */
13
- isActive?: boolean;
14
- }
15
- interface FloatingDockProps {
16
- /** Items de navigation (3 à 5 recommandés). */
17
- items: FloatingDockItem[];
18
- /** Classes supplémentaires appliquées à la pilule `<nav>`. */
19
- className?: string;
20
- /** Libellé ARIA de la navigation. */
21
- ariaLabel?: string;
22
- /**
23
- * Intercepte le clic d'un item (ex: navigation client Next, redirection login).
24
- * Quand fourni, le `preventDefault` par défaut est appliqué avant l'appel —
25
- * l'appelant gère lui-même la navigation.
26
- */
27
- onNavigate?: (item: FloatingDockItem) => void;
28
- }
29
- /**
30
- * Barre de navigation flottante mobile — « dock » à bulle active.
31
- *
32
- * Présentation pure : l'îlot (pilule blanche arrondie, ombre douce, bulle
33
- * colorée + label pour l'item actif) est rendu ici. Le positionnement `fixed`,
34
- * le safe-area iOS, le masquage au scroll et la logique d'auth restent à la
35
- * charge de l'appelant, via le wrapper englobant et `onNavigate`.
36
- *
37
- * - Item inactif : icône seule, cible tap 44px minimum.
38
- * - Item actif : bulle colorée (token `secondary`) + label qui apparaît via une
39
- * transition de largeur.
40
- * - Rendu en `<a href>` (crawlable / accessible), interceptable par `onNavigate`.
41
- */
42
- declare const FloatingDock: React.ForwardRefExoticComponent<FloatingDockProps & React.RefAttributes<HTMLElement>>;
43
-
44
- export { FloatingDock, type FloatingDockItem, type FloatingDockProps };
@@ -1,44 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FloatingDockItem {
4
- /** Identifiant stable de l'item. */
5
- key: string;
6
- /** Libellé affiché quand l'item est actif (et pour l'accessibilité). */
7
- label: string;
8
- /** Icône (ex: `<Search className="w-5 h-5" />`), dimensionnée par l'appelant. */
9
- icon: React.ReactNode;
10
- /** Destination. Rendu comme `<a href>` (crawlable) même si `onNavigate` intercepte. */
11
- href: string;
12
- /** Item courant → bulle colorée + label visible. */
13
- isActive?: boolean;
14
- }
15
- interface FloatingDockProps {
16
- /** Items de navigation (3 à 5 recommandés). */
17
- items: FloatingDockItem[];
18
- /** Classes supplémentaires appliquées à la pilule `<nav>`. */
19
- className?: string;
20
- /** Libellé ARIA de la navigation. */
21
- ariaLabel?: string;
22
- /**
23
- * Intercepte le clic d'un item (ex: navigation client Next, redirection login).
24
- * Quand fourni, le `preventDefault` par défaut est appliqué avant l'appel —
25
- * l'appelant gère lui-même la navigation.
26
- */
27
- onNavigate?: (item: FloatingDockItem) => void;
28
- }
29
- /**
30
- * Barre de navigation flottante mobile — « dock » à bulle active.
31
- *
32
- * Présentation pure : l'îlot (pilule blanche arrondie, ombre douce, bulle
33
- * colorée + label pour l'item actif) est rendu ici. Le positionnement `fixed`,
34
- * le safe-area iOS, le masquage au scroll et la logique d'auth restent à la
35
- * charge de l'appelant, via le wrapper englobant et `onNavigate`.
36
- *
37
- * - Item inactif : icône seule, cible tap 44px minimum.
38
- * - Item actif : bulle colorée (token `secondary`) + label qui apparaît via une
39
- * transition de largeur.
40
- * - Rendu en `<a href>` (crawlable / accessible), interceptable par `onNavigate`.
41
- */
42
- declare const FloatingDock: React.ForwardRefExoticComponent<FloatingDockProps & React.RefAttributes<HTMLElement>>;
43
-
44
- export { FloatingDock, type FloatingDockItem, type FloatingDockProps };
@@ -1,46 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FooterLinkGroup {
4
- title: string;
5
- links: {
6
- label: string;
7
- href: string;
8
- }[];
9
- /** Optional CTA at the bottom of the group */
10
- cta?: {
11
- label: string;
12
- href: string;
13
- };
14
- }
15
- interface FooterProps {
16
- /** Brand section — logo, description, contact */
17
- brand?: {
18
- logo: React.ReactNode;
19
- description?: string;
20
- contactEmail?: string;
21
- };
22
- /** Link columns */
23
- linkGroups?: FooterLinkGroup[];
24
- /** Bottom bar links (legal) */
25
- bottomLinks?: {
26
- label: string;
27
- href: string;
28
- }[];
29
- /** Extra bottom bar content (e.g. cookie button) */
30
- bottomExtra?: React.ReactNode;
31
- /** Copyright text — defaults to current year */
32
- copyright?: string;
33
- /** Tagline shown above copyright */
34
- tagline?: React.ReactNode;
35
- /** Render function for links — allows Next.js Link */
36
- renderLink?: (props: {
37
- href: string;
38
- className?: string;
39
- onClick?: () => void;
40
- children: React.ReactNode;
41
- }) => React.ReactNode;
42
- className?: string;
43
- }
44
- declare const Footer: React.ForwardRefExoticComponent<FooterProps & React.RefAttributes<HTMLElement>>;
45
-
46
- export { Footer, type FooterLinkGroup, type FooterProps };
@@ -1,46 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface FooterLinkGroup {
4
- title: string;
5
- links: {
6
- label: string;
7
- href: string;
8
- }[];
9
- /** Optional CTA at the bottom of the group */
10
- cta?: {
11
- label: string;
12
- href: string;
13
- };
14
- }
15
- interface FooterProps {
16
- /** Brand section — logo, description, contact */
17
- brand?: {
18
- logo: React.ReactNode;
19
- description?: string;
20
- contactEmail?: string;
21
- };
22
- /** Link columns */
23
- linkGroups?: FooterLinkGroup[];
24
- /** Bottom bar links (legal) */
25
- bottomLinks?: {
26
- label: string;
27
- href: string;
28
- }[];
29
- /** Extra bottom bar content (e.g. cookie button) */
30
- bottomExtra?: React.ReactNode;
31
- /** Copyright text — defaults to current year */
32
- copyright?: string;
33
- /** Tagline shown above copyright */
34
- tagline?: React.ReactNode;
35
- /** Render function for links — allows Next.js Link */
36
- renderLink?: (props: {
37
- href: string;
38
- className?: string;
39
- onClick?: () => void;
40
- children: React.ReactNode;
41
- }) => React.ReactNode;
42
- className?: string;
43
- }
44
- declare const Footer: React.ForwardRefExoticComponent<FooterProps & React.RefAttributes<HTMLElement>>;
45
-
46
- export { Footer, type FooterLinkGroup, type FooterProps };
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface GuestPickerProps {
4
- adults: number;
5
- onAdultsChange: (n: number) => void;
6
- childrenAges: number[];
7
- onChildrenAgesChange: (ages: number[]) => void;
8
- dogs: number;
9
- onDogsChange: (n: number) => void;
10
- isOpen: boolean;
11
- onToggle: () => void;
12
- onClose: () => void;
13
- /** Max adults (default 10) */
14
- maxAdults?: number;
15
- /** Max children (default 6) */
16
- maxChildren?: number;
17
- /** Max dogs (default 5) */
18
- maxDogs?: number;
19
- /** Label for the validate button */
20
- validateLabel?: string;
21
- /** Custom trigger content — replaces the default trigger button */
22
- renderTrigger?: (props: {
23
- summary: string;
24
- isOpen: boolean;
25
- onToggle: () => void;
26
- }) => React.ReactNode;
27
- className?: string;
28
- }
29
- declare const GuestPicker: React.ForwardRefExoticComponent<GuestPickerProps & React.RefAttributes<HTMLDivElement>>;
30
-
31
- export { GuestPicker, type GuestPickerProps };
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface GuestPickerProps {
4
- adults: number;
5
- onAdultsChange: (n: number) => void;
6
- childrenAges: number[];
7
- onChildrenAgesChange: (ages: number[]) => void;
8
- dogs: number;
9
- onDogsChange: (n: number) => void;
10
- isOpen: boolean;
11
- onToggle: () => void;
12
- onClose: () => void;
13
- /** Max adults (default 10) */
14
- maxAdults?: number;
15
- /** Max children (default 6) */
16
- maxChildren?: number;
17
- /** Max dogs (default 5) */
18
- maxDogs?: number;
19
- /** Label for the validate button */
20
- validateLabel?: string;
21
- /** Custom trigger content — replaces the default trigger button */
22
- renderTrigger?: (props: {
23
- summary: string;
24
- isOpen: boolean;
25
- onToggle: () => void;
26
- }) => React.ReactNode;
27
- className?: string;
28
- }
29
- declare const GuestPicker: React.ForwardRefExoticComponent<GuestPickerProps & React.RefAttributes<HTMLDivElement>>;
30
-
31
- export { GuestPicker, type GuestPickerProps };
@@ -1,37 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface HeaderNavItem {
4
- key: string;
5
- label: string;
6
- href?: string;
7
- /** If true, renders as a dropdown trigger instead of a link */
8
- hasDropdown?: boolean;
9
- }
10
- interface HeaderProps {
11
- /** Logo element — left side */
12
- logo: React.ReactNode;
13
- /** Navigation items — center */
14
- navItems?: HeaderNavItem[];
15
- /** Active dropdown key (controlled) */
16
- activeDropdown?: string | null;
17
- /** Called on nav item hover/focus for dropdown items */
18
- onNavHover?: (key: string | null) => void;
19
- /** Called when a nav link is clicked */
20
- onNavClick?: (key: string, href?: string) => void;
21
- /** Right-side content — e.g. user menu, help icon, auth button */
22
- rightContent?: React.ReactNode;
23
- /** Called when mobile menu button is clicked */
24
- onMobileMenuOpen?: () => void;
25
- /** Additional class for scroll state, shadow, etc. */
26
- variant?: "default" | "scrolled";
27
- /** Render function for links */
28
- renderLink?: (props: {
29
- href: string;
30
- className?: string;
31
- children: React.ReactNode;
32
- }) => React.ReactNode;
33
- className?: string;
34
- }
35
- declare const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>>;
36
-
37
- export { Header, type HeaderNavItem, type HeaderProps };
@@ -1,37 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface HeaderNavItem {
4
- key: string;
5
- label: string;
6
- href?: string;
7
- /** If true, renders as a dropdown trigger instead of a link */
8
- hasDropdown?: boolean;
9
- }
10
- interface HeaderProps {
11
- /** Logo element — left side */
12
- logo: React.ReactNode;
13
- /** Navigation items — center */
14
- navItems?: HeaderNavItem[];
15
- /** Active dropdown key (controlled) */
16
- activeDropdown?: string | null;
17
- /** Called on nav item hover/focus for dropdown items */
18
- onNavHover?: (key: string | null) => void;
19
- /** Called when a nav link is clicked */
20
- onNavClick?: (key: string, href?: string) => void;
21
- /** Right-side content — e.g. user menu, help icon, auth button */
22
- rightContent?: React.ReactNode;
23
- /** Called when mobile menu button is clicked */
24
- onMobileMenuOpen?: () => void;
25
- /** Additional class for scroll state, shadow, etc. */
26
- variant?: "default" | "scrolled";
27
- /** Render function for links */
28
- renderLink?: (props: {
29
- href: string;
30
- className?: string;
31
- children: React.ReactNode;
32
- }) => React.ReactNode;
33
- className?: string;
34
- }
35
- declare const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>>;
36
-
37
- export { Header, type HeaderNavItem, type HeaderProps };
@@ -1,45 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface HotelCardData {
4
- name: string;
5
- city?: string;
6
- region?: string;
7
- mainImage: string;
8
- rating?: number;
9
- reviewRating?: number;
10
- reviewCount?: number;
11
- pricePerNight?: number;
12
- originalPrice?: number;
13
- dogFeePerNight?: number | null;
14
- dogFeeUnknown?: boolean;
15
- petPolicyLabel?: string;
16
- maxDogs?: number;
17
- amenities?: string[];
18
- href: string;
19
- }
20
- interface HotelCardProps extends React.HTMLAttributes<HTMLDivElement> {
21
- hotel: HotelCardData;
22
- isFavorite?: boolean;
23
- onToggleFavorite?: () => void;
24
- isSponsored?: boolean;
25
- priceLoading?: boolean;
26
- isIndicativePrice?: boolean;
27
- noAvailability?: boolean;
28
- /** Layout: "auto" = responsive md breakpoint, "vertical" = always stacked, "horizontal" = always side-by-side */
29
- layout?: "auto" | "vertical" | "horizontal";
30
- /** Render custom link wrapper (e.g. Next.js Link) */
31
- renderLink?: (props: {
32
- href: string;
33
- className: string;
34
- children: React.ReactNode;
35
- }) => React.ReactNode;
36
- /** Render custom image (e.g. Next.js Image) */
37
- renderImage?: (props: {
38
- src: string;
39
- alt: string;
40
- className: string;
41
- }) => React.ReactNode;
42
- }
43
- declare const HotelCard: React.ForwardRefExoticComponent<HotelCardProps & React.RefAttributes<HTMLDivElement>>;
44
-
45
- export { HotelCard, type HotelCardData, type HotelCardProps };
@@ -1,45 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface HotelCardData {
4
- name: string;
5
- city?: string;
6
- region?: string;
7
- mainImage: string;
8
- rating?: number;
9
- reviewRating?: number;
10
- reviewCount?: number;
11
- pricePerNight?: number;
12
- originalPrice?: number;
13
- dogFeePerNight?: number | null;
14
- dogFeeUnknown?: boolean;
15
- petPolicyLabel?: string;
16
- maxDogs?: number;
17
- amenities?: string[];
18
- href: string;
19
- }
20
- interface HotelCardProps extends React.HTMLAttributes<HTMLDivElement> {
21
- hotel: HotelCardData;
22
- isFavorite?: boolean;
23
- onToggleFavorite?: () => void;
24
- isSponsored?: boolean;
25
- priceLoading?: boolean;
26
- isIndicativePrice?: boolean;
27
- noAvailability?: boolean;
28
- /** Layout: "auto" = responsive md breakpoint, "vertical" = always stacked, "horizontal" = always side-by-side */
29
- layout?: "auto" | "vertical" | "horizontal";
30
- /** Render custom link wrapper (e.g. Next.js Link) */
31
- renderLink?: (props: {
32
- href: string;
33
- className: string;
34
- children: React.ReactNode;
35
- }) => React.ReactNode;
36
- /** Render custom image (e.g. Next.js Image) */
37
- renderImage?: (props: {
38
- src: string;
39
- alt: string;
40
- className: string;
41
- }) => React.ReactNode;
42
- }
43
- declare const HotelCard: React.ForwardRefExoticComponent<HotelCardProps & React.RefAttributes<HTMLDivElement>>;
44
-
45
- export { HotelCard, type HotelCardData, type HotelCardProps };