deepsea-components 5.7.23 → 5.8.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/dist/cjs/components/AutoFit.js +1 -1
- package/dist/cjs/components/AutoFit.js.map +2 -2
- package/dist/cjs/components/AutoScroll.js +2 -2
- package/dist/cjs/components/AutoScroll.js.map +2 -2
- package/dist/cjs/components/AutoSizeTextarea.js +1 -1
- package/dist/cjs/components/AutoSizeTextarea.js.map +2 -2
- package/dist/cjs/components/CopyButton.d.ts +1 -1
- package/dist/cjs/components/CopyButton.js +1 -1
- package/dist/cjs/components/CopyButton.js.map +2 -2
- package/dist/cjs/components/Echart.d.ts +1 -1
- package/dist/cjs/components/Echart.js +1 -1
- package/dist/cjs/components/Echart.js.map +2 -2
- package/dist/cjs/components/ExportExcel.d.ts +6 -0
- package/dist/cjs/components/ExportExcel.js +40 -0
- package/dist/cjs/components/ExportExcel.js.map +7 -0
- package/dist/cjs/components/Flow.js +2 -2
- package/dist/cjs/components/Flow.js.map +2 -2
- package/dist/cjs/components/HlsPlayer.js +1 -1
- package/dist/cjs/components/HlsPlayer.js.map +2 -2
- package/dist/cjs/components/ImportExcel.d.ts +7 -0
- package/dist/cjs/components/ImportExcel.js +37 -0
- package/dist/cjs/components/ImportExcel.js.map +7 -0
- package/dist/cjs/components/InfiniteScroll.js +2 -2
- package/dist/cjs/components/InfiniteScroll.js.map +2 -2
- package/dist/cjs/components/InputFile.d.ts +0 -14
- package/dist/cjs/components/InputFile.js +0 -37
- package/dist/cjs/components/InputFile.js.map +2 -2
- package/dist/cjs/components/LoopSwiper.js +1 -1
- package/dist/cjs/components/LoopSwiper.js.map +2 -2
- package/dist/cjs/components/Scroll.js +6 -15
- package/dist/cjs/components/Scroll.js.map +2 -2
- package/dist/cjs/components/SectionRing.js +1 -1
- package/dist/cjs/components/SectionRing.js.map +2 -2
- package/dist/cjs/components/Skeleton.js +1 -1
- package/dist/cjs/components/Skeleton.js.map +2 -2
- package/dist/cjs/components/Title.js +1 -1
- package/dist/cjs/components/Title.js.map +2 -2
- package/dist/cjs/components/TransitionBox.js +1 -1
- package/dist/cjs/components/TransitionBox.js.map +2 -2
- package/dist/cjs/components/TransitionNum.js +1 -1
- package/dist/cjs/components/TransitionNum.js.map +2 -2
- package/dist/cjs/components/Trapezium.js +1 -1
- package/dist/cjs/components/Trapezium.js.map +2 -2
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/components/AutoFit.js +1 -1
- package/dist/esm/components/AutoFit.js.map +1 -1
- package/dist/esm/components/AutoScroll.js +2 -2
- package/dist/esm/components/AutoScroll.js.map +1 -1
- package/dist/esm/components/AutoSizeTextarea.js +1 -1
- package/dist/esm/components/AutoSizeTextarea.js.map +1 -1
- package/dist/esm/components/CopyButton.d.ts +1 -1
- package/dist/esm/components/CopyButton.js +1 -1
- package/dist/esm/components/CopyButton.js.map +1 -1
- package/dist/esm/components/Echart.d.ts +1 -1
- package/dist/esm/components/Echart.js +1 -1
- package/dist/esm/components/Echart.js.map +1 -1
- package/dist/esm/components/ExportExcel.d.ts +6 -0
- package/dist/esm/components/ExportExcel.js +27 -0
- package/dist/esm/components/ExportExcel.js.map +1 -0
- package/dist/esm/components/Flow.js +2 -2
- package/dist/esm/components/Flow.js.map +1 -1
- package/dist/esm/components/HlsPlayer.js +1 -1
- package/dist/esm/components/HlsPlayer.js.map +1 -1
- package/dist/esm/components/ImportExcel.d.ts +7 -0
- package/dist/esm/components/ImportExcel.js +23 -0
- package/dist/esm/components/ImportExcel.js.map +1 -0
- package/dist/esm/components/InfiniteScroll.js +2 -2
- package/dist/esm/components/InfiniteScroll.js.map +1 -1
- package/dist/esm/components/InputFile.d.ts +0 -14
- package/dist/esm/components/InputFile.js +0 -53
- package/dist/esm/components/InputFile.js.map +1 -1
- package/dist/esm/components/LoopSwiper.js +1 -1
- package/dist/esm/components/LoopSwiper.js.map +1 -1
- package/dist/esm/components/Scroll.js +6 -15
- package/dist/esm/components/Scroll.js.map +1 -1
- package/dist/esm/components/SectionRing.js +1 -1
- package/dist/esm/components/SectionRing.js.map +1 -1
- package/dist/esm/components/Skeleton.js +1 -1
- package/dist/esm/components/Skeleton.js.map +1 -1
- package/dist/esm/components/Title.js +1 -1
- package/dist/esm/components/Title.js.map +1 -1
- package/dist/esm/components/TransitionBox.js +1 -1
- package/dist/esm/components/TransitionBox.js.map +1 -1
- package/dist/esm/components/TransitionNum.js +1 -1
- package/dist/esm/components/TransitionNum.js.map +1 -1
- package/dist/esm/components/Trapezium.js +1 -1
- package/dist/esm/components/Trapezium.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -3
- package/src/components/AutoFit.tsx +2 -2
- package/src/components/AutoScroll.tsx +3 -2
- package/src/components/AutoSizeTextarea.tsx +2 -2
- package/src/components/CopyButton.tsx +1 -1
- package/src/components/Echart.tsx +11 -11
- package/src/components/ExportExcel.tsx +18 -0
- package/src/components/Flow.tsx +2 -2
- package/src/components/HlsPlayer.tsx +1 -1
- package/src/components/ImportExcel.tsx +17 -0
- package/src/components/InfiniteScroll.tsx +2 -3
- package/src/components/InputFile.tsx +0 -54
- package/src/components/LoopSwiper.tsx +1 -2
- package/src/components/Scroll.tsx +14 -15
- package/src/components/SectionRing.tsx +1 -1
- package/src/components/Skeleton.tsx +1 -2
- package/src/components/Title.tsx +1 -1
- package/src/components/TransitionBox.tsx +1 -1
- package/src/components/TransitionNum.tsx +1 -1
- package/src/components/Trapezium.tsx +2 -2
- package/src/index.ts +2 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { clsx } from "deepsea-tools";
|
|
4
3
|
import { forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useRef } from "react";
|
|
5
|
-
import Scrollbar from "smooth-scrollbar";
|
|
6
4
|
import { css } from "@emotion/css";
|
|
5
|
+
import { clsx } from "deepsea-tools";
|
|
6
|
+
import Scrollbar from "smooth-scrollbar";
|
|
7
7
|
import { px, transformCSSVariable } from "../utils";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
export { default as Scrollbar } from "smooth-scrollbar";
|
|
@@ -42,25 +42,16 @@ export const Scroll = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
42
42
|
ref: ele,
|
|
43
43
|
className: clsx(css`
|
|
44
44
|
.scrollbar-track.scrollbar-track-x {
|
|
45
|
-
${thumbWidth !== undefined ? "height: var(--thumb-width);" : ""}
|
|
46
|
-
${trackColor !== undefined ? "background-color: var(--track-color);" : ""}
|
|
45
|
+
${thumbWidth !== undefined ? "height: var(--thumb-width);" : ""} ${trackColor !== undefined ? "background-color: var(--track-color);" : ""}
|
|
47
46
|
}
|
|
48
|
-
|
|
49
47
|
.scrollbar-thumb.scrollbar-thumb-x {
|
|
50
|
-
${thumbWidth !== undefined ? "height: var(--thumb-width);" : ""}
|
|
51
|
-
${thumbRadius !== undefined ? "border-radius: var(--thumb-radius);" : ""}
|
|
52
|
-
${thumbColor !== undefined ? "background-color: var(--thumb-color);" : ""}
|
|
48
|
+
${thumbWidth !== undefined ? "height: var(--thumb-width);" : ""} ${thumbRadius !== undefined ? "border-radius: var(--thumb-radius);" : ""} ${thumbColor !== undefined ? "background-color: var(--thumb-color);" : ""}
|
|
53
49
|
}
|
|
54
|
-
|
|
55
50
|
.scrollbar-track.scrollbar-track-y {
|
|
56
|
-
${thumbWidth !== undefined ? "width: var(--thumb-width);" : ""}
|
|
57
|
-
${trackColor !== undefined ? "background-color: var(--track-color);" : ""}
|
|
51
|
+
${thumbWidth !== undefined ? "width: var(--thumb-width);" : ""} ${trackColor !== undefined ? "background-color: var(--track-color);" : ""}
|
|
58
52
|
}
|
|
59
|
-
|
|
60
53
|
.scrollbar-thumb.scrollbar-thumb-y {
|
|
61
|
-
${thumbWidth !== undefined ? "width: var(--thumb-width);" : ""}
|
|
62
|
-
${thumbRadius !== undefined ? "border-radius: var(--thumb-radius);" : ""}
|
|
63
|
-
${thumbColor !== undefined ? "background-color: var(--thumb-color);" : ""}
|
|
54
|
+
${thumbWidth !== undefined ? "width: var(--thumb-width);" : ""} ${thumbRadius !== undefined ? "border-radius: var(--thumb-radius);" : ""} ${thumbColor !== undefined ? "background-color: var(--thumb-color);" : ""}
|
|
64
55
|
}
|
|
65
56
|
`, className),
|
|
66
57
|
style: transformCSSVariable({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useLayoutEffect","useRef","css","clsx","Scrollbar","px","transformCSSVariable","jsx","_jsx","default","Scroll","props","ref","children","options","className","style","scrollbar","onScrollbar","rest","thumbWidth","thumbRadius","thumbColor","trackColor","scrollbarOptions","ele","bar","current","init","destroy","addListener","removeListener","undefined"],"sources":["../../../src/components/Scroll.tsx"],"sourcesContent":["\"use client\"\n\nimport { CSSProperties, ForwardedRef, HTMLAttributes, forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useRef } from \"react\"\nimport { css } from \"@emotion/css\"\nimport { clsx } from \"deepsea-tools\"\nimport Scrollbar from \"smooth-scrollbar\"\nimport type { ScrollListener, ScrollbarOptions } from \"smooth-scrollbar/interfaces\"\n\nimport { px, transformCSSVariable } from \"@/utils\"\n\nexport { default as Scrollbar } from \"smooth-scrollbar\"\nexport * from \"smooth-scrollbar/interfaces\"\n\nexport interface ScrollOptions extends Partial<ScrollbarOptions> {\n /** 滑块宽度 */\n thumbWidth?: number | string\n /** 滑块圆角大小 */\n thumbRadius?: number | string\n /** 滑块背景颜色 */\n thumbColor?: CSSProperties[\"backgroundColor\"]\n /** 滚动条背景颜色 */\n trackColor?: CSSProperties[\"backgroundColor\"]\n}\n\nexport interface ScrollProps extends HTMLAttributes<HTMLDivElement> {\n /** 滚动的配置 */\n options?: ScrollOptions\n /** 滚动条实例 */\n scrollbar?: ForwardedRef<Scrollbar>\n /** 滚动条滚动事件 */\n onScrollbar?: ScrollListener\n}\n\nexport const Scroll = forwardRef<HTMLDivElement, ScrollProps>((props, ref) => {\n const { children, options, className, style, scrollbar, onScrollbar, ...rest } = props\n const { thumbWidth, thumbRadius, thumbColor, trackColor, ...scrollbarOptions } = options || {}\n const ele = useRef<HTMLDivElement>(null)\n const bar = useRef<Scrollbar | null>(null)\n\n useLayoutEffect(() => {\n bar.current = Scrollbar.init(ele.current!, scrollbarOptions)\n return () => bar.current?.destroy()\n }, [])\n\n useImperativeHandle(ref, () => ele.current!, [])\n\n useImperativeHandle(scrollbar, () => bar.current!, [])\n\n useEffect(() => {\n if (!onScrollbar) return\n bar.current?.addListener(onScrollbar)\n return () => bar.current?.removeListener(onScrollbar)\n }, [onScrollbar])\n\n return (\n <div\n ref={ele}\n className={clsx(\n css`\n .scrollbar-track.scrollbar-track-x {\n ${thumbWidth !== undefined ? \"height: var(--thumb-width);\" : \"\"} ${trackColor !== undefined\n ? \"background-color: var(--track-color);\"\n : \"\"}\n }\n .scrollbar-thumb.scrollbar-thumb-x {\n ${thumbWidth !== undefined ? \"height: var(--thumb-width);\" : \"\"} ${thumbRadius !== undefined\n ? \"border-radius: var(--thumb-radius);\"\n : \"\"} ${thumbColor !== undefined ? \"background-color: var(--thumb-color);\" : \"\"}\n }\n .scrollbar-track.scrollbar-track-y {\n ${thumbWidth !== undefined ? \"width: var(--thumb-width);\" : \"\"} ${trackColor !== undefined\n ? \"background-color: var(--track-color);\"\n : \"\"}\n }\n .scrollbar-thumb.scrollbar-thumb-y {\n ${thumbWidth !== undefined ? \"width: var(--thumb-width);\" : \"\"} ${thumbRadius !== undefined\n ? \"border-radius: var(--thumb-radius);\"\n : \"\"} ${thumbColor !== undefined ? \"background-color: var(--thumb-color);\" : \"\"}\n }\n `,\n className,\n )}\n style={transformCSSVariable(\n {\n thumbWidth: px(thumbWidth),\n thumbRadius: px(thumbRadius),\n thumbColor,\n trackColor,\n },\n style,\n )}\n {...rest}\n >\n {children}\n </div>\n )\n})\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { drawArc } from "deepsea-tools";
|
|
4
3
|
import { forwardRef } from "react";
|
|
4
|
+
import { drawArc } from "deepsea-tools";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
export const SectionRing = /*#__PURE__*/forwardRef((props, ref) => {
|
|
7
7
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","drawArc","jsx","_jsx","SectionRing","props","ref","outerRadius","o","innerRadius","i","count","c","angel","a","style","rest","s","Math","PI","arc","radius","startAngle","endAngle","options","width","height","clipPath","Array","fill","map","it","idx","line","anticlockwise","join"],"sources":["../../../src/components/SectionRing.tsx"],"sourcesContent":["\"use client\"\n\nimport { HTMLAttributes, forwardRef } from \"react\"\nimport { DrawArcOptions, drawArc } from \"deepsea-tools\"\n\nexport interface SectionRingProps extends HTMLAttributes<HTMLDivElement> {\n outerRadius: number\n innerRadius: number\n count: number\n angel: number\n}\n\nexport const SectionRing = forwardRef<HTMLDivElement, SectionRingProps>((props, ref) => {\n const { outerRadius: o, innerRadius: i, count: c, angel: a, style, ...rest } = props\n\n const s = (Math.PI * 2) / c - a\n\n function arc(radius: number, startAngle: number, endAngle: number, options: DrawArcOptions = {}) {\n return drawArc(o, o, radius, startAngle, endAngle, options)\n }\n\n return (\n <div\n ref={ref}\n style={{\n width: o * 2,\n height: o * 2,\n clipPath: `path(\"${Array(c)\n .fill(0)\n .map(\n (it, idx) =>\n `${arc(o, idx * (a + s), idx * (a + s) + a)} ${arc(i, idx * (a + s) + a, idx * (a + s), { line: true, anticlockwise: true })}`,\n )\n .join(\" \")} Z\")`,\n ...style,\n }}\n {...rest}\n />\n )\n})\n"],"mappings":"AAAA,YAAY;;AAEZ,SAAyBA,UAAU,QAAQ,OAAO;AAClD,SAAyBC,OAAO,QAAQ,eAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA;AASvD,OAAO,MAAMC,WAAW,gBAAGJ,UAAU,CAAmC,CAACK,KAAK,EAAEC,GAAG,KAAK;EACpF,MAAM;IAAEC,WAAW,EAAEC,CAAC;IAAEC,WAAW,EAAEC,CAAC;IAAEC,KAAK,EAAEC,CAAC;IAAEC,KAAK,EAAEC,CAAC;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGX,KAAK;EAEpF,MAAMY,CAAC,GAAIC,IAAI,CAACC,EAAE,GAAG,CAAC,GAAIP,CAAC,GAAGE,CAAC;EAE/B,SAASM,GAAGA,CAACC,MAAc,EAAEC,UAAkB,EAAEC,QAAgB,EAAEC,OAAuB,GAAG,CAAC,CAAC,EAAE;IAC7F,OAAOvB,OAAO,CAACO,CAAC,EAAEA,CAAC,EAAEa,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,OAAO,CAAC;EAC/D;EAEA,oBACIrB,IAAA;IACIG,GAAG,EAAEA,GAAI;IACTS,KAAK,EAAE;MACHU,KAAK,EAAEjB,CAAC,GAAG,CAAC;MACZkB,MAAM,EAAElB,CAAC,GAAG,CAAC;MACbmB,QAAQ,EAAG,SAAQC,KAAK,CAAChB,CAAC,CAAC,CACtBiB,IAAI,CAAC,CAAC,CAAC,CACPC,GAAG,CACA,CAACC,EAAE,EAAEC,GAAG,KACH,GAAEZ,GAAG,CAACZ,CAAC,EAAEwB,GAAG,IAAIlB,CAAC,GAAGG,CAAC,CAAC,EAAEe,GAAG,IAAIlB,CAAC,GAAGG,CAAC,CAAC,GAAGH,CAAC,CAAE,IAAGM,GAAG,CAACV,CAAC,EAAEsB,GAAG,IAAIlB,CAAC,GAAGG,CAAC,CAAC,GAAGH,CAAC,EAAEkB,GAAG,IAAIlB,CAAC,GAAGG,CAAC,CAAC,EAAE;QAAEgB,IAAI,EAAE,IAAI;QAAEC,aAAa,EAAE;MAAK,CAAC,CAAE,EACrI,CAAC,CACAC,IAAI,CAAC,GAAG,CAAE,MAAK;MACpB,GAAGpB;IACP,CAAE;IAAA,GACEC;EAAI,CACX,CAAC;AAEV,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { clsx } from "deepsea-tools";
|
|
4
3
|
import { forwardRef } from "react";
|
|
5
4
|
import { css } from "@emotion/css";
|
|
5
|
+
import { clsx } from "deepsea-tools";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
export const Skeleton = /*#__PURE__*/forwardRef((props, ref) => {
|
|
8
8
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","css","clsx","jsx","_jsx","Skeleton","props","ref","className","children","loading","undefined","rest"],"sources":["../../../src/components/Skeleton.tsx"],"sourcesContent":["\"use client\"\n\nimport { HTMLAttributes, forwardRef } from \"react\"\nimport { css } from \"@emotion/css\"\nimport { clsx } from \"deepsea-tools\"\n\nexport interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {\n loading?: boolean\n}\n\nexport const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>((props, ref) => {\n const { className, children, loading = children === undefined || children === null, ...rest } = props\n\n return (\n <div\n ref={ref}\n className={clsx(\n css`\n @keyframes shimmer {\n 0% {\n background-position: -400px 0px;\n }\n 100% {\n background-position: 400px 0px;\n }\n }\n `,\n loading &&\n css`\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.067) 8%, rgba(0, 0, 0, 0.133) 18%, rgba(0, 0, 0, 0.067) 33%);\n animation-duration: 1s;\n animation-fill-mode: forwards;\n animation-iteration-count: infinite;\n animation-name: shimmer;\n animation-timing-function: linear;\n background-size: 800px 104px;\n `,\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n )\n})\n"],"mappings":"AAAA,YAAY;;AAEZ,SAAyBA,UAAU,QAAQ,OAAO;AAClD,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,IAAI,QAAQ,eAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAMpC,OAAO,MAAMC,QAAQ,gBAAGL,UAAU,CAAgC,CAACM,KAAK,EAAEC,GAAG,KAAK;EAC9E,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,OAAO,GAAGD,QAAQ,KAAKE,SAAS,IAAIF,QAAQ,KAAK,IAAI;IAAE,GAAGG;EAAK,CAAC,GAAGN,KAAK;EAErG,oBACIF,IAAA;IACIG,GAAG,EAAEA,GAAI;IACTC,SAAS,EAAEN,IAAI,CACXD,GAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EACDS,OAAO,IACHT,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EACLO,SACJ,CAAE;IAAA,GACEI,IAAI;IAAAH,QAAA,EAEPA;EAAQ,CACR,CAAC;AAEd,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { isBrowser } from "deepsea-tools";
|
|
4
3
|
import { forwardRef, useImperativeHandle, useLayoutEffect, useRef } from "react";
|
|
5
4
|
import { createPortal } from "react-dom";
|
|
5
|
+
import { isBrowser } from "deepsea-tools";
|
|
6
6
|
import { getReactVersion } from "../utils/getReactVersion";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
const [major] = getReactVersion();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","useImperativeHandle","useLayoutEffect","useRef","createPortal","isBrowser","getReactVersion","jsx","_jsx","major","Title","props","ref","ele","current","title","document","head","querySelector","insertBefore"],"sources":["../../../src/components/Title.tsx"],"sourcesContent":["\"use client\"\n\nimport { ComponentPropsWithoutRef, forwardRef, useImperativeHandle, useLayoutEffect, useRef } from \"react\"\nimport { createPortal } from \"react-dom\"\nimport { isBrowser } from \"deepsea-tools\"\n\nimport { getReactVersion } from \"@/utils/getReactVersion\"\n\nexport type TitleProps = ComponentPropsWithoutRef<\"title\">\n\nconst [major] = getReactVersion()\n\nexport const Title = forwardRef<HTMLTitleElement, TitleProps>((props, ref) => {\n if (major >= 19) return <title ref={ref} {...props} />\n\n const ele = useRef<HTMLTitleElement>(null)\n\n useImperativeHandle(ref, () => ele.current as HTMLTitleElement, [ele.current])\n\n useLayoutEffect(() => {\n const title = document.head.querySelector(\"title\")\n if (title === ele.current) return\n document.head.insertBefore(ele.current as HTMLTitleElement, title)\n }, [])\n\n return isBrowser && createPortal(<title ref={ele} {...props} />, document.head)\n})\n"],"mappings":"AAAA,YAAY;;AAEZ,SAAmCA,UAAU,EAAEC,mBAAmB,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAC1G,SAASC,YAAY,QAAQ,WAAW;AACxC,SAASC,SAAS,QAAQ,eAAe;AAEzC,SAASC,eAAe;AAAiC,SAAAC,GAAA,IAAAC,IAAA;AAIzD,MAAM,CAACC,KAAK,CAAC,GAAGH,eAAe,CAAC,CAAC;AAEjC,OAAO,MAAMI,KAAK,gBAAGV,UAAU,CAA+B,CAACW,KAAK,EAAEC,GAAG,KAAK;EAC1E,IAAIH,KAAK,IAAI,EAAE,EAAE,oBAAOD,IAAA;IAAOI,GAAG,EAAEA,GAAI;IAAA,GAAKD;EAAK,CAAG,CAAC;EAEtD,MAAME,GAAG,GAAGV,MAAM,CAAmB,IAAI,CAAC;EAE1CF,mBAAmB,CAACW,GAAG,EAAE,MAAMC,GAAG,CAACC,OAA2B,EAAE,CAACD,GAAG,CAACC,OAAO,CAAC,CAAC;EAE9EZ,eAAe,CAAC,MAAM;IAClB,MAAMa,KAAK,GAAGC,QAAQ,CAACC,IAAI,CAACC,aAAa,CAAC,OAAO,CAAC;IAClD,IAAIH,KAAK,KAAKF,GAAG,CAACC,OAAO,EAAE;IAC3BE,QAAQ,CAACC,IAAI,CAACE,YAAY,CAACN,GAAG,CAACC,OAAO,EAAsBC,KAAK,CAAC;EACtE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOV,SAAS,iBAAID,YAAY,eAACI,IAAA;IAAOI,GAAG,EAAEC,GAAI;IAAA,GAAKF;EAAK,CAAG,CAAC,EAAEK,QAAQ,CAACC,IAAI,CAAC;AACnF,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useSize } from "ahooks";
|
|
4
3
|
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
4
|
+
import { useSize } from "ahooks";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
/** 尺寸渐变的组件 */
|
|
7
7
|
export const TransitionBox = /*#__PURE__*/forwardRef((props, ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useRef","useState","useSize","jsx","_jsx","TransitionBox","props","ref","style","containerClassName","containerStyle","children","vertical","horizontal","time","rest","container","size","width","height","count","setCount","Math","min","outerStyle","transitionProperty","filter","Boolean","join","undefined","transitionDuration","overflow","position","className"],"sources":["../../../src/components/TransitionBox.tsx"],"sourcesContent":["\"use client\"\n\nimport { CSSProperties, FC, HTMLAttributes, forwardRef, useEffect, useRef, useState } from \"react\"\nimport { useSize } from \"ahooks\"\n\nexport interface TransitionBoxProps extends HTMLAttributes<HTMLDivElement> {\n containerClassName?: string\n containerStyle?: CSSProperties\n vertical?: boolean\n horizontal?: boolean\n time?: number\n}\n\n/** 尺寸渐变的组件 */\nexport const TransitionBox: FC<TransitionBoxProps> = forwardRef<HTMLDivElement, TransitionBoxProps>((props, ref) => {\n const { style, containerClassName, containerStyle, children, vertical = true, horizontal = true, time = 3000, ...rest } = props\n const container = useRef<HTMLDivElement>(null)\n const size = useSize(container)\n const width = size?.width ?? 0\n const height = size?.height ?? 0\n const [count, setCount] = useState(0)\n\n useEffect(() => {\n setCount(count => Math.min(count + 1, 3))\n }, [width, height])\n\n const outerStyle: CSSProperties = {\n transitionProperty: count === 3 ? [horizontal && \"width\", vertical && \"height\"].filter(Boolean).join(\", \") : undefined,\n transitionDuration: count === 3 ? `${time}ms` : undefined,\n width,\n height,\n overflow: \"hidden\",\n position: \"relative\",\n ...style,\n }\n\n return (\n <div ref={ref} style={outerStyle} {...rest}>\n <div className={containerClassName} style={{ position: \"absolute\", ...containerStyle }} ref={container}>\n {children}\n </div>\n </div>\n )\n})\n"],"mappings":"AAAA,YAAY;;AAEZ,SAA4CA,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAClG,SAASC,OAAO,QAAQ,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAUhC;AACA,OAAO,MAAMC,aAAqC,gBAAGP,UAAU,CAAqC,CAACQ,KAAK,EAAEC,GAAG,KAAK;EAChH,MAAM;IAAEC,KAAK;IAAEC,kBAAkB;IAAEC,cAAc;IAAEC,QAAQ;IAAEC,QAAQ,GAAG,IAAI;IAAEC,UAAU,GAAG,IAAI;IAAEC,IAAI,GAAG,IAAI;IAAE,GAAGC;EAAK,CAAC,GAAGT,KAAK;EAC/H,MAAMU,SAAS,GAAGhB,MAAM,CAAiB,IAAI,CAAC;EAC9C,MAAMiB,IAAI,GAAGf,OAAO,CAACc,SAAS,CAAC;EAC/B,MAAME,KAAK,GAAGD,IAAI,EAAEC,KAAK,IAAI,CAAC;EAC9B,MAAMC,MAAM,GAAGF,IAAI,EAAEE,MAAM,IAAI,CAAC;EAChC,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGpB,QAAQ,CAAC,CAAC,CAAC;EAErCF,SAAS,CAAC,MAAM;IACZsB,QAAQ,CAACD,KAAK,IAAIE,IAAI,CAACC,GAAG,CAACH,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7C,CAAC,EAAE,CAACF,KAAK,EAAEC,MAAM,CAAC,CAAC;EAEnB,MAAMK,UAAyB,GAAG;IAC9BC,kBAAkB,EAAEL,KAAK,KAAK,CAAC,GAAG,CAACP,UAAU,IAAI,OAAO,EAAED,QAAQ,IAAI,QAAQ,CAAC,CAACc,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAGC,SAAS;IACtHC,kBAAkB,EAAEV,KAAK,KAAK,CAAC,GAAI,GAAEN,IAAK,IAAG,GAAGe,SAAS;IACzDX,KAAK;IACLC,MAAM;IACNY,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE,UAAU;IACpB,GAAGxB;EACP,CAAC;EAED,oBACIJ,IAAA;IAAKG,GAAG,EAAEA,GAAI;IAACC,KAAK,EAAEgB,UAAW;IAAA,GAAKT,IAAI;IAAAJ,QAAA,eACtCP,IAAA;MAAK6B,SAAS,EAAExB,kBAAmB;MAACD,KAAK,EAAE;QAAEwB,QAAQ,EAAE,UAAU;QAAE,GAAGtB;MAAe,CAAE;MAACH,GAAG,EAAES,SAAU;MAAAL,QAAA,EAClGA;IAAQ,CACR;EAAC,CACL,CAAC;AAEd,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { setFrameInterval } from "deepsea-tools";
|
|
4
3
|
import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
|
|
4
|
+
import { setFrameInterval } from "deepsea-tools";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
/** 渐变数字组件 */
|
|
7
7
|
export const TransitionNum = /*#__PURE__*/forwardRef((props, ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","setFrameInterval","jsx","_jsx","TransitionNum","props","ref","children","num","period","numToStr","ins","rest","Number","isInteger","RangeError","ele","cache","show","current","get","innerText","String","div","speed","cancel","Math","floor","ceil"],"sources":["../../../src/components/TransitionNum.tsx"],"sourcesContent":["\"use client\"\n\nimport { ForwardedRef, HTMLAttributes, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\"\nimport { setFrameInterval } from \"deepsea-tools\"\n\nexport interface TransitionNumProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** 当前数字 */\n children: number\n /** 变换周期,单位帧 */\n period: number\n /** 数字转换为字符串的方法 */\n numToStr?: (num: number) => string\n /** 实例 */\n ins?: ForwardedRef<TransitionNumIns>\n}\n\nexport interface TransitionNumIns {\n get(): number\n}\n\n/** 渐变数字组件 */\nexport const TransitionNum = forwardRef<HTMLDivElement, TransitionNumProps>((props, ref) => {\n const { children: num, period, numToStr, ins, ...rest } = props\n if (!Number.isInteger(num) || !Number.isInteger(period) || period <= 0) {\n throw new RangeError(\"目标数字必须是整数,周期必须是正整数\")\n }\n const ele = useRef<HTMLDivElement>(null)\n const cache = useRef({ num, period, numToStr, show: num })\n cache.current = { ...cache.current, num, period, numToStr }\n\n useImperativeHandle(ref, () => ele.current!, [])\n useImperativeHandle(ins, () => ({ get: () => cache.current.show }), [])\n\n useEffect(() => {\n const { num, period, show, numToStr } = cache.current\n ele.current!.innerText = (numToStr || String)(show)\n if (num === show) return\n const div = ele.current!\n const speed = (num - show) / period\n const cancel = setFrameInterval(() => {\n const { num, numToStr } = cache.current\n cache.current.show += speed\n if ((speed > 0 && cache.current.show > num) || (speed < 0 && cache.current.show < num)) {\n cancel()\n cache.current.show = num\n }\n div.innerText = (numToStr || String)(speed > 0 ? Math.floor(cache.current.show) : Math.ceil(cache.current.show))\n }, 1)\n\n return cancel\n }, [num])\n\n return <div ref={ele} {...rest} />\n})\n"],"mappings":"AAAA,YAAY;;AAEZ,SAAuCA,UAAU,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,QAAQ,OAAO;AACxG,SAASC,gBAAgB,QAAQ,eAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAiBhD;AACA,OAAO,MAAMC,aAAa,gBAAGP,UAAU,CAAqC,CAACQ,KAAK,EAAEC,GAAG,KAAK;EACxF,MAAM;IAAEC,QAAQ,EAAEC,GAAG;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,GAAG;IAAE,GAAGC;EAAK,CAAC,GAAGP,KAAK;EAC/D,IAAI,CAACQ,MAAM,CAACC,SAAS,CAACN,GAAG,CAAC,IAAI,CAACK,MAAM,CAACC,SAAS,CAACL,MAAM,CAAC,IAAIA,MAAM,IAAI,CAAC,EAAE;IACpE,MAAM,IAAIM,UAAU,CAAC,oBAAoB,CAAC;EAC9C;EACA,MAAMC,GAAG,GAAGhB,MAAM,CAAiB,IAAI,CAAC;EACxC,MAAMiB,KAAK,GAAGjB,MAAM,CAAC;IAAEQ,GAAG;IAAEC,MAAM;IAAEC,QAAQ;IAAEQ,IAAI,EAAEV;EAAI,CAAC,CAAC;EAC1DS,KAAK,CAACE,OAAO,GAAG;IAAE,GAAGF,KAAK,CAACE,OAAO;IAAEX,GAAG;IAAEC,MAAM;IAAEC;EAAS,CAAC;EAE3DX,mBAAmB,CAACO,GAAG,EAAE,MAAMU,GAAG,CAACG,OAAQ,EAAE,EAAE,CAAC;EAChDpB,mBAAmB,CAACY,GAAG,EAAE,OAAO;IAAES,GAAG,EAAEA,CAAA,KAAMH,KAAK,CAACE,OAAO,CAACD;EAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EAEvEpB,SAAS,CAAC,MAAM;IACZ,MAAM;MAAEU,GAAG;MAAEC,MAAM;MAAES,IAAI;MAAER;IAAS,CAAC,GAAGO,KAAK,CAACE,OAAO;IACrDH,GAAG,CAACG,OAAO,CAAEE,SAAS,GAAG,CAACX,QAAQ,IAAIY,MAAM,EAAEJ,IAAI,CAAC;IACnD,IAAIV,GAAG,KAAKU,IAAI,EAAE;IAClB,MAAMK,GAAG,GAAGP,GAAG,CAACG,OAAQ;IACxB,MAAMK,KAAK,GAAG,CAAChB,GAAG,GAAGU,IAAI,IAAIT,MAAM;IACnC,MAAMgB,MAAM,GAAGxB,gBAAgB,CAAC,MAAM;MAClC,MAAM;QAAEO,GAAG;QAAEE;MAAS,CAAC,GAAGO,KAAK,CAACE,OAAO;MACvCF,KAAK,CAACE,OAAO,CAACD,IAAI,IAAIM,KAAK;MAC3B,IAAKA,KAAK,GAAG,CAAC,IAAIP,KAAK,CAACE,OAAO,CAACD,IAAI,GAAGV,GAAG,IAAMgB,KAAK,GAAG,CAAC,IAAIP,KAAK,CAACE,OAAO,CAACD,IAAI,GAAGV,GAAI,EAAE;QACpFiB,MAAM,CAAC,CAAC;QACRR,KAAK,CAACE,OAAO,CAACD,IAAI,GAAGV,GAAG;MAC5B;MACAe,GAAG,CAACF,SAAS,GAAG,CAACX,QAAQ,IAAIY,MAAM,EAAEE,KAAK,GAAG,CAAC,GAAGE,IAAI,CAACC,KAAK,CAACV,KAAK,CAACE,OAAO,CAACD,IAAI,CAAC,GAAGQ,IAAI,CAACE,IAAI,CAACX,KAAK,CAACE,OAAO,CAACD,IAAI,CAAC,CAAC;IACpH,CAAC,EAAE,CAAC,CAAC;IAEL,OAAOO,MAAM;EACjB,CAAC,EAAE,CAACjB,GAAG,CAAC,CAAC;EAET,oBAAOL,IAAA;IAAKG,GAAG,EAAEU,GAAI;IAAA,GAAKJ;EAAI,CAAG,CAAC;AACtC,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { clsx } from "deepsea-tools";
|
|
4
3
|
import { forwardRef } from "react";
|
|
5
4
|
import { css } from "@emotion/css";
|
|
5
|
+
import { clsx } from "deepsea-tools";
|
|
6
6
|
import { px, transformCSSVariable } from "../utils";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
/** 梯形组件 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["forwardRef","css","clsx","px","transformCSSVariable","jsx","_jsx","Trapezium","props","ref","top","bottom","height","borderRadius","className","style","rest","diff","a","Math","atan","b","tan","c","cos","d","sin","e","PI","f","g","h","width","clipath"],"sources":["../../../src/components/Trapezium.tsx"],"sourcesContent":["\"use client\"\n\nimport { HTMLAttributes, forwardRef } from \"react\"\nimport { css } from \"@emotion/css\"\nimport { clsx } from \"deepsea-tools\"\n\nimport { px, transformCSSVariable } from \"@/utils\"\n\nexport interface TrapeziumProps extends HTMLAttributes<HTMLDivElement> {\n top: number\n bottom: number\n height: number\n borderRadius: number\n}\n\n/** 梯形组件 */\nexport const Trapezium = forwardRef<HTMLDivElement, TrapeziumProps>((props, ref) => {\n const { top, bottom, height, borderRadius, className, style, ...rest } = props\n\n const diff = (bottom - top) / 2\n\n const a = Math.atan(height / diff) / 2\n\n const b = borderRadius / Math.tan(a)\n\n const c = b * Math.cos(a * 2)\n\n const d = b * Math.sin(a * 2)\n\n const e = Math.PI / 2 - a\n\n const f = borderRadius / Math.tan(e)\n\n const g = f * Math.cos(a * 2)\n\n const h = f * Math.sin(a * 2)\n\n return (\n <div\n ref={ref}\n className={clsx(\n css`\n width: var(--width);\n height: var(--height);\n clip-path: var(--clip-path);\n `,\n className,\n )}\n style={transformCSSVariable(\n {\n width: px(bottom),\n height: px(height),\n clipath: `path(\"M ${diff + f} ${0} A ${borderRadius} ${borderRadius} 0 0 0 ${diff - g} ${h} L ${c} ${height - d} A ${borderRadius} ${borderRadius} 0 0 0 ${b} ${height} L ${bottom - b} ${height} A ${borderRadius} ${borderRadius} 0 0 0 ${bottom - c} ${height - d} L ${top + diff + g} ${h} A ${borderRadius} ${borderRadius} 0 0 0 ${top + diff - f} ${0} Z\")`,\n },\n style,\n )}\n {...rest}\n />\n )\n})\n"],"mappings":"AAAA,YAAY;;AAEZ,SAAyBA,UAAU,QAAQ,OAAO;AAClD,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,IAAI,QAAQ,eAAe;AAEpC,SAASC,EAAE,EAAEC,oBAAoB;AAAiB,SAAAC,GAAA,IAAAC,IAAA;AASlD;AACA,OAAO,MAAMC,SAAS,gBAAGP,UAAU,CAAiC,CAACQ,KAAK,EAAEC,GAAG,KAAK;EAChF,MAAM;IAAEC,GAAG;IAAEC,MAAM;IAAEC,MAAM;IAAEC,YAAY;IAAEC,SAAS;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGR,KAAK;EAE9E,MAAMS,IAAI,GAAG,CAACN,MAAM,GAAGD,GAAG,IAAI,CAAC;EAE/B,MAAMQ,CAAC,GAAGC,IAAI,CAACC,IAAI,CAACR,MAAM,GAAGK,IAAI,CAAC,GAAG,CAAC;EAEtC,MAAMI,CAAC,GAAGR,YAAY,GAAGM,IAAI,CAACG,GAAG,CAACJ,CAAC,CAAC;EAEpC,MAAMK,CAAC,GAAGF,CAAC,GAAGF,IAAI,CAACK,GAAG,CAACN,CAAC,GAAG,CAAC,CAAC;EAE7B,MAAMO,CAAC,GAAGJ,CAAC,GAAGF,IAAI,CAACO,GAAG,CAACR,CAAC,GAAG,CAAC,CAAC;EAE7B,MAAMS,CAAC,GAAGR,IAAI,CAACS,EAAE,GAAG,CAAC,GAAGV,CAAC;EAEzB,MAAMW,CAAC,GAAGhB,YAAY,GAAGM,IAAI,CAACG,GAAG,CAACK,CAAC,CAAC;EAEpC,MAAMG,CAAC,GAAGD,CAAC,GAAGV,IAAI,CAACK,GAAG,CAACN,CAAC,GAAG,CAAC,CAAC;EAE7B,MAAMa,CAAC,GAAGF,CAAC,GAAGV,IAAI,CAACO,GAAG,CAACR,CAAC,GAAG,CAAC,CAAC;EAE7B,oBACIZ,IAAA;IACIG,GAAG,EAAEA,GAAI;IACTK,SAAS,EAAEZ,IAAI,CACXD,GAAI;AACpB;AACA;AACA;AACA,iBAAiB,EACDa,SACJ,CAAE;IACFC,KAAK,EAAEX,oBAAoB,CACvB;MACI4B,KAAK,EAAE7B,EAAE,CAACQ,MAAM,CAAC;MACjBC,MAAM,EAAET,EAAE,CAACS,MAAM,CAAC;MAClBqB,OAAO,EAAG,WAAUhB,IAAI,GAAGY,CAAE,IAAG,CAAE,OAAMhB,YAAa,IAAGA,YAAa,UAASI,IAAI,GAAGa,CAAE,IAAGC,CAAE,MAAKR,CAAE,IAAGX,MAAM,GAAGa,CAAE,MAAKZ,YAAa,IAAGA,YAAa,UAASQ,CAAE,IAAGT,MAAO,MAAKD,MAAM,GAAGU,CAAE,IAAGT,MAAO,MAAKC,YAAa,IAAGA,YAAa,UAASF,MAAM,GAAGY,CAAE,IAAGX,MAAM,GAAGa,CAAE,MAAKf,GAAG,GAAGO,IAAI,GAAGa,CAAE,IAAGC,CAAE,MAAKlB,YAAa,IAAGA,YAAa,UAASH,GAAG,GAAGO,IAAI,GAAGY,CAAE,IAAG,CAAE;IAClW,CAAC,EACDd,KACJ,CAAE;IAAA,GACEC;EAAI,CACX,CAAC;AAEV,CAAC,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ export * from "./components/AutoSizeTextarea";
|
|
|
4
4
|
export * from "./components/CircleText";
|
|
5
5
|
export * from "./components/CopyButton";
|
|
6
6
|
export * from "./components/Echart";
|
|
7
|
+
export * from "./components/ExportExcel";
|
|
7
8
|
export * from "./components/Flow";
|
|
8
9
|
export * from "./components/FormLabel";
|
|
9
10
|
export * from "./components/HlsPlayer";
|
|
11
|
+
export * from "./components/ImportExcel";
|
|
10
12
|
export * from "./components/InfiniteScroll";
|
|
11
13
|
export * from "./components/InputFile";
|
|
12
14
|
export * from "./components/LoopSwiper";
|
package/dist/esm/index.js
CHANGED
|
@@ -4,9 +4,11 @@ export * from "./components/AutoSizeTextarea";
|
|
|
4
4
|
export * from "./components/CircleText";
|
|
5
5
|
export * from "./components/CopyButton";
|
|
6
6
|
export * from "./components/Echart";
|
|
7
|
+
export * from "./components/ExportExcel";
|
|
7
8
|
export * from "./components/Flow";
|
|
8
9
|
export * from "./components/FormLabel";
|
|
9
10
|
export * from "./components/HlsPlayer";
|
|
11
|
+
export * from "./components/ImportExcel";
|
|
10
12
|
export * from "./components/InfiniteScroll";
|
|
11
13
|
export * from "./components/InputFile";
|
|
12
14
|
export * from "./components/LoopSwiper";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"@/components/AutoFit\"\nexport * from \"@/components/AutoScroll\"\nexport * from \"@/components/AutoSizeTextarea\"\nexport * from \"@/components/CircleText\"\nexport * from \"@/components/CopyButton\"\nexport * from \"@/components/Echart\"\nexport * from \"@/components/Flow\"\nexport * from \"@/components/FormLabel\"\nexport * from \"@/components/HlsPlayer\"\nexport * from \"@/components/InfiniteScroll\"\nexport * from \"@/components/InputFile\"\nexport * from \"@/components/LoopSwiper\"\nexport * from \"@/components/Ring\"\nexport * from \"@/components/Scroll\"\nexport * from \"@/components/SectionRing\"\nexport * from \"@/components/Skeleton\"\nexport * from \"@/components/Title\"\nexport * from \"@/components/TransitionBox\"\nexport * from \"@/components/TransitionNum\"\nexport * from \"@/components/Trapezium\"\nexport * from \"@/utils/getReactVersion\"\nexport * from \"@/utils/index\"\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"@/components/AutoFit\"\nexport * from \"@/components/AutoScroll\"\nexport * from \"@/components/AutoSizeTextarea\"\nexport * from \"@/components/CircleText\"\nexport * from \"@/components/CopyButton\"\nexport * from \"@/components/Echart\"\nexport * from \"@/components/ExportExcel\"\nexport * from \"@/components/Flow\"\nexport * from \"@/components/FormLabel\"\nexport * from \"@/components/HlsPlayer\"\nexport * from \"@/components/ImportExcel\"\nexport * from \"@/components/InfiniteScroll\"\nexport * from \"@/components/InputFile\"\nexport * from \"@/components/LoopSwiper\"\nexport * from \"@/components/Ring\"\nexport * from \"@/components/Scroll\"\nexport * from \"@/components/SectionRing\"\nexport * from \"@/components/Skeleton\"\nexport * from \"@/components/Title\"\nexport * from \"@/components/TransitionBox\"\nexport * from \"@/components/TransitionNum\"\nexport * from \"@/components/Trapezium\"\nexport * from \"@/utils/getReactVersion\"\nexport * from \"@/utils/index\"\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepsea-components",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.8.1",
|
|
4
4
|
"description": "格数科技自用组件库",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -31,8 +31,7 @@
|
|
|
31
31
|
"echarts": "^5.5.1",
|
|
32
32
|
"hls.js": "^1.5.18",
|
|
33
33
|
"smooth-scrollbar": "^8.8.4",
|
|
34
|
-
"
|
|
35
|
-
"deepsea-tools": "5.16.7"
|
|
34
|
+
"deepsea-tools": "5.17.1"
|
|
36
35
|
},
|
|
37
36
|
"peerDependencies": {
|
|
38
37
|
"@types/react": "^18.3.1",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
-
import { clsx } from "deepsea-tools"
|
|
4
3
|
import { HTMLAttributes, forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState } from "react"
|
|
5
|
-
|
|
6
4
|
import { css } from "@emotion/css"
|
|
5
|
+
import { clsx } from "deepsea-tools"
|
|
6
|
+
|
|
7
7
|
import { px, transformCSSVariable } from "@/utils"
|
|
8
8
|
|
|
9
9
|
export interface AutoFitProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
+
import { CSSProperties, MouseEvent as ReactMouseEvent, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
4
|
+
import { css } from "@emotion/css"
|
|
3
5
|
import { useSize } from "ahooks"
|
|
4
6
|
import { clsx, getArray } from "deepsea-tools"
|
|
5
|
-
import { CSSProperties, MouseEvent as ReactMouseEvent, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
6
7
|
import Scrollbar from "smooth-scrollbar"
|
|
7
8
|
import { ScrollStatus } from "smooth-scrollbar/interfaces/scrollbar"
|
|
8
9
|
|
|
9
|
-
import { css } from "@emotion/css"
|
|
10
10
|
import { px, transformCSSVariable } from "@/utils"
|
|
11
|
+
|
|
11
12
|
import { Scroll, ScrollProps } from "./Scroll"
|
|
12
13
|
|
|
13
14
|
export interface AutoScrollProps extends ScrollProps {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
-
import { clsx } from "deepsea-tools"
|
|
4
3
|
import { TextareaHTMLAttributes, forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from "react"
|
|
5
|
-
|
|
6
4
|
import { css } from "@emotion/css"
|
|
5
|
+
import { clsx } from "deepsea-tools"
|
|
6
|
+
|
|
7
7
|
import { px, transformCSSVariable } from "@/utils"
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
+
import { ComponentPropsWithoutRef, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
3
4
|
import { useLatest } from "ahooks"
|
|
4
5
|
import ClipboardJS, { Event } from "clipboard"
|
|
5
|
-
import { ComponentPropsWithoutRef, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
6
6
|
|
|
7
7
|
export { Event } from "clipboard"
|
|
8
8
|
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
+
import {
|
|
4
|
+
ComponentPropsWithoutRef,
|
|
5
|
+
ForwardRefExoticComponent,
|
|
6
|
+
ForwardedRef,
|
|
7
|
+
RefAttributes,
|
|
8
|
+
forwardRef,
|
|
9
|
+
useEffect,
|
|
10
|
+
useImperativeHandle,
|
|
11
|
+
useLayoutEffect,
|
|
12
|
+
useRef,
|
|
13
|
+
} from "react"
|
|
3
14
|
import {
|
|
4
15
|
BarSeriesOption,
|
|
5
16
|
ComposeOption,
|
|
@@ -12,17 +23,6 @@ import {
|
|
|
12
23
|
TooltipComponentOption,
|
|
13
24
|
init,
|
|
14
25
|
} from "echarts"
|
|
15
|
-
import {
|
|
16
|
-
ComponentPropsWithoutRef,
|
|
17
|
-
ForwardRefExoticComponent,
|
|
18
|
-
ForwardedRef,
|
|
19
|
-
RefAttributes,
|
|
20
|
-
forwardRef,
|
|
21
|
-
useEffect,
|
|
22
|
-
useImperativeHandle,
|
|
23
|
-
useLayoutEffect,
|
|
24
|
-
useRef,
|
|
25
|
-
} from "react"
|
|
26
26
|
|
|
27
27
|
export type PieOption = ComposeOption<PieSeriesOption | TitleComponentOption | DatasetComponentOption | GridComponentOption | TooltipComponentOption>
|
|
28
28
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import { ComponentPropsWithoutRef, ComponentRef, MouseEvent as ReactMouseEvent, forwardRef } from "react"
|
|
4
|
+
import { ExportExcelParams, exportExcel } from "deepsea-tools"
|
|
5
|
+
|
|
6
|
+
export interface ExportExcelProps extends ComponentPropsWithoutRef<"button">, ExportExcelParams {}
|
|
7
|
+
|
|
8
|
+
/** 导出 excel 的 button 组件 */
|
|
9
|
+
export const ExportExcel = forwardRef<ComponentRef<"button">, ExportExcelProps>((props, ref) => {
|
|
10
|
+
const { data, fileName, onClick, ...rest } = props
|
|
11
|
+
|
|
12
|
+
function onButtonClick(e: ReactMouseEvent<HTMLButtonElement, MouseEvent>) {
|
|
13
|
+
exportExcel({ data, fileName })
|
|
14
|
+
onClick?.(e)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return <button ref={ref} onClick={onButtonClick} {...rest} />
|
|
18
|
+
})
|
package/src/components/Flow.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
+
import { CSSProperties, HTMLAttributes, Key, ReactNode, RefObject, useEffect, useImperativeHandle, useRef, useState } from "react"
|
|
4
|
+
import { css } from "@emotion/css"
|
|
3
5
|
import { useSize } from "ahooks"
|
|
4
6
|
import { clsx } from "deepsea-tools"
|
|
5
|
-
import { CSSProperties, HTMLAttributes, Key, ReactNode, RefObject, useEffect, useImperativeHandle, useRef, useState } from "react"
|
|
6
7
|
|
|
7
|
-
import { css } from "@emotion/css"
|
|
8
8
|
import { px, transformCSSVariable } from "@/utils"
|
|
9
9
|
|
|
10
10
|
export interface FlowSizeData {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
-
import Hls from "hls.js"
|
|
4
3
|
import { MediaHTMLAttributes, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
4
|
+
import Hls from "hls.js"
|
|
5
5
|
|
|
6
6
|
export interface HlsPlayerProps extends Omit<MediaHTMLAttributes<HTMLVideoElement>, "src"> {
|
|
7
7
|
src: string
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from "react"
|
|
4
|
+
import { readExcel } from "deepsea-tools"
|
|
5
|
+
|
|
6
|
+
import { InputFile, InputFileProps } from "./InputFile"
|
|
7
|
+
|
|
8
|
+
export interface ImportExcelProps extends Omit<InputFileProps, "multiple" | "onChange" | "accept" | "type"> {
|
|
9
|
+
onChange?: (data: Record<string, any>[]) => void
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** 专门用于读取 excel 的组件 */
|
|
13
|
+
export const ImportExcel = forwardRef<HTMLInputElement, ImportExcelProps>((props, ref) => {
|
|
14
|
+
const { onChange, ...rest } = props
|
|
15
|
+
|
|
16
|
+
return <InputFile ref={ref} accept=".xlsx" type="arrayBuffer" onChange={({ result }) => onChange?.(readExcel(result))} {...rest} />
|
|
17
|
+
})
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
-
import { useSize } from "ahooks"
|
|
4
|
-
import { clsx } from "deepsea-tools"
|
|
5
3
|
import { CSSProperties, ComponentPropsWithoutRef, MouseEvent as ReactMouseEvent, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
6
|
-
|
|
7
4
|
import { css } from "@emotion/css"
|
|
5
|
+
import { useSize } from "ahooks"
|
|
6
|
+
import { clsx } from "deepsea-tools"
|
|
8
7
|
|
|
9
8
|
export type InfiniteScrollProps = ComponentPropsWithoutRef<"div"> & {
|
|
10
9
|
/**
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
3
|
import { ButtonHTMLAttributes, ChangeEvent, DragEvent, Fragment, InputHTMLAttributes, MouseEvent as ReactMouseEvent, forwardRef, useRef, useState } from "react"
|
|
4
|
-
import { read, utils, writeFile } from "xlsx"
|
|
5
4
|
|
|
6
5
|
export interface InputFileDataTypes {
|
|
7
6
|
base64: string
|
|
@@ -181,56 +180,3 @@ export const InputFileButton = forwardRef<HTMLButtonElement, InputFileButtonProp
|
|
|
181
180
|
</Fragment>
|
|
182
181
|
)
|
|
183
182
|
})
|
|
184
|
-
|
|
185
|
-
export type ExcelItem = Record<string, string | undefined>
|
|
186
|
-
|
|
187
|
-
export interface ImportExcelProps extends Omit<InputFileProps, "multiple" | "onChange" | "accept" | "type"> {
|
|
188
|
-
onChange?: (data: ExcelItem[]) => void
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/** 专门用于读取 excel 的组件 */
|
|
192
|
-
export const ImportExcel = forwardRef<HTMLInputElement, ImportExcelProps>((props, ref) => {
|
|
193
|
-
const { onChange, ...rest } = props
|
|
194
|
-
|
|
195
|
-
function onInputChange(data: InputFileData<ArrayBuffer>) {
|
|
196
|
-
const wb = read(data.result)
|
|
197
|
-
const result = utils.sheet_to_json<any>(wb.Sheets[wb.SheetNames[0]])
|
|
198
|
-
if (typeof result === "object") {
|
|
199
|
-
const $ = result.map(it => {
|
|
200
|
-
const _: Record<string, string> = {}
|
|
201
|
-
Object.keys(it)
|
|
202
|
-
.filter(key => key !== "__rowNum__")
|
|
203
|
-
.forEach(key => (_[key] = String(it[key])))
|
|
204
|
-
return _
|
|
205
|
-
})
|
|
206
|
-
onChange?.($)
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
return <InputFile ref={ref} accept=".xlsx" type="arrayBuffer" onChange={onInputChange} {...rest} />
|
|
211
|
-
})
|
|
212
|
-
|
|
213
|
-
/** 手动导出 excel */
|
|
214
|
-
export function exportExcel(data: ExcelItem[], name: string) {
|
|
215
|
-
const workSheet = utils.json_to_sheet(data)
|
|
216
|
-
const workBook = utils.book_new()
|
|
217
|
-
utils.book_append_sheet(workBook, workSheet)
|
|
218
|
-
writeFile(workBook, `${name}${name.endsWith(".xlsx") ? "" : ".xlsx"}`)
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
export interface ExportExcelProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
222
|
-
data: ExcelItem[]
|
|
223
|
-
fileName: string
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/** 导出 excel 的 button 组件 */
|
|
227
|
-
export const ExportExcel = forwardRef<HTMLButtonElement, ExportExcelProps>((props, ref) => {
|
|
228
|
-
const { data, fileName, onClick, ...rest } = props
|
|
229
|
-
|
|
230
|
-
function onButtonClick(e: ReactMouseEvent<HTMLButtonElement, MouseEvent>) {
|
|
231
|
-
exportExcel(data, fileName)
|
|
232
|
-
onClick?.(e)
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
return <button ref={ref} onClick={onButtonClick} {...rest} />
|
|
236
|
-
})
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
|
-
import { clsx } from "deepsea-tools"
|
|
4
3
|
import { CSSProperties, HTMLAttributes, forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react"
|
|
5
|
-
|
|
6
4
|
import { css } from "@emotion/css"
|
|
5
|
+
import { clsx } from "deepsea-tools"
|
|
7
6
|
|
|
8
7
|
export interface LoopSwiperProps extends HTMLAttributes<HTMLDivElement> {
|
|
9
8
|
direction?: "horizontal" | "vertical"
|