mautourco-components 0.2.0 → 0.2.2

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 (32) hide show
  1. package/README.md +10 -6
  2. package/dist/components/atoms/Button/Button.css +203 -0
  3. package/dist/components/atoms/Tab/Tab.css +149 -0
  4. package/dist/styles/components/avatar.css +2165 -0
  5. package/dist/styles/components/calendar.css +2214 -0
  6. package/dist/styles/components/checkbox.css +2212 -0
  7. package/dist/styles/components/dropdown.css +2295 -0
  8. package/dist/styles/components/forms.css +2229 -0
  9. package/dist/styles/components/illustration.css +2081 -0
  10. package/dist/styles/components/molecule/calendarInput.css +2308 -0
  11. package/dist/styles/components/molecule/dateTime.css +2092 -0
  12. package/dist/styles/components/molecule/location-dropdown.css +2405 -0
  13. package/dist/styles/components/molecule/timePicker.css +2204 -0
  14. package/dist/styles/components/multiselect-dropdown.css +2312 -0
  15. package/dist/styles/components/organism/card-container.css +2128 -0
  16. package/dist/styles/components/organism/dialog.css +2441 -0
  17. package/dist/styles/components/organism/footer.css +2387 -0
  18. package/dist/styles/components/organism/pax-selector.css +2800 -0
  19. package/dist/styles/components/organism/round-trip.css +2143 -0
  20. package/dist/styles/components/organism/search-bar-transfer.css +2258 -0
  21. package/dist/styles/components/organism/topnavigation.css +2499 -0
  22. package/dist/styles/components/organism/transfer-line.css +2208 -0
  23. package/dist/styles/components/rating-star.css +2113 -0
  24. package/dist/styles/components/rating-tab.css +2157 -0
  25. package/dist/styles/components/scrollbar.css +2143 -0
  26. package/dist/styles/components/segmented-button.css +2218 -0
  27. package/dist/styles/components/selected-value.css +2159 -0
  28. package/dist/styles/components/slider.css +2164 -0
  29. package/dist/styles/components/typography.css +2417 -0
  30. package/dist/styles/tokens/_tokens.scss +2072 -0
  31. package/dist/styles/tokens/tokens.css +2075 -0
  32. package/package.json +7 -3
package/README.md CHANGED
@@ -14,11 +14,14 @@ npm install mautourco-components
14
14
  ### 1. Importer les styles
15
15
  ```tsx
16
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';
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
22
25
  ```
23
26
 
24
27
  ### 2. Utiliser les composants
@@ -176,7 +179,8 @@ npm publish # Publication sur npm (après login)
176
179
 
177
180
  ## Notes importantes
178
181
 
179
- - **Styles** : Les composants nécessitent l'import des fichiers CSS correspondants
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
180
184
  - **TypeScript** : Tous les composants sont typés
181
185
  - **Design tokens** : Générés automatiquement depuis le dossier `tokens/`
182
186
 
@@ -0,0 +1,203 @@
1
+ @import "src/styles/tokens/tokens.css";
2
+
3
+ .button {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ gap: var(--component-button-spacing-sm-gap, 4rem);
8
+ padding: 0;
9
+ border: none;
10
+ border-radius: var(--border-radius-rounded-full, 9999rem);
11
+ background: transparent;
12
+ color: inherit;
13
+ cursor: pointer;
14
+ text-decoration: none;
15
+ -webkit-user-select: none;
16
+ user-select: none;
17
+ font-family: var(--font-font-family-body, "Satoshi"), "Satoshi", "Inter", "Segoe UI", "system-ui", sans-serif;
18
+ font-weight: var(--font-weight-font-bold, 700);
19
+ font-size: var(--font-size-text-sm, 14rem);
20
+ line-height: calc(var(--font-leading-leading-sm, 20)* 1rem);
21
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
22
+ transition:
23
+ background-color 0.2s ease-in-out,
24
+ color 0.2s ease-in-out,
25
+ box-shadow 0.2s ease-in-out,
26
+ transform 0.15s ease-in-out,
27
+ opacity 0.2s ease-in-out;
28
+ }
29
+
30
+ .button:disabled {
31
+ cursor: not-allowed;
32
+ opacity: 1;
33
+ }
34
+
35
+ .button--sm {
36
+ padding: var(--component-button-spacing-sm-padding-y, 8rem)
37
+ var(--component-button-spacing-sm-padding-x, 12rem);
38
+ gap: var(--component-button-spacing-sm-gap, 4rem);
39
+ font-size: var(--font-size-text-sm, 14rem);
40
+ line-height: calc(var(--font-leading-leading-sm, 20)* 1rem);
41
+ }
42
+
43
+ .button--md {
44
+ padding: var(--component-button-spacing-md-padding-y, 10rem)
45
+ var(--component-button-spacing-md-padding-x, 14rem);
46
+ gap: var(--component-button-spacing-md-gap, 10rem);
47
+ font-size: var(--font-size-text-base, 16rem);
48
+ line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
49
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
50
+ }
51
+
52
+ .button--lg {
53
+ padding: var(--component-button-spacing-lg-padding-y, 10rem)
54
+ var(--component-button-spacing-lg-padding-x, 64rem);
55
+ gap: var(--component-button-spacing-lg-gap, 6rem);
56
+ font-size: var(--font-size-text-lg, 18rem);
57
+ line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
58
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
59
+ }
60
+
61
+ .button--xl {
62
+ padding: var(--component-button-spacing-xl-padding-y, 12rem)
63
+ var(--component-button-spacing-xl-padding-x, 16rem);
64
+ gap: var(--component-button-spacing-xl-gap, 6rem);
65
+ font-size: var(--font-size-text-base, 16rem);
66
+ line-height: calc(var(--font-leading-leading-md, 24)* 1rem);
67
+ letter-spacing: calc(var(--font-tracking-tracking-normal, 0rem)* 1rem);
68
+ }
69
+
70
+ .button__label {
71
+ display: inline-flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ }
75
+
76
+ .button__icon {
77
+ display: inline-flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ color: inherit;
81
+ }
82
+
83
+ .button--primary {
84
+ background-color: var(--color-button-brand-background-primary-default, #fe8839);
85
+ color: var(--color-button-brand-foreground-primary-default, #ffffff);
86
+ }
87
+
88
+ .button--primary:hover:not(:disabled) {
89
+ background-color: var(--color-button-brand-background-primary-hover, #fc6613);
90
+ }
91
+
92
+ .button--primary:active:not(:disabled) {
93
+ background-color: var(--color-button-brand-background-primary-pressed, #ed4c09);
94
+ }
95
+
96
+ .button--primary:focus-visible:not(:disabled) {
97
+ outline: none;
98
+ box-shadow: 0 0 0 2rem
99
+ var(--color-button-brand-background-primary-focused, #ed4c09);
100
+ }
101
+
102
+ .button--primary:disabled {
103
+ background-color: var(--color-button-brand-background-primary-disabled, #f5f5f5);
104
+ color: var(--color-button-brand-foreground-primary-disabled, #a3a3a3);
105
+ }
106
+
107
+ .button--secondary {
108
+ background-color: var(--color-button-brand-background-secondary-default, #0d9394);
109
+ color: var(--color-button-brand-foreground-secondary-default, #ffffff);
110
+ }
111
+
112
+ .button--outline-primary {
113
+ background-color: var(--component-button-color-outline-primary-background-default, #ffffff);
114
+ color: var(--component-button-color-outline-primary-foreground-default, #fe8839);
115
+ border: var(--border-width-input, 1rem) solid
116
+ var(--component-button-color-outline-primary-border-default, #fe8839);
117
+ }
118
+
119
+ .button--outline-primary:hover:not(:disabled) {
120
+ background-color: var(--component-button-color-outline-primary-background-hover, #fff6ed);
121
+ border-color: var(--component-button-color-outline-primary-border-hover, #fc6613);
122
+ }
123
+
124
+ .button--outline-primary:active:not(:disabled) {
125
+ background-color: var(--component-button-color-outline-primary-background-pressed, #ffebd4);
126
+ border-color: var(--component-button-color-outline-primary-border-pressed, #ed4c09);
127
+ }
128
+
129
+ .button--outline-primary:focus-visible:not(:disabled) {
130
+ outline: none;
131
+ box-shadow: 0 0 0 2rem
132
+ var(--component-button-color-outline-primary-background-focused, #ffebd4);
133
+ }
134
+
135
+ .button--outline-primary:disabled {
136
+ background-color: var(--component-button-color-outline-primary-background-disabled, #ffffff);
137
+ color: var(--component-button-color-outline-primary-foreground-disabled, #a3a3a3);
138
+ border-color: var(--component-button-color-outline-primary-border-default, #fe8839);
139
+ }
140
+
141
+ .button--outline-secondary {
142
+ background-color: var(--component-button-color-outline-secondary-background-default, #ffffff);
143
+ color: var(--component-button-color-outline-secondary-foreground-default, #0d9394);
144
+ border: var(--border-width-input, 1rem) solid
145
+ var(
146
+ --component-button-color-outline-secondary-border-default,
147
+ var(--component-button-color-outline-secondary-foreground-default, #0d9394)
148
+ );
149
+ }
150
+
151
+ .button--outline-secondary:hover:not(:disabled) {
152
+ background-color: var(
153
+ --component-button-color-outline-secondary-background-hover,
154
+ var(--button-color-outline-secondary-background-hover, #f0fdfb)
155
+ );
156
+ border-color: var(
157
+ --component-button-color-outline-secondary-border-hover,
158
+ #0f7173
159
+ );
160
+ }
161
+
162
+ .button--outline-secondary:active:not(:disabled) {
163
+ background-color: var(
164
+ --component-button-color-outline-secondary-background-pressed,
165
+ var(--button-color-outline-secondary-background-pressed, #ccfbf6)
166
+ );
167
+ border-color: var(
168
+ --component-button-color-outline-secondary-border-pressed,
169
+ #115b5e
170
+ );
171
+ }
172
+
173
+ .button--outline-secondary:focus-visible:not(:disabled) {
174
+ outline: none;
175
+ box-shadow: 0 0 0 2rem
176
+ var(--component-button-color-outline-secondary-background-focused, #ffffff);
177
+ }
178
+
179
+ .button--outline-secondary:disabled {
180
+ background-color: var(--component-button-color-outline-secondary-background-disabled, #ffffff);
181
+ color: var(--component-button-color-outline-secondary-foreground-disabled, #a3a3a3);
182
+ border-color: var(--component-button-color-outline-secondary-border-default, var(--component-button-color-outline-secondary-foreground-default, #0d9394));
183
+ }
184
+
185
+ .button--secondary:hover:not(:disabled) {
186
+ background-color: var(--color-button-brand-background-secondary-hover, #0f7173);
187
+ }
188
+
189
+ .button--secondary:active:not(:disabled) {
190
+ background-color: var(--color-button-brand-background-secondary-pressed, #042c2f);
191
+ }
192
+
193
+ .button--secondary:focus-visible:not(:disabled) {
194
+ outline: none;
195
+ box-shadow: 0 0 0 2rem
196
+ var(--color-button-brand-background-secondary-focused, #042c2f);
197
+ }
198
+
199
+ .button--secondary:disabled {
200
+ background-color: var(--color-button-brand-background-secondary-disabled, #f5f5f5);
201
+ color: var(--color-button-brand-foreground-secondary-disabled, #a3a3a3);
202
+ }
203
+
@@ -0,0 +1,149 @@
1
+ @import "src/styles/tokens/tokens.css";
2
+
3
+ .tab {
4
+ --tab-width: var(--tab-inline-lg-width, 124rem);
5
+ --tab-height: var(--tab-inline-lg-height, 78rem);
6
+ position: relative;
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ box-sizing: border-box;
11
+ width: calc(var(--tab-width) / 16);
12
+ height: calc(var(--tab-height) / 16);
13
+ gap: calc(var(--tab-spacing-container-gap, 0) / 16);
14
+ padding-top: calc(var(--tab-spacing-container-padding-y, 8rem) / 16);
15
+ padding-bottom: calc(var(--tab-spacing-container-padding-y, 8rem) / 16);
16
+ padding-left: calc(var(--tab-spacing-container-padding-x, 8rem) / 16);
17
+ padding-right: calc(var(--tab-spacing-container-padding-x, 8rem) / 16);
18
+ border: none;
19
+ border-radius: calc(var(--tab-border-radius-default, 0) / 16);
20
+ border-bottom-style: solid;
21
+ border-bottom-width: calc(var(--tab-border-width-default, 4rem) / 16);
22
+ border-bottom-color: var(--tab-color-normal-default-border, #e5e5e5);
23
+ background-color: var(--tab-color-normal-default-background, #ffffff);
24
+ color: var(--color-text-state-default, #737373);
25
+ opacity: calc(var(--opacity-opacity-100, 100) / 100);
26
+ cursor: pointer;
27
+ transition:
28
+ background-color 0.2s ease-in-out,
29
+ border-color 0.2s ease-in-out,
30
+ color 0.2s ease-in-out,
31
+ box-shadow 0.2s ease-in-out,
32
+ transform 0.15s ease-in-out;
33
+ }
34
+
35
+ .tab:focus-visible {
36
+ outline: none;
37
+ box-shadow: 0 0 0 calc(2rem / 16)
38
+ var(--tab-color-normal-focused-border, #e5e5e5);
39
+ background-color: var(--tab-color-normal-focused-background, #ffffff);
40
+ }
41
+
42
+ .tab:hover:not(:disabled):not(.tab--active) {
43
+ background-color: var(--tab-color-normal-hover-background, #ededed);
44
+ border-bottom-color: var(--tab-color-normal-hover-border, #e5e5e5);
45
+ color: var(--color-text-state-hover, #404040);
46
+ }
47
+
48
+ .tab:active:not(:disabled):not(.tab--active) {
49
+ background-color: var(--tab-color-normal-pressed-background, #d9d9d9);
50
+ border-bottom-color: var(--tab-color-normal-pressed-border, #e5e5e5);
51
+ transform: translateY(calc(1rem / 16 * 1));
52
+ color: var(--color-text-state-hover, #404040);
53
+ }
54
+
55
+ .tab--active {
56
+ background-color: var(--tab-color-active-default-background, #ffffff);
57
+ border-bottom-color: var(--tab-color-active-default-border, #0f7173);
58
+ color: var(--color-text-state-filled, #262626);
59
+ }
60
+
61
+ .tab--active:hover:not(:disabled) {
62
+ border-bottom-color: var(--tab-color-active-hover-border, #115b5e);
63
+ background-color: var(--tab-color-active-hover-background, #ffffff);
64
+ }
65
+
66
+ .tab--active:active:not(:disabled) {
67
+ border-bottom-color: var(--tab-color-active-pressed-border, #042c2f);
68
+ background-color: var(--tab-color-active-pressed-background, #ffffff);
69
+ }
70
+
71
+ .tab--active:focus-visible {
72
+ box-shadow: 0 0 0 calc(2rem / 16)
73
+ var(--tab-color-active-focused-border, #042c2f);
74
+ background-color: var(--tab-color-active-focused-background, #ffffff);
75
+ }
76
+
77
+ .tab--disabled,
78
+ .tab:disabled {
79
+ cursor: not-allowed;
80
+ color: var(--color-text-state-disabled, #a3a3a3);
81
+ background-color: var(--tab-color-normal-default-background, #ffffff);
82
+ border-bottom-color: var(--tab-color-normal-default-border, #e5e5e5);
83
+ opacity: 1;
84
+ }
85
+
86
+ .tab__label {
87
+ display: inline-flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ color: inherit;
91
+ }
92
+
93
+ .tab--variant-inline.tab--size-lg {
94
+ --tab-width: var(--tab-inline-lg-width, 124rem);
95
+ --tab-height: var(--tab-inline-lg-height, 78rem);
96
+ }
97
+
98
+ .tab--variant-inline.tab--size-sm {
99
+ --tab-width: var(--tab-inline-sm-width, 115rem);
100
+ --tab-height: var(--tab-inline-sm-height, 56rem);
101
+ }
102
+
103
+ .tab--variant-outline.tab--size-sm {
104
+ --tab-width: var(--tab-outline-sm-width, 119rem);
105
+ --tab-height: var(--tab-outline-sm-height, 56rem);
106
+ border-bottom-color: var(--tab-color-active-default-border, #0f7173);
107
+ }
108
+
109
+ .tab--variant-outline.tab--size-lg {
110
+ --tab-width: var(--tab-outline-lg-width, 129rem);
111
+ --tab-height: var(--tab-outline-lg-height, 78rem);
112
+ border-bottom-color: var(--tab-color-active-default-border, #0f7173);
113
+ }
114
+
115
+ .tab--variant-outline {
116
+ background-color: var(--tab-color-active-default-background, #ffffff);
117
+ }
118
+
119
+ .tab--variant-outline:hover:not(:disabled):not(.tab--active),
120
+ .tab--variant-outline:active:not(:disabled):not(.tab--active) {
121
+ background-color: var(--tab-color-active-hover-background, #ffffff);
122
+ }
123
+
124
+ .tab--variant-outline.tab--size-sm:hover:not(:disabled):not(.tab--active) {
125
+ border-bottom-color: var(--tab-color-active-hover-border, #115b5e);
126
+ }
127
+
128
+ .tab--variant-outline.tab--size-sm:active:not(:disabled):not(.tab--active) {
129
+ border-bottom-color: var(--tab-color-active-pressed-border, #042c2f);
130
+ }
131
+
132
+ .tab--variant-outline.tab--size-lg:hover:not(:disabled):not(.tab--active) {
133
+ border-bottom-color: var(--tab-color-active-hover-border, #115b5e);
134
+ }
135
+
136
+ .tab--variant-outline.tab--size-lg:active:not(:disabled):not(.tab--active) {
137
+ border-bottom-color: var(--tab-color-active-pressed-border, #042c2f);
138
+ }
139
+
140
+ .tab--variant-outline.tab--size-sm:focus-visible {
141
+ outline: none;
142
+ box-shadow: none;
143
+ --tab-width: var(--tab-outline-sm-focus-width, 121rem);
144
+ --tab-height: var(--tab-outline-sm-focus-height, 59rem);
145
+ border-radius: calc(var(--border-radius-rounded-sm, 4rem) / 16);
146
+ border-top: calc(var(--border-border, 1rem) / 16)
147
+ solid var(--color-atoll-green-800, #0f7173);
148
+ }
149
+