@algolia/satellite 1.0.0-beta.140 → 1.0.0-beta.141
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/cjs/AutoComplete/AutoComplete.d.ts +1 -0
- package/cjs/AutoComplete/AutoComplete.js +49 -40
- package/cjs/Badge/Badge.d.ts +2 -2
- package/cjs/Banners/Alert/Alert.d.ts +2 -2
- package/cjs/Banners/Promote/Promote.js +1 -0
- package/cjs/Button/ButtonGroup.d.ts +4 -0
- package/cjs/Button/types.d.ts +2 -2
- package/cjs/Card/Card.d.ts +6 -0
- package/cjs/Card/Card.js +16 -11
- package/cjs/Checkbox/Checkbox.d.ts +2 -2
- package/cjs/ClickAwayContainer/ClickAwayContainer.d.ts +1 -1
- package/cjs/ClickAwayContainer/ClickAwayContainer.js +1 -1
- package/cjs/DatePicker/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker/DatePicker.js +4 -2
- package/cjs/DatePicker/DatePicker.tailwind.js +81 -23
- package/cjs/DatePicker/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/cjs/DatePicker/DateRangePicker/DateRangePicker.js +47 -30
- package/cjs/DatePicker/DateRangePicker/dateRangePickerReducer.d.ts +2 -2
- package/cjs/DatePicker/components/Calendar.d.ts +3 -3
- package/cjs/DatePicker/components/Calendar.js +31 -48
- package/cjs/DatePicker/components/NavBar.d.ts +3 -9
- package/cjs/DatePicker/components/NavBar.js +82 -39
- package/cjs/DatePicker/types.d.ts +13 -0
- package/cjs/DatePicker/utils.d.ts +7 -0
- package/cjs/DatePicker/utils.js +29 -1
- package/cjs/Dropdown/components/DropdownButtonItem.d.ts +1 -1
- package/cjs/Dropdown/components/DropdownButtonItem.js +1 -1
- package/cjs/Input/Input.js +1 -1
- package/cjs/Link/Link.js +2 -2
- package/cjs/Modal/Modal.js +2 -0
- package/cjs/Tooltip/TooltipWrapper.js +4 -4
- package/cjs/styles/base.tailwind.js +7 -2
- package/esm/AutoComplete/AutoComplete.d.ts +1 -0
- package/esm/AutoComplete/AutoComplete.js +49 -40
- package/esm/Badge/Badge.d.ts +2 -2
- package/esm/Banners/Alert/Alert.d.ts +2 -2
- package/esm/Banners/Promote/Promote.js +1 -0
- package/esm/Button/ButtonGroup.d.ts +4 -0
- package/esm/Button/types.d.ts +2 -2
- package/esm/Card/Card.d.ts +6 -0
- package/esm/Card/Card.js +16 -12
- package/esm/Checkbox/Checkbox.d.ts +2 -2
- package/esm/ClickAwayContainer/ClickAwayContainer.d.ts +1 -1
- package/esm/ClickAwayContainer/ClickAwayContainer.js +1 -1
- package/esm/DatePicker/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker/DatePicker.js +4 -2
- package/esm/DatePicker/DatePicker.tailwind.js +81 -23
- package/esm/DatePicker/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/esm/DatePicker/DateRangePicker/DateRangePicker.js +46 -29
- package/esm/DatePicker/DateRangePicker/dateRangePickerReducer.d.ts +2 -2
- package/esm/DatePicker/components/Calendar.d.ts +3 -3
- package/esm/DatePicker/components/Calendar.js +31 -47
- package/esm/DatePicker/components/NavBar.d.ts +3 -9
- package/esm/DatePicker/components/NavBar.js +78 -37
- package/esm/DatePicker/types.d.ts +13 -0
- package/esm/DatePicker/utils.d.ts +7 -0
- package/esm/DatePicker/utils.js +20 -1
- package/esm/Dropdown/components/DropdownButtonItem.d.ts +1 -1
- package/esm/Dropdown/components/DropdownButtonItem.js +1 -1
- package/esm/Input/Input.js +1 -1
- package/esm/Link/Link.js +2 -2
- package/esm/Modal/Modal.js +2 -0
- package/esm/Tooltip/TooltipWrapper.js +4 -4
- package/esm/styles/base.tailwind.js +7 -2
- package/package.json +3 -3
- package/satellite.min.css +2 -2
@@ -59,10 +59,10 @@ var DEFAULT_DATE_RANGE_PICKER_LOCALE = _objectSpread(_objectSpread({}, _utils.DE
|
|
59
59
|
});
|
60
60
|
|
61
61
|
var DateRangePicker = function DateRangePicker(_ref2) {
|
62
|
-
var _validate, _displayedRange$start
|
62
|
+
var _validate, _displayedRange$start;
|
63
63
|
|
64
64
|
var id = _ref2.id,
|
65
|
-
|
65
|
+
initialRange = _ref2.range,
|
66
66
|
displayOnlyRanges = _ref2.displayOnlyRanges,
|
67
67
|
_ref2$calendarProps = _ref2.calendarProps,
|
68
68
|
calendarProps = _ref2$calendarProps === void 0 ? {} : _ref2$calendarProps,
|
@@ -98,10 +98,12 @@ var DateRangePicker = function DateRangePicker(_ref2) {
|
|
98
98
|
|
99
99
|
|
100
100
|
var isValid = !((_validate = validate(state)) !== null && _validate !== void 0 && _validate.length);
|
101
|
-
var displayedRange = (0,
|
102
|
-
|
103
|
-
|
104
|
-
|
101
|
+
var displayedRange = (0, _react.useMemo)(function () {
|
102
|
+
return (0, _dateRangePickerTimeRange.isEmptyTimeRange)(state.candidateRange) ? initialRange !== null && initialRange !== void 0 ? initialRange : {
|
103
|
+
start: null,
|
104
|
+
end: null
|
105
|
+
} : state.candidateRange;
|
106
|
+
}, [initialRange, state.candidateRange]); // Event handlers
|
105
107
|
|
106
108
|
var dispatch = function dispatch(action) {
|
107
109
|
onAction === null || onAction === void 0 ? void 0 : onAction(action, state);
|
@@ -162,40 +164,54 @@ var DateRangePicker = function DateRangePicker(_ref2) {
|
|
162
164
|
}
|
163
165
|
};
|
164
166
|
|
165
|
-
var selectedDays =
|
167
|
+
var selectedDays = displayedRange.start && displayedRange.end ? {
|
166
168
|
from: displayedRange.start,
|
167
169
|
to: displayedRange.end
|
168
170
|
} : displayedRange.start && state.hovered ? {
|
169
171
|
from: displayedRange.start,
|
170
172
|
to: state.hovered
|
171
|
-
} : (_displayedRange$start = displayedRange.start) !== null && _displayedRange$start !== void 0 ? _displayedRange$start : undefined
|
172
|
-
var modifiers = {
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
173
|
+
} : (_displayedRange$start = displayedRange.start) !== null && _displayedRange$start !== void 0 ? _displayedRange$start : undefined;
|
174
|
+
var modifiers = {};
|
175
|
+
|
176
|
+
if (displayedRange.start) {
|
177
|
+
modifiers.start = [displayedRange.start];
|
178
|
+
}
|
179
|
+
|
180
|
+
if (displayedRange.end) {
|
181
|
+
modifiers.end = [displayedRange.end];
|
182
|
+
}
|
183
|
+
|
184
|
+
if (state.hovered) {
|
185
|
+
modifiers.hoveredTo = [state.hovered];
|
186
|
+
}
|
187
|
+
|
188
|
+
if (displayOnlyRanges) {
|
189
|
+
modifiers.displayedRanges = displayOnlyRanges.filter(function (range) {
|
190
|
+
return typeof range !== "undefined" && range.start instanceof Date && range.end instanceof Date;
|
191
|
+
}).map(function (range) {
|
192
|
+
return {
|
177
193
|
from: range.start,
|
178
194
|
to: range.end
|
179
195
|
};
|
180
|
-
})
|
181
|
-
displayedRangesStart
|
182
|
-
|
183
|
-
|
184
|
-
return
|
185
|
-
})
|
186
|
-
displayedRangesEnd
|
187
|
-
|
188
|
-
|
189
|
-
return
|
190
|
-
})
|
191
|
-
|
192
|
-
|
196
|
+
});
|
197
|
+
modifiers.displayedRangesStart = displayOnlyRanges.filter(function (range) {
|
198
|
+
return typeof range !== "undefined" && range.start instanceof Date;
|
199
|
+
}).map(function (range) {
|
200
|
+
return range.start;
|
201
|
+
});
|
202
|
+
modifiers.displayedRangesEnd = displayOnlyRanges.filter(function (range) {
|
203
|
+
return typeof range !== "undefined" && range.end instanceof Date;
|
204
|
+
}).map(function (range) {
|
205
|
+
return range.end;
|
206
|
+
});
|
207
|
+
}
|
208
|
+
|
193
209
|
var yearProps = (0, _react.useMemo)(function () {
|
194
|
-
var _ref3, _displayedRange$
|
210
|
+
var _ref3, _displayedRange$start2;
|
195
211
|
|
196
212
|
return props.editableYear ? {
|
197
213
|
editableYear: true,
|
198
|
-
initialDate: (_ref3 = (_displayedRange$
|
214
|
+
initialDate: (_ref3 = (_displayedRange$start2 = displayedRange.start) !== null && _displayedRange$start2 !== void 0 ? _displayedRange$start2 : displayedRange.end) !== null && _ref3 !== void 0 ? _ref3 : undefined,
|
199
215
|
years: props.years
|
200
216
|
} : {
|
201
217
|
editableYear: false
|
@@ -212,7 +228,7 @@ var DateRangePicker = function DateRangePicker(_ref2) {
|
|
212
228
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateRangePickerDisplay["default"], {
|
213
229
|
id: id,
|
214
230
|
onClick: state.show ? handleClose : handleOpen,
|
215
|
-
range:
|
231
|
+
range: initialRange !== null && initialRange !== void 0 ? initialRange : {
|
216
232
|
start: null,
|
217
233
|
end: null
|
218
234
|
},
|
@@ -236,9 +252,10 @@ var DateRangePicker = function DateRangePicker(_ref2) {
|
|
236
252
|
className: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["flex"]))),
|
237
253
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
238
254
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar["default"], _objectSpread(_objectSpread(_objectSpread({
|
255
|
+
mode: "default",
|
239
256
|
numberOfMonths: 2
|
240
257
|
}, calendarProps), {}, {
|
241
|
-
|
258
|
+
selected: selectedDays,
|
242
259
|
modifiers: modifiers,
|
243
260
|
onDayClick: handleDayClick,
|
244
261
|
onDayMouseEnter: handleMouseEnter,
|
@@ -26,13 +26,13 @@ export interface DateRangePickerMouseEnterAction {
|
|
26
26
|
type: DateRangePickerActionTypes.mouseDayEnter;
|
27
27
|
payload: Date;
|
28
28
|
meta: {
|
29
|
-
event: MouseEvent
|
29
|
+
event: MouseEvent;
|
30
30
|
};
|
31
31
|
}
|
32
32
|
export interface DateRangePickerMouseLeaveAction {
|
33
33
|
type: DateRangePickerActionTypes.mouseDayLeave;
|
34
34
|
meta: {
|
35
|
-
event: MouseEvent
|
35
|
+
event: MouseEvent;
|
36
36
|
};
|
37
37
|
}
|
38
38
|
export interface DateRangePickerApplyAction {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { FunctionComponent } from "react";
|
2
|
-
import {
|
2
|
+
import { DayPickerDefaultProps, DayPickerRangeProps, DayPickerSingleProps } from "react-day-picker";
|
3
3
|
import type { WithRequiredProperty } from "../../types";
|
4
4
|
import type { DatePickerLocale } from "../types";
|
5
|
-
declare type ExcludedDayPickerProps = "captionElement" | "showOutsideDays" | "enableOutsideDaysClick" | "fixedWeeks" | "labels" | "navbarElement" | "onTodayButtonClick" | "pagedNavigation" | "renderDay" | "renderWeek" | "reverseMonths" | "
|
5
|
+
declare type ExcludedDayPickerProps = "captionElement" | "showOutsideDays" | "enableOutsideDaysClick" | "fixedWeeks" | "labels" | "navbarElement" | "onTodayButtonClick" | "pagedNavigation" | "renderDay" | "renderWeek" | "reverseMonths" | "showWeekNumber" | "showWeekDays" | "weekdayElement" | "weekdaysLong" | "weekdaysShort";
|
6
6
|
export declare type EditableYearProps = {
|
7
7
|
editableYear?: false;
|
8
8
|
} | {
|
@@ -10,7 +10,7 @@ export declare type EditableYearProps = {
|
|
10
10
|
years?: number[];
|
11
11
|
initialDate?: Date;
|
12
12
|
};
|
13
|
-
export declare type CalendarProps = Omit<Omit<
|
13
|
+
export declare type CalendarProps = Omit<Omit<DayPickerSingleProps | DayPickerRangeProps | DayPickerDefaultProps, "locale">, ExcludedDayPickerProps> & EditableYearProps & {
|
14
14
|
locale: WithRequiredProperty<DatePickerLocale, "nextMonth" | "previousMonth">;
|
15
15
|
};
|
16
16
|
declare const Calendar: FunctionComponent<CalendarProps>;
|
@@ -11,11 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
11
11
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
13
|
|
14
|
-
var
|
14
|
+
var _reactDayPicker = require("react-day-picker");
|
15
15
|
|
16
|
-
var
|
17
|
-
|
18
|
-
var _reactDayPicker = _interopRequireDefault(require("react-day-picker"));
|
16
|
+
var _utils = require("../utils");
|
19
17
|
|
20
18
|
var _NavBar = _interopRequireDefault(require("./NavBar"));
|
21
19
|
|
@@ -25,33 +23,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
25
23
|
|
26
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
27
25
|
|
28
|
-
var excludedDayPickerPropsList = ["captionElement", "showOutsideDays", "enableOutsideDaysClick", "fixedWeeks", "labels", "navbarElement", "onTodayButtonClick", "pagedNavigation", "renderDay", "renderWeek", "reverseMonths", "
|
26
|
+
var excludedDayPickerPropsList = ["captionElement", "showOutsideDays", "enableOutsideDaysClick", "fixedWeeks", "labels", "navbarElement", "onTodayButtonClick", "pagedNavigation", "renderDay", "renderWeek", "reverseMonths", "showWeekNumber", "showWeekDays", "weekdayElement", "weekdaysLong", "weekdaysShort"];
|
29
27
|
|
30
28
|
var Calendar = function Calendar(props) {
|
31
|
-
var initialDate = (0, _react.useMemo)(function () {
|
32
|
-
return props.editableYear && props.initialDate ? props.initialDate : new Date();
|
33
|
-
}, [props]);
|
34
|
-
|
35
|
-
var _useState = (0, _react.useState)(initialDate),
|
36
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
37
|
-
month = _useState2[0],
|
38
|
-
setMonth = _useState2[1];
|
39
|
-
|
40
|
-
var years = (0, _react.useMemo)(function () {
|
41
|
-
if (!props.editableYear) return [];
|
42
|
-
if (props.years) return props.years;
|
43
|
-
return (0, _dateFns.eachYearOfInterval)({
|
44
|
-
start: (0, _dateFns.add)(initialDate, {
|
45
|
-
years: -5
|
46
|
-
}),
|
47
|
-
end: (0, _dateFns.add)(initialDate, {
|
48
|
-
years: 10
|
49
|
-
})
|
50
|
-
}).map(_dateFns.getYear);
|
51
|
-
}, [props, initialDate]);
|
52
|
-
var onYearChange = (0, _react.useCallback)(function (year) {
|
53
|
-
return setMonth((0, _dateFns.setYear)(month, year));
|
54
|
-
}, [month]);
|
55
29
|
var curatedProps = Object.fromEntries(Object.entries(props).filter(function (_ref) {
|
56
30
|
var _ref2 = (0, _slicedToArray2["default"])(_ref, 1),
|
57
31
|
key = _ref2[0];
|
@@ -60,27 +34,36 @@ var Calendar = function Calendar(props) {
|
|
60
34
|
!excludedDayPickerPropsList.includes(key)
|
61
35
|
);
|
62
36
|
}));
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
37
|
+
/**
|
38
|
+
* modifierClassNames applies the object value (className) to the key (modifier). These classNames are
|
39
|
+
* defined / modified in the DatePicker.tailwind.js file.
|
40
|
+
*/
|
41
|
+
|
42
|
+
var modifierClassNames = {
|
43
|
+
start: "rdp-day_range_start",
|
44
|
+
end: "rdp-day_range_end",
|
45
|
+
displayedRanges: "rdp-day_displayedRanges",
|
46
|
+
//stl`bg-grey-200 rounded-none border-0`,
|
47
|
+
displayedRangesStart: "rdp-day_displayedRangesStart",
|
48
|
+
//stl`bg-grey-600 text-white rounded-l border-0`,
|
49
|
+
displayedRangesEnd: "rdp-day_displayedRangesEnd" //stl`bg-grey-600 text-white rounded-r border-0`,
|
50
|
+
|
51
|
+
}; // This could be expanded further to incorporate expanding the number system as well as the text:
|
52
|
+
// https://react-day-picker.js.org/basics/localization#adopting-other-numbering-systems
|
53
|
+
|
54
|
+
var dateFnsLocale = (0, _utils.getDateFnsLocale)(props.locale.code);
|
55
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactDayPicker.DayPicker, _objectSpread(_objectSpread({
|
56
|
+
mode: props.mode
|
57
|
+
}, curatedProps), {}, {
|
58
|
+
locale: dateFnsLocale,
|
59
|
+
dir: props.locale.rtl ? "rtl" : "ltr",
|
60
|
+
modifiersClassNames: modifierClassNames,
|
74
61
|
showOutsideDays: false,
|
75
|
-
enableOutsideDaysClick: false,
|
76
62
|
fixedWeeks: false,
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
}
|
81
|
-
},
|
82
|
-
captionElement: function captionElement() {
|
83
|
-
return null;
|
63
|
+
components: {
|
64
|
+
Caption: function Caption(captionProps) {
|
65
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavBar["default"], _objectSpread(_objectSpread({}, captionProps), props));
|
66
|
+
}
|
84
67
|
}
|
85
68
|
}));
|
86
69
|
};
|
@@ -1,15 +1,9 @@
|
|
1
1
|
import type { FunctionComponent } from "react";
|
2
|
-
import
|
2
|
+
import { CaptionProps } from "react-day-picker";
|
3
3
|
import type { WithRequiredProperty } from "../../types";
|
4
4
|
import type { DatePickerLocale } from "../types";
|
5
|
-
|
6
|
-
|
7
|
-
} | {
|
8
|
-
editableYear: true;
|
9
|
-
years: number[];
|
10
|
-
onYearChange: (year: number) => void;
|
11
|
-
};
|
12
|
-
export declare type NavBarProps = Omit<NavbarElementProps, "locale"> & NavBarYearProps & {
|
5
|
+
import type { EditableYearProps } from "./Calendar";
|
6
|
+
export declare type NavBarProps = CaptionProps & EditableYearProps & {
|
13
7
|
locale: WithRequiredProperty<DatePickerLocale, "nextMonth" | "previousMonth">;
|
14
8
|
};
|
15
9
|
declare const NavBar: FunctionComponent<NavBarProps>;
|
@@ -11,12 +11,16 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
11
11
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
13
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
15
|
-
|
16
14
|
var _clsx = _interopRequireDefault(require("clsx"));
|
17
15
|
|
16
|
+
var _dateFns = require("date-fns");
|
17
|
+
|
18
|
+
var _isSameMonth = _interopRequireDefault(require("date-fns/isSameMonth"));
|
19
|
+
|
18
20
|
var _react = require("react");
|
19
21
|
|
22
|
+
var _reactDayPicker = require("react-day-picker");
|
23
|
+
|
20
24
|
var _reactFeather = require("react-feather");
|
21
25
|
|
22
26
|
var _Button = require("../../Button");
|
@@ -25,50 +29,90 @@ var _satellitePrefixer = _interopRequireDefault(require("../../styles/helpers/sa
|
|
25
29
|
|
26
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
27
31
|
|
28
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
29
|
-
|
30
|
-
var
|
32
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
33
|
+
|
34
|
+
var NavBar = function NavBar(props) {
|
35
|
+
var _useDayPicker = (0, _reactDayPicker.useDayPicker)(),
|
36
|
+
numberOfMonths = _useDayPicker.numberOfMonths,
|
37
|
+
onMonthChange = _useDayPicker.onMonthChange,
|
38
|
+
formatMonthCaption = _useDayPicker.formatters.formatMonthCaption,
|
39
|
+
dir = _useDayPicker.dir,
|
40
|
+
locale = _useDayPicker.locale;
|
41
|
+
|
42
|
+
var _useNavigation = (0, _reactDayPicker.useNavigation)(),
|
43
|
+
previousMonth = _useNavigation.previousMonth,
|
44
|
+
nextMonth = _useNavigation.nextMonth,
|
45
|
+
goToMonth = _useNavigation.goToMonth,
|
46
|
+
goToDate = _useNavigation.goToDate,
|
47
|
+
displayMonths = _useNavigation.displayMonths;
|
48
|
+
|
49
|
+
var _props$locale = props.locale,
|
50
|
+
nextMonthLabel = _props$locale.nextMonth,
|
51
|
+
previousMonthLabel = _props$locale.previousMonth;
|
52
|
+
var initialDate = (0, _react.useMemo)(function () {
|
53
|
+
return props.editableYear && props.initialDate ? props.initialDate : new Date();
|
54
|
+
}, [props]);
|
55
|
+
var displayIndex = displayMonths.findIndex(function (month) {
|
56
|
+
return (0, _isSameMonth["default"])(props.displayMonth, month);
|
57
|
+
});
|
58
|
+
var isFirst = displayIndex === 0;
|
59
|
+
var isLast = displayIndex === displayMonths.length - 1;
|
60
|
+
var hideNext = numberOfMonths > 1 && (isFirst || !isLast);
|
61
|
+
var hidePrevious = numberOfMonths > 1 && (isLast || !isFirst);
|
62
|
+
|
63
|
+
var handlePreviousClick = function handlePreviousClick() {
|
64
|
+
if (!previousMonth) return;
|
65
|
+
goToMonth(previousMonth);
|
66
|
+
onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(previousMonth);
|
67
|
+
};
|
68
|
+
|
69
|
+
var handleNextClick = function handleNextClick() {
|
70
|
+
if (!nextMonth) return;
|
71
|
+
goToMonth(nextMonth);
|
72
|
+
onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextMonth);
|
73
|
+
};
|
31
74
|
|
32
|
-
var NavBar = function NavBar(_ref) {
|
33
|
-
var onPreviousClick = _ref.onPreviousClick,
|
34
|
-
onNextClick = _ref.onNextClick,
|
35
|
-
showPreviousButton = _ref.showPreviousButton,
|
36
|
-
showNextButton = _ref.showNextButton,
|
37
|
-
month = _ref.month,
|
38
|
-
locale = _ref.locale,
|
39
|
-
localeUtils = _ref.localeUtils,
|
40
|
-
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
41
75
|
var years = (0, _react.useMemo)(function () {
|
42
76
|
if (!props.editableYear) return [];
|
43
|
-
|
77
|
+
if (props.years) return props.years;
|
78
|
+
var interval = (0, _dateFns.eachYearOfInterval)({
|
79
|
+
start: (0, _dateFns.add)(initialDate, {
|
80
|
+
years: -5
|
81
|
+
}),
|
82
|
+
end: (0, _dateFns.add)(initialDate, {
|
83
|
+
years: 10
|
84
|
+
})
|
85
|
+
}).map(_dateFns.getYear);
|
86
|
+
var monthYear = props.displayMonth.getFullYear(); // year of the currently shown month
|
44
87
|
|
45
|
-
if (
|
46
|
-
var minYear = Math.min.apply(Math, (0, _toConsumableArray2["default"])(
|
47
|
-
var maxYear = Math.max.apply(Math, (0, _toConsumableArray2["default"])(
|
88
|
+
if (interval.includes(monthYear)) return interval;
|
89
|
+
var minYear = Math.min.apply(Math, (0, _toConsumableArray2["default"])(interval).concat([monthYear]));
|
90
|
+
var maxYear = Math.max.apply(Math, (0, _toConsumableArray2["default"])(interval).concat([monthYear]));
|
48
91
|
return Array.from({
|
49
92
|
length: maxYear - minYear + 1
|
50
93
|
}, function (_, i) {
|
51
94
|
return i + minYear;
|
52
95
|
});
|
53
|
-
}, [props,
|
96
|
+
}, [props, initialDate]);
|
54
97
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
55
|
-
className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["w-full top-3 left-0 pt-
|
98
|
+
className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["w-full top-3 left-0 pt-1 px-2 pb-2 flex justify-between"]))),
|
56
99
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
57
|
-
icon: _reactFeather.ChevronLeft,
|
58
|
-
title:
|
59
|
-
onClick:
|
60
|
-
|
61
|
-
|
62
|
-
disabled: !showPreviousButton
|
100
|
+
icon: dir === "rtl" ? _reactFeather.ChevronRight : _reactFeather.ChevronLeft,
|
101
|
+
title: previousMonthLabel,
|
102
|
+
onClick: handlePreviousClick,
|
103
|
+
showTooltip: hidePrevious ? false : undefined,
|
104
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["", ""])), hidePrevious && "invisible")
|
63
105
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
64
|
-
className: (0,
|
106
|
+
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["flex items-center text-center"]))),
|
65
107
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
66
|
-
className: (0, _satellitePrefixer["default"])(
|
67
|
-
children: [
|
68
|
-
|
69
|
-
|
108
|
+
className: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["font-medium text-md"]))),
|
109
|
+
children: [formatMonthCaption(props.displayMonth, {
|
110
|
+
locale: locale
|
111
|
+
}), " ", props.editableYear ? /*#__PURE__*/(0, _jsxRuntime.jsx)("select", {
|
112
|
+
className: (0, _clsx["default"])("rdp-year", (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["pl-0.5 font-medium outline-none border-transparent border-2 rounded focus:border-accent-600 focus:shadow-z100 appearance-none"])))),
|
113
|
+
value: props.displayMonth.getFullYear(),
|
70
114
|
onChange: function onChange(e) {
|
71
|
-
return props.
|
115
|
+
return goToDate((0, _dateFns.setYear)(props.displayMonth, parseInt(e.currentTarget.value)));
|
72
116
|
},
|
73
117
|
children: years.map(function (year) {
|
74
118
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
|
@@ -76,15 +120,14 @@ var NavBar = function NavBar(_ref) {
|
|
76
120
|
children: year
|
77
121
|
}, year);
|
78
122
|
})
|
79
|
-
}) :
|
123
|
+
}) : props.displayMonth.getFullYear()]
|
80
124
|
})
|
81
125
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
82
|
-
icon: _reactFeather.ChevronRight,
|
83
|
-
title:
|
84
|
-
onClick:
|
85
|
-
|
86
|
-
|
87
|
-
disabled: !showNextButton
|
126
|
+
icon: dir === "rtl" ? _reactFeather.ChevronLeft : _reactFeather.ChevronRight,
|
127
|
+
title: nextMonthLabel,
|
128
|
+
onClick: handleNextClick,
|
129
|
+
showTooltip: hideNext ? false : undefined,
|
130
|
+
className: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["", ""])), hideNext && "invisible")
|
88
131
|
})]
|
89
132
|
});
|
90
133
|
};
|
@@ -1,5 +1,18 @@
|
|
1
|
+
import type * as Locales from "date-fns/locale";
|
1
2
|
import type { ModalProps } from "./components/Modal";
|
2
3
|
export declare type DatePickerLocale = {
|
4
|
+
/**
|
5
|
+
* code is the date-fns ISO 639-1 language code to look up @link https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
6
|
+
* for rendering the actual calendar component in the correct language. This has no effect on the custom translations
|
7
|
+
* listed below. (i.e. `openButton`, `apply`, etc.)
|
8
|
+
*/
|
9
|
+
code?: keyof typeof Locales;
|
10
|
+
/** rtl should be used optionally in conjunction with supported language codes, such as `rtl: true` when code is `arSA` */
|
11
|
+
rtl?: boolean;
|
12
|
+
/**
|
13
|
+
* custom translations for the DatePicker component unrelated to the date-fns locale. These are used to translate
|
14
|
+
* the buttons and labels of the DatePicker component outside of the month, day, year, etc.
|
15
|
+
*/
|
3
16
|
openButton?: string;
|
4
17
|
cancel?: string;
|
5
18
|
apply?: string;
|
@@ -1,3 +1,10 @@
|
|
1
|
+
import type { Locale } from "date-fns";
|
1
2
|
import type { DatePickerLocale } from "./types";
|
2
3
|
export declare const formatDate: (date: Date | number) => string;
|
3
4
|
export declare const DEFAULT_DATE_PICKER_LOCALE: Required<DatePickerLocale>;
|
5
|
+
/**
|
6
|
+
* Looks up a date-fns locale. This falls back to `en`
|
7
|
+
* @param locale the ISO 639-1 language code to look up @link https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
8
|
+
* @returns date-fns locale.
|
9
|
+
*/
|
10
|
+
export declare function getDateFnsLocale(locale?: string): Locale;
|
package/cjs/DatePicker/utils.js
CHANGED
@@ -2,23 +2,51 @@
|
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
4
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
6
|
+
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
6
8
|
value: true
|
7
9
|
});
|
8
10
|
exports.formatDate = exports.DEFAULT_DATE_PICKER_LOCALE = void 0;
|
11
|
+
exports.getDateFnsLocale = getDateFnsLocale;
|
9
12
|
|
10
13
|
var _format = _interopRequireDefault(require("date-fns/format"));
|
11
14
|
|
15
|
+
var Locales = _interopRequireWildcard(require("date-fns/locale"));
|
16
|
+
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
18
|
+
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
20
|
+
|
12
21
|
var formatDate = function formatDate(date) {
|
13
22
|
return (0, _format["default"])(date, "MMM do, yyyy");
|
14
23
|
};
|
15
24
|
|
16
25
|
exports.formatDate = formatDate;
|
17
26
|
var DEFAULT_DATE_PICKER_LOCALE = {
|
27
|
+
code: "enUS",
|
28
|
+
rtl: false,
|
18
29
|
apply: "Apply",
|
19
30
|
cancel: "Cancel",
|
20
31
|
openButton: "Enter a date...",
|
21
32
|
previousMonth: "Previous month",
|
22
33
|
nextMonth: "Next month"
|
23
34
|
};
|
24
|
-
|
35
|
+
/**
|
36
|
+
* Looks up a date-fns locale. This falls back to `en`
|
37
|
+
* @param locale the ISO 639-1 language code to look up @link https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
38
|
+
* @returns date-fns locale.
|
39
|
+
*/
|
40
|
+
|
41
|
+
exports.DEFAULT_DATE_PICKER_LOCALE = DEFAULT_DATE_PICKER_LOCALE;
|
42
|
+
|
43
|
+
function getDateFnsLocale(locale) {
|
44
|
+
var _allLocales$locale;
|
45
|
+
|
46
|
+
if (!locale) {
|
47
|
+
return Locales.enUS;
|
48
|
+
}
|
49
|
+
|
50
|
+
var allLocales = Locales;
|
51
|
+
return (_allLocales$locale = allLocales[locale]) !== null && _allLocales$locale !== void 0 ? _allLocales$locale : Locales.enUS;
|
52
|
+
}
|
@@ -43,7 +43,7 @@ var DropdownButtonItem = function DropdownButtonItem(props) {
|
|
43
43
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", _objectSpread(_objectSpread({}, mergedProps), {}, {
|
44
44
|
className: (0, _clsx["default"])(mergedProps.className, (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["w-full"])))),
|
45
45
|
children: [StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
46
|
-
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-2 ", ""])), showDestructiveVariant ? "text-red-700" : "text-grey-500"),
|
46
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-2 shrink-0 ", ""])), showDestructiveVariant ? "text-red-700" : "text-grey-500"),
|
47
47
|
size: "1rem"
|
48
48
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
49
49
|
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["w-full truncate ", ""])), showDestructiveVariant && "text-red-700"),
|
package/cjs/Input/Input.js
CHANGED
@@ -148,7 +148,7 @@ var Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, externalRef) {
|
|
148
148
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
149
149
|
},
|
150
150
|
children: [Icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
151
|
-
className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["ml-4 ", ""])), disabled ? "text-grey-200" : focused ? "text-accent-600" : "text-grey-500"),
|
151
|
+
className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["ml-4 shrink-0 ", ""])), disabled ? "text-grey-200" : focused ? "text-accent-600" : "text-grey-500"),
|
152
152
|
size: variant === "small" ? "1rem" : "1.5rem"
|
153
153
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({
|
154
154
|
className: (0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["mx-4 no-search-input-decoration"]))),
|
package/cjs/Link/Link.js
CHANGED
@@ -55,10 +55,10 @@ var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
55
55
|
ref: ref,
|
56
56
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["typo-link inline-flex items-center"]))), className),
|
57
57
|
children: [StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
58
|
-
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-1"]))),
|
58
|
+
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-1 shrink-0"]))),
|
59
59
|
size: "1em"
|
60
60
|
}), children, EndIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(EndIcon, {
|
61
|
-
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["ml-1"]))),
|
61
|
+
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["ml-1 shrink-0"]))),
|
62
62
|
size: "1em"
|
63
63
|
})]
|
64
64
|
}));
|
package/cjs/Modal/Modal.js
CHANGED
@@ -160,9 +160,11 @@ var Modal = function Modal(_ref) {
|
|
160
160
|
}, modalAccessibilityProps), {}, {
|
161
161
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card["default"], {
|
162
162
|
ref: dialogRef,
|
163
|
+
as: "section",
|
163
164
|
elevation: "500",
|
164
165
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["my-6 mx-auto"]))), SIZE_CLASSNAMES[size], className),
|
165
166
|
fullBleed: true,
|
167
|
+
"aria-label": title || "Modal",
|
166
168
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("header", {
|
167
169
|
className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n px-8 min-h-14\n flex items-center justify-between space-x-2\n ", "\n ", "\n "])), title ? "border-b border-grey-100" : "justify-end", !title && hideCloseIcon && "hidden"),
|
168
170
|
children: [title && /*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
@@ -145,7 +145,7 @@ var TooltipWrapper = function TooltipWrapper(_ref) {
|
|
145
145
|
}, [cancelTransition, hideDelay, internalShow, scheduleTransition]);
|
146
146
|
(0, _react.useEffect)(function () {
|
147
147
|
if (isControlled || !showTooltip) return;
|
148
|
-
var
|
148
|
+
var handleMouseMove = (0, _lodash["default"])(function (evt) {
|
149
149
|
var target = evt.target;
|
150
150
|
var isWithinBounds = [targetEl, interactive ? popperEl : null].some(function (ref) {
|
151
151
|
return Boolean(ref && (ref === target || ref.contains(target)));
|
@@ -159,10 +159,10 @@ var TooltipWrapper = function TooltipWrapper(_ref) {
|
|
159
159
|
}, 16, {
|
160
160
|
leading: true
|
161
161
|
});
|
162
|
-
document.addEventListener("mousemove",
|
162
|
+
document.addEventListener("mousemove", handleMouseMove);
|
163
163
|
return function () {
|
164
|
-
|
165
|
-
document.removeEventListener("mousemove",
|
164
|
+
handleMouseMove.cancel();
|
165
|
+
document.removeEventListener("mousemove", handleMouseMove);
|
166
166
|
};
|
167
167
|
}, [isControlled, popperEl, scheduleHideTooltip, scheduleShowTooltip, showTooltip, targetEl, interactive]);
|
168
168
|
/**
|