@tecsinapse/cortex-react 1.13.3 → 1.13.4-beta.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.
- package/dist/cjs/components/Calendar/Calendar.js +18 -4
- package/dist/cjs/components/Calendar/CalendarCell.js +7 -12
- package/dist/cjs/components/Calendar/CalendarGrid.js +3 -0
- package/dist/cjs/components/Calendar/CalendarGridHeaderRow.js +1 -1
- package/dist/cjs/components/Calendar/RangeCalendar.js +15 -4
- package/dist/cjs/components/DatePicker/DatePickerInput.js +20 -3
- package/dist/cjs/components/DatePicker/DateRangePickerInput.js +20 -5
- package/dist/cjs/components/Input/Mask.js +3 -0
- package/dist/cjs/components/Input/Search.js +3 -0
- package/dist/cjs/components/Menubar/Categories.js +3 -0
- package/dist/cjs/components/Menubar/Dropdown.js +1 -0
- package/dist/cjs/components/Menubar/Header.js +1 -0
- package/dist/cjs/components/Menubar/Item.js +1 -0
- package/dist/cjs/components/Menubar/MostUsed.js +3 -0
- package/dist/cjs/components/Menubar/Root.js +1 -0
- package/dist/cjs/components/Menubar/Search.js +1 -0
- package/dist/cjs/components/Menubar/SubItem.js +1 -0
- package/dist/cjs/components/Popover/Provider.js +3 -0
- package/dist/cjs/components/Select/GroupedOptions.js +3 -0
- package/dist/cjs/components/Select/MultiGroupedOptions.js +3 -0
- package/dist/cjs/components/Select/MultiOptions.js +3 -0
- package/dist/cjs/components/Select/Options.js +3 -0
- package/dist/cjs/components/TimePicker/TimePickerInput.js +3 -0
- package/dist/cjs/components/Tooltip.js +3 -0
- package/dist/cjs/hooks/useCalendar.js +9 -2
- package/dist/cjs/hooks/useCalendarCell.js +17 -2
- package/dist/cjs/hooks/useDatePickerInput.js +6 -2
- package/dist/cjs/hooks/useDateRangePickerInput.js +6 -2
- package/dist/cjs/hooks/useRangeCalendar.js +6 -2
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/provider/CalendarProvider.js +24 -0
- package/dist/cjs/provider/MenubarProvider.js +3 -1
- package/dist/cjs/styles/calendar-cell.js +10 -5
- package/dist/esm/components/Calendar/Calendar.js +19 -5
- package/dist/esm/components/Calendar/CalendarCell.js +7 -12
- package/dist/esm/components/Calendar/CalendarGrid.js +3 -0
- package/dist/esm/components/Calendar/CalendarGridHeaderRow.js +1 -1
- package/dist/esm/components/Calendar/RangeCalendar.js +16 -5
- package/dist/esm/components/DatePicker/DatePickerInput.js +20 -3
- package/dist/esm/components/DatePicker/DateRangePickerInput.js +20 -5
- package/dist/esm/components/Input/Mask.js +3 -0
- package/dist/esm/components/Input/Search.js +3 -0
- package/dist/esm/components/Menubar/Categories.js +3 -0
- package/dist/esm/components/Menubar/Dropdown.js +1 -0
- package/dist/esm/components/Menubar/Header.js +1 -0
- package/dist/esm/components/Menubar/Item.js +1 -0
- package/dist/esm/components/Menubar/MostUsed.js +3 -0
- package/dist/esm/components/Menubar/Root.js +1 -0
- package/dist/esm/components/Menubar/Search.js +1 -0
- package/dist/esm/components/Menubar/SubItem.js +1 -0
- package/dist/esm/components/Popover/Provider.js +3 -0
- package/dist/esm/components/Select/GroupedOptions.js +3 -0
- package/dist/esm/components/Select/MultiGroupedOptions.js +3 -0
- package/dist/esm/components/Select/MultiOptions.js +3 -0
- package/dist/esm/components/Select/Options.js +3 -0
- package/dist/esm/components/TimePicker/TimePickerInput.js +3 -0
- package/dist/esm/components/Tooltip.js +3 -0
- package/dist/esm/hooks/useCalendar.js +9 -2
- package/dist/esm/hooks/useCalendarCell.js +18 -3
- package/dist/esm/hooks/useDatePickerInput.js +6 -2
- package/dist/esm/hooks/useDateRangePickerInput.js +6 -2
- package/dist/esm/hooks/useRangeCalendar.js +6 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/provider/CalendarProvider.js +21 -0
- package/dist/esm/provider/MenubarProvider.js +3 -1
- package/dist/esm/styles/calendar-cell.js +10 -5
- package/dist/types/components/Calendar/Calendar.d.ts +3 -2
- package/dist/types/components/Calendar/CalendarProvider.d.ts +10 -0
- package/dist/types/components/Calendar/RangeCalendar.d.ts +3 -2
- package/dist/types/components/Calendar/types.d.ts +5 -0
- package/dist/types/components/DatePicker/DatePickerInput.d.ts +2 -4
- package/dist/types/components/DatePicker/DateRangePickerInput.d.ts +3 -5
- package/dist/types/components/DatePicker/types.d.ts +8 -0
- package/dist/types/hooks/useCalendar.d.ts +3 -1
- package/dist/types/hooks/useCalendarCell.d.ts +2 -0
- package/dist/types/hooks/useDatePickerInput.d.ts +3 -1
- package/dist/types/hooks/useDateRangePickerInput.d.ts +3 -1
- package/dist/types/hooks/useRangeCalendar.d.ts +3 -1
- package/dist/types/provider/CalendarProvider.d.ts +10 -0
- package/dist/types/provider/index.d.ts +1 -0
- package/dist/types/styles/calendar-cell.d.ts +18 -3
- package/package.json +2 -2
|
@@ -8,27 +8,32 @@ const calendarCell = tailwindVariants.tv({
|
|
|
8
8
|
button: "flex aspect-square items-center justify-center"
|
|
9
9
|
},
|
|
10
10
|
variants: {
|
|
11
|
+
isToday: {
|
|
12
|
+
true: {
|
|
13
|
+
cell: "border-primary-light border-2"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
11
16
|
isSelected: {
|
|
12
17
|
true: {
|
|
13
|
-
cell: "bg-primary-medium text-white hover:bg-primary-medium"
|
|
18
|
+
cell: "bg-primary-medium border-2 border-primary-medium text-white hover:bg-primary-medium"
|
|
14
19
|
}
|
|
15
20
|
},
|
|
16
21
|
isSelectionStart: {
|
|
17
22
|
true: {
|
|
18
|
-
cell: "bg-primary-medium rounded-r-none text-white"
|
|
23
|
+
cell: "bg-primary-medium border-2 border-primary-medium rounded-r-none text-white"
|
|
19
24
|
}
|
|
20
25
|
},
|
|
21
26
|
isSelectionEnd: {
|
|
22
27
|
true: {
|
|
23
|
-
cell: "bg-primary-medium rounded-l-none text-white"
|
|
28
|
+
cell: "bg-primary-medium border-2 border-primary-medium rounded-l-none text-white"
|
|
24
29
|
}
|
|
25
30
|
},
|
|
26
31
|
inRange: {
|
|
27
32
|
true: {
|
|
28
|
-
cell: "bg-primary-light rounded-none text-black"
|
|
33
|
+
cell: "bg-primary-light border-0 rounded-none text-black"
|
|
29
34
|
}
|
|
30
35
|
},
|
|
31
|
-
|
|
36
|
+
isDisabled: {
|
|
32
37
|
true: {
|
|
33
38
|
cell: "text-secondary-light cursor-default hover:bg-white-500",
|
|
34
39
|
button: "cursor-default"
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useCalendar } from '../../hooks/useCalendar.js';
|
|
3
3
|
import '@internationalized/date';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'react-aria';
|
|
6
|
+
import '../../provider/MenubarContext.js';
|
|
7
|
+
import '../../provider/SnackbarProvider.js';
|
|
8
|
+
import { CalendarProvider } from '../../provider/CalendarProvider.js';
|
|
6
9
|
import 'react-stately';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import 'react-dropzone';
|
|
@@ -12,9 +15,20 @@ import 'currency.js';
|
|
|
12
15
|
import { CalendarGrid } from './CalendarGrid.js';
|
|
13
16
|
import { CalendarHeader } from './CalendarHeader.js';
|
|
14
17
|
|
|
15
|
-
const Calendar = ({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
const Calendar = ({
|
|
19
|
+
value,
|
|
20
|
+
onChange,
|
|
21
|
+
isTodayHighlited = true,
|
|
22
|
+
minValue,
|
|
23
|
+
maxValue
|
|
24
|
+
}) => {
|
|
25
|
+
const { calendarProps, title, state } = useCalendar({
|
|
26
|
+
value,
|
|
27
|
+
onChange,
|
|
28
|
+
minValue,
|
|
29
|
+
maxValue
|
|
30
|
+
});
|
|
31
|
+
return /* @__PURE__ */ jsx(CalendarProvider, { isTodayHighlited, children: /* @__PURE__ */ jsxs("div", { ...calendarProps, className: "calendar", "data-testid": "calendar-div", children: [
|
|
18
32
|
/* @__PURE__ */ jsx(
|
|
19
33
|
CalendarHeader,
|
|
20
34
|
{
|
|
@@ -24,7 +38,7 @@ const Calendar = ({ value, onChange }) => {
|
|
|
24
38
|
}
|
|
25
39
|
),
|
|
26
40
|
/* @__PURE__ */ jsx(CalendarGrid, { state })
|
|
27
|
-
] });
|
|
41
|
+
] }) });
|
|
28
42
|
};
|
|
29
43
|
|
|
30
44
|
export { Calendar };
|
|
@@ -27,7 +27,9 @@ const CalendarCell = ({ state, date }) => {
|
|
|
27
27
|
formattedDate,
|
|
28
28
|
isSelectionStart,
|
|
29
29
|
isSelectionEnd,
|
|
30
|
-
inRange
|
|
30
|
+
inRange,
|
|
31
|
+
isToday,
|
|
32
|
+
isDisabled
|
|
31
33
|
} = useCalendarCell({ state, date });
|
|
32
34
|
return /* @__PURE__ */ jsx(
|
|
33
35
|
Td,
|
|
@@ -35,21 +37,14 @@ const CalendarCell = ({ state, date }) => {
|
|
|
35
37
|
...cellProps,
|
|
36
38
|
"data-testid": "calendar-cell-td",
|
|
37
39
|
className: cell({
|
|
38
|
-
isOutsideVisibleRange,
|
|
40
|
+
isDisabled: isOutsideVisibleRange || isDisabled,
|
|
39
41
|
isSelected,
|
|
40
42
|
isSelectionStart,
|
|
41
43
|
isSelectionEnd,
|
|
42
|
-
inRange
|
|
44
|
+
inRange,
|
|
45
|
+
isToday
|
|
43
46
|
}),
|
|
44
|
-
children: /* @__PURE__ */ jsx(
|
|
45
|
-
"div",
|
|
46
|
-
{
|
|
47
|
-
...buttonProps,
|
|
48
|
-
ref,
|
|
49
|
-
className: button({ isOutsideVisibleRange }),
|
|
50
|
-
children: formattedDate
|
|
51
|
-
}
|
|
52
|
-
)
|
|
47
|
+
children: /* @__PURE__ */ jsx("div", { ...buttonProps, ref, className: button({ isDisabled }), children: formattedDate })
|
|
53
48
|
}
|
|
54
49
|
);
|
|
55
50
|
};
|
|
@@ -3,6 +3,9 @@ import '@internationalized/date';
|
|
|
3
3
|
import 'react-aria';
|
|
4
4
|
import 'react-stately';
|
|
5
5
|
import 'react';
|
|
6
|
+
import '../../provider/MenubarContext.js';
|
|
7
|
+
import '../../provider/SnackbarProvider.js';
|
|
8
|
+
import '../../provider/CalendarProvider.js';
|
|
6
9
|
import { useCalendarGrid } from '../../hooks/useCalendarGrid.js';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import 'react-dropzone';
|
|
@@ -4,7 +4,7 @@ import { THeadCell } from '../Table.js';
|
|
|
4
4
|
const CalendarGridHeaderRow = ({
|
|
5
5
|
weekDays
|
|
6
6
|
}) => {
|
|
7
|
-
return /* @__PURE__ */ jsx("tr", { "data-testid": "calendar-grid-header-row", children: weekDays.map((day, index) => /* @__PURE__ */ jsx(THeadCell, { children: day }, index)) });
|
|
7
|
+
return /* @__PURE__ */ jsx("tr", { "data-testid": "calendar-grid-header-row", children: weekDays.map((day, index) => /* @__PURE__ */ jsx(THeadCell, { className: "w-11 h-11 aspect-square", children: day }, index)) });
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export { CalendarGridHeaderRow };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import '@internationalized/date';
|
|
3
3
|
import 'react-aria';
|
|
4
4
|
import 'react-stately';
|
|
5
5
|
import 'react';
|
|
6
|
+
import '../../provider/MenubarContext.js';
|
|
7
|
+
import '../../provider/SnackbarProvider.js';
|
|
8
|
+
import { CalendarProvider } from '../../provider/CalendarProvider.js';
|
|
6
9
|
import '../Popover/Context.js';
|
|
7
10
|
import 'react-dropzone';
|
|
8
11
|
import 'uuid';
|
|
@@ -12,12 +15,20 @@ import { useRangeCalendar } from '../../hooks/useRangeCalendar.js';
|
|
|
12
15
|
import { CalendarGrid } from './CalendarGrid.js';
|
|
13
16
|
import { CalendarHeader } from './CalendarHeader.js';
|
|
14
17
|
|
|
15
|
-
const RangeCalendar = ({
|
|
18
|
+
const RangeCalendar = ({
|
|
19
|
+
value,
|
|
20
|
+
onChange,
|
|
21
|
+
isTodayHighlited = true,
|
|
22
|
+
minValue,
|
|
23
|
+
maxValue
|
|
24
|
+
}) => {
|
|
16
25
|
const { calendarProps, state, title, ref } = useRangeCalendar({
|
|
17
26
|
value,
|
|
18
|
-
onChange
|
|
27
|
+
onChange,
|
|
28
|
+
minValue,
|
|
29
|
+
maxValue
|
|
19
30
|
});
|
|
20
|
-
return /* @__PURE__ */ jsxs(
|
|
31
|
+
return /* @__PURE__ */ jsx(CalendarProvider, { isTodayHighlited, children: /* @__PURE__ */ jsxs(
|
|
21
32
|
"div",
|
|
22
33
|
{
|
|
23
34
|
...calendarProps,
|
|
@@ -36,7 +47,7 @@ const RangeCalendar = ({ value, onChange }) => {
|
|
|
36
47
|
/* @__PURE__ */ jsx(CalendarGrid, { state })
|
|
37
48
|
]
|
|
38
49
|
}
|
|
39
|
-
);
|
|
50
|
+
) });
|
|
40
51
|
};
|
|
41
52
|
|
|
42
53
|
export { RangeCalendar };
|
|
@@ -4,6 +4,9 @@ import 'react-aria';
|
|
|
4
4
|
import 'react-stately';
|
|
5
5
|
import { dateToCalendarDateTime } from '../../utils/date.js';
|
|
6
6
|
import 'react';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import { useDatePickerInput } from '../../hooks/useDatePickerInput.js';
|
|
8
11
|
import { useDatePickerInputCommon } from '../../hooks/useDatePickerInputCommon.js';
|
|
9
12
|
import 'react-dropzone';
|
|
@@ -25,11 +28,16 @@ const DatePickerInputWithPopover = (props) => {
|
|
|
25
28
|
variants,
|
|
26
29
|
disabled,
|
|
27
30
|
hourCycle = 24,
|
|
28
|
-
granularity = "day"
|
|
31
|
+
granularity = "day",
|
|
32
|
+
isTodayHighlited,
|
|
33
|
+
minValue,
|
|
34
|
+
maxValue
|
|
29
35
|
} = props;
|
|
30
36
|
const { fieldProps, state, ref } = useDatePickerInput({
|
|
31
37
|
value,
|
|
32
|
-
onChange
|
|
38
|
+
onChange,
|
|
39
|
+
minValue,
|
|
40
|
+
maxValue
|
|
33
41
|
});
|
|
34
42
|
const { handleTogglePopover, handleChangeCalendar, handleCloseCalendar } = useDatePickerInputCommon({
|
|
35
43
|
onChangeCalendar: (_value) => {
|
|
@@ -70,7 +78,16 @@ const DatePickerInputWithPopover = (props) => {
|
|
|
70
78
|
{
|
|
71
79
|
className: "bg-inherit shadow-default border-none",
|
|
72
80
|
initialFocus: -1,
|
|
73
|
-
children: /* @__PURE__ */ jsx(
|
|
81
|
+
children: /* @__PURE__ */ jsx(
|
|
82
|
+
Calendar,
|
|
83
|
+
{
|
|
84
|
+
value,
|
|
85
|
+
onChange: handleChangeCalendar,
|
|
86
|
+
isTodayHighlited,
|
|
87
|
+
minValue,
|
|
88
|
+
maxValue
|
|
89
|
+
}
|
|
90
|
+
)
|
|
74
91
|
}
|
|
75
92
|
)
|
|
76
93
|
] });
|
|
@@ -4,6 +4,9 @@ import 'react-aria';
|
|
|
4
4
|
import 'react-stately';
|
|
5
5
|
import { dateToCalendarDateTime } from '../../utils/date.js';
|
|
6
6
|
import 'react';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import { useDatePickerInputCommon } from '../../hooks/useDatePickerInputCommon.js';
|
|
8
11
|
import { useDateRangePickerInput } from '../../hooks/useDateRangePickerInput.js';
|
|
9
12
|
import 'react-dropzone';
|
|
@@ -11,11 +14,11 @@ import 'uuid';
|
|
|
11
14
|
import '@floating-ui/react';
|
|
12
15
|
import 'currency.js';
|
|
13
16
|
import '../Popover/Context.js';
|
|
14
|
-
import { RangeCalendar } from '../Calendar/RangeCalendar.js';
|
|
15
|
-
import { Popover } from '../Popover/index.js';
|
|
16
17
|
import { Content } from '../Content.js';
|
|
17
18
|
import { DateField } from './DateField.js';
|
|
18
19
|
import { DatePickerInputBase } from './DatePickerInputBase.js';
|
|
20
|
+
import { Popover } from '../Popover/index.js';
|
|
21
|
+
import { RangeCalendar } from '../Calendar/RangeCalendar.js';
|
|
19
22
|
|
|
20
23
|
const DateRangePickerInputWithPopover = (props) => {
|
|
21
24
|
const {
|
|
@@ -25,9 +28,12 @@ const DateRangePickerInputWithPopover = (props) => {
|
|
|
25
28
|
variants,
|
|
26
29
|
disabled = false,
|
|
27
30
|
hourCycle = 24,
|
|
28
|
-
granularity = "day"
|
|
31
|
+
granularity = "day",
|
|
32
|
+
isTodayHighlited,
|
|
33
|
+
minValue,
|
|
34
|
+
maxValue
|
|
29
35
|
} = props;
|
|
30
|
-
const { endFieldProps, startFieldProps, ref, state } = useDateRangePickerInput({ value, onChange });
|
|
36
|
+
const { endFieldProps, startFieldProps, ref, state } = useDateRangePickerInput({ value, onChange, minValue, maxValue });
|
|
31
37
|
const { handleTogglePopover, handleChangeCalendar, handleCloseCalendar } = useDatePickerInputCommon({
|
|
32
38
|
onChangeRangeCalendar: (value2) => {
|
|
33
39
|
state.setDateRange({
|
|
@@ -87,7 +93,16 @@ const DateRangePickerInputWithPopover = (props) => {
|
|
|
87
93
|
{
|
|
88
94
|
className: "bg-inherit shadow-default border-none",
|
|
89
95
|
initialFocus: -1,
|
|
90
|
-
children: /* @__PURE__ */ jsx(
|
|
96
|
+
children: /* @__PURE__ */ jsx(
|
|
97
|
+
RangeCalendar,
|
|
98
|
+
{
|
|
99
|
+
value,
|
|
100
|
+
onChange: handleChangeCalendar,
|
|
101
|
+
isTodayHighlited,
|
|
102
|
+
minValue,
|
|
103
|
+
maxValue
|
|
104
|
+
}
|
|
105
|
+
)
|
|
91
106
|
}
|
|
92
107
|
)
|
|
93
108
|
] });
|
|
@@ -3,6 +3,9 @@ import React, { useEffect, useCallback } from 'react';
|
|
|
3
3
|
import '@internationalized/date';
|
|
4
4
|
import 'react-aria';
|
|
5
5
|
import 'react-stately';
|
|
6
|
+
import '../../provider/MenubarContext.js';
|
|
7
|
+
import '../../provider/SnackbarProvider.js';
|
|
8
|
+
import '../../provider/CalendarProvider.js';
|
|
6
9
|
import '../Popover/Context.js';
|
|
7
10
|
import 'react-dropzone';
|
|
8
11
|
import 'uuid';
|
|
@@ -4,6 +4,9 @@ import { IoSearchOutline } from 'react-icons/io5';
|
|
|
4
4
|
import '@internationalized/date';
|
|
5
5
|
import 'react-aria';
|
|
6
6
|
import 'react-stately';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import { useDebouncedState } from '../../hooks/useDebouncedState.js';
|
|
9
12
|
import 'react-dropzone';
|
|
@@ -4,6 +4,9 @@ import '@internationalized/date';
|
|
|
4
4
|
import 'react-aria';
|
|
5
5
|
import 'react-stately';
|
|
6
6
|
import 'react';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import { useDimensions } from '../../hooks/useDimensions.js';
|
|
9
12
|
import 'react-dropzone';
|
|
@@ -13,6 +13,7 @@ import 'currency.js';
|
|
|
13
13
|
import '../../provider/MenubarContext.js';
|
|
14
14
|
import '../../provider/SnackbarProvider.js';
|
|
15
15
|
import { useMenubar } from '../../provider/useMenubar.js';
|
|
16
|
+
import '../../provider/CalendarProvider.js';
|
|
16
17
|
|
|
17
18
|
const { dropdown } = menubar();
|
|
18
19
|
const Dropdown = ({ children, ...rest }) => {
|
|
@@ -12,6 +12,7 @@ import 'currency.js';
|
|
|
12
12
|
import '../../provider/MenubarContext.js';
|
|
13
13
|
import '../../provider/SnackbarProvider.js';
|
|
14
14
|
import { useMenubar } from '../../provider/useMenubar.js';
|
|
15
|
+
import '../../provider/CalendarProvider.js';
|
|
15
16
|
import { menubar } from '../../styles/menubar.js';
|
|
16
17
|
import { Button } from '../Button.js';
|
|
17
18
|
|
|
@@ -12,6 +12,7 @@ import 'currency.js';
|
|
|
12
12
|
import '../../provider/MenubarContext.js';
|
|
13
13
|
import '../../provider/SnackbarProvider.js';
|
|
14
14
|
import { useMenubar } from '../../provider/useMenubar.js';
|
|
15
|
+
import '../../provider/CalendarProvider.js';
|
|
15
16
|
import { item } from '../../styles/menubar.js';
|
|
16
17
|
import IconControlSubItem from './IconControlSubItem.js';
|
|
17
18
|
import ItemLink from './ItemLink.js';
|
|
@@ -4,6 +4,9 @@ import '@internationalized/date';
|
|
|
4
4
|
import 'react-aria';
|
|
5
5
|
import 'react-stately';
|
|
6
6
|
import 'react';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import { useDimensions } from '../../hooks/useDimensions.js';
|
|
9
12
|
import 'react-dropzone';
|
|
@@ -3,6 +3,7 @@ import { MenubarProvider } from '../../provider/MenubarProvider.js';
|
|
|
3
3
|
import '../../provider/SnackbarProvider.js';
|
|
4
4
|
import '../../provider/MenubarContext.js';
|
|
5
5
|
import 'react';
|
|
6
|
+
import '../../provider/CalendarProvider.js';
|
|
6
7
|
|
|
7
8
|
const Root = ({ children }) => {
|
|
8
9
|
return /* @__PURE__ */ jsx(MenubarProvider, { children });
|
|
@@ -14,6 +14,7 @@ import 'currency.js';
|
|
|
14
14
|
import '../../provider/MenubarContext.js';
|
|
15
15
|
import '../../provider/SnackbarProvider.js';
|
|
16
16
|
import { useMenubar } from '../../provider/useMenubar.js';
|
|
17
|
+
import '../../provider/CalendarProvider.js';
|
|
17
18
|
|
|
18
19
|
const Search = (props) => {
|
|
19
20
|
const [show] = useMenubar();
|
|
@@ -13,6 +13,7 @@ import 'currency.js';
|
|
|
13
13
|
import '../../provider/MenubarContext.js';
|
|
14
14
|
import '../../provider/SnackbarProvider.js';
|
|
15
15
|
import { useMenubar } from '../../provider/useMenubar.js';
|
|
16
|
+
import '../../provider/CalendarProvider.js';
|
|
16
17
|
|
|
17
18
|
const { container } = subItem();
|
|
18
19
|
const SubItem = ({
|
|
@@ -3,6 +3,9 @@ import '@internationalized/date';
|
|
|
3
3
|
import 'react-aria';
|
|
4
4
|
import 'react-stately';
|
|
5
5
|
import 'react';
|
|
6
|
+
import '../../provider/MenubarContext.js';
|
|
7
|
+
import '../../provider/SnackbarProvider.js';
|
|
8
|
+
import '../../provider/CalendarProvider.js';
|
|
6
9
|
import { Context } from './Context.js';
|
|
7
10
|
import 'react-dropzone';
|
|
8
11
|
import 'uuid';
|
|
@@ -4,6 +4,9 @@ import { useContext, useCallback } from 'react';
|
|
|
4
4
|
import '@internationalized/date';
|
|
5
5
|
import 'react-aria';
|
|
6
6
|
import 'react-stately';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import { usePopoverContext } from '../Popover/Context.js';
|
|
8
11
|
import 'react-dropzone';
|
|
9
12
|
import 'uuid';
|
|
@@ -4,6 +4,9 @@ import { useContext, useMemo } from 'react';
|
|
|
4
4
|
import '@internationalized/date';
|
|
5
5
|
import 'react-aria';
|
|
6
6
|
import 'react-stately';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import 'react-dropzone';
|
|
9
12
|
import 'uuid';
|
|
@@ -4,6 +4,9 @@ import { useContext } from 'react';
|
|
|
4
4
|
import '@internationalized/date';
|
|
5
5
|
import 'react-aria';
|
|
6
6
|
import 'react-stately';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import '../Popover/Context.js';
|
|
8
11
|
import 'react-dropzone';
|
|
9
12
|
import 'uuid';
|
|
@@ -4,6 +4,9 @@ import { useContext, useCallback, useMemo } from 'react';
|
|
|
4
4
|
import '@internationalized/date';
|
|
5
5
|
import 'react-aria';
|
|
6
6
|
import 'react-stately';
|
|
7
|
+
import '../../provider/MenubarContext.js';
|
|
8
|
+
import '../../provider/SnackbarProvider.js';
|
|
9
|
+
import '../../provider/CalendarProvider.js';
|
|
7
10
|
import { usePopoverContext } from '../Popover/Context.js';
|
|
8
11
|
import 'react-dropzone';
|
|
9
12
|
import 'uuid';
|
|
@@ -3,6 +3,9 @@ import '@internationalized/date';
|
|
|
3
3
|
import 'react-aria';
|
|
4
4
|
import 'react-stately';
|
|
5
5
|
import 'react';
|
|
6
|
+
import '../../provider/MenubarContext.js';
|
|
7
|
+
import '../../provider/SnackbarProvider.js';
|
|
8
|
+
import '../../provider/CalendarProvider.js';
|
|
6
9
|
import '../Popover/Context.js';
|
|
7
10
|
import 'react-dropzone';
|
|
8
11
|
import 'uuid';
|
|
@@ -5,6 +5,9 @@ import '@internationalized/date';
|
|
|
5
5
|
import 'react-aria';
|
|
6
6
|
import 'react-stately';
|
|
7
7
|
import { cloneWithProps } from '../utils/react.js';
|
|
8
|
+
import '../provider/MenubarContext.js';
|
|
9
|
+
import '../provider/SnackbarProvider.js';
|
|
10
|
+
import '../provider/CalendarProvider.js';
|
|
8
11
|
import './Popover/Context.js';
|
|
9
12
|
import 'react-dropzone';
|
|
10
13
|
import 'uuid';
|
|
@@ -5,13 +5,20 @@ import { dateToCalendarDateTime, calendarDateToDate } from '../utils/date.js';
|
|
|
5
5
|
import 'react/jsx-runtime';
|
|
6
6
|
import 'react';
|
|
7
7
|
|
|
8
|
-
const useCalendar = ({
|
|
8
|
+
const useCalendar = ({
|
|
9
|
+
value,
|
|
10
|
+
onChange,
|
|
11
|
+
minValue,
|
|
12
|
+
maxValue
|
|
13
|
+
}) => {
|
|
9
14
|
const { locale } = useLocale();
|
|
10
15
|
const state = useCalendarState({
|
|
11
16
|
locale,
|
|
12
17
|
createCalendar,
|
|
13
18
|
defaultValue: value ? dateToCalendarDateTime(value) : null,
|
|
14
|
-
onChange: (value2) => onChange(calendarDateToDate(value2))
|
|
19
|
+
onChange: (value2) => onChange(calendarDateToDate(value2)),
|
|
20
|
+
minValue: minValue ? dateToCalendarDateTime(minValue) : null,
|
|
21
|
+
maxValue: maxValue ? dateToCalendarDateTime(maxValue) : null
|
|
15
22
|
});
|
|
16
23
|
const { calendarProps, title } = useCalendar$1({}, state);
|
|
17
24
|
return {
|
|
@@ -1,16 +1,29 @@
|
|
|
1
|
-
import { isSameDay } from '@internationalized/date';
|
|
1
|
+
import { isSameDay, today, getLocalTimeZone } from '@internationalized/date';
|
|
2
2
|
import { useRef } from 'react';
|
|
3
3
|
import { useCalendarCell as useCalendarCell$1 } from 'react-aria';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react-stately';
|
|
6
|
+
import '../components/Popover/Context.js';
|
|
7
|
+
import 'react-dropzone';
|
|
8
|
+
import 'uuid';
|
|
9
|
+
import '@floating-ui/react';
|
|
10
|
+
import 'currency.js';
|
|
11
|
+
import '../provider/MenubarContext.js';
|
|
12
|
+
import '../provider/SnackbarProvider.js';
|
|
13
|
+
import { useCalendarContext } from '../provider/CalendarProvider.js';
|
|
4
14
|
|
|
5
15
|
const useCalendarCell = ({ state, date }) => {
|
|
16
|
+
const { isTodayHighlited } = useCalendarContext();
|
|
6
17
|
const ref = useRef(null);
|
|
7
18
|
const {
|
|
8
19
|
cellProps,
|
|
9
20
|
buttonProps,
|
|
10
21
|
isSelected,
|
|
11
22
|
isOutsideVisibleRange,
|
|
12
|
-
formattedDate
|
|
23
|
+
formattedDate,
|
|
24
|
+
isDisabled
|
|
13
25
|
} = useCalendarCell$1({ date }, state, ref);
|
|
26
|
+
const isToday = isTodayHighlited ? isSameDay(date, today(getLocalTimeZone())) : false;
|
|
14
27
|
const rangeStateHighlitedRange = state?.highlightedRange;
|
|
15
28
|
const isSameDayStart = rangeStateHighlitedRange && date ? isSameDay(date, rangeStateHighlitedRange.start) : void 0;
|
|
16
29
|
const isSameDayEnd = rangeStateHighlitedRange && date ? isSameDay(date, rangeStateHighlitedRange.end) : void 0;
|
|
@@ -26,7 +39,9 @@ const useCalendarCell = ({ state, date }) => {
|
|
|
26
39
|
formattedDate,
|
|
27
40
|
isSelectionStart,
|
|
28
41
|
isSelectionEnd,
|
|
29
|
-
inRange: Boolean(inRange)
|
|
42
|
+
inRange: Boolean(inRange),
|
|
43
|
+
isToday,
|
|
44
|
+
isDisabled
|
|
30
45
|
};
|
|
31
46
|
};
|
|
32
47
|
|
|
@@ -6,13 +6,17 @@ import 'react/jsx-runtime';
|
|
|
6
6
|
|
|
7
7
|
const useDatePickerInput = ({
|
|
8
8
|
value,
|
|
9
|
-
onChange
|
|
9
|
+
onChange,
|
|
10
|
+
minValue,
|
|
11
|
+
maxValue
|
|
10
12
|
}) => {
|
|
11
13
|
const state = useDatePickerState({
|
|
12
14
|
defaultValue: value ? dateToCalendarDateTime(value) : null,
|
|
13
15
|
onChange: (_value) => {
|
|
14
16
|
onChange(calendarDateToDate(_value));
|
|
15
|
-
}
|
|
17
|
+
},
|
|
18
|
+
minValue: minValue ? dateToCalendarDateTime(minValue) : null,
|
|
19
|
+
maxValue: maxValue ? dateToCalendarDateTime(maxValue) : null
|
|
16
20
|
});
|
|
17
21
|
const ref = useRef(null);
|
|
18
22
|
const { fieldProps } = useDatePicker(
|
|
@@ -6,7 +6,9 @@ import 'react/jsx-runtime';
|
|
|
6
6
|
|
|
7
7
|
const useDateRangePickerInput = ({
|
|
8
8
|
value,
|
|
9
|
-
onChange
|
|
9
|
+
onChange,
|
|
10
|
+
minValue,
|
|
11
|
+
maxValue
|
|
10
12
|
}) => {
|
|
11
13
|
const state = useDateRangePickerState({
|
|
12
14
|
defaultValue: value ? {
|
|
@@ -18,7 +20,9 @@ const useDateRangePickerInput = ({
|
|
|
18
20
|
start: value2 ? calendarDateToDate(value2.start) : void 0,
|
|
19
21
|
end: value2 ? calendarDateToDate(value2.end) : void 0
|
|
20
22
|
});
|
|
21
|
-
}
|
|
23
|
+
},
|
|
24
|
+
minValue: minValue ? dateToCalendarDateTime(minValue) : null,
|
|
25
|
+
maxValue: maxValue ? dateToCalendarDateTime(maxValue) : null
|
|
22
26
|
});
|
|
23
27
|
const ref = useRef(null);
|
|
24
28
|
const { startFieldProps, endFieldProps } = useDateRangePicker(
|
|
@@ -7,7 +7,9 @@ import 'react/jsx-runtime';
|
|
|
7
7
|
|
|
8
8
|
const useRangeCalendar = ({
|
|
9
9
|
value,
|
|
10
|
-
onChange
|
|
10
|
+
onChange,
|
|
11
|
+
minValue,
|
|
12
|
+
maxValue
|
|
11
13
|
}) => {
|
|
12
14
|
const { locale } = useLocale();
|
|
13
15
|
const state = useRangeCalendarState({
|
|
@@ -20,7 +22,9 @@ const useRangeCalendar = ({
|
|
|
20
22
|
onChange: (value2) => onChange({
|
|
21
23
|
start: calendarDateToDate(value2.start),
|
|
22
24
|
end: calendarDateToDate(value2.end)
|
|
23
|
-
})
|
|
25
|
+
}),
|
|
26
|
+
minValue: minValue ? dateToCalendarDateTime(minValue) : null,
|
|
27
|
+
maxValue: maxValue ? dateToCalendarDateTime(maxValue) : null
|
|
24
28
|
});
|
|
25
29
|
const ref = useRef(null);
|
|
26
30
|
const { calendarProps, title } = useRangeCalendar$1({}, state, ref);
|
package/dist/esm/index.js
CHANGED
|
@@ -64,6 +64,7 @@ export { MenubarProvider } from './provider/MenubarProvider.js';
|
|
|
64
64
|
export { SnackbarProvider, useSnackbar } from './provider/SnackbarProvider.js';
|
|
65
65
|
export { MenubarContext } from './provider/MenubarContext.js';
|
|
66
66
|
export { useMenubar } from './provider/useMenubar.js';
|
|
67
|
+
export { CalendarProvider, useCalendarContext } from './provider/CalendarProvider.js';
|
|
67
68
|
export { Context, useAccordionContext } from './components/Accordion/context.js';
|
|
68
69
|
export { BRLMask, CurrencyIMask, ExpressionMasks, Masks, NumberIMask, PercentageIMask, PercentageMask } from './components/Input/masks.js';
|
|
69
70
|
export { Root } from './components/Uploader/Root.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
|
|
4
|
+
const CalendarContext = createContext(
|
|
5
|
+
void 0
|
|
6
|
+
);
|
|
7
|
+
const CalendarProvider = ({
|
|
8
|
+
isTodayHighlited,
|
|
9
|
+
children
|
|
10
|
+
}) => /* @__PURE__ */ jsx(CalendarContext.Provider, { value: { isTodayHighlited }, children });
|
|
11
|
+
const useCalendarContext = () => {
|
|
12
|
+
const context = useContext(CalendarContext);
|
|
13
|
+
if (!context) {
|
|
14
|
+
throw new Error(
|
|
15
|
+
"useCalendarContext must be used within a CalendarProvider"
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
return context;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { CalendarProvider, useCalendarContext };
|
|
@@ -3,13 +3,15 @@ import React, { useRef, useEffect } from 'react';
|
|
|
3
3
|
import '@internationalized/date';
|
|
4
4
|
import 'react-aria';
|
|
5
5
|
import 'react-stately';
|
|
6
|
+
import { MenubarContext } from './MenubarContext.js';
|
|
7
|
+
import './SnackbarProvider.js';
|
|
8
|
+
import './CalendarProvider.js';
|
|
6
9
|
import '../components/Popover/Context.js';
|
|
7
10
|
import 'react-dropzone';
|
|
8
11
|
import 'uuid';
|
|
9
12
|
import '@floating-ui/react';
|
|
10
13
|
import 'currency.js';
|
|
11
14
|
import { useOutsideClickListener } from '../hooks/useOutsideClickListener.js';
|
|
12
|
-
import { MenubarContext } from './MenubarContext.js';
|
|
13
15
|
|
|
14
16
|
const MenubarProvider = ({ children }) => {
|
|
15
17
|
const [show, setShow] = React.useState(false);
|