add all frontend files

This commit is contained in:
2026-01-17 15:16:36 -05:00
parent ff16ae7858
commit e40287e4aa
25704 changed files with 1935289 additions and 0 deletions

16
node_modules/rc-virtual-list/lib/utils/CacheMap.d.ts generated vendored Normal file
View File

@@ -0,0 +1,16 @@
import type React from 'react';
declare class CacheMap {
maps: Record<string, number>;
id: number;
diffRecords: Map<React.Key, number>;
constructor();
set(key: React.Key, value: number): void;
get(key: React.Key): number;
/**
* CacheMap will record the key changed.
* To help to know what's update in the next render.
*/
resetRecord(): void;
getRecord(): Map<React.Key, number>;
}
export default CacheMap;

53
node_modules/rc-virtual-list/lib/utils/CacheMap.js generated vendored Normal file
View File

@@ -0,0 +1,53 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
// Firefox has low performance of map.
var CacheMap = /*#__PURE__*/function () {
function CacheMap() {
(0, _classCallCheck2.default)(this, CacheMap);
(0, _defineProperty2.default)(this, "maps", void 0);
// Used for cache key
// `useMemo` no need to update if `id` not change
(0, _defineProperty2.default)(this, "id", 0);
(0, _defineProperty2.default)(this, "diffRecords", new Map());
this.maps = Object.create(null);
}
(0, _createClass2.default)(CacheMap, [{
key: "set",
value: function set(key, value) {
// Record prev value
this.diffRecords.set(key, this.maps[key]);
this.maps[key] = value;
this.id += 1;
}
}, {
key: "get",
value: function get(key) {
return this.maps[key];
}
/**
* CacheMap will record the key changed.
* To help to know what's update in the next render.
*/
}, {
key: "resetRecord",
value: function resetRecord() {
this.diffRecords.clear();
}
}, {
key: "getRecord",
value: function getRecord() {
return this.diffRecords;
}
}]);
return CacheMap;
}();
var _default = exports.default = CacheMap;

View File

@@ -0,0 +1,23 @@
import type * as React from 'react';
/**
* Get index with specific start index one by one. e.g.
* min: 3, max: 9, start: 6
*
* Return index is:
* [0]: 6
* [1]: 7
* [2]: 5
* [3]: 8
* [4]: 4
* [5]: 9
* [6]: 3
*/
export declare function getIndexByStartLoc(min: number, max: number, start: number, index: number): number;
/**
* We assume that 2 list has only 1 item diff and others keeping the order.
* So we can use dichotomy algorithm to find changed one.
*/
export declare function findListDiffIndex<T>(originList: T[], targetList: T[], getKey: (item: T) => React.Key): {
index: number;
multiple: boolean;
} | null;

View File

@@ -0,0 +1,87 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.findListDiffIndex = findListDiffIndex;
exports.getIndexByStartLoc = getIndexByStartLoc;
/**
* Get index with specific start index one by one. e.g.
* min: 3, max: 9, start: 6
*
* Return index is:
* [0]: 6
* [1]: 7
* [2]: 5
* [3]: 8
* [4]: 4
* [5]: 9
* [6]: 3
*/
function getIndexByStartLoc(min, max, start, index) {
var beforeCount = start - min;
var afterCount = max - start;
var balanceCount = Math.min(beforeCount, afterCount) * 2;
// Balance
if (index <= balanceCount) {
var stepIndex = Math.floor(index / 2);
if (index % 2) {
return start + stepIndex + 1;
}
return start - stepIndex;
}
// One is out of range
if (beforeCount > afterCount) {
return start - (index - afterCount);
}
return start + (index - beforeCount);
}
/**
* We assume that 2 list has only 1 item diff and others keeping the order.
* So we can use dichotomy algorithm to find changed one.
*/
function findListDiffIndex(originList, targetList, getKey) {
var originLen = originList.length;
var targetLen = targetList.length;
var shortList;
var longList;
if (originLen === 0 && targetLen === 0) {
return null;
}
if (originLen < targetLen) {
shortList = originList;
longList = targetList;
} else {
shortList = targetList;
longList = originList;
}
var notExistKey = {
__EMPTY_ITEM__: true
};
function getItemKey(item) {
if (item !== undefined) {
return getKey(item);
}
return notExistKey;
}
// Loop to find diff one
var diffIndex = null;
var multiple = Math.abs(originLen - targetLen) !== 1;
for (var i = 0; i < longList.length; i += 1) {
var shortKey = getItemKey(shortList[i]);
var longKey = getItemKey(longList[i]);
if (shortKey !== longKey) {
diffIndex = i;
multiple = multiple || shortKey !== getItemKey(longList[i + 1]);
break;
}
}
return diffIndex === null ? null : {
index: diffIndex,
multiple: multiple
};
}

View File

@@ -0,0 +1,2 @@
declare const isFF: boolean;
export default isFF;

10
node_modules/rc-virtual-list/lib/utils/isFirefox.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var isFF = (typeof navigator === "undefined" ? "undefined" : (0, _typeof2.default)(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);
var _default = exports.default = isFF;

View File

@@ -0,0 +1 @@
export declare function getSpinSize(containerSize?: number, scrollRange?: number): number;

View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSpinSize = getSpinSize;
var MIN_SIZE = 20;
function getSpinSize() {
var containerSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var scrollRange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var baseSize = containerSize / scrollRange * containerSize;
if (isNaN(baseSize)) {
baseSize = 0;
}
baseSize = Math.max(baseSize, MIN_SIZE);
return Math.floor(baseSize);
}