linkmore-design 1.0.53 → 1.0.56

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.
Files changed (257) hide show
  1. package/dist/{Notification → Affix}/demos/basic.d.ts +0 -0
  2. package/dist/Affix/index.d.ts +54 -0
  3. package/dist/{Notification → Affix}/style/index.d.ts +0 -0
  4. package/dist/Affix/utils.d.ts +15 -0
  5. package/dist/Alert/ErrorBoundary.d.ts +22 -0
  6. package/dist/{Notification/demos/button.d.ts → Alert/demos/basic.d.ts} +0 -0
  7. package/dist/{Notification/demos/icon.d.ts → Alert/demos/visible.d.ts} +0 -0
  8. package/dist/Alert/index.d.ts +41 -0
  9. package/dist/Alert/style/index.d.ts +1 -0
  10. package/dist/CardTable/card/PictureTextRowOperate.d.ts +7 -0
  11. package/dist/CardTable/fns/index.d.ts +3 -3
  12. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  13. package/dist/CardTable/pager/index.d.ts +3 -0
  14. package/dist/IconFont/index.d.ts +1 -1
  15. package/dist/LmFilter/Controls/CheckboxTags.d.ts +6 -0
  16. package/dist/LmFilter/Controls/index.d.ts +2 -0
  17. package/dist/LmFilter/LmFilter.d.ts +6 -0
  18. package/dist/LmFilter/baseFilter/fuzzySearch.d.ts +4 -0
  19. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  20. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  21. package/dist/LmFilter/complexFilter/drawer.d.ts +4 -0
  22. package/dist/LmFilter/complexFilter/index.d.ts +4 -0
  23. package/dist/LmFilter/complexFilter/valueDrawer.d.ts +4 -0
  24. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  25. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  26. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  27. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  28. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  29. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  30. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  31. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  32. package/dist/LmFilter/components/index.d.ts +3 -0
  33. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  34. package/dist/LmFilter/demos/basic.d.ts +2 -0
  35. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  36. package/dist/LmFilter/hooks/index.d.ts +1 -0
  37. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  38. package/dist/LmFilter/index.d.ts +2 -0
  39. package/dist/LmFilter/localization.d.ts +8 -0
  40. package/dist/LmFilter/style/index.d.ts +1 -0
  41. package/dist/LmFilter/utils.d.ts +9 -0
  42. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  43. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  44. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  45. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  46. package/dist/QuickMenu/demos/basic.d.ts +2 -0
  47. package/dist/QuickMenu/index.d.ts +14 -0
  48. package/dist/QuickMenu/style/index.d.ts +1 -0
  49. package/dist/Switch/demos/table.d.ts +2 -0
  50. package/dist/Switch/index.d.ts +2 -1
  51. package/dist/Tag/demos/ExigencyTag.d.ts +2 -0
  52. package/dist/Tag/index.d.ts +4 -0
  53. package/dist/Upload/demos/picture-little.d.ts +3 -0
  54. package/dist/Upload/index.d.ts +5 -1
  55. package/dist/_util/domTarget.d.ts +7 -0
  56. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  57. package/dist/_util/reactNode.d.ts +7 -0
  58. package/dist/_util/throttleByAnimationFrame.d.ts +8 -0
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.umd.js +4245 -3326
  61. package/dist/index.umd.min.js +5 -5
  62. package/dist/notification/demos/basic.d.ts +2 -0
  63. package/dist/notification/demos/button.d.ts +2 -0
  64. package/dist/notification/demos/icon.d.ts +2 -0
  65. package/dist/notification/hooks/useNotification.d.ts +7 -0
  66. package/dist/notification/index.d.ts +54 -0
  67. package/dist/notification/style/index.d.ts +1 -0
  68. package/es/Affix/index.d.ts +54 -0
  69. package/es/Affix/index.js +326 -0
  70. package/es/{Notification → Affix}/style/index.css +0 -3
  71. package/es/{Notification → Affix}/style/index.d.ts +0 -0
  72. package/es/{Notification → Affix}/style/index.js +0 -0
  73. package/es/Affix/utils.d.ts +15 -0
  74. package/es/Affix/utils.js +83 -0
  75. package/es/Alert/ErrorBoundary.d.ts +22 -0
  76. package/es/Alert/ErrorBoundary.js +65 -0
  77. package/es/Alert/index.d.ts +41 -0
  78. package/es/Alert/index.js +192 -0
  79. package/es/Alert/style/index.css +531 -0
  80. package/{lib/Notification → es/Alert}/style/index.d.ts +0 -0
  81. package/es/Alert/style/index.js +1 -0
  82. package/es/CardTable/body/TableBodyCell.js +3 -0
  83. package/es/CardTable/card/PictureTextColumn.js +8 -6
  84. package/es/CardTable/card/PictureTextRow.js +14 -51
  85. package/es/CardTable/card/PictureTextRowOperate.js +130 -0
  86. package/es/CardTable/fns/index.js +38 -8
  87. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  88. package/es/CardTable/pager/index.js +48 -0
  89. package/es/CardTable/style/index.css +160 -12
  90. package/es/CardTable/table/TableRoot.js +20 -18
  91. package/es/CardTable/table/TableWrapper.js +4 -0
  92. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  93. package/es/Descriptions/style/index.css +10 -8
  94. package/es/IconFont/index.js +3 -2
  95. package/es/LmFilter/Controls/CheckboxTags.js +53 -0
  96. package/es/LmFilter/Controls/index.js +47 -0
  97. package/es/LmFilter/LmFilter.js +39 -0
  98. package/es/LmFilter/baseFilter/fuzzySearch.js +53 -0
  99. package/es/LmFilter/baseFilter/index.js +34 -0
  100. package/es/LmFilter/clearFilter/index.js +35 -0
  101. package/es/LmFilter/complexFilter/drawer.js +376 -0
  102. package/es/LmFilter/complexFilter/index.js +64 -0
  103. package/es/LmFilter/complexFilter/valueDrawer.js +238 -0
  104. package/es/LmFilter/components/CascaderFilter.js +159 -0
  105. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  106. package/es/LmFilter/components/DateFilter.js +139 -0
  107. package/es/LmFilter/components/DropdownFIlter.js +229 -0
  108. package/es/LmFilter/components/EmptyFilter.js +27 -0
  109. package/es/LmFilter/components/InputFilter.js +52 -0
  110. package/es/LmFilter/components/InputSearchClose.js +74 -0
  111. package/es/LmFilter/components/SelectFilter.js +113 -0
  112. package/es/LmFilter/components/index.js +140 -0
  113. package/es/LmFilter/customFilter/index.js +17 -0
  114. package/es/LmFilter/filterFns/index.js +73 -0
  115. package/es/LmFilter/hooks/index.js +18 -0
  116. package/es/LmFilter/hooks/useDelayedFn.js +29 -0
  117. package/es/LmFilter/icon_placeholder.png +0 -0
  118. package/es/LmFilter/index.js +16 -0
  119. package/es/LmFilter/localization.d.ts +8 -0
  120. package/es/LmFilter/localization.js +12 -0
  121. package/es/LmFilter/style/index.js +3 -0
  122. package/es/LmFilter/style/style.css +212 -0
  123. package/es/LmFilter/utils.js +71 -0
  124. package/es/LmFilter/wrapper/Filter.js +33 -0
  125. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  126. package/es/LmFilter/wrapper/FilterRoot.js +170 -0
  127. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  128. package/es/QuickMenu/index.d.ts +14 -0
  129. package/es/QuickMenu/index.js +169 -0
  130. package/es/QuickMenu/style/index.css +560 -0
  131. package/es/QuickMenu/style/index.d.ts +1 -0
  132. package/es/QuickMenu/style/index.js +1 -0
  133. package/es/Switch/index.d.ts +2 -1
  134. package/es/Switch/index.js +33 -1
  135. package/es/Switch/style/index.css +41 -0
  136. package/es/Tag/index.d.ts +4 -0
  137. package/es/Tag/index.js +48 -2
  138. package/es/Tag/style/index.css +4 -1
  139. package/es/Upload/index.d.ts +5 -1
  140. package/es/Upload/index.js +7 -2
  141. package/es/Upload/style/index.css +35 -0
  142. package/es/_util/domTarget.d.ts +7 -0
  143. package/es/_util/domTarget.js +20 -0
  144. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  145. package/es/_util/getDataOrAriaProps.js +9 -0
  146. package/es/_util/reactNode.d.ts +7 -0
  147. package/es/_util/reactNode.js +10 -0
  148. package/es/_util/throttleByAnimationFrame.d.ts +8 -0
  149. package/es/_util/throttleByAnimationFrame.js +58 -0
  150. package/es/index.d.ts +2 -1
  151. package/es/index.js +3 -2
  152. package/es/message/style/index.css +1 -0
  153. package/es/notification/hooks/useNotification.d.ts +7 -0
  154. package/es/notification/hooks/useNotification.js +54 -0
  155. package/es/notification/index.d.ts +54 -0
  156. package/es/notification/index.js +342 -0
  157. package/es/notification/style/index.css +546 -0
  158. package/es/notification/style/index.d.ts +1 -0
  159. package/es/notification/style/index.js +1 -0
  160. package/lib/Affix/index.d.ts +54 -0
  161. package/lib/Affix/index.js +349 -0
  162. package/lib/{Notification → Affix}/style/index.css +0 -3
  163. package/lib/Affix/style/index.d.ts +1 -0
  164. package/lib/{Notification → Affix}/style/index.js +0 -0
  165. package/lib/Affix/utils.d.ts +15 -0
  166. package/lib/Affix/utils.js +104 -0
  167. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  168. package/lib/Alert/ErrorBoundary.js +79 -0
  169. package/lib/Alert/index.d.ts +41 -0
  170. package/lib/Alert/index.js +215 -0
  171. package/lib/Alert/style/index.css +531 -0
  172. package/lib/Alert/style/index.d.ts +1 -0
  173. package/lib/Alert/style/index.js +3 -0
  174. package/lib/CardTable/body/TableBodyCell.js +3 -0
  175. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  176. package/lib/CardTable/card/PictureTextRow.js +14 -51
  177. package/lib/CardTable/card/PictureTextRowOperate.js +130 -0
  178. package/lib/CardTable/fns/index.js +38 -8
  179. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  180. package/lib/CardTable/pager/index.js +48 -0
  181. package/lib/CardTable/style/index.css +160 -12
  182. package/lib/CardTable/table/TableRoot.js +20 -18
  183. package/lib/CardTable/table/TableWrapper.js +4 -0
  184. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  185. package/lib/Descriptions/style/index.css +10 -8
  186. package/lib/IconFont/index.js +3 -2
  187. package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
  188. package/lib/LmFilter/Controls/index.js +47 -0
  189. package/lib/LmFilter/LmFilter.js +39 -0
  190. package/lib/LmFilter/baseFilter/fuzzySearch.js +53 -0
  191. package/lib/LmFilter/baseFilter/index.js +34 -0
  192. package/lib/LmFilter/clearFilter/index.js +35 -0
  193. package/lib/LmFilter/complexFilter/drawer.js +376 -0
  194. package/lib/LmFilter/complexFilter/index.js +64 -0
  195. package/lib/LmFilter/complexFilter/valueDrawer.js +238 -0
  196. package/lib/LmFilter/components/CascaderFilter.js +159 -0
  197. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  198. package/lib/LmFilter/components/DateFilter.js +139 -0
  199. package/lib/LmFilter/components/DropdownFIlter.js +229 -0
  200. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  201. package/lib/LmFilter/components/InputFilter.js +52 -0
  202. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  203. package/lib/LmFilter/components/SelectFilter.js +113 -0
  204. package/lib/LmFilter/components/index.js +140 -0
  205. package/lib/LmFilter/customFilter/index.js +17 -0
  206. package/lib/LmFilter/filterFns/index.js +73 -0
  207. package/lib/LmFilter/hooks/index.js +18 -0
  208. package/lib/LmFilter/hooks/useDelayedFn.js +29 -0
  209. package/lib/LmFilter/icon_placeholder.png +0 -0
  210. package/lib/LmFilter/index.js +16 -0
  211. package/lib/LmFilter/localization.d.ts +8 -0
  212. package/lib/LmFilter/localization.js +19 -0
  213. package/lib/LmFilter/style/index.js +3 -0
  214. package/lib/LmFilter/style/style.css +212 -0
  215. package/lib/LmFilter/utils.js +71 -0
  216. package/lib/LmFilter/wrapper/Filter.js +33 -0
  217. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  218. package/lib/LmFilter/wrapper/FilterRoot.js +170 -0
  219. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  220. package/lib/QuickMenu/index.d.ts +14 -0
  221. package/lib/QuickMenu/index.js +187 -0
  222. package/lib/QuickMenu/style/index.css +560 -0
  223. package/lib/QuickMenu/style/index.d.ts +1 -0
  224. package/lib/QuickMenu/style/index.js +3 -0
  225. package/lib/Switch/index.d.ts +2 -1
  226. package/lib/Switch/index.js +34 -1
  227. package/lib/Switch/style/index.css +41 -0
  228. package/lib/Tag/index.d.ts +4 -0
  229. package/lib/Tag/index.js +48 -1
  230. package/lib/Tag/style/index.css +4 -1
  231. package/lib/Upload/index.d.ts +5 -1
  232. package/lib/Upload/index.js +8 -2
  233. package/lib/Upload/style/index.css +35 -0
  234. package/lib/_util/domTarget.d.ts +7 -0
  235. package/lib/_util/domTarget.js +31 -0
  236. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  237. package/lib/_util/getDataOrAriaProps.js +16 -0
  238. package/lib/_util/reactNode.d.ts +7 -0
  239. package/lib/_util/reactNode.js +24 -0
  240. package/lib/_util/throttleByAnimationFrame.d.ts +8 -0
  241. package/lib/_util/throttleByAnimationFrame.js +72 -0
  242. package/lib/index.d.ts +2 -1
  243. package/lib/index.js +11 -3
  244. package/lib/message/style/index.css +1 -0
  245. package/lib/notification/hooks/useNotification.d.ts +7 -0
  246. package/lib/notification/hooks/useNotification.js +69 -0
  247. package/lib/notification/index.d.ts +54 -0
  248. package/lib/notification/index.js +365 -0
  249. package/lib/notification/style/index.css +546 -0
  250. package/lib/notification/style/index.d.ts +1 -0
  251. package/lib/notification/style/index.js +3 -0
  252. package/package.json +5 -2
  253. package/dist/Notification/index.d.ts +0 -7
  254. package/es/Notification/index.d.ts +0 -7
  255. package/es/Notification/index.js +0 -10
  256. package/lib/Notification/index.d.ts +0 -7
  257. package/lib/Notification/index.js +0 -23
@@ -0,0 +1,2 @@
1
+ declare const App: () => JSX.Element;
2
+ export default App;
@@ -0,0 +1,2 @@
1
+ declare const App: () => JSX.Element;
2
+ export default App;
@@ -0,0 +1,2 @@
1
+ declare const App: () => JSX.Element;
2
+ export default App;
@@ -0,0 +1,7 @@
1
+ import type { NoticeContent as RCNoticeContent, NotificationInstance as RCNotificationInstance } from 'rc-notification/lib/Notification';
2
+ import * as React from 'react';
3
+ import type { ArgsProps, NotificationInstance } from '..';
4
+ export default function createUseNotification(getNotificationInstance: (args: ArgsProps, callback: (info: {
5
+ prefixCls: string;
6
+ instance: RCNotificationInstance;
7
+ }) => void) => void, getRCNoticeProps: (args: ArgsProps, prefixCls: string) => RCNoticeContent): () => [NotificationInstance, React.ReactElement];
@@ -0,0 +1,54 @@
1
+ import type { NotificationInstance as RCNotificationInstance } from 'rc-notification/lib/Notification';
2
+ import * as React from 'react';
3
+ export declare type NotificationPlacement = 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight';
4
+ export declare type IconType = 'success' | 'info' | 'error' | 'warning';
5
+ export interface ConfigProps {
6
+ top?: number;
7
+ bottom?: number;
8
+ duration?: number;
9
+ prefixCls?: string;
10
+ placement?: NotificationPlacement;
11
+ getContainer?: () => HTMLElement;
12
+ closeIcon?: React.ReactNode;
13
+ rtl?: boolean;
14
+ maxCount?: number;
15
+ }
16
+ export interface ArgsProps {
17
+ message: React.ReactNode;
18
+ description?: React.ReactNode;
19
+ btn?: React.ReactNode;
20
+ key?: string;
21
+ onClose?: () => void;
22
+ duration?: number | null;
23
+ icon?: React.ReactNode;
24
+ placement?: NotificationPlacement;
25
+ maxCount?: number;
26
+ style?: React.CSSProperties;
27
+ prefixCls?: string;
28
+ className?: string;
29
+ readonly type?: IconType;
30
+ onClick?: () => void;
31
+ top?: number;
32
+ bottom?: number;
33
+ getContainer?: () => HTMLElement;
34
+ closeIcon?: React.ReactNode;
35
+ progress?: boolean;
36
+ }
37
+ export interface NotificationInstance {
38
+ success(args: ArgsProps): void;
39
+ error(args: ArgsProps): void;
40
+ info(args: ArgsProps): void;
41
+ warning(args: ArgsProps): void;
42
+ open(args: ArgsProps): void;
43
+ }
44
+ export interface NotificationApi extends NotificationInstance {
45
+ warn(args: ArgsProps): void;
46
+ close(key: string): void;
47
+ config(options: ConfigProps): void;
48
+ destroy(): void;
49
+ useNotification: () => [NotificationInstance, React.ReactElement];
50
+ }
51
+ /** @private test Only function. Not work on production */
52
+ export declare const getInstance: (cacheKey: string) => Promise<RCNotificationInstance>;
53
+ declare const _default: NotificationApi;
54
+ export default _default;
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+ import type { ConfigConsumerProps } from 'antd/es/config-provider';
3
+ export interface AffixProps {
4
+ /** 距离窗口顶部达到指定偏移量后触发 */
5
+ offsetTop?: number;
6
+ /** 距离窗口底部达到指定偏移量后触发 */
7
+ offsetBottom?: number;
8
+ style?: React.CSSProperties;
9
+ /** 固定状态改变时触发的回调函数 */
10
+ onChange?: (affixed?: boolean) => void;
11
+ /** 设置 Affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数 */
12
+ target?: () => Window | HTMLElement | null;
13
+ prefixCls?: string;
14
+ className?: string;
15
+ children: React.ReactNode;
16
+ }
17
+ interface InternalAffixProps extends AffixProps {
18
+ affixPrefixCls: string;
19
+ }
20
+ declare enum AffixStatus {
21
+ None = 0,
22
+ Prepare = 1
23
+ }
24
+ export interface AffixState {
25
+ affixStyle?: React.CSSProperties;
26
+ placeholderStyle?: React.CSSProperties;
27
+ status: AffixStatus;
28
+ lastAffix: boolean;
29
+ prevTarget: Window | HTMLElement | null;
30
+ }
31
+ declare class Affix extends React.Component<InternalAffixProps, AffixState> {
32
+ static contextType: React.Context<ConfigConsumerProps>;
33
+ state: AffixState;
34
+ placeholderNode: HTMLDivElement;
35
+ fixedNode: HTMLDivElement;
36
+ private timeout;
37
+ context: ConfigConsumerProps;
38
+ private getTargetFunc;
39
+ componentDidMount(): void;
40
+ componentDidUpdate(prevProps: AffixProps): void;
41
+ componentWillUnmount(): void;
42
+ getOffsetTop: () => number;
43
+ getOffsetBottom: () => number;
44
+ savePlaceholderNode: (node: HTMLDivElement) => void;
45
+ saveFixedNode: (node: HTMLDivElement) => void;
46
+ measure: () => void;
47
+ prepareMeasure: () => void;
48
+ updatePosition(): void;
49
+ lazyUpdatePosition(): void;
50
+ render(): JSX.Element;
51
+ }
52
+ export declare type InternalAffixClass = Affix;
53
+ declare const AffixFC: React.ForwardRefExoticComponent<AffixProps & React.RefAttributes<Affix>>;
54
+ export default AffixFC;
@@ -0,0 +1,326 @@
1
+ import "antd/es/affix/style";
2
+ import _Affix from "antd/es/affix";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
7
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
8
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
9
+
10
+ var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
11
+ var c = arguments.length,
12
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
13
+ d;
14
+ if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
15
+ if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ }
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+
20
+ import classNames from 'classnames';
21
+ import ResizeObserver from 'rc-resize-observer';
22
+ import omit from 'rc-util/lib/omit';
23
+ import * as React from 'react';
24
+ import { ConfigContext } from 'antd/es/config-provider';
25
+ import { throttleByAnimationFrameDecorator } from '../_util/throttleByAnimationFrame';
26
+ import { addObserveTarget, getFixedBottom, getFixedTop, getTargetRect, removeObserveTarget } from './utils';
27
+
28
+ function getDefaultTarget() {
29
+ return typeof window !== 'undefined' ? window : null;
30
+ }
31
+
32
+ var AffixStatus;
33
+
34
+ (function (AffixStatus) {
35
+ AffixStatus[AffixStatus["None"] = 0] = "None";
36
+ AffixStatus[AffixStatus["Prepare"] = 1] = "Prepare";
37
+ })(AffixStatus || (AffixStatus = {}));
38
+
39
+ var Affix = /*#__PURE__*/function (_React$Component) {
40
+ _inherits(Affix, _React$Component);
41
+
42
+ var _super = _createSuper(Affix);
43
+
44
+ function Affix() {
45
+ var _this;
46
+
47
+ _classCallCheck(this, Affix);
48
+
49
+ _this = _super.apply(this, arguments);
50
+ _this.state = {
51
+ status: AffixStatus.None,
52
+ lastAffix: false,
53
+ prevTarget: null
54
+ };
55
+
56
+ _this.getOffsetTop = function () {
57
+ var _this$props = _this.props,
58
+ offsetBottom = _this$props.offsetBottom,
59
+ offsetTop = _this$props.offsetTop;
60
+ return offsetBottom === undefined && offsetTop === undefined ? 0 : offsetTop;
61
+ };
62
+
63
+ _this.getOffsetBottom = function () {
64
+ return _this.props.offsetBottom;
65
+ };
66
+
67
+ _this.savePlaceholderNode = function (node) {
68
+ _this.placeholderNode = node;
69
+ };
70
+
71
+ _this.saveFixedNode = function (node) {
72
+ _this.fixedNode = node;
73
+ }; // =================== Measure ===================
74
+
75
+
76
+ _this.measure = function () {
77
+ var _this$state = _this.state,
78
+ status = _this$state.status,
79
+ lastAffix = _this$state.lastAffix;
80
+ var onChange = _this.props.onChange;
81
+
82
+ var targetFunc = _this.getTargetFunc();
83
+
84
+ if (status !== AffixStatus.Prepare || !_this.fixedNode || !_this.placeholderNode || !targetFunc) {
85
+ return;
86
+ }
87
+
88
+ var offsetTop = _this.getOffsetTop();
89
+
90
+ var offsetBottom = _this.getOffsetBottom();
91
+
92
+ var targetNode = targetFunc();
93
+
94
+ if (!targetNode) {
95
+ return;
96
+ }
97
+
98
+ var newState = {
99
+ status: AffixStatus.None
100
+ };
101
+ var targetRect = getTargetRect(targetNode);
102
+ var placeholderReact = getTargetRect(_this.placeholderNode);
103
+ var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);
104
+ var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);
105
+
106
+ if (fixedTop !== undefined) {
107
+ newState.affixStyle = {
108
+ position: 'fixed',
109
+ top: fixedTop,
110
+ width: placeholderReact.width,
111
+ height: placeholderReact.height
112
+ };
113
+ newState.placeholderStyle = {
114
+ width: placeholderReact.width,
115
+ height: placeholderReact.height
116
+ };
117
+ } else if (fixedBottom !== undefined) {
118
+ newState.affixStyle = {
119
+ position: 'fixed',
120
+ bottom: fixedBottom,
121
+ width: placeholderReact.width,
122
+ height: placeholderReact.height
123
+ };
124
+ newState.placeholderStyle = {
125
+ width: placeholderReact.width,
126
+ height: placeholderReact.height
127
+ };
128
+ }
129
+
130
+ newState.lastAffix = !!newState.affixStyle;
131
+
132
+ if (onChange && lastAffix !== newState.lastAffix) {
133
+ onChange(newState.lastAffix);
134
+ }
135
+
136
+ _this.setState(newState);
137
+ }; // @ts-ignore TS6133
138
+
139
+
140
+ _this.prepareMeasure = function () {
141
+ // event param is used before. Keep compatible ts define here.
142
+ _this.setState({
143
+ status: AffixStatus.Prepare,
144
+ affixStyle: undefined,
145
+ placeholderStyle: undefined
146
+ }); // Test if `updatePosition` called
147
+
148
+
149
+ if (process.env.NODE_ENV === 'test') {
150
+ var onTestUpdatePosition = _this.props.onTestUpdatePosition;
151
+ onTestUpdatePosition === null || onTestUpdatePosition === void 0 ? void 0 : onTestUpdatePosition();
152
+ }
153
+ };
154
+
155
+ return _this;
156
+ }
157
+
158
+ _createClass(Affix, [{
159
+ key: "getTargetFunc",
160
+ value: function getTargetFunc() {
161
+ var getTargetContainer = this.context.getTargetContainer;
162
+ var target = this.props.target;
163
+
164
+ if (target !== undefined) {
165
+ return target;
166
+ }
167
+
168
+ return getTargetContainer || getDefaultTarget;
169
+ } // Event handler
170
+
171
+ }, {
172
+ key: "componentDidMount",
173
+ value: function componentDidMount() {
174
+ var _this2 = this;
175
+
176
+ var targetFunc = this.getTargetFunc();
177
+
178
+ if (targetFunc) {
179
+ // [Legacy] Wait for parent component ref has its value.
180
+ // We should use target as directly element instead of function which makes element check hard.
181
+ this.timeout = setTimeout(function () {
182
+ addObserveTarget(targetFunc(), _this2); // Mock Event object.
183
+
184
+ _this2.updatePosition();
185
+ });
186
+ }
187
+ }
188
+ }, {
189
+ key: "componentDidUpdate",
190
+ value: function componentDidUpdate(prevProps) {
191
+ var prevTarget = this.state.prevTarget;
192
+ var targetFunc = this.getTargetFunc();
193
+ var newTarget = (targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc()) || null;
194
+
195
+ if (prevTarget !== newTarget) {
196
+ removeObserveTarget(this);
197
+
198
+ if (newTarget) {
199
+ addObserveTarget(newTarget, this); // Mock Event object.
200
+
201
+ this.updatePosition();
202
+ } // eslint-disable-next-line react/no-did-update-set-state
203
+
204
+
205
+ this.setState({
206
+ prevTarget: newTarget
207
+ });
208
+ }
209
+
210
+ if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {
211
+ this.updatePosition();
212
+ }
213
+
214
+ this.measure();
215
+ }
216
+ }, {
217
+ key: "componentWillUnmount",
218
+ value: function componentWillUnmount() {
219
+ clearTimeout(this.timeout);
220
+ removeObserveTarget(this);
221
+ this.updatePosition.cancel(); // https://github.com/ant-design/ant-design/issues/22683
222
+
223
+ this.lazyUpdatePosition.cancel();
224
+ } // Handle realign logic
225
+
226
+ }, {
227
+ key: "updatePosition",
228
+ value: function updatePosition() {
229
+ this.prepareMeasure();
230
+ }
231
+ }, {
232
+ key: "lazyUpdatePosition",
233
+ value: function lazyUpdatePosition() {
234
+ var targetFunc = this.getTargetFunc();
235
+ var affixStyle = this.state.affixStyle; // Check position change before measure to make Safari smooth
236
+
237
+ if (targetFunc && affixStyle) {
238
+ var offsetTop = this.getOffsetTop();
239
+ var offsetBottom = this.getOffsetBottom();
240
+ var targetNode = targetFunc();
241
+
242
+ if (targetNode && this.placeholderNode) {
243
+ var targetRect = getTargetRect(targetNode);
244
+ var placeholderReact = getTargetRect(this.placeholderNode);
245
+ var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);
246
+ var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);
247
+
248
+ if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {
249
+ return;
250
+ }
251
+ }
252
+ } // Directly call prepare measure since it's already throttled.
253
+
254
+
255
+ this.prepareMeasure();
256
+ } // =================== Render ===================
257
+
258
+ }, {
259
+ key: "render",
260
+ value: function render() {
261
+ var _this3 = this;
262
+
263
+ var _this$state2 = this.state,
264
+ affixStyle = _this$state2.affixStyle,
265
+ placeholderStyle = _this$state2.placeholderStyle;
266
+ var _this$props2 = this.props,
267
+ affixPrefixCls = _this$props2.affixPrefixCls,
268
+ children = _this$props2.children;
269
+ var className = classNames(_defineProperty({}, affixPrefixCls, !!affixStyle));
270
+ var props = omit(this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange', 'affixPrefixCls']); // Omit this since `onTestUpdatePosition` only works on test.
271
+
272
+ if (process.env.NODE_ENV === 'test') {
273
+ props = omit(props, ['onTestUpdatePosition']);
274
+ }
275
+
276
+ return /*#__PURE__*/React.createElement(ResizeObserver, {
277
+ onResize: function onResize() {
278
+ _this3.updatePosition();
279
+ }
280
+ }, /*#__PURE__*/React.createElement("div", Object.assign({}, props, {
281
+ ref: this.savePlaceholderNode
282
+ }), affixStyle && /*#__PURE__*/React.createElement("div", {
283
+ style: placeholderStyle,
284
+ "aria-hidden": "true"
285
+ }), /*#__PURE__*/React.createElement("div", {
286
+ className: className,
287
+ ref: this.saveFixedNode,
288
+ style: affixStyle
289
+ }, /*#__PURE__*/React.createElement(ResizeObserver, {
290
+ onResize: function onResize() {
291
+ _this3.updatePosition();
292
+ }
293
+ }, children))));
294
+ }
295
+ }]);
296
+
297
+ return Affix;
298
+ }(React.Component);
299
+
300
+ Affix.contextType = ConfigContext;
301
+
302
+ __decorate([throttleByAnimationFrameDecorator()], Affix.prototype, "updatePosition", null);
303
+
304
+ __decorate([throttleByAnimationFrameDecorator()], Affix.prototype, "lazyUpdatePosition", null);
305
+
306
+ var AffixFC = /*#__PURE__*/React.forwardRef(function (props, ref) {
307
+ var customizePrefixCls = props.prefixCls;
308
+
309
+ var _React$useContext = React.useContext(ConfigContext),
310
+ getPrefixCls = _React$useContext.getPrefixCls;
311
+
312
+ var affixPrefixCls = getPrefixCls('affix', customizePrefixCls);
313
+ var affixProps = Object.assign(Object.assign({}, props), {
314
+ affixPrefixCls: affixPrefixCls
315
+ });
316
+ return /*#__PURE__*/React.createElement(Affix, Object.assign({}, affixProps, {
317
+ ref: ref
318
+ }));
319
+ });
320
+ AffixFC.AntdAffix = _Affix;
321
+
322
+ if (process.env.NODE_ENV !== 'production') {
323
+ AffixFC.displayName = 'Affix';
324
+ }
325
+
326
+ export default AffixFC;
@@ -503,6 +503,3 @@ html {
503
503
  .card_cell_content:hover .card_cell_body .card_cell_checkbox {
504
504
  opacity: 1;
505
505
  }
506
- .ant-notification-notice-message {
507
- font-size: 14px;
508
- }
File without changes
File without changes
@@ -0,0 +1,15 @@
1
+ export declare type BindElement = HTMLElement | Window | null | undefined;
2
+ export declare function getTargetRect(target: BindElement): DOMRect;
3
+ export declare function getFixedTop(placeholderReact: DOMRect, targetRect: DOMRect, offsetTop?: number): number;
4
+ export declare function getFixedBottom(placeholderReact: DOMRect, targetRect: DOMRect, offsetBottom?: number): number;
5
+ interface ObserverEntity {
6
+ target: HTMLElement | Window;
7
+ affixList: any[];
8
+ eventHandlers: {
9
+ [eventName: string]: any;
10
+ };
11
+ }
12
+ export declare function getObserverEntities(): ObserverEntity[];
13
+ export declare function addObserveTarget<T>(target: HTMLElement | Window | null, affix: T): void;
14
+ export declare function removeObserveTarget<T>(affix: T): void;
15
+ export {};
@@ -0,0 +1,83 @@
1
+ import addEventListener from 'rc-util/lib/Dom/addEventListener';
2
+ export function getTargetRect(target) {
3
+ return target !== window ? target.getBoundingClientRect() : {
4
+ top: 0,
5
+ bottom: window.innerHeight
6
+ };
7
+ }
8
+ export function getFixedTop(placeholderReact, targetRect, offsetTop) {
9
+ if (offsetTop !== undefined && targetRect.top > placeholderReact.top - offsetTop) {
10
+ return offsetTop + targetRect.top;
11
+ }
12
+
13
+ return undefined;
14
+ }
15
+ export function getFixedBottom(placeholderReact, targetRect, offsetBottom) {
16
+ if (offsetBottom !== undefined && targetRect.bottom < placeholderReact.bottom + offsetBottom) {
17
+ var targetBottomOffset = window.innerHeight - targetRect.bottom;
18
+ return offsetBottom + targetBottomOffset;
19
+ }
20
+
21
+ return undefined;
22
+ } // ======================== Observer ========================
23
+
24
+ var TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];
25
+ var observerEntities = [];
26
+ export function getObserverEntities() {
27
+ // Only used in test env. Can be removed if refactor.
28
+ return observerEntities;
29
+ }
30
+ export function addObserveTarget(target, affix) {
31
+ if (!target) return;
32
+ var entity = observerEntities.find(function (item) {
33
+ return item.target === target;
34
+ });
35
+
36
+ if (entity) {
37
+ entity.affixList.push(affix);
38
+ } else {
39
+ entity = {
40
+ target: target,
41
+ affixList: [affix],
42
+ eventHandlers: {}
43
+ };
44
+ observerEntities.push(entity); // Add listener
45
+
46
+ TRIGGER_EVENTS.forEach(function (eventName) {
47
+ entity.eventHandlers[eventName] = addEventListener(target, eventName, function () {
48
+ entity.affixList.forEach(function (targetAffix) {
49
+ targetAffix.lazyUpdatePosition();
50
+ });
51
+ });
52
+ });
53
+ }
54
+ }
55
+ export function removeObserveTarget(affix) {
56
+ var observerEntity = observerEntities.find(function (oriObserverEntity) {
57
+ var hasAffix = oriObserverEntity.affixList.some(function (item) {
58
+ return item === affix;
59
+ });
60
+
61
+ if (hasAffix) {
62
+ oriObserverEntity.affixList = oriObserverEntity.affixList.filter(function (item) {
63
+ return item !== affix;
64
+ });
65
+ }
66
+
67
+ return hasAffix;
68
+ });
69
+
70
+ if (observerEntity && observerEntity.affixList.length === 0) {
71
+ observerEntities = observerEntities.filter(function (item) {
72
+ return item !== observerEntity;
73
+ }); // Remove listener
74
+
75
+ TRIGGER_EVENTS.forEach(function (eventName) {
76
+ var handler = observerEntity.eventHandlers[eventName];
77
+
78
+ if (handler && handler.remove) {
79
+ handler.remove();
80
+ }
81
+ });
82
+ }
83
+ }
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ interface ErrorBoundaryProps {
3
+ message?: React.ReactNode;
4
+ description?: React.ReactNode;
5
+ children?: React.ReactNode;
6
+ }
7
+ export default class ErrorBoundary extends React.Component<ErrorBoundaryProps, {
8
+ error?: Error | null;
9
+ info: {
10
+ componentStack?: string;
11
+ };
12
+ }> {
13
+ state: {
14
+ error: any;
15
+ info: {
16
+ componentStack: string;
17
+ };
18
+ };
19
+ componentDidCatch(error: Error | null, info: object): void;
20
+ render(): React.ReactNode;
21
+ }
22
+ export {};
@@ -0,0 +1,65 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
4
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
+ import * as React from 'react';
6
+ import Alert from '.';
7
+
8
+ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
9
+ _inherits(ErrorBoundary, _React$Component);
10
+
11
+ var _super = _createSuper(ErrorBoundary);
12
+
13
+ function ErrorBoundary() {
14
+ var _this;
15
+
16
+ _classCallCheck(this, ErrorBoundary);
17
+
18
+ _this = _super.apply(this, arguments);
19
+ _this.state = {
20
+ error: undefined,
21
+ info: {
22
+ componentStack: ''
23
+ }
24
+ };
25
+ return _this;
26
+ }
27
+
28
+ _createClass(ErrorBoundary, [{
29
+ key: "componentDidCatch",
30
+ value: function componentDidCatch(error, info) {
31
+ this.setState({
32
+ error: error,
33
+ info: info
34
+ });
35
+ }
36
+ }, {
37
+ key: "render",
38
+ value: function render() {
39
+ var _this$props = this.props,
40
+ message = _this$props.message,
41
+ description = _this$props.description,
42
+ children = _this$props.children;
43
+ var _this$state = this.state,
44
+ error = _this$state.error,
45
+ info = _this$state.info;
46
+ var componentStack = info && info.componentStack ? info.componentStack : null;
47
+ var errorMessage = typeof message === 'undefined' ? (error || '').toString() : message;
48
+ var errorDescription = typeof description === 'undefined' ? componentStack : description;
49
+
50
+ if (error) {
51
+ return /*#__PURE__*/React.createElement(Alert, {
52
+ type: "error",
53
+ message: errorMessage,
54
+ description: /*#__PURE__*/React.createElement("pre", null, errorDescription)
55
+ });
56
+ }
57
+
58
+ return children;
59
+ }
60
+ }]);
61
+
62
+ return ErrorBoundary;
63
+ }(React.Component);
64
+
65
+ export { ErrorBoundary as default };