@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
64 lines (63 loc) • 2.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "DateRangePickerPresetSelect", {
enumerable: true,
get: function() {
return DateRangePickerPresetSelect;
}
});
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
var _object_spread = require("@swc/helpers/_/_object_spread");
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
var _jsxruntime = require("react/jsx-runtime");
var _core = require("@mantine/core");
var _dayjs = /*#__PURE__*/ _interop_require_default._(require("dayjs"));
var _react = require("react");
var DateRangePickerPresetSelect = function(param) {
var presets = param.presets, value = param.value, onChange = param.onChange, _param_selectProps = param.selectProps, selectProps = _param_selectProps === void 0 ? {} : _param_selectProps;
var selectData = Object.entries(presets).map(function(param) {
var _param = _sliced_to_array._(param, 2), val = _param[0], label = _param[1].label;
return {
value: val,
label: label
};
});
var getSelectedPreset = function() {
if (value[0] !== null && value[1] !== null && (0, _dayjs.default)(value[0]).unix() !== (0, _dayjs.default)(value[1]).unix()) {
var selected = Object.entries(presets).find(function(param) {
var _param = _sliced_to_array._(param, 2), range = _param[1].range;
return (0, _dayjs.default)(range[0]).isSame(value[0]) && (0, _dayjs.default)(value[1]).isSame(value[1]);
});
if (selected) {
return selected[0];
}
}
return null;
};
var _useState = _sliced_to_array._((0, _react.useState)(getSelectedPreset()), 2), selectedPreset = _useState[0], setSelectedPreset = _useState[1];
(0, _react.useEffect)(function() {
var newPreset = getSelectedPreset();
if (newPreset !== selectedPreset) {
setSelectedPreset(newPreset);
}
}, [
value
]);
var onChangePreset = function(presetId) {
var range = presets[presetId].range;
onChange === null || onChange === void 0 ? void 0 : onChange(range);
};
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Select, _object_spread_props._(_object_spread._({
label: "Date range",
placeholder: "Select a date range"
}, selectProps), {
value: selectedPreset,
onChange: onChangePreset,
data: selectData,
maxDropdownHeight: 240
}));
};
//# sourceMappingURL=DateRangePickerPresetSelect.js.map