@coreui/react-pro 4.11.0-next.0 → 4.11.0-next.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.
- package/README.md +1 -1
- package/dist/index.es.js +34 -13
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +34 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/calendar/CCalendar.tsx +52 -16
- package/src/components/multi-select/CMultiSelect.tsx +2 -0
package/package.json
CHANGED
|
@@ -174,8 +174,10 @@ const Calendar = (props: {
|
|
|
174
174
|
onCellKeyDown: (event: KeyboardEvent<HTMLDivElement>, date: Date) => void
|
|
175
175
|
onCellMouseEnter: (date: Date) => void
|
|
176
176
|
onCellMouseLeave: () => void
|
|
177
|
-
onMonthClick: (month: number
|
|
178
|
-
|
|
177
|
+
onMonthClick: (month: number) => void
|
|
178
|
+
onMonthKeyDown: (event: KeyboardEvent<HTMLDivElement>, month: number) => void
|
|
179
|
+
onYearClick: (date: Date) => void
|
|
180
|
+
onYearKeyDown: (event: KeyboardEvent<HTMLDivElement>, date: Date) => void
|
|
179
181
|
selectAdjacementDays: boolean
|
|
180
182
|
selectEndDate: boolean | undefined
|
|
181
183
|
showAdjacementDays: boolean
|
|
@@ -199,7 +201,9 @@ const Calendar = (props: {
|
|
|
199
201
|
onCellMouseEnter,
|
|
200
202
|
onCellMouseLeave,
|
|
201
203
|
onMonthClick,
|
|
204
|
+
onMonthKeyDown,
|
|
202
205
|
onYearClick,
|
|
206
|
+
onYearKeyDown,
|
|
203
207
|
selectAdjacementDays,
|
|
204
208
|
selectEndDate,
|
|
205
209
|
showAdjacementDays,
|
|
@@ -258,6 +262,7 @@ const Calendar = (props: {
|
|
|
258
262
|
today: month === 'current' && isToday(date),
|
|
259
263
|
disabled: isDateDisabled(date, minDate, maxDate, disabledDates),
|
|
260
264
|
[month]: true,
|
|
265
|
+
clickable: month !== 'current' && selectAdjacementDays,
|
|
261
266
|
last: isLastDayOfMonth(date),
|
|
262
267
|
'range-hover':
|
|
263
268
|
month === 'current' &&
|
|
@@ -270,7 +275,12 @@ const Calendar = (props: {
|
|
|
270
275
|
end: isEndDate(date, startDate, endDate),
|
|
271
276
|
})}
|
|
272
277
|
key={idx}
|
|
273
|
-
tabIndex={
|
|
278
|
+
tabIndex={
|
|
279
|
+
(month === 'current' || selectAdjacementDays) &&
|
|
280
|
+
!isDateDisabled(date, minDate, maxDate, disabledDates)
|
|
281
|
+
? 0
|
|
282
|
+
: -1
|
|
283
|
+
}
|
|
274
284
|
title={date.toLocaleDateString(locale)}
|
|
275
285
|
{...((month === 'current' || selectAdjacementDays) && {
|
|
276
286
|
onBlur: () => onCellMouseLeave(),
|
|
@@ -305,9 +315,11 @@ const Calendar = (props: {
|
|
|
305
315
|
{row.map((month, idx) => {
|
|
306
316
|
return (
|
|
307
317
|
<td
|
|
308
|
-
key={idx}
|
|
309
318
|
className="calendar-cell month"
|
|
310
|
-
|
|
319
|
+
key={idx}
|
|
320
|
+
onClick={() => onMonthClick(index * 3 + idx - addMonths)}
|
|
321
|
+
onKeyDown={(event) => onMonthKeyDown(event, index * 3 + idx - addMonths)}
|
|
322
|
+
tabIndex={0}
|
|
311
323
|
>
|
|
312
324
|
<div className="calendar-cell-inner">{month}</div>
|
|
313
325
|
</td>
|
|
@@ -323,14 +335,18 @@ const Calendar = (props: {
|
|
|
323
335
|
{row.map((year, idx) => {
|
|
324
336
|
return (
|
|
325
337
|
<td
|
|
326
|
-
key={idx}
|
|
327
338
|
className="calendar-cell year"
|
|
339
|
+
key={idx}
|
|
328
340
|
onClick={() =>
|
|
329
|
-
onYearClick(
|
|
341
|
+
onYearClick(new Date(year, date.getMonth() - addMonths, date.getDate()))
|
|
342
|
+
}
|
|
343
|
+
onKeyDown={(event) =>
|
|
344
|
+
onYearKeyDown(
|
|
345
|
+
event,
|
|
330
346
|
new Date(year, date.getMonth() - addMonths, date.getDate()),
|
|
331
|
-
'months',
|
|
332
347
|
)
|
|
333
348
|
}
|
|
349
|
+
tabIndex={0}
|
|
334
350
|
>
|
|
335
351
|
<div className="calendar-cell-inner">
|
|
336
352
|
{new Date(year, 0, 1).toLocaleDateString(locale, { year: 'numeric' })}
|
|
@@ -648,6 +664,18 @@ export const CCalendar = forwardRef<HTMLDivElement, CCalendarProps>(
|
|
|
648
664
|
}
|
|
649
665
|
}
|
|
650
666
|
|
|
667
|
+
const handleMonthClick = (month: number) => {
|
|
668
|
+
setCalendarPage(0, 0, month)
|
|
669
|
+
setView('days')
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
const handleMonthKeyDown = (event: React.KeyboardEvent<HTMLDivElement>, month: number) => {
|
|
673
|
+
if (event.code === 'Space' || event.key === 'Enter') {
|
|
674
|
+
setCalendarPage(0, 0, month)
|
|
675
|
+
setView('days')
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
651
679
|
const handleNavigationOnClick = (direction: string, double = false) => {
|
|
652
680
|
if (direction === 'prev') {
|
|
653
681
|
if (double) {
|
|
@@ -679,6 +707,18 @@ export const CCalendar = forwardRef<HTMLDivElement, CCalendarProps>(
|
|
|
679
707
|
}
|
|
680
708
|
}
|
|
681
709
|
|
|
710
|
+
const handleYearClick = (date: Date) => {
|
|
711
|
+
setCalendarDate(date)
|
|
712
|
+
setView('months')
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
const handleYearKeyDown = (event: React.KeyboardEvent<HTMLDivElement>, date: Date) => {
|
|
716
|
+
if (event.code === 'Space' || event.key === 'Enter') {
|
|
717
|
+
setCalendarDate(date)
|
|
718
|
+
setView('months')
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
|
|
682
722
|
return (
|
|
683
723
|
<div className={classNames('calendars', className)}>
|
|
684
724
|
{_calendarDate &&
|
|
@@ -714,14 +754,10 @@ export const CCalendar = forwardRef<HTMLDivElement, CCalendarProps>(
|
|
|
714
754
|
onCellKeyDown={(event, date) => handleCellKeyDown(event, date, index)}
|
|
715
755
|
onCellMouseEnter={handleCellMouseEnter}
|
|
716
756
|
onCellMouseLeave={handleCellMouseLeave}
|
|
717
|
-
onMonthClick={
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
}
|
|
721
|
-
onYearClick={(date, view) => {
|
|
722
|
-
setCalendarDate(date)
|
|
723
|
-
setView(view)
|
|
724
|
-
}}
|
|
757
|
+
onMonthClick={handleMonthClick}
|
|
758
|
+
onMonthKeyDown={handleMonthKeyDown}
|
|
759
|
+
onYearClick={handleYearClick}
|
|
760
|
+
onYearKeyDown={handleYearKeyDown}
|
|
725
761
|
selectEndDate={_selectEndDate}
|
|
726
762
|
selectAdjacementDays={selectAdjacementDays}
|
|
727
763
|
showAdjacementDays={showAdjacementDays}
|
|
@@ -249,6 +249,8 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
249
249
|
|
|
250
250
|
const handleSearchKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {
|
|
251
251
|
if (event.key === 'Enter' && searchValue && allowCreateOptions) {
|
|
252
|
+
event.preventDefault()
|
|
253
|
+
|
|
252
254
|
if (userOption) {
|
|
253
255
|
setSelected([...selected, ...userOption])
|
|
254
256
|
setUserOptions([...userOptions, ...userOption])
|