UNPKG

@coveord/plasma-mantine

Version:

A Plasma flavoured Mantine theme

64 lines (63 loc) 2.85 kB
"use strict"; 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 DateRangePickerPresetSelect(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 getSelectedPreset() { 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((0, _dayjs.default)(value[0]).toISOString()) && (0, _dayjs.default)(range[1]).isSame((0, _dayjs.default)(value[1]).toISOString()); }); 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 onChangePreset(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