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.
- package/README.md +187 -0
- package/dist/components/atoms/Avatar/Avatar.d.ts +14 -0
- package/dist/components/atoms/Avatar/Avatar.js +31 -0
- package/dist/components/atoms/Button/Button.d.ts +27 -0
- package/dist/components/atoms/Button/Button.js +35 -0
- package/dist/components/atoms/Checkbox/Checkbox.d.ts +13 -0
- package/dist/components/atoms/Checkbox/Checkbox.js +33 -0
- package/dist/components/atoms/Icon/Icon.d.ts +10 -0
- package/dist/components/atoms/Icon/Icon.js +102 -0
- package/dist/components/atoms/Icon/icons/ArrivalIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/ArrivalIcon.js +31 -0
- package/dist/components/atoms/Icon/icons/CalendarIcon.d.ts +12 -0
- package/dist/components/atoms/Icon/icons/CalendarIcon.js +41 -0
- package/dist/components/atoms/Icon/icons/CarIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/CarIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/Check.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/Check.js +30 -0
- package/dist/components/atoms/Icon/icons/CheckCircleIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/CheckCircleIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/Chevron.d.ts +9 -0
- package/dist/components/atoms/Icon/icons/Chevron.js +54 -0
- package/dist/components/atoms/Icon/icons/ChevronDownIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/ChevronDownIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/Close.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/Close.js +30 -0
- package/dist/components/atoms/Icon/icons/DeleteIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/DeleteIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/DepartureIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/DepartureIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/EyeIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/EyeIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/FacebookIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/FacebookIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/InfoIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/InfoIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/LinkedInIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/LinkedInIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/MapPinIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/MapPinIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/MautoucoLogo.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/MautoucoLogo.js +37 -0
- package/dist/components/atoms/Icon/icons/MenuIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/MenuIcon.js +37 -0
- package/dist/components/atoms/Icon/icons/MoreIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/MoreIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/Search.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/Search.js +30 -0
- package/dist/components/atoms/Icon/icons/Settings.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/Settings.js +30 -0
- package/dist/components/atoms/Icon/icons/StrollerIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/StrollerIcon.js +30 -0
- package/dist/components/atoms/Icon/icons/TwitterIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/TwitterIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/User.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/User.js +30 -0
- package/dist/components/atoms/Icon/icons/UserIcon.d.ts +12 -0
- package/dist/components/atoms/Icon/icons/UserIcon.js +41 -0
- package/dist/components/atoms/Icon/icons/Youtube.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/Youtube.js +36 -0
- package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.d.ts +12 -0
- package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.js +53 -0
- package/dist/components/atoms/Inputs/Input/Input.d.ts +15 -0
- package/dist/components/atoms/Inputs/Input/Input.js +27 -0
- package/dist/components/atoms/Inputs/Textarea/Textarea.d.ts +14 -0
- package/dist/components/atoms/Inputs/Textarea/Textarea.js +15 -0
- package/dist/components/atoms/Link/Link.d.ts +44 -0
- package/dist/components/atoms/Link/Link.js +76 -0
- package/dist/components/atoms/SelectedValue/SelectedValue.d.ts +11 -0
- package/dist/components/atoms/SelectedValue/SelectedValue.js +29 -0
- package/dist/components/atoms/Spinner/Spinner.d.ts +9 -0
- package/dist/components/atoms/Spinner/Spinner.js +38 -0
- package/dist/components/atoms/Spinner/variants/ButtonSpinner.d.ts +8 -0
- package/dist/components/atoms/Spinner/variants/ButtonSpinner.js +19 -0
- package/dist/components/atoms/Spinner/variants/LoadingSpinner.d.ts +7 -0
- package/dist/components/atoms/Spinner/variants/LoadingSpinner.js +7 -0
- package/dist/components/atoms/Tab/Tab.d.ts +22 -0
- package/dist/components/atoms/Tab/Tab.js +54 -0
- package/dist/components/atoms/Typography/Heading/Heading.d.ts +9 -0
- package/dist/components/atoms/Typography/Heading/Heading.js +25 -0
- package/dist/components/atoms/Typography/Text/Text.d.ts +10 -0
- package/dist/components/atoms/Typography/Text/Text.js +77 -0
- package/dist/components/atoms/Typography/Typography.d.ts +24 -0
- package/dist/components/atoms/Typography/Typography.js +100 -0
- package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.d.ts +29 -0
- package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.js +106 -0
- package/dist/components/molecules/UserCard/UserCard.d.ts +20 -0
- package/dist/components/molecules/UserCard/UserCard.js +57 -0
- package/dist/components/organisms/Footer/Footer.d.ts +38 -0
- package/dist/components/organisms/Footer/Footer.js +74 -0
- package/dist/components/organisms/TopNavigation/DesktopNav.d.ts +33 -0
- package/dist/components/organisms/TopNavigation/DesktopNav.js +26 -0
- package/dist/components/organisms/TopNavigation/MobileNav.d.ts +32 -0
- package/dist/components/organisms/TopNavigation/MobileNav.js +45 -0
- package/dist/components/organisms/TopNavigation/TopNavigation.d.ts +33 -0
- package/dist/components/organisms/TopNavigation/TopNavigation.js +20 -0
- package/dist/hooks/useMobile.d.ts +5 -0
- package/dist/hooks/useMobile.js +26 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +28 -0
- package/dist/styles/tokens/tokens.d.ts +3108 -0
- package/dist/styles/tokens/tokens.js +2652 -0
- package/package.json +90 -0
- package/src/components/atoms/Avatar/Avatar.tsx +60 -0
- package/src/components/atoms/Button/Button.css +200 -0
- package/src/components/atoms/Button/Button.tsx +82 -0
- package/src/components/atoms/Checkbox/Checkbox.tsx +69 -0
- package/src/components/atoms/Icon/Icon.tsx +135 -0
- package/src/components/atoms/Icon/icons/ArrivalIcon.tsx +52 -0
- package/src/components/atoms/Icon/icons/CalendarIcon.tsx +63 -0
- package/src/components/atoms/Icon/icons/CarIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/Check.tsx +36 -0
- package/src/components/atoms/Icon/icons/CheckCircleIcon.tsx +48 -0
- package/src/components/atoms/Icon/icons/Chevron.tsx +73 -0
- package/src/components/atoms/Icon/icons/ChevronDownIcon.tsx +46 -0
- package/src/components/atoms/Icon/icons/Close.tsx +40 -0
- package/src/components/atoms/Icon/icons/DeleteIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/DepartureIcon.tsx +50 -0
- package/src/components/atoms/Icon/icons/EyeIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/FacebookIcon.tsx +50 -0
- package/src/components/atoms/Icon/icons/InfoIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/LinkedInIcon.tsx +50 -0
- package/src/components/atoms/Icon/icons/MapPinIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/MautoucoLogo.tsx +93 -0
- package/src/components/atoms/Icon/icons/MenuIcon.tsx +49 -0
- package/src/components/atoms/Icon/icons/MoreIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/Search.tsx +37 -0
- package/src/components/atoms/Icon/icons/Settings.tsx +38 -0
- package/src/components/atoms/Icon/icons/StrollerIcon.tsx +44 -0
- package/src/components/atoms/Icon/icons/TwitterIcon.tsx +50 -0
- package/src/components/atoms/Icon/icons/User.tsx +37 -0
- package/src/components/atoms/Icon/icons/UserIcon.tsx +63 -0
- package/src/components/atoms/Icon/icons/Youtube.tsx +50 -0
- package/src/components/atoms/Inputs/DropdownInput/DropdownInput.tsx +96 -0
- package/src/components/atoms/Inputs/Input/Input.tsx +66 -0
- package/src/components/atoms/Inputs/Textarea/Textarea.tsx +51 -0
- package/src/components/atoms/Link/Link.tsx +168 -0
- package/src/components/atoms/SelectedValue/SelectedValue.tsx +59 -0
- package/src/components/atoms/Spinner/Spinner.tsx +56 -0
- package/src/components/atoms/Spinner/variants/ButtonSpinner.tsx +37 -0
- package/src/components/atoms/Spinner/variants/LoadingSpinner.tsx +22 -0
- package/src/components/atoms/Tab/Tab.css +147 -0
- package/src/components/atoms/Tab/Tab.tsx +96 -0
- package/src/components/atoms/Typography/Typography.tsx +153 -0
- package/src/components/molecules/MultiSelectDropdown/MultiSelectDropdown.tsx +245 -0
- package/src/components/molecules/UserCard/UserCard.stories.tsx +36 -0
- package/src/components/molecules/UserCard/UserCard.tsx +173 -0
- package/src/components/organisms/Footer/Footer.tsx +290 -0
- package/src/components/organisms/TopNavigation/DesktopNav.tsx +122 -0
- package/src/components/organisms/TopNavigation/MobileNav.tsx +212 -0
- package/src/components/organisms/TopNavigation/TopNavigation.tsx +45 -0
- package/src/styles/components/avatar.css +58 -0
- package/src/styles/components/checkbox.css +132 -0
- package/src/styles/components/dropdown.css +214 -0
- package/src/styles/components/forms.css +147 -0
- package/src/styles/components/multiselect-dropdown.css +231 -0
- package/src/styles/components/organism/footer.css +113 -0
- package/src/styles/components/organism/topnavigation.css +162 -0
- package/src/styles/components/scrollbar.css +63 -0
- package/src/styles/components/selected-value.css +80 -0
- package/src/styles/components/typography.css +251 -0
- package/src/styles/tokens/_tokens.scss +2072 -0
- package/src/styles/tokens/tokens.css +2075 -0
- 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,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,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,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;
|