@basic-ui/dates 0.0.46 → 0.0.49

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.
@@ -1,144 +1,127 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["as", "type", "onFocus", "onBlur", "onChange", "children", "emptyOption"];
5
1
  import { forwardRef, memo } from 'react';
6
2
  import { wrapEvent } from '@basic-ui/core';
7
3
  import { differenceInCalendarMonths, addMonths, getDaysInMonth, setDate } from 'date-fns';
8
4
  import { useInnerFocus, SET_DATE, NAVIGATE } from './hooks';
9
5
  import { useDatePickerContext } from './contexts';
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
12
- import { Fragment as _Fragment } from "react/jsx-runtime";
13
- var MonthYearOptions = /*#__PURE__*/memo(function (_ref) {
14
- var minDate = _ref.minDate,
15
- maxDate = _ref.maxDate,
16
- monthNames = _ref.monthNames,
17
- emptyOption = _ref.emptyOption;
18
- var ret = [/*#__PURE__*/_jsx("option", {
6
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ const MonthYearOptions = /*#__PURE__*/memo(_ref => {
8
+ let {
9
+ minDate,
10
+ maxDate,
11
+ monthNames,
12
+ emptyOption
13
+ } = _ref;
14
+ const ret = [/*#__PURE__*/_jsx("option", {
19
15
  value: "",
20
16
  disabled: true,
21
17
  children: emptyOption
22
18
  }, 'empty')];
23
- var diff = differenceInCalendarMonths(maxDate, minDate);
24
-
25
- for (var i = 0; i <= diff; i++) {
26
- var date = addMonths(minDate, i);
27
- var year = date.getFullYear();
28
- var month = date.getMonth();
29
- ret.push( /*#__PURE__*/_jsxs("option", {
30
- value: "".concat(year, "-").concat(month),
19
+ const diff = differenceInCalendarMonths(maxDate, minDate);
20
+ for (let i = 0; i <= diff; i++) {
21
+ const date = addMonths(minDate, i);
22
+ const year = date.getFullYear();
23
+ const month = date.getMonth();
24
+ ret.push(/*#__PURE__*/_jsxs("option", {
25
+ value: `${year}-${month}`,
31
26
  children: [monthNames[month], " ", year]
32
- }, "".concat(year, "_").concat(month)));
27
+ }, `${year}_${month}`));
33
28
  }
34
-
35
29
  return /*#__PURE__*/_jsx(_Fragment, {
36
30
  children: ret
37
31
  });
38
32
  });
39
- var DayOptions = /*#__PURE__*/memo(function (_ref2) {
40
- var _ref2$date = _ref2.date,
41
- date = _ref2$date === void 0 ? new Date(0) : _ref2$date,
42
- dayNames = _ref2.dayNames,
43
- minDate = _ref2.minDate,
44
- emptyOption = _ref2.emptyOption;
45
-
33
+ const DayOptions = /*#__PURE__*/memo(_ref2 => {
34
+ let {
35
+ date = new Date(0),
36
+ dayNames,
37
+ minDate,
38
+ emptyOption
39
+ } = _ref2;
46
40
  if (!date) {
47
41
  return null;
48
42
  }
49
-
50
- var ret = [/*#__PURE__*/_jsx("option", {
43
+ const ret = [/*#__PURE__*/_jsx("option", {
51
44
  value: "",
52
45
  disabled: true,
53
46
  children: emptyOption
54
47
  }, 'empty')];
55
-
56
- for (var day = 1; day <= getDaysInMonth(date); day++) {
57
- var newDate = setDate(date, day);
58
- ret.push( /*#__PURE__*/_jsxs("option", {
59
- value: "".concat(day),
48
+ for (let day = 1; day <= getDaysInMonth(date); day++) {
49
+ const newDate = setDate(date, day);
50
+ ret.push(/*#__PURE__*/_jsxs("option", {
51
+ value: `${day}`,
60
52
  disabled: newDate.valueOf() < minDate.valueOf(),
61
53
  children: [(newDate.getDay(), dayNames[newDate.getDay()]), " ", day]
62
- }, "day_".concat(day)));
54
+ }, `day_${day}`));
63
55
  }
64
-
65
56
  return /*#__PURE__*/_jsx(_Fragment, {
66
57
  children: ret
67
58
  });
68
59
  });
69
- export var DatePickerSelect = /*#__PURE__*/forwardRef(function DatePicker(_ref3, ref) {
70
- var _ref3$as = _ref3.as,
71
- Comp = _ref3$as === void 0 ? 'select' : _ref3$as,
72
- type = _ref3.type,
73
- onFocus = _ref3.onFocus,
74
- onBlur = _ref3.onBlur,
75
- onChange = _ref3.onChange,
76
- children = _ref3.children,
77
- _ref3$emptyOption = _ref3.emptyOption,
78
- emptyOption = _ref3$emptyOption === void 0 ? '' : _ref3$emptyOption,
79
- rest = _objectWithoutProperties(_ref3, _excluded);
80
-
81
- var _useDatePickerContext = useDatePickerContext(),
82
- minDate = _useDatePickerContext.minDate,
83
- maxDate = _useDatePickerContext.maxDate,
84
- monthNames = _useDatePickerContext.monthNames,
85
- onChangeRef = _useDatePickerContext.onChangeRef,
86
- dayNames = _useDatePickerContext.dayNames,
87
- dispatch = _useDatePickerContext.dispatch,
88
- controlledValueRef = _useDatePickerContext.controlledValueRef,
89
- data = _useDatePickerContext.state;
90
-
91
- var _useInnerFocus = useInnerFocus(),
92
- handleFocus = _useInnerFocus.handleFocus,
93
- handleBlur = _useInnerFocus.handleBlur;
94
-
95
- var stateSelectedDate = data.selectedDate;
96
- var year = data.navigationYear,
97
- month = data.navigationMonth,
98
- day = data.navigationDay;
99
- var selectedDate = controlledValueRef.current !== undefined ? controlledValueRef.current : stateSelectedDate;
100
-
101
- var handleChange = function handleChange(e) {
102
- var nextState = {
103
- year: year,
104
- month: month,
105
- day: day
60
+ export const DatePickerSelect = /*#__PURE__*/forwardRef(function DatePicker(_ref3, ref) {
61
+ let {
62
+ as: Comp = 'select',
63
+ type,
64
+ onFocus,
65
+ onBlur,
66
+ onChange,
67
+ children,
68
+ emptyOption = '',
69
+ ...rest
70
+ } = _ref3;
71
+ const {
72
+ minDate,
73
+ maxDate,
74
+ monthNames,
75
+ onChangeRef,
76
+ dayNames,
77
+ dispatch,
78
+ controlledValueRef,
79
+ state: data
80
+ } = useDatePickerContext();
81
+ const {
82
+ handleFocus,
83
+ handleBlur
84
+ } = useInnerFocus();
85
+ const {
86
+ selectedDate: stateSelectedDate
87
+ } = data;
88
+ let {
89
+ navigationYear: year,
90
+ navigationMonth: month,
91
+ navigationDay: day
92
+ } = data;
93
+ const selectedDate = controlledValueRef.current !== undefined ? controlledValueRef.current : stateSelectedDate;
94
+ const handleChange = e => {
95
+ const nextState = {
96
+ year,
97
+ month,
98
+ day
106
99
  };
107
-
108
100
  switch (type) {
109
101
  case 'month_year':
110
102
  {
111
103
  nextState.year = -1;
112
104
  nextState.month = -1;
113
105
  nextState.day = -1;
114
-
115
106
  if (e.target.value) {
116
- var _e$target$value$split = e.target.value.split('-'),
117
- _e$target$value$split2 = _slicedToArray(_e$target$value$split, 2),
118
- yearStr = _e$target$value$split2[0],
119
- monthStr = _e$target$value$split2[1];
120
-
107
+ const [yearStr, monthStr] = e.target.value.split('-');
121
108
  nextState.year = parseInt(yearStr, 10);
122
109
  nextState.month = parseInt(monthStr, 10);
123
110
  nextState.day = -1;
124
111
  }
125
-
126
- dispatch(_extends({
127
- type: NAVIGATE
128
- }, nextState));
112
+ dispatch({
113
+ type: NAVIGATE,
114
+ ...nextState
115
+ });
129
116
  break;
130
117
  }
131
-
132
118
  case 'day':
133
119
  {
134
120
  nextState.day = -1;
135
-
136
121
  if (e.target.value) {
137
122
  nextState.day = parseInt(e.target.value, 10);
138
123
  }
139
-
140
- var nextDate = undefined;
141
-
124
+ let nextDate = undefined;
142
125
  if (nextState.day !== -1) {
143
126
  if (nextState.year >= 0 && nextState.month >= 0) {
144
127
  nextDate = new Date(Date.UTC(nextState.year, nextState.month, nextState.day));
@@ -146,7 +129,6 @@ export var DatePickerSelect = /*#__PURE__*/forwardRef(function DatePicker(_ref3,
146
129
  nextDate = new Date(Date.UTC(selectedDate.getFullYear(), selectedDate.getMonth(), nextState.day));
147
130
  }
148
131
  }
149
-
150
132
  if (nextDate !== undefined) {
151
133
  onChangeRef.current && onChangeRef.current(nextDate);
152
134
  dispatch({
@@ -154,46 +136,41 @@ export var DatePickerSelect = /*#__PURE__*/forwardRef(function DatePicker(_ref3,
154
136
  selectedDate: nextDate
155
137
  });
156
138
  } else {
157
- dispatch(_extends({
158
- type: NAVIGATE
159
- }, nextState));
139
+ dispatch({
140
+ type: NAVIGATE,
141
+ ...nextState
142
+ });
160
143
  }
161
-
162
144
  break;
163
145
  }
164
146
  }
165
147
  };
166
-
167
148
  if (year < 0 && month < 0 && day <= 0 && selectedDate !== null) {
168
149
  year = selectedDate.getFullYear();
169
150
  month = selectedDate.getMonth();
170
151
  day = selectedDate.getDate();
171
152
  }
172
-
173
- var value = '';
174
- var disabled = false;
175
-
153
+ let value = '';
154
+ let disabled = false;
176
155
  if (type === 'month_year') {
177
156
  if (month >= 0 && year >= 0) {
178
- value = "".concat(year, "-").concat(month);
157
+ value = `${year}-${month}`;
179
158
  }
180
159
  } else if (type === 'day') {
181
160
  disabled = month < 0 || year < 0;
182
-
183
161
  if (day > 0) {
184
- value = "".concat(day);
162
+ value = `${day}`;
185
163
  }
186
164
  }
187
-
188
- return /*#__PURE__*/_jsx(Comp, _extends(_extends({
165
+ return /*#__PURE__*/_jsx(Comp, {
189
166
  ref: ref,
190
167
  onFocus: wrapEvent(onFocus, handleFocus),
191
168
  onBlur: wrapEvent(onBlur, handleBlur),
192
169
  onChange: wrapEvent(onChange, handleChange),
193
170
  value: value,
194
171
  disabled: disabled,
195
- "data-has-selected": value !== '' ? '' : undefined
196
- }, rest), {}, {
172
+ "data-has-selected": value !== '' ? '' : undefined,
173
+ ...rest,
197
174
  children: type === 'month_year' ? /*#__PURE__*/_jsx(MonthYearOptions, {
198
175
  minDate: minDate,
199
176
  maxDate: maxDate,
@@ -205,6 +182,6 @@ export var DatePickerSelect = /*#__PURE__*/forwardRef(function DatePicker(_ref3,
205
182
  minDate: minDate,
206
183
  emptyOption: emptyOption
207
184
  }) : null
208
- }));
185
+ });
209
186
  });
210
187
  //# sourceMappingURL=DatePickerSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerSelect.js","names":["forwardRef","memo","wrapEvent","differenceInCalendarMonths","addMonths","getDaysInMonth","setDate","useInnerFocus","SET_DATE","NAVIGATE","useDatePickerContext","MonthYearOptions","minDate","maxDate","monthNames","emptyOption","ret","diff","i","date","year","getFullYear","month","getMonth","push","DayOptions","Date","dayNames","day","newDate","valueOf","getDay","DatePickerSelect","DatePicker","ref","as","Comp","type","onFocus","onBlur","onChange","children","rest","onChangeRef","dispatch","controlledValueRef","data","state","handleFocus","handleBlur","stateSelectedDate","selectedDate","navigationYear","navigationMonth","navigationDay","current","undefined","handleChange","e","nextState","target","value","split","yearStr","monthStr","parseInt","nextDate","UTC","getDate","disabled"],"sources":["../../../src/DatePicker/DatePickerSelect.tsx"],"sourcesContent":["import type { ChangeEvent, ElementType, SelectHTMLAttributes } from 'react';\nimport { forwardRef, memo } from 'react';\nimport { wrapEvent } from '@basic-ui/core';\nimport {\n differenceInCalendarMonths,\n addMonths,\n getDaysInMonth,\n setDate,\n} from 'date-fns';\n\nimport { useInnerFocus, SET_DATE, NAVIGATE } from './hooks';\nimport type { DayNames, MonthNames } from './dateTypes';\nimport { useDatePickerContext } from './contexts';\n\nexport interface DatePickerSelectProps\n extends SelectHTMLAttributes<HTMLSelectElement> {\n groupType?: 'from' | 'to';\n type: 'month_year' | 'day';\n emptyOption?: string;\n\n as?: ElementType<any>;\n}\n\nconst MonthYearOptions = memo(\n ({\n minDate,\n maxDate,\n monthNames,\n emptyOption,\n }: {\n minDate: Date;\n maxDate: Date;\n monthNames: MonthNames;\n emptyOption: string;\n }) => {\n const ret = [\n <option key={'empty'} value=\"\" disabled>\n {emptyOption}\n </option>,\n ];\n\n const diff = differenceInCalendarMonths(maxDate, minDate);\n for (let i = 0; i <= diff; i++) {\n const date = addMonths(minDate, i);\n const year = date.getFullYear();\n const month = date.getMonth();\n\n ret.push(\n <option key={`${year}_${month}`} value={`${year}-${month}`}>\n {monthNames[month]} {year}\n </option>\n );\n }\n\n return <>{ret}</>;\n }\n);\n\nconst DayOptions = memo(\n ({\n date = new Date(0),\n dayNames,\n minDate,\n emptyOption,\n }: {\n date: Date | undefined;\n dayNames: DayNames;\n minDate: Date;\n emptyOption: string;\n }) => {\n if (!date) {\n return null;\n }\n\n const ret = [\n <option key={'empty'} value=\"\" disabled>\n {emptyOption}\n </option>,\n ];\n\n for (let day = 1; day <= getDaysInMonth(date); day++) {\n const newDate = setDate(date, day);\n ret.push(\n <option\n key={`day_${day}`}\n value={`${day}`}\n disabled={newDate.valueOf() < minDate.valueOf()}\n >\n {(newDate.getDay(), dayNames[newDate.getDay()])} {day}\n </option>\n );\n }\n\n return <>{ret}</>;\n }\n);\n\nexport const DatePickerSelect = forwardRef(function DatePicker(\n {\n as: Comp = 'select',\n type,\n onFocus,\n onBlur,\n onChange,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n children,\n emptyOption = '',\n ...rest\n }: DatePickerSelectProps,\n ref\n) {\n const {\n minDate,\n maxDate,\n monthNames,\n onChangeRef,\n dayNames,\n dispatch,\n controlledValueRef,\n state: data,\n } = useDatePickerContext();\n const { handleFocus, handleBlur } = useInnerFocus();\n\n const { selectedDate: stateSelectedDate } = data;\n let {\n navigationYear: year,\n navigationMonth: month,\n navigationDay: day,\n } = data;\n\n const selectedDate =\n controlledValueRef.current !== undefined\n ? controlledValueRef.current\n : stateSelectedDate;\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n const nextState = {\n year,\n month,\n day,\n };\n\n switch (type) {\n case 'month_year': {\n nextState.year = -1;\n nextState.month = -1;\n nextState.day = -1;\n\n if (e.target.value) {\n const [yearStr, monthStr] = e.target.value.split('-');\n nextState.year = parseInt(yearStr, 10);\n nextState.month = parseInt(monthStr, 10);\n nextState.day = -1;\n }\n\n dispatch({ type: NAVIGATE, ...nextState });\n break;\n }\n case 'day': {\n nextState.day = -1;\n if (e.target.value) {\n nextState.day = parseInt(e.target.value, 10);\n }\n\n let nextDate: Date | undefined = undefined;\n if (nextState.day !== -1) {\n if (nextState.year >= 0 && nextState.month >= 0) {\n nextDate = new Date(\n Date.UTC(nextState.year, nextState.month, nextState.day)\n );\n } else if (selectedDate !== null) {\n nextDate = new Date(\n Date.UTC(\n selectedDate.getFullYear(),\n selectedDate.getMonth(),\n nextState.day\n )\n );\n }\n }\n\n if (nextDate !== undefined) {\n onChangeRef.current && onChangeRef.current(nextDate);\n dispatch({ type: SET_DATE, selectedDate: nextDate });\n } else {\n dispatch({ type: NAVIGATE, ...nextState });\n }\n break;\n }\n }\n };\n\n if (year < 0 && month < 0 && day <= 0 && selectedDate !== null) {\n year = selectedDate.getFullYear();\n month = selectedDate.getMonth();\n day = selectedDate.getDate();\n }\n\n let value = '';\n let disabled = false;\n if (type === 'month_year') {\n if (month >= 0 && year >= 0) {\n value = `${year}-${month}`;\n }\n } else if (type === 'day') {\n disabled = month < 0 || year < 0;\n if (day > 0) {\n value = `${day}`;\n }\n }\n\n return (\n <Comp\n ref={ref}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onChange={wrapEvent(onChange, handleChange)}\n value={value}\n disabled={disabled}\n data-has-selected={value !== '' ? '' : undefined}\n {...rest}\n >\n {type === 'month_year' ? (\n <MonthYearOptions\n minDate={minDate}\n maxDate={maxDate}\n monthNames={monthNames}\n emptyOption={emptyOption}\n />\n ) : type === 'day' ? (\n <DayOptions\n date={\n month >= 0 && year >= 0\n ? new Date(Date.UTC(year, month, 15))\n : undefined\n }\n dayNames={dayNames}\n minDate={minDate}\n emptyOption={emptyOption}\n />\n ) : null}\n </Comp>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerSelect.js","names":["forwardRef","memo","wrapEvent","differenceInCalendarMonths","addMonths","getDaysInMonth","setDate","useInnerFocus","SET_DATE","NAVIGATE","useDatePickerContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MonthYearOptions","_ref","minDate","maxDate","monthNames","emptyOption","ret","value","disabled","children","diff","i","date","year","getFullYear","month","getMonth","push","DayOptions","_ref2","Date","dayNames","day","newDate","valueOf","getDay","DatePickerSelect","DatePicker","_ref3","ref","as","Comp","type","onFocus","onBlur","onChange","rest","onChangeRef","dispatch","controlledValueRef","state","data","handleFocus","handleBlur","selectedDate","stateSelectedDate","navigationYear","navigationMonth","navigationDay","current","undefined","handleChange","e","nextState","target","yearStr","monthStr","split","parseInt","nextDate","UTC","getDate"],"sources":["../../../src/DatePicker/DatePickerSelect.tsx"],"sourcesContent":["import type { ChangeEvent, ElementType, SelectHTMLAttributes } from 'react';\nimport { forwardRef, memo } from 'react';\nimport { wrapEvent } from '@basic-ui/core';\nimport {\n differenceInCalendarMonths,\n addMonths,\n getDaysInMonth,\n setDate,\n} from 'date-fns';\n\nimport { useInnerFocus, SET_DATE, NAVIGATE } from './hooks';\nimport type { DayNames, MonthNames } from './dateTypes';\nimport { useDatePickerContext } from './contexts';\n\nexport interface DatePickerSelectProps\n extends SelectHTMLAttributes<HTMLSelectElement> {\n groupType?: 'from' | 'to';\n type: 'month_year' | 'day';\n emptyOption?: string;\n\n as?: ElementType<any>;\n}\n\nconst MonthYearOptions = memo(\n ({\n minDate,\n maxDate,\n monthNames,\n emptyOption,\n }: {\n minDate: Date;\n maxDate: Date;\n monthNames: MonthNames;\n emptyOption: string;\n }) => {\n const ret = [\n <option key={'empty'} value=\"\" disabled>\n {emptyOption}\n </option>,\n ];\n\n const diff = differenceInCalendarMonths(maxDate, minDate);\n for (let i = 0; i <= diff; i++) {\n const date = addMonths(minDate, i);\n const year = date.getFullYear();\n const month = date.getMonth();\n\n ret.push(\n <option key={`${year}_${month}`} value={`${year}-${month}`}>\n {monthNames[month]} {year}\n </option>\n );\n }\n\n return <>{ret}</>;\n }\n);\n\nconst DayOptions = memo(\n ({\n date = new Date(0),\n dayNames,\n minDate,\n emptyOption,\n }: {\n date: Date | undefined;\n dayNames: DayNames;\n minDate: Date;\n emptyOption: string;\n }) => {\n if (!date) {\n return null;\n }\n\n const ret = [\n <option key={'empty'} value=\"\" disabled>\n {emptyOption}\n </option>,\n ];\n\n for (let day = 1; day <= getDaysInMonth(date); day++) {\n const newDate = setDate(date, day);\n ret.push(\n <option\n key={`day_${day}`}\n value={`${day}`}\n disabled={newDate.valueOf() < minDate.valueOf()}\n >\n {(newDate.getDay(), dayNames[newDate.getDay()])} {day}\n </option>\n );\n }\n\n return <>{ret}</>;\n }\n);\n\nexport const DatePickerSelect = forwardRef(function DatePicker(\n {\n as: Comp = 'select',\n type,\n onFocus,\n onBlur,\n onChange,\n children,\n emptyOption = '',\n ...rest\n }: DatePickerSelectProps,\n ref\n) {\n const {\n minDate,\n maxDate,\n monthNames,\n onChangeRef,\n dayNames,\n dispatch,\n controlledValueRef,\n state: data,\n } = useDatePickerContext();\n const { handleFocus, handleBlur } = useInnerFocus();\n\n const { selectedDate: stateSelectedDate } = data;\n let {\n navigationYear: year,\n navigationMonth: month,\n navigationDay: day,\n } = data;\n\n const selectedDate =\n controlledValueRef.current !== undefined\n ? controlledValueRef.current\n : stateSelectedDate;\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n const nextState = {\n year,\n month,\n day,\n };\n\n switch (type) {\n case 'month_year': {\n nextState.year = -1;\n nextState.month = -1;\n nextState.day = -1;\n\n if (e.target.value) {\n const [yearStr, monthStr] = e.target.value.split('-');\n nextState.year = parseInt(yearStr, 10);\n nextState.month = parseInt(monthStr, 10);\n nextState.day = -1;\n }\n\n dispatch({ type: NAVIGATE, ...nextState });\n break;\n }\n case 'day': {\n nextState.day = -1;\n if (e.target.value) {\n nextState.day = parseInt(e.target.value, 10);\n }\n\n let nextDate: Date | undefined = undefined;\n if (nextState.day !== -1) {\n if (nextState.year >= 0 && nextState.month >= 0) {\n nextDate = new Date(\n Date.UTC(nextState.year, nextState.month, nextState.day)\n );\n } else if (selectedDate !== null) {\n nextDate = new Date(\n Date.UTC(\n selectedDate.getFullYear(),\n selectedDate.getMonth(),\n nextState.day\n )\n );\n }\n }\n\n if (nextDate !== undefined) {\n onChangeRef.current && onChangeRef.current(nextDate);\n dispatch({ type: SET_DATE, selectedDate: nextDate });\n } else {\n dispatch({ type: NAVIGATE, ...nextState });\n }\n break;\n }\n }\n };\n\n if (year < 0 && month < 0 && day <= 0 && selectedDate !== null) {\n year = selectedDate.getFullYear();\n month = selectedDate.getMonth();\n day = selectedDate.getDate();\n }\n\n let value = '';\n let disabled = false;\n if (type === 'month_year') {\n if (month >= 0 && year >= 0) {\n value = `${year}-${month}`;\n }\n } else if (type === 'day') {\n disabled = month < 0 || year < 0;\n if (day > 0) {\n value = `${day}`;\n }\n }\n\n return (\n <Comp\n ref={ref}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onChange={wrapEvent(onChange, handleChange)}\n value={value}\n disabled={disabled}\n data-has-selected={value !== '' ? '' : undefined}\n {...rest}\n >\n {type === 'month_year' ? (\n <MonthYearOptions\n minDate={minDate}\n maxDate={maxDate}\n monthNames={monthNames}\n emptyOption={emptyOption}\n />\n ) : type === 'day' ? (\n <DayOptions\n date={\n month >= 0 && year >= 0\n ? new Date(Date.UTC(year, month, 15))\n : undefined\n }\n dayNames={dayNames}\n minDate={minDate}\n emptyOption={emptyOption}\n />\n ) : null}\n </Comp>\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
2
  import type { MonthNames, DayNames } from './dateTypes';
3
- export declare type RangeDatePickerProps = Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> & {
3
+ export type RangeDatePickerProps = Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> & {
4
4
  as?: ElementType<any>;
5
5
  minDate?: Date;
6
6
  maxDate?: Date;
@@ -14,15 +14,15 @@ export declare type RangeDatePickerProps = Omit<HTMLAttributes<HTMLDivElement>,
14
14
  defaultTo?: Date | null;
15
15
  };
16
16
  export declare const RangeDatePicker: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "onChange"> & {
17
- as?: ElementType<any> | undefined;
18
- minDate?: Date | undefined;
19
- maxDate?: Date | undefined;
17
+ as?: ElementType<any>;
18
+ minDate?: Date;
19
+ maxDate?: Date;
20
20
  dayNames: DayNames;
21
21
  monthNames: MonthNames;
22
- children?: ReactNode[] | undefined;
23
- onChange?: ((from: Date | null, to: Date | null) => void) | undefined;
24
- from?: Date | null | undefined;
25
- to?: Date | null | undefined;
26
- defaultFrom?: Date | null | undefined;
27
- defaultTo?: Date | null | undefined;
22
+ children?: ReactNode[];
23
+ onChange?: (from: Date | null, to: Date | null) => void;
24
+ from?: Date | null;
25
+ to?: Date | null;
26
+ defaultFrom?: Date | null;
27
+ defaultTo?: Date | null;
28
28
  } & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,97 +1,80 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["as", "minDate", "maxDate", "dayNames", "monthNames", "onChange", "from", "to", "defaultFrom", "defaultTo"];
5
1
  import { forwardRef, useRef, useState } from 'react';
6
2
  import { assignMultipleRefs } from '@basic-ui/core';
7
3
  import { adjustDates } from './adjustDates';
8
4
  import { RangeDatePickerProvider } from './contexts';
9
5
  import { jsx as _jsx } from "react/jsx-runtime";
10
- export var RangeDatePicker = /*#__PURE__*/forwardRef(function RangeDatePicker(_ref, ref) {
11
- var _ref$as = _ref.as,
12
- Comp = _ref$as === void 0 ? 'div' : _ref$as,
13
- _ref$minDate = _ref.minDate,
14
- propMinDate = _ref$minDate === void 0 ? new Date(0) : _ref$minDate,
15
- _ref$maxDate = _ref.maxDate,
16
- propMaxDate = _ref$maxDate === void 0 ? new Date() : _ref$maxDate,
17
- dayNames = _ref.dayNames,
18
- monthNames = _ref.monthNames,
19
- onChange = _ref.onChange,
20
- controlledFrom = _ref.from,
21
- controlledTo = _ref.to,
22
- defaultFrom = _ref.defaultFrom,
23
- defaultTo = _ref.defaultTo,
24
- rest = _objectWithoutProperties(_ref, _excluded);
25
-
26
- var isControlled = controlledFrom !== undefined && controlledTo !== undefined;
27
- var minDate = propMinDate,
28
- maxDate = propMaxDate;
29
- var rangeDatePickerRef = useRef(null);
30
-
31
- var _useState = useState({
6
+ export const RangeDatePicker = /*#__PURE__*/forwardRef(function RangeDatePicker(_ref, ref) {
7
+ let {
8
+ as: Comp = 'div',
9
+ minDate: propMinDate = new Date(0),
10
+ maxDate: propMaxDate = new Date(),
11
+ dayNames,
12
+ monthNames,
13
+ onChange,
14
+ from: controlledFrom,
15
+ to: controlledTo,
16
+ defaultFrom,
17
+ defaultTo,
18
+ ...rest
19
+ } = _ref;
20
+ const isControlled = controlledFrom !== undefined && controlledTo !== undefined;
21
+ const minDate = propMinDate,
22
+ maxDate = propMaxDate;
23
+ const rangeDatePickerRef = useRef(null);
24
+ const [{
25
+ from: stateFrom,
26
+ to: stateTo
27
+ }, setDates] = useState({
32
28
  from: defaultFrom || null,
33
29
  to: defaultTo || null
34
- }),
35
- _useState2 = _slicedToArray(_useState, 2),
36
- _useState2$ = _useState2[0],
37
- stateFrom = _useState2$.from,
38
- stateTo = _useState2$.to,
39
- setDates = _useState2[1];
40
-
41
- var _useState3 = useState(false),
42
- _useState4 = _slicedToArray(_useState3, 2),
43
- innerHasFocus = _useState4[0],
44
- setInnerHasFocus = _useState4[1];
45
-
46
- var onChangeFrom = function onChangeFrom(from) {
47
- var to = stateTo;
48
-
49
- var _adjustDates = adjustDates(from, to, 'from'),
50
- nextFrom = _adjustDates.from,
51
- nextTo = _adjustDates.to;
52
-
30
+ });
31
+ const [innerHasFocus, setInnerHasFocus] = useState(false);
32
+ const onChangeFrom = from => {
33
+ const to = stateTo;
34
+ const {
35
+ from: nextFrom,
36
+ to: nextTo
37
+ } = adjustDates(from, to, 'from');
53
38
  onChange && onChange(nextFrom, nextTo);
54
39
  setDates({
55
40
  from: nextFrom,
56
41
  to: nextTo
57
42
  });
58
43
  };
59
-
60
- var onChangeTo = function onChangeTo(to) {
61
- var from = stateFrom;
62
-
63
- var _adjustDates2 = adjustDates(from, to, 'to'),
64
- nextFrom = _adjustDates2.from,
65
- nextTo = _adjustDates2.to;
66
-
44
+ const onChangeTo = to => {
45
+ const from = stateFrom;
46
+ const {
47
+ from: nextFrom,
48
+ to: nextTo
49
+ } = adjustDates(from, to, 'to');
67
50
  onChange && onChange(nextFrom, nextTo);
68
51
  setDates({
69
52
  from: nextFrom,
70
53
  to: nextTo
71
54
  });
72
55
  };
73
-
74
- var from = isControlled ? controlledFrom : stateFrom;
75
- var to = isControlled ? controlledTo : stateTo;
76
- var contextValue = {
77
- rangeDatePickerRef: rangeDatePickerRef,
78
- innerHasFocus: innerHasFocus,
79
- setInnerHasFocus: setInnerHasFocus,
80
- minDate: minDate,
81
- maxDate: maxDate,
82
- from: from,
83
- to: to,
84
- dayNames: dayNames,
85
- monthNames: monthNames,
86
- onChangeFrom: onChangeFrom,
87
- onChangeTo: onChangeTo
56
+ const from = isControlled ? controlledFrom : stateFrom;
57
+ const to = isControlled ? controlledTo : stateTo;
58
+ const contextValue = {
59
+ rangeDatePickerRef,
60
+ innerHasFocus,
61
+ setInnerHasFocus,
62
+ minDate,
63
+ maxDate,
64
+ from,
65
+ to,
66
+ dayNames,
67
+ monthNames,
68
+ onChangeFrom,
69
+ onChangeTo
88
70
  };
89
71
  return /*#__PURE__*/_jsx(RangeDatePickerProvider, {
90
72
  value: contextValue,
91
- children: /*#__PURE__*/_jsx(Comp, _extends({
73
+ children: /*#__PURE__*/_jsx(Comp, {
92
74
  ref: assignMultipleRefs(ref, rangeDatePickerRef),
93
- "data-has-focus": innerHasFocus ? '' : undefined
94
- }, rest))
75
+ "data-has-focus": innerHasFocus ? '' : undefined,
76
+ ...rest
77
+ })
95
78
  });
96
79
  });
97
80
  //# sourceMappingURL=RangeDatePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangeDatePicker.js","names":["forwardRef","useRef","useState","assignMultipleRefs","adjustDates","RangeDatePickerProvider","RangeDatePicker","ref","as","Comp","minDate","propMinDate","Date","maxDate","propMaxDate","dayNames","monthNames","onChange","controlledFrom","from","controlledTo","to","defaultFrom","defaultTo","rest","isControlled","undefined","rangeDatePickerRef","stateFrom","stateTo","setDates","innerHasFocus","setInnerHasFocus","onChangeFrom","nextFrom","nextTo","onChangeTo","contextValue"],"sources":["../../../src/DatePicker/RangeDatePicker.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\nimport { forwardRef, useRef, useState } from 'react';\nimport { assignMultipleRefs } from '@basic-ui/core';\n\nimport type { MonthNames, DayNames } from './dateTypes';\nimport { adjustDates } from './adjustDates';\nimport type { RangeDatePickerContextProps } from './contexts';\nimport { RangeDatePickerProvider } from './contexts';\n\nexport type RangeDatePickerProps = Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onChange'\n> & {\n as?: ElementType<any>;\n minDate?: Date;\n maxDate?: Date;\n dayNames: DayNames;\n monthNames: MonthNames;\n children?: ReactNode[];\n onChange?: (from: Date | null, to: Date | null) => void;\n from?: Date | null;\n to?: Date | null;\n defaultFrom?: Date | null;\n defaultTo?: Date | null;\n};\n\nexport const RangeDatePicker = forwardRef<HTMLDivElement, RangeDatePickerProps>(\n function RangeDatePicker(\n {\n as: Comp = 'div',\n minDate: propMinDate = new Date(0),\n maxDate: propMaxDate = new Date(),\n dayNames,\n monthNames,\n onChange,\n from: controlledFrom,\n to: controlledTo,\n defaultFrom,\n defaultTo,\n ...rest\n },\n ref\n ) {\n const isControlled =\n controlledFrom !== undefined && controlledTo !== undefined;\n\n const minDate = propMinDate,\n maxDate = propMaxDate;\n\n const rangeDatePickerRef = useRef<HTMLDivElement | null>(null);\n const [{ from: stateFrom, to: stateTo }, setDates] = useState({\n from: (defaultFrom || null) as Date | null,\n to: (defaultTo || null) as Date | null,\n });\n const [innerHasFocus, setInnerHasFocus] = useState(false);\n\n const onChangeFrom = (from: Date | null) => {\n const to = stateTo;\n const { from: nextFrom, to: nextTo } = adjustDates(from, to, 'from');\n\n onChange && onChange(nextFrom, nextTo);\n setDates({ from: nextFrom, to: nextTo });\n };\n\n const onChangeTo = (to: Date | null) => {\n const from = stateFrom;\n const { from: nextFrom, to: nextTo } = adjustDates(from, to, 'to');\n\n onChange && onChange(nextFrom, nextTo);\n setDates({ from: nextFrom, to: nextTo });\n };\n\n const from = isControlled ? controlledFrom : stateFrom;\n const to = isControlled ? controlledTo : stateTo;\n\n const contextValue: RangeDatePickerContextProps = {\n rangeDatePickerRef,\n innerHasFocus,\n setInnerHasFocus,\n minDate,\n maxDate,\n from,\n to,\n dayNames,\n monthNames,\n onChangeFrom,\n onChangeTo,\n };\n\n return (\n <RangeDatePickerProvider value={contextValue}>\n <Comp\n ref={assignMultipleRefs(ref, rangeDatePickerRef)}\n data-has-focus={innerHasFocus ? '' : undefined}\n {...rest}\n />\n </RangeDatePickerProvider>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"RangeDatePicker.js","names":["forwardRef","useRef","useState","assignMultipleRefs","adjustDates","RangeDatePickerProvider","jsx","_jsx","RangeDatePicker","_ref","ref","as","Comp","minDate","propMinDate","Date","maxDate","propMaxDate","dayNames","monthNames","onChange","from","controlledFrom","to","controlledTo","defaultFrom","defaultTo","rest","isControlled","undefined","rangeDatePickerRef","stateFrom","stateTo","setDates","innerHasFocus","setInnerHasFocus","onChangeFrom","nextFrom","nextTo","onChangeTo","contextValue","value","children"],"sources":["../../../src/DatePicker/RangeDatePicker.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes, ReactNode } from 'react';\nimport { forwardRef, useRef, useState } from 'react';\nimport { assignMultipleRefs } from '@basic-ui/core';\n\nimport type { MonthNames, DayNames } from './dateTypes';\nimport { adjustDates } from './adjustDates';\nimport type { RangeDatePickerContextProps } from './contexts';\nimport { RangeDatePickerProvider } from './contexts';\n\nexport type RangeDatePickerProps = Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onChange'\n> & {\n as?: ElementType<any>;\n minDate?: Date;\n maxDate?: Date;\n dayNames: DayNames;\n monthNames: MonthNames;\n children?: ReactNode[];\n onChange?: (from: Date | null, to: Date | null) => void;\n from?: Date | null;\n to?: Date | null;\n defaultFrom?: Date | null;\n defaultTo?: Date | null;\n};\n\nexport const RangeDatePicker = forwardRef<HTMLDivElement, RangeDatePickerProps>(\n function RangeDatePicker(\n {\n as: Comp = 'div',\n minDate: propMinDate = new Date(0),\n maxDate: propMaxDate = new Date(),\n dayNames,\n monthNames,\n onChange,\n from: controlledFrom,\n to: controlledTo,\n defaultFrom,\n defaultTo,\n ...rest\n },\n ref\n ) {\n const isControlled =\n controlledFrom !== undefined && controlledTo !== undefined;\n\n const minDate = propMinDate,\n maxDate = propMaxDate;\n\n const rangeDatePickerRef = useRef<HTMLDivElement | null>(null);\n const [{ from: stateFrom, to: stateTo }, setDates] = useState({\n from: (defaultFrom || null) as Date | null,\n to: (defaultTo || null) as Date | null,\n });\n const [innerHasFocus, setInnerHasFocus] = useState(false);\n\n const onChangeFrom = (from: Date | null) => {\n const to = stateTo;\n const { from: nextFrom, to: nextTo } = adjustDates(from, to, 'from');\n\n onChange && onChange(nextFrom, nextTo);\n setDates({ from: nextFrom, to: nextTo });\n };\n\n const onChangeTo = (to: Date | null) => {\n const from = stateFrom;\n const { from: nextFrom, to: nextTo } = adjustDates(from, to, 'to');\n\n onChange && onChange(nextFrom, nextTo);\n setDates({ from: nextFrom, to: nextTo });\n };\n\n const from = isControlled ? controlledFrom : stateFrom;\n const to = isControlled ? controlledTo : stateTo;\n\n const contextValue: RangeDatePickerContextProps = {\n rangeDatePickerRef,\n innerHasFocus,\n setInnerHasFocus,\n minDate,\n maxDate,\n from,\n to,\n dayNames,\n monthNames,\n onChangeFrom,\n onChangeTo,\n };\n\n return (\n <RangeDatePickerProvider value={contextValue}>\n <Comp\n ref={assignMultipleRefs(ref, rangeDatePickerRef)}\n data-has-focus={innerHasFocus ? '' : undefined}\n {...rest}\n />\n </RangeDatePickerProvider>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,9 @@ export function adjustDates(from, to, frozenParam) {
9
9
  }
10
10
  }
11
11
  }
12
-
13
12
  return {
14
- from: from,
15
- to: to
13
+ from,
14
+ to
16
15
  };
17
16
  }
18
17
  //# sourceMappingURL=adjustDates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adjustDates.js","names":["addDays","isValid","differenceInDays","adjustDates","from","to","frozenParam"],"sources":["../../../src/DatePicker/adjustDates.ts"],"sourcesContent":["import { addDays, isValid, differenceInDays } from 'date-fns';\n\nexport function adjustDates(\n from: Date | null,\n to: Date | null,\n frozenParam: 'from' | 'to'\n) {\n if (to && isValid(to) && from && isValid(from)) {\n if (differenceInDays(to, from) < 1) {\n if (frozenParam === 'from') {\n to = addDays(from, 1); // add one day\n } else {\n from = addDays(from, -1); // remove one day\n }\n }\n }\n\n return { from, to };\n}\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,OAAlB,EAA2BC,gBAA3B,QAAmD,UAAnD;AAEA,OAAO,SAASC,WAAT,CACLC,IADK,EAELC,EAFK,EAGLC,WAHK,EAIL;EACA,IAAID,EAAE,IAAIJ,OAAO,CAACI,EAAD,CAAb,IAAqBD,IAArB,IAA6BH,OAAO,CAACG,IAAD,CAAxC,EAAgD;IAC9C,IAAIF,gBAAgB,CAACG,EAAD,EAAKD,IAAL,CAAhB,GAA6B,CAAjC,EAAoC;MAClC,IAAIE,WAAW,KAAK,MAApB,EAA4B;QAC1BD,EAAE,GAAGL,OAAO,CAACI,IAAD,EAAO,CAAP,CAAZ,CAD0B,CACH;MACxB,CAFD,MAEO;QACLA,IAAI,GAAGJ,OAAO,CAACI,IAAD,EAAO,CAAC,CAAR,CAAd,CADK,CACqB;MAC3B;IACF;EACF;;EAED,OAAO;IAAEA,IAAI,EAAJA,IAAF;IAAQC,EAAE,EAAFA;EAAR,CAAP;AACD"}
1
+ {"version":3,"file":"adjustDates.js","names":["addDays","isValid","differenceInDays","adjustDates","from","to","frozenParam"],"sources":["../../../src/DatePicker/adjustDates.ts"],"sourcesContent":["import { addDays, isValid, differenceInDays } from 'date-fns';\n\nexport function adjustDates(\n from: Date | null,\n to: Date | null,\n frozenParam: 'from' | 'to'\n) {\n if (to && isValid(to) && from && isValid(from)) {\n if (differenceInDays(to, from) < 1) {\n if (frozenParam === 'from') {\n to = addDays(from, 1); // add one day\n } else {\n from = addDays(from, -1); // remove one day\n }\n }\n }\n\n return { from, to };\n}\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,OAAO,EAAEC,gBAAgB,QAAQ,UAAU;AAE7D,OAAO,SAASC,WAAWA,CACzBC,IAAiB,EACjBC,EAAe,EACfC,WAA0B,EAC1B;EACA,IAAID,EAAE,IAAIJ,OAAO,CAACI,EAAE,CAAC,IAAID,IAAI,IAAIH,OAAO,CAACG,IAAI,CAAC,EAAE;IAC9C,IAAIF,gBAAgB,CAACG,EAAE,EAAED,IAAI,CAAC,GAAG,CAAC,EAAE;MAClC,IAAIE,WAAW,KAAK,MAAM,EAAE;QAC1BD,EAAE,GAAGL,OAAO,CAACI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;MACzB,CAAC,MAAM;QACLA,IAAI,GAAGJ,OAAO,CAACI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5B;IACF;EACF;EAEA,OAAO;IAAEA,IAAI;IAAEC;EAAG,CAAC;AACrB","ignoreList":[]}