deepsea-components 5.11.6 → 5.12.0
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/dist/components/AutoFit.cjs +116 -0
- package/dist/components/AutoFit.js +82 -0
- package/dist/components/AutoScroll.cjs +125 -0
- package/dist/components/AutoScroll.js +91 -0
- package/dist/components/AutoSizeTextarea.cjs +73 -0
- package/dist/components/AutoSizeTextarea.js +39 -0
- package/dist/components/CircleText.cjs +68 -0
- package/dist/components/CircleText.js +34 -0
- package/dist/components/CopyButton.cjs +73 -0
- package/dist/{cjs/components → components}/CopyButton.d.ts +3 -3
- package/dist/components/CopyButton.js +27 -0
- package/dist/components/Echart.cjs +74 -0
- package/dist/components/Echart.js +34 -0
- package/dist/components/Flow.cjs +211 -0
- package/dist/components/Flow.js +168 -0
- package/dist/components/FormLabel.cjs +77 -0
- package/dist/components/FormLabel.js +37 -0
- package/dist/components/HlsPlayer.cjs +76 -0
- package/dist/components/HlsPlayer.js +32 -0
- package/dist/components/InfiniteScroll.cjs +135 -0
- package/dist/{cjs/components → components}/InfiniteScroll.d.ts +7 -7
- package/dist/components/InfiniteScroll.js +101 -0
- package/dist/components/InputFile.cjs +102 -0
- package/dist/components/InputFile.js +65 -0
- package/dist/components/InputFileButton.cjs +109 -0
- package/dist/components/InputFileButton.js +75 -0
- package/dist/components/LoopSwiper.cjs +147 -0
- package/dist/components/LoopSwiper.js +113 -0
- package/dist/components/ReadExcel.cjs +48 -0
- package/dist/components/ReadExcel.js +14 -0
- package/dist/components/Ring.cjs +53 -0
- package/dist/components/Ring.js +19 -0
- package/dist/components/Scroll.cjs +143 -0
- package/dist/components/Scroll.js +54 -0
- package/dist/components/SectionRing.cjs +59 -0
- package/dist/components/SectionRing.js +25 -0
- package/dist/components/Skeleton.cjs +66 -0
- package/dist/components/Skeleton.js +32 -0
- package/dist/components/Title.cjs +61 -0
- package/dist/components/Title.js +27 -0
- package/dist/components/TransitionBox.cjs +79 -0
- package/dist/components/TransitionBox.js +45 -0
- package/dist/components/TransitionNum.cjs +83 -0
- package/dist/components/TransitionNum.js +49 -0
- package/dist/components/Trapezium.cjs +67 -0
- package/dist/components/Trapezium.js +33 -0
- package/dist/components/Unify.cjs +68 -0
- package/dist/components/Unify.js +31 -0
- package/dist/components/WriteExcel.cjs +50 -0
- package/dist/components/WriteExcel.js +16 -0
- package/dist/index.cjs +285 -0
- package/dist/index.js +26 -0
- package/dist/utils/getReactVersion.cjs +40 -0
- package/dist/utils/getReactVersion.js +6 -0
- package/dist/utils/index.cjs +57 -0
- package/dist/utils/index.js +17 -0
- package/package.json +26 -17
- package/src/components/WriteExcel.tsx +25 -25
- package/tsconfig.json +16 -0
- package/dist/cjs/components/AutoFit.js +0 -106
- package/dist/cjs/components/AutoFit.js.map +0 -7
- package/dist/cjs/components/AutoScroll.js +0 -127
- package/dist/cjs/components/AutoScroll.js.map +0 -7
- package/dist/cjs/components/AutoSizeTextarea.js +0 -70
- package/dist/cjs/components/AutoSizeTextarea.js.map +0 -7
- package/dist/cjs/components/CircleText.js +0 -77
- package/dist/cjs/components/CircleText.js.map +0 -7
- package/dist/cjs/components/CopyButton.js +0 -60
- package/dist/cjs/components/CopyButton.js.map +0 -7
- package/dist/cjs/components/Echart.js +0 -56
- package/dist/cjs/components/Echart.js.map +0 -7
- package/dist/cjs/components/Flow.js +0 -220
- package/dist/cjs/components/Flow.js.map +0 -7
- package/dist/cjs/components/FormLabel.js +0 -42
- package/dist/cjs/components/FormLabel.js.map +0 -7
- package/dist/cjs/components/HlsPlayer.js +0 -65
- package/dist/cjs/components/HlsPlayer.js.map +0 -7
- package/dist/cjs/components/InfiniteScroll.js +0 -148
- package/dist/cjs/components/InfiniteScroll.js.map +0 -7
- package/dist/cjs/components/InputFile.js +0 -90
- package/dist/cjs/components/InputFile.js.map +0 -7
- package/dist/cjs/components/InputFileButton.js +0 -113
- package/dist/cjs/components/InputFileButton.js.map +0 -7
- package/dist/cjs/components/LoopSwiper.js +0 -137
- package/dist/cjs/components/LoopSwiper.js.map +0 -7
- package/dist/cjs/components/ReadExcel.js +0 -36
- package/dist/cjs/components/ReadExcel.js.map +0 -7
- package/dist/cjs/components/Ring.js +0 -49
- package/dist/cjs/components/Ring.js.map +0 -7
- package/dist/cjs/components/Scroll.js +0 -103
- package/dist/cjs/components/Scroll.js.map +0 -7
- package/dist/cjs/components/SectionRing.js +0 -54
- package/dist/cjs/components/SectionRing.js.map +0 -7
- package/dist/cjs/components/Skeleton.js +0 -66
- package/dist/cjs/components/Skeleton.js.map +0 -7
- package/dist/cjs/components/Title.js +0 -48
- package/dist/cjs/components/Title.js.map +0 -7
- package/dist/cjs/components/TransitionBox.js +0 -53
- package/dist/cjs/components/TransitionBox.js.map +0 -7
- package/dist/cjs/components/TransitionNum.js +0 -62
- package/dist/cjs/components/TransitionNum.js.map +0 -7
- package/dist/cjs/components/Trapezium.js +0 -69
- package/dist/cjs/components/Trapezium.js.map +0 -7
- package/dist/cjs/components/Unify.js +0 -48
- package/dist/cjs/components/Unify.js.map +0 -7
- package/dist/cjs/components/WriteExcel.js +0 -45
- package/dist/cjs/components/WriteExcel.js.map +0 -7
- package/dist/cjs/index.js +0 -74
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/utils/getReactVersion.js +0 -34
- package/dist/cjs/utils/getReactVersion.js.map +0 -7
- package/dist/cjs/utils/index.js +0 -52
- package/dist/cjs/utils/index.js.map +0 -7
- package/dist/esm/components/AutoFit.d.ts +0 -25
- package/dist/esm/components/AutoFit.js +0 -97
- package/dist/esm/components/AutoFit.js.map +0 -1
- package/dist/esm/components/AutoScroll.d.ts +0 -38
- package/dist/esm/components/AutoScroll.js +0 -102
- package/dist/esm/components/AutoScroll.js.map +0 -1
- package/dist/esm/components/AutoSizeTextarea.d.ts +0 -5
- package/dist/esm/components/AutoSizeTextarea.js +0 -48
- package/dist/esm/components/AutoSizeTextarea.js.map +0 -1
- package/dist/esm/components/CircleText.d.ts +0 -25
- package/dist/esm/components/CircleText.js +0 -49
- package/dist/esm/components/CircleText.js.map +0 -1
- package/dist/esm/components/CopyButton.d.ts +0 -13
- package/dist/esm/components/CopyButton.js +0 -31
- package/dist/esm/components/CopyButton.js.map +0 -1
- package/dist/esm/components/Echart.d.ts +0 -15
- package/dist/esm/components/Echart.js +0 -41
- package/dist/esm/components/Echart.js.map +0 -1
- package/dist/esm/components/Flow.d.ts +0 -86
- package/dist/esm/components/Flow.js +0 -186
- package/dist/esm/components/Flow.js.map +0 -1
- package/dist/esm/components/FormLabel.d.ts +0 -22
- package/dist/esm/components/FormLabel.js +0 -52
- package/dist/esm/components/FormLabel.js.map +0 -1
- package/dist/esm/components/HlsPlayer.d.ts +0 -5
- package/dist/esm/components/HlsPlayer.js +0 -36
- package/dist/esm/components/HlsPlayer.js.map +0 -1
- package/dist/esm/components/InfiniteScroll.d.ts +0 -54
- package/dist/esm/components/InfiniteScroll.js +0 -102
- package/dist/esm/components/InfiniteScroll.js.map +0 -1
- package/dist/esm/components/InputFile.d.ts +0 -26
- package/dist/esm/components/InputFile.js +0 -78
- package/dist/esm/components/InputFile.js.map +0 -1
- package/dist/esm/components/InputFileButton.d.ts +0 -11
- package/dist/esm/components/InputFileButton.js +0 -95
- package/dist/esm/components/InputFileButton.js.map +0 -1
- package/dist/esm/components/LoopSwiper.d.ts +0 -9
- package/dist/esm/components/LoopSwiper.js +0 -122
- package/dist/esm/components/LoopSwiper.js.map +0 -1
- package/dist/esm/components/ReadExcel.d.ts +0 -8
- package/dist/esm/components/ReadExcel.js +0 -19
- package/dist/esm/components/ReadExcel.js.map +0 -1
- package/dist/esm/components/Ring.d.ts +0 -7
- package/dist/esm/components/Ring.js +0 -26
- package/dist/esm/components/Ring.js.map +0 -1
- package/dist/esm/components/Scroll.d.ts +0 -24
- package/dist/esm/components/Scroll.js +0 -67
- package/dist/esm/components/Scroll.js.map +0 -1
- package/dist/esm/components/SectionRing.d.ts +0 -8
- package/dist/esm/components/SectionRing.js +0 -33
- package/dist/esm/components/SectionRing.js.map +0 -1
- package/dist/esm/components/Skeleton.d.ts +0 -5
- package/dist/esm/components/Skeleton.js +0 -38
- package/dist/esm/components/Skeleton.js.map +0 -1
- package/dist/esm/components/Title.d.ts +0 -3
- package/dist/esm/components/Title.js +0 -26
- package/dist/esm/components/Title.js.map +0 -1
- package/dist/esm/components/TransitionBox.d.ts +0 -10
- package/dist/esm/components/TransitionBox.js +0 -50
- package/dist/esm/components/TransitionBox.js.map +0 -1
- package/dist/esm/components/TransitionNum.d.ts +0 -16
- package/dist/esm/components/TransitionNum.js +0 -65
- package/dist/esm/components/TransitionNum.js.map +0 -1
- package/dist/esm/components/Trapezium.d.ts +0 -9
- package/dist/esm/components/Trapezium.js +0 -43
- package/dist/esm/components/Trapezium.js.map +0 -1
- package/dist/esm/components/Unify.d.ts +0 -13
- package/dist/esm/components/Unify.js +0 -47
- package/dist/esm/components/Unify.js.map +0 -1
- package/dist/esm/components/WriteExcel.d.ts +0 -8
- package/dist/esm/components/WriteExcel.js +0 -23
- package/dist/esm/components/WriteExcel.js.map +0 -1
- package/dist/esm/index.d.ts +0 -26
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/utils/getReactVersion.d.ts +0 -1
- package/dist/esm/utils/getReactVersion.js +0 -6
- package/dist/esm/utils/getReactVersion.js.map +0 -1
- package/dist/esm/utils/index.d.ts +0 -9
- package/dist/esm/utils/index.js +0 -17
- package/dist/esm/utils/index.js.map +0 -1
- /package/dist/{cjs/components → components}/AutoFit.d.ts +0 -0
- /package/dist/{cjs/components → components}/AutoScroll.d.ts +0 -0
- /package/dist/{cjs/components → components}/AutoSizeTextarea.d.ts +0 -0
- /package/dist/{cjs/components → components}/CircleText.d.ts +0 -0
- /package/dist/{cjs/components → components}/Echart.d.ts +0 -0
- /package/dist/{cjs/components → components}/Flow.d.ts +0 -0
- /package/dist/{cjs/components → components}/FormLabel.d.ts +0 -0
- /package/dist/{cjs/components → components}/HlsPlayer.d.ts +0 -0
- /package/dist/{cjs/components → components}/InputFile.d.ts +0 -0
- /package/dist/{cjs/components → components}/InputFileButton.d.ts +0 -0
- /package/dist/{cjs/components → components}/LoopSwiper.d.ts +0 -0
- /package/dist/{cjs/components → components}/ReadExcel.d.ts +0 -0
- /package/dist/{cjs/components → components}/Ring.d.ts +0 -0
- /package/dist/{cjs/components → components}/Scroll.d.ts +0 -0
- /package/dist/{cjs/components → components}/SectionRing.d.ts +0 -0
- /package/dist/{cjs/components → components}/Skeleton.d.ts +0 -0
- /package/dist/{cjs/components → components}/Title.d.ts +0 -0
- /package/dist/{cjs/components → components}/TransitionBox.d.ts +0 -0
- /package/dist/{cjs/components → components}/TransitionNum.d.ts +0 -0
- /package/dist/{cjs/components → components}/Trapezium.d.ts +0 -0
- /package/dist/{cjs/components → components}/Unify.d.ts +0 -0
- /package/dist/{cjs/components → components}/WriteExcel.d.ts +0 -0
- /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
- /package/dist/{cjs/utils → utils}/getReactVersion.d.ts +0 -0
- /package/dist/{cjs/utils → utils}/index.d.ts +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
AutoFit: ()=>AutoFit
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const external_react_namespaceObject = require("react");
|
|
32
|
+
const css_namespaceObject = require("@emotion/css");
|
|
33
|
+
const external_deepsea_tools_namespaceObject = require("deepsea-tools");
|
|
34
|
+
const index_cjs_namespaceObject = require("../utils/index.cjs");
|
|
35
|
+
const AutoFit = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((props, ref)=>{
|
|
36
|
+
const { width: designWidth = 1920, height: designHeight = 1080, direction, className, style, ...rest } = props;
|
|
37
|
+
const ele = (0, external_react_namespaceObject.useRef)(null);
|
|
38
|
+
const [show, setShow] = (0, external_react_namespaceObject.useState)(false);
|
|
39
|
+
const [transform, setTransform] = (0, external_react_namespaceObject.useState)(void 0);
|
|
40
|
+
const [width, setWidth] = (0, external_react_namespaceObject.useState)(void 0);
|
|
41
|
+
const [height, setHeight] = (0, external_react_namespaceObject.useState)(void 0);
|
|
42
|
+
(0, external_react_namespaceObject.useImperativeHandle)(ref, ()=>ele.current, [
|
|
43
|
+
ele.current
|
|
44
|
+
]);
|
|
45
|
+
(0, external_react_namespaceObject.useLayoutEffect)(()=>{
|
|
46
|
+
const element = ele.current;
|
|
47
|
+
const parent = element?.parentElement;
|
|
48
|
+
if (!element || !parent) return;
|
|
49
|
+
function listener(entries) {
|
|
50
|
+
const entry = entries[0];
|
|
51
|
+
const { contentRect } = entry;
|
|
52
|
+
if ("horizontal" === direction) {
|
|
53
|
+
const scale = contentRect.width / designWidth;
|
|
54
|
+
setTransform(`scale(${scale})`);
|
|
55
|
+
setWidth((0, index_cjs_namespaceObject.px)(designWidth));
|
|
56
|
+
setHeight((0, index_cjs_namespaceObject.px)(contentRect.height / scale));
|
|
57
|
+
} else if ("vertical" === direction) {
|
|
58
|
+
const scale = contentRect.height / designHeight;
|
|
59
|
+
setTransform(`scale(${scale})`);
|
|
60
|
+
setWidth((0, index_cjs_namespaceObject.px)(contentRect.width / scale));
|
|
61
|
+
setHeight((0, index_cjs_namespaceObject.px)(designHeight));
|
|
62
|
+
} else {
|
|
63
|
+
const scale = Math.min(contentRect.width / designWidth, contentRect.height / designHeight);
|
|
64
|
+
setTransform(`translateX(${(contentRect.width - designWidth * scale) / 2}px) translateY(${(contentRect.height - designHeight * scale) / 2}px) scale(${scale})`);
|
|
65
|
+
setWidth((0, index_cjs_namespaceObject.px)(designWidth));
|
|
66
|
+
setHeight((0, index_cjs_namespaceObject.px)(designHeight));
|
|
67
|
+
}
|
|
68
|
+
setShow(true);
|
|
69
|
+
}
|
|
70
|
+
const observer = new ResizeObserver(listener);
|
|
71
|
+
observer.observe(parent);
|
|
72
|
+
return ()=>observer.disconnect();
|
|
73
|
+
}, [
|
|
74
|
+
ele.current?.parentElement,
|
|
75
|
+
designWidth,
|
|
76
|
+
designHeight,
|
|
77
|
+
direction
|
|
78
|
+
]);
|
|
79
|
+
if ("development" === process.env.NODE_ENV) (0, external_react_namespaceObject.useEffect)(()=>{
|
|
80
|
+
const parent = ele.current?.parentElement;
|
|
81
|
+
if (!parent) return;
|
|
82
|
+
const style = getComputedStyle(parent);
|
|
83
|
+
if ("static" === style.position) console.warn("AutoFit 组件的父元素的 position 属性不应该是 static");
|
|
84
|
+
}, [
|
|
85
|
+
ele.current?.parentElement
|
|
86
|
+
]);
|
|
87
|
+
if (!show) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
88
|
+
ref: ele,
|
|
89
|
+
style: {
|
|
90
|
+
display: "none"
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
94
|
+
ref: ele,
|
|
95
|
+
className: (0, external_deepsea_tools_namespaceObject.clsx)((0, css_namespaceObject.css)`
|
|
96
|
+
position: absolute;
|
|
97
|
+
transform: var(--transform);
|
|
98
|
+
transform-origin: top left;
|
|
99
|
+
width: var(--width);
|
|
100
|
+
height: var(--height);
|
|
101
|
+
`, className),
|
|
102
|
+
style: (0, index_cjs_namespaceObject.transformCSSVariable)({
|
|
103
|
+
transform,
|
|
104
|
+
width,
|
|
105
|
+
height
|
|
106
|
+
}, style),
|
|
107
|
+
...rest
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
exports.AutoFit = __webpack_exports__.AutoFit;
|
|
111
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
112
|
+
"AutoFit"
|
|
113
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
114
|
+
Object.defineProperty(exports, '__esModule', {
|
|
115
|
+
value: true
|
|
116
|
+
});
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__emotion_css_bfcd1b5d__ from "@emotion/css";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__ from "../utils/index.js";
|
|
7
|
+
const AutoFit = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)((props, ref)=>{
|
|
8
|
+
const { width: designWidth = 1920, height: designHeight = 1080, direction, className, style, ...rest } = props;
|
|
9
|
+
const ele = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
|
|
10
|
+
const [show, setShow] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
|
|
11
|
+
const [transform, setTransform] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(void 0);
|
|
12
|
+
const [width, setWidth] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(void 0);
|
|
13
|
+
const [height, setHeight] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(void 0);
|
|
14
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle)(ref, ()=>ele.current, [
|
|
15
|
+
ele.current
|
|
16
|
+
]);
|
|
17
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
|
|
18
|
+
const element = ele.current;
|
|
19
|
+
const parent = element?.parentElement;
|
|
20
|
+
if (!element || !parent) return;
|
|
21
|
+
function listener(entries) {
|
|
22
|
+
const entry = entries[0];
|
|
23
|
+
const { contentRect } = entry;
|
|
24
|
+
if ("horizontal" === direction) {
|
|
25
|
+
const scale = contentRect.width / designWidth;
|
|
26
|
+
setTransform(`scale(${scale})`);
|
|
27
|
+
setWidth((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(designWidth));
|
|
28
|
+
setHeight((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(contentRect.height / scale));
|
|
29
|
+
} else if ("vertical" === direction) {
|
|
30
|
+
const scale = contentRect.height / designHeight;
|
|
31
|
+
setTransform(`scale(${scale})`);
|
|
32
|
+
setWidth((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(contentRect.width / scale));
|
|
33
|
+
setHeight((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(designHeight));
|
|
34
|
+
} else {
|
|
35
|
+
const scale = Math.min(contentRect.width / designWidth, contentRect.height / designHeight);
|
|
36
|
+
setTransform(`translateX(${(contentRect.width - designWidth * scale) / 2}px) translateY(${(contentRect.height - designHeight * scale) / 2}px) scale(${scale})`);
|
|
37
|
+
setWidth((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(designWidth));
|
|
38
|
+
setHeight((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(designHeight));
|
|
39
|
+
}
|
|
40
|
+
setShow(true);
|
|
41
|
+
}
|
|
42
|
+
const observer = new ResizeObserver(listener);
|
|
43
|
+
observer.observe(parent);
|
|
44
|
+
return ()=>observer.disconnect();
|
|
45
|
+
}, [
|
|
46
|
+
ele.current?.parentElement,
|
|
47
|
+
designWidth,
|
|
48
|
+
designHeight,
|
|
49
|
+
direction
|
|
50
|
+
]);
|
|
51
|
+
if ("development" === process.env.NODE_ENV) (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
52
|
+
const parent = ele.current?.parentElement;
|
|
53
|
+
if (!parent) return;
|
|
54
|
+
const style = getComputedStyle(parent);
|
|
55
|
+
if ("static" === style.position) console.warn("AutoFit 组件的父元素的 position 属性不应该是 static");
|
|
56
|
+
}, [
|
|
57
|
+
ele.current?.parentElement
|
|
58
|
+
]);
|
|
59
|
+
if (!show) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
60
|
+
ref: ele,
|
|
61
|
+
style: {
|
|
62
|
+
display: "none"
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
66
|
+
ref: ele,
|
|
67
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.clsx)((0, __WEBPACK_EXTERNAL_MODULE__emotion_css_bfcd1b5d__.css)`
|
|
68
|
+
position: absolute;
|
|
69
|
+
transform: var(--transform);
|
|
70
|
+
transform-origin: top left;
|
|
71
|
+
width: var(--width);
|
|
72
|
+
height: var(--height);
|
|
73
|
+
`, className),
|
|
74
|
+
style: (0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.transformCSSVariable)({
|
|
75
|
+
transform,
|
|
76
|
+
width,
|
|
77
|
+
height
|
|
78
|
+
}, style),
|
|
79
|
+
...rest
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
export { AutoFit };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
AutoScroll: ()=>AutoScroll
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const external_react_namespaceObject = require("react");
|
|
32
|
+
const css_namespaceObject = require("@emotion/css");
|
|
33
|
+
const external_deepsea_tools_namespaceObject = require("deepsea-tools");
|
|
34
|
+
const external_soda_hooks_namespaceObject = require("soda-hooks");
|
|
35
|
+
const index_cjs_namespaceObject = require("../utils/index.cjs");
|
|
36
|
+
const external_Scroll_cjs_namespaceObject = require("./Scroll.cjs");
|
|
37
|
+
const AutoScroll = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((props, ref)=>{
|
|
38
|
+
const { count, itemHeight, animation = 1000, duration = 3000, onMouseEnter, onMouseLeave, gap = 0, containerClassName, containerStyle, children, playOnMouseEnter, scrollbar, paused, ...rest } = props;
|
|
39
|
+
const bar = (0, external_react_namespaceObject.useRef)(null);
|
|
40
|
+
const timeout = (0, external_react_namespaceObject.useRef)(void 0);
|
|
41
|
+
const ele = (0, external_react_namespaceObject.useRef)(null);
|
|
42
|
+
const size = (0, external_soda_hooks_namespaceObject.useSize)(ele);
|
|
43
|
+
const pausedRef = (0, external_react_namespaceObject.useRef)(false);
|
|
44
|
+
const pausedProps = (0, external_react_namespaceObject.useRef)(paused);
|
|
45
|
+
pausedProps.current = paused;
|
|
46
|
+
(0, external_react_namespaceObject.useImperativeHandle)(ref, ()=>ele.current, []);
|
|
47
|
+
(0, external_react_namespaceObject.useImperativeHandle)(scrollbar, ()=>bar.current, []);
|
|
48
|
+
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
49
|
+
if (playOnMouseEnter) pausedRef.current = false;
|
|
50
|
+
}, [
|
|
51
|
+
playOnMouseEnter
|
|
52
|
+
]);
|
|
53
|
+
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
54
|
+
if (!size || 0 === count) return;
|
|
55
|
+
const { height } = size;
|
|
56
|
+
const range = (0, external_deepsea_tools_namespaceObject.getArray)(count, (index)=>(itemHeight + gap) * (index + 1) - (index === count - 1 ? gap : 0));
|
|
57
|
+
const scrollHeight = range[range.length - 1];
|
|
58
|
+
if (height >= scrollHeight) return;
|
|
59
|
+
function scroll(target) {
|
|
60
|
+
clearTimeout(timeout.current);
|
|
61
|
+
timeout.current = setTimeout(()=>{
|
|
62
|
+
if (pausedRef.current || pausedProps.current) return scroll(target);
|
|
63
|
+
bar.current?.scrollTo(0, target, animation);
|
|
64
|
+
}, duration);
|
|
65
|
+
}
|
|
66
|
+
scroll(range[0]);
|
|
67
|
+
function listener(status) {
|
|
68
|
+
const { y } = status.offset;
|
|
69
|
+
const scrollToBottom = Math.abs(y + height - scrollHeight) / itemHeight <= 0.05;
|
|
70
|
+
const target = scrollToBottom ? 0 : range.find((item)=>item > y);
|
|
71
|
+
scroll(target);
|
|
72
|
+
}
|
|
73
|
+
bar.current?.addListener(listener);
|
|
74
|
+
return ()=>{
|
|
75
|
+
clearTimeout(timeout.current);
|
|
76
|
+
bar.current?.removeListener(listener);
|
|
77
|
+
bar.current?.scrollTo(0, 0);
|
|
78
|
+
};
|
|
79
|
+
}, [
|
|
80
|
+
size,
|
|
81
|
+
count,
|
|
82
|
+
itemHeight,
|
|
83
|
+
gap,
|
|
84
|
+
duration,
|
|
85
|
+
animation
|
|
86
|
+
]);
|
|
87
|
+
function onContainerMouseEnter(e) {
|
|
88
|
+
if (playOnMouseEnter) return;
|
|
89
|
+
pausedRef.current = true;
|
|
90
|
+
onMouseEnter?.(e);
|
|
91
|
+
}
|
|
92
|
+
function onContainerMouseLeave(e) {
|
|
93
|
+
if (playOnMouseEnter) return;
|
|
94
|
+
pausedRef.current = false;
|
|
95
|
+
onMouseLeave?.(e);
|
|
96
|
+
}
|
|
97
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Scroll_cjs_namespaceObject.Scroll, {
|
|
98
|
+
ref: ele,
|
|
99
|
+
scrollbar: bar,
|
|
100
|
+
onMouseEnter: onContainerMouseEnter,
|
|
101
|
+
onMouseLeave: onContainerMouseLeave,
|
|
102
|
+
...rest,
|
|
103
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
104
|
+
className: (0, external_deepsea_tools_namespaceObject.clsx)((0, css_namespaceObject.css)`
|
|
105
|
+
display: flex;
|
|
106
|
+
flex-direction: column;
|
|
107
|
+
gap: var(--gap, 0);
|
|
108
|
+
& > * {
|
|
109
|
+
flex: none;
|
|
110
|
+
}
|
|
111
|
+
`, containerClassName),
|
|
112
|
+
style: (0, index_cjs_namespaceObject.transformCSSVariable)({
|
|
113
|
+
gap: (0, index_cjs_namespaceObject.px)(gap)
|
|
114
|
+
}, containerStyle),
|
|
115
|
+
children: children
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
exports.AutoScroll = __webpack_exports__.AutoScroll;
|
|
120
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
121
|
+
"AutoScroll"
|
|
122
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
123
|
+
Object.defineProperty(exports, '__esModule', {
|
|
124
|
+
value: true
|
|
125
|
+
});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__emotion_css_bfcd1b5d__ from "@emotion/css";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE_soda_hooks_b1fef7dd__ from "soda-hooks";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__ from "../utils/index.js";
|
|
8
|
+
import * as __WEBPACK_EXTERNAL_MODULE__Scroll_js_70befd9e__ from "./Scroll.js";
|
|
9
|
+
const AutoScroll = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)((props, ref)=>{
|
|
10
|
+
const { count, itemHeight, animation = 1000, duration = 3000, onMouseEnter, onMouseLeave, gap = 0, containerClassName, containerStyle, children, playOnMouseEnter, scrollbar, paused, ...rest } = props;
|
|
11
|
+
const bar = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
|
|
12
|
+
const timeout = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(void 0);
|
|
13
|
+
const ele = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
|
|
14
|
+
const size = (0, __WEBPACK_EXTERNAL_MODULE_soda_hooks_b1fef7dd__.useSize)(ele);
|
|
15
|
+
const pausedRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(false);
|
|
16
|
+
const pausedProps = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(paused);
|
|
17
|
+
pausedProps.current = paused;
|
|
18
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle)(ref, ()=>ele.current, []);
|
|
19
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle)(scrollbar, ()=>bar.current, []);
|
|
20
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
21
|
+
if (playOnMouseEnter) pausedRef.current = false;
|
|
22
|
+
}, [
|
|
23
|
+
playOnMouseEnter
|
|
24
|
+
]);
|
|
25
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
26
|
+
if (!size || 0 === count) return;
|
|
27
|
+
const { height } = size;
|
|
28
|
+
const range = (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.getArray)(count, (index)=>(itemHeight + gap) * (index + 1) - (index === count - 1 ? gap : 0));
|
|
29
|
+
const scrollHeight = range[range.length - 1];
|
|
30
|
+
if (height >= scrollHeight) return;
|
|
31
|
+
function scroll(target) {
|
|
32
|
+
clearTimeout(timeout.current);
|
|
33
|
+
timeout.current = setTimeout(()=>{
|
|
34
|
+
if (pausedRef.current || pausedProps.current) return scroll(target);
|
|
35
|
+
bar.current?.scrollTo(0, target, animation);
|
|
36
|
+
}, duration);
|
|
37
|
+
}
|
|
38
|
+
scroll(range[0]);
|
|
39
|
+
function listener(status) {
|
|
40
|
+
const { y } = status.offset;
|
|
41
|
+
const scrollToBottom = Math.abs(y + height - scrollHeight) / itemHeight <= 0.05;
|
|
42
|
+
const target = scrollToBottom ? 0 : range.find((item)=>item > y);
|
|
43
|
+
scroll(target);
|
|
44
|
+
}
|
|
45
|
+
bar.current?.addListener(listener);
|
|
46
|
+
return ()=>{
|
|
47
|
+
clearTimeout(timeout.current);
|
|
48
|
+
bar.current?.removeListener(listener);
|
|
49
|
+
bar.current?.scrollTo(0, 0);
|
|
50
|
+
};
|
|
51
|
+
}, [
|
|
52
|
+
size,
|
|
53
|
+
count,
|
|
54
|
+
itemHeight,
|
|
55
|
+
gap,
|
|
56
|
+
duration,
|
|
57
|
+
animation
|
|
58
|
+
]);
|
|
59
|
+
function onContainerMouseEnter(e) {
|
|
60
|
+
if (playOnMouseEnter) return;
|
|
61
|
+
pausedRef.current = true;
|
|
62
|
+
onMouseEnter?.(e);
|
|
63
|
+
}
|
|
64
|
+
function onContainerMouseLeave(e) {
|
|
65
|
+
if (playOnMouseEnter) return;
|
|
66
|
+
pausedRef.current = false;
|
|
67
|
+
onMouseLeave?.(e);
|
|
68
|
+
}
|
|
69
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Scroll_js_70befd9e__.Scroll, {
|
|
70
|
+
ref: ele,
|
|
71
|
+
scrollbar: bar,
|
|
72
|
+
onMouseEnter: onContainerMouseEnter,
|
|
73
|
+
onMouseLeave: onContainerMouseLeave,
|
|
74
|
+
...rest,
|
|
75
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
76
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.clsx)((0, __WEBPACK_EXTERNAL_MODULE__emotion_css_bfcd1b5d__.css)`
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
gap: var(--gap, 0);
|
|
80
|
+
& > * {
|
|
81
|
+
flex: none;
|
|
82
|
+
}
|
|
83
|
+
`, containerClassName),
|
|
84
|
+
style: (0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.transformCSSVariable)({
|
|
85
|
+
gap: (0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(gap)
|
|
86
|
+
}, containerStyle),
|
|
87
|
+
children: children
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
export { AutoScroll };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
AutoSizeTextArea: ()=>AutoSizeTextArea
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const external_react_namespaceObject = require("react");
|
|
32
|
+
const css_namespaceObject = require("@emotion/css");
|
|
33
|
+
const external_deepsea_tools_namespaceObject = require("deepsea-tools");
|
|
34
|
+
const index_cjs_namespaceObject = require("../utils/index.cjs");
|
|
35
|
+
const AutoSizeTextArea = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((props, ref)=>{
|
|
36
|
+
const { className, style, ...rest } = props;
|
|
37
|
+
const [height, setHeight] = (0, external_react_namespaceObject.useState)(void 0);
|
|
38
|
+
const ele = (0, external_react_namespaceObject.useRef)(null);
|
|
39
|
+
(0, external_react_namespaceObject.useImperativeHandle)(ref, ()=>ele.current, []);
|
|
40
|
+
(0, external_react_namespaceObject.useLayoutEffect)(()=>{
|
|
41
|
+
const textarea = ele.current;
|
|
42
|
+
function resizeTextarea() {
|
|
43
|
+
setHeight("auto");
|
|
44
|
+
setHeight((0, index_cjs_namespaceObject.px)(textarea.scrollHeight + textarea.offsetHeight - textarea.clientHeight));
|
|
45
|
+
}
|
|
46
|
+
resizeTextarea();
|
|
47
|
+
textarea.addEventListener("input", resizeTextarea);
|
|
48
|
+
textarea.addEventListener("change", resizeTextarea);
|
|
49
|
+
return ()=>{
|
|
50
|
+
textarea.removeEventListener("input", resizeTextarea);
|
|
51
|
+
textarea.removeEventListener("change", resizeTextarea);
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("textarea", {
|
|
55
|
+
ref: ele,
|
|
56
|
+
className: (0, external_deepsea_tools_namespaceObject.clsx)((0, css_namespaceObject.css)`
|
|
57
|
+
height: var(--height);
|
|
58
|
+
resize: none;
|
|
59
|
+
overflow-y: hidden;
|
|
60
|
+
`, className),
|
|
61
|
+
style: (0, index_cjs_namespaceObject.transformCSSVariable)({
|
|
62
|
+
height
|
|
63
|
+
}, style),
|
|
64
|
+
...rest
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
exports.AutoSizeTextArea = __webpack_exports__.AutoSizeTextArea;
|
|
68
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
69
|
+
"AutoSizeTextArea"
|
|
70
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
71
|
+
Object.defineProperty(exports, '__esModule', {
|
|
72
|
+
value: true
|
|
73
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__emotion_css_bfcd1b5d__ from "@emotion/css";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__ from "../utils/index.js";
|
|
7
|
+
const AutoSizeTextArea = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)((props, ref)=>{
|
|
8
|
+
const { className, style, ...rest } = props;
|
|
9
|
+
const [height, setHeight] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(void 0);
|
|
10
|
+
const ele = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
|
|
11
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle)(ref, ()=>ele.current, []);
|
|
12
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
|
|
13
|
+
const textarea = ele.current;
|
|
14
|
+
function resizeTextarea() {
|
|
15
|
+
setHeight("auto");
|
|
16
|
+
setHeight((0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.px)(textarea.scrollHeight + textarea.offsetHeight - textarea.clientHeight));
|
|
17
|
+
}
|
|
18
|
+
resizeTextarea();
|
|
19
|
+
textarea.addEventListener("input", resizeTextarea);
|
|
20
|
+
textarea.addEventListener("change", resizeTextarea);
|
|
21
|
+
return ()=>{
|
|
22
|
+
textarea.removeEventListener("input", resizeTextarea);
|
|
23
|
+
textarea.removeEventListener("change", resizeTextarea);
|
|
24
|
+
};
|
|
25
|
+
}, []);
|
|
26
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("textarea", {
|
|
27
|
+
ref: ele,
|
|
28
|
+
className: (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.clsx)((0, __WEBPACK_EXTERNAL_MODULE__emotion_css_bfcd1b5d__.css)`
|
|
29
|
+
height: var(--height);
|
|
30
|
+
resize: none;
|
|
31
|
+
overflow-y: hidden;
|
|
32
|
+
`, className),
|
|
33
|
+
style: (0, __WEBPACK_EXTERNAL_MODULE__utils_index_js_6619c453__.transformCSSVariable)({
|
|
34
|
+
height
|
|
35
|
+
}, style),
|
|
36
|
+
...rest
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
export { AutoSizeTextArea };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
"use strict";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
CircleText: ()=>CircleText
|
|
29
|
+
});
|
|
30
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
31
|
+
const external_react_namespaceObject = require("react");
|
|
32
|
+
const CircleText = (props)=>{
|
|
33
|
+
const { width, height, radius, startAngel = 0, gapAngel = 0, align = "center", style, direction = "outer", reverse = false, separator, children, ...rest } = props;
|
|
34
|
+
const unitAngle = 2 * Math.atan(width / 2 / radius);
|
|
35
|
+
const totalAngle = (unitAngle + gapAngel) * children.length - gapAngel;
|
|
36
|
+
const offsetAngle = "left" === align ? 0 : "right" === align ? totalAngle : totalAngle / 2;
|
|
37
|
+
function getTransform(idx) {
|
|
38
|
+
const angle = startAngel - idx * (unitAngle + gapAngel) + offsetAngle - unitAngle / 2;
|
|
39
|
+
const x = (radius + height / 2) * Math.cos(angle) - width / 2;
|
|
40
|
+
const y = (radius + height / 2) * Math.sin(angle) * -1 - height / 2;
|
|
41
|
+
const z = Math.PI / 2 - angle + ("inner" === direction ? Math.PI : 0);
|
|
42
|
+
return `translateX(${x}px) translateY(${y}px) rotateZ(${z / Math.PI * 180}deg)`;
|
|
43
|
+
}
|
|
44
|
+
const words = "function" == typeof separator ? separator(children) : children.split(separator ?? "");
|
|
45
|
+
if (reverse) words.reverse();
|
|
46
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Fragment, {
|
|
47
|
+
children: words.map((w, idx)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
48
|
+
style: {
|
|
49
|
+
position: "absolute",
|
|
50
|
+
...style,
|
|
51
|
+
transform: getTransform(idx),
|
|
52
|
+
textAlign: "center",
|
|
53
|
+
width,
|
|
54
|
+
lineHeight: `${height}px`,
|
|
55
|
+
height: height
|
|
56
|
+
},
|
|
57
|
+
...rest,
|
|
58
|
+
children: w
|
|
59
|
+
}, idx))
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
exports.CircleText = __webpack_exports__.CircleText;
|
|
63
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
64
|
+
"CircleText"
|
|
65
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
66
|
+
Object.defineProperty(exports, '__esModule', {
|
|
67
|
+
value: true
|
|
68
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
4
|
+
const CircleText = (props)=>{
|
|
5
|
+
const { width, height, radius, startAngel = 0, gapAngel = 0, align = "center", style, direction = "outer", reverse = false, separator, children, ...rest } = props;
|
|
6
|
+
const unitAngle = 2 * Math.atan(width / 2 / radius);
|
|
7
|
+
const totalAngle = (unitAngle + gapAngel) * children.length - gapAngel;
|
|
8
|
+
const offsetAngle = "left" === align ? 0 : "right" === align ? totalAngle : totalAngle / 2;
|
|
9
|
+
function getTransform(idx) {
|
|
10
|
+
const angle = startAngel - idx * (unitAngle + gapAngel) + offsetAngle - unitAngle / 2;
|
|
11
|
+
const x = (radius + height / 2) * Math.cos(angle) - width / 2;
|
|
12
|
+
const y = (radius + height / 2) * Math.sin(angle) * -1 - height / 2;
|
|
13
|
+
const z = Math.PI / 2 - angle + ("inner" === direction ? Math.PI : 0);
|
|
14
|
+
return `translateX(${x}px) translateY(${y}px) rotateZ(${z / Math.PI * 180}deg)`;
|
|
15
|
+
}
|
|
16
|
+
const words = "function" == typeof separator ? separator(children) : children.split(separator ?? "");
|
|
17
|
+
if (reverse) words.reverse();
|
|
18
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react__.Fragment, {
|
|
19
|
+
children: words.map((w, idx)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
|
|
20
|
+
style: {
|
|
21
|
+
position: "absolute",
|
|
22
|
+
...style,
|
|
23
|
+
transform: getTransform(idx),
|
|
24
|
+
textAlign: "center",
|
|
25
|
+
width,
|
|
26
|
+
lineHeight: `${height}px`,
|
|
27
|
+
height: height
|
|
28
|
+
},
|
|
29
|
+
...rest,
|
|
30
|
+
children: w
|
|
31
|
+
}, idx))
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
export { CircleText };
|