@dynamic-framework/ui-react 1.34.0 → 1.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +1 -1
  2. package/dist/css/bootstrap-icons.css +3 -3
  3. package/dist/css/bootstrap-icons.min.css +2 -2
  4. package/dist/css/bootstrap-icons.scss +1 -1
  5. package/dist/css/dynamic-ui-non-root.css +722 -962
  6. package/dist/css/dynamic-ui-non-root.min.css +2 -2
  7. package/dist/css/dynamic-ui-root.css +1 -1
  8. package/dist/css/dynamic-ui-root.min.css +1 -1
  9. package/dist/css/dynamic-ui.css +722 -962
  10. package/dist/css/dynamic-ui.min.css +2 -2
  11. package/dist/css/fonts/bootstrap-icons.woff +0 -0
  12. package/dist/css/fonts/bootstrap-icons.woff2 +0 -0
  13. package/dist/index.esm.js +576 -146
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/index.js +573 -143
  16. package/dist/index.js.map +1 -1
  17. package/dist/js/bootstrap.bundle.js +19 -18
  18. package/dist/js/bootstrap.bundle.min.js +3 -3
  19. package/dist/js/bootstrap.esm.js +19 -16
  20. package/dist/js/bootstrap.esm.min.js +3 -3
  21. package/dist/js/bootstrap.js +19 -16
  22. package/dist/js/bootstrap.min.js +3 -3
  23. package/dist/types/components/DBoxFile/DBoxFile.d.ts +6 -5
  24. package/dist/types/components/DBoxFile/useDBoxFile.d.ts +37 -0
  25. package/dist/types/components/DBoxFile/utils.d.ts +39 -0
  26. package/dist/types/components/DDatePicker/DDatePicker.d.ts +6 -12
  27. package/dist/types/components/DDatePicker/components/DDatePickerHeaderSelector.d.ts +38 -0
  28. package/dist/types/components/{DDatePickerInput → DDatePicker/components}/DDatePickerInput.d.ts +2 -2
  29. package/dist/types/components/{DDatePickerTime → DDatePicker/components}/DDatePickerTime.d.ts +2 -2
  30. package/dist/types/components/DInput/DInput.d.ts +1 -1
  31. package/dist/types/components/DInputCounter/DInputCounter.d.ts +2 -2
  32. package/dist/types/components/DInputCurrency/DInputCurrency.d.ts +2 -2
  33. package/dist/types/components/DInputCurrencyBase/DInputCurrencyBase.d.ts +2 -2
  34. package/dist/types/components/DInputMask/DInputMask.d.ts +1 -1
  35. package/dist/types/components/DInputRange/DInputRange.d.ts +1 -1
  36. package/dist/types/components/DInputSearch/DInputSearch.d.ts +1 -1
  37. package/dist/types/components/DPopover/DPopover.d.ts +0 -3
  38. package/dist/types/utils/attr-accept.d.ts +11 -0
  39. package/dist/types/utils/getKeyboardFocusableElements.d.ts +1 -0
  40. package/jest/setup.js +14 -0
  41. package/package.json +13 -14
  42. package/src/style/abstracts/variables/_+import.scss +1 -0
  43. package/src/style/abstracts/variables/_box-file.scss +14 -7
  44. package/src/style/abstracts/variables/_cards.scss +1 -1
  45. package/src/style/abstracts/variables/_datepicker.scss +50 -0
  46. package/src/style/abstracts/variables/_forms.scss +6 -3
  47. package/src/style/base/_form-switch.scss +23 -2
  48. package/src/style/base/_input-group.scss +18 -1
  49. package/src/style/base/_nav.scss +0 -1
  50. package/src/style/base/_toast.scss +2 -0
  51. package/src/style/components/_d-box-file.scss +31 -15
  52. package/src/style/components/_d-button-icon.scss +17 -16
  53. package/src/style/components/_d-datepicker.scss +582 -243
  54. package/src/style/components/_d-input-pin.scss +8 -5
  55. package/src/style/components/_d-quick-action-button.scss +1 -1
  56. package/src/style/components/_d-quick-action-check.scss +1 -1
  57. package/src/style/components/_d-select.scss +35 -6
  58. package/src/style/components/_d-stepper-desktop.scss +1 -1
  59. package/src/style/helpers/_text-truncate.scss +2 -2
  60. package/dist/types/components/DDatePickerHeader/DDatePickerHeader.d.ts +0 -24
  61. package/dist/types/components/DDatePickerHeader/index.d.ts +0 -2
  62. package/dist/types/components/DDatePickerInput/index.d.ts +0 -2
  63. package/dist/types/components/DDatePickerTime/index.d.ts +0 -2
@@ -1,301 +1,640 @@
1
- @import "node_modules/react-datepicker/src/stylesheets/datepicker";
2
-
3
- // stylelint-disable selector-class-pattern
4
-
1
+ /* stylelint-disable */
5
2
  .react-datepicker-wrapper {
3
+ display: inline-block;
4
+ padding: 0;
5
+ border: 0;
6
6
  width: 100%;
7
7
  margin-inline: auto;
8
8
  }
9
9
 
10
10
  .react-datepicker {
11
- --#{$prefix}datepicker-font-family: var(--#{$prefix}font-sans-serif);
12
- --#{$prefix}datepicker-border: 0px;
13
- --#{$prefix}datepicker-box-shadow: var(--#{$prefix}box-shadow);
14
- --#{$prefix}datepicker-font-size: var(--#{$prefix}ref-spacer-4);
15
-
16
- // Header variables
17
- --#{$prefix}datepicker-header-gap: var(--#{$prefix}ref-spacer-4);
18
- --#{$prefix}datepicker-header-padding: var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-7);
19
- --#{$prefix}datepicker-header-background-color: var(--#{$prefix}secondary-soft);
20
- --#{$prefix}datepicker-header-border: 0;
21
- --#{$prefix}datepicker-header-font-size: var(--#{$prefix}fs-6);
22
- --#{$prefix}datepicker-header-button-padding: 0;
23
- --#{$prefix}datepicker-header-select-padding: 0 var(--#{$prefix}ref-spacer-1);
24
- --#{$prefix}datepicker-header-select-font-weight: var(--#{$prefix}fw-bold);
25
- --#{$prefix}datepicker-header-select-menu-width: fit-content;
26
-
27
- --#{$prefix}datepicker-day-names-margin: 0;
28
- --#{$prefix}datepicker-day-names-font-size: var(--#{$prefix}ref-spacer-4);
29
-
30
- --#{$prefix}datepicker-day-name-weight: var(--#{$prefix}fw-bold);
31
- --#{$prefix}datepicker-day-name-margin: 0;
32
- --#{$prefix}datepicker-day-name-padding: 0;
33
- --#{$prefix}datepicker-day-name-size: var(--#{$prefix}ref-spacer-5);
34
- --#{$prefix}datepicker-day-name-color: var(--#{$prefix}gray-500);
35
-
36
- // Calendar variables
37
- --#{$prefix}datepicker-month-gap: .875rem;
38
- --#{$prefix}datepicker-month-padding: var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-7) var(--#{$prefix}ref-spacer-6);
39
- --#{$prefix}datepicker-month-margin: 0;
40
- --#{$prefix}datepicker-month-color: var(--#{$prefix}white);
41
-
42
- --#{$prefix}datepicker-week-gap: var(--#{$prefix}ref-spacer-8);
43
-
44
- // Day variables
45
- --#{$prefix}datepicker-day-margin: 0;
46
- --#{$prefix}datepicker-day-font-size: var(--#{$prefix}fs-small);
47
- --#{$prefix}datepicker-day-size: var(--#{$prefix}ref-spacer-5);
48
- --#{$prefix}datepicker-day-padding: 0;
49
- --#{$prefix}datepicker-day-radius: 100%;
50
- --#{$prefix}datepicker-day-color: var(--#{$prefix}gray-900);
51
- --#{$prefix}datepicker-day-disabled-color: var(--#{$prefix}gray-300);
52
-
53
- --#{$prefix}datepicker-day-color-hover: var(--#{$prefix}gray-900);
54
- --#{$prefix}datepicker-day-bg-hover: var(--#{$prefix}info-100);
55
-
56
- --#{$prefix}datepicker-day-selected-color: var(--#{$prefix}white);
57
- --#{$prefix}datepicker-day-selected-bg: var(--#{$prefix}secondary-500);
58
-
59
- --#{$prefix}datepicker-day-in-range-color: var(--#{$prefix}dark);
60
- --#{$prefix}datepicker-day-in-range-bg: var(--#{$prefix}secondary-100);
61
-
62
- --#{$prefix}datepicker-day-outside-month-color: var(--#{$prefix}gray-400);
63
-
64
- --#{$prefix}datepicker-day-today-font-weight: var(--#{$prefix}fw-normal);
65
- --#{$prefix}datepicker-day-today-box-shadow: 0 0 0 2px var(--#{$prefix}secondary);
66
-
67
- // Time variables
68
- --#{$prefix}datepicker-time-container-margin: 0;
69
- --#{$prefix}datepicker-time-container-align: center;
70
- --#{$prefix}datepicker-time-input-width: 50%;
71
- --#{$prefix}datepicker-time-input-margin: 0;
72
- --#{$prefix}datepicker-time-input-align: center;
73
-
74
- --#{$prefix}datepicker-time-input-padding: var(--#{$prefix}ref-spacer-4);
75
- --#{$prefix}datepicker-time-input-gap: var(--#{$prefix}ref-spacer-2);
76
- --#{$prefix}datepicker-time-input-label-weight: var(--#{$prefix}fw-bold);
77
- --#{$prefix}datepicker-time-input-label-color: var(--#{$prefix}gray-700);
78
- --#{$prefix}datepicker-time-input-label-size: var(--#{$prefix}fs-small);
79
-
80
- font-family: var(--#{$prefix}datepicker-font-family);
81
- font-size: var(--#{$prefix}datepicker-font-size);
11
+ // General
12
+ --#{$prefix}datepicker-bg: #{$datepicker-bg};
13
+ --#{$prefix}datepicker-border-color: #{$datepicker-border-color};
14
+ --#{$prefix}datepicker-border: 1px solid #{$datepicker-border-color};
15
+ --#{$prefix}datepicker-border-radius: #{$datepicker-border-radius};
16
+
17
+ // Header
18
+ --#{$prefix}datepicker-header-bg: #{$datepicker-header-bg};
19
+ --#{$prefix}datepicker-header-border-bottom: 1px solid #{$datepicker-border-color};
20
+ --#{$prefix}datepicker-header-padding: #{$datepicker-header-padding};
21
+ --#{$prefix}datepicker-header-font-weight: #{$datepicker-header-font-weight};
22
+ --#{$prefix}datepicker-day-names-color: #{$datepicker-day-names-color};
23
+ --#{$prefix}datepicker-day-names-font-size: #{$datepicker-day-names-font-size};
24
+
25
+ // Body
26
+ --#{$prefix}datepicker-body-margin: #{$datepicker-body-margin};
27
+ --#{$prefix}datepicker-body-gap: #{$datepicker-body-gap};
28
+
29
+ // Highlighted Day
30
+ --#{$prefix}datepicker-highlighted-color: inherit;
31
+ --#{$prefix}datepicker-highlighted-bg: transparent;
32
+ --#{$prefix}datepicker-highlighted-border-radius: unset;
33
+
34
+ // Holidays
35
+ --#{$prefix}datepicker-holidays-color: inherit;
36
+ --#{$prefix}datepicker-holidays-bg: transparent;
37
+ --#{$prefix}datepicker-holidays-border-radius: unset;
38
+
39
+ // Day
40
+ --#{$prefix}datepicker-day-border-radius: #{$datepicker-day-border-radius};
41
+ --#{$prefix}datepicker-day-outside-month-color: #{$datepicker-day-outside-month-color};
42
+ --#{$prefix}datepicker-day-bg: #{$datepicker-day-bg};
43
+ --#{$prefix}datepicker-day-hover-bg: #{$datepicker-day-hover-bg};
44
+ --#{$prefix}datepicker-day-width: #{$datepicker-day-width};
45
+
46
+ // Day selected
47
+ --#{$prefix}datepicker-day-selected-color: #{$datepicker-day-selected-color};
48
+ --#{$prefix}datepicker-day-selected-bg: #{$datepicker-day-selected-bg};
49
+
50
+ // Day Disabled
51
+ --#{$prefix}datepicker-day-disabled-color: #{$datepicker-day-disabled-color};
52
+
53
+ // Week
54
+ --#{$prefix}datepicker-week-number-color: var(--#{$prefix}datepicker-day-disabled-color);
55
+ --#{$prefix}datepicker-week-number-bg: #{$datepicker-week-number-bg};
56
+ --#{$prefix}datepicker-week-number-selected-color: var(--#{$prefix}datepicker-day-selected-color);
57
+ --#{$prefix}datepicker-week-number-selected-bg: var(--#{$prefix}datepicker-day-selected-bg);
58
+ --#{$prefix}datepicker-week-number-hover-bg: var(--#{$prefix}datepicker-day-hover-bg);
59
+ --#{$prefix}datepicker-week-number-hover-color: #{$datepicker-week-number-hover-color};
60
+ --#{$prefix}datepicker-week-number-border-radius: #{$datepicker-day-border-radius};
61
+
62
+ // Range
63
+ --#{$prefix}datepicker-range-start-color: #{$datepicker-range-start-color};
64
+ --#{$prefix}datepicker-range-start-bg: #{$datepicker-range-start-bg};
65
+ --#{$prefix}datepicker-range-end-color: #{$datepicker-range-end-color};
66
+ --#{$prefix}datepicker-range-end-bg: #{$datepicker-range-end-bg};
67
+ --#{$prefix}datepicker-in-range-bg: #{$datepicker-in-range-bg};
68
+ --#{$prefix}datepicker-range-color: #{$datepicker-range-color};
69
+ --#{$prefix}datepicker-in-range-hover-bg: #{$datepicker-in-range-hover-bg};
70
+ --#{$prefix}datepicker-in-range-disabled-color: #{$datepicker-in-range-disabled-color};
71
+ --#{$prefix}datepicker-in-range-disabled-bg: #{$datepicker-in-range-disabled-bg};
72
+
73
+ // Portal
74
+ --#{$prefix}datepicker-portal-bg: #{$datepicker-portal-bg};
75
+
76
+ background-color: var(--#{$prefix}datepicker-bg);
82
77
  border: var(--#{$prefix}datepicker-border);
83
- box-shadow: var(--#{$prefix}datepicker-box-shadow);
78
+ border-radius: var(--#{$prefix}datepicker-border-radius);
79
+ display: inline-block;
80
+ position: relative;
81
+ line-height: initial;
82
+ }
84
83
 
85
- .react-datepicker__header {
86
- display: flex;
87
- flex-direction: column;
88
- gap: var(--#{$prefix}datepicker-header-gap);
89
- padding: var(--#{$prefix}datepicker-header-padding);
90
- font-size: var(--#{$prefix}datepicker-header-font-size);
91
- background-color: var(--#{$prefix}datepicker-header-background-color);
92
- border: var(--#{$prefix}datepicker-header-border);
93
-
94
- .react-datepicker__day-names {
95
- display: flex;
96
- gap: var(--#{$prefix}ref-spacer-8);
97
- margin: var(--#{$prefix}datepicker-day-names-margin);
98
- font-size: var(--#{$prefix}datepicker-day-names-font-size);
99
- }
100
- .react-datepicker__day-name {
101
- width: var(--#{$prefix}datepicker-day-name-size);
102
- height: var(--#{$prefix}datepicker-day-name-size);
103
- padding: var(--#{$prefix}datepicker-day-name-padding);
104
- margin: var(--#{$prefix}datepicker-day-name-margin);
105
- font-weight: var(--#{$prefix}datepicker-day-name-weight);
106
- line-height: var(--#{$prefix}datepicker-day-name-size);
107
- color: var(--#{$prefix}datepicker-day-name-color);
108
- }
84
+ .react-datepicker--time-only {
85
+ .react-datepicker__time-container {
86
+ border-left: 0;
109
87
  }
110
88
 
111
- &.d-month-picker {
112
- .react-datepicker__month-container {
113
- .d-icon {
114
- --#{$prefix}icon-component-color: var(--#{$prefix}datepicker-month-color);
115
- }
89
+ .react-datepicker__time,
90
+ .react-datepicker__time-box {
91
+ border-bottom-left-radius: var(--#{$prefix}datepicker-border-radius);
92
+ border-bottom-right-radius: var(--#{$prefix}datepicker-border-radius);
93
+ }
94
+ }
95
+
96
+ .react-datepicker-popper {
97
+ z-index: 1;
98
+ line-height: 0;
99
+
100
+ .react-datepicker__triangle {
101
+ --#{$prefix}datepicker-border-color: var(--#{$prefix}gray-400);
102
+ stroke: var(--#{$prefix}datepicker-border-color);
103
+ }
104
+
105
+ &[data-placement^="bottom"] {
106
+ .react-datepicker__triangle {
107
+ --#{$prefix}datepicker-header-bg: var(--#{$prefix}gray-100);
108
+ fill: var(--#{$prefix}datepicker-header-bg);
109
+ color: var(--#{$prefix}datepicker-header-bg);
116
110
  }
117
111
  }
118
112
 
119
- .react-datepicker__month {
120
- display: flex;
121
- flex-direction: column;
122
- gap: var(--#{$prefix}datepicker-month-gap);
123
- padding: var(--#{$prefix}datepicker-month-padding);
124
- margin: var(--#{$prefix}datepicker-month-margin);
113
+ &[data-placement^="top"] {
114
+ .react-datepicker__triangle {
115
+ --#{$prefix}datepicker-header-bg: var(--#{$prefix}white);
116
+ fill: var(--#{$prefix}datepicker-header-bg);
117
+ color: var(--#{$prefix}datepicker-header-bg);
118
+ }
119
+ }
120
+ }
125
121
 
122
+ .react-datepicker__header {
123
+ text-align: center;
124
+ background-color: var(--#{$prefix}datepicker-header-bg);
125
+ border-bottom: var(--#{$prefix}datepicker-header-border-bottom);
126
+ border-top-left-radius: var(--#{$prefix}datepicker-border-radius);
127
+ padding: var(--#{$prefix}datepicker-header-padding);
128
+ position: relative;
129
+
130
+ &--time {
131
+ padding-bottom: 8px;
132
+ padding-left: 5px;
133
+ padding-right: 5px;
134
+
135
+ &:not(&--only) {
136
+ border-top-left-radius: 0;
137
+ }
126
138
  }
127
- .react-datepicker__week {
128
- display: flex;
129
- gap: var(--#{$prefix}datepicker-week-gap);
139
+
140
+ &:not(&--has-time-select) {
141
+ border-top-right-radius: var(--#{$prefix}datepicker-border-radius);
130
142
  }
131
143
 
132
- .react-datepicker__day {
144
+ &-selector {
133
145
  display: flex;
134
146
  align-items: center;
135
- justify-content: center;
136
- width: var(--#{$prefix}datepicker-day-size);
137
- height: var(--#{$prefix}datepicker-day-size);
138
- padding: var(--#{$prefix}datepicker-day-padding);
139
- margin: var(--#{$prefix}datepicker-day-margin);
140
- font-size: var(--#{$prefix}datepicker-day-font-size);
141
- line-height: var(--#{$prefix}datepicker-day-size);
142
- color: var(--#{$prefix}datepicker-day-color);
143
-
144
- &.react-datepicker__day--in-range.react-datepicker__day--range-end,
145
- &.react-datepicker__day--in-selecting-range.react-datepicker__day--selecting-range-end {
146
- color: var(--#{$prefix}datepicker-day-selected-color);
147
- background-color: var(--#{$prefix}datepicker-day-selected-bg);
148
- box-shadow: 0 0 0 2px var(--#{$prefix}datepicker-day-selected-bg);
147
+ gap: var(--#{$prefix}ref-spacer-1);
148
+
149
+ .d-select {
150
+ --#{$prefix}select-option-selected-bg: var(--#{$prefix}datepicker-bg);
151
+ --#{$prefix}select-option-selected-color: var(--#{$prefix}datepicker-text-color);
152
+
153
+ .d-select__control {
154
+ padding: var(--#{$prefix}ref-spacer-1) var(--#{$prefix}ref-spacer-2);
155
+ }
156
+
157
+ .d-select__menu-list {
158
+ border: var(--#{$prefix}datepicker-border);
159
+ line-height: var(--#{$prefix}ref-spacer-8);
160
+ max-height: 7lh;
161
+ }
162
+
163
+ .d-select__option {
164
+ padding: var(--#{$prefix}ref-spacer-1) var(--#{$prefix}ref-spacer-2);
165
+ line-height: var(--#{$prefix}ref-spacer-8);
166
+ text-align: start;
167
+
168
+ &--is-selected {
169
+ font-weight: bold;
170
+
171
+ &:hover {
172
+ background-color: var(--#{$prefix}datepicker-day-hover-bg);
173
+ }
174
+ }
175
+ }
176
+
177
+ &.custom-year-selector .d-select__single-value {
178
+ width: 4ch;
179
+ }
180
+ }
181
+
182
+ p {
183
+ margin: 0;
184
+ font-weight: bold;
185
+ }
186
+
187
+ .header-button:first-child {
188
+ padding: var(--#{$prefix}ref-spacer-1);
189
+ margin-left: var(--#{$prefix}ref-spacer-1);
190
+ margin-right: auto;
191
+ }
192
+
193
+ .header-button:last-child {
194
+ padding: var(--#{$prefix}ref-spacer-1);
195
+ margin-right: var(--#{$prefix}ref-spacer-1);
196
+ margin-left: auto;
149
197
  }
150
198
  }
151
199
 
152
- // Hover state
153
- .react-datepicker__day,
154
- .react-datepicker__month-text,
155
- .react-datepicker__quarter-text,
156
- .react-datepicker__year-text {
157
- &:not(
158
- .react-datepicker__day--selected,
159
- .react-datepicker__month-text--selected,
160
- .react-datepicker__quarter-text--selected,
161
- .react-datepicker__year-text--selected):hover {
162
- color: var(--#{$prefix}datepicker-day-color-hover);
163
- background-color: var(--#{$prefix}datepicker-day-bg-hover);
164
- border-radius: var(--#{$prefix}datepicker-day-radius);
165
- box-shadow: 0 0 0 2px var(--#{$prefix}datepicker-day-bg-hover);
200
+ &-day-selector {
201
+ margin-bottom: var(--#{$prefix}ref-spacer-4);
202
+
203
+ .custom-month-selector {
204
+ .d-select__single-value {
205
+ text-align: start;
206
+ min-width: 10ch;
207
+ }
166
208
  }
167
209
  }
210
+ }
168
211
 
169
- .react-datepicker__day--disabled {
170
- color: var(--#{$prefix}datepicker-day-disabled-color);
212
+ .react-datepicker__current-month,
213
+ .react-datepicker-time__header,
214
+ .react-datepicker-year-header {
215
+ margin-top: 0;
216
+ color: var(--#{$prefix}datepicker-text-color);
217
+ font-weight: var(--#{$prefix}datepicker-header-font-weight);
218
+ font-size: var(--#{$prefix}datepicker-font-size);
219
+ }
220
+
221
+ .react-datepicker-time__header {
222
+ text-overflow: ellipsis;
223
+ white-space: nowrap;
224
+ overflow: hidden;
225
+ }
226
+
227
+ .react-datepicker__month-container {
228
+ float: left;
229
+ }
230
+
231
+ .react-datepicker__year {
232
+ margin: var(--#{$prefix}datepicker-body-margin);
233
+ text-align: center;
234
+
235
+ &-wrapper {
236
+ display: flex;
237
+ flex-wrap: wrap;
238
+ max-width: calc((4rem * 3) + var(--#{$prefix}datepicker-body-gap) * 2);
239
+ gap: var(--#{$prefix}datepicker-body-gap);
171
240
  }
172
241
 
173
- // Selected single item
174
- .react-datepicker__day--selected,
175
- .react-datepicker__month--selected,
176
- .react-datepicker__quarter--selected,
177
- .react-datepicker__year--selected {
178
- color: var(--#{$prefix}datepicker-day-selected-color);
179
- background-color: var(--#{$prefix}datepicker-day-selected-bg);
180
- border-radius: var(--#{$prefix}datepicker-day-radius);
181
- box-shadow: 0 0 0 2px var(--#{$prefix}datepicker-day-selected-bg);
242
+ .react-datepicker__year-text {
243
+ display: inline-block;
244
+ width: 4rem;
182
245
  }
246
+ }
183
247
 
184
- .react-datepicker__day--selected {
185
- &.react-datepicker__day--in-range.react-datepicker__day--range-start,
186
- &.react-datepicker__day--in-selecting-range.react-datepicker__day--selecting-range-start {
187
- color: var(--#{$prefix}datepicker-day-selected-color);
188
- background-color: var(--#{$prefix}datepicker-day-selected-bg);
189
- box-shadow: 0 0 0 2px var(--#{$prefix}datepicker-day-selected-bg);
190
- }
248
+ .react-datepicker__month,
249
+ .react-datepicker__quarter {
250
+ margin: var(--#{$prefix}datepicker-body-margin);
251
+ text-align: center;
252
+ display: flex;
253
+ flex-direction: column;
254
+ gap: var(--#{$prefix}datepicker-body-gap);
255
+
256
+ &-wrapper {
257
+ display: flex;
258
+ flex: 1;
259
+ gap: var(--#{$prefix}datepicker-body-gap);
191
260
  }
192
261
 
193
- .react-datepicker__day--in-range,
194
- .react-datepicker__month-text--in-range,
195
- .react-datepicker__quarter-text--in-range,
196
- .react-datepicker__year-text--in-range,
197
- .react-datepicker__day--in-selecting-range,
198
- .react-datepicker__month-text--in-selecting-range,
199
- .react-datepicker__quarter-text--in-selecting-range,
200
- .react-datepicker__year-text--in-selecting-range,
201
- .react-datepicker__day--keyboard-selected,
202
- .react-datepicker__month-text--keyboard-selected,
203
- .react-datepicker__quarter-text--keyboard-selected,
204
- .react-datepicker__year-text--keyboard-selected {
205
- color: var(--#{$prefix}datepicker-day-in-range-color);
206
- background-color: var(--#{$prefix}datepicker-day-in-range-bg);
207
- border-radius: var(--#{$prefix}datepicker-day-radius);
262
+ .react-datepicker__month-text {
263
+ display: inline-block;
264
+ width: 10ch;
265
+ flex: 1;
208
266
  }
209
267
 
210
- .react-datepicker__day--outside-month {
211
- color: var(--#{$prefix}datepicker-day-outside-month-color);
268
+ .react-datepicker__quarter-text {
269
+ display: inline-block;
270
+ width: 6ch;
212
271
  }
272
+ }
213
273
 
214
- .react-datepicker-wrapper {
215
- margin-inline: auto;
274
+ // .react-datepicker__input-time-container {
275
+ // clear: both;
276
+ // width: 100%;
277
+ // float: left;
278
+ // margin: var(--#{$prefix}ref-spacer-2);
279
+ // text-align: left;
280
+
281
+ // .react-datepicker-time__caption {
282
+ // display: inline-block;
283
+ // }
284
+
285
+ // .react-datepicker-time__input-container {
286
+ // display: inline-block;
287
+
288
+ // .react-datepicker-time__input {
289
+ // display: inline-block;
290
+ // margin-left: var(--#{$prefix}ref-spacer-2);
291
+
292
+ // input {
293
+ // width: auto;
294
+ // }
295
+
296
+ // input[type="time"]::-webkit-inner-spin-button,
297
+ // input[type="time"]::-webkit-outer-spin-button {
298
+ // -webkit-appearance: none;
299
+ // margin: 0;
300
+ // }
301
+
302
+ // input[type="time"] {
303
+ // -moz-appearance: textfield;
304
+ // }
305
+ // }
306
+ // }
307
+ // }
308
+
309
+ // .react-datepicker__time-container {
310
+ // float: right;
311
+ // border-left: $datepicker__border;
312
+ // width: 85px;
313
+
314
+ // &--with-today-button {
315
+ // display: inline;
316
+ // border: 1px solid #aeaeae;
317
+ // border-radius: 0.3rem;
318
+ // position: absolute;
319
+ // right: -87px;
320
+ // top: 0;
321
+ // }
322
+
323
+ // .react-datepicker__time {
324
+ // position: relative;
325
+ // background: white;
326
+ // border-bottom-right-radius: 0.3rem;
327
+
328
+ // .react-datepicker__time-box {
329
+ // width: 85px;
330
+ // overflow-x: hidden;
331
+ // margin: 0 auto;
332
+ // text-align: center;
333
+ // border-bottom-right-radius: 0.3rem;
334
+
335
+ // ul.react-datepicker__time-list {
336
+ // list-style: none;
337
+ // margin: 0;
338
+ // height: calc(195px + (#{$datepicker__item-size} / 2));
339
+ // overflow-y: scroll;
340
+ // padding-right: 0;
341
+ // padding-left: 0;
342
+ // width: 100%;
343
+ // box-sizing: content-box;
344
+
345
+ // li.react-datepicker__time-list-item {
346
+ // height: 30px;
347
+ // padding: 5px 10px;
348
+ // white-space: nowrap;
349
+
350
+ // &:hover {
351
+ // cursor: pointer;
352
+ // background-color: $datepicker__background-color;
353
+ // }
354
+
355
+ // &--selected {
356
+ // background-color: $datepicker__selected-color;
357
+ // color: white;
358
+ // font-weight: bold;
359
+
360
+ // &:hover {
361
+ // background-color: $datepicker__selected-color;
362
+ // }
363
+ // }
364
+
365
+ // &--disabled {
366
+ // color: $datepicker__muted-color;
367
+
368
+ // &:hover {
369
+ // cursor: default;
370
+ // background-color: transparent;
371
+ // }
372
+ // }
373
+ // }
374
+ // }
375
+ // }
376
+ // }
377
+ // }
378
+ // END TODO: Revisar con Mati diseño del time
379
+
380
+ .react-datepicker__week-number {
381
+ color: var(--#{$prefix}datepicker-week-number-color);
382
+ display: inline-block;
383
+ width: var(--#{$prefix}datepicker-day-width);
384
+ line-height: var(--#{$prefix}datepicker-day-width);
385
+ text-align: center;
386
+ font-size: var(--#{$prefix}datepicker-day-names-font-size);
387
+
388
+ &.react-datepicker__week-number--clickable {
389
+ cursor: pointer;
390
+ color: var(--#{$prefix}body-color);
391
+
392
+ &.react-datepicker__week-number--selected {
393
+ border-radius: var(--#{$prefix}datepicker-week-number-border-radius);
394
+ background-color: var(--#{$prefix}datepicker-week-number-selected-bg);
395
+ color: var(--#{$prefix}datepicker-week-number-selected-color);
396
+ }
397
+
398
+ &:hover {
399
+ border-radius: var(--#{$prefix}datepicker-week-number-border-radius);
400
+ background-color: var(--#{$prefix}datepicker-week-number-hover-bg);
401
+ color: var(--#{$prefix}datepicker-week-number-hover-color);
402
+ }
216
403
  }
404
+ }
405
+
406
+ .react-datepicker__day-names {
407
+ white-space: nowrap;
408
+ display: inline-flex;
409
+ gap: var(--#{$prefix}datepicker-body-gap);
410
+ }
411
+
412
+ .react-datepicker__week {
413
+ white-space: nowrap;
414
+ display: inline-flex;
415
+ gap: var(--#{$prefix}datepicker-body-gap);
416
+ align-self: center;
417
+ align-items: center;
418
+ }
419
+
420
+ .react-datepicker__day-name,
421
+ .react-datepicker__day,
422
+ .react-datepicker__time-name {
423
+ color: var(--#{$prefix}datepicker-day-names-color);
424
+ display: inline-block;
425
+ text-align: center;
426
+ width: var(--#{$prefix}datepicker-day-width);
427
+ line-height: var(--#{$prefix}datepicker-day-width);
428
+ font-size: var(--#{$prefix}datepicker-day-names-font-size);
429
+
430
+ }
431
+
432
+ .react-datepicker__day--outside-month {
433
+ color: var(--#{$prefix}datepicker-day-outside-month-color);
434
+ }
435
+
436
+ @each $type in day, month-text, quarter-text, year-text {
437
+ .react-datepicker__#{$type} {
217
438
 
218
- /* Start time selector */
219
- .react-datepicker__input-time-container {
220
- width: 100%;
221
- margin: var(--#{$prefix}datepicker-time-container-margin);
222
- text-align: var(--#{$prefix}datepicker-time-container-align);
223
- border-top: var(--#{$prefix}border-width) solid var(--#{$prefix}light);
439
+ cursor: pointer;
224
440
 
225
- .react-datepicker-time__caption {
226
- display: none;
441
+ &:not([aria-disabled="true"], &--selected):hover {
442
+ border-radius: var(--#{$prefix}datepicker-day-border-radius);
443
+ background-color: var(--#{$prefix}datepicker-day-hover-bg);
227
444
  }
228
445
 
229
- .react-datepicker-time__input-container {
230
- width: 100%;
446
+ &--today {
447
+ font-weight: bold;
448
+ }
449
+
450
+ &--highlighted {
451
+ border-radius: var(--#{$prefix}datepicker-highlighted-border-radius);
452
+ background-color: var(--#{$prefix}datepicker-highlighted-bg);
453
+ color: var(--#{$prefix}datepicker-highlighted-color);
231
454
 
232
- .react-datepicker-time__input {
233
- width: var(--#{$prefix}datepicker-time-input-width);
234
- margin: var(--#{$prefix}datepicker-time-input-margin);
235
- text-align: var(--#{$prefix}datepicker-time-input-align);
236
- outline: 0;
455
+ &:not([aria-disabled="true"]):hover {
456
+ background-color: var(--#{$prefix}datepicker-day-hover-bg);
237
457
  }
238
458
  }
239
- }
240
459
 
241
- /* End time selector */
460
+ &--holidays {
461
+ position: relative;
462
+ border-radius: var(--#{$prefix}datepicker-holidays-border-radius);
463
+ background-color: var(--#{$prefix}datepicker-holidays-bg);
464
+ color: var(--#{$prefix}datepicker-holidays-color);
465
+
466
+ .overlay {
467
+ position: absolute;
468
+ bottom: 100%;
469
+ left: 50%;
470
+ transform: translateX(-50%);
471
+ background-color: #333;
472
+ color: #fff;
473
+ padding: 4px;
474
+ border-radius: 4px;
475
+ white-space: nowrap;
476
+ visibility: hidden;
477
+ opacity: 0;
478
+ transition:
479
+ visibility 0s,
480
+ opacity 0.3s ease-in-out;
481
+ }
242
482
 
243
- .react-datepicker__day--today {
244
- font-weight: var(--#{$prefix}datepicker-day-today-font-weight);
245
- border-radius: var(--#{$prefix}datepicker-day-radius);
246
- box-shadow: var(--#{$prefix}datepicker-day-today-box-shadow);
247
- }
483
+ &:not([aria-disabled="true"]):hover {
484
+ background-color: var(--#{$prefix}datepicker-day-hover-bg);
485
+ }
248
486
 
249
- .d-datepicker-time {
250
- gap: var(--#{$prefix}datepicker-time-input-gap);
251
- padding: var(--#{$prefix}datepicker-time-input-padding);
252
- .d-datepicker-time-label {
253
- font-size: var(--#{$prefix}datepicker-time-input-label-size);
254
- font-weight: var(--#{$prefix}datepicker-time-input-label-weight);
255
- color: var(--#{$prefix}datepicker-time-input-label-color);
487
+ &:hover .overlay {
488
+ visibility: visible;
489
+ opacity: 1;
490
+ }
256
491
  }
257
- }
258
- .d-datepicker-header {
259
- font-size: var(--#{$prefix}datepicker-header-font-size);
260
- }
261
492
 
262
- .header-button {
263
- --#{$prefix}btn-padding-y: var(--#{$prefix}datepicker-header-button-padding);
264
- --#{$prefix}btn-padding-x: var(--#{$prefix}datepicker-header-button-padding);
265
- &:hover,
266
- &:active {
267
- color: inherit;
268
- background-color: inherit;
269
- }
270
- &:focus {
271
- --#{$prefix}btn-focus-outline-offset: 8px;
493
+ // Selected day
494
+ &--selected {
495
+ color: var(--#{$prefix}datepicker-day-selected-color);
496
+ background-color: var(--#{$prefix}datepicker-day-selected-bg);
497
+ border-radius: var(--#{$prefix}datepicker-day-border-radius);
272
498
  }
273
- }
274
499
 
275
- .d-select {
276
- &:focus-within .input-group {
277
- border-color: transparent;
278
- box-shadow: none;
279
- }
280
- .input-group {
281
- --#{$prefix}input-border-width: 0;
500
+ // Days within the selected or selecting range
501
+ &--in-range,
502
+ &--in-selecting-range {
503
+ // Days between start and end
504
+ border-radius: var(--#{$prefix}datepicker-day-border-radius);
505
+ background-color: var(--#{$prefix}datepicker-in-range-bg);
506
+ color: var(--#{$prefix}datepicker-range-color);
507
+
508
+ &[aria-disabled="true"] {
509
+ background-color: var(--#{$prefix}datepicker-in-range-disabled-bg);
510
+ color: var(--#{$prefix}datepicker-in-range-disabled-color);
511
+ }
512
+
513
+ // Hover state on any day in range
514
+ &:not(.react-datepicker__#{$type}--range-start,
515
+ .react-datepicker__#{$type}--range-end,
516
+ .react-datepicker__#{$type}--disabled):hover {
517
+ background-color: var(--#{$prefix}datepicker-in-range-hover-bg);
518
+ }
519
+
520
+ // Hover state on start and end range
521
+ &:is(.react-datepicker__#{$type}--range-start, .react-datepicker__#{$type}--range-end):hover {
522
+ background-color: var(--#{$prefix}datepicker-in-range-hover-bg);
523
+ }
282
524
  }
283
- .d-select__indicators {
284
- display: none;
525
+
526
+ &--range-start:not(&--disabled) {
527
+ color: var(--#{$prefix}datepicker-range-start-color);
528
+ background-color: var(--#{$prefix}datepicker-range-start-bg);
285
529
  }
286
- .d-select__control {
287
- padding: var(--#{$prefix}datepicker-header-select-padding);
288
- background-color: transparent;
530
+
531
+ // End day in range
532
+ &--range-end:not(&--disabled) {
533
+ color: var(--#{$prefix}datepicker-range-end-color);
534
+ background-color: var(--#{$prefix}datepicker-range-end-bg);
289
535
  }
290
- .d-select__single-value {
291
- font-weight: var(--#{$prefix}datepicker-header-select-font-weight);
536
+
537
+ &--disabled {
538
+ cursor: default;
539
+ color: var(--#{$prefix}datepicker-day-disabled-color);
540
+
541
+ .overlay {
542
+ position: absolute;
543
+ bottom: 70%;
544
+ left: 50%;
545
+ transform: translateX(-50%);
546
+ background-color: #333;
547
+ color: #fff;
548
+ padding: 4px;
549
+ border-radius: 4px;
550
+ white-space: nowrap;
551
+ visibility: hidden;
552
+ opacity: 0;
553
+ transition:
554
+ visibility 0s,
555
+ opacity 0.3s ease-in-out;
556
+ }
292
557
  }
293
558
  }
294
- .d-select__menu {
295
- left: 50%;
296
- min-width: var(--#{$prefix}datepicker-header-select-menu-width);
297
- translate: -50%;
559
+ }
560
+
561
+ /* Removed following styles:
562
+ view-calendar-icon
563
+ year-read-view,
564
+ month-read-view,
565
+ month-year-read-view
566
+ month-year-read-view
567
+ year-dropdown,
568
+ month-dropdown,
569
+ month-year-dropdown
570
+ year-option,
571
+ month-option,
572
+ month-year-option
573
+ close-icon
574
+ react-datepicker__navigation
575
+ */
576
+
577
+ // .react-datepicker__today-button {
578
+ // background: $datepicker__background-color;
579
+ // border-top: $datepicker__border;
580
+ // cursor: pointer;
581
+ // text-align: center;
582
+ // font-weight: bold;
583
+ // padding: 5px 0;
584
+ // clear: left;
585
+ // }
586
+
587
+ .react-datepicker__portal {
588
+ --#{$prefix}datepicker-portal-bg: rgba(var(--#{$prefix}black-rgb), 0.3);
589
+
590
+ position: fixed;
591
+ width: 100vw;
592
+ height: 100vh;
593
+ background-color: var(--#{$prefix}datepicker-portal-bg);
594
+ left: 0;
595
+ top: 0;
596
+ justify-content: center;
597
+ align-items: center;
598
+ display: flex;
599
+ z-index: 1060;
600
+
601
+ .react-datepicker__day-name,
602
+ .react-datepicker__day,
603
+ .react-datepicker__time-name {
604
+ width: 3rem;
605
+ line-height: 3rem;
298
606
  }
607
+
608
+ @media (max-width: 400px),
609
+ (max-height: 550px) {
610
+
611
+ .react-datepicker__day-name,
612
+ .react-datepicker__day,
613
+ .react-datepicker__time-name {
614
+ width: 2rem;
615
+ line-height: 2rem;
616
+ }
617
+ }
618
+ }
619
+
620
+ .react-datepicker__children-container {
621
+ width: 13.8rem;
622
+ margin: 0.4rem;
623
+ padding-right: 0.2rem;
624
+ padding-left: 0.2rem;
625
+ height: auto;
626
+ }
627
+
628
+ .react-datepicker__aria-live {
629
+ position: absolute;
630
+ clip-path: circle(0);
631
+ border: 0;
632
+ height: 1px;
633
+ margin: -1px;
634
+ overflow: hidden;
635
+ padding: 0;
636
+ width: 1px;
637
+ white-space: nowrap;
299
638
  }
300
639
 
301
- // stylelint-enable selector-class-pattern
640
+ /* stylelint-enable */