linkmore-design 1.0.54 → 1.0.55

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 (99) hide show
  1. package/dist/Affix/demos/basic.d.ts +2 -0
  2. package/dist/Affix/index.d.ts +54 -0
  3. package/dist/Affix/style/index.d.ts +1 -0
  4. package/dist/Affix/utils.d.ts +15 -0
  5. package/dist/CardTable/fns/index.d.ts +1 -5
  6. package/dist/IconFont/index.d.ts +1 -1
  7. package/dist/LmFilter/{components → baseFilter}/fuzzySearch.d.ts +0 -0
  8. package/dist/LmFilter/utils.d.ts +1 -0
  9. package/dist/QuickMenu/demos/basic.d.ts +2 -0
  10. package/dist/QuickMenu/index.d.ts +14 -0
  11. package/dist/QuickMenu/style/index.d.ts +1 -0
  12. package/dist/Tag/demos/ExigencyTag.d.ts +2 -0
  13. package/dist/Tag/index.d.ts +4 -0
  14. package/dist/Upload/demos/picture-little.d.ts +3 -0
  15. package/dist/Upload/index.d.ts +5 -1
  16. package/dist/_util/domTarget.d.ts +7 -0
  17. package/dist/_util/throttleByAnimationFrame.d.ts +8 -0
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.umd.js +548 -8
  20. package/dist/index.umd.min.js +4 -4
  21. package/es/Affix/index.d.ts +54 -0
  22. package/es/Affix/index.js +326 -0
  23. package/es/Affix/style/index.css +505 -0
  24. package/es/Affix/style/index.d.ts +1 -0
  25. package/es/Affix/style/index.js +1 -0
  26. package/es/Affix/utils.d.ts +15 -0
  27. package/es/Affix/utils.js +83 -0
  28. package/es/CardTable/fns/index.js +6 -5
  29. package/es/Descriptions/style/index.css +10 -8
  30. package/es/IconFont/index.js +3 -2
  31. package/es/LmFilter/baseFilter/fuzzySearch.js +53 -0
  32. package/es/LmFilter/baseFilter/index.js +1 -1
  33. package/es/LmFilter/clearFilter/index.js +3 -1
  34. package/es/LmFilter/components/CascaderFilter.js +17 -41
  35. package/es/LmFilter/components/DateFilter.js +12 -20
  36. package/es/LmFilter/components/DropdownFIlter.js +78 -10
  37. package/es/LmFilter/components/index.js +56 -13
  38. package/es/LmFilter/hooks/useDelayedFn.js +8 -6
  39. package/es/LmFilter/style/style.css +16 -0
  40. package/es/LmFilter/utils.js +16 -0
  41. package/es/LmFilter/wrapper/FilterRoot.js +6 -0
  42. package/es/QuickMenu/index.d.ts +14 -0
  43. package/es/QuickMenu/index.js +169 -0
  44. package/es/QuickMenu/style/index.css +560 -0
  45. package/es/QuickMenu/style/index.d.ts +1 -0
  46. package/es/QuickMenu/style/index.js +1 -0
  47. package/es/Tag/index.d.ts +4 -0
  48. package/es/Tag/index.js +48 -2
  49. package/es/Tag/style/index.css +4 -1
  50. package/es/Upload/index.d.ts +5 -1
  51. package/es/Upload/index.js +7 -2
  52. package/es/Upload/style/index.css +35 -0
  53. package/es/_util/domTarget.d.ts +7 -0
  54. package/es/_util/domTarget.js +20 -0
  55. package/es/_util/throttleByAnimationFrame.d.ts +8 -0
  56. package/es/_util/throttleByAnimationFrame.js +58 -0
  57. package/es/index.d.ts +1 -0
  58. package/es/index.js +2 -1
  59. package/lib/Affix/index.d.ts +54 -0
  60. package/lib/Affix/index.js +349 -0
  61. package/lib/Affix/style/index.css +505 -0
  62. package/lib/Affix/style/index.d.ts +1 -0
  63. package/lib/Affix/style/index.js +3 -0
  64. package/lib/Affix/utils.d.ts +15 -0
  65. package/lib/Affix/utils.js +104 -0
  66. package/lib/CardTable/fns/index.js +6 -5
  67. package/lib/Descriptions/style/index.css +10 -8
  68. package/lib/IconFont/index.js +3 -2
  69. package/lib/LmFilter/baseFilter/fuzzySearch.js +53 -0
  70. package/lib/LmFilter/baseFilter/index.js +1 -1
  71. package/lib/LmFilter/clearFilter/index.js +3 -1
  72. package/lib/LmFilter/components/CascaderFilter.js +17 -41
  73. package/lib/LmFilter/components/DateFilter.js +12 -20
  74. package/lib/LmFilter/components/DropdownFIlter.js +78 -10
  75. package/lib/LmFilter/components/index.js +56 -13
  76. package/lib/LmFilter/hooks/useDelayedFn.js +8 -6
  77. package/lib/LmFilter/style/style.css +16 -0
  78. package/lib/LmFilter/utils.js +16 -0
  79. package/lib/LmFilter/wrapper/FilterRoot.js +6 -0
  80. package/lib/QuickMenu/index.d.ts +14 -0
  81. package/lib/QuickMenu/index.js +187 -0
  82. package/lib/QuickMenu/style/index.css +560 -0
  83. package/lib/QuickMenu/style/index.d.ts +1 -0
  84. package/lib/QuickMenu/style/index.js +3 -0
  85. package/lib/Tag/index.d.ts +4 -0
  86. package/lib/Tag/index.js +48 -1
  87. package/lib/Tag/style/index.css +4 -1
  88. package/lib/Upload/index.d.ts +5 -1
  89. package/lib/Upload/index.js +8 -2
  90. package/lib/Upload/style/index.css +35 -0
  91. package/lib/_util/domTarget.d.ts +7 -0
  92. package/lib/_util/domTarget.js +31 -0
  93. package/lib/_util/throttleByAnimationFrame.d.ts +8 -0
  94. package/lib/_util/throttleByAnimationFrame.js +72 -0
  95. package/lib/index.d.ts +1 -0
  96. package/lib/index.js +9 -1
  97. package/package.json +5 -2
  98. package/es/LmFilter/components/fuzzySearch.js +0 -37
  99. package/lib/LmFilter/components/fuzzySearch.js +0 -37
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _linkmoreDesign = require("linkmore-design");
17
+
18
+ var _ahooks = require("ahooks");
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _domTarget = require("../_util/domTarget");
23
+
24
+ var prefixCls = 'lm_quick_menu';
25
+
26
+ var LMQuickMenu = function LMQuickMenu(props) {
27
+ var className = props.className,
28
+ _props$top = props.top,
29
+ top = _props$top === void 0 ? '104px' : _props$top,
30
+ _props$menuData = props.menuData,
31
+ menuData = _props$menuData === void 0 ? [] : _props$menuData,
32
+ warpElement = props.warpElement;
33
+ var idTopInfo = (0, _react.useRef)({});
34
+
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ hovering = _useState2[0],
38
+ setHovering = _useState2[1];
39
+
40
+ var menuTimeEventRef = (0, _react.useRef)(null);
41
+
42
+ var _useState3 = (0, _react.useState)(false),
43
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
44
+ scrollOpenStatus = _useState4[0],
45
+ setScrollOpenStatus = _useState4[1];
46
+
47
+ var scrollTimeOut = (0, _react.useRef)(null);
48
+ var scroll = (0, _ahooks.useScroll)((0, _domTarget.getTargetElement)(warpElement || document), function () {
49
+ return scrollOpenStatus;
50
+ });
51
+
52
+ function clearActiveToc() {
53
+ [].forEach.call(document.querySelectorAll('.lm_menu_list li a'), function (node) {
54
+ node.className = '';
55
+ });
56
+ }
57
+
58
+ var updateActiveToc = function updateActiveToc(id) {
59
+ var currentNode = document.querySelectorAll(".lm_menu_list li a[data-id=\"".concat(id, "\"]"))[0];
60
+
61
+ if (currentNode) {
62
+ clearActiveToc();
63
+ currentNode.className = 'current';
64
+ }
65
+ };
66
+
67
+ var bindScroller = function bindScroller() {
68
+ var _a, _b, _c;
69
+
70
+ if (menuTimeEventRef.current) {
71
+ (_a = menuTimeEventRef.current) === null || _a === void 0 ? void 0 : _a.destroy();
72
+ }
73
+
74
+ if (!menuData.length) {
75
+ return;
76
+ } // eslint-disable-next-line global-require
77
+
78
+
79
+ require('intersection-observer'); // eslint-disable-next-line global-require
80
+
81
+
82
+ var scrollama = require('scrollama');
83
+
84
+ menuTimeEventRef.current = scrollama();
85
+ (_c = (_b = menuTimeEventRef.current) === null || _b === void 0 ? void 0 : _b.setup({
86
+ step: menuData.map(function (item) {
87
+ return document.getElementById("".concat(item.menuId));
88
+ }).filter(Boolean) // required
89
+ // offset: '10px',
90
+
91
+ })) === null || _c === void 0 ? void 0 : _c.onStepEnter(function (_ref) {
92
+ var element = _ref.element;
93
+ updateActiveToc(element.id);
94
+ });
95
+ };
96
+
97
+ function setKeysDom() {
98
+ menuData.forEach(function (item) {
99
+ var _a, _b;
100
+
101
+ var warpTop = ((_a = (0, _domTarget.getTargetElement)(warpElement || document)) === null || _a === void 0 ? void 0 : _a.offsetTop) || 0;
102
+ idTopInfo.current["".concat(item.menuId)] = ((_b = document.getElementById("".concat(item.menuId))) === null || _b === void 0 ? void 0 : _b.offsetTop) - warpTop;
103
+ });
104
+ }
105
+
106
+ (0, _react.useEffect)(function () {
107
+ if (scroll && !hovering) {
108
+ setHovering(true);
109
+ }
110
+
111
+ if (scrollTimeOut.current) {
112
+ clearTimeout(scrollTimeOut.current);
113
+ }
114
+
115
+ scrollTimeOut.current = setTimeout(function () {
116
+ setHovering(false);
117
+ }, 2000);
118
+ }, [scroll]);
119
+
120
+ var bindDom = function bindDom() {
121
+ if (!Object.keys(idTopInfo.current).length) {
122
+ setKeysDom();
123
+ }
124
+ };
125
+
126
+ var handleScroll = function handleScroll() {
127
+ setScrollOpenStatus(true);
128
+ };
129
+
130
+ var golink = function golink(id) {
131
+ var _a;
132
+
133
+ (0, _domTarget.getTargetElement)(warpElement || document).scrollTop = (_a = idTopInfo.current) === null || _a === void 0 ? void 0 : _a[id];
134
+ };
135
+
136
+ (0, _react.useEffect)(function () {
137
+ var _a; // bindScroller();
138
+
139
+
140
+ setTimeout(function () {
141
+ bindDom();
142
+ bindScroller();
143
+ }, 200);
144
+ (_a = (0, _domTarget.getTargetElement)(warpElement || document)) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll, {
145
+ once: true
146
+ });
147
+ return function () {
148
+ var _a;
149
+
150
+ (_a = (0, _domTarget.getTargetElement)(warpElement || document)) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', handleScroll);
151
+ };
152
+ }, []);
153
+ return /*#__PURE__*/_react.default.createElement("div", {
154
+ className: (0, _classnames.default)(prefixCls),
155
+ onMouseEnter: function onMouseEnter() {
156
+ if (scrollTimeOut.current) {
157
+ clearTimeout(scrollTimeOut.current);
158
+ }
159
+
160
+ setHovering(true);
161
+ },
162
+ onMouseLeave: function onMouseLeave() {
163
+ setHovering(false);
164
+ },
165
+ style: {
166
+ top: top
167
+ }
168
+ }, !hovering && /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
169
+ icon: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
170
+ type: 'lmweb-icon_m_open'
171
+ })
172
+ }), /*#__PURE__*/_react.default.createElement("ul", {
173
+ className: (0, _classnames.default)('lm_menu_list', hovering && 'show', className)
174
+ }, menuData.map(function (item) {
175
+ return /*#__PURE__*/_react.default.createElement("li", {
176
+ key: item.menuId,
177
+ onClick: function onClick() {
178
+ return golink(item.menuId);
179
+ }
180
+ }, /*#__PURE__*/_react.default.createElement("a", {
181
+ "data-id": item.menuId
182
+ }, item.title));
183
+ })));
184
+ };
185
+
186
+ var _default = LMQuickMenu;
187
+ exports.default = _default;