@tecsinapse/cortex-react 1.3.0-beta.0 → 1.3.0-beta.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 (54) hide show
  1. package/dist/cjs/components/Calendar.js +1 -0
  2. package/dist/cjs/components/DateField.js +25 -0
  3. package/dist/cjs/components/DatePickerInput.js +48 -0
  4. package/dist/cjs/components/DatePickerInputBase.js +24 -0
  5. package/dist/cjs/components/DateRangePickerInput.js +62 -0
  6. package/dist/cjs/components/DateSegment.js +9 -1
  7. package/dist/cjs/components/RangeCalendar.js +24 -32
  8. package/dist/cjs/components/SearchInput.js +3 -2
  9. package/dist/cjs/components/Table.js +2 -2
  10. package/dist/cjs/components/utils.js +14 -0
  11. package/dist/cjs/hooks/useCalendar.js +3 -6
  12. package/dist/cjs/hooks/useDatePickerInput.js +31 -0
  13. package/dist/cjs/hooks/useDateRangePickerInput.js +33 -0
  14. package/dist/cjs/hooks/useRangeCalendar.js +36 -0
  15. package/dist/cjs/index.js +14 -4
  16. package/dist/cjs/service/SnackbarSonner.js +3 -2
  17. package/dist/cjs/styles/calendar-cell.js +3 -3
  18. package/dist/esm/components/Calendar.js +1 -0
  19. package/dist/esm/components/DateField.js +23 -0
  20. package/dist/esm/components/DatePickerInput.js +46 -0
  21. package/dist/esm/components/DatePickerInputBase.js +22 -0
  22. package/dist/esm/components/DateRangePickerInput.js +60 -0
  23. package/dist/esm/components/DateSegment.js +9 -1
  24. package/dist/esm/components/RangeCalendar.js +24 -32
  25. package/dist/esm/components/SearchInput.js +3 -2
  26. package/dist/esm/components/Table.js +2 -2
  27. package/dist/esm/components/utils.js +13 -1
  28. package/dist/esm/hooks/useCalendar.js +4 -7
  29. package/dist/esm/hooks/useDatePickerInput.js +29 -0
  30. package/dist/esm/hooks/useDateRangePickerInput.js +31 -0
  31. package/dist/esm/hooks/useRangeCalendar.js +34 -0
  32. package/dist/esm/index.js +7 -2
  33. package/dist/esm/service/SnackbarSonner.js +3 -2
  34. package/dist/esm/styles/calendar-cell.js +3 -3
  35. package/dist/types/components/Calendar.d.ts +1 -1
  36. package/dist/types/components/DateField.d.ts +5 -0
  37. package/dist/types/components/DatePickerInput.d.ts +6 -0
  38. package/dist/types/components/DatePickerInputBase.d.ts +8 -0
  39. package/dist/types/components/DateRangePickerInput.d.ts +7 -0
  40. package/dist/types/components/RangeCalendar.d.ts +1 -1
  41. package/dist/types/components/index.d.ts +3 -1
  42. package/dist/types/components/utils.d.ts +3 -0
  43. package/dist/types/hooks/index.d.ts +3 -0
  44. package/dist/types/hooks/useCalendar.d.ts +1 -1
  45. package/dist/types/hooks/useDatePickerInput.d.ts +10 -0
  46. package/dist/types/hooks/useDateRangePickerInput.d.ts +12 -0
  47. package/dist/types/hooks/useRangeCalendar.d.ts +12 -0
  48. package/dist/types/index.d.ts +1 -1
  49. package/dist/types/tests/DateField.test.d.ts +1 -0
  50. package/dist/types/tests/DatePickerInput.test.d.ts +1 -0
  51. package/dist/types/tests/DatePickerInputBase.test.d.ts +1 -0
  52. package/dist/types/tests/DateRangePickerInput.test.d.ts +1 -0
  53. package/dist/types/tests/RangeCalendar.test.d.ts +1 -0
  54. package/package.json +2 -2
@@ -4,6 +4,7 @@ var React = require('react');
4
4
  var useCalendar = require('../hooks/useCalendar.js');
5
5
  require('@internationalized/date');
6
6
  require('react-aria');
7
+ require('react-stately');
7
8
  var CalendarGrid = require('./CalendarGrid.js');
8
9
  var CalendarHeader = require('./CalendarHeader.js');
9
10
 
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var date = require('@internationalized/date');
4
+ var React = require('react');
5
+ var reactAria = require('react-aria');
6
+ var reactStately = require('react-stately');
7
+ var DateSegment = require('./DateSegment.js');
8
+
9
+ const DateField = (props) => {
10
+ const { locale } = reactAria.useLocale();
11
+ const state = reactStately.useDateFieldState({
12
+ ...props,
13
+ createCalendar: date.createCalendar,
14
+ locale
15
+ });
16
+ const ref = React.useRef(null);
17
+ const { fieldProps } = reactAria.useDateField(
18
+ { "aria-label": "date-field" },
19
+ state,
20
+ ref
21
+ );
22
+ return /* @__PURE__ */ React.createElement("div", { ...fieldProps, ref, className: "flex flex-row" }, state.segments.map((segment, i) => /* @__PURE__ */ React.createElement(DateSegment.DateSegment, { key: i, segment, state })));
23
+ };
24
+
25
+ exports.DateField = DateField;
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ require('@internationalized/date');
5
+ require('react-aria');
6
+ require('react-stately');
7
+ var utils = require('./utils.js');
8
+ var useDatePickerInput = require('../hooks/useDatePickerInput.js');
9
+ var Calendar = require('./Calendar.js');
10
+ var DateField = require('./DateField.js');
11
+ var DatePickerInputBase = require('./DatePickerInputBase.js');
12
+
13
+ const DatePickerInput = (props) => {
14
+ const { onChange, value, label, variants } = props;
15
+ const { fieldProps, state, ref } = useDatePickerInput.useDatePickerInput({ value, onChange });
16
+ return /* @__PURE__ */ React.createElement("div", { "data-testid": "date-picker-input" }, /* @__PURE__ */ React.createElement(
17
+ DatePickerInputBase.DatePickerInputBase,
18
+ {
19
+ onClickCalendar: () => state.isOpen ? state.close() : state.open(),
20
+ variants: {
21
+ ...variants,
22
+ intent: state.isInvalid ? "error" : variants?.intent
23
+ },
24
+ label
25
+ },
26
+ /* @__PURE__ */ React.createElement("div", { ref }, /* @__PURE__ */ React.createElement(
27
+ DateField.DateField,
28
+ {
29
+ ...fieldProps,
30
+ onChange: (value2) => {
31
+ state.setDateValue(value2);
32
+ state.close();
33
+ }
34
+ }
35
+ ))
36
+ ), state.isOpen ? /* @__PURE__ */ React.createElement("div", { className: "absolute" }, /* @__PURE__ */ React.createElement(
37
+ Calendar.Calendar,
38
+ {
39
+ value,
40
+ onChange: (value2) => {
41
+ state.setDateValue(utils.dateToCalendarDate(value2));
42
+ state.close();
43
+ }
44
+ }
45
+ )) : /* @__PURE__ */ React.createElement(React.Fragment, null));
46
+ };
47
+
48
+ exports.DatePickerInput = DatePickerInput;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var cortexCore = require('@tecsinapse/cortex-core');
4
+ var React = require('react');
5
+ var lia = require('react-icons/lia');
6
+ var Input = require('./Input.js');
7
+
8
+ const DatePickerInputBase = ({
9
+ children,
10
+ variants,
11
+ label,
12
+ onClickCalendar
13
+ }) => {
14
+ return /* @__PURE__ */ React.createElement(Input.Input.Face, { variants, "data-testid": "date-picker-input-base" }, /* @__PURE__ */ React.createElement("span", { className: cortexCore.labelStyle({}) }, label), /* @__PURE__ */ React.createElement("div", { className: cortexCore.inputBox("", label) }, children), /* @__PURE__ */ React.createElement(Input.Input.Right, { className: "" }, /* @__PURE__ */ React.createElement(
15
+ lia.LiaCalendar,
16
+ {
17
+ className: "cursor-pointer mt-centi",
18
+ onClick: onClickCalendar,
19
+ "data-testid": "date-picker-input-base-calendar"
20
+ }
21
+ )));
22
+ };
23
+
24
+ exports.DatePickerInputBase = DatePickerInputBase;
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ require('@internationalized/date');
5
+ require('react-aria');
6
+ require('react-stately');
7
+ var utils = require('./utils.js');
8
+ var useDateRangePickerInput = require('../hooks/useDateRangePickerInput.js');
9
+ var DateField = require('./DateField.js');
10
+ var DatePickerInputBase = require('./DatePickerInputBase.js');
11
+ var RangeCalendar = require('./RangeCalendar.js');
12
+
13
+ const DateRangePickerInput = (props) => {
14
+ const { onChange, value, label, variants } = props;
15
+ const { endFieldProps, startFieldProps, ref, state } = useDateRangePickerInput.useDateRangePickerInput({ value, onChange });
16
+ return /* @__PURE__ */ React.createElement("div", { "data-testid": "date-range-picker-input" }, /* @__PURE__ */ React.createElement(
17
+ DatePickerInputBase.DatePickerInputBase,
18
+ {
19
+ onClickCalendar: () => state.isOpen ? state.close() : state.open(),
20
+ variants: {
21
+ ...variants,
22
+ intent: state.isInvalid ? "error" : variants?.intent
23
+ },
24
+ label
25
+ },
26
+ /* @__PURE__ */ React.createElement("div", { ref, className: "flex flex-row gap-x-micro items-center" }, /* @__PURE__ */ React.createElement(
27
+ DateField.DateField,
28
+ {
29
+ ...startFieldProps,
30
+ value: utils.dateToCalendarDate(value?.start),
31
+ onChange: (value2) => {
32
+ state.setDate("start", value2);
33
+ state.close();
34
+ }
35
+ }
36
+ ), /* @__PURE__ */ React.createElement("span", null, "-"), /* @__PURE__ */ React.createElement(
37
+ DateField.DateField,
38
+ {
39
+ ...endFieldProps,
40
+ value: utils.dateToCalendarDate(value?.end),
41
+ onChange: (value2) => {
42
+ state.setDate("end", value2);
43
+ state.close();
44
+ }
45
+ }
46
+ ))
47
+ ), state.isOpen ? /* @__PURE__ */ React.createElement("div", { className: "absolute" }, /* @__PURE__ */ React.createElement(
48
+ RangeCalendar.RangeCalendar,
49
+ {
50
+ value,
51
+ onChange: (value2) => {
52
+ state.setDateRange({
53
+ start: utils.dateToCalendarDate(value2.start),
54
+ end: utils.dateToCalendarDate(value2.end)
55
+ });
56
+ state.close();
57
+ }
58
+ }
59
+ )) : /* @__PURE__ */ React.createElement(React.Fragment, null));
60
+ };
61
+
62
+ exports.DateRangePickerInput = DateRangePickerInput;
@@ -6,7 +6,15 @@ var reactAria = require('react-aria');
6
6
  const DateSegment = ({ segment, state }) => {
7
7
  const ref = React.useRef(null);
8
8
  const { segmentProps } = reactAria.useDateSegment(segment, state, ref);
9
- return /* @__PURE__ */ React.createElement("div", { ...segmentProps, ref, className: "text-sub accent-transparent" }, segment.text);
9
+ return /* @__PURE__ */ React.createElement(
10
+ "div",
11
+ {
12
+ ...segmentProps,
13
+ ref,
14
+ className: "focus:outline-none focus:bg-secondary-light"
15
+ },
16
+ segment.text
17
+ );
10
18
  };
11
19
 
12
20
  exports.DateSegment = DateSegment;
@@ -1,44 +1,36 @@
1
1
  'use strict';
2
2
 
3
- var date = require('@internationalized/date');
4
3
  var React = require('react');
5
- var reactAria = require('react-aria');
6
- var reactStately = require('react-stately');
4
+ require('@internationalized/date');
5
+ require('react-aria');
6
+ require('react-stately');
7
+ var useRangeCalendar = require('../hooks/useRangeCalendar.js');
7
8
  var CalendarGrid = require('./CalendarGrid.js');
8
9
  var CalendarHeader = require('./CalendarHeader.js');
9
10
 
10
11
  const RangeCalendar = ({ value, onChange }) => {
11
- const { locale } = reactAria.useLocale();
12
- const state = reactStately.useRangeCalendarState({
13
- locale,
14
- createCalendar: date.createCalendar,
15
- defaultValue: {
16
- start: new date.CalendarDate(
17
- value.start.getFullYear(),
18
- value.start.getMonth(),
19
- value.start.getDate()
20
- ),
21
- end: new date.CalendarDate(
22
- value.end.getFullYear(),
23
- value.end.getMonth(),
24
- value.end.getDate()
25
- )
26
- },
27
- onChange: (value2) => onChange({
28
- start: value2.start.toDate(date.getLocalTimeZone()),
29
- end: value2.end.toDate(date.getLocalTimeZone())
30
- })
12
+ const { calendarProps, state, title, ref } = useRangeCalendar.useRangeCalendar({
13
+ value,
14
+ onChange
31
15
  });
32
- const ref = React.useRef(null);
33
- const { calendarProps, title } = reactAria.useRangeCalendar({}, state, ref);
34
- return /* @__PURE__ */ React.createElement("div", { ...calendarProps, className: "calendar", ref }, /* @__PURE__ */ React.createElement(
35
- CalendarHeader.CalendarHeader,
16
+ return /* @__PURE__ */ React.createElement(
17
+ "div",
36
18
  {
37
- onClickPrevButton: () => state.focusPreviousPage(),
38
- onClickNextButton: () => state.focusNextPage(),
39
- title
40
- }
41
- ), /* @__PURE__ */ React.createElement(CalendarGrid.CalendarGrid, { state }));
19
+ ...calendarProps,
20
+ className: "calendar",
21
+ ref,
22
+ "data-testid": "calendar-range-div"
23
+ },
24
+ /* @__PURE__ */ React.createElement(
25
+ CalendarHeader.CalendarHeader,
26
+ {
27
+ onClickPrevButton: () => state.focusPreviousPage(),
28
+ onClickNextButton: () => state.focusNextPage(),
29
+ title
30
+ }
31
+ ),
32
+ /* @__PURE__ */ React.createElement(CalendarGrid.CalendarGrid, { state })
33
+ );
42
34
  };
43
35
 
44
36
  exports.RangeCalendar = RangeCalendar;
@@ -2,22 +2,23 @@
2
2
 
3
3
  var React = require('react');
4
4
  require('clsx');
5
+ require('@internationalized/date');
5
6
  require('./Badge.js');
6
7
  require('./BaseSnackbar.js');
7
8
  require('react-icons/md');
8
9
  require('./Card.js');
9
10
  var Button = require('./Button.js');
10
- require('@internationalized/date');
11
11
  require('react-aria');
12
12
  require('react-stately');
13
13
  var useDebouncedState = require('../hooks/useDebouncedState.js');
14
14
  require('./CalendarCell.js');
15
15
  require('@tecsinapse/cortex-core');
16
16
  require('react-icons/fa');
17
+ require('react-icons/lia');
18
+ var Input = require('./Input.js');
17
19
  require('react-icons/io');
18
20
  require('./GroupButton.js');
19
21
  require('./Hint.js');
20
- var Input = require('./Input.js');
21
22
  require('./Modal.js');
22
23
  require('../styles/calendar-cell.js');
23
24
  require('../styles/groupButton.js');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
3
  var cortexCore = require('@tecsinapse/cortex-core');
4
+ var React = require('react');
5
5
 
6
6
  const THead = ({
7
7
  children,
@@ -39,7 +39,7 @@ const Table = ({
39
39
  const Td = ({
40
40
  children,
41
41
  ...rest
42
- }) => /* @__PURE__ */ React.createElement("td", { ...rest, "data-testid": "td" }, children);
42
+ }) => /* @__PURE__ */ React.createElement("td", { "data-testid": "td", ...rest }, children);
43
43
 
44
44
  exports.TCell = TCell;
45
45
  exports.TFoot = TFoot;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var date = require('@internationalized/date');
4
+
3
5
  const getNameInitials = (name) => {
4
6
  const nameSplit = name.split(" ");
5
7
  const length = nameSplit.length;
@@ -8,5 +10,17 @@ const getNameInitials = (name) => {
8
10
  }
9
11
  return name[0];
10
12
  };
13
+ const dateToCalendarDate = (value) => {
14
+ return new date.CalendarDate(
15
+ value?.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear(),
16
+ value?.getMonth() ? value.getMonth() + 1 : (/* @__PURE__ */ new Date()).getMonth() + 1,
17
+ value?.getDate() ?? (/* @__PURE__ */ new Date()).getDate()
18
+ );
19
+ };
20
+ const calendarDateToDate = (value) => {
21
+ return value.toDate(date.getLocalTimeZone());
22
+ };
11
23
 
24
+ exports.calendarDateToDate = calendarDateToDate;
25
+ exports.dateToCalendarDate = dateToCalendarDate;
12
26
  exports.getNameInitials = getNameInitials;
@@ -3,18 +3,15 @@
3
3
  var date = require('@internationalized/date');
4
4
  var reactAria = require('react-aria');
5
5
  var reactStately = require('react-stately');
6
+ var utils = require('../components/utils.js');
6
7
 
7
8
  const useCalendar = ({ value, onChange }) => {
8
9
  const { locale } = reactAria.useLocale();
9
10
  const state = reactStately.useCalendarState({
10
11
  locale,
11
12
  createCalendar: date.createCalendar,
12
- defaultValue: new date.CalendarDate(
13
- value.getFullYear(),
14
- value.getMonth(),
15
- value.getDate()
16
- ),
17
- onChange: (value2) => onChange(value2.toDate(date.getLocalTimeZone()))
13
+ defaultValue: utils.dateToCalendarDate(value),
14
+ onChange: (value2) => onChange(utils.calendarDateToDate(value2))
18
15
  });
19
16
  const { calendarProps, title } = reactAria.useCalendar({}, state);
20
17
  return {
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var reactAria = require('react-aria');
5
+ var reactStately = require('react-stately');
6
+ var utils = require('../components/utils.js');
7
+
8
+ const useDatePickerInput = ({
9
+ value,
10
+ onChange
11
+ }) => {
12
+ const state = reactStately.useDatePickerState({
13
+ defaultValue: utils.dateToCalendarDate(value),
14
+ onChange: (value2) => {
15
+ onChange(utils.calendarDateToDate(value2));
16
+ }
17
+ });
18
+ const ref = React.useRef(null);
19
+ const { fieldProps } = reactAria.useDatePicker(
20
+ { "aria-label": "date-picker-field" },
21
+ state,
22
+ ref
23
+ );
24
+ return {
25
+ fieldProps,
26
+ state,
27
+ ref
28
+ };
29
+ };
30
+
31
+ exports.useDatePickerInput = useDatePickerInput;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var reactAria = require('react-aria');
5
+ var reactStately = require('react-stately');
6
+ var utils = require('../components/utils.js');
7
+
8
+ const useDateRangePickerInput = ({
9
+ value,
10
+ onChange
11
+ }) => {
12
+ const state = reactStately.useDateRangePickerState({
13
+ defaultValue: {
14
+ start: utils.dateToCalendarDate(value?.start),
15
+ end: utils.dateToCalendarDate(value?.end)
16
+ },
17
+ onChange: (value2) => {
18
+ onChange({
19
+ start: utils.calendarDateToDate(value2.start),
20
+ end: utils.calendarDateToDate(value2.end)
21
+ });
22
+ }
23
+ });
24
+ const ref = React.useRef(null);
25
+ const { startFieldProps, endFieldProps } = reactAria.useDateRangePicker(
26
+ { "aria-label": "date-range-picker-field" },
27
+ state,
28
+ ref
29
+ );
30
+ return { startFieldProps, endFieldProps, state, ref };
31
+ };
32
+
33
+ exports.useDateRangePickerInput = useDateRangePickerInput;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var date = require('@internationalized/date');
4
+ var React = require('react');
5
+ var reactAria = require('react-aria');
6
+ var reactStately = require('react-stately');
7
+ var utils = require('../components/utils.js');
8
+
9
+ const useRangeCalendar = ({
10
+ value,
11
+ onChange
12
+ }) => {
13
+ const { locale } = reactAria.useLocale();
14
+ const state = reactStately.useRangeCalendarState({
15
+ locale,
16
+ createCalendar: date.createCalendar,
17
+ defaultValue: {
18
+ start: utils.dateToCalendarDate(value?.start),
19
+ end: utils.dateToCalendarDate(value?.end)
20
+ },
21
+ onChange: (value2) => onChange({
22
+ start: utils.calendarDateToDate(value2.start),
23
+ end: utils.calendarDateToDate(value2.end)
24
+ })
25
+ });
26
+ const ref = React.useRef(null);
27
+ const { calendarProps, title } = reactAria.useRangeCalendar({}, state, ref);
28
+ return {
29
+ calendarProps,
30
+ title,
31
+ state,
32
+ ref
33
+ };
34
+ };
35
+
36
+ exports.useRangeCalendar = useRangeCalendar;
package/dist/cjs/index.js CHANGED
@@ -7,6 +7,8 @@ var Breadcrumbs = require('./components/Breadcrumbs.js');
7
7
  var Button = require('./components/Button.js');
8
8
  var Calendar = require('./components/Calendar.js');
9
9
  var Card = require('./components/Card.js');
10
+ var DatePickerInput = require('./components/DatePickerInput.js');
11
+ var DateRangePickerInput = require('./components/DateRangePickerInput.js');
10
12
  var DefaultSnack = require('./components/DefaultSnack.js');
11
13
  var Drawer = require('./components/Drawer.js');
12
14
  var GroupButton = require('./components/GroupButton.js');
@@ -20,13 +22,16 @@ var Skeleton = require('./components/Skeleton.js');
20
22
  var Table = require('./components/Table.js');
21
23
  var Tag = require('./components/Tag.js');
22
24
  var TextArea = require('./components/TextArea.js');
23
- var Toggle = require('./components/Toggle.js');
24
25
  var TimeFieldInput = require('./components/TimeFieldInput.js');
25
- var SnackbarSonner = require('./service/SnackbarSonner.js');
26
+ var Toggle = require('./components/Toggle.js');
26
27
  var useCalendar = require('./hooks/useCalendar.js');
27
28
  var useCalendarCell = require('./hooks/useCalendarCell.js');
28
29
  var useCalendarGrid = require('./hooks/useCalendarGrid.js');
30
+ var useDatePickerInput = require('./hooks/useDatePickerInput.js');
31
+ var useDateRangePickerInput = require('./hooks/useDateRangePickerInput.js');
29
32
  var useDebouncedState = require('./hooks/useDebouncedState.js');
33
+ var useRangeCalendar = require('./hooks/useRangeCalendar.js');
34
+ var SnackbarSonner = require('./service/SnackbarSonner.js');
30
35
 
31
36
 
32
37
 
@@ -38,6 +43,8 @@ exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
38
43
  exports.Button = Button.Button;
39
44
  exports.Calendar = Calendar.Calendar;
40
45
  exports.Card = Card.Card;
46
+ exports.DatePickerInput = DatePickerInput.DatePickerInput;
47
+ exports.DateRangePickerInput = DateRangePickerInput.DateRangePickerInput;
41
48
  exports.DefaultSnack = DefaultSnack.DefaultSnack;
42
49
  exports.Drawer = Drawer.Drawer;
43
50
  exports.GroupButton = GroupButton.GroupButton;
@@ -63,10 +70,13 @@ exports.Table = Table.Table;
63
70
  exports.Td = Table.Td;
64
71
  exports.Tag = Tag.Tag;
65
72
  exports.TextArea = TextArea.TextArea;
66
- exports.Toggle = Toggle.Toggle;
67
73
  exports.TimeFieldInput = TimeFieldInput.TimeFieldInput;
68
- exports.SnackbarSonner = SnackbarSonner.SnackbarSonner;
74
+ exports.Toggle = Toggle.Toggle;
69
75
  exports.useCalendar = useCalendar.useCalendar;
70
76
  exports.useCalendarCell = useCalendarCell.useCalendarCell;
71
77
  exports.useCalendarGrid = useCalendarGrid.useCalendarGrid;
78
+ exports.useDatePickerInput = useDatePickerInput.useDatePickerInput;
79
+ exports.useDateRangePickerInput = useDateRangePickerInput.useDateRangePickerInput;
72
80
  exports.useDebouncedState = useDebouncedState.useDebouncedState;
81
+ exports.useRangeCalendar = useRangeCalendar.useRangeCalendar;
82
+ exports.SnackbarSonner = SnackbarSonner.SnackbarSonner;
@@ -3,21 +3,22 @@
3
3
  var sonner = require('sonner');
4
4
  var React = require('react');
5
5
  require('clsx');
6
+ require('@internationalized/date');
6
7
  require('../components/Badge.js');
7
8
  require('../components/BaseSnackbar.js');
8
9
  require('react-icons/md');
9
10
  require('../components/Card.js');
10
11
  require('../components/Button.js');
11
- require('@internationalized/date');
12
12
  require('react-aria');
13
13
  require('react-stately');
14
14
  require('../components/CalendarCell.js');
15
15
  require('@tecsinapse/cortex-core');
16
16
  require('react-icons/fa');
17
+ require('react-icons/lia');
18
+ require('../components/Input.js');
17
19
  var DefaultSnack = require('../components/DefaultSnack.js');
18
20
  require('../components/GroupButton.js');
19
21
  require('../components/Hint.js');
20
- require('../components/Input.js');
21
22
  require('../components/Modal.js');
22
23
  require('../styles/calendar-cell.js');
23
24
  require('../styles/groupButton.js');
@@ -4,13 +4,13 @@ var tailwindVariants = require('tailwind-variants');
4
4
 
5
5
  const calendarCell = tailwindVariants.tv({
6
6
  slots: {
7
- cell: "text-center rounded-mili text-black",
7
+ cell: "text-center rounded-mili text-black hover:bg-primary-light",
8
8
  button: "flex aspect-square items-center justify-center"
9
9
  },
10
10
  variants: {
11
11
  isSelected: {
12
12
  true: {
13
- cell: "bg-primary-medium text-white"
13
+ cell: "bg-primary-medium text-white hover:bg-primary-medium"
14
14
  }
15
15
  },
16
16
  isSelectionStart: {
@@ -30,7 +30,7 @@ const calendarCell = tailwindVariants.tv({
30
30
  },
31
31
  isOutsideVisibleRange: {
32
32
  true: {
33
- cell: "text-secondary-light cursor-default",
33
+ cell: "text-secondary-light cursor-default hover:bg-white-500",
34
34
  button: "cursor-default"
35
35
  }
36
36
  }
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { useCalendar } from '../hooks/useCalendar.js';
3
3
  import '@internationalized/date';
4
4
  import 'react-aria';
5
+ import 'react-stately';
5
6
  import { CalendarGrid } from './CalendarGrid.js';
6
7
  import { CalendarHeader } from './CalendarHeader.js';
7
8
 
@@ -0,0 +1,23 @@
1
+ import { createCalendar } from '@internationalized/date';
2
+ import React from 'react';
3
+ import { useLocale, useDateField } from 'react-aria';
4
+ import { useDateFieldState } from 'react-stately';
5
+ import { DateSegment } from './DateSegment.js';
6
+
7
+ const DateField = (props) => {
8
+ const { locale } = useLocale();
9
+ const state = useDateFieldState({
10
+ ...props,
11
+ createCalendar,
12
+ locale
13
+ });
14
+ const ref = React.useRef(null);
15
+ const { fieldProps } = useDateField(
16
+ { "aria-label": "date-field" },
17
+ state,
18
+ ref
19
+ );
20
+ return /* @__PURE__ */ React.createElement("div", { ...fieldProps, ref, className: "flex flex-row" }, state.segments.map((segment, i) => /* @__PURE__ */ React.createElement(DateSegment, { key: i, segment, state })));
21
+ };
22
+
23
+ export { DateField };
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import '@internationalized/date';
3
+ import 'react-aria';
4
+ import 'react-stately';
5
+ import { dateToCalendarDate } from './utils.js';
6
+ import { useDatePickerInput } from '../hooks/useDatePickerInput.js';
7
+ import { Calendar } from './Calendar.js';
8
+ import { DateField } from './DateField.js';
9
+ import { DatePickerInputBase } from './DatePickerInputBase.js';
10
+
11
+ const DatePickerInput = (props) => {
12
+ const { onChange, value, label, variants } = props;
13
+ const { fieldProps, state, ref } = useDatePickerInput({ value, onChange });
14
+ return /* @__PURE__ */ React.createElement("div", { "data-testid": "date-picker-input" }, /* @__PURE__ */ React.createElement(
15
+ DatePickerInputBase,
16
+ {
17
+ onClickCalendar: () => state.isOpen ? state.close() : state.open(),
18
+ variants: {
19
+ ...variants,
20
+ intent: state.isInvalid ? "error" : variants?.intent
21
+ },
22
+ label
23
+ },
24
+ /* @__PURE__ */ React.createElement("div", { ref }, /* @__PURE__ */ React.createElement(
25
+ DateField,
26
+ {
27
+ ...fieldProps,
28
+ onChange: (value2) => {
29
+ state.setDateValue(value2);
30
+ state.close();
31
+ }
32
+ }
33
+ ))
34
+ ), state.isOpen ? /* @__PURE__ */ React.createElement("div", { className: "absolute" }, /* @__PURE__ */ React.createElement(
35
+ Calendar,
36
+ {
37
+ value,
38
+ onChange: (value2) => {
39
+ state.setDateValue(dateToCalendarDate(value2));
40
+ state.close();
41
+ }
42
+ }
43
+ )) : /* @__PURE__ */ React.createElement(React.Fragment, null));
44
+ };
45
+
46
+ export { DatePickerInput };
@@ -0,0 +1,22 @@
1
+ import { labelStyle, inputBox } from '@tecsinapse/cortex-core';
2
+ import React from 'react';
3
+ import { LiaCalendar } from 'react-icons/lia';
4
+ import { Input } from './Input.js';
5
+
6
+ const DatePickerInputBase = ({
7
+ children,
8
+ variants,
9
+ label,
10
+ onClickCalendar
11
+ }) => {
12
+ return /* @__PURE__ */ React.createElement(Input.Face, { variants, "data-testid": "date-picker-input-base" }, /* @__PURE__ */ React.createElement("span", { className: labelStyle({}) }, label), /* @__PURE__ */ React.createElement("div", { className: inputBox("", label) }, children), /* @__PURE__ */ React.createElement(Input.Right, { className: "" }, /* @__PURE__ */ React.createElement(
13
+ LiaCalendar,
14
+ {
15
+ className: "cursor-pointer mt-centi",
16
+ onClick: onClickCalendar,
17
+ "data-testid": "date-picker-input-base-calendar"
18
+ }
19
+ )));
20
+ };
21
+
22
+ export { DatePickerInputBase };