@pisell/date-picker 1.0.18 → 1.0.20

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,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Dayjs } from "dayjs";
3
2
  import "./index.less";
4
3
  interface ActionBarProps {
@@ -13,12 +13,13 @@ export interface PisellDateRangePickerProps {
13
13
  [key: string]: any;
14
14
  };
15
15
  placeholder?: string;
16
- disableDate?: (day: Dayjs) => boolean;
16
+ disableDate?: (day: Dayjs, position: "start" | "end") => boolean;
17
17
  format?: string;
18
18
  suffixIcon?: React.ReactNode;
19
19
  bordered?: boolean;
20
20
  open?: boolean;
21
21
  onClose?: () => void;
22
+ popupWidth?: number;
22
23
  }
23
24
  declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => JSX.Element;
24
25
  export default PisellDateRangePicker;
@@ -13,6 +13,7 @@ import { SingleInputDateRangeField } from "../SingleInputDateRangeField";
13
13
  import classNames from "classnames";
14
14
  import { isBoolean } from "@pisell/utils";
15
15
  import "./index.less";
16
+ import useCssVariables from "./useCssVariables";
16
17
  var transDayjsArr = function transDayjsArr(dayjsArr, defaultValue) {
17
18
  var _newArr;
18
19
  var newArr = dayjsArr || defaultValue;
@@ -40,7 +41,9 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
40
41
  _props$bordered = props.bordered,
41
42
  bordered = _props$bordered === void 0 ? true : _props$bordered,
42
43
  propsOpen = props.open,
43
- onClose = props.onClose;
44
+ onClose = props.onClose,
45
+ _props$popupWidth = props.popupWidth,
46
+ popupWidth = _props$popupWidth === void 0 ? 625 : _props$popupWidth;
44
47
  var _useState = useState(propsOpen !== null && propsOpen !== void 0 ? propsOpen : false),
45
48
  _useState2 = _slicedToArray(_useState, 2),
46
49
  open = _useState2[0],
@@ -94,6 +97,12 @@ var PisellDateRangePicker = function PisellDateRangePicker(props) {
94
97
  }
95
98
  setValue(newVal);
96
99
  };
100
+ useCssVariables({
101
+ variables: {
102
+ '--pisell-date-range-picker-popup-width': "".concat(popupWidth, "px")
103
+ },
104
+ dom: document.body
105
+ });
97
106
  return /*#__PURE__*/React.createElement("span", {
98
107
  className: classNames(className, "pisell-date-range-picker", {
99
108
  "pisell-date-range-picker-no-border": !bordered
@@ -23,4 +23,50 @@
23
23
  line-height: 11px;
24
24
  border: none;
25
25
  }
26
- }
26
+ }
27
+
28
+ .MuiPickersPopper-root {
29
+ .MuiPickersLayout-root {
30
+ width: var(--pisell-date-range-picker-popup-width, 625px);
31
+ .MuiDateRangeCalendar-root {
32
+ width: 100%;
33
+ flex:1;
34
+ .MuiDateRangeCalendar-monthContainer {
35
+ width: 50%;
36
+ .MuiDayCalendar-header {
37
+ padding: 0 20px;
38
+ .MuiDayCalendar-weekDayLabel {
39
+ flex:1;
40
+ width: 100%;
41
+ }
42
+ }
43
+ .MuiPickersSlideTransition-root {
44
+ min-width: 200px;
45
+ min-height: auto;
46
+ &::before {
47
+ content: "";
48
+ display: block;
49
+ padding-top: 67%;
50
+ }
51
+ }
52
+ .MuiDayCalendar-monthContainer {
53
+ padding: 0 20px;
54
+ }
55
+ .MuiDayCalendar-weekContainer {
56
+ .MuiDateRangePickerDay-root {
57
+ flex: 1;
58
+ .MuiDateRangePickerDay-day {
59
+ width: 100%;
60
+ height: auto;
61
+ &::before {
62
+ content: "";
63
+ display: block;
64
+ padding-top: 100%;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,8 @@
1
+ interface Props {
2
+ variables: {
3
+ [key: string]: string;
4
+ };
5
+ dom: any;
6
+ }
7
+ declare const useCssVariables: (props: Props) => void;
8
+ export default useCssVariables;
@@ -0,0 +1,21 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useEffect } from "react";
8
+ var useCssVariables = function useCssVariables(props) {
9
+ var variables = props.variables,
10
+ dom = props.dom;
11
+ useEffect(function () {
12
+ if (!dom) return;
13
+ Object.entries(variables).forEach(function (_ref) {
14
+ var _ref2 = _slicedToArray(_ref, 2),
15
+ key = _ref2[0],
16
+ value = _ref2[1];
17
+ dom.style.setProperty(key, value);
18
+ });
19
+ }, [variables]);
20
+ };
21
+ export default useCssVariables;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./index.less";
3
2
  import { Dayjs } from "dayjs";
4
3
  export declare type PresetType = {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { DateRangeCalendarProps } from '../DateRangeCalendar';
4
3
  export interface DateRangeViewRendererProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends DateRangeCalendarProps<TDate> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { UseDesktopRangePickerParams, UseDesktopRangePickerProps } from './useDesktopRangePicker.types';
4
3
  export declare const useDesktopRangePicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ...pickerParams }: UseDesktopRangePickerParams<TDate, TView, TExternalProps>) => {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { UseMobileRangePickerParams, UseMobileRangePickerProps } from './useMobileRangePicker.types';
4
3
  export declare const useMobileRangePicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ...pickerParams }: UseMobileRangePickerParams<TDate, TView, TExternalProps>) => {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { UseStaticRangePickerParams, UseStaticRangePickerProps } from './useStaticRangePicker.types';
4
3
  /**
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Dayjs } from "dayjs";
3
2
  import "./index.less";
4
3
  interface ActionBarProps {
@@ -13,12 +13,13 @@ export interface PisellDateRangePickerProps {
13
13
  [key: string]: any;
14
14
  };
15
15
  placeholder?: string;
16
- disableDate?: (day: Dayjs) => boolean;
16
+ disableDate?: (day: Dayjs, position: "start" | "end") => boolean;
17
17
  format?: string;
18
18
  suffixIcon?: React.ReactNode;
19
19
  bordered?: boolean;
20
20
  open?: boolean;
21
21
  onClose?: () => void;
22
+ popupWidth?: number;
22
23
  }
23
24
  declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => JSX.Element;
24
25
  export default PisellDateRangePicker;
@@ -40,6 +40,7 @@ var import_SingleInputDateRangeField = require("../SingleInputDateRangeField");
40
40
  var import_classnames = __toESM(require("classnames"));
41
41
  var import_utils = require("@pisell/utils");
42
42
  var import_index = require("./index.less");
43
+ var import_useCssVariables = __toESM(require("./useCssVariables"));
43
44
  var transDayjsArr = (dayjsArr, defaultValue) => {
44
45
  let newArr = dayjsArr || defaultValue;
45
46
  if ((dayjsArr == null ? void 0 : dayjsArr.length) === 0) {
@@ -63,7 +64,8 @@ var PisellDateRangePicker = (props) => {
63
64
  suffixIcon,
64
65
  bordered = true,
65
66
  open: propsOpen,
66
- onClose
67
+ onClose,
68
+ popupWidth = 625
67
69
  } = props;
68
70
  const [open, setOpen] = (0, import_react.useState)(propsOpen ?? false);
69
71
  (0, import_react.useEffect)(() => {
@@ -114,6 +116,12 @@ var PisellDateRangePicker = (props) => {
114
116
  }
115
117
  setValue(newVal);
116
118
  };
119
+ (0, import_useCssVariables.default)({
120
+ variables: {
121
+ "--pisell-date-range-picker-popup-width": `${popupWidth}px`
122
+ },
123
+ dom: document.body
124
+ });
117
125
  return /* @__PURE__ */ React.createElement(
118
126
  "span",
119
127
  {
@@ -23,4 +23,50 @@
23
23
  line-height: 11px;
24
24
  border: none;
25
25
  }
26
- }
26
+ }
27
+
28
+ .MuiPickersPopper-root {
29
+ .MuiPickersLayout-root {
30
+ width: var(--pisell-date-range-picker-popup-width, 625px);
31
+ .MuiDateRangeCalendar-root {
32
+ width: 100%;
33
+ flex:1;
34
+ .MuiDateRangeCalendar-monthContainer {
35
+ width: 50%;
36
+ .MuiDayCalendar-header {
37
+ padding: 0 20px;
38
+ .MuiDayCalendar-weekDayLabel {
39
+ flex:1;
40
+ width: 100%;
41
+ }
42
+ }
43
+ .MuiPickersSlideTransition-root {
44
+ min-width: 200px;
45
+ min-height: auto;
46
+ &::before {
47
+ content: "";
48
+ display: block;
49
+ padding-top: 67%;
50
+ }
51
+ }
52
+ .MuiDayCalendar-monthContainer {
53
+ padding: 0 20px;
54
+ }
55
+ .MuiDayCalendar-weekContainer {
56
+ .MuiDateRangePickerDay-root {
57
+ flex: 1;
58
+ .MuiDateRangePickerDay-day {
59
+ width: 100%;
60
+ height: auto;
61
+ &::before {
62
+ content: "";
63
+ display: block;
64
+ padding-top: 100%;
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,8 @@
1
+ interface Props {
2
+ variables: {
3
+ [key: string]: string;
4
+ };
5
+ dom: any;
6
+ }
7
+ declare const useCssVariables: (props: Props) => void;
8
+ export default useCssVariables;
@@ -0,0 +1,36 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/PisellDateRangePicker/useCssVariables.ts
20
+ var useCssVariables_exports = {};
21
+ __export(useCssVariables_exports, {
22
+ default: () => useCssVariables_default
23
+ });
24
+ module.exports = __toCommonJS(useCssVariables_exports);
25
+ var import_react = require("react");
26
+ var useCssVariables = (props) => {
27
+ const { variables, dom } = props;
28
+ (0, import_react.useEffect)(() => {
29
+ if (!dom)
30
+ return;
31
+ Object.entries(variables).forEach(([key, value]) => {
32
+ dom.style.setProperty(key, value);
33
+ });
34
+ }, [variables]);
35
+ };
36
+ var useCssVariables_default = useCssVariables;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./index.less";
3
2
  import { Dayjs } from "dayjs";
4
3
  export declare type PresetType = {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { DateRangeCalendarProps } from '../DateRangeCalendar';
4
3
  export interface DateRangeViewRendererProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends DateRangeCalendarProps<TDate> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { UseDesktopRangePickerParams, UseDesktopRangePickerProps } from './useDesktopRangePicker.types';
4
3
  export declare const useDesktopRangePicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ...pickerParams }: UseDesktopRangePickerParams<TDate, TView, TExternalProps>) => {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { UseMobileRangePickerParams, UseMobileRangePickerProps } from './useMobileRangePicker.types';
4
3
  export declare const useMobileRangePicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ...pickerParams }: UseMobileRangePickerParams<TDate, TView, TExternalProps>) => {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
3
2
  import { UseStaticRangePickerParams, UseStaticRangePickerProps } from './useStaticRangePicker.types';
4
3
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/date-picker",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "sideEffects": [
5
5
  "*.less"
6
6
  ],