@rc-component/trigger 1.16.1 → 2.0.0-0

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.
@@ -20,6 +20,7 @@ export interface PopupProps {
20
20
  open: boolean;
21
21
  /** Tell Portal that should keep in screen. e.g. should wait all motion end */
22
22
  keepDom: boolean;
23
+ fresh?: boolean;
23
24
  onClick?: React.MouseEventHandler<HTMLDivElement>;
24
25
  motion?: CSSMotionProps;
25
26
  maskMotion?: CSSMotionProps;
package/es/Popup/index.js CHANGED
@@ -19,6 +19,7 @@ var Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
19
  _onVisibleChanged = props.onVisibleChanged,
20
20
  open = props.open,
21
21
  keepDom = props.keepDom,
22
+ fresh = props.fresh,
22
23
  onClick = props.onClick,
23
24
  mask = props.mask,
24
25
  arrow = props.arrow,
@@ -173,7 +174,7 @@ var Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {
173
174
  arrowPos: arrowPos,
174
175
  align: align
175
176
  }), /*#__PURE__*/React.createElement(PopupContent, {
176
- cache: !open
177
+ cache: !open && !fresh
177
178
  }, childNode));
178
179
  });
179
180
  }));
package/es/index.d.ts CHANGED
@@ -50,6 +50,12 @@ export interface TriggerProps {
50
50
  getPopupClassNameFromAlign?: (align: AlignType) => string;
51
51
  onPopupClick?: React.MouseEventHandler<HTMLDivElement>;
52
52
  alignPoint?: boolean;
53
+ /**
54
+ * Trigger will memo content when close.
55
+ * This may affect the case if want to keep content update.
56
+ * Set `fresh` to `false` will always keep update.
57
+ */
58
+ fresh?: boolean;
53
59
  arrow?: boolean | ArrowTypeOuter;
54
60
  /** @deprecated Add `className` on `children`. Please add `className` directly instead. */
55
61
  className?: string;
package/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["prefixCls", "children", "action", "showAction", "hideAction", "popupVisible", "defaultPopupVisible", "onPopupVisibleChange", "afterPopupVisibleChange", "mouseEnterDelay", "mouseLeaveDelay", "focusDelay", "blurDelay", "mask", "maskClosable", "getPopupContainer", "forceRender", "autoDestroy", "destroyPopupOnHide", "popup", "popupClassName", "popupStyle", "popupPlacement", "builtinPlacements", "popupAlign", "zIndex", "stretch", "getPopupClassNameFromAlign", "alignPoint", "onPopupClick", "onPopupAlign", "arrow", "popupMotion", "maskMotion", "popupTransitionName", "popupAnimation", "maskTransitionName", "maskAnimation", "className", "getTriggerDOMNode"];
4
+ var _excluded = ["prefixCls", "children", "action", "showAction", "hideAction", "popupVisible", "defaultPopupVisible", "onPopupVisibleChange", "afterPopupVisibleChange", "mouseEnterDelay", "mouseLeaveDelay", "focusDelay", "blurDelay", "mask", "maskClosable", "getPopupContainer", "forceRender", "autoDestroy", "destroyPopupOnHide", "popup", "popupClassName", "popupStyle", "popupPlacement", "builtinPlacements", "popupAlign", "zIndex", "stretch", "getPopupClassNameFromAlign", "fresh", "alignPoint", "onPopupClick", "onPopupAlign", "arrow", "popupMotion", "maskMotion", "popupTransitionName", "popupAnimation", "maskTransitionName", "maskAnimation", "className", "getTriggerDOMNode"];
5
5
  import Portal from '@rc-component/portal';
6
6
  import classNames from 'classnames';
7
7
  import ResizeObserver from 'rc-resize-observer';
@@ -62,6 +62,7 @@ export function generateTrigger() {
62
62
  zIndex = props.zIndex,
63
63
  stretch = props.stretch,
64
64
  getPopupClassNameFromAlign = props.getPopupClassNameFromAlign,
65
+ fresh = props.fresh,
65
66
  alignPoint = props.alignPoint,
66
67
  onPopupClick = props.onPopupClick,
67
68
  onPopupAlign = props.onPopupAlign,
@@ -471,7 +472,8 @@ export function generateTrigger() {
471
472
  // Open
472
473
  ,
473
474
  open: mergedOpen,
474
- keepDom: inMotion
475
+ keepDom: inMotion,
476
+ fresh: fresh
475
477
  // Click
476
478
  ,
477
479
  onClick: onPopupClick
@@ -20,6 +20,7 @@ export interface PopupProps {
20
20
  open: boolean;
21
21
  /** Tell Portal that should keep in screen. e.g. should wait all motion end */
22
22
  keepDom: boolean;
23
+ fresh?: boolean;
23
24
  onClick?: React.MouseEventHandler<HTMLDivElement>;
24
25
  motion?: CSSMotionProps;
25
26
  maskMotion?: CSSMotionProps;
@@ -27,6 +27,7 @@ var Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {
27
27
  _onVisibleChanged = props.onVisibleChanged,
28
28
  open = props.open,
29
29
  keepDom = props.keepDom,
30
+ fresh = props.fresh,
30
31
  onClick = props.onClick,
31
32
  mask = props.mask,
32
33
  arrow = props.arrow,
@@ -181,7 +182,7 @@ var Popup = /*#__PURE__*/React.forwardRef(function (props, ref) {
181
182
  arrowPos: arrowPos,
182
183
  align: align
183
184
  }), /*#__PURE__*/React.createElement(_PopupContent.default, {
184
- cache: !open
185
+ cache: !open && !fresh
185
186
  }, childNode));
186
187
  });
187
188
  }));
package/lib/index.d.ts CHANGED
@@ -50,6 +50,12 @@ export interface TriggerProps {
50
50
  getPopupClassNameFromAlign?: (align: AlignType) => string;
51
51
  onPopupClick?: React.MouseEventHandler<HTMLDivElement>;
52
52
  alignPoint?: boolean;
53
+ /**
54
+ * Trigger will memo content when close.
55
+ * This may affect the case if want to keep content update.
56
+ * Set `fresh` to `false` will always keep update.
57
+ */
58
+ fresh?: boolean;
53
59
  arrow?: boolean | ArrowTypeOuter;
54
60
  /** @deprecated Add `className` on `children`. Please add `className` directly instead. */
55
61
  className?: string;
package/lib/index.js CHANGED
@@ -29,7 +29,7 @@ var _useWinClick = _interopRequireDefault(require("./hooks/useWinClick"));
29
29
  var _Popup = _interopRequireDefault(require("./Popup"));
30
30
  var _TriggerWrapper = _interopRequireDefault(require("./TriggerWrapper"));
31
31
  var _util = require("./util");
32
- var _excluded = ["prefixCls", "children", "action", "showAction", "hideAction", "popupVisible", "defaultPopupVisible", "onPopupVisibleChange", "afterPopupVisibleChange", "mouseEnterDelay", "mouseLeaveDelay", "focusDelay", "blurDelay", "mask", "maskClosable", "getPopupContainer", "forceRender", "autoDestroy", "destroyPopupOnHide", "popup", "popupClassName", "popupStyle", "popupPlacement", "builtinPlacements", "popupAlign", "zIndex", "stretch", "getPopupClassNameFromAlign", "alignPoint", "onPopupClick", "onPopupAlign", "arrow", "popupMotion", "maskMotion", "popupTransitionName", "popupAnimation", "maskTransitionName", "maskAnimation", "className", "getTriggerDOMNode"];
32
+ var _excluded = ["prefixCls", "children", "action", "showAction", "hideAction", "popupVisible", "defaultPopupVisible", "onPopupVisibleChange", "afterPopupVisibleChange", "mouseEnterDelay", "mouseLeaveDelay", "focusDelay", "blurDelay", "mask", "maskClosable", "getPopupContainer", "forceRender", "autoDestroy", "destroyPopupOnHide", "popup", "popupClassName", "popupStyle", "popupPlacement", "builtinPlacements", "popupAlign", "zIndex", "stretch", "getPopupClassNameFromAlign", "fresh", "alignPoint", "onPopupClick", "onPopupAlign", "arrow", "popupMotion", "maskMotion", "popupTransitionName", "popupAnimation", "maskTransitionName", "maskAnimation", "className", "getTriggerDOMNode"];
33
33
  // Removed Props List
34
34
  // Seems this can be auto
35
35
  // getDocument?: (element?: HTMLElement) => Document;
@@ -72,6 +72,7 @@ function generateTrigger() {
72
72
  zIndex = props.zIndex,
73
73
  stretch = props.stretch,
74
74
  getPopupClassNameFromAlign = props.getPopupClassNameFromAlign,
75
+ fresh = props.fresh,
75
76
  alignPoint = props.alignPoint,
76
77
  onPopupClick = props.onPopupClick,
77
78
  onPopupAlign = props.onPopupAlign,
@@ -481,7 +482,8 @@ function generateTrigger() {
481
482
  // Open
482
483
  ,
483
484
  open: mergedOpen,
484
- keepDom: inMotion
485
+ keepDom: inMotion,
486
+ fresh: fresh
485
487
  // Click
486
488
  ,
487
489
  onClick: onPopupClick
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rc-component/trigger",
3
- "version": "1.16.1",
3
+ "version": "2.0.0-0",
4
4
  "description": "base abstract trigger component for react",
5
5
  "engines": {
6
6
  "node": ">=8.x"
@@ -33,7 +33,7 @@
33
33
  "start": "dumi dev",
34
34
  "build": "dumi build",
35
35
  "compile": "father build && lessc assets/index.less assets/index.css",
36
- "prepublishOnly": "npm run compile && np --yolo --no-publish",
36
+ "prepublishOnly": "npm run compile && np --yolo --no-publish --branch feat/@rc-component/dom-align",
37
37
  "lint": "eslint src/ docs/examples/ --ext .tsx,.ts,.jsx,.js",
38
38
  "test": "rc-test",
39
39
  "coverage": "rc-test --coverage",
@@ -52,7 +52,7 @@
52
52
  "eslint": "^7.0.0",
53
53
  "father": "^4.0.0",
54
54
  "less": "^3.10.3",
55
- "np": "^6.2.0",
55
+ "np": "^8.0.4",
56
56
  "rc-test": "^7.0.13",
57
57
  "react": "^18.0.0",
58
58
  "react-dom": "^18.0.0",
@@ -60,13 +60,13 @@
60
60
  "typescript": "^4.0.0"
61
61
  },
62
62
  "dependencies": {
63
- "@babel/runtime": "^7.18.3",
63
+ "@babel/runtime": "^7.23.2",
64
64
  "@rc-component/portal": "^1.1.0",
65
65
  "classnames": "^2.3.2",
66
- "rc-align": "^4.0.0",
66
+ "rc-align": "5.0.0-0",
67
67
  "rc-motion": "^2.0.0",
68
68
  "rc-resize-observer": "^1.3.1",
69
- "rc-util": "^5.33.0"
69
+ "rc-util": "^5.38.0"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "react": ">=16.9.0",