x-ui-design 0.8.11 → 0.8.12

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,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { TRangePickerProps } from '../../../types/datepicker';
3
3
  import './style.css';
4
- declare const RangePicker: ({ prefixCls, value, onChange, placeholder, disabled, error, format, prefix, allowClear, inputReadOnly, size, picker, locale, disabledDate, onOpenChange, onCalendarChange, style, className, separator, defaultValue, bordered, getPopupContainer, placement }: TRangePickerProps) => React.JSX.Element;
4
+ declare const RangePicker: ({ prefixCls, value, onChange, placeholder, disabled, error, format, prefix, allowClear, inputReadOnly, size, picker, locale, disabledDate, onVisibleChange, onCalendarChange, style, className, separator, defaultValue, bordered, getPopupContainer, placement }: TRangePickerProps) => React.JSX.Element;
5
5
  export default RangePicker;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { DropdownProps } from '../../types/dropdown';
3
3
  import './style.css';
4
- declare const Dropdown: ({ children, menu, open: controlledOpen, defaultOpen, onOpenChange, trigger, placement, overlayClassName, overlayStyle, getPopupContainer, destroyOnHidden, disabled, arrow, autoFocus, popupRender, className, overlay, prefixCls, onVisibleChange }: DropdownProps) => React.JSX.Element;
4
+ declare const Dropdown: ({ children, menu, open: controlledOpen, defaultOpen, onVisibleChange, trigger, placement, overlayClassName, overlayStyle, getPopupContainer, destroyOnHidden, disabled, arrow, autoFocus, popupRender, className, overlay, prefixCls, }: DropdownProps) => React.JSX.Element;
5
5
  export default Dropdown;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import { PopoverProps } from "../../types/popover";
3
3
  import './style.css';
4
- declare const Popover: ({ prefixCls, content, children, trigger, placement, open, overlayStyle, onOpenChange, getPopupContainer }: PopoverProps) => React.JSX.Element;
4
+ declare const Popover: ({ prefixCls, content, children, trigger, placement, open, title, overlayClassName, overlayStyle, onVisibleChange, getPopupContainer }: PopoverProps) => React.JSX.Element;
5
5
  export default Popover;
@@ -33,7 +33,7 @@ export type TDatePickerProps = DefaultProps & {
33
33
  };
34
34
  onChange?: (date: RuleType | RuleType[], dateString: string | string[]) => void;
35
35
  onCalendarChange?: (date: RuleType | RuleType[], dateString: string | string[], info: BaseInfo) => void;
36
- onOpenChange?: (open: boolean) => void;
36
+ onVisibleChange?: ((open: boolean) => void) | undefined;
37
37
  getPopupContainer?: (node: HTMLElement) => HTMLElement;
38
38
  showToday?: boolean;
39
39
  inputReadOnly?: boolean;
@@ -16,7 +16,7 @@ export type DropdownProps = DefaultProps & {
16
16
  };
17
17
  open?: boolean;
18
18
  defaultOpen?: boolean;
19
- onOpenChange?: (open: boolean) => void;
19
+ onVisibleChange?: ((open: boolean) => void) | undefined;
20
20
  trigger?: TriggerType;
21
21
  placement?: Placement;
22
22
  overlayClassName?: string;
@@ -29,7 +29,6 @@ export type DropdownProps = DefaultProps & {
29
29
  autoAdjustOverflow?: boolean;
30
30
  popupRender?: (node: ReactNode) => ReactNode;
31
31
  overlay?: ReactElement | OverlayFunc;
32
- onVisibleChange?: ((open: boolean) => void) | undefined;
33
32
  };
34
33
  export type DropdownMenuInnerProps = DefaultProps & {
35
34
  items: DropdownItemType[];
@@ -7,6 +7,8 @@ export interface PopoverProps {
7
7
  placement?: "top" | "bottom" | "left" | "right" | "topRight" | "bottomRight" | "topLeft" | "bottomLeft";
8
8
  open?: boolean;
9
9
  overlayStyle?: CSSProperties;
10
- onOpenChange?: (open: boolean) => void;
10
+ overlayClassName?: string;
11
+ title?: string | ReactNode;
12
+ onVisibleChange?: ((open: boolean) => void) | undefined;
11
13
  getPopupContainer?: ((node: HTMLElement) => HTMLElement) | undefined;
12
14
  }
package/dist/index.esm.js CHANGED
@@ -2440,7 +2440,7 @@ const RangePicker = ({
2440
2440
  picker = 'date',
2441
2441
  locale,
2442
2442
  disabledDate,
2443
- onOpenChange,
2443
+ onVisibleChange,
2444
2444
  onCalendarChange,
2445
2445
  style = {},
2446
2446
  className = '',
@@ -2480,7 +2480,7 @@ const RangePicker = ({
2480
2480
  const handleClickOutside = event => {
2481
2481
  if (popupRef.current && !popupRef.current.contains(event.target) && triggerRef.current && !triggerRef.current.contains(event.target)) {
2482
2482
  setIsOpen(false);
2483
- onOpenChange?.(false);
2483
+ onVisibleChange?.(false);
2484
2484
  }
2485
2485
  };
2486
2486
  document.addEventListener('mousedown', handleClickOutside);
@@ -2505,7 +2505,7 @@ const RangePicker = ({
2505
2505
  onChange?.([begin.toUTCString(), end.toUTCString()], [formatDate(begin), formatDate(end)]);
2506
2506
  onCalendarChange?.([begin.toUTCString(), end.toUTCString()], [formatDate(begin), formatDate(end)], {});
2507
2507
  setIsOpen(false);
2508
- onOpenChange?.(false);
2508
+ onVisibleChange?.(false);
2509
2509
  }
2510
2510
  };
2511
2511
  const isMonthDisabled = month => {
@@ -2701,7 +2701,7 @@ const RangePicker = ({
2701
2701
  e.stopPropagation();
2702
2702
  if (!isOpen) {
2703
2703
  setIsOpen(!isOpen);
2704
- onOpenChange?.(!isOpen);
2704
+ onVisibleChange?.(!isOpen);
2705
2705
  }
2706
2706
  }
2707
2707
  }, prefix, /*#__PURE__*/React.createElement("input", {
@@ -4729,7 +4729,7 @@ const Dropdown = ({
4729
4729
  menu,
4730
4730
  open: controlledOpen,
4731
4731
  defaultOpen = false,
4732
- onOpenChange,
4732
+ onVisibleChange,
4733
4733
  trigger = 'hover',
4734
4734
  placement = 'bottomLeft',
4735
4735
  overlayClassName = '',
@@ -4742,8 +4742,7 @@ const Dropdown = ({
4742
4742
  popupRender,
4743
4743
  className = '',
4744
4744
  overlay,
4745
- prefixCls = prefixClsDropdown,
4746
- onVisibleChange
4745
+ prefixCls = prefixClsDropdown
4747
4746
  }) => {
4748
4747
  const [open, setOpen] = useState(controlledOpen ?? defaultOpen);
4749
4748
  const [_hover, setHover] = useState(controlledOpen ?? defaultOpen);
@@ -4783,7 +4782,7 @@ const Dropdown = ({
4783
4782
  if (!isControlled) {
4784
4783
  setOpen(next);
4785
4784
  }
4786
- onOpenChange?.(next);
4785
+ onVisibleChange?.(next);
4787
4786
  onVisibleChange?.(next);
4788
4787
  };
4789
4788
  useEffect(() => {
@@ -4898,7 +4897,7 @@ var Dropdown$1 = /*#__PURE__*/Object.freeze({
4898
4897
  default: Dropdown
4899
4898
  });
4900
4899
 
4901
- var css_248z = ".xUi-popover{&:before{content:\"\";height:8px;left:0;position:absolute;top:-8px;width:100%;z-index:10000}}.xUi-popover-wrapper{display:inline-block;position:relative}.xUi-popover-wrapper-content{cursor:pointer}.xUi-popover{background:var(--xui-background-color);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:8px 12px;width:max-content;z-index:1000}.xUi-popover-inner{color:var(--xui-text-color);font-size:14px}.xUi-popover-arrow{background:var(--xui-background-color);border-left:.5px solid var(--xui-border-color);border-top:.5px solid var(--xui-border-color);height:10px;left:12px;position:absolute;top:-6px;transform:rotate(45deg);width:10px}.xUi-popover-arrow.bottom{border-bottom:.5px solid var(--xui-border-color);border-left:unset;border-right:.5px solid var(--xui-border-color);border-top:unset;bottom:-6px;top:unset}";
4900
+ var css_248z = ".xUi-popover{&:before{content:\"\";height:8px;left:0;position:absolute;top:-8px;width:100%;z-index:10000}}.xUi-popover-wrapper{display:inline-block;position:relative}.xUi-popover-wrapper-content{cursor:pointer}.xUi-popover{background:var(--xui-background-color);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:8px 12px;width:max-content;z-index:1000}.xUi-popover-title{padding:4px}.xUi-popover-inner{color:var(--xui-text-color);font-size:14px}.xUi-popover-arrow{background:var(--xui-background-color);border-left:.5px solid var(--xui-border-color);border-top:.5px solid var(--xui-border-color);height:10px;left:12px;position:absolute;top:-6px;transform:rotate(45deg);width:10px}.xUi-popover-arrow.bottom{border-bottom:.5px solid var(--xui-border-color);border-left:unset;border-right:.5px solid var(--xui-border-color);border-top:unset;bottom:-6px;top:unset}";
4902
4901
  styleInject(css_248z);
4903
4902
 
4904
4903
  const Popover = ({
@@ -4908,8 +4907,10 @@ const Popover = ({
4908
4907
  trigger = "click",
4909
4908
  placement = "bottom",
4910
4909
  open,
4910
+ title,
4911
+ overlayClassName = '',
4911
4912
  overlayStyle = {},
4912
- onOpenChange,
4913
+ onVisibleChange,
4913
4914
  getPopupContainer
4914
4915
  }) => {
4915
4916
  const triggerRef = useRef(null);
@@ -4929,18 +4930,18 @@ const Popover = ({
4929
4930
  getPopupContainer: getPopupContainer?.(triggerRef.current)
4930
4931
  });
4931
4932
  const toggle = () => {
4932
- onOpenChange ? onOpenChange(!isOpen) : setInnerOpen(!isOpen);
4933
+ onVisibleChange ? onVisibleChange(!isOpen) : setInnerOpen(!isOpen);
4933
4934
  };
4934
4935
  const show = () => {
4935
4936
  setHover(true);
4936
4937
  if (trigger === "hover") {
4937
- onOpenChange ? onOpenChange(true) : setInnerOpen(true);
4938
+ onVisibleChange ? onVisibleChange(true) : setInnerOpen(true);
4938
4939
  }
4939
4940
  };
4940
4941
  const hide = () => {
4941
4942
  setHover(false);
4942
4943
  if (trigger === "hover") {
4943
- onOpenChange ? onOpenChange(false) : setInnerOpen(false);
4944
+ onVisibleChange ? onVisibleChange(false) : setInnerOpen(false);
4944
4945
  }
4945
4946
  };
4946
4947
  const childProps = trigger === "click" ? {
@@ -4960,14 +4961,16 @@ const Popover = ({
4960
4961
  wrapper: element => getPopupContainer ? /*#__PURE__*/createPortal(element, getPopupContainer(popupRef.current)) : /*#__PURE__*/React.createElement(React.Fragment, null, element)
4961
4962
  }, /*#__PURE__*/React.createElement("div", {
4962
4963
  ref: popupRef,
4963
- className: clsx(prefixCls, `${prefixCls}-${placement}`),
4964
+ className: clsx(prefixCls, `${prefixCls}-${placement}`, `${overlayClassName}`),
4964
4965
  style: {
4965
4966
  zIndex: _hover ? 1000 : 1,
4966
4967
  ...overlayStyle,
4967
4968
  position: "absolute",
4968
4969
  ...dropdownPosition
4969
4970
  }
4970
- }, /*#__PURE__*/React.createElement("div", {
4971
+ }, title ? /*#__PURE__*/React.createElement("div", {
4972
+ className: `${prefixCls}-title`
4973
+ }, title) : null, /*#__PURE__*/React.createElement("div", {
4971
4974
  className: `${prefixCls}-inner`
4972
4975
  }, content), /*#__PURE__*/React.createElement("div", {
4973
4976
  className: `${prefixCls}-arrow ${shouldShowAbove ? 'bottom' : ''}`