mautourco-components 0.2.4 → 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.
Files changed (297) hide show
  1. package/README.md +190 -190
  2. package/dist/components/atoms/Avatar/Avatar.d.ts +14 -14
  3. package/dist/components/atoms/Avatar/Avatar.js +31 -31
  4. package/dist/components/atoms/Button/Button.css +320 -320
  5. package/dist/components/atoms/Button/Button.d.ts +27 -27
  6. package/dist/components/atoms/Button/Button.js +35 -35
  7. package/dist/components/atoms/Checkbox/Checkbox.d.ts +13 -13
  8. package/dist/components/atoms/Checkbox/Checkbox.js +39 -39
  9. package/dist/components/atoms/Icon/Icon.d.ts +10 -10
  10. package/dist/components/atoms/Icon/Icon.js +123 -123
  11. package/dist/components/atoms/Icon/icons/ArrivalIcon.d.ts +8 -8
  12. package/dist/components/atoms/Icon/icons/ArrivalIcon.js +31 -31
  13. package/dist/components/atoms/Icon/icons/BuildingIcon.d.ts +8 -8
  14. package/dist/components/atoms/Icon/icons/BuildingIcon.js +36 -36
  15. package/dist/components/atoms/Icon/icons/CalendarIcon.d.ts +12 -12
  16. package/dist/components/atoms/Icon/icons/CalendarIcon.js +41 -41
  17. package/dist/components/atoms/Icon/icons/CalendarOutlineIcon.d.ts +8 -8
  18. package/dist/components/atoms/Icon/icons/CalendarOutlineIcon.js +36 -36
  19. package/dist/components/atoms/Icon/icons/CarIcon.d.ts +8 -8
  20. package/dist/components/atoms/Icon/icons/CarIcon.js +30 -30
  21. package/dist/components/atoms/Icon/icons/Check.d.ts +8 -8
  22. package/dist/components/atoms/Icon/icons/Check.js +30 -30
  23. package/dist/components/atoms/Icon/icons/CheckCircleIcon.d.ts +8 -8
  24. package/dist/components/atoms/Icon/icons/CheckCircleIcon.js +30 -30
  25. package/dist/components/atoms/Icon/icons/Chevron.d.ts +9 -9
  26. package/dist/components/atoms/Icon/icons/Chevron.js +54 -54
  27. package/dist/components/atoms/Icon/icons/ChevronDownIcon.d.ts +8 -8
  28. package/dist/components/atoms/Icon/icons/ChevronDownIcon.js +30 -30
  29. package/dist/components/atoms/Icon/icons/Close.d.ts +8 -8
  30. package/dist/components/atoms/Icon/icons/Close.js +30 -30
  31. package/dist/components/atoms/Icon/icons/DeleteIcon.d.ts +8 -8
  32. package/dist/components/atoms/Icon/icons/DeleteIcon.js +30 -30
  33. package/dist/components/atoms/Icon/icons/DepartureIcon.d.ts +8 -8
  34. package/dist/components/atoms/Icon/icons/DepartureIcon.js +30 -30
  35. package/dist/components/atoms/Icon/icons/EyeIcon.d.ts +8 -8
  36. package/dist/components/atoms/Icon/icons/EyeIcon.js +30 -30
  37. package/dist/components/atoms/Icon/icons/FacebookIcon.d.ts +8 -8
  38. package/dist/components/atoms/Icon/icons/FacebookIcon.js +36 -36
  39. package/dist/components/atoms/Icon/icons/HomeIcon.d.ts +8 -8
  40. package/dist/components/atoms/Icon/icons/HomeIcon.js +25 -25
  41. package/dist/components/atoms/Icon/icons/InfoIcon.d.ts +8 -8
  42. package/dist/components/atoms/Icon/icons/InfoIcon.js +30 -30
  43. package/dist/components/atoms/Icon/icons/LinkedInIcon.d.ts +8 -8
  44. package/dist/components/atoms/Icon/icons/LinkedInIcon.js +36 -36
  45. package/dist/components/atoms/Icon/icons/MapPinIcon.d.ts +8 -8
  46. package/dist/components/atoms/Icon/icons/MapPinIcon.js +30 -30
  47. package/dist/components/atoms/Icon/icons/MautoucoLogo.d.ts +8 -8
  48. package/dist/components/atoms/Icon/icons/MautoucoLogo.js +37 -37
  49. package/dist/components/atoms/Icon/icons/MenuIcon.d.ts +8 -8
  50. package/dist/components/atoms/Icon/icons/MenuIcon.js +37 -37
  51. package/dist/components/atoms/Icon/icons/MinusIcon.d.ts +8 -8
  52. package/dist/components/atoms/Icon/icons/MinusIcon.js +25 -25
  53. package/dist/components/atoms/Icon/icons/MoreIcon.d.ts +8 -8
  54. package/dist/components/atoms/Icon/icons/MoreIcon.js +30 -30
  55. package/dist/components/atoms/Icon/icons/PlaneIcon.d.ts +8 -8
  56. package/dist/components/atoms/Icon/icons/PlaneIcon.js +36 -36
  57. package/dist/components/atoms/Icon/icons/PlusIcon.d.ts +8 -8
  58. package/dist/components/atoms/Icon/icons/PlusIcon.js +25 -25
  59. package/dist/components/atoms/Icon/icons/Search.d.ts +8 -8
  60. package/dist/components/atoms/Icon/icons/Search.js +30 -30
  61. package/dist/components/atoms/Icon/icons/Settings.d.ts +8 -8
  62. package/dist/components/atoms/Icon/icons/Settings.js +30 -30
  63. package/dist/components/atoms/Icon/icons/ShipIcon.d.ts +8 -8
  64. package/dist/components/atoms/Icon/icons/ShipIcon.js +36 -36
  65. package/dist/components/atoms/Icon/icons/StrollerIcon.d.ts +8 -8
  66. package/dist/components/atoms/Icon/icons/StrollerIcon.js +30 -30
  67. package/dist/components/atoms/Icon/icons/TwitterIcon.d.ts +8 -8
  68. package/dist/components/atoms/Icon/icons/TwitterIcon.js +36 -36
  69. package/dist/components/atoms/Icon/icons/User.d.ts +8 -8
  70. package/dist/components/atoms/Icon/icons/User.js +30 -30
  71. package/dist/components/atoms/Icon/icons/UserIcon.d.ts +12 -12
  72. package/dist/components/atoms/Icon/icons/UserIcon.js +41 -41
  73. package/dist/components/atoms/Icon/icons/Youtube.d.ts +8 -8
  74. package/dist/components/atoms/Icon/icons/Youtube.js +36 -36
  75. package/dist/components/atoms/Illustration/Illustration.d.ts +14 -14
  76. package/dist/components/atoms/Illustration/Illustration.js +33 -33
  77. package/dist/components/atoms/Illustration/illustrations.d.ts +51 -51
  78. package/dist/components/atoms/Illustration/illustrations.js +97 -97
  79. package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.d.ts +12 -12
  80. package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.js +53 -53
  81. package/dist/components/atoms/Inputs/Input/Input.d.ts +15 -15
  82. package/dist/components/atoms/Inputs/Input/Input.js +27 -27
  83. package/dist/components/atoms/Inputs/Textarea/Textarea.d.ts +14 -14
  84. package/dist/components/atoms/Inputs/Textarea/Textarea.js +15 -15
  85. package/dist/components/atoms/Link/Link.d.ts +44 -44
  86. package/dist/components/atoms/Link/Link.js +76 -76
  87. package/dist/components/atoms/RatingStar/RatingStar.d.ts +40 -40
  88. package/dist/components/atoms/RatingStar/RatingStar.js +54 -54
  89. package/dist/components/atoms/SegmentedButton/SegmentedButton.d.ts +27 -27
  90. package/dist/components/atoms/SegmentedButton/SegmentedButton.js +49 -49
  91. package/dist/components/atoms/SelectedValue/SelectedValue.d.ts +11 -11
  92. package/dist/components/atoms/SelectedValue/SelectedValue.js +29 -29
  93. package/dist/components/atoms/Slider/Slider.d.ts +52 -52
  94. package/dist/components/atoms/Slider/Slider.js +30 -30
  95. package/dist/components/atoms/Spinner/Spinner.d.ts +9 -9
  96. package/dist/components/atoms/Spinner/Spinner.js +38 -38
  97. package/dist/components/atoms/Spinner/variants/ButtonSpinner.d.ts +8 -8
  98. package/dist/components/atoms/Spinner/variants/ButtonSpinner.js +19 -19
  99. package/dist/components/atoms/Spinner/variants/LoadingSpinner.d.ts +7 -7
  100. package/dist/components/atoms/Spinner/variants/LoadingSpinner.js +7 -7
  101. package/dist/components/atoms/Tab/Tab.css +266 -266
  102. package/dist/components/atoms/Tab/Tab.d.ts +22 -22
  103. package/dist/components/atoms/Tab/Tab.js +54 -54
  104. package/dist/components/atoms/Typography/Typography.d.ts +24 -24
  105. package/dist/components/atoms/Typography/Typography.js +100 -100
  106. package/dist/components/molecules/Calendar/CalendarInput.d.ts +34 -34
  107. package/dist/components/molecules/Calendar/CalendarInput.js +49 -49
  108. package/dist/components/molecules/Calendar/DateTime.d.ts +25 -25
  109. package/dist/components/molecules/Calendar/DateTime.js +106 -106
  110. package/dist/components/molecules/Calendar/TimePicker.d.ts +16 -16
  111. package/dist/components/molecules/Calendar/TimePicker.js +91 -91
  112. package/dist/components/molecules/LocationDropdown/LocationDropdown.d.ts +34 -34
  113. package/dist/components/molecules/LocationDropdown/LocationDropdown.js +120 -120
  114. package/dist/components/molecules/LocationDropdown/index.d.ts +2 -2
  115. package/dist/components/molecules/LocationDropdown/index.js +1 -1
  116. package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.d.ts +29 -29
  117. package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.js +106 -106
  118. package/dist/components/molecules/RatingTab/RatingTab.d.ts +39 -39
  119. package/dist/components/molecules/RatingTab/RatingTab.js +41 -41
  120. package/dist/components/molecules/TabGroup/TabGroup.d.ts +17 -17
  121. package/dist/components/molecules/TabGroup/TabGroup.js +30 -30
  122. package/dist/components/molecules/UserCard/UserCard.d.ts +20 -20
  123. package/dist/components/molecules/UserCard/UserCard.js +57 -57
  124. package/dist/components/organisms/CardContainer/CardContainer.d.ts +37 -37
  125. package/dist/components/organisms/CardContainer/CardContainer.js +27 -27
  126. package/dist/components/organisms/DateTimePicker/DateTimePicker.d.ts +15 -15
  127. package/dist/components/organisms/DateTimePicker/DateTimePicker.js +66 -66
  128. package/dist/components/organisms/Dialog/Dialog.d.ts +103 -103
  129. package/dist/components/organisms/Dialog/Dialog.js +162 -162
  130. package/dist/components/organisms/Footer/Footer.d.ts +38 -38
  131. package/dist/components/organisms/Footer/Footer.js +74 -74
  132. package/dist/components/organisms/PaxSelector/PaxSelector.d.ts +63 -63
  133. package/dist/components/organisms/PaxSelector/PaxSelector.js +402 -402
  134. package/dist/components/organisms/RoundTrip/RoundTrip.d.ts +54 -54
  135. package/dist/components/organisms/RoundTrip/RoundTrip.js +179 -179
  136. package/dist/components/organisms/RoundTrip/index.d.ts +2 -2
  137. package/dist/components/organisms/RoundTrip/index.js +1 -1
  138. package/dist/components/organisms/SearchBarTransfer/SearchBarTransfer.d.ts +35 -35
  139. package/dist/components/organisms/SearchBarTransfer/SearchBarTransfer.js +192 -192
  140. package/dist/components/organisms/SearchBarTransfer/index.d.ts +2 -2
  141. package/dist/components/organisms/SearchBarTransfer/index.js +1 -1
  142. package/dist/components/organisms/TopNavigation/DesktopNav.d.ts +33 -33
  143. package/dist/components/organisms/TopNavigation/DesktopNav.js +32 -26
  144. package/dist/components/organisms/TopNavigation/MobileNav.d.ts +32 -32
  145. package/dist/components/organisms/TopNavigation/MobileNav.js +45 -45
  146. package/dist/components/organisms/TopNavigation/TopNavigation.d.ts +33 -33
  147. package/dist/components/organisms/TopNavigation/TopNavigation.js +20 -20
  148. package/dist/components/organisms/TransferLine/TransferLine.d.ts +53 -53
  149. package/dist/components/organisms/TransferLine/TransferLine.js +179 -179
  150. package/dist/components/ui/button.d.ts +10 -10
  151. package/dist/components/ui/button.js +56 -56
  152. package/dist/components/ui/calendar.d.ts +8 -8
  153. package/dist/components/ui/calendar.js +87 -87
  154. package/dist/components/ui/popover.d.ts +7 -7
  155. package/dist/components/ui/popover.js +42 -42
  156. package/dist/hooks/useMobile.d.ts +5 -5
  157. package/dist/hooks/useMobile.js +26 -26
  158. package/dist/index.d.ts +49 -49
  159. package/dist/index.js +46 -46
  160. package/dist/lib/utils.d.ts +7 -7
  161. package/dist/lib/utils.js +13 -13
  162. package/dist/styles/components/avatar.css +122 -122
  163. package/dist/styles/components/calendar.css +140 -140
  164. package/dist/styles/components/checkbox.css +206 -206
  165. package/dist/styles/components/dropdown.css +269 -269
  166. package/dist/styles/components/forms.css +209 -209
  167. package/dist/styles/components/illustration.css +123 -123
  168. package/dist/styles/components/molecule/calendarInput.css +133 -133
  169. package/dist/styles/components/molecule/dateTime.css +126 -126
  170. package/dist/styles/components/molecule/location-dropdown.css +132 -132
  171. package/dist/styles/components/molecule/timePicker.css +122 -122
  172. package/dist/styles/components/multiselect-dropdown.css +286 -286
  173. package/dist/styles/components/organism/card-container.css +148 -148
  174. package/dist/styles/components/organism/dialog.css +168 -168
  175. package/dist/styles/components/organism/footer.css +119 -119
  176. package/dist/styles/components/organism/pax-selector.css +617 -617
  177. package/dist/styles/components/organism/round-trip.css +139 -139
  178. package/dist/styles/components/organism/search-bar-transfer.css +158 -161
  179. package/dist/styles/components/organism/topnavigation.css +143 -143
  180. package/dist/styles/components/organism/transfer-line.css +138 -138
  181. package/dist/styles/components/rating-star.css +145 -145
  182. package/dist/styles/components/rating-tab.css +179 -179
  183. package/dist/styles/components/scrollbar.css +155 -155
  184. package/dist/styles/components/segmented-button.css +214 -214
  185. package/dist/styles/components/selected-value.css +175 -175
  186. package/dist/styles/components/slider.css +182 -182
  187. package/dist/styles/components/typography.css +245 -245
  188. package/dist/styles/tokens/tokens.css +119 -119
  189. package/dist/styles/tokens/tokens.d.ts +3108 -3108
  190. package/dist/styles/tokens/tokens.js +2652 -2652
  191. package/package.json +103 -103
  192. package/src/components/atoms/Avatar/Avatar.tsx +60 -60
  193. package/src/components/atoms/Button/Button.css +200 -200
  194. package/src/components/atoms/Button/Button.tsx +82 -82
  195. package/src/components/atoms/Checkbox/Checkbox.tsx +83 -83
  196. package/src/components/atoms/Icon/Icon.tsx +163 -163
  197. package/src/components/atoms/Icon/icons/ArrivalIcon.tsx +52 -52
  198. package/src/components/atoms/Icon/icons/BuildingIcon.tsx +50 -50
  199. package/src/components/atoms/Icon/icons/CalendarIcon.tsx +63 -63
  200. package/src/components/atoms/Icon/icons/CalendarOutlineIcon.tsx +50 -50
  201. package/src/components/atoms/Icon/icons/CarIcon.tsx +44 -44
  202. package/src/components/atoms/Icon/icons/Check.tsx +36 -36
  203. package/src/components/atoms/Icon/icons/CheckCircleIcon.tsx +48 -48
  204. package/src/components/atoms/Icon/icons/Chevron.tsx +73 -73
  205. package/src/components/atoms/Icon/icons/ChevronDownIcon.tsx +46 -46
  206. package/src/components/atoms/Icon/icons/Close.tsx +39 -39
  207. package/src/components/atoms/Icon/icons/DeleteIcon.tsx +44 -44
  208. package/src/components/atoms/Icon/icons/DepartureIcon.tsx +50 -50
  209. package/src/components/atoms/Icon/icons/EyeIcon.tsx +44 -44
  210. package/src/components/atoms/Icon/icons/FacebookIcon.tsx +50 -50
  211. package/src/components/atoms/Icon/icons/HomeIcon.tsx +52 -52
  212. package/src/components/atoms/Icon/icons/InfoIcon.tsx +44 -44
  213. package/src/components/atoms/Icon/icons/LinkedInIcon.tsx +50 -50
  214. package/src/components/atoms/Icon/icons/MapPinIcon.tsx +44 -44
  215. package/src/components/atoms/Icon/icons/MautoucoLogo.tsx +93 -93
  216. package/src/components/atoms/Icon/icons/MenuIcon.tsx +49 -49
  217. package/src/components/atoms/Icon/icons/MinusIcon.tsx +45 -45
  218. package/src/components/atoms/Icon/icons/MoreIcon.tsx +44 -44
  219. package/src/components/atoms/Icon/icons/PlaneIcon.tsx +50 -50
  220. package/src/components/atoms/Icon/icons/PlusIcon.tsx +45 -45
  221. package/src/components/atoms/Icon/icons/Search.tsx +37 -37
  222. package/src/components/atoms/Icon/icons/Settings.tsx +38 -38
  223. package/src/components/atoms/Icon/icons/ShipIcon.tsx +50 -50
  224. package/src/components/atoms/Icon/icons/StrollerIcon.tsx +44 -44
  225. package/src/components/atoms/Icon/icons/TwitterIcon.tsx +50 -50
  226. package/src/components/atoms/Icon/icons/User.tsx +37 -37
  227. package/src/components/atoms/Icon/icons/UserIcon.tsx +63 -63
  228. package/src/components/atoms/Icon/icons/Youtube.tsx +50 -50
  229. package/src/components/atoms/Illustration/Illustration.tsx +28 -28
  230. package/src/components/atoms/Illustration/illustrations.ts +116 -116
  231. package/src/components/atoms/Inputs/DropdownInput/DropdownInput.tsx +96 -96
  232. package/src/components/atoms/Inputs/Textarea/Textarea.tsx +51 -51
  233. package/src/components/atoms/Link/Link.tsx +168 -168
  234. package/src/components/atoms/RatingStar/RatingStar.tsx +114 -114
  235. package/src/components/atoms/SegmentedButton/SegmentedButton.tsx +94 -94
  236. package/src/components/atoms/SelectedValue/SelectedValue.tsx +59 -59
  237. package/src/components/atoms/Slider/Slider.tsx +95 -95
  238. package/src/components/atoms/Spinner/Spinner.tsx +56 -56
  239. package/src/components/atoms/Spinner/variants/ButtonSpinner.tsx +37 -37
  240. package/src/components/atoms/Spinner/variants/LoadingSpinner.tsx +22 -22
  241. package/src/components/atoms/Tab/Tab.css +147 -147
  242. package/src/components/atoms/Tab/Tab.tsx +96 -96
  243. package/src/components/atoms/Typography/Typography.tsx +153 -153
  244. package/src/components/molecules/Calendar/CalendarInput.tsx +135 -135
  245. package/src/components/molecules/Calendar/DateTime.tsx +172 -172
  246. package/src/components/molecules/Calendar/TimePicker.tsx +174 -174
  247. package/src/components/molecules/LocationDropdown/LocationDropdown.tsx +234 -234
  248. package/src/components/molecules/LocationDropdown/index.ts +2 -2
  249. package/src/components/molecules/RatingTab/RatingTab.tsx +96 -96
  250. package/src/components/molecules/TabGroup/TabGroup.tsx +60 -60
  251. package/src/components/molecules/UserCard/UserCard.stories.tsx +36 -36
  252. package/src/components/molecules/UserCard/UserCard.tsx +173 -173
  253. package/src/components/organisms/CardContainer/CardContainer.tsx +66 -66
  254. package/src/components/organisms/DateTimePicker/DateTimePicker.tsx +110 -110
  255. package/src/components/organisms/Dialog/Dialog.tsx +352 -352
  256. package/src/components/organisms/Footer/Footer.tsx +290 -290
  257. package/src/components/organisms/PaxSelector/PaxSelector.tsx +979 -979
  258. package/src/components/organisms/RoundTrip/RoundTrip.tsx +335 -335
  259. package/src/components/organisms/RoundTrip/index.ts +2 -2
  260. package/src/components/organisms/SearchBarTransfer/SearchBarTransfer.tsx +388 -388
  261. package/src/components/organisms/SearchBarTransfer/index.ts +2 -2
  262. package/src/components/organisms/TopNavigation/DesktopNav.tsx +133 -122
  263. package/src/components/organisms/TopNavigation/MobileNav.tsx +212 -212
  264. package/src/components/organisms/TopNavigation/TopNavigation.tsx +45 -45
  265. package/src/components/organisms/TransferLine/TransferLine.tsx +369 -369
  266. package/src/components/ui/button.tsx +60 -60
  267. package/src/components/ui/calendar.tsx +246 -246
  268. package/src/components/ui/popover.tsx +46 -46
  269. package/src/styles/components/avatar.css +58 -58
  270. package/src/styles/components/calendar.css +85 -85
  271. package/src/styles/components/checkbox.css +130 -130
  272. package/src/styles/components/dropdown.css +214 -214
  273. package/src/styles/components/forms.css +147 -147
  274. package/src/styles/components/illustration.css +7 -7
  275. package/src/styles/components/molecule/calendarInput.css +156 -156
  276. package/src/styles/components/molecule/dateTime.css +14 -14
  277. package/src/styles/components/molecule/location-dropdown.css +204 -204
  278. package/src/styles/components/molecule/timePicker.css +78 -78
  279. package/src/styles/components/multiselect-dropdown.css +230 -230
  280. package/src/styles/components/organism/card-container.css +49 -49
  281. package/src/styles/components/organism/dialog.css +241 -241
  282. package/src/styles/components/organism/footer.css +113 -113
  283. package/src/styles/components/organism/pax-selector.css +702 -702
  284. package/src/styles/components/organism/round-trip.css +55 -55
  285. package/src/styles/components/organism/search-bar-transfer.css +128 -127
  286. package/src/styles/components/organism/topnavigation.css +161 -161
  287. package/src/styles/components/organism/transfer-line.css +86 -86
  288. package/src/styles/components/rating-star.css +39 -39
  289. package/src/styles/components/rating-tab.css +83 -83
  290. package/src/styles/components/scrollbar.css +63 -63
  291. package/src/styles/components/segmented-button.css +134 -134
  292. package/src/styles/components/selected-value.css +80 -80
  293. package/src/styles/components/slider.css +86 -86
  294. package/src/styles/components/typography.css +251 -251
  295. package/src/styles/fonts.css +50 -0
  296. package/src/styles/tokens/tokens.css +119 -119
  297. package/src/styles/tokens/tokens.js +12 -6
@@ -1,200 +1,200 @@
1
- .button {
2
- display: inline-flex;
3
- align-items: center;
4
- justify-content: center;
5
- gap: var(--component-button-spacing-sm-gap, 4rem);
6
- padding: 0;
7
- border: none;
8
- border-radius: var(--border-radius-rounded-full, 9999rem);
9
- background: transparent;
10
- color: inherit;
11
- cursor: pointer;
12
- text-decoration: none;
13
- user-select: none;
14
- font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
15
- font-weight: var(--font-weight-font-bold, 700);
16
- font-size: var(--font-size-text-sm, 14rem);
17
- line-height: calc(var(--font-leading-leading-sm, 20)* 1rem);
18
- letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
19
- transition:
20
- background-color 0.2s ease-in-out,
21
- color 0.2s ease-in-out,
22
- box-shadow 0.2s ease-in-out,
23
- transform 0.15s ease-in-out,
24
- opacity 0.2s ease-in-out;
25
- }
26
-
27
- .button:disabled {
28
- cursor: not-allowed;
29
- opacity: 1;
30
- }
31
-
32
- .button--sm {
33
- padding: var(--component-button-spacing-sm-padding-y, 8rem)
34
- var(--component-button-spacing-sm-padding-x, 12rem);
35
- gap: var(--component-button-spacing-sm-gap, 4rem);
36
- font-size: var(--font-size-text-sm, 14rem);
37
- line-height: calc(var(--font-leading-leading-sm, 20)* 1rem);
38
- }
39
-
40
- .button--md {
41
- padding: var(--component-button-spacing-md-padding-y, 10rem)
42
- var(--component-button-spacing-md-padding-x, 14rem);
43
- gap: var(--component-button-spacing-md-gap, 10rem);
44
- font-size: var(--font-size-text-base, 16rem);
45
- line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
46
- letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
47
- }
48
-
49
- .button--lg {
50
- padding: var(--component-button-spacing-lg-padding-y, 10rem)
51
- var(--component-button-spacing-lg-padding-x, 64rem);
52
- gap: var(--component-button-spacing-lg-gap, 6rem);
53
- font-size: var(--font-size-text-lg, 18rem);
54
- line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
55
- letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
56
- }
57
-
58
- .button--xl {
59
- padding: var(--component-button-spacing-xl-padding-y, 12rem)
60
- var(--component-button-spacing-xl-padding-x, 16rem);
61
- gap: var(--component-button-spacing-xl-gap, 6rem);
62
- font-size: var(--font-size-text-base, 16rem);
63
- line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
64
- letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
65
- }
66
-
67
- .button__label {
68
- display: inline-flex;
69
- align-items: center;
70
- justify-content: center;
71
- }
72
-
73
- .button__icon {
74
- display: inline-flex;
75
- align-items: center;
76
- justify-content: center;
77
- color: inherit;
78
- }
79
-
80
- .button--primary {
81
- background-color: var(--color-button-brand-background-primary-default, #fe8839);
82
- color: var(--color-button-brand-foreground-primary-default, #ffffff);
83
- }
84
-
85
- .button--primary:hover:not(:disabled) {
86
- background-color: var(--color-button-brand-background-primary-hover, #fc6613);
87
- }
88
-
89
- .button--primary:active:not(:disabled) {
90
- background-color: var(--color-button-brand-background-primary-pressed, #ed4c09);
91
- }
92
-
93
- .button--primary:focus-visible:not(:disabled) {
94
- outline: none;
95
- box-shadow: 0 0 0 2rem
96
- var(--color-button-brand-background-primary-focused, #ed4c09);
97
- }
98
-
99
- .button--primary:disabled {
100
- background-color: var(--color-button-brand-background-primary-disabled, #f5f5f5);
101
- color: var(--color-button-brand-foreground-primary-disabled, #a3a3a3);
102
- }
103
-
104
- .button--secondary {
105
- background-color: var(--color-button-brand-background-secondary-default, #0d9394);
106
- color: var(--color-button-brand-foreground-secondary-default, #ffffff);
107
- }
108
-
109
- .button--outline-primary {
110
- background-color: var(--component-button-color-outline-primary-background-default, #ffffff);
111
- color: var(--component-button-color-outline-primary-foreground-default, #fe8839);
112
- border: var(--border-width-input, 1rem) solid
113
- var(--component-button-color-outline-primary-border-default, #fe8839);
114
- }
115
-
116
- .button--outline-primary:hover:not(:disabled) {
117
- background-color: var(--component-button-color-outline-primary-background-hover, #fff6ed);
118
- border-color: var(--component-button-color-outline-primary-border-hover, #fc6613);
119
- }
120
-
121
- .button--outline-primary:active:not(:disabled) {
122
- background-color: var(--component-button-color-outline-primary-background-pressed, #ffebd4);
123
- border-color: var(--component-button-color-outline-primary-border-pressed, #ed4c09);
124
- }
125
-
126
- .button--outline-primary:focus-visible:not(:disabled) {
127
- outline: none;
128
- box-shadow: 0 0 0 2rem
129
- var(--component-button-color-outline-primary-background-focused, #ffebd4);
130
- }
131
-
132
- .button--outline-primary:disabled {
133
- background-color: var(--component-button-color-outline-primary-background-disabled, #ffffff);
134
- color: var(--component-button-color-outline-primary-foreground-disabled, #a3a3a3);
135
- border-color: var(--component-button-color-outline-primary-border-default, #fe8839);
136
- }
137
-
138
- .button--outline-secondary {
139
- background-color: var(--component-button-color-outline-secondary-background-default, #ffffff);
140
- color: var(--component-button-color-outline-secondary-foreground-default, #0d9394);
141
- border: var(--border-width-input, 1rem) solid
142
- var(
143
- --component-button-color-outline-secondary-border-default,
144
- var(--component-button-color-outline-secondary-foreground-default, #0d9394)
145
- );
146
- }
147
-
148
- .button--outline-secondary:hover:not(:disabled) {
149
- background-color: var(
150
- --component-button-color-outline-secondary-background-hover,
151
- var(--button-color-outline-secondary-background-hover, #f0fdfb)
152
- );
153
- border-color: var(
154
- --component-button-color-outline-secondary-border-hover,
155
- #0f7173
156
- );
157
- }
158
-
159
- .button--outline-secondary:active:not(:disabled) {
160
- background-color: var(
161
- --component-button-color-outline-secondary-background-pressed,
162
- var(--button-color-outline-secondary-background-pressed, #ccfbf6)
163
- );
164
- border-color: var(
165
- --component-button-color-outline-secondary-border-pressed,
166
- #115b5e
167
- );
168
- }
169
-
170
- .button--outline-secondary:focus-visible:not(:disabled) {
171
- outline: none;
172
- box-shadow: 0 0 0 2rem
173
- var(--component-button-color-outline-secondary-background-focused, #ffffff);
174
- }
175
-
176
- .button--outline-secondary:disabled {
177
- background-color: var(--component-button-color-outline-secondary-background-disabled, #ffffff);
178
- color: var(--component-button-color-outline-secondary-foreground-disabled, #a3a3a3);
179
- border-color: var(--component-button-color-outline-secondary-border-default, var(--component-button-color-outline-secondary-foreground-default, #0d9394));
180
- }
181
-
182
- .button--secondary:hover:not(:disabled) {
183
- background-color: var(--color-button-brand-background-secondary-hover, #0f7173);
184
- }
185
-
186
- .button--secondary:active:not(:disabled) {
187
- background-color: var(--color-button-brand-background-secondary-pressed, #042c2f);
188
- }
189
-
190
- .button--secondary:focus-visible:not(:disabled) {
191
- outline: none;
192
- box-shadow: 0 0 0 2rem
193
- var(--color-button-brand-background-secondary-focused, #042c2f);
194
- }
195
-
196
- .button--secondary:disabled {
197
- background-color: var(--color-button-brand-background-secondary-disabled, #f5f5f5);
198
- color: var(--color-button-brand-foreground-secondary-disabled, #a3a3a3);
199
- }
200
-
1
+ .button {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ gap: var(--component-button-spacing-sm-gap, 4rem);
6
+ padding: 0;
7
+ border: none;
8
+ border-radius: var(--border-radius-rounded-full, 9999rem);
9
+ background: transparent;
10
+ color: inherit;
11
+ cursor: pointer;
12
+ text-decoration: none;
13
+ user-select: none;
14
+ font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
15
+ font-weight: var(--font-weight-font-bold, 700);
16
+ font-size: var(--font-size-text-sm, 14rem);
17
+ line-height: calc(var(--font-leading-leading-sm, 20)* 1rem);
18
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
19
+ transition:
20
+ background-color 0.2s ease-in-out,
21
+ color 0.2s ease-in-out,
22
+ box-shadow 0.2s ease-in-out,
23
+ transform 0.15s ease-in-out,
24
+ opacity 0.2s ease-in-out;
25
+ }
26
+
27
+ .button:disabled {
28
+ cursor: not-allowed;
29
+ opacity: 1;
30
+ }
31
+
32
+ .button--sm {
33
+ padding: var(--component-button-spacing-sm-padding-y, 8rem)
34
+ var(--component-button-spacing-sm-padding-x, 12rem);
35
+ gap: var(--component-button-spacing-sm-gap, 4rem);
36
+ font-size: var(--font-size-text-sm, 14rem);
37
+ line-height: calc(var(--font-leading-leading-sm, 20)* 1rem);
38
+ }
39
+
40
+ .button--md {
41
+ padding: var(--component-button-spacing-md-padding-y, 10rem)
42
+ var(--component-button-spacing-md-padding-x, 14rem);
43
+ gap: var(--component-button-spacing-md-gap, 10rem);
44
+ font-size: var(--font-size-text-base, 16rem);
45
+ line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
46
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
47
+ }
48
+
49
+ .button--lg {
50
+ padding: var(--component-button-spacing-lg-padding-y, 10rem)
51
+ var(--component-button-spacing-lg-padding-x, 64rem);
52
+ gap: var(--component-button-spacing-lg-gap, 6rem);
53
+ font-size: var(--font-size-text-lg, 18rem);
54
+ line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
55
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
56
+ }
57
+
58
+ .button--xl {
59
+ padding: var(--component-button-spacing-xl-padding-y, 12rem)
60
+ var(--component-button-spacing-xl-padding-x, 16rem);
61
+ gap: var(--component-button-spacing-xl-gap, 6rem);
62
+ font-size: var(--font-size-text-base, 16rem);
63
+ line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
64
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
65
+ }
66
+
67
+ .button__label {
68
+ display: inline-flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ }
72
+
73
+ .button__icon {
74
+ display: inline-flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ color: inherit;
78
+ }
79
+
80
+ .button--primary {
81
+ background-color: var(--color-button-brand-background-primary-default, #fe8839);
82
+ color: var(--color-button-brand-foreground-primary-default, #ffffff);
83
+ }
84
+
85
+ .button--primary:hover:not(:disabled) {
86
+ background-color: var(--color-button-brand-background-primary-hover, #fc6613);
87
+ }
88
+
89
+ .button--primary:active:not(:disabled) {
90
+ background-color: var(--color-button-brand-background-primary-pressed, #ed4c09);
91
+ }
92
+
93
+ .button--primary:focus-visible:not(:disabled) {
94
+ outline: none;
95
+ box-shadow: 0 0 0 2rem
96
+ var(--color-button-brand-background-primary-focused, #ed4c09);
97
+ }
98
+
99
+ .button--primary:disabled {
100
+ background-color: var(--color-button-brand-background-primary-disabled, #f5f5f5);
101
+ color: var(--color-button-brand-foreground-primary-disabled, #a3a3a3);
102
+ }
103
+
104
+ .button--secondary {
105
+ background-color: var(--color-button-brand-background-secondary-default, #0d9394);
106
+ color: var(--color-button-brand-foreground-secondary-default, #ffffff);
107
+ }
108
+
109
+ .button--outline-primary {
110
+ background-color: var(--component-button-color-outline-primary-background-default, #ffffff);
111
+ color: var(--component-button-color-outline-primary-foreground-default, #fe8839);
112
+ border: var(--border-width-input, 1rem) solid
113
+ var(--component-button-color-outline-primary-border-default, #fe8839);
114
+ }
115
+
116
+ .button--outline-primary:hover:not(:disabled) {
117
+ background-color: var(--component-button-color-outline-primary-background-hover, #fff6ed);
118
+ border-color: var(--component-button-color-outline-primary-border-hover, #fc6613);
119
+ }
120
+
121
+ .button--outline-primary:active:not(:disabled) {
122
+ background-color: var(--component-button-color-outline-primary-background-pressed, #ffebd4);
123
+ border-color: var(--component-button-color-outline-primary-border-pressed, #ed4c09);
124
+ }
125
+
126
+ .button--outline-primary:focus-visible:not(:disabled) {
127
+ outline: none;
128
+ box-shadow: 0 0 0 2rem
129
+ var(--component-button-color-outline-primary-background-focused, #ffebd4);
130
+ }
131
+
132
+ .button--outline-primary:disabled {
133
+ background-color: var(--component-button-color-outline-primary-background-disabled, #ffffff);
134
+ color: var(--component-button-color-outline-primary-foreground-disabled, #a3a3a3);
135
+ border-color: var(--component-button-color-outline-primary-border-default, #fe8839);
136
+ }
137
+
138
+ .button--outline-secondary {
139
+ background-color: var(--component-button-color-outline-secondary-background-default, #ffffff);
140
+ color: var(--component-button-color-outline-secondary-foreground-default, #0d9394);
141
+ border: var(--border-width-input, 1rem) solid
142
+ var(
143
+ --component-button-color-outline-secondary-border-default,
144
+ var(--component-button-color-outline-secondary-foreground-default, #0d9394)
145
+ );
146
+ }
147
+
148
+ .button--outline-secondary:hover:not(:disabled) {
149
+ background-color: var(
150
+ --component-button-color-outline-secondary-background-hover,
151
+ var(--button-color-outline-secondary-background-hover, #f0fdfb)
152
+ );
153
+ border-color: var(
154
+ --component-button-color-outline-secondary-border-hover,
155
+ #0f7173
156
+ );
157
+ }
158
+
159
+ .button--outline-secondary:active:not(:disabled) {
160
+ background-color: var(
161
+ --component-button-color-outline-secondary-background-pressed,
162
+ var(--button-color-outline-secondary-background-pressed, #ccfbf6)
163
+ );
164
+ border-color: var(
165
+ --component-button-color-outline-secondary-border-pressed,
166
+ #115b5e
167
+ );
168
+ }
169
+
170
+ .button--outline-secondary:focus-visible:not(:disabled) {
171
+ outline: none;
172
+ box-shadow: 0 0 0 2rem
173
+ var(--component-button-color-outline-secondary-background-focused, #ffffff);
174
+ }
175
+
176
+ .button--outline-secondary:disabled {
177
+ background-color: var(--component-button-color-outline-secondary-background-disabled, #ffffff);
178
+ color: var(--component-button-color-outline-secondary-foreground-disabled, #a3a3a3);
179
+ border-color: var(--component-button-color-outline-secondary-border-default, var(--component-button-color-outline-secondary-foreground-default, #0d9394));
180
+ }
181
+
182
+ .button--secondary:hover:not(:disabled) {
183
+ background-color: var(--color-button-brand-background-secondary-hover, #0f7173);
184
+ }
185
+
186
+ .button--secondary:active:not(:disabled) {
187
+ background-color: var(--color-button-brand-background-secondary-pressed, #042c2f);
188
+ }
189
+
190
+ .button--secondary:focus-visible:not(:disabled) {
191
+ outline: none;
192
+ box-shadow: 0 0 0 2rem
193
+ var(--color-button-brand-background-secondary-focused, #042c2f);
194
+ }
195
+
196
+ .button--secondary:disabled {
197
+ background-color: var(--color-button-brand-background-secondary-disabled, #f5f5f5);
198
+ color: var(--color-button-brand-foreground-secondary-disabled, #a3a3a3);
199
+ }
200
+
@@ -1,82 +1,82 @@
1
- import React from 'react';
2
- import Icon, { IconName } from '../Icon/Icon';
3
- import './Button.css';
4
-
5
- export interface ButtonProps {
6
- /** Variant du bouton */
7
- variant?: 'primary' | 'secondary' | 'outline' | 'outline-primary' | 'outline-secondary';
8
- /** Taille du bouton */
9
- size?: 'sm' | 'md' | 'lg' | 'xl';
10
- /** Contenu du bouton */
11
- children: React.ReactNode;
12
- /** Icône affichée avant le libellé */
13
- leadingIcon?: IconName;
14
- /** Icône affichée après le libellé */
15
- trailingIcon?: IconName;
16
- /** Taille des icônes */
17
- iconSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
18
- /** État désactivé */
19
- disabled?: boolean;
20
- /** Handler de clic */
21
- onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
22
- /** Type de bouton */
23
- type?: 'button' | 'submit' | 'reset';
24
- /** Classes CSS supplémentaires */
25
- className?: string;
26
- }
27
-
28
- const Button: React.FC<ButtonProps> = ({
29
- variant = 'primary',
30
- size = 'md',
31
- children,
32
- leadingIcon,
33
- trailingIcon,
34
- iconSize = 'sm',
35
- disabled = false,
36
- onClick,
37
- type = 'button',
38
- className = '',
39
- }) => {
40
- const baseClasses = 'button';
41
- const normalizedVariant =
42
- variant === 'outline' ? 'outline-primary' : variant;
43
- const variantClass = `button--${normalizedVariant}`;
44
- const sizeClass = `button--${size}`;
45
- const disabledClass = disabled ? 'button--disabled' : '';
46
-
47
- const buttonClasses = [
48
- baseClasses,
49
- variantClass,
50
- sizeClass,
51
- disabledClass,
52
- className,
53
- ]
54
- .filter(Boolean)
55
- .join(' ');
56
-
57
- const hasLeadingIcon = Boolean(leadingIcon);
58
- const hasTrailingIcon = Boolean(trailingIcon);
59
-
60
- return (
61
- <button
62
- type={type}
63
- className={buttonClasses}
64
- disabled={disabled}
65
- onClick={onClick}
66
- >
67
- {hasLeadingIcon && (
68
- <span className="button__icon button__icon--leading">
69
- <Icon name={leadingIcon!} size={iconSize} />
70
- </span>
71
- )}
72
- <span className="button__label">{children}</span>
73
- {hasTrailingIcon && (
74
- <span className="button__icon button__icon--trailing">
75
- <Icon name={trailingIcon!} size={iconSize} />
76
- </span>
77
- )}
78
- </button>
79
- );
80
- };
81
-
82
- export default Button;
1
+ import React from 'react';
2
+ import Icon, { IconName } from '../Icon/Icon';
3
+ import './Button.css';
4
+
5
+ export interface ButtonProps {
6
+ /** Variant du bouton */
7
+ variant?: 'primary' | 'secondary' | 'outline' | 'outline-primary' | 'outline-secondary';
8
+ /** Taille du bouton */
9
+ size?: 'sm' | 'md' | 'lg' | 'xl';
10
+ /** Contenu du bouton */
11
+ children: React.ReactNode;
12
+ /** Icône affichée avant le libellé */
13
+ leadingIcon?: IconName;
14
+ /** Icône affichée après le libellé */
15
+ trailingIcon?: IconName;
16
+ /** Taille des icônes */
17
+ iconSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
18
+ /** État désactivé */
19
+ disabled?: boolean;
20
+ /** Handler de clic */
21
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
22
+ /** Type de bouton */
23
+ type?: 'button' | 'submit' | 'reset';
24
+ /** Classes CSS supplémentaires */
25
+ className?: string;
26
+ }
27
+
28
+ const Button: React.FC<ButtonProps> = ({
29
+ variant = 'primary',
30
+ size = 'md',
31
+ children,
32
+ leadingIcon,
33
+ trailingIcon,
34
+ iconSize = 'sm',
35
+ disabled = false,
36
+ onClick,
37
+ type = 'button',
38
+ className = '',
39
+ }) => {
40
+ const baseClasses = 'button';
41
+ const normalizedVariant =
42
+ variant === 'outline' ? 'outline-primary' : variant;
43
+ const variantClass = `button--${normalizedVariant}`;
44
+ const sizeClass = `button--${size}`;
45
+ const disabledClass = disabled ? 'button--disabled' : '';
46
+
47
+ const buttonClasses = [
48
+ baseClasses,
49
+ variantClass,
50
+ sizeClass,
51
+ disabledClass,
52
+ className,
53
+ ]
54
+ .filter(Boolean)
55
+ .join(' ');
56
+
57
+ const hasLeadingIcon = Boolean(leadingIcon);
58
+ const hasTrailingIcon = Boolean(trailingIcon);
59
+
60
+ return (
61
+ <button
62
+ type={type}
63
+ className={buttonClasses}
64
+ disabled={disabled}
65
+ onClick={onClick}
66
+ >
67
+ {hasLeadingIcon && (
68
+ <span className="button__icon button__icon--leading">
69
+ <Icon name={leadingIcon!} size={iconSize} />
70
+ </span>
71
+ )}
72
+ <span className="button__label">{children}</span>
73
+ {hasTrailingIcon && (
74
+ <span className="button__icon button__icon--trailing">
75
+ <Icon name={trailingIcon!} size={iconSize} />
76
+ </span>
77
+ )}
78
+ </button>
79
+ );
80
+ };
81
+
82
+ export default Button;