mautourco-components 0.2.5 → 0.2.7
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 +190 -190
- package/dist/components/atoms/Avatar/Avatar.d.ts +14 -14
- package/dist/components/atoms/Avatar/Avatar.js +31 -31
- package/dist/components/atoms/Button/Button.css +320 -320
- package/dist/components/atoms/Button/Button.d.ts +27 -27
- package/dist/components/atoms/Button/Button.js +35 -35
- package/dist/components/atoms/Checkbox/Checkbox.d.ts +13 -13
- package/dist/components/atoms/Checkbox/Checkbox.js +39 -39
- package/dist/components/atoms/Icon/Icon.d.ts +10 -10
- package/dist/components/atoms/Icon/Icon.js +123 -123
- package/dist/components/atoms/Icon/icons/ArrivalIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/ArrivalIcon.js +31 -31
- package/dist/components/atoms/Icon/icons/BuildingIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/BuildingIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/CalendarIcon.d.ts +12 -12
- package/dist/components/atoms/Icon/icons/CalendarIcon.js +41 -41
- package/dist/components/atoms/Icon/icons/CalendarOutlineIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/CalendarOutlineIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/CarIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/CarIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/Check.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/Check.js +30 -30
- package/dist/components/atoms/Icon/icons/CheckCircleIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/CheckCircleIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/Chevron.d.ts +9 -9
- package/dist/components/atoms/Icon/icons/Chevron.js +54 -54
- package/dist/components/atoms/Icon/icons/ChevronDownIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/ChevronDownIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/Close.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/Close.js +30 -30
- package/dist/components/atoms/Icon/icons/DeleteIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/DeleteIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/DepartureIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/DepartureIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/EyeIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/EyeIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/FacebookIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/FacebookIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/HomeIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/HomeIcon.js +25 -25
- package/dist/components/atoms/Icon/icons/InfoIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/InfoIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/LinkedInIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/LinkedInIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/MapPinIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/MapPinIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/MautoucoLogo.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/MautoucoLogo.js +37 -37
- package/dist/components/atoms/Icon/icons/MenuIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/MenuIcon.js +37 -37
- package/dist/components/atoms/Icon/icons/MinusIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/MinusIcon.js +25 -25
- package/dist/components/atoms/Icon/icons/MoreIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/MoreIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/PlaneIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/PlaneIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/PlusIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/PlusIcon.js +25 -25
- package/dist/components/atoms/Icon/icons/Search.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/Search.js +30 -30
- package/dist/components/atoms/Icon/icons/Settings.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/Settings.js +30 -30
- package/dist/components/atoms/Icon/icons/ShipIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/ShipIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/StrollerIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/StrollerIcon.js +30 -30
- package/dist/components/atoms/Icon/icons/TwitterIcon.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/TwitterIcon.js +36 -36
- package/dist/components/atoms/Icon/icons/User.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/User.js +30 -30
- package/dist/components/atoms/Icon/icons/UserIcon.d.ts +12 -12
- package/dist/components/atoms/Icon/icons/UserIcon.js +41 -41
- package/dist/components/atoms/Icon/icons/Youtube.d.ts +8 -8
- package/dist/components/atoms/Icon/icons/Youtube.js +36 -36
- package/dist/components/atoms/Illustration/Illustration.d.ts +14 -14
- package/dist/components/atoms/Illustration/Illustration.js +33 -33
- package/dist/components/atoms/Illustration/illustrations.d.ts +51 -51
- package/dist/components/atoms/Illustration/illustrations.js +97 -97
- package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.d.ts +12 -12
- package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.js +53 -53
- package/dist/components/atoms/Inputs/Input/Input.d.ts +15 -15
- package/dist/components/atoms/Inputs/Input/Input.js +27 -27
- package/dist/components/atoms/Inputs/Textarea/Textarea.d.ts +14 -14
- package/dist/components/atoms/Inputs/Textarea/Textarea.js +15 -15
- package/dist/components/atoms/Link/Link.d.ts +44 -44
- package/dist/components/atoms/Link/Link.js +76 -76
- package/dist/components/atoms/RatingStar/RatingStar.d.ts +40 -40
- package/dist/components/atoms/RatingStar/RatingStar.js +54 -54
- package/dist/components/atoms/SegmentedButton/SegmentedButton.d.ts +27 -27
- package/dist/components/atoms/SegmentedButton/SegmentedButton.js +49 -49
- package/dist/components/atoms/SelectedValue/SelectedValue.d.ts +11 -11
- package/dist/components/atoms/SelectedValue/SelectedValue.js +29 -29
- package/dist/components/atoms/Slider/Slider.d.ts +52 -52
- package/dist/components/atoms/Slider/Slider.js +30 -30
- package/dist/components/atoms/Spinner/Spinner.d.ts +9 -9
- package/dist/components/atoms/Spinner/Spinner.js +38 -38
- package/dist/components/atoms/Spinner/variants/ButtonSpinner.d.ts +8 -8
- package/dist/components/atoms/Spinner/variants/ButtonSpinner.js +19 -19
- package/dist/components/atoms/Spinner/variants/LoadingSpinner.d.ts +7 -7
- package/dist/components/atoms/Spinner/variants/LoadingSpinner.js +7 -7
- package/dist/components/atoms/Tab/Tab.css +266 -266
- package/dist/components/atoms/Tab/Tab.d.ts +22 -22
- package/dist/components/atoms/Tab/Tab.js +54 -54
- package/dist/components/atoms/Typography/Typography.d.ts +24 -24
- package/dist/components/atoms/Typography/Typography.js +100 -100
- package/dist/components/molecules/Calendar/CalendarInput.d.ts +34 -34
- package/dist/components/molecules/Calendar/CalendarInput.js +49 -49
- package/dist/components/molecules/Calendar/DateTime.d.ts +25 -25
- package/dist/components/molecules/Calendar/DateTime.js +106 -106
- package/dist/components/molecules/Calendar/TimePicker.d.ts +16 -16
- package/dist/components/molecules/Calendar/TimePicker.js +91 -91
- package/dist/components/molecules/LocationDropdown/LocationDropdown.d.ts +34 -34
- package/dist/components/molecules/LocationDropdown/LocationDropdown.js +120 -120
- package/dist/components/molecules/LocationDropdown/index.d.ts +2 -2
- package/dist/components/molecules/LocationDropdown/index.js +1 -1
- package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.d.ts +29 -29
- package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.js +106 -106
- package/dist/components/molecules/RatingTab/RatingTab.d.ts +39 -39
- package/dist/components/molecules/RatingTab/RatingTab.js +41 -41
- package/dist/components/molecules/TabGroup/TabGroup.d.ts +17 -17
- package/dist/components/molecules/TabGroup/TabGroup.js +30 -30
- package/dist/components/molecules/UserCard/UserCard.d.ts +20 -20
- package/dist/components/molecules/UserCard/UserCard.js +57 -57
- package/dist/components/organisms/CardContainer/CardContainer.d.ts +37 -37
- package/dist/components/organisms/CardContainer/CardContainer.js +27 -27
- package/dist/components/organisms/DateTimePicker/DateTimePicker.d.ts +15 -15
- package/dist/components/organisms/DateTimePicker/DateTimePicker.js +66 -66
- package/dist/components/organisms/Dialog/Dialog.d.ts +103 -103
- package/dist/components/organisms/Dialog/Dialog.js +162 -162
- package/dist/components/organisms/Footer/Footer.d.ts +38 -38
- package/dist/components/organisms/Footer/Footer.js +74 -74
- package/dist/components/organisms/PaxSelector/PaxSelector.d.ts +63 -63
- package/dist/components/organisms/PaxSelector/PaxSelector.js +402 -402
- package/dist/components/organisms/RoundTrip/RoundTrip.d.ts +54 -54
- package/dist/components/organisms/RoundTrip/RoundTrip.js +179 -179
- package/dist/components/organisms/RoundTrip/index.d.ts +2 -2
- package/dist/components/organisms/RoundTrip/index.js +1 -1
- package/dist/components/organisms/SearchBarTransfer/SearchBarTransfer.d.ts +35 -35
- package/dist/components/organisms/SearchBarTransfer/SearchBarTransfer.js +192 -192
- package/dist/components/organisms/SearchBarTransfer/index.d.ts +2 -2
- package/dist/components/organisms/SearchBarTransfer/index.js +1 -1
- package/dist/components/organisms/TopNavigation/DesktopNav.d.ts +33 -33
- package/dist/components/organisms/TopNavigation/DesktopNav.js +32 -32
- package/dist/components/organisms/TopNavigation/MobileNav.d.ts +32 -32
- package/dist/components/organisms/TopNavigation/MobileNav.js +45 -45
- package/dist/components/organisms/TopNavigation/TopNavigation.d.ts +33 -33
- package/dist/components/organisms/TopNavigation/TopNavigation.js +20 -20
- package/dist/components/organisms/TransferLine/TransferLine.d.ts +53 -53
- package/dist/components/organisms/TransferLine/TransferLine.js +179 -179
- package/dist/components/ui/button.d.ts +10 -10
- package/dist/components/ui/button.js +56 -56
- package/dist/components/ui/calendar.d.ts +8 -8
- package/dist/components/ui/calendar.js +87 -87
- package/dist/components/ui/popover.d.ts +7 -7
- package/dist/components/ui/popover.js +42 -42
- package/dist/hooks/useMobile.d.ts +5 -5
- package/dist/hooks/useMobile.js +26 -26
- package/dist/index.d.ts +49 -49
- package/dist/index.js +46 -46
- package/dist/lib/utils.d.ts +7 -7
- package/dist/lib/utils.js +13 -13
- package/dist/styles/components/avatar.css +122 -122
- package/dist/styles/components/calendar.css +140 -140
- package/dist/styles/components/checkbox.css +206 -206
- package/dist/styles/components/dropdown.css +269 -269
- package/dist/styles/components/forms.css +209 -209
- package/dist/styles/components/illustration.css +123 -123
- package/dist/styles/components/molecule/calendarInput.css +133 -133
- package/dist/styles/components/molecule/dateTime.css +126 -126
- package/dist/styles/components/molecule/location-dropdown.css +132 -132
- package/dist/styles/components/molecule/timePicker.css +122 -122
- package/dist/styles/components/multiselect-dropdown.css +286 -286
- package/dist/styles/components/organism/card-container.css +148 -148
- package/dist/styles/components/organism/dialog.css +168 -168
- package/dist/styles/components/organism/footer.css +119 -119
- package/dist/styles/components/organism/pax-selector.css +617 -617
- package/dist/styles/components/organism/round-trip.css +139 -139
- package/dist/styles/components/organism/search-bar-transfer.css +158 -161
- package/dist/styles/components/organism/topnavigation.css +142 -142
- package/dist/styles/components/organism/transfer-line.css +138 -138
- package/dist/styles/components/rating-star.css +145 -145
- package/dist/styles/components/rating-tab.css +179 -179
- package/dist/styles/components/scrollbar.css +155 -155
- package/dist/styles/components/segmented-button.css +214 -214
- package/dist/styles/components/selected-value.css +175 -175
- package/dist/styles/components/slider.css +182 -182
- package/dist/styles/components/typography.css +245 -245
- package/dist/styles/tokens/tokens.css +119 -119
- package/dist/styles/tokens/tokens.d.ts +3108 -3108
- package/dist/styles/tokens/tokens.js +2652 -2652
- package/package.json +103 -103
- package/src/components/atoms/Avatar/Avatar.tsx +60 -60
- package/src/components/atoms/Button/Button.css +200 -200
- package/src/components/atoms/Button/Button.tsx +82 -82
- package/src/components/atoms/Checkbox/Checkbox.tsx +83 -83
- package/src/components/atoms/Icon/Icon.tsx +163 -163
- package/src/components/atoms/Icon/icons/ArrivalIcon.tsx +52 -52
- package/src/components/atoms/Icon/icons/BuildingIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/CalendarIcon.tsx +63 -63
- package/src/components/atoms/Icon/icons/CalendarOutlineIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/CarIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/Check.tsx +36 -36
- package/src/components/atoms/Icon/icons/CheckCircleIcon.tsx +48 -48
- package/src/components/atoms/Icon/icons/Chevron.tsx +73 -73
- package/src/components/atoms/Icon/icons/ChevronDownIcon.tsx +46 -46
- package/src/components/atoms/Icon/icons/Close.tsx +39 -39
- package/src/components/atoms/Icon/icons/DeleteIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/DepartureIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/EyeIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/FacebookIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/HomeIcon.tsx +52 -52
- package/src/components/atoms/Icon/icons/InfoIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/LinkedInIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/MapPinIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/MautoucoLogo.tsx +93 -93
- package/src/components/atoms/Icon/icons/MenuIcon.tsx +49 -49
- package/src/components/atoms/Icon/icons/MinusIcon.tsx +45 -45
- package/src/components/atoms/Icon/icons/MoreIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/PlaneIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/PlusIcon.tsx +45 -45
- package/src/components/atoms/Icon/icons/Search.tsx +37 -37
- package/src/components/atoms/Icon/icons/Settings.tsx +38 -38
- package/src/components/atoms/Icon/icons/ShipIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/StrollerIcon.tsx +44 -44
- package/src/components/atoms/Icon/icons/TwitterIcon.tsx +50 -50
- package/src/components/atoms/Icon/icons/User.tsx +37 -37
- package/src/components/atoms/Icon/icons/UserIcon.tsx +63 -63
- package/src/components/atoms/Icon/icons/Youtube.tsx +50 -50
- package/src/components/atoms/Illustration/Illustration.tsx +28 -28
- package/src/components/atoms/Illustration/illustrations.ts +116 -116
- package/src/components/atoms/Inputs/DropdownInput/DropdownInput.tsx +96 -96
- package/src/components/atoms/Inputs/Textarea/Textarea.tsx +51 -51
- package/src/components/atoms/Link/Link.tsx +168 -168
- package/src/components/atoms/RatingStar/RatingStar.tsx +114 -114
- package/src/components/atoms/SegmentedButton/SegmentedButton.tsx +94 -94
- package/src/components/atoms/SelectedValue/SelectedValue.tsx +59 -59
- package/src/components/atoms/Slider/Slider.tsx +95 -95
- package/src/components/atoms/Spinner/Spinner.tsx +56 -56
- package/src/components/atoms/Spinner/variants/ButtonSpinner.tsx +37 -37
- package/src/components/atoms/Spinner/variants/LoadingSpinner.tsx +22 -22
- package/src/components/atoms/Tab/Tab.css +147 -147
- package/src/components/atoms/Tab/Tab.tsx +96 -96
- package/src/components/atoms/Typography/Typography.tsx +153 -153
- package/src/components/molecules/Calendar/CalendarInput.tsx +135 -135
- package/src/components/molecules/Calendar/DateTime.tsx +172 -172
- package/src/components/molecules/Calendar/TimePicker.tsx +174 -174
- package/src/components/molecules/LocationDropdown/LocationDropdown.tsx +234 -234
- package/src/components/molecules/LocationDropdown/index.ts +2 -2
- package/src/components/molecules/RatingTab/RatingTab.tsx +96 -96
- package/src/components/molecules/TabGroup/TabGroup.tsx +60 -60
- package/src/components/molecules/UserCard/UserCard.stories.tsx +36 -36
- package/src/components/molecules/UserCard/UserCard.tsx +173 -173
- package/src/components/organisms/CardContainer/CardContainer.tsx +66 -66
- package/src/components/organisms/DateTimePicker/DateTimePicker.tsx +110 -110
- package/src/components/organisms/Dialog/Dialog.tsx +352 -352
- package/src/components/organisms/Footer/Footer.tsx +290 -290
- package/src/components/organisms/PaxSelector/PaxSelector.tsx +979 -979
- package/src/components/organisms/RoundTrip/RoundTrip.tsx +335 -335
- package/src/components/organisms/RoundTrip/index.ts +2 -2
- package/src/components/organisms/SearchBarTransfer/SearchBarTransfer.tsx +388 -388
- package/src/components/organisms/SearchBarTransfer/index.ts +2 -2
- package/src/components/organisms/TopNavigation/DesktopNav.tsx +133 -133
- package/src/components/organisms/TopNavigation/MobileNav.tsx +212 -212
- package/src/components/organisms/TopNavigation/TopNavigation.tsx +45 -45
- package/src/components/organisms/TransferLine/TransferLine.tsx +369 -369
- package/src/components/ui/button.tsx +60 -60
- package/src/components/ui/calendar.tsx +246 -246
- package/src/components/ui/popover.tsx +46 -46
- package/src/styles/components/avatar.css +58 -58
- package/src/styles/components/calendar.css +85 -85
- package/src/styles/components/checkbox.css +130 -130
- package/src/styles/components/dropdown.css +214 -214
- package/src/styles/components/forms.css +147 -147
- package/src/styles/components/illustration.css +7 -7
- package/src/styles/components/molecule/calendarInput.css +156 -156
- package/src/styles/components/molecule/dateTime.css +14 -14
- package/src/styles/components/molecule/location-dropdown.css +204 -204
- package/src/styles/components/molecule/timePicker.css +78 -78
- package/src/styles/components/multiselect-dropdown.css +230 -230
- package/src/styles/components/organism/card-container.css +49 -49
- package/src/styles/components/organism/dialog.css +241 -241
- package/src/styles/components/organism/footer.css +113 -113
- package/src/styles/components/organism/pax-selector.css +702 -702
- package/src/styles/components/organism/round-trip.css +55 -55
- package/src/styles/components/organism/search-bar-transfer.css +128 -127
- package/src/styles/components/organism/topnavigation.css +161 -161
- package/src/styles/components/organism/transfer-line.css +86 -86
- package/src/styles/components/rating-star.css +39 -39
- package/src/styles/components/rating-tab.css +83 -83
- package/src/styles/components/scrollbar.css +63 -63
- package/src/styles/components/segmented-button.css +134 -134
- package/src/styles/components/selected-value.css +80 -80
- package/src/styles/components/slider.css +86 -86
- package/src/styles/components/typography.css +251 -251
- package/src/styles/fonts.css +50 -0
- package/src/styles/tokens/tokens.css +119 -119
- package/src/styles/tokens/tokens.js +12 -6
package/README.md
CHANGED
|
@@ -1,191 +1,191 @@
|
|
|
1
|
-
# Motorco - Bibliothèque de composants
|
|
2
|
-
|
|
3
|
-
Ce dépôt contient la bibliothèque de composants utilisée pour la refonte de B2B_react. Le package est publié sur npm afin de faciliter son intégration continue dans le projet.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
### Dans B2B_react
|
|
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
|
-
// Utilisez les fichiers CSS compilés depuis dist/styles (recommandé)
|
|
18
|
-
import 'mautourco-components/dist/styles/tokens/tokens.css';
|
|
19
|
-
import 'mautourco-components/dist/styles/components/forms.css';
|
|
20
|
-
import 'mautourco-components/dist/styles/components/typography.css';
|
|
21
|
-
import 'mautourco-components/dist/styles/components/organism/topnavigation.css';
|
|
22
|
-
import 'mautourco-components/dist/styles/components/organism/footer.css';
|
|
23
|
-
|
|
24
|
-
// Note: Les CSS sont précompilés avec Tailwind v3, donc compatibles avec Tailwind v3 et v4
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### 2. Utiliser les composants
|
|
28
|
-
|
|
29
|
-
#### Exemple avec des atoms et molecules
|
|
30
|
-
```tsx
|
|
31
|
-
import React from 'react';
|
|
32
|
-
import {
|
|
33
|
-
Input,
|
|
34
|
-
Checkbox,
|
|
35
|
-
Text,
|
|
36
|
-
Heading,
|
|
37
|
-
Icon,
|
|
38
|
-
MultiSelectDropdown
|
|
39
|
-
} from 'mautourco-components';
|
|
40
|
-
|
|
41
|
-
function App() {
|
|
42
|
-
return (
|
|
43
|
-
<div>
|
|
44
|
-
<Heading level="h1">Mon Application</Heading>
|
|
45
|
-
|
|
46
|
-
<Input
|
|
47
|
-
placeholder="Votre nom"
|
|
48
|
-
icon="user"
|
|
49
|
-
iconPosition="leading"
|
|
50
|
-
/>
|
|
51
|
-
|
|
52
|
-
<Checkbox
|
|
53
|
-
label="J'accepte les conditions"
|
|
54
|
-
onChange={(checked) => console.log(checked)}
|
|
55
|
-
/>
|
|
56
|
-
|
|
57
|
-
<Icon name="search" size="md" />
|
|
58
|
-
</div>
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
#### Exemple avec des organisms (TopNavigation et Footer)
|
|
64
|
-
```tsx
|
|
65
|
-
import React from 'react';
|
|
66
|
-
import { TopNavigation, Footer, Icon } from 'mautourco-components';
|
|
67
|
-
import type { TopNavigationProps, FooterProps } from 'mautourco-components';
|
|
68
|
-
|
|
69
|
-
// Exemple avec TopNavigation
|
|
70
|
-
const navigationLinks = [
|
|
71
|
-
{ label: 'Accueil', route: '/', isButton: false },
|
|
72
|
-
{ label: 'Services', route: '/services', isButton: false },
|
|
73
|
-
{ label: 'Contact', route: '/contact', isButton: true },
|
|
74
|
-
];
|
|
75
|
-
|
|
76
|
-
const Logo = () => <Icon name="mautourcoLogo" size="md" />;
|
|
77
|
-
|
|
78
|
-
function App() {
|
|
79
|
-
const handleLinkClick = (link: { label: string; route: string }) => {
|
|
80
|
-
// Gérer la navigation (ex: avec React Router)
|
|
81
|
-
console.log('Navigation vers:', link.route);
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
return (
|
|
85
|
-
<div>
|
|
86
|
-
<TopNavigation
|
|
87
|
-
links={navigationLinks}
|
|
88
|
-
logoUrl={Logo}
|
|
89
|
-
homeUrl="/"
|
|
90
|
-
active="Accueil"
|
|
91
|
-
onLinkClick={handleLinkClick}
|
|
92
|
-
onLogin={() => console.log('Login')}
|
|
93
|
-
onLogout={() => console.log('Logout')}
|
|
94
|
-
/>
|
|
95
|
-
|
|
96
|
-
{/* Votre contenu principal */}
|
|
97
|
-
<main>...</main>
|
|
98
|
-
|
|
99
|
-
<Footer
|
|
100
|
-
logo={<Logo />}
|
|
101
|
-
columns={[
|
|
102
|
-
{
|
|
103
|
-
id: 'menu-1',
|
|
104
|
-
title: 'Navigation',
|
|
105
|
-
links: [
|
|
106
|
-
{ label: 'Accueil', href: '/', onClick: () => handleLinkClick({ label: 'Accueil', route: '/' }) },
|
|
107
|
-
{ label: 'Services', href: '/services' },
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
]}
|
|
111
|
-
contact={{
|
|
112
|
-
title: 'Contact',
|
|
113
|
-
addressLines: ['84, Gustave Colin Street', 'Forest Side 74414, Mauritius'],
|
|
114
|
-
phone: '+ (230) 604 3000',
|
|
115
|
-
email: 'info@mautourco.com',
|
|
116
|
-
}}
|
|
117
|
-
socials={[
|
|
118
|
-
{ id: 'fb', label: 'Facebook', href: '#', icon: <Icon name="facebook" size="md" /> },
|
|
119
|
-
{ id: 'in', label: 'LinkedIn', href: '#', icon: <Icon name="linkedin" size="md" /> },
|
|
120
|
-
]}
|
|
121
|
-
homeUrl="/"
|
|
122
|
-
onLinkClick={handleLinkClick}
|
|
123
|
-
/>
|
|
124
|
-
</div>
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Composants disponibles
|
|
130
|
-
|
|
131
|
-
### Atoms (Composants de base)
|
|
132
|
-
- `Input` - Champ de saisie avec variantes
|
|
133
|
-
- `Checkbox` - Case à cocher
|
|
134
|
-
- `Text` - Texte avec variantes de style
|
|
135
|
-
- `Heading` - Titres (h1, h2, h3, etc.)
|
|
136
|
-
- `Icon` - Icônes avec différentes tailles
|
|
137
|
-
- `Spinner` - Indicateur de chargement
|
|
138
|
-
- `Textarea` - Zone de texte multi-lignes
|
|
139
|
-
- `DropdownInput` - Champ de saisie avec dropdown
|
|
140
|
-
- `SelectedValue` - Affichage de valeur sélectionnée
|
|
141
|
-
|
|
142
|
-
### Molecules (Composants composés)
|
|
143
|
-
- `MultiSelectDropdown` - Dropdown de sélection multiple
|
|
144
|
-
|
|
145
|
-
### Organisms (Composants complexes)
|
|
146
|
-
- `TopNavigation` - Navigation responsive avec support mobile/desktop, authentification et gestion d'agence
|
|
147
|
-
- `Footer` - Pied de page responsive avec colonnes de menu, contact et réseaux sociaux
|
|
148
|
-
|
|
149
|
-
### Variantes de Spinner
|
|
150
|
-
- `ButtonSpinner` - Spinner pour boutons
|
|
151
|
-
- `LoadingSpinner` - Spinner de chargement général
|
|
152
|
-
|
|
153
|
-
### Icônes individuelles
|
|
154
|
-
- `CheckIcon`, `ChevronIcon`, `CloseIcon`
|
|
155
|
-
- `SearchIcon`, `SettingsIcon`, `UserIcon`
|
|
156
|
-
|
|
157
|
-
## Mise à jour du package
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
# Dans votre projet
|
|
161
|
-
npm update mautourco-components
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Développement du package
|
|
165
|
-
|
|
166
|
-
### Scripts disponibles
|
|
167
|
-
```bash
|
|
168
|
-
npm run build:package # Build du package pour distribution
|
|
169
|
-
npm run build-tokens # Génération des design tokens
|
|
170
|
-
npm run storybook # Démarre Storybook
|
|
171
|
-
npm publish # Publication sur npm (après login)
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### Ajout de nouveaux composants
|
|
175
|
-
1. Créez votre composant dans `src/components/`
|
|
176
|
-
2. Ajoutez l'export dans `src/index.ts`
|
|
177
|
-
3. `npm run build:package`
|
|
178
|
-
4. `npm publish`
|
|
179
|
-
|
|
180
|
-
## Notes importantes
|
|
181
|
-
|
|
182
|
-
- **Styles** : Les composants nécessitent l'import des fichiers CSS correspondants depuis `dist/styles/`
|
|
183
|
-
- **CSS compilés** : Les CSS sont précompilés avec Tailwind v3 lors du build, donc compatibles avec Tailwind v3 et v4
|
|
184
|
-
- **TypeScript** : Tous les composants sont typés
|
|
185
|
-
- **Design tokens** : Générés automatiquement depuis le dossier `tokens/`
|
|
186
|
-
|
|
187
|
-
## Dépannage
|
|
188
|
-
|
|
189
|
-
- **Composant non trouvé** : Vérifiez qu'il est exporté dans `src/index.ts`
|
|
190
|
-
- **Styles manquants** : Assurez-vous d'importer les fichiers CSS nécessaires
|
|
1
|
+
# Motorco - Bibliothèque de composants
|
|
2
|
+
|
|
3
|
+
Ce dépôt contient la bibliothèque de composants utilisée pour la refonte de B2B_react. Le package est publié sur npm afin de faciliter son intégration continue dans le projet.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Dans B2B_react
|
|
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
|
+
// Utilisez les fichiers CSS compilés depuis dist/styles (recommandé)
|
|
18
|
+
import 'mautourco-components/dist/styles/tokens/tokens.css';
|
|
19
|
+
import 'mautourco-components/dist/styles/components/forms.css';
|
|
20
|
+
import 'mautourco-components/dist/styles/components/typography.css';
|
|
21
|
+
import 'mautourco-components/dist/styles/components/organism/topnavigation.css';
|
|
22
|
+
import 'mautourco-components/dist/styles/components/organism/footer.css';
|
|
23
|
+
|
|
24
|
+
// Note: Les CSS sont précompilés avec Tailwind v3, donc compatibles avec Tailwind v3 et v4
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. Utiliser les composants
|
|
28
|
+
|
|
29
|
+
#### Exemple avec des atoms et molecules
|
|
30
|
+
```tsx
|
|
31
|
+
import React from 'react';
|
|
32
|
+
import {
|
|
33
|
+
Input,
|
|
34
|
+
Checkbox,
|
|
35
|
+
Text,
|
|
36
|
+
Heading,
|
|
37
|
+
Icon,
|
|
38
|
+
MultiSelectDropdown
|
|
39
|
+
} from 'mautourco-components';
|
|
40
|
+
|
|
41
|
+
function App() {
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
<Heading level="h1">Mon Application</Heading>
|
|
45
|
+
|
|
46
|
+
<Input
|
|
47
|
+
placeholder="Votre nom"
|
|
48
|
+
icon="user"
|
|
49
|
+
iconPosition="leading"
|
|
50
|
+
/>
|
|
51
|
+
|
|
52
|
+
<Checkbox
|
|
53
|
+
label="J'accepte les conditions"
|
|
54
|
+
onChange={(checked) => console.log(checked)}
|
|
55
|
+
/>
|
|
56
|
+
|
|
57
|
+
<Icon name="search" size="md" />
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Exemple avec des organisms (TopNavigation et Footer)
|
|
64
|
+
```tsx
|
|
65
|
+
import React from 'react';
|
|
66
|
+
import { TopNavigation, Footer, Icon } from 'mautourco-components';
|
|
67
|
+
import type { TopNavigationProps, FooterProps } from 'mautourco-components';
|
|
68
|
+
|
|
69
|
+
// Exemple avec TopNavigation
|
|
70
|
+
const navigationLinks = [
|
|
71
|
+
{ label: 'Accueil', route: '/', isButton: false },
|
|
72
|
+
{ label: 'Services', route: '/services', isButton: false },
|
|
73
|
+
{ label: 'Contact', route: '/contact', isButton: true },
|
|
74
|
+
];
|
|
75
|
+
|
|
76
|
+
const Logo = () => <Icon name="mautourcoLogo" size="md" />;
|
|
77
|
+
|
|
78
|
+
function App() {
|
|
79
|
+
const handleLinkClick = (link: { label: string; route: string }) => {
|
|
80
|
+
// Gérer la navigation (ex: avec React Router)
|
|
81
|
+
console.log('Navigation vers:', link.route);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
return (
|
|
85
|
+
<div>
|
|
86
|
+
<TopNavigation
|
|
87
|
+
links={navigationLinks}
|
|
88
|
+
logoUrl={Logo}
|
|
89
|
+
homeUrl="/"
|
|
90
|
+
active="Accueil"
|
|
91
|
+
onLinkClick={handleLinkClick}
|
|
92
|
+
onLogin={() => console.log('Login')}
|
|
93
|
+
onLogout={() => console.log('Logout')}
|
|
94
|
+
/>
|
|
95
|
+
|
|
96
|
+
{/* Votre contenu principal */}
|
|
97
|
+
<main>...</main>
|
|
98
|
+
|
|
99
|
+
<Footer
|
|
100
|
+
logo={<Logo />}
|
|
101
|
+
columns={[
|
|
102
|
+
{
|
|
103
|
+
id: 'menu-1',
|
|
104
|
+
title: 'Navigation',
|
|
105
|
+
links: [
|
|
106
|
+
{ label: 'Accueil', href: '/', onClick: () => handleLinkClick({ label: 'Accueil', route: '/' }) },
|
|
107
|
+
{ label: 'Services', href: '/services' },
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
]}
|
|
111
|
+
contact={{
|
|
112
|
+
title: 'Contact',
|
|
113
|
+
addressLines: ['84, Gustave Colin Street', 'Forest Side 74414, Mauritius'],
|
|
114
|
+
phone: '+ (230) 604 3000',
|
|
115
|
+
email: 'info@mautourco.com',
|
|
116
|
+
}}
|
|
117
|
+
socials={[
|
|
118
|
+
{ id: 'fb', label: 'Facebook', href: '#', icon: <Icon name="facebook" size="md" /> },
|
|
119
|
+
{ id: 'in', label: 'LinkedIn', href: '#', icon: <Icon name="linkedin" size="md" /> },
|
|
120
|
+
]}
|
|
121
|
+
homeUrl="/"
|
|
122
|
+
onLinkClick={handleLinkClick}
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Composants disponibles
|
|
130
|
+
|
|
131
|
+
### Atoms (Composants de base)
|
|
132
|
+
- `Input` - Champ de saisie avec variantes
|
|
133
|
+
- `Checkbox` - Case à cocher
|
|
134
|
+
- `Text` - Texte avec variantes de style
|
|
135
|
+
- `Heading` - Titres (h1, h2, h3, etc.)
|
|
136
|
+
- `Icon` - Icônes avec différentes tailles
|
|
137
|
+
- `Spinner` - Indicateur de chargement
|
|
138
|
+
- `Textarea` - Zone de texte multi-lignes
|
|
139
|
+
- `DropdownInput` - Champ de saisie avec dropdown
|
|
140
|
+
- `SelectedValue` - Affichage de valeur sélectionnée
|
|
141
|
+
|
|
142
|
+
### Molecules (Composants composés)
|
|
143
|
+
- `MultiSelectDropdown` - Dropdown de sélection multiple
|
|
144
|
+
|
|
145
|
+
### Organisms (Composants complexes)
|
|
146
|
+
- `TopNavigation` - Navigation responsive avec support mobile/desktop, authentification et gestion d'agence
|
|
147
|
+
- `Footer` - Pied de page responsive avec colonnes de menu, contact et réseaux sociaux
|
|
148
|
+
|
|
149
|
+
### Variantes de Spinner
|
|
150
|
+
- `ButtonSpinner` - Spinner pour boutons
|
|
151
|
+
- `LoadingSpinner` - Spinner de chargement général
|
|
152
|
+
|
|
153
|
+
### Icônes individuelles
|
|
154
|
+
- `CheckIcon`, `ChevronIcon`, `CloseIcon`
|
|
155
|
+
- `SearchIcon`, `SettingsIcon`, `UserIcon`
|
|
156
|
+
|
|
157
|
+
## Mise à jour du package
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Dans votre projet
|
|
161
|
+
npm update mautourco-components
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Développement du package
|
|
165
|
+
|
|
166
|
+
### Scripts disponibles
|
|
167
|
+
```bash
|
|
168
|
+
npm run build:package # Build du package pour distribution
|
|
169
|
+
npm run build-tokens # Génération des design tokens
|
|
170
|
+
npm run storybook # Démarre Storybook
|
|
171
|
+
npm publish # Publication sur npm (après login)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Ajout de nouveaux composants
|
|
175
|
+
1. Créez votre composant dans `src/components/`
|
|
176
|
+
2. Ajoutez l'export dans `src/index.ts`
|
|
177
|
+
3. `npm run build:package`
|
|
178
|
+
4. `npm publish`
|
|
179
|
+
|
|
180
|
+
## Notes importantes
|
|
181
|
+
|
|
182
|
+
- **Styles** : Les composants nécessitent l'import des fichiers CSS correspondants depuis `dist/styles/`
|
|
183
|
+
- **CSS compilés** : Les CSS sont précompilés avec Tailwind v3 lors du build, donc compatibles avec Tailwind v3 et v4
|
|
184
|
+
- **TypeScript** : Tous les composants sont typés
|
|
185
|
+
- **Design tokens** : Générés automatiquement depuis le dossier `tokens/`
|
|
186
|
+
|
|
187
|
+
## Dépannage
|
|
188
|
+
|
|
189
|
+
- **Composant non trouvé** : Vérifiez qu'il est exporté dans `src/index.ts`
|
|
190
|
+
- **Styles manquants** : Assurez-vous d'importer les fichiers CSS nécessaires
|
|
191
191
|
- **Erreur de build** : Vérifiez que tous les composants exportés existent réellement
|
|
@@ -1,14 +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>;
|
|
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>;
|
|
@@ -1,31 +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
|
-
};
|
|
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
|
+
};
|