@algolia/satellite 1.9.0 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -22
- package/dist/cjs/Actions/index.d.ts +1 -2
- package/dist/cjs/Actions/index.js +10 -17
- package/dist/cjs/Fields/DatePicker/DatePicker/DatePicker.js +68 -75
- package/dist/cjs/Fields/DatePicker/DateRangePicker/DateRangePicker.js +69 -77
- package/dist/cjs/Fields/DatePicker/DateRangePicker/DateRangePickerDisplay.d.ts +2 -3
- package/dist/cjs/Fields/DatePicker/DateRangePicker/DateRangePickerDisplay.js +14 -7
- package/dist/cjs/Fields/DatePicker/components/Display.d.ts +0 -1
- package/dist/cjs/Fields/DatePicker/components/Display.js +1 -3
- package/dist/cjs/Fields/DatePicker/components/FooterActions.d.ts +2 -2
- package/dist/cjs/Fields/DatePicker/components/FooterActions.js +5 -2
- package/dist/cjs/Fields/DatePicker/components/Popover.d.ts +13 -0
- package/dist/cjs/Fields/DatePicker/components/Popover.js +51 -0
- package/dist/cjs/Fields/DatePicker/components/index.d.ts +1 -1
- package/dist/cjs/Fields/DatePicker/components/index.js +4 -4
- package/dist/cjs/Fields/DatePicker/types.d.ts +3 -2
- package/dist/cjs/Fields/DatePicker/utils.js +2 -1
- package/dist/cjs/Helpers/ClickAwayContainer/ClickAwayContainer.d.ts +3 -0
- package/dist/cjs/Helpers/ClickAwayContainer/ClickAwayContainer.js +3 -0
- package/dist/cjs/Layout/Tables/DataTable/DataTable.js +2 -2
- package/dist/cjs/Overlay/Modal/Modal.js +10 -5
- package/dist/cjs/Overlay/Popover/Popover.js +8 -5
- package/dist/cjs/Overlay/Popover/types.d.ts +27 -5
- package/dist/esm/Actions/index.d.ts +1 -2
- package/dist/esm/Actions/index.js +3 -2
- package/dist/esm/Fields/DatePicker/DatePicker/DatePicker.js +70 -77
- package/dist/esm/Fields/DatePicker/DateRangePicker/DateRangePicker.js +71 -79
- package/dist/esm/Fields/DatePicker/DateRangePicker/DateRangePickerDisplay.d.ts +2 -3
- package/dist/esm/Fields/DatePicker/DateRangePicker/DateRangePickerDisplay.js +14 -7
- package/dist/esm/Fields/DatePicker/components/Display.d.ts +0 -1
- package/dist/esm/Fields/DatePicker/components/Display.js +1 -3
- package/dist/esm/Fields/DatePicker/components/FooterActions.d.ts +2 -2
- package/dist/esm/Fields/DatePicker/components/FooterActions.js +5 -2
- package/dist/esm/Fields/DatePicker/components/Popover.d.ts +13 -0
- package/dist/esm/Fields/DatePicker/components/Popover.js +41 -0
- package/dist/esm/Fields/DatePicker/components/index.d.ts +1 -1
- package/dist/esm/Fields/DatePicker/components/index.js +1 -1
- package/dist/esm/Fields/DatePicker/types.d.ts +3 -2
- package/dist/esm/Fields/DatePicker/utils.js +2 -1
- package/dist/esm/Helpers/ClickAwayContainer/ClickAwayContainer.d.ts +3 -0
- package/dist/esm/Helpers/ClickAwayContainer/ClickAwayContainer.js +3 -0
- package/dist/esm/Layout/Tables/DataTable/DataTable.js +2 -2
- package/dist/esm/Overlay/Modal/Modal.js +10 -5
- package/dist/esm/Overlay/Popover/Popover.js +8 -5
- package/dist/esm/Overlay/Popover/types.d.ts +27 -5
- package/dist/satellite.min.css +1 -1
- package/package.json +16 -15
- package/dist/cjs/Fields/DatePicker/components/Modal.d.ts +0 -15
- package/dist/cjs/Fields/DatePicker/components/Modal.js +0 -66
- package/dist/esm/Fields/DatePicker/components/Modal.d.ts +0 -15
- package/dist/esm/Fields/DatePicker/components/Modal.js +0 -59
@@ -2,29 +2,30 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
5
|
-
var _templateObject, _templateObject2
|
5
|
+
var _templateObject, _templateObject2;
|
6
6
|
var _excluded = ["id", "range", "displayOnlyRanges", "calendarProps", "initialState", "stateReducer", "onAction", "validate", "renderTarget", "renderLeftFooter", "renderRightPanel", "buttonSize", "modalPlacement", "locale"];
|
7
7
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
8
8
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
9
|
-
import { useMemo, useReducer,
|
9
|
+
import { useMemo, useReducer, useRef } from "react";
|
10
10
|
import { useLocale } from "../../../Satellite";
|
11
11
|
import stl from "../../../styles/helpers/satellitePrefixer";
|
12
12
|
import { DatePickerCalendar } from "../components/Calendar";
|
13
13
|
import { DatePickerFooter } from "../components/Footer";
|
14
14
|
import { DatePickerFooterActions } from "../components/FooterActions";
|
15
|
-
import {
|
15
|
+
import { DatePickerPopover } from "../components/Popover";
|
16
16
|
import { DatePickerSidePanel } from "../components/SidePanel";
|
17
17
|
import { DEFAULT_DATE_PICKER_LOCALE } from "../utils";
|
18
18
|
import { DateRangePickerDisplay } from "./DateRangePickerDisplay";
|
19
19
|
import { DateRangePickerActionTypes, dateRangePickerReducer, initDateRangePickerReducer } from "./dateRangePickerReducer";
|
20
20
|
import { isCompleteTimeRange, isEmptyTimeRange } from "./dateRangePickerTimeRange";
|
21
|
-
import { jsx as _jsx, jsxs as _jsxs
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
22
22
|
var defaultValidator = function defaultValidator(_ref) {
|
23
23
|
var candidateRange = _ref.candidateRange;
|
24
24
|
return isCompleteTimeRange(candidateRange) ? null : [new Error("Invalid time range")];
|
25
25
|
};
|
26
26
|
var DEFAULT_DATE_RANGE_PICKER_LOCALE = _objectSpread(_objectSpread({}, DEFAULT_DATE_PICKER_LOCALE), {}, {
|
27
|
-
openButton: "Enter a date period..."
|
27
|
+
openButton: "Enter a date period...",
|
28
|
+
title: "Date Range Picker"
|
28
29
|
});
|
29
30
|
|
30
31
|
/**
|
@@ -55,16 +56,13 @@ export var DateRangePicker = function DateRangePicker(_ref2) {
|
|
55
56
|
props = _objectWithoutProperties(_ref2, _excluded);
|
56
57
|
var contextLocale = useLocale("datePicker");
|
57
58
|
var locale = _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_DATE_RANGE_PICKER_LOCALE), contextLocale), propsLocale);
|
58
|
-
var _useState = useState(null),
|
59
|
-
_useState2 = _slicedToArray(_useState, 2),
|
60
|
-
targetElement = _useState2[0],
|
61
|
-
setTargetElement = _useState2[1];
|
62
59
|
var _useReducer = useReducer(function (state, action) {
|
63
60
|
return stateReducer(state, action, dateRangePickerReducer);
|
64
61
|
}, initialState, initDateRangePickerReducer),
|
65
62
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
66
63
|
state = _useReducer2[0],
|
67
64
|
baseDispatch = _useReducer2[1];
|
65
|
+
var cancelElementRef = useRef(null);
|
68
66
|
|
69
67
|
// Computed properties
|
70
68
|
var isValid = !((_validate = validate(state)) !== null && _validate !== void 0 && _validate.length);
|
@@ -174,81 +172,75 @@ export var DateRangePicker = function DateRangePicker(_ref2) {
|
|
174
172
|
editableYear: false
|
175
173
|
};
|
176
174
|
}, [props, displayedRange]);
|
177
|
-
return /*#__PURE__*/
|
175
|
+
return /*#__PURE__*/_jsx(DatePickerPopover, {
|
176
|
+
isOpen: state.show,
|
177
|
+
onOpenChange: function onOpenChange(open) {
|
178
|
+
return dispatch({
|
179
|
+
type: DateRangePickerActionTypes.show,
|
180
|
+
payload: open
|
181
|
+
});
|
182
|
+
},
|
183
|
+
placement: modalPlacement,
|
184
|
+
title: locale.title,
|
178
185
|
className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["date-range-picker"]))),
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
buttonSize: buttonSize,
|
193
|
-
locale: locale
|
194
|
-
})
|
195
|
-
}), /*#__PURE__*/_jsx(DatePickerModal, {
|
196
|
-
className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["date-range-picker"]))),
|
197
|
-
show: state.show,
|
198
|
-
onClickAway: function onClickAway(evt) {
|
199
|
-
if (!(targetElement !== null && targetElement !== void 0 && targetElement.contains(evt.target))) {
|
200
|
-
dispatch({
|
201
|
-
type: DateRangePickerActionTypes.show,
|
202
|
-
payload: false
|
203
|
-
});
|
204
|
-
}
|
186
|
+
onOpenAutoFocus: function onOpenAutoFocus(evt) {
|
187
|
+
var _cancelElementRef$cur;
|
188
|
+
evt.preventDefault();
|
189
|
+
(_cancelElementRef$cur = cancelElementRef.current) === null || _cancelElementRef$cur === void 0 || _cancelElementRef$cur.focus();
|
190
|
+
},
|
191
|
+
trigger: renderTarget ? renderTarget({
|
192
|
+
toggle: state.show ? handleClose : handleOpen,
|
193
|
+
isOpen: state.show
|
194
|
+
}) : /*#__PURE__*/_jsx(DateRangePickerDisplay, {
|
195
|
+
id: id,
|
196
|
+
range: initialRange !== null && initialRange !== void 0 ? initialRange : {
|
197
|
+
start: null,
|
198
|
+
end: null
|
205
199
|
},
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
dispatch: dispatch
|
228
|
-
})
|
229
|
-
}), !renderRightPanel && /*#__PURE__*/_jsx(DatePickerFooterActions, {
|
230
|
-
onCancel: handleCancel,
|
231
|
-
onApply: handleApply,
|
232
|
-
disableApply: !isValid,
|
233
|
-
locale: locale
|
234
|
-
})]
|
235
|
-
})]
|
236
|
-
}), renderRightPanel && /*#__PURE__*/_jsxs(_Fragment, {
|
237
|
-
children: [/*#__PURE__*/_jsx("div", {
|
238
|
-
className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["h-full w-px bg-red-800"])))
|
239
|
-
}), /*#__PURE__*/_jsxs(DatePickerSidePanel, {
|
240
|
-
children: [renderRightPanel({
|
200
|
+
buttonSize: buttonSize,
|
201
|
+
locale: locale
|
202
|
+
}),
|
203
|
+
children: /*#__PURE__*/_jsxs("div", {
|
204
|
+
className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex"]))),
|
205
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
206
|
+
children: [/*#__PURE__*/_jsx(DatePickerCalendar, _objectSpread(_objectSpread(_objectSpread({
|
207
|
+
mode: "default",
|
208
|
+
defaultMonth: (_initialRange$start = initialRange === null || initialRange === void 0 ? void 0 : initialRange.start) !== null && _initialRange$start !== void 0 ? _initialRange$start : undefined,
|
209
|
+
numberOfMonths: 2
|
210
|
+
}, calendarProps), {}, {
|
211
|
+
selected: selectedDays,
|
212
|
+
modifiers: modifiers,
|
213
|
+
onDayClick: handleDayClick,
|
214
|
+
onDayMouseEnter: handleMouseEnter,
|
215
|
+
onDayMouseLeave: handleMouseLeave
|
216
|
+
}, yearProps), {}, {
|
217
|
+
locale: locale
|
218
|
+
})), /*#__PURE__*/_jsxs(DatePickerFooter, {
|
219
|
+
children: [renderLeftFooter && /*#__PURE__*/_jsx("div", {
|
220
|
+
children: renderLeftFooter({
|
241
221
|
state: state,
|
242
222
|
dispatch: dispatch
|
243
|
-
})
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
223
|
+
})
|
224
|
+
}), !renderRightPanel && /*#__PURE__*/_jsx(DatePickerFooterActions, {
|
225
|
+
onCancel: handleCancel,
|
226
|
+
onApply: handleApply,
|
227
|
+
disableApply: !isValid,
|
228
|
+
locale: locale,
|
229
|
+
ref: cancelElementRef
|
249
230
|
})]
|
250
231
|
})]
|
251
|
-
})
|
252
|
-
|
232
|
+
}), renderRightPanel && /*#__PURE__*/_jsxs(DatePickerSidePanel, {
|
233
|
+
children: [renderRightPanel({
|
234
|
+
state: state,
|
235
|
+
dispatch: dispatch
|
236
|
+
}), /*#__PURE__*/_jsx(DatePickerFooterActions, {
|
237
|
+
onCancel: handleCancel,
|
238
|
+
onApply: handleApply,
|
239
|
+
disableApply: !isValid,
|
240
|
+
locale: locale,
|
241
|
+
ref: cancelElementRef
|
242
|
+
})]
|
243
|
+
})]
|
244
|
+
})
|
253
245
|
});
|
254
246
|
};
|
@@ -1,13 +1,12 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import type { WithRequiredProperty } from "../../../types";
|
3
3
|
import { type DatePickerDisplayProps } from "../components/Display";
|
4
4
|
import type { DatePickerLocale } from "../types";
|
5
5
|
import type { DateRangePickerTimeRange } from "./dateRangePickerTimeRange";
|
6
6
|
export interface DateRangePickerDisplayProps {
|
7
7
|
id?: string;
|
8
|
-
onClick: DatePickerDisplayProps["onClick"];
|
9
8
|
range: DateRangePickerTimeRange;
|
10
9
|
buttonSize?: DatePickerDisplayProps["size"];
|
11
10
|
locale: WithRequiredProperty<DatePickerLocale, "openButton">;
|
12
11
|
}
|
13
|
-
export declare const DateRangePickerDisplay:
|
12
|
+
export declare const DateRangePickerDisplay: import("react").ForwardRefExoticComponent<DateRangePickerDisplayProps & import("react").RefAttributes<HTMLButtonElement>>;
|
@@ -1,20 +1,26 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
1
2
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
2
4
|
var _templateObject;
|
5
|
+
var _excluded = ["id", "range", "buttonSize", "locale"];
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
8
|
+
import { forwardRef } from "react";
|
3
9
|
import stl from "../../../styles/helpers/satellitePrefixer";
|
4
10
|
import { DatePickerDisplay } from "../components/Display";
|
5
11
|
import { formatDate } from "../utils";
|
6
12
|
import { isCompleteTimeRange } from "./dateRangePickerTimeRange";
|
7
13
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
8
|
-
export var DateRangePickerDisplay = function
|
14
|
+
export var DateRangePickerDisplay = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
9
15
|
var id = _ref.id,
|
10
|
-
onClick = _ref.onClick,
|
11
16
|
range = _ref.range,
|
12
17
|
buttonSize = _ref.buttonSize,
|
13
|
-
locale = _ref.locale
|
14
|
-
|
18
|
+
locale = _ref.locale,
|
19
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
20
|
+
return /*#__PURE__*/_jsx(DatePickerDisplay, _objectSpread(_objectSpread({}, props), {}, {
|
15
21
|
id: id,
|
16
|
-
onClick: onClick,
|
17
22
|
size: buttonSize,
|
23
|
+
ref: ref,
|
18
24
|
children: isCompleteTimeRange(range) ? /*#__PURE__*/_jsxs(_Fragment, {
|
19
25
|
children: [/*#__PURE__*/_jsx("time", {
|
20
26
|
dateTime: range.start.toISOString(),
|
@@ -26,5 +32,6 @@ export var DateRangePickerDisplay = function DateRangePickerDisplay(_ref) {
|
|
26
32
|
children: formatDate(range.end)
|
27
33
|
})]
|
28
34
|
}) : locale.openButton
|
29
|
-
});
|
30
|
-
};
|
35
|
+
}));
|
36
|
+
});
|
37
|
+
DateRangePickerDisplay.displayName = "DateRangePickerDisplay";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
3
|
-
var _excluded = ["id", "size", "
|
3
|
+
var _excluded = ["id", "size", "children"];
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
6
6
|
import { forwardRef } from "react";
|
@@ -10,14 +10,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
export var DatePickerDisplay = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
11
11
|
var id = _ref.id,
|
12
12
|
size = _ref.size,
|
13
|
-
onClick = _ref.onClick,
|
14
13
|
children = _ref.children,
|
15
14
|
props = _objectWithoutProperties(_ref, _excluded);
|
16
15
|
return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
17
16
|
id: id,
|
18
17
|
size: size,
|
19
18
|
startIcon: CalendarIcon,
|
20
|
-
onClick: onClick,
|
21
19
|
ref: ref
|
22
20
|
}, props), {}, {
|
23
21
|
children: children
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import type { ButtonProps } from "../../../Actions";
|
3
3
|
import type { WithRequiredProperty } from "../../../types";
|
4
4
|
import type { DatePickerLocale } from "../types";
|
@@ -8,4 +8,4 @@ export interface DatePickerFooterActionsProps {
|
|
8
8
|
disableApply: boolean;
|
9
9
|
locale: WithRequiredProperty<DatePickerLocale, "cancel" | "apply">;
|
10
10
|
}
|
11
|
-
export declare const DatePickerFooterActions:
|
11
|
+
export declare const DatePickerFooterActions: import("react").ForwardRefExoticComponent<DatePickerFooterActionsProps & import("react").RefAttributes<HTMLButtonElement>>;
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
2
2
|
var _templateObject, _templateObject2;
|
3
|
+
import { forwardRef } from "react";
|
3
4
|
import { Button } from "../../../Actions";
|
4
5
|
import stl from "../../../styles/helpers/satellitePrefixer";
|
5
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
6
|
-
export var DatePickerFooterActions = function
|
7
|
+
export var DatePickerFooterActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
7
8
|
var onCancel = _ref.onCancel,
|
8
9
|
onApply = _ref.onApply,
|
9
10
|
disableApply = _ref.disableApply,
|
@@ -13,6 +14,7 @@ export var DatePickerFooterActions = function DatePickerFooterActions(_ref) {
|
|
13
14
|
children: [/*#__PURE__*/_jsx(Button, {
|
14
15
|
onClick: onCancel,
|
15
16
|
className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["mr-2"]))),
|
17
|
+
ref: ref,
|
16
18
|
children: locale.cancel
|
17
19
|
}), /*#__PURE__*/_jsx(Button, {
|
18
20
|
disabled: disableApply,
|
@@ -21,4 +23,5 @@ export var DatePickerFooterActions = function DatePickerFooterActions(_ref) {
|
|
21
23
|
children: locale.apply
|
22
24
|
})]
|
23
25
|
});
|
24
|
-
};
|
26
|
+
});
|
27
|
+
DatePickerFooterActions.displayName = "AccordionItem";
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import * as Popover from "@radix-ui/react-popover";
|
2
|
+
import type { FC, ReactNode } from "react";
|
3
|
+
export interface DatePickerPopoverProps {
|
4
|
+
isOpen: boolean;
|
5
|
+
onOpenChange: (open: boolean) => void;
|
6
|
+
trigger: ReactNode;
|
7
|
+
children: ReactNode;
|
8
|
+
placement?: Popover.PopoverContentProps["side"] | `${Popover.PopoverContentProps["side"] & string}-${Popover.PopoverContentProps["align"] & string}`;
|
9
|
+
onOpenAutoFocus?: (event: Event) => void;
|
10
|
+
title?: string;
|
11
|
+
className?: string;
|
12
|
+
}
|
13
|
+
export declare const DatePickerPopover: FC<DatePickerPopoverProps>;
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
3
|
+
var _templateObject;
|
4
|
+
import * as Popover from "@radix-ui/react-popover";
|
5
|
+
import cx from "clsx";
|
6
|
+
import { useCreatePortal } from "../../../Satellite";
|
7
|
+
import stl from "../../../styles/helpers/satellitePrefixer";
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
9
|
+
export var DatePickerPopover = function DatePickerPopover(_ref) {
|
10
|
+
var isOpen = _ref.isOpen,
|
11
|
+
onOpenChange = _ref.onOpenChange,
|
12
|
+
trigger = _ref.trigger,
|
13
|
+
children = _ref.children,
|
14
|
+
_ref$placement = _ref.placement,
|
15
|
+
placement = _ref$placement === void 0 ? "bottom-start" : _ref$placement,
|
16
|
+
onOpenAutoFocus = _ref.onOpenAutoFocus,
|
17
|
+
title = _ref.title,
|
18
|
+
className = _ref.className;
|
19
|
+
var createPortal = useCreatePortal();
|
20
|
+
var _ref2 = placement.split("-"),
|
21
|
+
_ref3 = _slicedToArray(_ref2, 2),
|
22
|
+
side = _ref3[0],
|
23
|
+
align = _ref3[1];
|
24
|
+
return /*#__PURE__*/_jsxs(Popover.Root, {
|
25
|
+
open: isOpen,
|
26
|
+
onOpenChange: onOpenChange,
|
27
|
+
children: [/*#__PURE__*/_jsx(Popover.Trigger, {
|
28
|
+
asChild: true,
|
29
|
+
children: trigger
|
30
|
+
}), createPortal( /*#__PURE__*/_jsx(Popover.Content, {
|
31
|
+
side: side,
|
32
|
+
sideOffset: 16,
|
33
|
+
align: align,
|
34
|
+
collisionPadding: 16,
|
35
|
+
className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex bg-white shadow-z400 z-popover relative overflow-auto max-w-[var(--radix-popover-content-available-width)] max-h-[var(--radix-popover-content-available-height)]"]))), className),
|
36
|
+
onOpenAutoFocus: onOpenAutoFocus,
|
37
|
+
"aria-label": title,
|
38
|
+
children: children
|
39
|
+
}))]
|
40
|
+
});
|
41
|
+
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { Locale as DateFnsLocale } from "date-fns";
|
2
|
-
import type {
|
2
|
+
import type { DatePickerPopoverProps } from "./components";
|
3
3
|
export declare type DatePickerLocale = {
|
4
4
|
/** The date-fns locale object used to localize dates. Defaults to* `en-US`. */
|
5
5
|
formatter?: DateFnsLocale;
|
@@ -14,9 +14,10 @@ export declare type DatePickerLocale = {
|
|
14
14
|
apply?: string;
|
15
15
|
nextMonth?: string;
|
16
16
|
previousMonth?: string;
|
17
|
+
title?: string;
|
17
18
|
};
|
18
19
|
export declare type SharedDatePickerProps = {
|
19
|
-
modalPlacement?:
|
20
|
+
modalPlacement?: DatePickerPopoverProps["placement"];
|
20
21
|
locale?: DatePickerLocale;
|
21
22
|
} & ({
|
22
23
|
editableYear?: false;
|
@@ -22,6 +22,9 @@ export interface ClickAwayContainerProps {
|
|
22
22
|
* Most libraries handling "click outside" functionality assume that the dom tree matches the React tree,
|
23
23
|
* but it's not the case when using portals.
|
24
24
|
* This component allows click-away functionality even when portals are involved.
|
25
|
+
*
|
26
|
+
* @deprecated This component is deprecated and will be removed in a future version.
|
27
|
+
* Please use the Popover component, which provides built-in click-away behavior and is more accessible.
|
25
28
|
*/
|
26
29
|
export declare const ClickAwayContainer: VFC<ClickAwayContainerProps>;
|
27
30
|
export {};
|
@@ -16,6 +16,9 @@ var AWAY_EVENTS = ["mousedown", "touchstart", "focusin"];
|
|
16
16
|
* Most libraries handling "click outside" functionality assume that the dom tree matches the React tree,
|
17
17
|
* but it's not the case when using portals.
|
18
18
|
* This component allows click-away functionality even when portals are involved.
|
19
|
+
*
|
20
|
+
* @deprecated This component is deprecated and will be removed in a future version.
|
21
|
+
* Please use the Popover component, which provides built-in click-away behavior and is more accessible.
|
19
22
|
*/
|
20
23
|
export var ClickAwayContainer = function ClickAwayContainer(_ref) {
|
21
24
|
var element = _ref.element,
|
@@ -100,7 +100,7 @@ export var DataTable = function DataTable(_ref) {
|
|
100
100
|
children: /*#__PURE__*/_jsx(RadioButton, {
|
101
101
|
defaultChecked: row.selected,
|
102
102
|
disabled: !row.selectable,
|
103
|
-
className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["", ""])), row.
|
103
|
+
className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["", ""])), !row.selected && "select-none")
|
104
104
|
})
|
105
105
|
});
|
106
106
|
},
|
@@ -139,7 +139,7 @@ export var DataTable = function DataTable(_ref) {
|
|
139
139
|
children: /*#__PURE__*/_jsx(Checkbox, {
|
140
140
|
checked: row.selected,
|
141
141
|
disabled: !row.selectable,
|
142
|
-
className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["", ""])), row.
|
142
|
+
className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["", ""])), !row.selected && "select-none")
|
143
143
|
})
|
144
144
|
});
|
145
145
|
},
|
@@ -4,6 +4,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
|
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
6
6
|
import * as Dialog from "@radix-ui/react-dialog";
|
7
|
+
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
7
8
|
import cx from "clsx";
|
8
9
|
import { Fragment, useRef } from "react";
|
9
10
|
import { IconButton } from "../../Actions";
|
@@ -73,6 +74,7 @@ export var Modal = function Modal(_ref) {
|
|
73
74
|
children: /*#__PURE__*/_jsx(Dialog.Content, {
|
74
75
|
ref: dialogContentRef,
|
75
76
|
className: cx(stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["modal-content"]))), SIZE_CLASSNAMES[size], centerY && stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["flex m-auto"])))),
|
77
|
+
"aria-describedby": undefined,
|
76
78
|
onOpenAutoFocus: function onOpenAutoFocus(e) {
|
77
79
|
var _closeButtonRef$curre;
|
78
80
|
if (!autoFocusOnOpenElement) return;
|
@@ -88,8 +90,6 @@ export var Modal = function Modal(_ref) {
|
|
88
90
|
autoFocusOnCloseElement.focus();
|
89
91
|
}
|
90
92
|
},
|
91
|
-
"aria-label": !title ? locale.modalTitle : undefined,
|
92
|
-
"aria-describedby": undefined,
|
93
93
|
children: /*#__PURE__*/_jsx("div", {
|
94
94
|
className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["modal-container"]))),
|
95
95
|
children: /*#__PURE__*/_jsxs(Card, {
|
@@ -99,9 +99,14 @@ export var Modal = function Modal(_ref) {
|
|
99
99
|
fullBleed: true,
|
100
100
|
children: [/*#__PURE__*/_jsx("header", {
|
101
101
|
className: cx(stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["min-h-14 flex items-center justify-between space-x-2"]))), title ? stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["border-b border-grey-100 pl-8 pr-16"]))) : stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["justify-end px-8"]))), !title && hideCloseIcon && stl(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["hidden"])))),
|
102
|
-
children:
|
103
|
-
|
104
|
-
children: title
|
102
|
+
children: /*#__PURE__*/_jsx(Dialog.Title, {
|
103
|
+
asChild: true,
|
104
|
+
children: title ? /*#__PURE__*/_jsx("div", {
|
105
|
+
className: stl(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["flex-1 display-heading truncate"]))),
|
106
|
+
children: title
|
107
|
+
}) : /*#__PURE__*/_jsx(VisuallyHidden, {
|
108
|
+
children: locale.modalTitle
|
109
|
+
})
|
105
110
|
})
|
106
111
|
}), /*#__PURE__*/_jsx("div", {
|
107
112
|
className: cx(!fullBleed && stl(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["p-10"])))),
|
@@ -2,7 +2,7 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
4
4
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
5
|
-
var _excluded = ["children", "title", "subtitle", "content", "footer", "open", "onDismiss", "side", "sideOffset", "align", "alignOffset", "noArrow", "avoidCollisions", "autoFocusOnOpenElement", "locale"];
|
5
|
+
var _excluded = ["children", "title", "subtitle", "content", "footer", "open", "onDismiss", "side", "sideOffset", "align", "alignOffset", "noArrow", "noCloseButton", "avoidCollisions", "autoFocusOnOpenElement", "locale"];
|
6
6
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
7
7
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
8
8
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
@@ -43,6 +43,8 @@ export var Popover = function Popover(_ref) {
|
|
43
43
|
alignOffset = _ref$alignOffset === void 0 ? 0 : _ref$alignOffset,
|
44
44
|
_ref$noArrow = _ref.noArrow,
|
45
45
|
noArrow = _ref$noArrow === void 0 ? false : _ref$noArrow,
|
46
|
+
_ref$noCloseButton = _ref.noCloseButton,
|
47
|
+
noCloseButton = _ref$noCloseButton === void 0 ? false : _ref$noCloseButton,
|
46
48
|
_ref$avoidCollisions = _ref.avoidCollisions,
|
47
49
|
avoidCollisions = _ref$avoidCollisions === void 0 ? true : _ref$avoidCollisions,
|
48
50
|
autoFocusOnOpenElement = _ref.autoFocusOnOpenElement,
|
@@ -72,13 +74,14 @@ export var Popover = function Popover(_ref) {
|
|
72
74
|
asChild: true,
|
73
75
|
children: children
|
74
76
|
}), createPortal( /*#__PURE__*/_jsxs(PopoverPrimitive.Content, _objectSpread(_objectSpread({}, props), {}, {
|
75
|
-
"aria-labelledby": titleId,
|
77
|
+
"aria-labelledby": title ? titleId : undefined,
|
76
78
|
className: cx(stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["text-grey-900 bg-white z-popover shadow-z200 min-w-48 max-w-128 rounded typo-display-body animate-slide"]))), props.className),
|
77
79
|
side: side,
|
78
80
|
sideOffset: 8 + sideOffset,
|
79
81
|
align: align,
|
80
82
|
alignOffset: alignOffset,
|
81
83
|
avoidCollisions: avoidCollisions,
|
84
|
+
collisionPadding: 16,
|
82
85
|
onOpenAutoFocus: function onOpenAutoFocus(e) {
|
83
86
|
if (autoFocusOnOpenElement === false) {
|
84
87
|
e.preventDefault();
|
@@ -104,8 +107,8 @@ export var Popover = function Popover(_ref) {
|
|
104
107
|
}
|
105
108
|
},
|
106
109
|
children: [/*#__PURE__*/_jsxs("div", {
|
107
|
-
className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["relative p-4 flex flex-col gap-2 overflow-auto min-h-20 max-
|
108
|
-
children: [/*#__PURE__*/_jsx("div", {
|
110
|
+
className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["relative p-4 flex flex-col gap-2 overflow-auto min-h-20 max-w-[var(--radix-popover-content-available-width)] max-h-[var(--radix-popover-content-available-height)]"]))),
|
111
|
+
children: [!!title && /*#__PURE__*/_jsx("div", {
|
109
112
|
id: titleId,
|
110
113
|
className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["font-semibold pr-8"]))),
|
111
114
|
children: title
|
@@ -118,7 +121,7 @@ export var Popover = function Popover(_ref) {
|
|
118
121
|
}), !!footer && /*#__PURE__*/_jsx("div", {
|
119
122
|
className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["mt-2"]))),
|
120
123
|
children: footer
|
121
|
-
}), /*#__PURE__*/_jsx(PopoverPrimitive.Close, {
|
124
|
+
}), !noCloseButton && /*#__PURE__*/_jsx(PopoverPrimitive.Close, {
|
122
125
|
ref: closeButtonRef,
|
123
126
|
className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["absolute top-2 right-2"]))),
|
124
127
|
asChild: true,
|
@@ -3,16 +3,12 @@ import type { HTMLAttributes, ReactElement, ReactNode } from "react";
|
|
3
3
|
export declare type PopoverLocale = {
|
4
4
|
dismissText?: string;
|
5
5
|
};
|
6
|
-
|
6
|
+
interface PopoverPropsBase extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "content" | "aria-label"> {
|
7
7
|
/**
|
8
8
|
* Defines the trigger element of the `Popover`.
|
9
9
|
* It should be a button element.
|
10
10
|
*/
|
11
11
|
children: ReactElement;
|
12
|
-
/**
|
13
|
-
* Defines the title of the `Popover`.
|
14
|
-
*/
|
15
|
-
title: ReactNode;
|
16
12
|
/**
|
17
13
|
* Defines the subtitle of the `Popover`.
|
18
14
|
*/
|
@@ -57,6 +53,10 @@ export interface PopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, "titl
|
|
57
53
|
* Defines whether the `Popover` arrow should be hidden.
|
58
54
|
*/
|
59
55
|
noArrow?: boolean;
|
56
|
+
/**
|
57
|
+
* Defines whether the `Popover` close button should be hidden.
|
58
|
+
*/
|
59
|
+
noCloseButton?: boolean;
|
60
60
|
/**
|
61
61
|
* Defines whether the `Popover` should avoid collisions with the viewport.
|
62
62
|
*/
|
@@ -74,3 +74,25 @@ export interface PopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, "titl
|
|
74
74
|
*/
|
75
75
|
locale?: PopoverLocale;
|
76
76
|
}
|
77
|
+
declare type PopoverPropsWithTitle = {
|
78
|
+
/**
|
79
|
+
* Defines the title of the `Popover`.
|
80
|
+
*/
|
81
|
+
title: ReactNode;
|
82
|
+
/**
|
83
|
+
* Defines the aria-label of the `Popover`.
|
84
|
+
*/
|
85
|
+
"aria-label"?: string;
|
86
|
+
} & PopoverPropsBase;
|
87
|
+
declare type PopoverPropsWithAriaLabel = {
|
88
|
+
/**
|
89
|
+
* Defines the title of the `Popover`.
|
90
|
+
*/
|
91
|
+
title?: undefined;
|
92
|
+
/**
|
93
|
+
* Defines the aria-label of the `Popover`.
|
94
|
+
*/
|
95
|
+
"aria-label": string;
|
96
|
+
} & PopoverPropsBase;
|
97
|
+
export declare type PopoverProps = PopoverPropsWithTitle | PopoverPropsWithAriaLabel;
|
98
|
+
export {};
|