@cclr/react 0.1.17 → 0.1.18
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.
- package/lib/cjs/index.js +259 -137
- package/lib/esm/index.js +259 -139
- package/lib/type/index.d.ts +31 -3
- package/package.json +6 -6
package/lib/cjs/index.js
CHANGED
|
@@ -45,12 +45,12 @@ function _iterableToArrayLimit(r, l) {
|
|
|
45
45
|
i,
|
|
46
46
|
u,
|
|
47
47
|
a = [],
|
|
48
|
-
f =
|
|
49
|
-
o =
|
|
48
|
+
f = true,
|
|
49
|
+
o = false;
|
|
50
50
|
try {
|
|
51
51
|
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
52
52
|
} catch (r) {
|
|
53
|
-
o =
|
|
53
|
+
o = true, n = r;
|
|
54
54
|
} finally {
|
|
55
55
|
try {
|
|
56
56
|
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
@@ -99,9 +99,12 @@ function useCallbackRef(fn, deps) {
|
|
|
99
99
|
}, _toConsumableArray(deps || []));
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
var n = function n(_n, t, r) {
|
|
103
|
+
if (r) for (var e = _n.length - 1; e >= 0; e--) t(_n[e], e, _n);else for (var o = 0; o < _n.length; o++) t(_n[o], o, _n);
|
|
104
|
+
},
|
|
105
|
+
r = Function.prototype.call.bind(Object.prototype.hasOwnProperty),
|
|
106
|
+
e = Function.prototype.call.bind(Object.prototype.toString),
|
|
107
|
+
o = {
|
|
105
108
|
boolean: "boolean",
|
|
106
109
|
undefined: "undefined",
|
|
107
110
|
number: "number",
|
|
@@ -118,98 +121,230 @@ Function.prototype.call.bind(Object.prototype.hasOwnProperty);
|
|
|
118
121
|
"[object File]": "file",
|
|
119
122
|
"[object ArrayBuffer]": "arrayBuffer"
|
|
120
123
|
};
|
|
121
|
-
function
|
|
122
|
-
return
|
|
124
|
+
function u(n) {
|
|
125
|
+
return o[typeof n] || o[e(n)] || (n ? "object" : "null");
|
|
123
126
|
}
|
|
124
|
-
function
|
|
125
|
-
return "function" ===
|
|
127
|
+
function v$1(n) {
|
|
128
|
+
return "function" === u(n);
|
|
126
129
|
}
|
|
127
130
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
/**
|
|
132
|
+
* 仅执行一次
|
|
133
|
+
* @param fun 函数
|
|
134
|
+
* @returns
|
|
135
|
+
*/
|
|
136
|
+
var useOnceFun = function useOnceFun(fun) {
|
|
137
|
+
var ref = react.useRef(false);
|
|
138
|
+
if (ref.current) return;
|
|
139
|
+
ref.current = true;
|
|
140
|
+
fun();
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* 可以传函数的 useRef,
|
|
145
|
+
* 为了解决 useRef 初始化,调用运算复杂函数的问题
|
|
146
|
+
* @param initFun 初始化函数
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
var useRefPro = function useRefPro(initFun) {
|
|
150
|
+
var ref = react.useRef();
|
|
151
|
+
useOnceFun(function () {
|
|
152
|
+
ref.current = v$1(initFun) ? initFun() : initFun;
|
|
153
|
+
});
|
|
154
|
+
return ref;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* 受控组件的值管理
|
|
159
|
+
*/
|
|
160
|
+
var useControl = function useControl(params, comptDefaultValue) {
|
|
161
|
+
var defaultValue = params.defaultValue,
|
|
162
|
+
onChange = params.onChange;
|
|
163
|
+
var ref = useRefPro(function () {
|
|
164
|
+
return {
|
|
165
|
+
isControl: r(params, 'value')
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
var _useState = react.useState(ref.current.isControl ? params.value : defaultValue || comptDefaultValue),
|
|
169
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
170
|
+
value = _useState2[0],
|
|
171
|
+
setValue = _useState2[1];
|
|
172
|
+
return [ref.current.isControl ? params.value : value, function (value) {
|
|
173
|
+
if (!ref.current.isControl) {
|
|
174
|
+
setValue(value);
|
|
175
|
+
}
|
|
176
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
177
|
+
args[_key - 1] = arguments[_key];
|
|
178
|
+
}
|
|
179
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, [value].concat(args));
|
|
180
|
+
}];
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
function l(t, n) {
|
|
184
|
+
(null == n || n > t.length) && (n = t.length);
|
|
185
|
+
for (var r = 0, e = Array(n); r < n; r++) e[r] = t[r];
|
|
131
186
|
return e;
|
|
132
187
|
}
|
|
133
|
-
function
|
|
134
|
-
return
|
|
135
|
-
|
|
136
|
-
|
|
188
|
+
function c(t, n, r) {
|
|
189
|
+
return n && function (t, n) {
|
|
190
|
+
for (var r = 0; r < n.length; r++) {
|
|
191
|
+
var e = n[r];
|
|
192
|
+
e.enumerable = e.enumerable || false, e.configurable = true, "value" in e && (e.writable = true), Object.defineProperty(t, d(e.key), e);
|
|
193
|
+
}
|
|
194
|
+
}(t.prototype, n), Object.defineProperty(t, "prototype", {
|
|
195
|
+
writable: false
|
|
196
|
+
}), t;
|
|
197
|
+
}
|
|
198
|
+
function f(t, n, r) {
|
|
199
|
+
return (n = d(n)) in t ? Object.defineProperty(t, n, {
|
|
200
|
+
value: r,
|
|
201
|
+
enumerable: true,
|
|
202
|
+
configurable: true,
|
|
203
|
+
writable: true
|
|
204
|
+
}) : t[n] = r, t;
|
|
137
205
|
}
|
|
138
|
-
function h(t) {
|
|
206
|
+
function h(t, n) {
|
|
207
|
+
return h = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, n) {
|
|
208
|
+
return t.__proto__ = n, t;
|
|
209
|
+
}, h(t, n);
|
|
210
|
+
}
|
|
211
|
+
function v(t) {
|
|
139
212
|
return function (t) {
|
|
140
|
-
if (Array.isArray(t)) return
|
|
213
|
+
if (Array.isArray(t)) return l(t);
|
|
141
214
|
}(t) || function (t) {
|
|
142
215
|
if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array.from(t);
|
|
143
216
|
}(t) || b(t) || function () {
|
|
144
217
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
145
218
|
}();
|
|
146
219
|
}
|
|
147
|
-
function
|
|
220
|
+
function d(t) {
|
|
221
|
+
var n = function (t, n) {
|
|
222
|
+
if ("object" != typeof t || !t) return t;
|
|
223
|
+
var r = t[Symbol.toPrimitive];
|
|
224
|
+
if (void 0 !== r) {
|
|
225
|
+
var e = r.call(t, n);
|
|
226
|
+
if ("object" != typeof e) return e;
|
|
227
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
228
|
+
}
|
|
229
|
+
return (String )(t);
|
|
230
|
+
}(t, "string");
|
|
231
|
+
return "symbol" == typeof n ? n : n + "";
|
|
232
|
+
}
|
|
233
|
+
function b(t, n) {
|
|
148
234
|
if (t) {
|
|
149
|
-
if ("string" == typeof t) return
|
|
150
|
-
var
|
|
151
|
-
return "Object" ===
|
|
235
|
+
if ("string" == typeof t) return l(t, n);
|
|
236
|
+
var r = {}.toString.call(t).slice(8, -1);
|
|
237
|
+
return "Object" === r && t.constructor && (r = t.constructor.name), "Map" === r || "Set" === r ? Array.from(t) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? l(t, n) : void 0;
|
|
152
238
|
}
|
|
153
239
|
}
|
|
154
240
|
function m() {
|
|
155
|
-
m = function m(t,
|
|
156
|
-
return new
|
|
241
|
+
m = function m(t, n) {
|
|
242
|
+
return new r(t, void 0, n);
|
|
157
243
|
};
|
|
158
244
|
var t = RegExp.prototype,
|
|
159
|
-
|
|
160
|
-
function
|
|
161
|
-
var
|
|
162
|
-
return
|
|
245
|
+
n = new WeakMap();
|
|
246
|
+
function r(t, e, o) {
|
|
247
|
+
var i = RegExp(t, e);
|
|
248
|
+
return n.set(i, o || n.get(t)), h(i, r.prototype);
|
|
163
249
|
}
|
|
164
|
-
function e(t,
|
|
165
|
-
var e =
|
|
166
|
-
return Object.keys(e).reduce(function (
|
|
167
|
-
var o = e[
|
|
168
|
-
if ("number" == typeof o) r
|
|
169
|
-
for (var
|
|
170
|
-
r
|
|
250
|
+
function e(t, r) {
|
|
251
|
+
var e = n.get(r);
|
|
252
|
+
return Object.keys(e).reduce(function (n, r) {
|
|
253
|
+
var o = e[r];
|
|
254
|
+
if ("number" == typeof o) n[r] = t[o];else {
|
|
255
|
+
for (var i = 0; void 0 === t[o[i]] && i + 1 < o.length;) i++;
|
|
256
|
+
n[r] = t[o[i]];
|
|
171
257
|
}
|
|
172
|
-
return
|
|
258
|
+
return n;
|
|
173
259
|
}, Object.create(null));
|
|
174
260
|
}
|
|
175
|
-
return function (t,
|
|
176
|
-
if ("function" != typeof
|
|
177
|
-
t.prototype = Object.create(
|
|
261
|
+
return function (t, n) {
|
|
262
|
+
if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
|
|
263
|
+
t.prototype = Object.create(n && n.prototype, {
|
|
178
264
|
constructor: {
|
|
179
265
|
value: t,
|
|
180
|
-
writable:
|
|
181
|
-
configurable:
|
|
266
|
+
writable: true,
|
|
267
|
+
configurable: true
|
|
182
268
|
}
|
|
183
269
|
}), Object.defineProperty(t, "prototype", {
|
|
184
|
-
writable:
|
|
185
|
-
}),
|
|
186
|
-
}(
|
|
187
|
-
var
|
|
188
|
-
if (
|
|
189
|
-
|
|
190
|
-
var o =
|
|
270
|
+
writable: false
|
|
271
|
+
}), n && h(t, n);
|
|
272
|
+
}(r, RegExp), r.prototype.exec = function (n) {
|
|
273
|
+
var r = t.exec.call(this, n);
|
|
274
|
+
if (r) {
|
|
275
|
+
r.groups = e(r, this);
|
|
276
|
+
var o = r.indices;
|
|
191
277
|
o && (o.groups = e(o, this));
|
|
192
278
|
}
|
|
193
|
-
return
|
|
194
|
-
},
|
|
279
|
+
return r;
|
|
280
|
+
}, r.prototype[Symbol.replace] = function (r, o) {
|
|
195
281
|
if ("string" == typeof o) {
|
|
196
|
-
var
|
|
197
|
-
return t[Symbol.replace].call(this,
|
|
198
|
-
var
|
|
199
|
-
return "$" + (Array.isArray(
|
|
282
|
+
var i = n.get(this);
|
|
283
|
+
return t[Symbol.replace].call(this, r, o.replace(/\$<([^>]+)>/g, function (t, n) {
|
|
284
|
+
var r = i[n];
|
|
285
|
+
return "$" + (Array.isArray(r) ? r.join("$") : r);
|
|
200
286
|
}));
|
|
201
287
|
}
|
|
202
288
|
if ("function" == typeof o) {
|
|
203
|
-
var
|
|
204
|
-
return t[Symbol.replace].call(this,
|
|
289
|
+
var u = this;
|
|
290
|
+
return t[Symbol.replace].call(this, r, function () {
|
|
205
291
|
var t = arguments;
|
|
206
|
-
return "object" != typeof t[t.length - 1] && (t = [].slice.call(t)).push(e(t,
|
|
292
|
+
return "object" != typeof t[t.length - 1] && (t = [].slice.call(t)).push(e(t, u)), o.apply(this, t);
|
|
207
293
|
});
|
|
208
294
|
}
|
|
209
|
-
return t[Symbol.replace].call(this,
|
|
295
|
+
return t[Symbol.replace].call(this, r, o);
|
|
210
296
|
}, m.apply(this, arguments);
|
|
211
297
|
}
|
|
212
|
-
|
|
298
|
+
var j = function j() {
|
|
299
|
+
for (var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 36, n = ["a", "b", "c", "d", "e", "f", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], r = [], e = 0; e < t; e++) r[e] = 8 === e || 13 === e || 18 === e || 23 === e ? "-" : n[Math.ceil(Math.random() * n.length - 1)];
|
|
300
|
+
return r.join("");
|
|
301
|
+
};
|
|
302
|
+
(function () {
|
|
303
|
+
return c(function t() {
|
|
304
|
+
!function (t, n) {
|
|
305
|
+
if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
306
|
+
}(this, t), f(this, "handler", []);
|
|
307
|
+
}, [{
|
|
308
|
+
key: "use",
|
|
309
|
+
value: function value(t, n) {
|
|
310
|
+
return this.handler.push({
|
|
311
|
+
fulfilled: t,
|
|
312
|
+
rejected: n
|
|
313
|
+
}), this.handler.length - 1;
|
|
314
|
+
}
|
|
315
|
+
}, {
|
|
316
|
+
key: "eject",
|
|
317
|
+
value: function value(t) {
|
|
318
|
+
this.handler[t] && (this.handler[t] = null);
|
|
319
|
+
}
|
|
320
|
+
}, {
|
|
321
|
+
key: "clear",
|
|
322
|
+
value: function value() {
|
|
323
|
+
this.handler = [];
|
|
324
|
+
}
|
|
325
|
+
}, {
|
|
326
|
+
key: "forEach",
|
|
327
|
+
value: function value(t) {
|
|
328
|
+
var r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
|
|
329
|
+
n(this.handler, function (n) {
|
|
330
|
+
n && t(n);
|
|
331
|
+
}, r);
|
|
332
|
+
}
|
|
333
|
+
}, {
|
|
334
|
+
key: "run",
|
|
335
|
+
value: function value(t) {
|
|
336
|
+
var n = arguments;
|
|
337
|
+
return new Promise(function (r, e) {
|
|
338
|
+
var o = n.length > 1 && void 0 !== n[1] && n[1],
|
|
339
|
+
i = Promise.resolve(t());
|
|
340
|
+
return this.forEach(function (t) {
|
|
341
|
+
i = i.then(t.fulfilled, t.rejected);
|
|
342
|
+
}, o), r(i);
|
|
343
|
+
}.bind(this));
|
|
344
|
+
}
|
|
345
|
+
}]);
|
|
346
|
+
})();
|
|
347
|
+
m(/\?([^#]*)/, {
|
|
213
348
|
query: 1
|
|
214
349
|
});
|
|
215
350
|
m(/#(.*)/, {
|
|
@@ -218,80 +353,81 @@ m(/\?([^#]*)/, {
|
|
|
218
353
|
m(/^(?:[a-zA-Z][a-zA-Zd+-.]*:)?(?:\/\/(?:[^@/?#]*@)?[^/?#]*)?([^?#]*)/, {
|
|
219
354
|
pathname: 1
|
|
220
355
|
});
|
|
221
|
-
var
|
|
222
|
-
var
|
|
356
|
+
var x = function x(t, n) {
|
|
357
|
+
var r,
|
|
223
358
|
e,
|
|
224
359
|
o,
|
|
225
|
-
u,
|
|
226
360
|
i,
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
s =
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
361
|
+
u,
|
|
362
|
+
a = null == n ? void 0 : n.maxWait,
|
|
363
|
+
l = null !== (r = null == n ? void 0 : n.wait) && void 0 !== r ? r : 500,
|
|
364
|
+
c = null === (e = null == n ? void 0 : n.leading) || void 0 === e || e,
|
|
365
|
+
f = null === (o = null == n ? void 0 : n.trailing) || void 0 === o || o,
|
|
366
|
+
s = false,
|
|
367
|
+
p = 0,
|
|
368
|
+
h = a && a > l,
|
|
369
|
+
y = function y() {
|
|
370
|
+
clearTimeout(i), i = null;
|
|
236
371
|
},
|
|
237
|
-
|
|
238
|
-
|
|
372
|
+
d = function d() {
|
|
373
|
+
s = false, h && (p = Date.now()), t.apply(void 0, v(u));
|
|
239
374
|
},
|
|
240
|
-
|
|
241
|
-
clearTimeout(
|
|
242
|
-
if (
|
|
243
|
-
|
|
375
|
+
_b = function b() {
|
|
376
|
+
clearTimeout(i), i = setTimeout(function () {
|
|
377
|
+
if (s && f) return d(), void _b();
|
|
378
|
+
y();
|
|
244
379
|
}, l);
|
|
245
380
|
},
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
for (var t = arguments.length,
|
|
249
|
-
|
|
381
|
+
m = function m() {
|
|
382
|
+
s = true;
|
|
383
|
+
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
|
|
384
|
+
u = n, i || (c ? d() : h && (p = Date.now())), h && Date.now() - p >= a && (d(), _b()), _b();
|
|
250
385
|
};
|
|
251
|
-
return
|
|
252
|
-
|
|
253
|
-
},
|
|
386
|
+
return m.cancel = y, m.flush = function () {
|
|
387
|
+
i && s && (d(), _b());
|
|
388
|
+
}, m.fun = t, m;
|
|
254
389
|
},
|
|
255
|
-
|
|
256
|
-
var
|
|
390
|
+
k = function k(t, n) {
|
|
391
|
+
var r,
|
|
257
392
|
e,
|
|
258
393
|
o,
|
|
259
|
-
u,
|
|
260
394
|
i,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
clearTimeout(u), u = null, f = !1;
|
|
267
|
-
},
|
|
395
|
+
u,
|
|
396
|
+
a = null !== (r = null == n ? void 0 : n.wait) && void 0 !== r ? r : 500,
|
|
397
|
+
l = null === (e = null == n ? void 0 : n.leading) || void 0 === e || e,
|
|
398
|
+
c = null === (o = null == n ? void 0 : n.trailing) || void 0 === o || o,
|
|
399
|
+
f = false,
|
|
268
400
|
s = function s() {
|
|
269
|
-
|
|
401
|
+
clearTimeout(i), i = null, f = false;
|
|
402
|
+
},
|
|
403
|
+
p = function p() {
|
|
404
|
+
f = false, t.apply(void 0, v(u));
|
|
270
405
|
},
|
|
271
|
-
|
|
272
|
-
clearTimeout(
|
|
273
|
-
if (f && c) return
|
|
274
|
-
|
|
406
|
+
_h = function h() {
|
|
407
|
+
clearTimeout(i), i = setTimeout(function () {
|
|
408
|
+
if (f && c) return p(), void _h();
|
|
409
|
+
s();
|
|
275
410
|
}, a);
|
|
276
411
|
},
|
|
277
|
-
|
|
278
|
-
f =
|
|
279
|
-
for (var t = arguments.length,
|
|
280
|
-
|
|
412
|
+
y = function y() {
|
|
413
|
+
f = true;
|
|
414
|
+
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
|
|
415
|
+
u = n, i || (l && p(), _h());
|
|
281
416
|
};
|
|
282
|
-
return
|
|
283
|
-
|
|
284
|
-
},
|
|
417
|
+
return y.cancel = s, y.flush = function () {
|
|
418
|
+
i && f && (p(), _h());
|
|
419
|
+
}, y.fun = t, y;
|
|
285
420
|
};
|
|
286
421
|
|
|
287
422
|
var useDebounceFn = function useDebounceFn(cb, options) {
|
|
288
423
|
var fun = useCallbackRef(cb);
|
|
289
424
|
return react.useMemo(function () {
|
|
290
|
-
var run =
|
|
425
|
+
var run = x(fun, options);
|
|
291
426
|
return {
|
|
292
427
|
run: run,
|
|
293
428
|
cancel: run.cancel,
|
|
294
|
-
flush: run.flush
|
|
429
|
+
flush: run.flush,
|
|
430
|
+
fun: run.fun
|
|
295
431
|
};
|
|
296
432
|
}, []);
|
|
297
433
|
};
|
|
@@ -344,32 +480,6 @@ var useEventListenerMultipleRef = function useEventListenerMultipleRef(eventMap)
|
|
|
344
480
|
};
|
|
345
481
|
};
|
|
346
482
|
|
|
347
|
-
/**
|
|
348
|
-
* 仅执行一次
|
|
349
|
-
* @param fun 函数
|
|
350
|
-
* @returns
|
|
351
|
-
*/
|
|
352
|
-
var useOnceFun = function useOnceFun(fun) {
|
|
353
|
-
var ref = react.useRef(false);
|
|
354
|
-
if (ref.current) return;
|
|
355
|
-
ref.current = true;
|
|
356
|
-
fun();
|
|
357
|
-
};
|
|
358
|
-
|
|
359
|
-
/**
|
|
360
|
-
* 可以传函数的 useRef,
|
|
361
|
-
* 为了解决 useRef 初始化,调用运算复杂函数的问题
|
|
362
|
-
* @param initFun 初始化函数
|
|
363
|
-
* @returns
|
|
364
|
-
*/
|
|
365
|
-
var useRefPro = function useRefPro(initFun) {
|
|
366
|
-
var ref = react.useRef();
|
|
367
|
-
useOnceFun(function () {
|
|
368
|
-
ref.current = y$1(initFun) ? initFun() : initFun;
|
|
369
|
-
});
|
|
370
|
-
return ref;
|
|
371
|
-
};
|
|
372
|
-
|
|
373
483
|
/**
|
|
374
484
|
* 节流
|
|
375
485
|
* @param cb
|
|
@@ -378,11 +488,12 @@ var useRefPro = function useRefPro(initFun) {
|
|
|
378
488
|
var useThrottleFn = function useThrottleFn(cb, options) {
|
|
379
489
|
var fun = useCallbackRef(cb);
|
|
380
490
|
return react.useMemo(function () {
|
|
381
|
-
var run =
|
|
491
|
+
var run = k(fun, options);
|
|
382
492
|
return {
|
|
383
493
|
run: run,
|
|
384
494
|
cancel: run.cancel,
|
|
385
|
-
flush: run.flush
|
|
495
|
+
flush: run.flush,
|
|
496
|
+
fun: run.fun
|
|
386
497
|
};
|
|
387
498
|
}, []);
|
|
388
499
|
};
|
|
@@ -396,8 +507,18 @@ var useUpdate = function useUpdate() {
|
|
|
396
507
|
};
|
|
397
508
|
};
|
|
398
509
|
|
|
510
|
+
/**
|
|
511
|
+
* 生成一个 uuid
|
|
512
|
+
* @returns string
|
|
513
|
+
*/
|
|
514
|
+
var useUuid = function useUuid() {
|
|
515
|
+
var ref = useRefPro(j);
|
|
516
|
+
return ref.current;
|
|
517
|
+
};
|
|
518
|
+
|
|
399
519
|
exports.createCtx = createCtx;
|
|
400
520
|
exports.useCallbackRef = useCallbackRef;
|
|
521
|
+
exports.useControl = useControl;
|
|
401
522
|
exports.useDebounceFn = useDebounceFn;
|
|
402
523
|
exports.useEventListenerMultiple = useEventListenerMultiple;
|
|
403
524
|
exports.useEventListenerMultipleRef = useEventListenerMultipleRef;
|
|
@@ -405,3 +526,4 @@ exports.useOnceFun = useOnceFun;
|
|
|
405
526
|
exports.useRefPro = useRefPro;
|
|
406
527
|
exports.useThrottleFn = useThrottleFn;
|
|
407
528
|
exports.useUpdate = useUpdate;
|
|
529
|
+
exports.useUuid = useUuid;
|
package/lib/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createContext, useContext, useRef, useCallback, useMemo, useEffect
|
|
1
|
+
import { createContext, useContext, useRef, useCallback, useState, useMemo, useEffect } from 'react';
|
|
2
2
|
import { addEventListenerMultiple } from '@cclr/front';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -43,12 +43,12 @@ function _iterableToArrayLimit(r, l) {
|
|
|
43
43
|
i,
|
|
44
44
|
u,
|
|
45
45
|
a = [],
|
|
46
|
-
f =
|
|
47
|
-
o =
|
|
46
|
+
f = true,
|
|
47
|
+
o = false;
|
|
48
48
|
try {
|
|
49
49
|
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
50
50
|
} catch (r) {
|
|
51
|
-
o =
|
|
51
|
+
o = true, n = r;
|
|
52
52
|
} finally {
|
|
53
53
|
try {
|
|
54
54
|
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
@@ -97,9 +97,12 @@ function useCallbackRef(fn, deps) {
|
|
|
97
97
|
}, _toConsumableArray(deps || []));
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
var n = function n(_n, t, r) {
|
|
101
|
+
if (r) for (var e = _n.length - 1; e >= 0; e--) t(_n[e], e, _n);else for (var o = 0; o < _n.length; o++) t(_n[o], o, _n);
|
|
102
|
+
},
|
|
103
|
+
r = Function.prototype.call.bind(Object.prototype.hasOwnProperty),
|
|
104
|
+
e = Function.prototype.call.bind(Object.prototype.toString),
|
|
105
|
+
o = {
|
|
103
106
|
boolean: "boolean",
|
|
104
107
|
undefined: "undefined",
|
|
105
108
|
number: "number",
|
|
@@ -116,98 +119,230 @@ Function.prototype.call.bind(Object.prototype.hasOwnProperty);
|
|
|
116
119
|
"[object File]": "file",
|
|
117
120
|
"[object ArrayBuffer]": "arrayBuffer"
|
|
118
121
|
};
|
|
119
|
-
function
|
|
120
|
-
return
|
|
122
|
+
function u(n) {
|
|
123
|
+
return o[typeof n] || o[e(n)] || (n ? "object" : "null");
|
|
121
124
|
}
|
|
122
|
-
function
|
|
123
|
-
return "function" ===
|
|
125
|
+
function v$1(n) {
|
|
126
|
+
return "function" === u(n);
|
|
124
127
|
}
|
|
125
128
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
/**
|
|
130
|
+
* 仅执行一次
|
|
131
|
+
* @param fun 函数
|
|
132
|
+
* @returns
|
|
133
|
+
*/
|
|
134
|
+
var useOnceFun = function useOnceFun(fun) {
|
|
135
|
+
var ref = useRef(false);
|
|
136
|
+
if (ref.current) return;
|
|
137
|
+
ref.current = true;
|
|
138
|
+
fun();
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* 可以传函数的 useRef,
|
|
143
|
+
* 为了解决 useRef 初始化,调用运算复杂函数的问题
|
|
144
|
+
* @param initFun 初始化函数
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
var useRefPro = function useRefPro(initFun) {
|
|
148
|
+
var ref = useRef();
|
|
149
|
+
useOnceFun(function () {
|
|
150
|
+
ref.current = v$1(initFun) ? initFun() : initFun;
|
|
151
|
+
});
|
|
152
|
+
return ref;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* 受控组件的值管理
|
|
157
|
+
*/
|
|
158
|
+
var useControl = function useControl(params, comptDefaultValue) {
|
|
159
|
+
var defaultValue = params.defaultValue,
|
|
160
|
+
onChange = params.onChange;
|
|
161
|
+
var ref = useRefPro(function () {
|
|
162
|
+
return {
|
|
163
|
+
isControl: r(params, 'value')
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
var _useState = useState(ref.current.isControl ? params.value : defaultValue || comptDefaultValue),
|
|
167
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
168
|
+
value = _useState2[0],
|
|
169
|
+
setValue = _useState2[1];
|
|
170
|
+
return [ref.current.isControl ? params.value : value, function (value) {
|
|
171
|
+
if (!ref.current.isControl) {
|
|
172
|
+
setValue(value);
|
|
173
|
+
}
|
|
174
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
175
|
+
args[_key - 1] = arguments[_key];
|
|
176
|
+
}
|
|
177
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, [value].concat(args));
|
|
178
|
+
}];
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
function l(t, n) {
|
|
182
|
+
(null == n || n > t.length) && (n = t.length);
|
|
183
|
+
for (var r = 0, e = Array(n); r < n; r++) e[r] = t[r];
|
|
129
184
|
return e;
|
|
130
185
|
}
|
|
131
|
-
function
|
|
132
|
-
return
|
|
133
|
-
|
|
134
|
-
|
|
186
|
+
function c(t, n, r) {
|
|
187
|
+
return n && function (t, n) {
|
|
188
|
+
for (var r = 0; r < n.length; r++) {
|
|
189
|
+
var e = n[r];
|
|
190
|
+
e.enumerable = e.enumerable || false, e.configurable = true, "value" in e && (e.writable = true), Object.defineProperty(t, d(e.key), e);
|
|
191
|
+
}
|
|
192
|
+
}(t.prototype, n), Object.defineProperty(t, "prototype", {
|
|
193
|
+
writable: false
|
|
194
|
+
}), t;
|
|
195
|
+
}
|
|
196
|
+
function f(t, n, r) {
|
|
197
|
+
return (n = d(n)) in t ? Object.defineProperty(t, n, {
|
|
198
|
+
value: r,
|
|
199
|
+
enumerable: true,
|
|
200
|
+
configurable: true,
|
|
201
|
+
writable: true
|
|
202
|
+
}) : t[n] = r, t;
|
|
135
203
|
}
|
|
136
|
-
function h(t) {
|
|
204
|
+
function h(t, n) {
|
|
205
|
+
return h = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, n) {
|
|
206
|
+
return t.__proto__ = n, t;
|
|
207
|
+
}, h(t, n);
|
|
208
|
+
}
|
|
209
|
+
function v(t) {
|
|
137
210
|
return function (t) {
|
|
138
|
-
if (Array.isArray(t)) return
|
|
211
|
+
if (Array.isArray(t)) return l(t);
|
|
139
212
|
}(t) || function (t) {
|
|
140
213
|
if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array.from(t);
|
|
141
214
|
}(t) || b(t) || function () {
|
|
142
215
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
143
216
|
}();
|
|
144
217
|
}
|
|
145
|
-
function
|
|
218
|
+
function d(t) {
|
|
219
|
+
var n = function (t, n) {
|
|
220
|
+
if ("object" != typeof t || !t) return t;
|
|
221
|
+
var r = t[Symbol.toPrimitive];
|
|
222
|
+
if (void 0 !== r) {
|
|
223
|
+
var e = r.call(t, n);
|
|
224
|
+
if ("object" != typeof e) return e;
|
|
225
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
226
|
+
}
|
|
227
|
+
return (String )(t);
|
|
228
|
+
}(t, "string");
|
|
229
|
+
return "symbol" == typeof n ? n : n + "";
|
|
230
|
+
}
|
|
231
|
+
function b(t, n) {
|
|
146
232
|
if (t) {
|
|
147
|
-
if ("string" == typeof t) return
|
|
148
|
-
var
|
|
149
|
-
return "Object" ===
|
|
233
|
+
if ("string" == typeof t) return l(t, n);
|
|
234
|
+
var r = {}.toString.call(t).slice(8, -1);
|
|
235
|
+
return "Object" === r && t.constructor && (r = t.constructor.name), "Map" === r || "Set" === r ? Array.from(t) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? l(t, n) : void 0;
|
|
150
236
|
}
|
|
151
237
|
}
|
|
152
238
|
function m() {
|
|
153
|
-
m = function m(t,
|
|
154
|
-
return new
|
|
239
|
+
m = function m(t, n) {
|
|
240
|
+
return new r(t, void 0, n);
|
|
155
241
|
};
|
|
156
242
|
var t = RegExp.prototype,
|
|
157
|
-
|
|
158
|
-
function
|
|
159
|
-
var
|
|
160
|
-
return
|
|
243
|
+
n = new WeakMap();
|
|
244
|
+
function r(t, e, o) {
|
|
245
|
+
var i = RegExp(t, e);
|
|
246
|
+
return n.set(i, o || n.get(t)), h(i, r.prototype);
|
|
161
247
|
}
|
|
162
|
-
function e(t,
|
|
163
|
-
var e =
|
|
164
|
-
return Object.keys(e).reduce(function (
|
|
165
|
-
var o = e[
|
|
166
|
-
if ("number" == typeof o) r
|
|
167
|
-
for (var
|
|
168
|
-
r
|
|
248
|
+
function e(t, r) {
|
|
249
|
+
var e = n.get(r);
|
|
250
|
+
return Object.keys(e).reduce(function (n, r) {
|
|
251
|
+
var o = e[r];
|
|
252
|
+
if ("number" == typeof o) n[r] = t[o];else {
|
|
253
|
+
for (var i = 0; void 0 === t[o[i]] && i + 1 < o.length;) i++;
|
|
254
|
+
n[r] = t[o[i]];
|
|
169
255
|
}
|
|
170
|
-
return
|
|
256
|
+
return n;
|
|
171
257
|
}, Object.create(null));
|
|
172
258
|
}
|
|
173
|
-
return function (t,
|
|
174
|
-
if ("function" != typeof
|
|
175
|
-
t.prototype = Object.create(
|
|
259
|
+
return function (t, n) {
|
|
260
|
+
if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
|
|
261
|
+
t.prototype = Object.create(n && n.prototype, {
|
|
176
262
|
constructor: {
|
|
177
263
|
value: t,
|
|
178
|
-
writable:
|
|
179
|
-
configurable:
|
|
264
|
+
writable: true,
|
|
265
|
+
configurable: true
|
|
180
266
|
}
|
|
181
267
|
}), Object.defineProperty(t, "prototype", {
|
|
182
|
-
writable:
|
|
183
|
-
}),
|
|
184
|
-
}(
|
|
185
|
-
var
|
|
186
|
-
if (
|
|
187
|
-
|
|
188
|
-
var o =
|
|
268
|
+
writable: false
|
|
269
|
+
}), n && h(t, n);
|
|
270
|
+
}(r, RegExp), r.prototype.exec = function (n) {
|
|
271
|
+
var r = t.exec.call(this, n);
|
|
272
|
+
if (r) {
|
|
273
|
+
r.groups = e(r, this);
|
|
274
|
+
var o = r.indices;
|
|
189
275
|
o && (o.groups = e(o, this));
|
|
190
276
|
}
|
|
191
|
-
return
|
|
192
|
-
},
|
|
277
|
+
return r;
|
|
278
|
+
}, r.prototype[Symbol.replace] = function (r, o) {
|
|
193
279
|
if ("string" == typeof o) {
|
|
194
|
-
var
|
|
195
|
-
return t[Symbol.replace].call(this,
|
|
196
|
-
var
|
|
197
|
-
return "$" + (Array.isArray(
|
|
280
|
+
var i = n.get(this);
|
|
281
|
+
return t[Symbol.replace].call(this, r, o.replace(/\$<([^>]+)>/g, function (t, n) {
|
|
282
|
+
var r = i[n];
|
|
283
|
+
return "$" + (Array.isArray(r) ? r.join("$") : r);
|
|
198
284
|
}));
|
|
199
285
|
}
|
|
200
286
|
if ("function" == typeof o) {
|
|
201
|
-
var
|
|
202
|
-
return t[Symbol.replace].call(this,
|
|
287
|
+
var u = this;
|
|
288
|
+
return t[Symbol.replace].call(this, r, function () {
|
|
203
289
|
var t = arguments;
|
|
204
|
-
return "object" != typeof t[t.length - 1] && (t = [].slice.call(t)).push(e(t,
|
|
290
|
+
return "object" != typeof t[t.length - 1] && (t = [].slice.call(t)).push(e(t, u)), o.apply(this, t);
|
|
205
291
|
});
|
|
206
292
|
}
|
|
207
|
-
return t[Symbol.replace].call(this,
|
|
293
|
+
return t[Symbol.replace].call(this, r, o);
|
|
208
294
|
}, m.apply(this, arguments);
|
|
209
295
|
}
|
|
210
|
-
|
|
296
|
+
var j = function j() {
|
|
297
|
+
for (var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 36, n = ["a", "b", "c", "d", "e", "f", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], r = [], e = 0; e < t; e++) r[e] = 8 === e || 13 === e || 18 === e || 23 === e ? "-" : n[Math.ceil(Math.random() * n.length - 1)];
|
|
298
|
+
return r.join("");
|
|
299
|
+
};
|
|
300
|
+
(function () {
|
|
301
|
+
return c(function t() {
|
|
302
|
+
!function (t, n) {
|
|
303
|
+
if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
304
|
+
}(this, t), f(this, "handler", []);
|
|
305
|
+
}, [{
|
|
306
|
+
key: "use",
|
|
307
|
+
value: function value(t, n) {
|
|
308
|
+
return this.handler.push({
|
|
309
|
+
fulfilled: t,
|
|
310
|
+
rejected: n
|
|
311
|
+
}), this.handler.length - 1;
|
|
312
|
+
}
|
|
313
|
+
}, {
|
|
314
|
+
key: "eject",
|
|
315
|
+
value: function value(t) {
|
|
316
|
+
this.handler[t] && (this.handler[t] = null);
|
|
317
|
+
}
|
|
318
|
+
}, {
|
|
319
|
+
key: "clear",
|
|
320
|
+
value: function value() {
|
|
321
|
+
this.handler = [];
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
key: "forEach",
|
|
325
|
+
value: function value(t) {
|
|
326
|
+
var r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
|
|
327
|
+
n(this.handler, function (n) {
|
|
328
|
+
n && t(n);
|
|
329
|
+
}, r);
|
|
330
|
+
}
|
|
331
|
+
}, {
|
|
332
|
+
key: "run",
|
|
333
|
+
value: function value(t) {
|
|
334
|
+
var n = arguments;
|
|
335
|
+
return new Promise(function (r, e) {
|
|
336
|
+
var o = n.length > 1 && void 0 !== n[1] && n[1],
|
|
337
|
+
i = Promise.resolve(t());
|
|
338
|
+
return this.forEach(function (t) {
|
|
339
|
+
i = i.then(t.fulfilled, t.rejected);
|
|
340
|
+
}, o), r(i);
|
|
341
|
+
}.bind(this));
|
|
342
|
+
}
|
|
343
|
+
}]);
|
|
344
|
+
})();
|
|
345
|
+
m(/\?([^#]*)/, {
|
|
211
346
|
query: 1
|
|
212
347
|
});
|
|
213
348
|
m(/#(.*)/, {
|
|
@@ -216,80 +351,81 @@ m(/\?([^#]*)/, {
|
|
|
216
351
|
m(/^(?:[a-zA-Z][a-zA-Zd+-.]*:)?(?:\/\/(?:[^@/?#]*@)?[^/?#]*)?([^?#]*)/, {
|
|
217
352
|
pathname: 1
|
|
218
353
|
});
|
|
219
|
-
var
|
|
220
|
-
var
|
|
354
|
+
var x = function x(t, n) {
|
|
355
|
+
var r,
|
|
221
356
|
e,
|
|
222
357
|
o,
|
|
223
|
-
u,
|
|
224
358
|
i,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
s =
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
359
|
+
u,
|
|
360
|
+
a = null == n ? void 0 : n.maxWait,
|
|
361
|
+
l = null !== (r = null == n ? void 0 : n.wait) && void 0 !== r ? r : 500,
|
|
362
|
+
c = null === (e = null == n ? void 0 : n.leading) || void 0 === e || e,
|
|
363
|
+
f = null === (o = null == n ? void 0 : n.trailing) || void 0 === o || o,
|
|
364
|
+
s = false,
|
|
365
|
+
p = 0,
|
|
366
|
+
h = a && a > l,
|
|
367
|
+
y = function y() {
|
|
368
|
+
clearTimeout(i), i = null;
|
|
234
369
|
},
|
|
235
|
-
|
|
236
|
-
|
|
370
|
+
d = function d() {
|
|
371
|
+
s = false, h && (p = Date.now()), t.apply(void 0, v(u));
|
|
237
372
|
},
|
|
238
|
-
|
|
239
|
-
clearTimeout(
|
|
240
|
-
if (
|
|
241
|
-
|
|
373
|
+
_b = function b() {
|
|
374
|
+
clearTimeout(i), i = setTimeout(function () {
|
|
375
|
+
if (s && f) return d(), void _b();
|
|
376
|
+
y();
|
|
242
377
|
}, l);
|
|
243
378
|
},
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
for (var t = arguments.length,
|
|
247
|
-
|
|
379
|
+
m = function m() {
|
|
380
|
+
s = true;
|
|
381
|
+
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
|
|
382
|
+
u = n, i || (c ? d() : h && (p = Date.now())), h && Date.now() - p >= a && (d(), _b()), _b();
|
|
248
383
|
};
|
|
249
|
-
return
|
|
250
|
-
|
|
251
|
-
},
|
|
384
|
+
return m.cancel = y, m.flush = function () {
|
|
385
|
+
i && s && (d(), _b());
|
|
386
|
+
}, m.fun = t, m;
|
|
252
387
|
},
|
|
253
|
-
|
|
254
|
-
var
|
|
388
|
+
k = function k(t, n) {
|
|
389
|
+
var r,
|
|
255
390
|
e,
|
|
256
391
|
o,
|
|
257
|
-
u,
|
|
258
392
|
i,
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
clearTimeout(u), u = null, f = !1;
|
|
265
|
-
},
|
|
393
|
+
u,
|
|
394
|
+
a = null !== (r = null == n ? void 0 : n.wait) && void 0 !== r ? r : 500,
|
|
395
|
+
l = null === (e = null == n ? void 0 : n.leading) || void 0 === e || e,
|
|
396
|
+
c = null === (o = null == n ? void 0 : n.trailing) || void 0 === o || o,
|
|
397
|
+
f = false,
|
|
266
398
|
s = function s() {
|
|
267
|
-
|
|
399
|
+
clearTimeout(i), i = null, f = false;
|
|
400
|
+
},
|
|
401
|
+
p = function p() {
|
|
402
|
+
f = false, t.apply(void 0, v(u));
|
|
268
403
|
},
|
|
269
|
-
|
|
270
|
-
clearTimeout(
|
|
271
|
-
if (f && c) return
|
|
272
|
-
|
|
404
|
+
_h = function h() {
|
|
405
|
+
clearTimeout(i), i = setTimeout(function () {
|
|
406
|
+
if (f && c) return p(), void _h();
|
|
407
|
+
s();
|
|
273
408
|
}, a);
|
|
274
409
|
},
|
|
275
|
-
|
|
276
|
-
f =
|
|
277
|
-
for (var t = arguments.length,
|
|
278
|
-
|
|
410
|
+
y = function y() {
|
|
411
|
+
f = true;
|
|
412
|
+
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
|
|
413
|
+
u = n, i || (l && p(), _h());
|
|
279
414
|
};
|
|
280
|
-
return
|
|
281
|
-
|
|
282
|
-
},
|
|
415
|
+
return y.cancel = s, y.flush = function () {
|
|
416
|
+
i && f && (p(), _h());
|
|
417
|
+
}, y.fun = t, y;
|
|
283
418
|
};
|
|
284
419
|
|
|
285
420
|
var useDebounceFn = function useDebounceFn(cb, options) {
|
|
286
421
|
var fun = useCallbackRef(cb);
|
|
287
422
|
return useMemo(function () {
|
|
288
|
-
var run =
|
|
423
|
+
var run = x(fun, options);
|
|
289
424
|
return {
|
|
290
425
|
run: run,
|
|
291
426
|
cancel: run.cancel,
|
|
292
|
-
flush: run.flush
|
|
427
|
+
flush: run.flush,
|
|
428
|
+
fun: run.fun
|
|
293
429
|
};
|
|
294
430
|
}, []);
|
|
295
431
|
};
|
|
@@ -342,32 +478,6 @@ var useEventListenerMultipleRef = function useEventListenerMultipleRef(eventMap)
|
|
|
342
478
|
};
|
|
343
479
|
};
|
|
344
480
|
|
|
345
|
-
/**
|
|
346
|
-
* 仅执行一次
|
|
347
|
-
* @param fun 函数
|
|
348
|
-
* @returns
|
|
349
|
-
*/
|
|
350
|
-
var useOnceFun = function useOnceFun(fun) {
|
|
351
|
-
var ref = useRef(false);
|
|
352
|
-
if (ref.current) return;
|
|
353
|
-
ref.current = true;
|
|
354
|
-
fun();
|
|
355
|
-
};
|
|
356
|
-
|
|
357
|
-
/**
|
|
358
|
-
* 可以传函数的 useRef,
|
|
359
|
-
* 为了解决 useRef 初始化,调用运算复杂函数的问题
|
|
360
|
-
* @param initFun 初始化函数
|
|
361
|
-
* @returns
|
|
362
|
-
*/
|
|
363
|
-
var useRefPro = function useRefPro(initFun) {
|
|
364
|
-
var ref = useRef();
|
|
365
|
-
useOnceFun(function () {
|
|
366
|
-
ref.current = y$1(initFun) ? initFun() : initFun;
|
|
367
|
-
});
|
|
368
|
-
return ref;
|
|
369
|
-
};
|
|
370
|
-
|
|
371
481
|
/**
|
|
372
482
|
* 节流
|
|
373
483
|
* @param cb
|
|
@@ -376,11 +486,12 @@ var useRefPro = function useRefPro(initFun) {
|
|
|
376
486
|
var useThrottleFn = function useThrottleFn(cb, options) {
|
|
377
487
|
var fun = useCallbackRef(cb);
|
|
378
488
|
return useMemo(function () {
|
|
379
|
-
var run =
|
|
489
|
+
var run = k(fun, options);
|
|
380
490
|
return {
|
|
381
491
|
run: run,
|
|
382
492
|
cancel: run.cancel,
|
|
383
|
-
flush: run.flush
|
|
493
|
+
flush: run.flush,
|
|
494
|
+
fun: run.fun
|
|
384
495
|
};
|
|
385
496
|
}, []);
|
|
386
497
|
};
|
|
@@ -394,4 +505,13 @@ var useUpdate = function useUpdate() {
|
|
|
394
505
|
};
|
|
395
506
|
};
|
|
396
507
|
|
|
397
|
-
|
|
508
|
+
/**
|
|
509
|
+
* 生成一个 uuid
|
|
510
|
+
* @returns string
|
|
511
|
+
*/
|
|
512
|
+
var useUuid = function useUuid() {
|
|
513
|
+
var ref = useRefPro(j);
|
|
514
|
+
return ref.current;
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
export { createCtx, useCallbackRef, useControl, useDebounceFn, useEventListenerMultiple, useEventListenerMultipleRef, useOnceFun, useRefPro, useThrottleFn, useUpdate, useUuid };
|
package/lib/type/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { TPlainObject, TAny, TPlainFunction, TNoop } from '@cclr/lang';
|
|
1
2
|
import * as react from 'react';
|
|
2
|
-
import { TPlainObject, TPlainFunction, TNoop } from '@cclr/lang';
|
|
3
3
|
import { TEventMap } from '@cclr/front';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -9,7 +9,7 @@ import { TEventMap } from '@cclr/front';
|
|
|
9
9
|
* 在 React DevTools 中查看组件树时,每个使用 context 的组件都会显示与该 context 相关的名称
|
|
10
10
|
* @returns [ useCtx, Provider ]
|
|
11
11
|
*/
|
|
12
|
-
declare function createCtx<A extends TPlainObject | null>(defaultValue?: A, name?: string):
|
|
12
|
+
declare function createCtx<A extends TPlainObject | null>(defaultValue?: A, name?: string): [() => A, React.Provider<A>];
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* React hook to persist any value between renders,
|
|
@@ -19,6 +19,24 @@ declare function createCtx<A extends TPlainObject | null>(defaultValue?: A, name
|
|
|
19
19
|
*/
|
|
20
20
|
declare function useCallbackRef<T extends (...args: any[]) => unknown>(fn: T | undefined, deps?: React.DependencyList): T;
|
|
21
21
|
|
|
22
|
+
interface IControlProps<T> {
|
|
23
|
+
/** 受控组件时,传入的list */
|
|
24
|
+
value?: T;
|
|
25
|
+
/** 受控组件时,传入的list */
|
|
26
|
+
onChange?: (value: T, ...val: TAny) => unknown;
|
|
27
|
+
/** 初始化使用 */
|
|
28
|
+
defaultValue?: T;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 受控组件的值管理
|
|
33
|
+
*/
|
|
34
|
+
declare const useControl: <P extends IControlProps<TAny>>(
|
|
35
|
+
/** 组件的props */
|
|
36
|
+
params: P,
|
|
37
|
+
/** 组件的默认值 */
|
|
38
|
+
comptDefaultValue?: P["defaultValue"]) => [P["value"], P["onChange"]];
|
|
39
|
+
|
|
22
40
|
declare const useDebounceFn: <T extends TPlainFunction>(cb: T, options?: {
|
|
23
41
|
/** 等待时间,单位为毫秒 default: 500 */
|
|
24
42
|
wait?: number;
|
|
@@ -32,9 +50,11 @@ declare const useDebounceFn: <T extends TPlainFunction>(cb: T, options?: {
|
|
|
32
50
|
run: T & {
|
|
33
51
|
cancel: () => void;
|
|
34
52
|
flush: () => void;
|
|
53
|
+
fun: T;
|
|
35
54
|
};
|
|
36
55
|
cancel: () => void;
|
|
37
56
|
flush: () => void;
|
|
57
|
+
fun: T;
|
|
38
58
|
};
|
|
39
59
|
|
|
40
60
|
/**
|
|
@@ -83,17 +103,25 @@ declare const useThrottleFn: <T extends TPlainFunction>(cb: T, options?: {
|
|
|
83
103
|
run: T & {
|
|
84
104
|
cancel: () => void;
|
|
85
105
|
flush: () => void;
|
|
106
|
+
fun: T;
|
|
86
107
|
};
|
|
87
108
|
cancel: () => void;
|
|
88
109
|
flush: () => void;
|
|
110
|
+
fun: T;
|
|
89
111
|
};
|
|
90
112
|
|
|
91
113
|
declare const useUpdate: () => () => void;
|
|
92
114
|
|
|
115
|
+
/**
|
|
116
|
+
* 生成一个 uuid
|
|
117
|
+
* @returns string
|
|
118
|
+
*/
|
|
119
|
+
declare const useUuid: () => string;
|
|
120
|
+
|
|
93
121
|
interface ICommonUiProps {
|
|
94
122
|
className?: string;
|
|
95
123
|
style?: React.CSSProperties;
|
|
96
124
|
children?: React.ReactNode;
|
|
97
125
|
}
|
|
98
126
|
|
|
99
|
-
export { type ICommonUiProps, createCtx, useCallbackRef, useDebounceFn, useEventListenerMultiple, useEventListenerMultipleRef, useOnceFun, useRefPro, useThrottleFn, useUpdate };
|
|
127
|
+
export { type ICommonUiProps, type IControlProps, createCtx, useCallbackRef, useControl, useDebounceFn, useEventListenerMultiple, useEventListenerMultipleRef, useOnceFun, useRefPro, useThrottleFn, useUpdate, useUuid };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cclr/react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.18",
|
|
4
4
|
"description": "react 相关功能",
|
|
5
5
|
"author": "cclr <18843152354@163.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"g:test": "vitest run",
|
|
28
28
|
"g:build": "ccm lib"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "f0b2dc8e54b6ddfcca0ff36488c17df73a658e49",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cclr/front": "0.1.
|
|
33
|
-
"@cclr/lang": "0.1.
|
|
34
|
-
"@cclr/model": "0.1.
|
|
35
|
-
"@cclr/utils": "0.1.
|
|
32
|
+
"@cclr/front": "0.1.18",
|
|
33
|
+
"@cclr/lang": "0.1.18",
|
|
34
|
+
"@cclr/model": "0.1.18",
|
|
35
|
+
"@cclr/utils": "0.1.18"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/react": "^18.3.18",
|