tntd 3.0.47 → 3.0.48-beta.1
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/es/_util/hooks/useScrollLock.js +68 -0
- package/es/_util/hooks/useScrollLock.js.map +1 -0
- package/es/anchor/anchor.js +96 -0
- package/es/anchor/anchor.js.map +1 -0
- package/es/anchor/anchor.less +79 -0
- package/es/anchor/index.js +7 -9
- package/es/anchor/index.js.map +1 -1
- package/es/array-input/icon.js +36 -0
- package/es/array-input/icon.js.map +1 -0
- package/es/checkbox/checkbox-group.js +16 -0
- package/es/checkbox/checkbox-group.js.map +1 -0
- package/es/ellipsis/index.js +30 -10
- package/es/ellipsis/index.js.map +1 -1
- package/es/form/style/index.less +5 -5
- package/es/index.js +7 -0
- package/es/index.js.map +1 -1
- package/es/page-loading/index.less +4 -4
- package/es/page-loading/loading.gif +0 -0
- package/es/page-loading/loading1.gif +0 -0
- package/es/query-form/Field/Checkbox.js +1 -1
- package/es/query-form/Field/Checkbox.js.map +1 -1
- package/es/query-form/Field/Composition/FieldPopover.js +13 -109
- package/es/query-form/Field/Composition/Select.js +13 -109
- package/es/query-form/Field/Composition/SelectInput.js +10 -87
- package/es/query-form/Field/Composition/ValueTag.js +10 -87
- package/es/query-form/Field/Composition/index.js +17 -121
- package/es/query-form/Field/Composition/utils.js +1 -5
- package/es/query-form/Field/SelectInput.js +16 -12
- package/es/query-form/Field/SelectInput.js.map +1 -1
- package/es/query-form/Field/fieldsMap.js +2 -2
- package/es/query-form/Field/fieldsMap.js.map +1 -1
- package/es/query-form/Field/index.js +2 -1
- package/es/query-form/Field/index.js.map +1 -1
- package/es/query-form/index.js +226 -357
- package/es/query-form/index.js.map +1 -1
- package/es/query-form/index.less +26 -63
- package/es/query-list-scene/List.js +16 -3
- package/es/query-list-scene/List.js.map +1 -1
- package/es/query-list-scene/QueryForm.js +35 -13
- package/es/query-list-scene/QueryForm.js.map +1 -1
- package/es/query-list-scene/index.js +2 -1
- package/es/query-list-scene/index.js.map +1 -1
- package/es/radio/radio-group.js +16 -0
- package/es/radio/radio-group.js.map +1 -0
- package/es/scroll-bar/Bar.js +10 -87
- package/es/scroll-bar/Context.js +1 -5
- package/es/scroll-bar/ScrollBar.js +4 -39
- package/es/scroll-bar/Thumb.js +10 -87
- package/es/scroll-bar/index.js +1 -5
- package/es/scroll-bar/util.js +4 -31
- package/es/steps/stepStyle/small.less +5 -0
- package/es/table/hooks/use-column-setting.js.map +1 -1
- package/es/table/resizableTable/index.js +34 -5
- package/es/table/resizableTable/index.js.map +1 -1
- package/es/table/resizableTable/index.less +9 -1
- package/es/table/table.js +8 -2
- package/es/table/table.js.map +1 -1
- package/es/table/total-shower.js +20 -0
- package/es/table/total-shower.js.map +1 -0
- package/es/tntd-rc-select/style/index.less +20 -2
- package/es/tntd-select/index.js.map +1 -1
- package/es/tntd-virtual-tree/index.js +0 -3
- package/es/tntd-virtual-tree/index.js.map +1 -1
- package/es/tooltip/tooltip.js +19 -5
- package/es/tooltip/tooltip.js.map +1 -1
- package/es/utils/simple-template.js +19 -0
- package/es/utils/simple-template.js.map +1 -0
- package/lib/_util/hooks/useScrollLock.d.ts +9 -0
- package/lib/_util/hooks/useScrollLock.d.ts.map +1 -0
- package/lib/_util/hooks/useScrollLock.js +114 -0
- package/lib/_util/hooks/useScrollLock.js.map +1 -0
- package/lib/anchor/anchor.d.ts +15 -0
- package/lib/anchor/anchor.d.ts.map +1 -0
- package/lib/anchor/anchor.js +131 -0
- package/lib/anchor/anchor.js.map +1 -0
- package/lib/anchor/anchor.less +79 -0
- package/lib/anchor/index.d.ts +3 -2
- package/lib/anchor/index.d.ts.map +1 -1
- package/lib/anchor/index.js +7 -40
- package/lib/anchor/index.js.map +1 -1
- package/lib/array-input/icon.d.ts +4 -0
- package/lib/array-input/icon.d.ts.map +1 -0
- package/lib/array-input/icon.js +36 -0
- package/lib/array-input/icon.js.map +1 -0
- package/lib/checkbox/checkbox-group.d.ts +8 -0
- package/lib/checkbox/checkbox-group.d.ts.map +1 -0
- package/lib/checkbox/checkbox-group.js +16 -0
- package/lib/checkbox/checkbox-group.js.map +1 -0
- package/lib/ellipsis/index.d.ts.map +1 -1
- package/lib/ellipsis/index.js +30 -10
- package/lib/ellipsis/index.js.map +1 -1
- package/lib/form/style/index.less +5 -5
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/notification/assets/svg-error-tip.d.ts +1 -1
- package/lib/notification/assets/svg-success-tip.d.ts +1 -1
- package/lib/page-loading/index.less +4 -4
- package/lib/page-loading/loading.gif +0 -0
- package/lib/page-loading/loading1.gif +0 -0
- package/lib/query-form/Field/Checkbox.js +1 -1
- package/lib/query-form/Field/Checkbox.js.map +1 -1
- package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
- package/lib/query-form/Field/SelectInput.js +16 -12
- package/lib/query-form/Field/SelectInput.js.map +1 -1
- package/lib/query-form/Field/fieldsMap.d.ts +6 -3
- package/lib/query-form/Field/fieldsMap.d.ts.map +1 -1
- package/lib/query-form/Field/fieldsMap.js +2 -2
- package/lib/query-form/Field/fieldsMap.js.map +1 -1
- package/lib/query-form/Field/index.d.ts.map +1 -1
- package/lib/query-form/Field/index.js +2 -1
- package/lib/query-form/Field/index.js.map +1 -1
- package/lib/query-form/index.d.ts +1 -36
- package/lib/query-form/index.d.ts.map +1 -1
- package/lib/query-form/index.js +262 -397
- package/lib/query-form/index.js.map +1 -1
- package/lib/query-form/index.less +26 -63
- package/lib/query-list-scene/List.d.ts.map +1 -1
- package/lib/query-list-scene/List.js +16 -3
- package/lib/query-list-scene/List.js.map +1 -1
- package/lib/query-list-scene/QueryForm.d.ts +5 -4
- package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
- package/lib/query-list-scene/QueryForm.js +35 -13
- package/lib/query-list-scene/QueryForm.js.map +1 -1
- package/lib/query-list-scene/index.d.ts.map +1 -1
- package/lib/query-list-scene/index.js +2 -1
- package/lib/query-list-scene/index.js.map +1 -1
- package/lib/radio/radio-group.d.ts +8 -0
- package/lib/radio/radio-group.d.ts.map +1 -0
- package/lib/radio/radio-group.js +16 -0
- package/lib/radio/radio-group.js.map +1 -0
- package/lib/segmented/index.d.ts +1 -1
- package/lib/steps/stepStyle/small.less +5 -0
- package/lib/svg-components/illustration-403.d.ts +1 -1
- package/lib/svg-components/illustration-404.d.ts +1 -1
- package/lib/svg-components/illustration-500.d.ts +1 -1
- package/lib/svg-components/illustration-empty.d.ts +1 -1
- package/lib/svg-components/illustration-failure.d.ts +1 -1
- package/lib/svg-components/illustration-no-access.d.ts +1 -1
- package/lib/svg-components/illustration-no-chart.d.ts +1 -1
- package/lib/svg-components/illustration-no-result.d.ts +1 -1
- package/lib/svg-components/illustration-offline.d.ts +1 -1
- package/lib/svg-components/illustration-success.d.ts +1 -1
- package/lib/table/assets/image-loading-background.d.ts +1 -1
- package/lib/table/assets/image-loading.d.ts +1 -1
- package/lib/table/hooks/use-column-setting.d.ts +1 -0
- package/lib/table/hooks/use-column-setting.d.ts.map +1 -1
- package/lib/table/hooks/use-column-setting.js.map +1 -1
- package/lib/table/resizableTable/index.d.ts +3 -0
- package/lib/table/resizableTable/index.d.ts.map +1 -1
- package/lib/table/resizableTable/index.js +34 -5
- package/lib/table/resizableTable/index.js.map +1 -1
- package/lib/table/resizableTable/index.less +9 -1
- package/lib/table/table.d.ts.map +1 -1
- package/lib/table/table.js +8 -2
- package/lib/table/table.js.map +1 -1
- package/lib/table/total-shower.d.ts +9 -0
- package/lib/table/total-shower.d.ts.map +1 -0
- package/lib/table/total-shower.js +20 -0
- package/lib/table/total-shower.js.map +1 -0
- package/lib/tntd-rc-select/style/index.less +20 -2
- package/lib/tntd-select/index.d.ts.map +1 -1
- package/lib/tntd-select/index.js.map +1 -1
- package/lib/tntd-virtual-tree/index.js +0 -3
- package/lib/tntd-virtual-tree/index.js.map +1 -1
- package/lib/tooltip/tooltip.d.ts +1 -0
- package/lib/tooltip/tooltip.d.ts.map +1 -1
- package/lib/tooltip/tooltip.js +23 -9
- package/lib/tooltip/tooltip.js.map +1 -1
- package/lib/utils/simple-template.d.ts +9 -0
- package/lib/utils/simple-template.d.ts.map +1 -0
- package/lib/utils/simple-template.js +19 -0
- package/lib/utils/simple-template.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
|
|
8
|
+
var _throttle2 = _interopRequireDefault(require("lodash/throttle"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
12
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
14
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
16
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
17
|
+
// ==================== 优化版 Hook ====================
|
|
18
|
+
var _default = exports["default"] = function _default(config) {
|
|
19
|
+
var _ref = config || {},
|
|
20
|
+
_ref$enableScrollObse = _ref.enableScrollObserver,
|
|
21
|
+
enableScrollObserver = _ref$enableScrollObse === void 0 ? true : _ref$enableScrollObse,
|
|
22
|
+
_ref$debounceTime = _ref.debounceTime,
|
|
23
|
+
debounceTime = _ref$debounceTime === void 0 ? 100 : _ref$debounceTime,
|
|
24
|
+
_ref$throttleTime = _ref.throttleTime,
|
|
25
|
+
throttleTime = _ref$throttleTime === void 0 ? 50 : _ref$throttleTime,
|
|
26
|
+
_ref$scrollContainer = _ref.scrollContainer,
|
|
27
|
+
scrollContainer = _ref$scrollContainer === void 0 ? window : _ref$scrollContainer;
|
|
28
|
+
var _useState = (0, _react.useState)(false),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
isScrolling = _useState2[0],
|
|
31
|
+
setIsScrolling = _useState2[1];
|
|
32
|
+
var throttledHandlerRef = (0, _react.useRef)();
|
|
33
|
+
var debouncedEndRef = (0, _react.useRef)();
|
|
34
|
+
// ==================== 核心逻辑 ====================
|
|
35
|
+
var handleScroll = (0, _react.useCallback)(function () {
|
|
36
|
+
var _a;
|
|
37
|
+
// 标记开始滚动
|
|
38
|
+
setIsScrolling(true);
|
|
39
|
+
// 启动防抖结束检测
|
|
40
|
+
(_a = debouncedEndRef.current) === null || _a === void 0 ? void 0 : _a.cancel();
|
|
41
|
+
debouncedEndRef.current = (0, _debounce2["default"])(function () {
|
|
42
|
+
return setIsScrolling(false);
|
|
43
|
+
}, debounceTime);
|
|
44
|
+
debouncedEndRef.current();
|
|
45
|
+
}, [debounceTime]);
|
|
46
|
+
// ==================== 事件监听 ====================
|
|
47
|
+
(0, _react.useEffect)(function () {
|
|
48
|
+
var container = scrollContainer || window;
|
|
49
|
+
if (!container || !enableScrollObserver) return;
|
|
50
|
+
// 使用 lodash 节流包装处理函数
|
|
51
|
+
throttledHandlerRef.current = (0, _throttle2["default"])(handleScroll, throttleTime, {
|
|
52
|
+
leading: true,
|
|
53
|
+
trailing: true
|
|
54
|
+
});
|
|
55
|
+
var options = {
|
|
56
|
+
passive: true
|
|
57
|
+
};
|
|
58
|
+
container.addEventListener('scroll', throttledHandlerRef.current, options);
|
|
59
|
+
return function () {
|
|
60
|
+
var _a, _b;
|
|
61
|
+
// 清理事件和定时器
|
|
62
|
+
container.removeEventListener('scroll', throttledHandlerRef.current, options);
|
|
63
|
+
(_a = throttledHandlerRef.current) === null || _a === void 0 ? void 0 : _a.cancel();
|
|
64
|
+
(_b = debouncedEndRef.current) === null || _b === void 0 ? void 0 : _b.cancel();
|
|
65
|
+
};
|
|
66
|
+
}, [handleScroll, scrollContainer, enableScrollObserver, throttleTime]);
|
|
67
|
+
return isScrolling;
|
|
68
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollLock.js","sourceRoot":"","sources":["../../../src/_util/hooks/useScrollLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAU3C,qDAAqD;AACrD,eAAe,CAAC,MAA4B,EAAE,EAAE;IAC9C,MAAM,EACJ,oBAAoB,GAAG,IAAI,EAC3B,YAAY,GAAG,GAAG,EAClB,YAAY,GAAG,EAAE,EACjB,eAAe,GAAG,MAAM,GACzB,GAAG,MAAM,IAAI,EAAE,CAAA;IAEhB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,mBAAmB,GAAG,MAAM,EAA+B,CAAA;IACjE,MAAM,eAAe,GAAG,MAAM,EAA+B,CAAA;IAE7D,iDAAiD;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;;QACpC,SAAS;QACT,cAAc,CAAC,IAAI,CAAC,CAAA;QAEpB,WAAW;QACX,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAA;QACjC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAA;QAC7E,eAAe,CAAC,OAAO,EAAE,CAAA;IAC3B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,eAAe,IAAI,MAAM,CAAA;QAC3C,IAAI,CAAC,SAAS,IAAI,CAAC,oBAAoB;YAAE,OAAM;QAE/C,qBAAqB;QACrB,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE;YACjE,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,MAAM,OAAO,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1D,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE1E,OAAO,GAAG,EAAE;;YACV,WAAW;YACX,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAQ,EAAE,OAAO,CAAC,CAAA;YAC9E,MAAA,mBAAmB,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAA;YACrC,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAA;QACnC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAA;IAEvE,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA","sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react'\nimport { throttle, debounce } from 'lodash'\n\n// ==================== 类型定义 ====================\ninterface ScrollControlConfig {\n debounceTime?: number // 防抖时间 (默认: 100ms)\n throttleTime?: number // 节流时间 (默认: 50ms)\n scrollContainer?: HTMLElement | Window | null\n enableScrollObserver?: boolean\n}\n\n// ==================== 优化版 Hook ====================\nexport default (config?: ScrollControlConfig) => {\n const {\n enableScrollObserver = true,\n debounceTime = 100,\n throttleTime = 50,\n scrollContainer = window,\n } = config || {}\n\n const [isScrolling, setIsScrolling] = useState(false)\n const throttledHandlerRef = useRef<ReturnType<typeof throttle>>()\n const debouncedEndRef = useRef<ReturnType<typeof debounce>>()\n\n // ==================== 核心逻辑 ====================\n const handleScroll = useCallback(() => {\n // 标记开始滚动\n setIsScrolling(true)\n\n // 启动防抖结束检测\n debouncedEndRef.current?.cancel()\n debouncedEndRef.current = debounce(() => setIsScrolling(false), debounceTime)\n debouncedEndRef.current()\n }, [debounceTime])\n\n // ==================== 事件监听 ====================\n useEffect(() => {\n const container = scrollContainer || window\n if (!container || !enableScrollObserver) return\n\n // 使用 lodash 节流包装处理函数\n throttledHandlerRef.current = throttle(handleScroll, throttleTime, {\n leading: true,\n trailing: true,\n })\n\n const options: AddEventListenerOptions = { passive: true }\n container.addEventListener('scroll', throttledHandlerRef.current, options)\n\n return () => {\n // 清理事件和定时器\n container.removeEventListener('scroll', throttledHandlerRef.current!, options)\n throttledHandlerRef.current?.cancel()\n debouncedEndRef.current?.cancel()\n }\n }, [handleScroll, scrollContainer, enableScrollObserver, throttleTime])\n\n return isScrolling\n}\n"]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
var _exportNames = {
|
|
8
|
+
Anchor: true
|
|
9
|
+
};
|
|
10
|
+
exports["default"] = exports.Anchor = void 0;
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _configProvider = require("../config-provider");
|
|
13
|
+
var _anchor = _interopRequireWildcard(require("antd/es/anchor"));
|
|
14
|
+
Object.keys(_anchor).forEach(function (key) {
|
|
15
|
+
if (key === "default" || key === "__esModule") return;
|
|
16
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
17
|
+
if (key in exports && exports[key] === _anchor[key]) return;
|
|
18
|
+
Object.defineProperty(exports, key, {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _anchor[key];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
var _AnchorLink = _interopRequireDefault(require("antd/es/anchor/AnchorLink"));
|
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
+
var _useScrollLock = _interopRequireDefault(require("../_util/hooks/useScrollLock"));
|
|
28
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
29
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
30
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
31
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
32
|
+
var t = {};
|
|
33
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
34
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
35
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
36
|
+
}
|
|
37
|
+
return t;
|
|
38
|
+
};
|
|
39
|
+
/*
|
|
40
|
+
* @Author: 周泽飞 zefei.zhou@tongdun.net
|
|
41
|
+
* @Date: 2023-10-26 09:46:28
|
|
42
|
+
* @LastEditors: 周泽飞 zefei.zhou@tongdun.net
|
|
43
|
+
* @LastEditTime: 2023-10-31 09:59:35
|
|
44
|
+
* @FilePath: /tntd/packages/tntd/src/button/button.tsx
|
|
45
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
// 新增 AnchorLink 组件
|
|
49
|
+
var AnchorLink = (0, _react.forwardRef)(function (props, ref) {
|
|
50
|
+
var href = props.href,
|
|
51
|
+
children = props.children,
|
|
52
|
+
restProps = __rest(props
|
|
53
|
+
// 简单的错误处理示例
|
|
54
|
+
, ["href", "children"]);
|
|
55
|
+
// 简单的错误处理示例
|
|
56
|
+
if (typeof href !== 'string') {
|
|
57
|
+
console.error('Invalid href prop. Expected a string.');
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return _react["default"].createElement(_AnchorLink["default"], Object.assign({
|
|
61
|
+
ref: ref,
|
|
62
|
+
href: href
|
|
63
|
+
}, restProps), children);
|
|
64
|
+
});
|
|
65
|
+
// 新增 Anchor 组件
|
|
66
|
+
var Anchor = exports.Anchor = (0, _react.forwardRef)(function (props, ref) {
|
|
67
|
+
var className = props.className,
|
|
68
|
+
children = props.children,
|
|
69
|
+
_props$tdAnchor = props.tdAnchor,
|
|
70
|
+
tdAnchor = _props$tdAnchor === void 0 ? false : _props$tdAnchor,
|
|
71
|
+
restProps = __rest(props, ["className", "children", "tdAnchor"]);
|
|
72
|
+
var isScrolling = (0, _useScrollLock["default"])({
|
|
73
|
+
debounceTime: 400,
|
|
74
|
+
throttleTime: 50,
|
|
75
|
+
enableScrollObserver: tdAnchor
|
|
76
|
+
});
|
|
77
|
+
return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
|
|
78
|
+
var getPrefixCls = _ref.getPrefixCls;
|
|
79
|
+
var prefixCls = getPrefixCls('anchor');
|
|
80
|
+
var anchorClass = (0, _classnames["default"])(prefixCls, className, {
|
|
81
|
+
'tnt-anchor': true,
|
|
82
|
+
'tnt-td-anchor': tdAnchor,
|
|
83
|
+
'tnt-anchor-hide': isScrolling
|
|
84
|
+
});
|
|
85
|
+
return _react["default"].createElement(_anchor["default"], Object.assign({
|
|
86
|
+
ref: ref,
|
|
87
|
+
className: anchorClass
|
|
88
|
+
}, restProps, {
|
|
89
|
+
showInkInFixed: true
|
|
90
|
+
}), children);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
// 新增 AnchorLink 组件
|
|
94
|
+
// 保留 Anchor.Link 的关系
|
|
95
|
+
Anchor.Link = AnchorLink;
|
|
96
|
+
var _default = exports["default"] = Anchor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../src/anchor/anchor.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,aAAa,MAAM,8BAA8B,CAAA;AAExD,cAAc,gBAAgB,CAAA;AAM9B,mBAAmB;AACnB,MAAM,UAAU,GAAG,UAAU,CAAkC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5E,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK;IAE9C,YAAY;MAFN,oBAAgC,CAAQ,CAAA;IAE9C,YAAY;IACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,oBAAC,cAAc,kBAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,IAAM,SAAS,GAChD,QAAQ,CACM,CAClB,CAAA;AACH,CAAC,CAAC,CAAA;AAOF,eAAe;AACf,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA/D,qCAAuD,CAAQ,CAAA;IACrE,MAAM,WAAW,GAAG,aAAa,CAAC;QAChC,YAAY,EAAE,GAAG;QACjB,YAAY,EAAE,EAAE;QAChB,oBAAoB,EAAE,QAAQ;KAC/B,CAAC,CAAA;IACF,OAAO,CACL,oBAAC,cAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACxC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE;YACnD,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,QAAQ;YACzB,iBAAiB,EAAE,WAAW;SAC/B,CAAC,CAAA;QACF,OAAO,CACL,oBAAC,UAAU,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,IAAM,SAAS,IAAE,cAAc,EAAE,IAAI,KAC9E,QAAQ,CACE,CACd,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAoB,CAAA;AAErB,mBAAmB;AACnB,qBAAqB;AACrB,MAAM,CAAC,IAAI,GAAG,UAAU,CAAA;AAExB,eAAe,MAAM,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-26 09:46:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-31 09:59:35\n * @FilePath: /tntd/packages/tntd/src/button/button.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React, { forwardRef } from 'react'\nimport { ConfigConsumer } from '../config-provider'\nimport type { AnchorProps as AntdAnchorProps, AnchorLinkProps } from 'antd/es/anchor'\nimport { default as AntdAnchor } from 'antd/es/anchor'\nimport { default as AntdAnchorLink } from 'antd/es/anchor/AnchorLink'\nimport classNames from 'classnames'\nimport useScrollLock from '../_util/hooks/useScrollLock'\n\nexport * from 'antd/es/anchor'\n\nexport interface AnchorProps extends AntdAnchorProps {\n tdAnchor?: boolean\n}\n\n// 新增 AnchorLink 组件\nconst AnchorLink = forwardRef<AntdAnchorLink, AnchorLinkProps>((props, ref) => {\n const { href, children, ...restProps } = props\n\n // 简单的错误处理示例\n if (typeof href !== 'string') {\n console.error('Invalid href prop. Expected a string.')\n return null\n }\n\n return (\n <AntdAnchorLink ref={ref} href={href} {...restProps}>\n {children}\n </AntdAnchorLink>\n )\n})\n\ninterface AnchorComponent\n extends React.ForwardRefExoticComponent<AnchorProps & React.RefAttributes<AntdAnchor>> {\n Link: typeof AnchorLink\n}\n\n// 新增 Anchor 组件\nexport const Anchor = forwardRef<AntdAnchor, AnchorProps>((props, ref) => {\n const { className, children, tdAnchor = false, ...restProps } = props\n const isScrolling = useScrollLock({\n debounceTime: 400,\n throttleTime: 50,\n enableScrollObserver: tdAnchor,\n })\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('anchor')\n const anchorClass = classNames(prefixCls, className, {\n 'tnt-anchor': true,\n 'tnt-td-anchor': tdAnchor,\n 'tnt-anchor-hide': isScrolling,\n })\n return (\n <AntdAnchor ref={ref} className={anchorClass} {...restProps} showInkInFixed={true}>\n {children}\n </AntdAnchor>\n )\n }}\n </ConfigConsumer>\n )\n}) as AnchorComponent\n\n// 新增 AnchorLink 组件\n// 保留 Anchor.Link 的关系\nAnchor.Link = AnchorLink\n\nexport default Anchor\n"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// 使用 Less 变量管理层级参数
|
|
2
|
+
@anchor-level: 10;
|
|
3
|
+
@anchor-indent-step: 8px; // 每级递进步长
|
|
4
|
+
@anchor-active-line-left: 2px; // 激活线基准位置
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
.tnt-td-anchor{
|
|
8
|
+
background: #fff;
|
|
9
|
+
border-radius: calc(@border-radius-base * 2);
|
|
10
|
+
box-shadow: 0 0 20px 0 rgba(0, 0, 0, .05);
|
|
11
|
+
padding: 16px 16px 8px 16px;
|
|
12
|
+
right:0;
|
|
13
|
+
position: absolute;
|
|
14
|
+
|
|
15
|
+
.ant-anchor-ink-ball {
|
|
16
|
+
display: none !important;
|
|
17
|
+
}
|
|
18
|
+
.ant-anchor-link {
|
|
19
|
+
padding: 0 0 0 8px;
|
|
20
|
+
position: relative;
|
|
21
|
+
|
|
22
|
+
// 通用激活线样式
|
|
23
|
+
&-active::before {
|
|
24
|
+
content: " ";
|
|
25
|
+
position: absolute;
|
|
26
|
+
left: -@anchor-active-line-left;
|
|
27
|
+
top: 0;
|
|
28
|
+
bottom: 0;
|
|
29
|
+
height: 24px;
|
|
30
|
+
width: @anchor-active-line-left;
|
|
31
|
+
background: @primary-color;
|
|
32
|
+
transition: top 0.3s ease-in-out;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// 文字样式统一管理
|
|
36
|
+
&-title {
|
|
37
|
+
color: @text-color-secondary;
|
|
38
|
+
transition: none !important;
|
|
39
|
+
margin-bottom: 0;
|
|
40
|
+
padding-top: 4px;
|
|
41
|
+
padding-bottom: 4px;
|
|
42
|
+
margin-bottom: 10px;
|
|
43
|
+
// 激活状态文字样式
|
|
44
|
+
&.ant-anchor-link-title-active{
|
|
45
|
+
color: @text-color;
|
|
46
|
+
font-weight: 600;
|
|
47
|
+
transition: none !important;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// 层级递进生成器
|
|
52
|
+
.level-indent(@level) when (@level < @anchor-level) { // 生成最多10级
|
|
53
|
+
.ant-anchor-link {
|
|
54
|
+
padding-left: @anchor-indent-step;
|
|
55
|
+
|
|
56
|
+
// 激活线递进算法
|
|
57
|
+
&.ant-anchor-link-active::before {
|
|
58
|
+
left: calc(-@anchor-active-line-left - @anchor-indent-step * @level);
|
|
59
|
+
}
|
|
60
|
+
// 递归生成下一级
|
|
61
|
+
.level-indent(@level + 1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// 初始化递归生成
|
|
66
|
+
.level-indent(1);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
.tnt-anchor.tnt-td-anchor{
|
|
73
|
+
&.tnt-anchor-hide{
|
|
74
|
+
width: 32px;
|
|
75
|
+
overflow-x: hidden;
|
|
76
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* 平滑缓动曲线 */
|
|
77
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1); /* 反向缓动 */
|
|
78
|
+
}
|
|
79
|
+
}
|
package/es/anchor/index.js
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
var _exportNames = {};
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
require("./style");
|
|
9
|
+
require("./anchor.less");
|
|
10
|
+
var _anchor2 = require("./anchor");
|
|
11
|
+
Object.keys(_anchor2).forEach(function (key) {
|
|
11
12
|
if (key === "default" || key === "__esModule") return;
|
|
12
13
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
13
|
-
if (key in exports && exports[key] ===
|
|
14
|
+
if (key in exports && exports[key] === _anchor2[key]) return;
|
|
14
15
|
Object.defineProperty(exports, key, {
|
|
15
16
|
enumerable: true,
|
|
16
17
|
get: function get() {
|
|
17
|
-
return
|
|
18
|
+
return _anchor2[key];
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
21
|
});
|
|
21
|
-
|
|
22
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
24
|
-
var _default = exports["default"] = _anchor["default"];
|
|
22
|
+
var _default = exports["default"] = _anchor2.Anchor;
|
package/es/anchor/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anchor/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anchor/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,eAAe,MAAM,CAAA","sourcesContent":["import './style'\nimport './anchor.less'\nimport { Anchor } from './anchor'\nexport * from './anchor'\nexport default Anchor\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.plusIcon = exports.deleteIcon = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
function _interopRequireDefault(e) {
|
|
9
|
+
return e && e.__esModule ? e : {
|
|
10
|
+
"default": e
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
var plusIcon = exports.plusIcon = _react["default"].createElement("svg", {
|
|
14
|
+
viewBox: "64 64 896 896",
|
|
15
|
+
focusable: "false",
|
|
16
|
+
"data-icon": "plus-circle",
|
|
17
|
+
width: "1em",
|
|
18
|
+
height: "1em",
|
|
19
|
+
fill: "currentColor",
|
|
20
|
+
"aria-hidden": "true"
|
|
21
|
+
}, _react["default"].createElement("path", {
|
|
22
|
+
d: "M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
|
|
23
|
+
}), _react["default"].createElement("path", {
|
|
24
|
+
d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
|
|
25
|
+
}));
|
|
26
|
+
var deleteIcon = exports.deleteIcon = _react["default"].createElement("svg", {
|
|
27
|
+
viewBox: "64 64 896 896",
|
|
28
|
+
focusable: "false",
|
|
29
|
+
"data-icon": "delete",
|
|
30
|
+
width: "1em",
|
|
31
|
+
height: "1em",
|
|
32
|
+
fill: "currentColor",
|
|
33
|
+
"aria-hidden": "true"
|
|
34
|
+
}, _react["default"].createElement("path", {
|
|
35
|
+
d: "M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"
|
|
36
|
+
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/array-input/icon.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,6BACE,OAAO,EAAC,eAAe,EACvB,SAAS,EAAC,OAAO,eACP,aAAa,EACvB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,IAAI,EAAC,cAAc,iBACP,MAAM;IAElB,8BAAM,CAAC,EAAC,2LAA2L,GAAQ;IAC3M,8BAAM,CAAC,EAAC,+KAA+K,GAAQ,CAC3L,CACP,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,6BACE,OAAO,EAAC,eAAe,EACvB,SAAS,EAAC,OAAO,eACP,QAAQ,EAClB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,IAAI,EAAC,cAAc,iBACP,MAAM;IAElB,8BAAM,CAAC,EAAC,qVAAqV,GAAQ,CACjW,CACP,CAAA","sourcesContent":["import React from 'react'\n\nexport const plusIcon = (\n <svg\n viewBox=\"64 64 896 896\"\n focusable=\"false\"\n data-icon=\"plus-circle\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path d=\"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"></path>\n <path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"></path>\n </svg>\n)\n\nexport const deleteIcon = (\n <svg\n viewBox=\"64 64 896 896\"\n focusable=\"false\"\n data-icon=\"delete\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path d=\"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z\"></path>\n </svg>\n)\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
require("react");
|
|
8
|
+
var _checkbox = _interopRequireDefault(require("antd/es/checkbox"));
|
|
9
|
+
var _connect = require("../connect");
|
|
10
|
+
var _previewText = require("../preview-text");
|
|
11
|
+
function _interopRequireDefault(e) {
|
|
12
|
+
return e && e.__esModule ? e : {
|
|
13
|
+
"default": e
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
var _default = exports["default"] = (0, _connect.connectReadonlyComponent)(_checkbox["default"].Group, _previewText.PreviewText.Select);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-group.js","sourceRoot":"","sources":["../../src/checkbox/checkbox-group.tsx"],"names":[],"mappings":"AAAA,OAAkC,OAAO,CAAA;AACzC,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAM7C,eAAe,wBAAwB,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport Checkbox from 'antd/es/checkbox'\nimport type { CheckboxGroupProps as AntdCheckboxGroupProps } from 'antd/es/checkbox/Group'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nexport type CheckboxGroupProps = AntdCheckboxGroupProps & {\n readonly?: boolean\n}\n\nexport default connectReadonlyComponent(Checkbox.Group, PreviewText.Select)\n"]}
|
package/es/ellipsis/index.js
CHANGED
|
@@ -11,6 +11,7 @@ var _popover2 = _interopRequireDefault(require("../popover"));
|
|
|
11
11
|
var _tooltip = _interopRequireDefault(require("../tooltip"));
|
|
12
12
|
var _CopySVG = _interopRequireDefault(require("./Svg/CopySVG"));
|
|
13
13
|
var _TickSVG = _interopRequireDefault(require("./Svg/TickSVG"));
|
|
14
|
+
var _useScrollLock = _interopRequireDefault(require("../_util/hooks/useScrollLock"));
|
|
14
15
|
require("./index.less");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -28,15 +29,16 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
|
|
|
28
29
|
var tolerance = 0; // In px. Depends on the font you are using
|
|
29
30
|
var isEllipsisActive = function isEllipsisActive(e) {
|
|
30
31
|
var _a, _b;
|
|
32
|
+
e.setAttribute('style', '');
|
|
31
33
|
if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {
|
|
32
34
|
var styleStr = 'overflow:visible; ';
|
|
33
35
|
if (!((_b = (_a = e === null || e === void 0 ? void 0 : e.parentNode) === null || _a === void 0 ? void 0 : _a.getAttribute('style')) === null || _b === void 0 ? void 0 : _b.includes('width'))) {
|
|
34
36
|
styleStr += 'max-width:100%;';
|
|
35
37
|
}
|
|
36
38
|
e.parentNode.setAttribute('style', styleStr);
|
|
37
|
-
e.setAttribute(
|
|
39
|
+
e.setAttribute('style', 'overflow:inherit');
|
|
38
40
|
} else {
|
|
39
|
-
e.setAttribute(
|
|
41
|
+
e.setAttribute('style', '');
|
|
40
42
|
}
|
|
41
43
|
return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight;
|
|
42
44
|
};
|
|
@@ -57,7 +59,8 @@ var _default = exports["default"] = function _default(props) {
|
|
|
57
59
|
prefix = props.prefix,
|
|
58
60
|
suffix = props.suffix,
|
|
59
61
|
_props$needRefresh = props.needRefresh,
|
|
60
|
-
needRefresh = _props$needRefresh === void 0 ? true : _props$needRefresh
|
|
62
|
+
needRefresh = _props$needRefresh === void 0 ? true : _props$needRefresh,
|
|
63
|
+
enableScrollObserver = props.enableScrollObserver;
|
|
61
64
|
var _useState = (0, _react.useState)(1),
|
|
62
65
|
_useState2 = _slicedToArray(_useState, 2),
|
|
63
66
|
renderId = _useState2[0],
|
|
@@ -82,12 +85,25 @@ var _default = exports["default"] = function _default(props) {
|
|
|
82
85
|
lineHeight = _useState10[0],
|
|
83
86
|
setLineHeight = _useState10[1];
|
|
84
87
|
var elementRef = (0, _react.useRef)();
|
|
88
|
+
var isScrolling = (0, _useScrollLock["default"])({
|
|
89
|
+
enableScrollObserver: enableScrollObserver
|
|
90
|
+
});
|
|
91
|
+
(0, _react.useEffect)(function () {
|
|
92
|
+
if (isScrolling) {
|
|
93
|
+
setTipVisible(false);
|
|
94
|
+
}
|
|
95
|
+
}, [isScrolling]);
|
|
85
96
|
var computeElement = function computeElement() {
|
|
86
97
|
elementRef.current && isEllipsisActive(elementRef.current) ? setFlag(true) : (setFlag(false), setTipVisible(false));
|
|
87
98
|
if (elementRef.current) {
|
|
88
99
|
setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'));
|
|
89
100
|
}
|
|
90
101
|
};
|
|
102
|
+
(0, _react.useEffect)(function () {
|
|
103
|
+
return function () {
|
|
104
|
+
elementRef.current = null; // 清理引用
|
|
105
|
+
};
|
|
106
|
+
}, []);
|
|
91
107
|
(0, _react.useLayoutEffect)(function () {
|
|
92
108
|
if (needRefresh) {
|
|
93
109
|
setRenderId(function (id) {
|
|
@@ -106,17 +122,18 @@ var _default = exports["default"] = function _default(props) {
|
|
|
106
122
|
computeElement();
|
|
107
123
|
}, [renderId]);
|
|
108
124
|
(0, _react.useEffect)(function () {
|
|
109
|
-
|
|
125
|
+
var handleResize = function handleResize() {
|
|
126
|
+
return computeElement();
|
|
127
|
+
};
|
|
128
|
+
window.addEventListener('resize', handleResize);
|
|
110
129
|
return function () {
|
|
111
|
-
window.removeEventListener('resize',
|
|
130
|
+
window.removeEventListener('resize', handleResize);
|
|
112
131
|
};
|
|
113
132
|
}, []);
|
|
114
133
|
// original Node
|
|
115
134
|
var inner = typeof children === 'string' ? children : _popover ? content : title;
|
|
116
135
|
// for className
|
|
117
|
-
var getClassName =
|
|
118
|
-
return "overflow min-width-0 ".concat(_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap', " ").concat(className || '');
|
|
119
|
-
};
|
|
136
|
+
var getClassName = "overflow min-width-0 ".concat(_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap', " ").concat(className || '');
|
|
120
137
|
// Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)
|
|
121
138
|
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
122
139
|
// const { onVisibleChange } = props;
|
|
@@ -127,9 +144,12 @@ var _default = exports["default"] = function _default(props) {
|
|
|
127
144
|
var handleCopy = function handleCopy(innerText) {
|
|
128
145
|
(0, _copyToClipboard["default"])(innerText);
|
|
129
146
|
setHasCopy(!hasCopy);
|
|
130
|
-
setTimeout(function () {
|
|
147
|
+
var timer = setTimeout(function () {
|
|
131
148
|
setHasCopy(false);
|
|
132
149
|
}, 1000);
|
|
150
|
+
return function () {
|
|
151
|
+
return clearTimeout(timer);
|
|
152
|
+
}; // 清除定时器
|
|
133
153
|
};
|
|
134
154
|
var renderNode = function renderNode() {
|
|
135
155
|
var popoverNode = _react["default"].createElement(_popover2["default"], Object.assign({}, props, {
|
|
@@ -166,7 +186,7 @@ var _default = exports["default"] = function _default(props) {
|
|
|
166
186
|
maxWidth: widthLimit
|
|
167
187
|
})
|
|
168
188
|
}, prefix && prefix, _react["default"].createElement("div", {
|
|
169
|
-
className: getClassName
|
|
189
|
+
className: getClassName,
|
|
170
190
|
key: renderId
|
|
171
191
|
}, inner || inner === 0 ? renderNode() : emptyText), !!suffix && suffix, (inner || inner === 0) && _copyable && lineHeight && _react["default"].createElement("div", {
|
|
172
192
|
className: "svg-button",
|
package/es/ellipsis/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ellipsis/index.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 梁洪刚\n * @CreatDate: 2021-03-31 13:57:32\n * @Describe: 省略号组件\n */\n\nimport copy from 'copy-to-clipboard'\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react'\n\nimport Popover from '../popover'\nimport Tooltip from '../tooltip'\n\nimport CopySVG from './Svg/CopySVG'\nimport TickSVG from './Svg/TickSVG'\nimport './index.less'\n\nconst tolerance = 0 // In px. Depends on the font you are using\n\nconst isEllipsisActive = (e) => {\n if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {\n let styleStr = 'overflow:visible; '\n if (!e?.parentNode?.getAttribute('style')?.includes('width')) {\n styleStr += 'max-width:100%;'\n }\n e.parentNode.setAttribute('style', styleStr)\n e.setAttribute(\"style\",'overflow:inherit');\n }else {\n e.setAttribute(\"style\", \"\")\n }\n return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight\n}\n\nexport default (props) => {\n let {\n _popover = props.Popover, // `Popover` or `Tooltip` ?\n title, // in most cases for `Tooltip`\n content, // in most cases for `Popover`\n className,\n style,\n widthLimit, // width trigger value\n _lines = props.lines !== 1 && props.lines, // number or lines, default 1 line;\n children, // children Node\n emptyText, // default: null\n _copyable = props.copyable, // copy function\n prefix, // 前缀dom\n suffix, // 后缀dom\n needRefresh = true // select.options的情况下不要刷新\n } = props\n\n const [renderId, setRenderId] = useState(1);\n // allow visible or not state\n const [flag, setFlag] = useState(true)\n // visible[Tooltip/Popover] state\n const [tipVisible, setTipVisible] = useState(false)\n // copy animation state\n const [hasCopy, setHasCopy] = useState(false)\n const [lineHeight, setLineHeight] = useState()\n\n const elementRef = useRef()\n\n const computeElement = ()=>{\n elementRef.current && isEllipsisActive(elementRef.current)\n ? setFlag(true)\n : (setFlag(false), setTipVisible(false))\n\n if (elementRef.current) {\n setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'))\n }\n }\n\n useLayoutEffect(()=>{\n if (needRefresh) {\n setRenderId(id => id + 1);\n }else {\n if(renderId < 2) {\n setRenderId(id => id + 1);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [title, needRefresh, content, children])\n\n useEffect(() => {\n computeElement()\n },[renderId])\n\n useEffect(()=>{\n window.addEventListener(\"resize\",computeElement)\n return ()=>{\n window.removeEventListener('resize',computeElement)\n }\n },[])\n\n // original Node\n const inner = typeof children === 'string' ? children : _popover ? content : title\n\n // for className\n const getClassName = () => {\n return `overflow min-width-0 ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`\n }\n\n // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)\n const handleVisibleChange = (visible) => {\n // const { onVisibleChange } = props;\n // onVisibleChange(visible);\n flag && setTipVisible(visible)\n }\n\n // onClick Copy Button\n const handleCopy = (innerText) => {\n copy(innerText)\n setHasCopy(!hasCopy)\n setTimeout(() => {\n setHasCopy(false)\n }, 1000)\n }\n\n const renderNode = () => {\n const popoverNode = (\n <Popover\n {...props}\n content={content || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || content}\n </div>\n </Popover>\n )\n\n const tooltipNode = (\n <Tooltip\n {...props}\n title={title || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}\n >\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || title}\n </div>\n </Tooltip>\n )\n\n return _popover ? popoverNode : tooltipNode\n }\n\n return (\n <>\n <div\n className=\"tntd-ellipsis\"\n style={{\n ...style,\n maxWidth: widthLimit,\n }}\n >\n {/* prefix */}\n {prefix && prefix}\n {/* content */}\n <div className={getClassName()} key={renderId}>{(inner||inner===0) ? renderNode() : emptyText}</div>\n {/* suffix */}\n {!!suffix && suffix}\n {/* copyable button */}\n {(inner||inner===0) && _copyable && lineHeight && (\n <div\n className=\"svg-button\"\n style={{\n height: lineHeight,\n }}\n onClick={() => handleCopy(elementRef.current.innerText)}\n >\n {!hasCopy ? (\n <CopySVG\n style={{\n height: lineHeight,\n }}\n />\n ) : (\n <TickSVG\n style={{\n height: lineHeight,\n }}\n />\n )}\n </div>\n )}\n </div>\n </>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ellipsis/index.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 梁洪刚\n * @CreatDate: 2021-03-31 13:57:32\n * @Describe: 省略号组件\n */\n\nimport copy from 'copy-to-clipboard'\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react'\n\nimport Popover from '../popover'\nimport Tooltip from '../tooltip'\n\nimport CopySVG from './Svg/CopySVG'\nimport TickSVG from './Svg/TickSVG'\nimport useScrollLock from '../_util/hooks/useScrollLock'\nimport './index.less'\n\nconst tolerance = 0; // In px. Depends on the font you are using\n\nconst isEllipsisActive = (e) => {\n e.setAttribute('style', '');\n if (e.offsetWidth === e.scrollWidth && e.offsetHeight === e.scrollHeight) {\n let styleStr = 'overflow:visible; ';\n if (!e?.parentNode?.getAttribute('style')?.includes('width')) {\n styleStr += 'max-width:100%;';\n }\n e.parentNode.setAttribute('style', styleStr);\n e.setAttribute('style', 'overflow:inherit');\n } else {\n e.setAttribute('style', '');\n }\n return e.offsetWidth + tolerance < e.scrollWidth || e.offsetHeight < e.scrollHeight;\n};\n\nexport default (props) => {\n let {\n _popover = props.Popover, // `Popover` or `Tooltip` ?\n title, // in most cases for `Tooltip`\n content, // in most cases for `Popover`\n className,\n style,\n widthLimit, // width trigger value\n _lines = props.lines !== 1 && props.lines, // number or lines, default 1 line;\n children, // children Node\n emptyText, // default: null\n _copyable = props.copyable, // copy function\n prefix, // 前缀dom\n suffix, // 后缀dom\n needRefresh = true, \n enableScrollObserver// select.options的情况下不要刷新\n } = props\n\n const [renderId, setRenderId] = useState(1);\n // allow visible or not state\n const [flag, setFlag] = useState(true);\n // visible[Tooltip/Popover] state\n const [tipVisible, setTipVisible] = useState(false);\n // copy animation state\n const [hasCopy, setHasCopy] = useState(false);\n const [lineHeight, setLineHeight] = useState();\n\n const elementRef = useRef();\n\n const isScrolling = useScrollLock({enableScrollObserver});\n useEffect(()=>{\n if(isScrolling) {\n setTipVisible(false)\n }\n },[isScrolling])\n \n \n const computeElement = () => {\n elementRef.current && isEllipsisActive(elementRef.current) ? setFlag(true) : (setFlag(false), setTipVisible(false));\n\n if (elementRef.current) {\n setLineHeight(getComputedStyle(elementRef.current, null).getPropertyValue('line-height'));\n }\n };\n useEffect(() => {\n return () => {\n elementRef.current = null; // 清理引用\n };\n }, []);\n useLayoutEffect(() => {\n if (needRefresh) {\n setRenderId((id) => id + 1);\n } else {\n if (renderId < 2) {\n setRenderId((id) => id + 1);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [title, needRefresh, content, children]);\n\n useEffect(() => {\n computeElement();\n }, [renderId]);\n\n useEffect(() => {\n const handleResize = () => computeElement();\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n // original Node\n const inner = typeof children === 'string' ? children : _popover ? content : title;\n\n // for className\n const getClassName = `overflow min-width-0 ${_lines ? 'ellipsis-wrap' : 'ellipsis-nowrap'} ${className || ''}`;\n\n // Tooltip.trigger(default 'hover') ==trigger==> onVisibleChange(visible)\n const handleVisibleChange = (visible) => {\n // const { onVisibleChange } = props;\n // onVisibleChange(visible);\n flag && setTipVisible(visible);\n };\n\n // onClick Copy Button\n const handleCopy = (innerText) => {\n copy(innerText);\n setHasCopy(!hasCopy);\n const timer = setTimeout(() => {\n setHasCopy(false);\n }, 1000);\n return () => clearTimeout(timer); // 清除定时器\n };\n\n const renderNode = () => {\n const popoverNode = (\n <Popover\n {...props}\n content={content || children}\n visible={tipVisible}\n onVisibleChange={(visible) => handleVisibleChange(visible)}>\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || content}\n </div>\n </Popover>\n );\n\n const tooltipNode = (\n <Tooltip {...props} title={title || children} visible={tipVisible} onVisibleChange={(visible) => handleVisibleChange(visible)}>\n <div className={className} style={{ WebkitLineClamp: _lines }} ref={elementRef}>\n {children || title}\n </div>\n </Tooltip>\n );\n\n return _popover ? popoverNode : tooltipNode;\n };\n\n return (\n <>\n <div\n className=\"tntd-ellipsis\"\n style={{\n ...style,\n maxWidth: widthLimit\n }}>\n {/* prefix */}\n {prefix && prefix}\n {/* content */}\n <div className={getClassName} key={renderId}>\n {inner || inner === 0 ? renderNode() : emptyText}\n </div>\n {/* suffix */}\n {!!suffix && suffix}\n {/* copyable button */}\n {(inner || inner === 0) && _copyable && lineHeight && (\n <div\n className=\"svg-button\"\n style={{\n height: lineHeight\n }}\n onClick={() => handleCopy(elementRef.current.innerText)}>\n {!hasCopy ? (\n <CopySVG\n style={{\n height: lineHeight\n }}\n />\n ) : (\n <TickSVG\n style={{\n height: lineHeight\n }}\n />\n )}\n </div>\n )}\n </div>\n </>\n );\n};\n"]}
|
package/es/form/style/index.less
CHANGED
|
@@ -274,11 +274,11 @@ form {
|
|
|
274
274
|
top: -1px;
|
|
275
275
|
}
|
|
276
276
|
// safari下时间没对齐
|
|
277
|
-
.@{ant-prefix}-calendar-picker {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
277
|
+
// .@{ant-prefix}-calendar-picker {
|
|
278
|
+
// position: relative;
|
|
279
|
+
// top: -1px;
|
|
280
|
+
// vertical-align: middle;
|
|
281
|
+
// }
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
284
|
|
package/es/index.js
CHANGED
|
@@ -369,6 +369,12 @@ Object.defineProperty(exports, "Row", {
|
|
|
369
369
|
return _row["default"];
|
|
370
370
|
}
|
|
371
371
|
});
|
|
372
|
+
Object.defineProperty(exports, "ScrollBar", {
|
|
373
|
+
enumerable: true,
|
|
374
|
+
get: function get() {
|
|
375
|
+
return _scrollBar["default"];
|
|
376
|
+
}
|
|
377
|
+
});
|
|
372
378
|
Object.defineProperty(exports, "Segmented", {
|
|
373
379
|
enumerable: true,
|
|
374
380
|
get: function get() {
|
|
@@ -690,6 +696,7 @@ var _renderEmpty = _interopRequireDefault(require("./render-empty"));
|
|
|
690
696
|
var _waterMark = _interopRequireDefault(require("./water-mark"));
|
|
691
697
|
var _segmented = _interopRequireDefault(require("./segmented"));
|
|
692
698
|
var _checkCard = _interopRequireDefault(require("./check-card"));
|
|
699
|
+
var _scrollBar = _interopRequireDefault(require("./scroll-bar"));
|
|
693
700
|
var _tntdLayout = _interopRequireDefault(require("./tntd-layout"));
|
|
694
701
|
var _authContext = _interopRequireDefault(require("./auth-context"));
|
|
695
702
|
var _queryForm = _interopRequireDefault(require("./query-form"));
|