@xiping/react-components 0.0.66 → 0.0.68

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/README.md CHANGED
@@ -1,3 +1,11 @@
1
- #
1
+ # @xiping/react-components
2
2
 
3
- based tailwindcss v3
3
+ based tailwindcss v3
4
+
5
+ ```shell
6
+ npm i @xiping/react-components
7
+ // or
8
+ yarn add @xiping/react-components
9
+ // or
10
+ pnpm add @xiping/react-components
11
+ ```
@@ -9,6 +9,10 @@ interface TxtReaderProps {
9
9
  onProgressChange?: (progress: number) => void;
10
10
  initialScrollPosition?: number;
11
11
  cacheKey?: string;
12
+ showTopProgress?: boolean;
13
+ topProgressClassName?: string;
14
+ showBottomProgress?: boolean;
15
+ bottomProgressClassName?: string;
12
16
  }
13
17
  export declare const TxtReader: FC<TxtReaderProps>;
14
18
  export default TxtReader;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),s=require("react"),_=require("lodash-es"),w=require("clsx"),H=16,I=1.5,S="normal",d=({content:f,lineHeight:p=I,fontSize:x=H,fontWeight:T=S,className:b="",style:m={},onProgressChange:o,initialScrollPosition:u,cacheKey:t})=>{const r=s.useRef(null),[E,v]=s.useState(0),c=s.useCallback(()=>{if(!r.current)return;const e=r.current,l=e.scrollTop,g=e.scrollHeight,R=e.clientHeight,a=Math.min(Math.round(l/(g-R)*100),100);v(a),o==null||o(a),t&&localStorage.setItem(`txtReader-${t}`,l.toString())},[t,o]),n=s.useCallback(_.debounce(c,100),[c]);return s.useEffect(()=>{if(!r.current)return;let e=u;if(t){const l=localStorage.getItem(`txtReader-${t}`);l&&(e=parseInt(l,10))}e&&(r.current.scrollTop=e,c())},[t,u,c]),s.useEffect(()=>{const e=r.current;if(e)return e.addEventListener("scroll",n),()=>{e.removeEventListener("scroll",n)}},[n]),i.jsxs("div",{className:"relative w-full h-full",children:[i.jsx("div",{ref:r,className:w("w-full overflow-auto whitespace-pre-wrap break-words",b),style:{fontSize:`${x}px`,lineHeight:p,fontWeight:T,...m},children:f}),i.jsxs("div",{className:"fixed text-white rounded text-sm bg-black bg-opacity-70 pl-2 pr-2 pb-1 pt-1 right-5 bottom-5",children:[E,"%"]})]})};exports.TxtReader=d;exports.default=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),n=require("react"),r=require("clsx"),t=require("motion/react"),j=require("./index.module.css.js"),w=16,E=1.5,F="normal",a=({content:u,lineHeight:d=E,fontSize:f=w,fontWeight:x=F,className:m="",style:p={},onProgressChange:l,initialScrollPosition:R,cacheKey:g,showTopProgress:T=!0,topProgressClassName:b,showBottomProgress:_=!0,bottomProgressClassName:h})=>{const s=n.useRef(null),i=n.useRef(null),{scrollYProgress:o}=t.useScroll({container:s,target:i}),c=t.useTransform(()=>(o.get()*100).toFixed(2).replace(/\.0*$/,"")),v=t.useMotionTemplate`${c}%`;return c.on("change",N=>{l==null||l(Number(N))}),e.jsxs(e.Fragment,{children:[T&&e.jsx(t.motion.div,{id:"scroll-indicator",className:r("fixed left-0 top-0 right-0 bg-[#ff0088] h-2.5",b),style:{scaleX:o,originX:0}}),e.jsx("div",{className:r("relative w-full h-full overflow-y-auto",j.default.textContent),ref:s,children:e.jsx("div",{ref:i,className:r("w-full whitespace-pre-wrap break-words",m),style:{fontSize:`${f}px`,lineHeight:d,fontWeight:x,...p},children:u})}),_&&e.jsx(t.motion.div,{id:"scroll-present",className:r("fixed text-white rounded text-sm bg-black bg-opacity-70 pl-2 pr-2 pb-1 pt-1 right-5 bottom-5",h),children:v})]})};exports.TxtReader=a;exports.default=a;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_textContent_8n59h_23",e={textContent:t};exports.default=e;exports.textContent=t;