mautourco-components 0.1.1

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 (163) hide show
  1. package/README.md +187 -0
  2. package/dist/components/atoms/Avatar/Avatar.d.ts +14 -0
  3. package/dist/components/atoms/Avatar/Avatar.js +31 -0
  4. package/dist/components/atoms/Button/Button.d.ts +27 -0
  5. package/dist/components/atoms/Button/Button.js +35 -0
  6. package/dist/components/atoms/Checkbox/Checkbox.d.ts +13 -0
  7. package/dist/components/atoms/Checkbox/Checkbox.js +33 -0
  8. package/dist/components/atoms/Icon/Icon.d.ts +10 -0
  9. package/dist/components/atoms/Icon/Icon.js +102 -0
  10. package/dist/components/atoms/Icon/icons/ArrivalIcon.d.ts +8 -0
  11. package/dist/components/atoms/Icon/icons/ArrivalIcon.js +31 -0
  12. package/dist/components/atoms/Icon/icons/CalendarIcon.d.ts +12 -0
  13. package/dist/components/atoms/Icon/icons/CalendarIcon.js +41 -0
  14. package/dist/components/atoms/Icon/icons/CarIcon.d.ts +8 -0
  15. package/dist/components/atoms/Icon/icons/CarIcon.js +30 -0
  16. package/dist/components/atoms/Icon/icons/Check.d.ts +8 -0
  17. package/dist/components/atoms/Icon/icons/Check.js +30 -0
  18. package/dist/components/atoms/Icon/icons/CheckCircleIcon.d.ts +8 -0
  19. package/dist/components/atoms/Icon/icons/CheckCircleIcon.js +30 -0
  20. package/dist/components/atoms/Icon/icons/Chevron.d.ts +9 -0
  21. package/dist/components/atoms/Icon/icons/Chevron.js +54 -0
  22. package/dist/components/atoms/Icon/icons/ChevronDownIcon.d.ts +8 -0
  23. package/dist/components/atoms/Icon/icons/ChevronDownIcon.js +30 -0
  24. package/dist/components/atoms/Icon/icons/Close.d.ts +8 -0
  25. package/dist/components/atoms/Icon/icons/Close.js +30 -0
  26. package/dist/components/atoms/Icon/icons/DeleteIcon.d.ts +8 -0
  27. package/dist/components/atoms/Icon/icons/DeleteIcon.js +30 -0
  28. package/dist/components/atoms/Icon/icons/DepartureIcon.d.ts +8 -0
  29. package/dist/components/atoms/Icon/icons/DepartureIcon.js +30 -0
  30. package/dist/components/atoms/Icon/icons/EyeIcon.d.ts +8 -0
  31. package/dist/components/atoms/Icon/icons/EyeIcon.js +30 -0
  32. package/dist/components/atoms/Icon/icons/FacebookIcon.d.ts +8 -0
  33. package/dist/components/atoms/Icon/icons/FacebookIcon.js +36 -0
  34. package/dist/components/atoms/Icon/icons/InfoIcon.d.ts +8 -0
  35. package/dist/components/atoms/Icon/icons/InfoIcon.js +30 -0
  36. package/dist/components/atoms/Icon/icons/LinkedInIcon.d.ts +8 -0
  37. package/dist/components/atoms/Icon/icons/LinkedInIcon.js +36 -0
  38. package/dist/components/atoms/Icon/icons/MapPinIcon.d.ts +8 -0
  39. package/dist/components/atoms/Icon/icons/MapPinIcon.js +30 -0
  40. package/dist/components/atoms/Icon/icons/MautoucoLogo.d.ts +8 -0
  41. package/dist/components/atoms/Icon/icons/MautoucoLogo.js +37 -0
  42. package/dist/components/atoms/Icon/icons/MenuIcon.d.ts +8 -0
  43. package/dist/components/atoms/Icon/icons/MenuIcon.js +37 -0
  44. package/dist/components/atoms/Icon/icons/MoreIcon.d.ts +8 -0
  45. package/dist/components/atoms/Icon/icons/MoreIcon.js +30 -0
  46. package/dist/components/atoms/Icon/icons/Search.d.ts +8 -0
  47. package/dist/components/atoms/Icon/icons/Search.js +30 -0
  48. package/dist/components/atoms/Icon/icons/Settings.d.ts +8 -0
  49. package/dist/components/atoms/Icon/icons/Settings.js +30 -0
  50. package/dist/components/atoms/Icon/icons/StrollerIcon.d.ts +8 -0
  51. package/dist/components/atoms/Icon/icons/StrollerIcon.js +30 -0
  52. package/dist/components/atoms/Icon/icons/TwitterIcon.d.ts +8 -0
  53. package/dist/components/atoms/Icon/icons/TwitterIcon.js +36 -0
  54. package/dist/components/atoms/Icon/icons/User.d.ts +8 -0
  55. package/dist/components/atoms/Icon/icons/User.js +30 -0
  56. package/dist/components/atoms/Icon/icons/UserIcon.d.ts +12 -0
  57. package/dist/components/atoms/Icon/icons/UserIcon.js +41 -0
  58. package/dist/components/atoms/Icon/icons/Youtube.d.ts +8 -0
  59. package/dist/components/atoms/Icon/icons/Youtube.js +36 -0
  60. package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.d.ts +12 -0
  61. package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.js +53 -0
  62. package/dist/components/atoms/Inputs/Input/Input.d.ts +15 -0
  63. package/dist/components/atoms/Inputs/Input/Input.js +27 -0
  64. package/dist/components/atoms/Inputs/Textarea/Textarea.d.ts +14 -0
  65. package/dist/components/atoms/Inputs/Textarea/Textarea.js +15 -0
  66. package/dist/components/atoms/Link/Link.d.ts +44 -0
  67. package/dist/components/atoms/Link/Link.js +76 -0
  68. package/dist/components/atoms/SelectedValue/SelectedValue.d.ts +11 -0
  69. package/dist/components/atoms/SelectedValue/SelectedValue.js +29 -0
  70. package/dist/components/atoms/Spinner/Spinner.d.ts +9 -0
  71. package/dist/components/atoms/Spinner/Spinner.js +38 -0
  72. package/dist/components/atoms/Spinner/variants/ButtonSpinner.d.ts +8 -0
  73. package/dist/components/atoms/Spinner/variants/ButtonSpinner.js +19 -0
  74. package/dist/components/atoms/Spinner/variants/LoadingSpinner.d.ts +7 -0
  75. package/dist/components/atoms/Spinner/variants/LoadingSpinner.js +7 -0
  76. package/dist/components/atoms/Tab/Tab.d.ts +22 -0
  77. package/dist/components/atoms/Tab/Tab.js +54 -0
  78. package/dist/components/atoms/Typography/Heading/Heading.d.ts +9 -0
  79. package/dist/components/atoms/Typography/Heading/Heading.js +25 -0
  80. package/dist/components/atoms/Typography/Text/Text.d.ts +10 -0
  81. package/dist/components/atoms/Typography/Text/Text.js +77 -0
  82. package/dist/components/atoms/Typography/Typography.d.ts +24 -0
  83. package/dist/components/atoms/Typography/Typography.js +100 -0
  84. package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.d.ts +29 -0
  85. package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.js +106 -0
  86. package/dist/components/molecules/UserCard/UserCard.d.ts +20 -0
  87. package/dist/components/molecules/UserCard/UserCard.js +57 -0
  88. package/dist/components/organisms/Footer/Footer.d.ts +38 -0
  89. package/dist/components/organisms/Footer/Footer.js +74 -0
  90. package/dist/components/organisms/TopNavigation/DesktopNav.d.ts +33 -0
  91. package/dist/components/organisms/TopNavigation/DesktopNav.js +26 -0
  92. package/dist/components/organisms/TopNavigation/MobileNav.d.ts +32 -0
  93. package/dist/components/organisms/TopNavigation/MobileNav.js +45 -0
  94. package/dist/components/organisms/TopNavigation/TopNavigation.d.ts +33 -0
  95. package/dist/components/organisms/TopNavigation/TopNavigation.js +20 -0
  96. package/dist/hooks/useMobile.d.ts +5 -0
  97. package/dist/hooks/useMobile.js +26 -0
  98. package/dist/index.d.ts +23 -0
  99. package/dist/index.js +28 -0
  100. package/dist/styles/tokens/tokens.d.ts +3108 -0
  101. package/dist/styles/tokens/tokens.js +2652 -0
  102. package/package.json +90 -0
  103. package/src/components/atoms/Avatar/Avatar.tsx +60 -0
  104. package/src/components/atoms/Button/Button.css +200 -0
  105. package/src/components/atoms/Button/Button.tsx +82 -0
  106. package/src/components/atoms/Checkbox/Checkbox.tsx +69 -0
  107. package/src/components/atoms/Icon/Icon.tsx +135 -0
  108. package/src/components/atoms/Icon/icons/ArrivalIcon.tsx +52 -0
  109. package/src/components/atoms/Icon/icons/CalendarIcon.tsx +63 -0
  110. package/src/components/atoms/Icon/icons/CarIcon.tsx +44 -0
  111. package/src/components/atoms/Icon/icons/Check.tsx +36 -0
  112. package/src/components/atoms/Icon/icons/CheckCircleIcon.tsx +48 -0
  113. package/src/components/atoms/Icon/icons/Chevron.tsx +73 -0
  114. package/src/components/atoms/Icon/icons/ChevronDownIcon.tsx +46 -0
  115. package/src/components/atoms/Icon/icons/Close.tsx +40 -0
  116. package/src/components/atoms/Icon/icons/DeleteIcon.tsx +44 -0
  117. package/src/components/atoms/Icon/icons/DepartureIcon.tsx +50 -0
  118. package/src/components/atoms/Icon/icons/EyeIcon.tsx +44 -0
  119. package/src/components/atoms/Icon/icons/FacebookIcon.tsx +50 -0
  120. package/src/components/atoms/Icon/icons/InfoIcon.tsx +44 -0
  121. package/src/components/atoms/Icon/icons/LinkedInIcon.tsx +50 -0
  122. package/src/components/atoms/Icon/icons/MapPinIcon.tsx +44 -0
  123. package/src/components/atoms/Icon/icons/MautoucoLogo.tsx +93 -0
  124. package/src/components/atoms/Icon/icons/MenuIcon.tsx +49 -0
  125. package/src/components/atoms/Icon/icons/MoreIcon.tsx +44 -0
  126. package/src/components/atoms/Icon/icons/Search.tsx +37 -0
  127. package/src/components/atoms/Icon/icons/Settings.tsx +38 -0
  128. package/src/components/atoms/Icon/icons/StrollerIcon.tsx +44 -0
  129. package/src/components/atoms/Icon/icons/TwitterIcon.tsx +50 -0
  130. package/src/components/atoms/Icon/icons/User.tsx +37 -0
  131. package/src/components/atoms/Icon/icons/UserIcon.tsx +63 -0
  132. package/src/components/atoms/Icon/icons/Youtube.tsx +50 -0
  133. package/src/components/atoms/Inputs/DropdownInput/DropdownInput.tsx +96 -0
  134. package/src/components/atoms/Inputs/Input/Input.tsx +66 -0
  135. package/src/components/atoms/Inputs/Textarea/Textarea.tsx +51 -0
  136. package/src/components/atoms/Link/Link.tsx +168 -0
  137. package/src/components/atoms/SelectedValue/SelectedValue.tsx +59 -0
  138. package/src/components/atoms/Spinner/Spinner.tsx +56 -0
  139. package/src/components/atoms/Spinner/variants/ButtonSpinner.tsx +37 -0
  140. package/src/components/atoms/Spinner/variants/LoadingSpinner.tsx +22 -0
  141. package/src/components/atoms/Tab/Tab.css +147 -0
  142. package/src/components/atoms/Tab/Tab.tsx +96 -0
  143. package/src/components/atoms/Typography/Typography.tsx +153 -0
  144. package/src/components/molecules/MultiSelectDropdown/MultiSelectDropdown.tsx +245 -0
  145. package/src/components/molecules/UserCard/UserCard.stories.tsx +36 -0
  146. package/src/components/molecules/UserCard/UserCard.tsx +173 -0
  147. package/src/components/organisms/Footer/Footer.tsx +290 -0
  148. package/src/components/organisms/TopNavigation/DesktopNav.tsx +122 -0
  149. package/src/components/organisms/TopNavigation/MobileNav.tsx +212 -0
  150. package/src/components/organisms/TopNavigation/TopNavigation.tsx +45 -0
  151. package/src/styles/components/avatar.css +58 -0
  152. package/src/styles/components/checkbox.css +132 -0
  153. package/src/styles/components/dropdown.css +214 -0
  154. package/src/styles/components/forms.css +147 -0
  155. package/src/styles/components/multiselect-dropdown.css +231 -0
  156. package/src/styles/components/organism/footer.css +113 -0
  157. package/src/styles/components/organism/topnavigation.css +162 -0
  158. package/src/styles/components/scrollbar.css +63 -0
  159. package/src/styles/components/selected-value.css +80 -0
  160. package/src/styles/components/typography.css +251 -0
  161. package/src/styles/tokens/_tokens.scss +2072 -0
  162. package/src/styles/tokens/tokens.css +2075 -0
  163. package/src/styles/tokens/tokens.js +2653 -0
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+ # Motorco - Bibliothèque de composants
2
+
3
+ Ce projet contient la bibliothèque de composants Motorco pour le redesign. Il est publié comme package npm privé et peut être installé dans d'autres projets React.
4
+
5
+ ## 🚀 Installation du package
6
+
7
+ ### Dans votre projet (B2B_react ou autre)
8
+ ```bash
9
+ npm install mautourco-components
10
+ ```
11
+
12
+ ## 💻 Utilisation des composants
13
+
14
+ ### 1. Importer les styles
15
+ ```tsx
16
+ // Dans votre index.tsx ou App.tsx
17
+ import 'mautourco-components/src/styles/tokens/tokens.css';
18
+ import 'mautourco-components/src/styles/components/forms.css';
19
+ import 'mautourco-components/src/styles/components/typography.css';
20
+ import 'mautourco-components/src/styles/components/organism/topnavigation.css';
21
+ import 'mautourco-components/src/styles/components/organism/footer.css';
22
+ ```
23
+
24
+ ### 2. Utiliser les composants
25
+
26
+ #### Exemple avec des atoms et molecules
27
+ ```tsx
28
+ import React from 'react';
29
+ import {
30
+ Input,
31
+ Checkbox,
32
+ Text,
33
+ Heading,
34
+ Icon,
35
+ MultiSelectDropdown
36
+ } from 'mautourco-components';
37
+
38
+ function App() {
39
+ return (
40
+ <div>
41
+ <Heading level="h1">Mon Application</Heading>
42
+
43
+ <Input
44
+ placeholder="Votre nom"
45
+ icon="user"
46
+ iconPosition="leading"
47
+ />
48
+
49
+ <Checkbox
50
+ label="J'accepte les conditions"
51
+ onChange={(checked) => console.log(checked)}
52
+ />
53
+
54
+ <Icon name="search" size="md" />
55
+ </div>
56
+ );
57
+ }
58
+ ```
59
+
60
+ #### Exemple avec des organisms (TopNavigation et Footer)
61
+ ```tsx
62
+ import React from 'react';
63
+ import { TopNavigation, Footer, Icon } from 'mautourco-components';
64
+ import type { TopNavigationProps, FooterProps } from 'mautourco-components';
65
+
66
+ // Exemple avec TopNavigation
67
+ const navigationLinks = [
68
+ { label: 'Accueil', route: '/', isButton: false },
69
+ { label: 'Services', route: '/services', isButton: false },
70
+ { label: 'Contact', route: '/contact', isButton: true },
71
+ ];
72
+
73
+ const Logo = () => <Icon name="mautourcoLogo" size="md" />;
74
+
75
+ function App() {
76
+ const handleLinkClick = (link: { label: string; route: string }) => {
77
+ // Gérer la navigation (ex: avec React Router)
78
+ console.log('Navigation vers:', link.route);
79
+ };
80
+
81
+ return (
82
+ <div>
83
+ <TopNavigation
84
+ links={navigationLinks}
85
+ logoUrl={Logo}
86
+ homeUrl="/"
87
+ active="Accueil"
88
+ onLinkClick={handleLinkClick}
89
+ onLogin={() => console.log('Login')}
90
+ onLogout={() => console.log('Logout')}
91
+ />
92
+
93
+ {/* Votre contenu principal */}
94
+ <main>...</main>
95
+
96
+ <Footer
97
+ logo={<Logo />}
98
+ columns={[
99
+ {
100
+ id: 'menu-1',
101
+ title: 'Navigation',
102
+ links: [
103
+ { label: 'Accueil', href: '/', onClick: () => handleLinkClick({ label: 'Accueil', route: '/' }) },
104
+ { label: 'Services', href: '/services' },
105
+ ],
106
+ },
107
+ ]}
108
+ contact={{
109
+ title: 'Contact',
110
+ addressLines: ['84, Gustave Colin Street', 'Forest Side 74414, Mauritius'],
111
+ phone: '+ (230) 604 3000',
112
+ email: 'info@mautourco.com',
113
+ }}
114
+ socials={[
115
+ { id: 'fb', label: 'Facebook', href: '#', icon: <Icon name="facebook" size="md" /> },
116
+ { id: 'in', label: 'LinkedIn', href: '#', icon: <Icon name="linkedin" size="md" /> },
117
+ ]}
118
+ homeUrl="/"
119
+ onLinkClick={handleLinkClick}
120
+ />
121
+ </div>
122
+ );
123
+ }
124
+ ```
125
+
126
+ ## 📦 Composants disponibles
127
+
128
+ ### Atoms (Composants de base)
129
+ - `Input` - Champ de saisie avec variantes
130
+ - `Checkbox` - Case à cocher
131
+ - `Text` - Texte avec variantes de style
132
+ - `Heading` - Titres (h1, h2, h3, etc.)
133
+ - `Icon` - Icônes avec différentes tailles
134
+ - `Spinner` - Indicateur de chargement
135
+ - `Textarea` - Zone de texte multi-lignes
136
+ - `DropdownInput` - Champ de saisie avec dropdown
137
+ - `SelectedValue` - Affichage de valeur sélectionnée
138
+
139
+ ### Molecules (Composants composés)
140
+ - `MultiSelectDropdown` - Dropdown de sélection multiple
141
+
142
+ ### Organisms (Composants complexes)
143
+ - `TopNavigation` - Navigation responsive avec support mobile/desktop, authentification et gestion d'agence
144
+ - `Footer` - Pied de page responsive avec colonnes de menu, contact et réseaux sociaux
145
+
146
+ ### Variantes de Spinner
147
+ - `ButtonSpinner` - Spinner pour boutons
148
+ - `LoadingSpinner` - Spinner de chargement général
149
+
150
+ ### Icônes individuelles
151
+ - `CheckIcon`, `ChevronIcon`, `CloseIcon`
152
+ - `SearchIcon`, `SettingsIcon`, `UserIcon`
153
+
154
+ ## 🔄 Mise à jour du package
155
+
156
+ ```bash
157
+ # Dans votre projet
158
+ npm update mautourco-components
159
+ ```
160
+
161
+ ## 🛠️ Développement du package
162
+
163
+ ### Scripts disponibles
164
+ ```bash
165
+ npm run build:package # Build du package pour distribution
166
+ npm run build-tokens # Génération des design tokens
167
+ npm run storybook # Démarre Storybook
168
+ npm publish # Publication sur npm (après login)
169
+ ```
170
+
171
+ ### Ajout de nouveaux composants
172
+ 1. Créez votre composant dans `src/components/`
173
+ 2. Ajoutez l'export dans `src/index.ts`
174
+ 3. `npm run build:package`
175
+ 4. `npm publish`
176
+
177
+ ## 📝 Notes importantes
178
+
179
+ - **Styles** : Les composants nécessitent l'import des fichiers CSS correspondants
180
+ - **TypeScript** : Tous les composants sont typés
181
+ - **Design tokens** : Générés automatiquement depuis le dossier `tokens/`
182
+
183
+ ## 🆘 Dépannage
184
+
185
+ - **Composant non trouvé** : Vérifiez qu'il est exporté dans `src/index.ts`
186
+ - **Styles manquants** : Assurez-vous d'importer les fichiers CSS nécessaires
187
+ - **Erreur de build** : Vérifiez que tous les composants exportés existent réellement
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ export type AvatarSize = "sm" | "md" | "lg" | "xl";
3
+ export type AvatarShape = "circle" | "rounded";
4
+ export type AvatarColor = "gray" | "blue" | "pink" | "orange" | "green";
5
+ export interface AvatarProps {
6
+ src?: string;
7
+ alt?: string;
8
+ name?: string;
9
+ size?: AvatarSize;
10
+ shape?: AvatarShape;
11
+ color?: AvatarColor;
12
+ className?: string;
13
+ }
14
+ export declare const Avatar: React.FC<AvatarProps>;
@@ -0,0 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ // src/components/Avatar.tsx
14
+ import React from "react";
15
+ // styling is driven by semantic classnames defined in `src/styles/components/avatar.css`
16
+ export var Avatar = function (_a) {
17
+ var _b, _c, _d, _e;
18
+ var src = _a.src, alt = _a.alt, name = _a.name, _f = _a.size, size = _f === void 0 ? "md" : _f, _g = _a.shape, shape = _g === void 0 ? "circle" : _g, _h = _a.color, color = _h === void 0 ? "blue" : _h, _j = _a.className, className = _j === void 0 ? "" : _j;
19
+ var _k = React.useState(false), error = _k[0], setError = _k[1];
20
+ var initial = (_e = (_c = (_b = name === null || name === void 0 ? void 0 : name.charAt(0)) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : (_d = alt === null || alt === void 0 ? void 0 : alt.charAt(0)) === null || _d === void 0 ? void 0 : _d.toUpperCase()) !== null && _e !== void 0 ? _e : "A";
21
+ var classes = [
22
+ 'avatar',
23
+ "avatar--".concat(size),
24
+ "avatar--".concat(shape),
25
+ !src || error ? "avatar--".concat(color) : '',
26
+ className,
27
+ ]
28
+ .filter(Boolean)
29
+ .join(' ');
30
+ return (_jsx("div", __assign({ className: classes, "aria-label": alt || name }, { children: src && !error ? (_jsx("img", { src: src, alt: alt || name, className: "avatar__img", onError: function () { return setError(true); } })) : (_jsx("span", __assign({ className: "avatar__initial" }, { children: initial }))) })));
31
+ };
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { IconName } from '../Icon/Icon';
3
+ import './Button.css';
4
+ export interface ButtonProps {
5
+ /** Variant du bouton */
6
+ variant?: 'primary' | 'secondary' | 'outline' | 'outline-primary' | 'outline-secondary';
7
+ /** Taille du bouton */
8
+ size?: 'sm' | 'md' | 'lg' | 'xl';
9
+ /** Contenu du bouton */
10
+ children: React.ReactNode;
11
+ /** Icône affichée avant le libellé */
12
+ leadingIcon?: IconName;
13
+ /** Icône affichée après le libellé */
14
+ trailingIcon?: IconName;
15
+ /** Taille des icônes */
16
+ iconSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
17
+ /** État désactivé */
18
+ disabled?: boolean;
19
+ /** Handler de clic */
20
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
21
+ /** Type de bouton */
22
+ type?: 'button' | 'submit' | 'reset';
23
+ /** Classes CSS supplémentaires */
24
+ className?: string;
25
+ }
26
+ declare const Button: React.FC<ButtonProps>;
27
+ export default Button;
@@ -0,0 +1,35 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import Icon from '../Icon/Icon';
14
+ import './Button.css';
15
+ var Button = function (_a) {
16
+ var _b = _a.variant, variant = _b === void 0 ? 'primary' : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, children = _a.children, leadingIcon = _a.leadingIcon, trailingIcon = _a.trailingIcon, _d = _a.iconSize, iconSize = _d === void 0 ? 'sm' : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, onClick = _a.onClick, _f = _a.type, type = _f === void 0 ? 'button' : _f, _g = _a.className, className = _g === void 0 ? '' : _g;
17
+ var baseClasses = 'button';
18
+ var normalizedVariant = variant === 'outline' ? 'outline-primary' : variant;
19
+ var variantClass = "button--".concat(normalizedVariant);
20
+ var sizeClass = "button--".concat(size);
21
+ var disabledClass = disabled ? 'button--disabled' : '';
22
+ var buttonClasses = [
23
+ baseClasses,
24
+ variantClass,
25
+ sizeClass,
26
+ disabledClass,
27
+ className,
28
+ ]
29
+ .filter(Boolean)
30
+ .join(' ');
31
+ var hasLeadingIcon = Boolean(leadingIcon);
32
+ var hasTrailingIcon = Boolean(trailingIcon);
33
+ return (_jsxs("button", __assign({ type: type, className: buttonClasses, disabled: disabled, onClick: onClick }, { children: [hasLeadingIcon && (_jsx("span", __assign({ className: "button__icon button__icon--leading" }, { children: _jsx(Icon, { name: leadingIcon, size: iconSize }) }))), _jsx("span", __assign({ className: "button__label" }, { children: children })), hasTrailingIcon && (_jsx("span", __assign({ className: "button__icon button__icon--trailing" }, { children: _jsx(Icon, { name: trailingIcon, size: iconSize }) })))] })));
34
+ };
35
+ export default Button;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface CheckboxProps {
3
+ checked?: boolean;
4
+ disabled?: boolean;
5
+ error?: boolean;
6
+ label?: string;
7
+ onChange?: (checked: boolean) => void;
8
+ className?: string;
9
+ id?: string;
10
+ leadingContent?: React.ReactNode;
11
+ }
12
+ declare const Checkbox: React.FC<CheckboxProps>;
13
+ export default Checkbox;
@@ -0,0 +1,33 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import Check from '../Icon/icons/Check';
14
+ var Checkbox = function (_a) {
15
+ var _b = _a.checked, checked = _b === void 0 ? false : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, _d = _a.error, error = _d === void 0 ? false : _d, label = _a.label, onChange = _a.onChange, _e = _a.className, className = _e === void 0 ? '' : _e, id = _a.id, leadingContent = _a.leadingContent;
16
+ var handleChange = function (e) {
17
+ if (!disabled && onChange) {
18
+ onChange(e.target.checked);
19
+ }
20
+ };
21
+ var getStateClasses = function () {
22
+ if (disabled)
23
+ return 'checkbox--disabled';
24
+ if (error)
25
+ return 'checkbox--error';
26
+ if (checked)
27
+ return 'checkbox--checked';
28
+ return 'checkbox--default';
29
+ };
30
+ var checkboxId = id || "checkbox-".concat(Math.random().toString(36).substr(2, 9));
31
+ return (_jsx("div", __assign({ className: "checkbox-container ".concat(getStateClasses(), " ").concat(className) }, { children: _jsxs("div", __assign({ className: "checkbox-wrapper" }, { children: [_jsx("input", { type: "checkbox", id: checkboxId, checked: checked, disabled: disabled, onChange: handleChange, className: "checkbox-input" }), _jsxs("label", __assign({ htmlFor: checkboxId, className: "checkbox-label" }, { children: [_jsx("div", __assign({ className: "checkbox-box" }, { children: checked && (_jsx(Check, { size: "sm", className: "checkbox-icon" })) })), leadingContent && (_jsx("span", __assign({ className: "checkbox-leading" }, { children: leadingContent }))), label && (_jsx("span", __assign({ className: "checkbox-text" }, { children: label })))] }))] })) })));
32
+ };
33
+ export default Checkbox;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export type IconName = "chevron-down" | "chevron-up" | "chevron-left" | "chevron-right" | "check" | "close" | "search" | "user" | "user-icon" | "calendar" | "arrival" | "departure" | "map-pin" | "delete" | "eye" | "info" | "check-circle" | "stroller" | "chevron-down-new" | "car" | "more" | "settings" | "menu" | "mautourcoLogo" | "youtube" | "facebook" | "linkedin" | "twitter";
3
+ interface IconProps {
4
+ name: IconName;
5
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
6
+ className?: string;
7
+ color?: string;
8
+ }
9
+ declare const Icon: React.FC<IconProps>;
10
+ export default Icon;
@@ -0,0 +1,102 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import Chevron from "./icons/Chevron";
14
+ import Check from "./icons/Check";
15
+ import Close from "./icons/Close";
16
+ import Search from "./icons/Search";
17
+ import User from "./icons/User";
18
+ import UserIcon from "./icons/UserIcon";
19
+ import CalendarIcon from "./icons/CalendarIcon";
20
+ import ArrivalIcon from "./icons/ArrivalIcon";
21
+ import DepartureIcon from "./icons/DepartureIcon";
22
+ import MapPinIcon from "./icons/MapPinIcon";
23
+ import DeleteIcon from "./icons/DeleteIcon";
24
+ import EyeIcon from "./icons/EyeIcon";
25
+ import InfoIcon from "./icons/InfoIcon";
26
+ import CheckCircleIcon from "./icons/CheckCircleIcon";
27
+ import StrollerIcon from "./icons/StrollerIcon";
28
+ import ChevronDownIcon from "./icons/ChevronDownIcon";
29
+ import CarIcon from "./icons/CarIcon";
30
+ import MoreIcon from "./icons/MoreIcon";
31
+ import Settings from "./icons/Settings";
32
+ import MenuIcon from "./icons/MenuIcon";
33
+ import MautourcoLogo from "./icons/MautoucoLogo";
34
+ import YouTubeIcon from "./icons/Youtube";
35
+ import FacebookIcon from "./icons/FacebookIcon";
36
+ import TwitterIcon from "./icons/TwitterIcon";
37
+ import LinkedInIcon from "./icons/LinkedInIcon";
38
+ var Icon = function (_a) {
39
+ var name = _a.name, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.className, className = _c === void 0 ? "" : _c, color = _a.color;
40
+ var iconProps = { size: size, className: className, color: color };
41
+ switch (name) {
42
+ case "chevron-down":
43
+ return _jsx(Chevron, __assign({ direction: "down" }, iconProps));
44
+ case "chevron-up":
45
+ return _jsx(Chevron, __assign({ direction: "up" }, iconProps));
46
+ case "chevron-left":
47
+ return _jsx(Chevron, __assign({ direction: "left" }, iconProps));
48
+ case "chevron-right":
49
+ return _jsx(Chevron, __assign({ direction: "right" }, iconProps));
50
+ case "check":
51
+ return _jsx(Check, __assign({}, iconProps));
52
+ case "close":
53
+ return _jsx(Close, __assign({}, iconProps));
54
+ case "search":
55
+ return _jsx(Search, __assign({}, iconProps));
56
+ case "user":
57
+ return _jsx(User, __assign({}, iconProps));
58
+ case "user-icon":
59
+ return _jsx(UserIcon, __assign({}, iconProps));
60
+ case "calendar":
61
+ return _jsx(CalendarIcon, __assign({}, iconProps));
62
+ case "arrival":
63
+ return _jsx(ArrivalIcon, __assign({}, iconProps));
64
+ case "departure":
65
+ return _jsx(DepartureIcon, __assign({}, iconProps));
66
+ case "map-pin":
67
+ return _jsx(MapPinIcon, __assign({}, iconProps));
68
+ case "delete":
69
+ return _jsx(DeleteIcon, __assign({}, iconProps));
70
+ case "eye":
71
+ return _jsx(EyeIcon, __assign({}, iconProps));
72
+ case "info":
73
+ return _jsx(InfoIcon, __assign({}, iconProps));
74
+ case "check-circle":
75
+ return _jsx(CheckCircleIcon, __assign({}, iconProps));
76
+ case "stroller":
77
+ return _jsx(StrollerIcon, __assign({}, iconProps));
78
+ case "chevron-down-new":
79
+ return _jsx(ChevronDownIcon, __assign({}, iconProps));
80
+ case "car":
81
+ return _jsx(CarIcon, __assign({}, iconProps));
82
+ case "more":
83
+ return _jsx(MoreIcon, __assign({}, iconProps));
84
+ case "settings":
85
+ return _jsx(Settings, __assign({}, iconProps));
86
+ case "menu":
87
+ return _jsx(MenuIcon, __assign({}, iconProps));
88
+ case "mautourcoLogo":
89
+ return _jsx(MautourcoLogo, __assign({}, iconProps));
90
+ case "youtube":
91
+ return _jsx(YouTubeIcon, __assign({}, iconProps));
92
+ case "facebook":
93
+ return _jsx(FacebookIcon, __assign({}, iconProps));
94
+ case "twitter":
95
+ return _jsx(TwitterIcon, __assign({}, iconProps));
96
+ case "linkedin":
97
+ return _jsx(LinkedInIcon, __assign({}, iconProps));
98
+ default:
99
+ return null;
100
+ }
101
+ };
102
+ export default Icon;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ArrivalIconProps {
3
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ className?: string;
5
+ color?: string;
6
+ }
7
+ declare const ArrivalIcon: React.FC<ArrivalIconProps>;
8
+ export default ArrivalIcon;
@@ -0,0 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ var ArrivalIcon = function (_a) {
14
+ var _b = _a.size, size = _b === void 0 ? 'md' : _b, _c = _a.className, className = _c === void 0 ? '' : _c, color = _a.color;
15
+ var getSizeClasses = function () {
16
+ switch (size) {
17
+ case 'xs': return 'w-3 h-3';
18
+ case 'sm': return 'w-4 h-4';
19
+ case 'md': return 'w-5 h-5';
20
+ case 'lg': return 'w-6 h-6';
21
+ case 'xl': return 'w-8 h-8';
22
+ default: return 'w-5 h-5';
23
+ }
24
+ };
25
+ // Base viewBox covers both plane and baseline
26
+ var sizeClasses = getSizeClasses();
27
+ var colorClass = color ? "text-".concat(color) : 'text-current';
28
+ var classes = "".concat(sizeClasses, " ").concat(colorClass, " ").concat(className);
29
+ return (_jsxs("svg", __assign({ className: classes, viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { d: "M8.61046 1.06519C8.82677 1.38315 8.95172 1.75476 8.96985 2.13883L9.14241 5.47813L9.1424 5.48576C9.1471 5.59416 9.18213 5.69947 9.24321 5.78917C9.30439 5.87888 9.38987 5.94968 9.48914 5.9937L9.49114 5.99458L12.3255 7.26408L12.5211 7.36061C12.9036 7.57143 13.2202 7.88435 13.4351 8.26453L13.5335 8.45952L13.5364 8.46603L13.8064 9.08336C13.9069 9.30978 13.9559 9.555 13.9504 9.80272C13.9449 10.0525 13.8835 10.2979 13.7713 10.5212C13.659 10.7447 13.498 10.9412 13.3006 11.0947C13.1057 11.2463 12.8793 11.3511 12.6385 11.4056L12.639 11.4078L12.0869 11.5361C11.5998 11.6497 11.0835 11.6092 10.6107 11.406L10.6027 11.4024L1.86857 7.52809C1.52107 7.3737 1.22329 7.12683 1.0067 6.81696C0.966794 6.77487 0.930689 6.72861 0.90107 6.67747L0.101396 5.29664C-0.0184861 5.08962 -0.0324841 4.83735 0.0638278 4.61837L1.26385 1.88991C1.43061 1.51075 1.87397 1.33858 2.25314 1.50534L3.00271 1.83502C3.30041 1.96515 3.56325 2.16333 3.77081 2.41331C3.92688 2.60133 4.04874 2.81484 4.13044 3.04381L4.19826 3.27689L4.20767 3.32492L4.22324 3.4186C4.2445 3.50286 4.28365 3.58156 4.3392 3.64852C4.39743 3.71867 4.4715 3.77429 4.55507 3.81073L4.56444 3.81438L4.63703 3.84678L6.13231 0.448073C6.21232 0.266158 6.36131 0.123199 6.54646 0.0510128C6.73183 -0.0211105 6.93952 -0.0165731 7.1216 0.0635088L7.73925 0.335162C8.09167 0.492892 8.39324 0.745985 8.61046 1.06519ZM7.37046 1.90915C7.32544 1.84298 7.26771 1.78679 7.20061 1.74427L5.70506 5.14573C5.62443 5.32903 5.47367 5.47215 5.28667 5.54378C5.09961 5.61541 4.89164 5.6095 4.70916 5.52691L3.95523 5.18434L3.9551 5.18572C3.65673 5.05555 3.39292 4.85703 3.18501 4.60655C2.9771 4.35603 2.83052 4.06025 2.75756 3.74297C2.75392 3.72716 2.75075 3.71096 2.74815 3.69494L2.73246 3.59501C2.71083 3.51301 2.67087 3.43671 2.61662 3.37134C2.55855 3.30146 2.48536 3.24566 2.40212 3.20925L2.39874 3.20825L2.33553 3.17949L1.59002 4.87453L2.1285 5.8046C2.15834 5.8393 2.18558 5.87656 2.20893 5.91679C2.27056 6.02298 2.36437 6.10671 2.47654 6.15663L11.2034 10.0268C11.377 10.1014 11.5654 10.1173 11.7461 10.0751L12.3068 9.94482C12.3334 9.93896 12.3585 9.92741 12.38 9.9107C12.4014 9.89403 12.4186 9.87241 12.4309 9.84816C12.4431 9.82382 12.4501 9.79678 12.4507 9.76955C12.4512 9.74235 12.4456 9.71519 12.4344 9.69037L12.4316 9.68386L12.1639 9.07092C12.0764 8.87771 11.92 8.72384 11.7255 8.63906L11.7189 8.63568L8.87855 7.36354C8.52458 7.20605 8.2213 6.95338 8.00322 6.63313C7.78468 6.3122 7.6599 5.93628 7.64347 5.54836L7.47164 2.21606L7.4714 2.21119C7.46656 2.10317 7.43127 1.99855 7.37046 1.90915Z", fill: "currentColor" }), _jsx("path", { d: "M14.083 0C14.4972 0 14.833 0.335825 14.833 0.75C14.833 1.16421 14.4972 1.5 14.083 1.5H0.75C0.335786 1.5 0 1.16421 0 0.75C4.48366e-05 0.335825 0.335814 0 0.75 0H14.083Z", transform: "translate(0 13)", fill: "currentColor" })] })));
30
+ };
31
+ export default ArrivalIcon;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface CalendarIconProps {
3
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ className?: string;
5
+ color?: string;
6
+ /**
7
+ * Couleur par défaut si aucune couleur n'est spécifiée
8
+ */
9
+ defaultColor?: string;
10
+ }
11
+ declare const CalendarIcon: React.FC<CalendarIconProps>;
12
+ export default CalendarIcon;
@@ -0,0 +1,41 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ var CalendarIcon = function (_a) {
14
+ var _b = _a.size, size = _b === void 0 ? 'md' : _b, _c = _a.className, className = _c === void 0 ? '' : _c, color = _a.color, _d = _a.defaultColor, defaultColor = _d === void 0 ? '#7F8594' : _d;
15
+ var getSizeClasses = function () {
16
+ switch (size) {
17
+ case 'xs': return 'w-3 h-3';
18
+ case 'sm': return 'w-4 h-4';
19
+ case 'md': return 'w-5 h-5';
20
+ case 'lg': return 'w-6 h-6';
21
+ case 'xl': return 'w-8 h-8';
22
+ default: return 'w-5 h-5';
23
+ }
24
+ };
25
+ var getSizeValues = function () {
26
+ switch (size) {
27
+ case 'xs': return { width: 10, height: 11 };
28
+ case 'sm': return { width: 12, height: 13 };
29
+ case 'md': return { width: 14, height: 15 };
30
+ case 'lg': return { width: 16, height: 17 };
31
+ case 'xl': return { width: 18, height: 19 };
32
+ default: return { width: 14, height: 15 };
33
+ }
34
+ };
35
+ var sizeClasses = getSizeClasses();
36
+ var sizeValues = getSizeValues();
37
+ var colorClass = color ? "text-".concat(color) : 'text-current';
38
+ var classes = "".concat(sizeClasses, " ").concat(colorClass, " ").concat(className);
39
+ return (_jsx("svg", __assign({ className: classes, width: sizeValues.width, height: sizeValues.height, viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M12 6.83301H1.5V12.75C1.5 13.0721 1.76099 13.3328 2.08301 13.333H11.417C11.739 13.3328 12 13.0721 12 12.75V6.83301ZM4.08984 10.667C4.50406 10.667 4.83984 11.0028 4.83984 11.417C4.83967 11.8311 4.50395 12.167 4.08984 12.167H4.08301C3.66905 12.1668 3.33318 11.8309 3.33301 11.417C3.33301 11.0029 3.66894 10.6672 4.08301 10.667H4.08984ZM6.75684 10.667C7.17097 10.6671 7.50684 11.0028 7.50684 11.417C7.50666 11.831 7.17086 12.1669 6.75684 12.167H6.75C6.3359 12.167 6.00018 11.8311 6 11.417C6 11.0028 6.33579 10.667 6.75 10.667H6.75684ZM9.42285 10.667C9.83706 10.667 10.1729 11.0028 10.1729 11.417C10.1727 11.8311 9.83696 12.167 9.42285 12.167H9.41699C9.00289 12.167 8.66717 11.8311 8.66699 11.417C8.66699 11.0028 9.00278 10.667 9.41699 10.667H9.42285ZM4.08984 8L4.16699 8.00391C4.54504 8.04246 4.83984 8.36178 4.83984 8.75C4.83984 9.13822 4.54504 9.45754 4.16699 9.49609L4.08984 9.5H4.08301C3.66894 9.49982 3.33301 9.1641 3.33301 8.75C3.33301 8.33589 3.66894 8.00018 4.08301 8H4.08984ZM6.75684 8L6.83301 8.00391C7.21136 8.04216 7.50684 8.36156 7.50684 8.75C7.50684 9.13844 7.21136 9.45784 6.83301 9.49609L6.75684 9.5H6.75C6.33579 9.5 6 9.16421 6 8.75C6 8.33579 6.33579 8 6.75 8H6.75684ZM9.42285 8L9.5 8.00391C9.8782 8.04231 10.1729 8.36167 10.1729 8.75C10.1729 9.13833 9.8782 9.45769 9.5 9.49609L9.42285 9.5H9.41699C9.00278 9.5 8.66699 9.16421 8.66699 8.75C8.66699 8.33579 9.00278 8 9.41699 8H9.42285ZM8.66699 3.41699V2.83301H4.83301V3.41699C4.83283 3.83106 4.49711 4.16699 4.08301 4.16699C3.66905 4.16682 3.33318 3.83095 3.33301 3.41699V2.83301H2.08301C1.76099 2.83318 1.5 3.09493 1.5 3.41699V5.33301H12V3.41699C12 3.09493 11.739 2.83318 11.417 2.83301H10.167V3.41699C10.1668 3.83095 9.83095 4.16682 9.41699 4.16699C9.00289 4.16699 8.66717 3.83106 8.66699 3.41699ZM13.5 12.75C13.5 13.9005 12.5674 14.8328 11.417 14.833H2.08301C0.932564 14.8328 0 13.9005 0 12.75V3.41699C0 2.26651 0.932564 1.33318 2.08301 1.33301H3.33301V0.75C3.33301 0.335895 3.66894 0.000175955 4.08301 0C4.49722 0 4.83301 0.335786 4.83301 0.75V1.33301H8.66699V0.75C8.66699 0.335786 9.00278 0 9.41699 0C9.83106 0.000175698 10.167 0.335895 10.167 0.75V1.33301H11.417C12.5674 1.33318 13.5 2.26651 13.5 3.41699V12.75Z", fill: "currentColor" }) })));
40
+ };
41
+ export default CalendarIcon;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface CarIconProps {
3
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ className?: string;
5
+ color?: string;
6
+ }
7
+ declare const CarIcon: React.FC<CarIconProps>;
8
+ export default CarIcon;
@@ -0,0 +1,30 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ var CarIcon = function (_a) {
14
+ var _b = _a.size, size = _b === void 0 ? 'md' : _b, _c = _a.className, className = _c === void 0 ? '' : _c, color = _a.color;
15
+ var getSizeClasses = function () {
16
+ switch (size) {
17
+ case 'xs': return 'w-3 h-3';
18
+ case 'sm': return 'w-4 h-4';
19
+ case 'md': return 'w-5 h-5';
20
+ case 'lg': return 'w-6 h-6';
21
+ case 'xl': return 'w-8 h-8';
22
+ default: return 'w-5 h-5';
23
+ }
24
+ };
25
+ var sizeClasses = getSizeClasses();
26
+ var colorClass = color ? "text-".concat(color) : 'text-current';
27
+ var classes = "".concat(sizeClasses, " ").concat(colorClass, " ").concat(className);
28
+ return (_jsx("svg", __assign({ className: classes, viewBox: "0 0 15 10", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M4.08301 6.83301C3.76099 6.83318 3.5 7.09493 3.5 7.41699C3.50018 7.7389 3.7611 7.99982 4.08301 8C4.40507 8 4.66682 7.73901 4.66699 7.41699C4.66699 7.09483 4.40517 6.83301 4.08301 6.83301ZM10.75 6.83301C10.4278 6.83301 10.167 7.09483 10.167 7.41699C10.1672 7.73901 10.4279 8 10.75 8C11.0721 8 11.3328 7.73901 11.333 7.41699C11.333 7.09483 11.0722 6.83301 10.75 6.83301ZM14.833 6.75C14.833 7.12036 14.7068 7.48744 14.4307 7.76367C14.1545 8.03984 13.7873 8.16692 13.417 8.16699H12.6914C12.39 8.94635 11.6357 9.5 10.75 9.5C9.86427 9.5 9.11001 8.94635 8.80859 8.16699H6.02539C5.72403 8.94646 4.96882 9.5 4.08301 9.5C3.19738 9.49986 2.44295 8.94631 2.1416 8.16699H1.41699C1.04663 8.16699 0.679553 8.03981 0.40332 7.76367C0.127069 7.48742 1.08773e-07 7.12044 0 6.75V4.08301C3.58734e-05 3.72816 0.0587414 3.37571 0.173828 3.04004L0.208008 2.95703L1.1416 1.02441L1.17383 0.963867C1.45555 0.494509 1.99662 0 2.75 0H7.41699C8.02313 8.21201e-05 8.52812 0.229169 8.92285 0.508789L9.08496 0.630859L9.14746 0.686523C9.45504 0.994111 9.8275 1.38402 10.1201 1.69336C10.2607 1.84193 10.3843 1.9728 10.4746 2.06934C10.4981 2.07467 10.5232 2.08085 10.5498 2.08691C10.7388 2.12996 11.0034 2.19034 11.3057 2.26172C11.9079 2.40391 12.6696 2.59002 13.2842 2.76074H13.2832C14.1168 2.97812 14.833 3.78677 14.833 4.75V6.75ZM1.5 6.66699H2.1416C2.4428 5.88737 3.19716 5.33314 4.08301 5.33301C4.96903 5.33301 5.72418 5.88722 6.02539 6.66699H8.80762C9.1088 5.88716 9.86393 5.33301 10.75 5.33301C11.6361 5.33301 12.3912 5.88716 12.6924 6.66699H13.333V4.75C13.333 4.52019 13.1268 4.26729 12.9014 4.21094C12.8952 4.20939 12.889 4.20776 12.8828 4.20605C12.2974 4.04344 11.5587 3.86282 10.9609 3.72168C10.6633 3.6514 10.4028 3.5912 10.2168 3.54883C10.1241 3.52772 10.0499 3.51144 9.99902 3.5C9.97361 3.49429 9.95361 3.48927 9.94043 3.48633C9.93409 3.48491 9.92908 3.48413 9.92578 3.4834C9.92422 3.48305 9.92268 3.4826 9.92188 3.48242H9.9209C9.77262 3.44947 9.63762 3.37196 9.53418 3.26074C9.53379 3.26033 9.53204 3.25867 9.53125 3.25781C9.52966 3.2561 9.52752 3.25334 9.52441 3.25C9.51806 3.24317 9.50837 3.2329 9.49609 3.21973C9.47155 3.19338 9.43544 3.15533 9.39062 3.10742C9.30073 3.01132 9.17495 2.87658 9.03027 2.72363C8.75146 2.42889 8.40768 2.07006 8.12207 1.7832C7.87973 1.59523 7.64931 1.50009 7.41699 1.5H2.75C2.72309 1.5 2.68485 1.50768 2.63184 1.54395C2.57804 1.58075 2.51904 1.64171 2.46777 1.72363L1.58301 3.55762C1.52838 3.72738 1.50003 3.90454 1.5 4.08301V6.66699Z", fill: "currentColor" }) })));
29
+ };
30
+ export default CarIcon;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface CheckProps {
3
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ className?: string;
5
+ color?: string;
6
+ }
7
+ declare const Check: React.FC<CheckProps>;
8
+ export default Check;
@@ -0,0 +1,30 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ var Check = function (_a) {
14
+ var _b = _a.size, size = _b === void 0 ? 'md' : _b, _c = _a.className, className = _c === void 0 ? '' : _c, color = _a.color;
15
+ var getSizeClasses = function () {
16
+ switch (size) {
17
+ case 'xs': return 'w-3 h-3';
18
+ case 'sm': return 'w-4 h-4';
19
+ case 'md': return 'w-5 h-5';
20
+ case 'lg': return 'w-6 h-6';
21
+ case 'xl': return 'w-8 h-8';
22
+ default: return 'w-5 h-5';
23
+ }
24
+ };
25
+ var sizeClasses = getSizeClasses();
26
+ var colorClass = color ? "text-".concat(color) : '';
27
+ var classes = "".concat(sizeClasses, " ").concat(colorClass, " ").concat(className).trim();
28
+ return (_jsx("svg", __assign({ className: classes, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, { children: _jsx("path", { d: "M20 6L9 17L4 12" }) })));
29
+ };
30
+ export default Check;