@wakastellar/ui 0.1.0

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 (113) hide show
  1. package/dist/blocks/footer/index.d.ts +19 -0
  2. package/dist/blocks/headtab/index.d.ts +27 -0
  3. package/dist/blocks/index.d.ts +5 -0
  4. package/dist/blocks/language-selector/index.d.ts +6 -0
  5. package/dist/blocks/layout/index.d.ts +28 -0
  6. package/dist/blocks/login/index.d.ts +13 -0
  7. package/dist/components/DataTable/DataTable.d.ts +17 -0
  8. package/dist/components/DataTable/DataTableAdvanced.d.ts +27 -0
  9. package/dist/components/DataTable/DataTableColumnResizer.d.ts +8 -0
  10. package/dist/components/DataTable/DataTableContextMenu.d.ts +47 -0
  11. package/dist/components/DataTable/DataTableEditCell.d.ts +29 -0
  12. package/dist/components/DataTable/DataTableFilters.d.ts +14 -0
  13. package/dist/components/DataTable/DataTableGrouping.d.ts +25 -0
  14. package/dist/components/DataTable/DataTablePagination.d.ts +8 -0
  15. package/dist/components/DataTable/DataTableSelection.d.ts +46 -0
  16. package/dist/components/DataTable/DataTableToolbar.d.ts +14 -0
  17. package/dist/components/DataTable/examples/EditExample.d.ts +2 -0
  18. package/dist/components/DataTable/hooks/useDataTable.d.ts +24 -0
  19. package/dist/components/DataTable/hooks/useDataTableAdvanced.d.ts +38 -0
  20. package/dist/components/DataTable/hooks/useDataTableEdit.d.ts +22 -0
  21. package/dist/components/DataTable/hooks/useDataTableExport.d.ts +15 -0
  22. package/dist/components/DataTable/hooks/useDataTableImport.d.ts +12 -0
  23. package/dist/components/DataTable/hooks/useDataTableTheme.d.ts +16 -0
  24. package/dist/components/DataTable/hooks/useDataTableVirtualization.d.ts +19 -0
  25. package/dist/components/DataTable/hooks/useTableLayout.d.ts +26 -0
  26. package/dist/components/DataTable/index.d.ts +37 -0
  27. package/dist/components/DataTable/types.d.ts +461 -0
  28. package/dist/components/DataTable/utils.d.ts +37 -0
  29. package/dist/components/accordion/index.d.ts +7 -0
  30. package/dist/components/alert/index.d.ts +8 -0
  31. package/dist/components/alert-dialog/index.d.ts +20 -0
  32. package/dist/components/aspect-ratio/index.d.ts +3 -0
  33. package/dist/components/avatar/index.d.ts +6 -0
  34. package/dist/components/badge/index.d.ts +9 -0
  35. package/dist/components/button/index.d.ts +11 -0
  36. package/dist/components/calendar/index.d.ts +8 -0
  37. package/dist/components/card/index.d.ts +8 -0
  38. package/dist/components/checkbox/index.d.ts +4 -0
  39. package/dist/components/code/index.d.ts +29 -0
  40. package/dist/components/collapsible/index.d.ts +5 -0
  41. package/dist/components/command/index.d.ts +51 -0
  42. package/dist/components/context-menu/index.d.ts +27 -0
  43. package/dist/components/dialog/index.d.ts +19 -0
  44. package/dist/components/dropdown-menu/index.d.ts +27 -0
  45. package/dist/components/form/index.d.ts +23 -0
  46. package/dist/components/hover-card/index.d.ts +6 -0
  47. package/dist/components/index.d.ts +52 -0
  48. package/dist/components/input/index.d.ts +5 -0
  49. package/dist/components/input-otp/index.d.ts +51 -0
  50. package/dist/components/label/index.d.ts +5 -0
  51. package/dist/components/language-selector/index.d.ts +40 -0
  52. package/dist/components/menubar/index.d.ts +28 -0
  53. package/dist/components/navigation-menu/index.d.ts +12 -0
  54. package/dist/components/popover/index.d.ts +6 -0
  55. package/dist/components/progress/index.d.ts +4 -0
  56. package/dist/components/radio-group/index.d.ts +5 -0
  57. package/dist/components/scroll-area/index.d.ts +5 -0
  58. package/dist/components/select/index.d.ts +13 -0
  59. package/dist/components/separator/index.d.ts +4 -0
  60. package/dist/components/sheet/index.d.ts +27 -0
  61. package/dist/components/skeleton/index.d.ts +2 -0
  62. package/dist/components/slider/index.d.ts +4 -0
  63. package/dist/components/switch/index.d.ts +4 -0
  64. package/dist/components/table/index.d.ts +10 -0
  65. package/dist/components/tabs/index.d.ts +7 -0
  66. package/dist/components/textarea/index.d.ts +5 -0
  67. package/dist/components/theme-selector/index.d.ts +8 -0
  68. package/dist/components/toast/index.d.ts +15 -0
  69. package/dist/components/toaster/index.d.ts +1 -0
  70. package/dist/components/toggle/index.d.ts +12 -0
  71. package/dist/components/tooltip/index.d.ts +7 -0
  72. package/dist/components/typography/index.d.ts +85 -0
  73. package/dist/components/waka-admincrumb/index.d.ts +41 -0
  74. package/dist/components/waka-carousel/index.d.ts +105 -0
  75. package/dist/components/waka-datetime-picker/index.d.ts +135 -0
  76. package/dist/components/waka-datetime-picker.form-integration/index.d.ts +69 -0
  77. package/dist/components/waka-notifications/index.d.ts +40 -0
  78. package/dist/components/waka-spinner/index.d.ts +46 -0
  79. package/dist/components/waka-theme-creator/index.d.ts +59 -0
  80. package/dist/components/waka-theme-manager/index.d.ts +62 -0
  81. package/dist/context/admincrumb-context.d.ts +34 -0
  82. package/dist/context/index.d.ts +8 -0
  83. package/dist/context/language-context.d.ts +57 -0
  84. package/dist/context/theme-context.d.ts +39 -0
  85. package/dist/context/theme-provider.d.ts +74 -0
  86. package/dist/context/waka-provider.d.ts +50 -0
  87. package/dist/hooks/index.d.ts +1 -0
  88. package/dist/hooks/use-toast.d.ts +44 -0
  89. package/dist/hooks/use-translation.d.ts +15 -0
  90. package/dist/hooks/useToast.d.ts +44 -0
  91. package/dist/index.cjs.js +70 -0
  92. package/dist/index.d.ts +20 -0
  93. package/dist/index.es.js +16379 -0
  94. package/dist/lib/i18n.d.ts +4 -0
  95. package/dist/types/provider.d.ts +108 -0
  96. package/dist/ui.css +1 -0
  97. package/dist/utils/cn.d.ts +1 -0
  98. package/dist/utils/datetime-helpers.d.ts +137 -0
  99. package/dist/utils/index.d.ts +5 -0
  100. package/dist/utils/theme-loader.d.ts +101 -0
  101. package/dist/utils/tweak.d.ts +18 -0
  102. package/package.json +118 -0
  103. package/src/styles/carousel.css +687 -0
  104. package/src/styles/code-highlight.css +232 -0
  105. package/src/styles/datepicker.css +420 -0
  106. package/src/styles/globals.css +84 -0
  107. package/src/styles/prism.css +261 -0
  108. package/src/styles/themes/forest.css +55 -0
  109. package/src/styles/themes/index.css +7 -0
  110. package/src/styles/themes/monochrome.css +55 -0
  111. package/src/styles/themes/perpetuity.css +55 -0
  112. package/src/styles/themes/sunset.css +55 -0
  113. package/src/styles/themes/twilight.css +55 -0
@@ -0,0 +1,232 @@
1
+ /* Styles de coloration syntaxique ultra-spécifiques pour éviter les conflits avec TweakCN */
2
+
3
+ /* Override complet pour les éléments de code */
4
+ .waka-code pre[class*="language-"] code[class*="language-"],
5
+ pre[class*="language-"] code[class*="language-"] {
6
+ color: inherit !important;
7
+ background: transparent !important;
8
+ text-shadow: none !important;
9
+ font-family: inherit !important;
10
+ font-size: inherit !important;
11
+ line-height: inherit !important;
12
+ }
13
+
14
+ /* Styles de base pour les blocs de code */
15
+ .waka-code pre[class*="language-"],
16
+ pre[class*="language-"] {
17
+ background: #f8f9fa !important;
18
+ border: 1px solid #e9ecef !important;
19
+ border-radius: 0.5rem !important;
20
+ padding: 1rem !important;
21
+ margin: 0.5rem 0 !important;
22
+ overflow-x: auto !important;
23
+ font-family: 'Fira Code', 'Monaco', 'Consolas', 'Ubuntu Mono', monospace !important;
24
+ font-size: 0.875rem !important;
25
+ line-height: 1.5 !important;
26
+ color: #333 !important;
27
+ }
28
+
29
+ /* Dark theme */
30
+ @media (prefers-color-scheme: dark) {
31
+ .waka-code pre[class*="language-"],
32
+ pre[class*="language-"] {
33
+ background: #1a1a1a !important;
34
+ border-color: #333 !important;
35
+ color: #e6e6e6 !important;
36
+ }
37
+ }
38
+
39
+ /* Coloration syntaxique avec sélecteurs ultra-spécifiques */
40
+ .waka-code .token.comment,
41
+ .waka-code .token.prolog,
42
+ .waka-code .token.doctype,
43
+ .waka-code .token.cdata,
44
+ pre[class*="language-"] .token.comment,
45
+ pre[class*="language-"] .token.prolog,
46
+ pre[class*="language-"] .token.doctype,
47
+ pre[class*="language-"] .token.cdata {
48
+ color: #6a737d !important;
49
+ font-style: italic !important;
50
+ }
51
+
52
+ .waka-code .token.punctuation,
53
+ pre[class*="language-"] .token.punctuation {
54
+ color: #586069 !important;
55
+ }
56
+
57
+ .waka-code .token.property,
58
+ .waka-code .token.tag,
59
+ .waka-code .token.boolean,
60
+ .waka-code .token.number,
61
+ .waka-code .token.constant,
62
+ .waka-code .token.symbol,
63
+ .waka-code .token.deleted,
64
+ pre[class*="language-"] .token.property,
65
+ pre[class*="language-"] .token.tag,
66
+ pre[class*="language-"] .token.boolean,
67
+ pre[class*="language-"] .token.number,
68
+ pre[class*="language-"] .token.constant,
69
+ pre[class*="language-"] .token.symbol,
70
+ pre[class*="language-"] .token.deleted {
71
+ color: #005cc5 !important;
72
+ }
73
+
74
+ .waka-code .token.selector,
75
+ .waka-code .token.attr-name,
76
+ .waka-code .token.string,
77
+ .waka-code .token.char,
78
+ .waka-code .token.builtin,
79
+ .waka-code .token.inserted,
80
+ pre[class*="language-"] .token.selector,
81
+ pre[class*="language-"] .token.attr-name,
82
+ pre[class*="language-"] .token.string,
83
+ pre[class*="language-"] .token.char,
84
+ pre[class*="language-"] .token.builtin,
85
+ pre[class*="language-"] .token.inserted {
86
+ color: #032f62 !important;
87
+ }
88
+
89
+ .waka-code .token.operator,
90
+ .waka-code .token.entity,
91
+ .waka-code .token.url,
92
+ .waka-code .language-css .token.string,
93
+ .waka-code .style .token.string,
94
+ pre[class*="language-"] .token.operator,
95
+ pre[class*="language-"] .token.entity,
96
+ pre[class*="language-"] .token.url,
97
+ pre[class*="language-"] .language-css .token.string,
98
+ pre[class*="language-"] .style .token.string {
99
+ color: #d73a49 !important;
100
+ }
101
+
102
+ .waka-code .token.atrule,
103
+ .waka-code .token.attr-value,
104
+ .waka-code .token.keyword,
105
+ pre[class*="language-"] .token.atrule,
106
+ pre[class*="language-"] .token.attr-value,
107
+ pre[class*="language-"] .token.keyword {
108
+ color: #d73a49 !important;
109
+ font-weight: 600 !important;
110
+ }
111
+
112
+ .waka-code .token.function,
113
+ .waka-code .token.class-name,
114
+ pre[class*="language-"] .token.function,
115
+ pre[class*="language-"] .token.class-name {
116
+ color: #6f42c1 !important;
117
+ }
118
+
119
+ .waka-code .token.regex,
120
+ .waka-code .token.important,
121
+ .waka-code .token.variable,
122
+ pre[class*="language-"] .token.regex,
123
+ pre[class*="language-"] .token.important,
124
+ pre[class*="language-"] .token.variable {
125
+ color: #e36209 !important;
126
+ }
127
+
128
+ /* Dark theme colors */
129
+ @media (prefers-color-scheme: dark) {
130
+ .waka-code .token.comment,
131
+ .waka-code .token.prolog,
132
+ .waka-code .token.doctype,
133
+ .waka-code .token.cdata,
134
+ pre[class*="language-"] .token.comment,
135
+ pre[class*="language-"] .token.prolog,
136
+ pre[class*="language-"] .token.doctype,
137
+ pre[class*="language-"] .token.cdata {
138
+ color: #8b949e !important;
139
+ }
140
+
141
+ .waka-code .token.punctuation,
142
+ pre[class*="language-"] .token.punctuation {
143
+ color: #c9d1d9 !important;
144
+ }
145
+
146
+ .waka-code .token.property,
147
+ .waka-code .token.tag,
148
+ .waka-code .token.boolean,
149
+ .waka-code .token.number,
150
+ .waka-code .token.constant,
151
+ .waka-code .token.symbol,
152
+ .waka-code .token.deleted,
153
+ pre[class*="language-"] .token.property,
154
+ pre[class*="language-"] .token.tag,
155
+ pre[class*="language-"] .token.boolean,
156
+ pre[class*="language-"] .token.number,
157
+ pre[class*="language-"] .token.constant,
158
+ pre[class*="language-"] .token.symbol,
159
+ pre[class*="language-"] .token.deleted {
160
+ color: #79c0ff !important;
161
+ }
162
+
163
+ .waka-code .token.selector,
164
+ .waka-code .token.attr-name,
165
+ .waka-code .token.string,
166
+ .waka-code .token.char,
167
+ .waka-code .token.builtin,
168
+ .waka-code .token.inserted,
169
+ pre[class*="language-"] .token.selector,
170
+ pre[class*="language-"] .token.attr-name,
171
+ pre[class*="language-"] .token.string,
172
+ pre[class*="language-"] .token.char,
173
+ pre[class*="language-"] .token.builtin,
174
+ pre[class*="language-"] .token.inserted {
175
+ color: #a5d6ff !important;
176
+ }
177
+
178
+ .waka-code .token.operator,
179
+ .waka-code .token.entity,
180
+ .waka-code .token.url,
181
+ .waka-code .language-css .token.string,
182
+ .waka-code .style .token.string,
183
+ pre[class*="language-"] .token.operator,
184
+ pre[class*="language-"] .token.entity,
185
+ pre[class*="language-"] .token.url,
186
+ pre[class*="language-"] .language-css .token.string,
187
+ pre[class*="language-"] .style .token.string {
188
+ color: #ff7b72 !important;
189
+ }
190
+
191
+ .waka-code .token.atrule,
192
+ .waka-code .token.attr-value,
193
+ .waka-code .token.keyword,
194
+ pre[class*="language-"] .token.atrule,
195
+ pre[class*="language-"] .token.attr-value,
196
+ pre[class*="language-"] .token.keyword {
197
+ color: #ff7b72 !important;
198
+ }
199
+
200
+ .waka-code .token.function,
201
+ .waka-code .token.class-name,
202
+ pre[class*="language-"] .token.function,
203
+ pre[class*="language-"] .token.class-name {
204
+ color: #d2a8ff !important;
205
+ }
206
+
207
+ .waka-code .token.regex,
208
+ .waka-code .token.important,
209
+ .waka-code .token.variable,
210
+ pre[class*="language-"] .token.regex,
211
+ pre[class*="language-"] .token.important,
212
+ pre[class*="language-"] .token.variable {
213
+ color: #ffa657 !important;
214
+ }
215
+ }
216
+
217
+ /* Responsive adjustments */
218
+ @media (max-width: 640px) {
219
+ .waka-code pre[class*="language-"],
220
+ pre[class*="language-"] {
221
+ font-size: 0.75rem !important;
222
+ padding: 0.75rem !important;
223
+ }
224
+ }
225
+
226
+ @media (min-width: 1024px) {
227
+ .waka-code pre[class*="language-"],
228
+ pre[class*="language-"] {
229
+ font-size: 1rem !important;
230
+ padding: 1.5rem !important;
231
+ }
232
+ }
@@ -0,0 +1,420 @@
1
+ /* ============================================
2
+ Styles pour react-datepicker
3
+ Isolation contre TweakCN et styles globaux
4
+ ============================================ */
5
+
6
+ /* Reset et isolation de base */
7
+ .react-datepicker-wrapper,
8
+ .react-datepicker__input-container {
9
+ display: block !important;
10
+ width: 100% !important;
11
+ }
12
+
13
+ /* Container principal - haute priorité */
14
+ .react-datepicker-popper {
15
+ z-index: 9999 !important;
16
+ }
17
+
18
+ .react-datepicker {
19
+ font-family: inherit !important;
20
+ font-size: 0.875rem !important;
21
+ background-color: hsl(var(--popover)) !important;
22
+ color: hsl(var(--popover-foreground)) !important;
23
+ border: 1px solid hsl(var(--border)) !important;
24
+ border-radius: 0.5rem !important;
25
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
26
+ display: inline-block !important;
27
+ position: relative !important;
28
+ }
29
+
30
+ /* Header */
31
+ .react-datepicker__header {
32
+ text-align: center !important;
33
+ background-color: hsl(var(--popover)) !important;
34
+ border-bottom: 1px solid hsl(var(--border)) !important;
35
+ border-top-left-radius: 0.5rem !important;
36
+ border-top-right-radius: 0.5rem !important;
37
+ padding: 0.5rem 0 !important;
38
+ position: relative !important;
39
+ }
40
+
41
+ .react-datepicker__current-month {
42
+ margin-top: 0 !important;
43
+ color: hsl(var(--foreground)) !important;
44
+ font-weight: 600 !important;
45
+ font-size: 0.875rem !important;
46
+ }
47
+
48
+ .react-datepicker__day-names {
49
+ margin-bottom: -0.5rem !important;
50
+ display: flex !important;
51
+ justify-content: space-around !important;
52
+ padding: 0.5rem 0 !important;
53
+ }
54
+
55
+ .react-datepicker__day-name {
56
+ color: hsl(var(--muted-foreground)) !important;
57
+ display: inline-block !important;
58
+ width: 2rem !important;
59
+ line-height: 2rem !important;
60
+ text-align: center !important;
61
+ margin: 0.166rem !important;
62
+ font-weight: 500 !important;
63
+ font-size: 0.75rem !important;
64
+ }
65
+
66
+ /* Navigation */
67
+ .react-datepicker__navigation {
68
+ background: none !important;
69
+ border: none !important;
70
+ line-height: 1.7rem !important;
71
+ text-align: center !important;
72
+ cursor: pointer !important;
73
+ position: absolute !important;
74
+ top: 0.5rem !important;
75
+ padding: 0 !important;
76
+ z-index: 1 !important;
77
+ height: 2rem !important;
78
+ width: 2rem !important;
79
+ text-indent: -999em !important;
80
+ overflow: hidden !important;
81
+ border-radius: 0.25rem !important;
82
+ }
83
+
84
+ .react-datepicker__navigation:hover {
85
+ background-color: hsl(var(--accent)) !important;
86
+ }
87
+
88
+ .react-datepicker__navigation--previous {
89
+ left: 0.5rem !important;
90
+ border-right-color: hsl(var(--foreground)) !important;
91
+ }
92
+
93
+ .react-datepicker__navigation--next {
94
+ right: 0.5rem !important;
95
+ border-left-color: hsl(var(--foreground)) !important;
96
+ }
97
+
98
+ .react-datepicker__navigation-icon::before {
99
+ border-color: hsl(var(--foreground)) !important;
100
+ border-style: solid !important;
101
+ border-width: 2px 2px 0 0 !important;
102
+ content: "" !important;
103
+ display: block !important;
104
+ height: 9px !important;
105
+ position: absolute !important;
106
+ top: 6px !important;
107
+ width: 9px !important;
108
+ }
109
+
110
+ .react-datepicker__navigation-icon--previous::before {
111
+ transform: rotate(225deg) !important;
112
+ right: -2px !important;
113
+ }
114
+
115
+ .react-datepicker__navigation-icon--next::before {
116
+ transform: rotate(45deg) !important;
117
+ left: -2px !important;
118
+ }
119
+
120
+ /* Month */
121
+ .react-datepicker__month {
122
+ margin: 0.4rem !important;
123
+ text-align: center !important;
124
+ }
125
+
126
+ .react-datepicker__week {
127
+ display: flex !important;
128
+ justify-content: space-around !important;
129
+ }
130
+
131
+ /* Days */
132
+ .react-datepicker__day {
133
+ cursor: pointer !important;
134
+ display: inline-block !important;
135
+ width: 2rem !important;
136
+ line-height: 2rem !important;
137
+ text-align: center !important;
138
+ margin: 0.166rem !important;
139
+ color: hsl(var(--foreground)) !important;
140
+ border-radius: 0.375rem !important;
141
+ font-size: 0.875rem !important;
142
+ background: transparent !important;
143
+ transition: all 150ms ease-in-out !important;
144
+ }
145
+
146
+ .react-datepicker__day:hover {
147
+ background-color: hsl(var(--accent)) !important;
148
+ color: hsl(var(--accent-foreground)) !important;
149
+ }
150
+
151
+ .react-datepicker__day--selected {
152
+ background-color: hsl(var(--primary)) !important;
153
+ color: hsl(var(--primary-foreground)) !important;
154
+ font-weight: 600 !important;
155
+ }
156
+
157
+ .react-datepicker__day--selected:hover {
158
+ background-color: hsl(var(--primary)) !important;
159
+ color: hsl(var(--primary-foreground)) !important;
160
+ }
161
+
162
+ .react-datepicker__day--today {
163
+ background-color: hsl(var(--accent)) !important;
164
+ color: hsl(var(--accent-foreground)) !important;
165
+ font-weight: 600 !important;
166
+ }
167
+
168
+ .react-datepicker__day--keyboard-selected {
169
+ background-color: hsl(var(--accent)) !important;
170
+ color: hsl(var(--accent-foreground)) !important;
171
+ }
172
+
173
+ .react-datepicker__day--outside-month {
174
+ color: hsl(var(--muted-foreground)) !important;
175
+ opacity: 0.5 !important;
176
+ }
177
+
178
+ .react-datepicker__day--disabled {
179
+ cursor: not-allowed !important;
180
+ opacity: 0.3 !important;
181
+ color: hsl(var(--muted-foreground)) !important;
182
+ }
183
+
184
+ .react-datepicker__day--disabled:hover {
185
+ background-color: transparent !important;
186
+ }
187
+
188
+ /* Range selection */
189
+ .react-datepicker__day--in-range {
190
+ background-color: hsl(var(--primary) / 0.2) !important;
191
+ color: hsl(var(--primary)) !important;
192
+ }
193
+
194
+ .react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range) {
195
+ background-color: hsl(var(--primary) / 0.1) !important;
196
+ }
197
+
198
+ .react-datepicker__day--range-start,
199
+ .react-datepicker__day--range-end {
200
+ background-color: hsl(var(--primary)) !important;
201
+ color: hsl(var(--primary-foreground)) !important;
202
+ }
203
+
204
+ /* Time picker */
205
+ .react-datepicker__time-container {
206
+ float: right !important;
207
+ border-left: 1px solid hsl(var(--border)) !important;
208
+ width: 85px !important;
209
+ }
210
+
211
+ .react-datepicker__time {
212
+ position: relative !important;
213
+ background: hsl(var(--popover)) !important;
214
+ border-bottom-right-radius: 0.5rem !important;
215
+ }
216
+
217
+ .react-datepicker__time-box {
218
+ width: 85px !important;
219
+ overflow-x: hidden !important;
220
+ margin: 0 auto !important;
221
+ text-align: center !important;
222
+ border-bottom-right-radius: 0.5rem !important;
223
+ }
224
+
225
+ .react-datepicker__time-list {
226
+ height: calc(195px + (1.7rem / 2)) !important;
227
+ overflow-y: scroll !important;
228
+ margin: 0 !important;
229
+ padding: 0 !important;
230
+ list-style: none !important;
231
+ background: hsl(var(--popover)) !important;
232
+ }
233
+
234
+ .react-datepicker__time-list-item {
235
+ height: 30px !important;
236
+ padding: 5px 10px !important;
237
+ white-space: nowrap !important;
238
+ cursor: pointer !important;
239
+ color: hsl(var(--foreground)) !important;
240
+ font-size: 0.875rem !important;
241
+ }
242
+
243
+ .react-datepicker__time-list-item:hover {
244
+ background-color: hsl(var(--accent)) !important;
245
+ color: hsl(var(--accent-foreground)) !important;
246
+ }
247
+
248
+ .react-datepicker__time-list-item--selected {
249
+ background-color: hsl(var(--primary)) !important;
250
+ color: hsl(var(--primary-foreground)) !important;
251
+ font-weight: 600 !important;
252
+ }
253
+
254
+ .react-datepicker__time-list-item--disabled {
255
+ color: hsl(var(--muted-foreground)) !important;
256
+ opacity: 0.3 !important;
257
+ cursor: not-allowed !important;
258
+ }
259
+
260
+ .react-datepicker__time-list-item--disabled:hover {
261
+ background-color: transparent !important;
262
+ }
263
+
264
+ /* Input styles */
265
+ .react-datepicker__input-container input {
266
+ width: 100% !important;
267
+ border-radius: 0.375rem !important;
268
+ border: 1px solid hsl(var(--input)) !important;
269
+ background-color: hsl(var(--background)) !important;
270
+ padding: 0.5rem 0.75rem !important;
271
+ font-size: 0.875rem !important;
272
+ line-height: 1.25rem !important;
273
+ color: hsl(var(--foreground)) !important;
274
+ }
275
+
276
+ .react-datepicker__input-container input:focus {
277
+ outline: none !important;
278
+ box-shadow: 0 0 0 2px hsl(var(--ring)) !important;
279
+ border-color: hsl(var(--ring)) !important;
280
+ }
281
+
282
+ .react-datepicker__input-container input::placeholder {
283
+ color: hsl(var(--muted-foreground)) !important;
284
+ }
285
+
286
+ .react-datepicker__input-container input:disabled {
287
+ cursor: not-allowed !important;
288
+ opacity: 0.5 !important;
289
+ }
290
+
291
+ /* Week numbers */
292
+ .react-datepicker__week-number {
293
+ color: hsl(var(--muted-foreground)) !important;
294
+ display: inline-block !important;
295
+ width: 2rem !important;
296
+ line-height: 2rem !important;
297
+ text-align: center !important;
298
+ margin: 0.166rem !important;
299
+ font-weight: 500 !important;
300
+ font-size: 0.75rem !important;
301
+ }
302
+
303
+ /* Month/Year dropdowns */
304
+ .react-datepicker__month-dropdown,
305
+ .react-datepicker__year-dropdown {
306
+ background-color: hsl(var(--popover)) !important;
307
+ position: absolute !important;
308
+ width: 50% !important;
309
+ left: 25% !important;
310
+ top: 30px !important;
311
+ z-index: 1 !important;
312
+ text-align: center !important;
313
+ border-radius: 0.5rem !important;
314
+ border: 1px solid hsl(var(--border)) !important;
315
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
316
+ }
317
+
318
+ .react-datepicker__month-option,
319
+ .react-datepicker__year-option {
320
+ line-height: 20px !important;
321
+ width: 100% !important;
322
+ display: block !important;
323
+ padding: 0.5rem !important;
324
+ cursor: pointer !important;
325
+ color: hsl(var(--foreground)) !important;
326
+ }
327
+
328
+ .react-datepicker__month-option:hover,
329
+ .react-datepicker__year-option:hover {
330
+ background-color: hsl(var(--accent)) !important;
331
+ color: hsl(var(--accent-foreground)) !important;
332
+ }
333
+
334
+ .react-datepicker__month-option--selected_month,
335
+ .react-datepicker__year-option--selected_year {
336
+ background-color: hsl(var(--primary)) !important;
337
+ color: hsl(var(--primary-foreground)) !important;
338
+ font-weight: 600 !important;
339
+ }
340
+
341
+ /* Portal */
342
+ .react-datepicker__portal {
343
+ position: fixed !important;
344
+ width: 100vw !important;
345
+ height: 100vh !important;
346
+ background-color: rgba(0, 0, 0, 0.8) !important;
347
+ left: 0 !important;
348
+ top: 0 !important;
349
+ justify-content: center !important;
350
+ align-items: center !important;
351
+ display: flex !important;
352
+ z-index: 2147483647 !important;
353
+ }
354
+
355
+ .react-datepicker__portal .react-datepicker {
356
+ position: relative !important;
357
+ }
358
+
359
+ /* Styles personnalisés pour WakaDateTimePicker */
360
+ .waka-datepicker-container {
361
+ position: relative !important;
362
+ display: block !important;
363
+ width: 100% !important;
364
+ }
365
+
366
+ .waka-datepicker-container .react-datepicker-wrapper {
367
+ display: block !important;
368
+ width: 100% !important;
369
+ }
370
+
371
+ /* Classes utilitaires */
372
+ .waka-datepicker .highlighted-date {
373
+ position: relative !important;
374
+ background-color: hsl(var(--accent) / 0.5) !important;
375
+ color: hsl(var(--accent-foreground)) !important;
376
+ font-weight: 600 !important;
377
+ }
378
+
379
+ .waka-datepicker .highlighted-date::after {
380
+ content: '' !important;
381
+ position: absolute !important;
382
+ bottom: 0.25rem !important;
383
+ left: 50% !important;
384
+ transform: translateX(-50%) !important;
385
+ width: 0.25rem !important;
386
+ height: 0.25rem !important;
387
+ border-radius: 50% !important;
388
+ background-color: hsl(var(--primary)) !important;
389
+ }
390
+
391
+ /* Animations désactivées si demandé */
392
+ .waka-datepicker.no-animations * {
393
+ transition: none !important;
394
+ animation: none !important;
395
+ }
396
+
397
+ /* Multiple mois */
398
+ .react-datepicker__month-container {
399
+ float: left !important;
400
+ }
401
+
402
+ .react-datepicker--time-only .react-datepicker__time-container {
403
+ border-left: 0 !important;
404
+ }
405
+
406
+ .react-datepicker--time-only .react-datepicker__time {
407
+ border-radius: 0.5rem !important;
408
+ }
409
+
410
+ /* Fix pour les conflits potentiels */
411
+ .react-datepicker * {
412
+ box-sizing: border-box !important;
413
+ }
414
+
415
+ .react-datepicker button {
416
+ border: none !important;
417
+ cursor: pointer !important;
418
+ background: transparent !important;
419
+ padding: 0 !important;
420
+ }