@ncdai/react-wheel-picker 1.0.4 → 1.0.6
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 +5 -1
- package/dist/index.css +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +36 -21
- package/dist/style.css +0 -75
- /package/{LICENSE.md → LICENSE} +0 -0
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ bun add @ncdai/react-wheel-picker
|
|
|
21
21
|
Add the core CSS to your app's entry point (e.g., `src/app/layout.tsx`, `src/main.tsx`, or `src/index.tsx`):
|
|
22
22
|
|
|
23
23
|
```tsx
|
|
24
|
-
import "@ncdai/react-wheel-picker/
|
|
24
|
+
import "@ncdai/react-wheel-picker/style.css";
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
> This CSS includes only basic layout. Use classNames to customize visuals (see below).
|
|
@@ -72,3 +72,7 @@ export function WheelPickerDemo() {
|
|
|
72
72
|
## Documentation
|
|
73
73
|
|
|
74
74
|
Find the full API reference in the [documentation](https://react-wheel-picker.chanhdai.com/docs/getting-started).
|
|
75
|
+
|
|
76
|
+
## License
|
|
77
|
+
|
|
78
|
+
Licensed under the [MIT license](./LICENSE).
|
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[data-rwp-wrapper]{display:flex;position:relative;width:100%;align-items:stretch;justify-content:space-between;overflow:hidden;perspective:2000px;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-rwp]{position:relative;flex:1;overflow:hidden;cursor:ns-resize;text-align:center;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}[data-rwp-highlight-wrapper]{position:absolute;top:50%;width:100%;font-size:1rem;font-weight:500;overflow:hidden;transform:translateY(-50%)}[data-rwp-highlight-list]{position:absolute;width:100%;list-style:none}[data-rwp-options]{display:block;position:absolute;top:50%;left:0;width:100%;height:0;margin-left:auto;margin-right:auto;-webkit-font-smoothing:subpixel-antialiased;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d;list-style:none}[data-rwp-option]{position:absolute;top:0;left:0;width:100%;-webkit-font-smoothing:subpixel-antialiased;will-change:visibility;font-size:.875rem}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";var vt=Object.create;var
|
|
1
|
+
"use strict";"use client";var vt=Object.create;var C=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var yt=Object.getOwnPropertyNames;var Et=Object.getPrototypeOf,Tt=Object.prototype.hasOwnProperty;var Dt=(s,i)=>{for(var d in i)C(s,d,{get:i[d],enumerable:!0})},et=(s,i,d,h)=>{if(i&&typeof i=="object"||typeof i=="function")for(let l of yt(i))!Tt.call(s,l)&&l!==d&&C(s,l,{get:()=>i[l],enumerable:!(h=wt(i,l))||h.enumerable});return s};var nt=(s,i,d)=>(d=s!=null?vt(Et(s)):{},et(i||!s||!s.__esModule?C(d,"default",{value:s,enumerable:!0}):d,s)),Mt=s=>et(C({},"__esModule",{value:!0}),s);var Ct={};Dt(Ct,{WheelPicker:()=>xt,WheelPickerWrapper:()=>Wt});module.exports=Mt(Ct);var T=nt(require("react")),u=require("react");var E=nt(require("react"));function rt(s){let i=E.default.useRef(s);return E.default.useEffect(()=>{i.current=s}),E.default.useMemo(()=>(...d)=>{var h;return(h=i.current)==null?void 0:h.call(i,...d)},[])}function St({defaultProp:s,onChange:i}){let d=E.default.useState(s),[h]=d,l=E.default.useRef(h),w=rt(i);return E.default.useEffect(()=>{l.current!==h&&(w(h),l.current=h)},[h,l,w]),d}function ot({prop:s,defaultProp:i,onChange:d=()=>{}}){let[h,l]=St({defaultProp:i,onChange:d}),w=s!==void 0,Y=w?s:h,f=rt(d),L=E.default.useCallback(D=>{if(w){let p=typeof D=="function"?D(s):D;p!==s&&f(p)}else l(D)},[w,s,l,f]);return[Y,L]}var kt=150,st=.3,Lt=30,It=s=>Math.pow(s-1,3)+1,Wt=({className:s,children:i})=>T.default.createElement("div",{className:s,"data-rwp-wrapper":!0},i),xt=({defaultValue:s,value:i,onValueChange:d,options:h,infinite:l=!1,visibleCount:w=20,dragSensitivity:Y=3,classNames:f})=>{var Q,V;let[L=(V=(Q=h[0])==null?void 0:Q.value)!=null?V:"",D]=ot({defaultProp:s,prop:i,onChange:d}),a=(0,u.useMemo)(()=>{if(!l)return h;let t=[],e=Math.ceil(w/2);if(h.length===0)return t;for(;t.length<e;)t.push(...h);return t},[w,h,l]),p=28,q=p*.5,M=360/w,I=p/Math.tan(M*Math.PI/180),at=Math.round(I*2+p*.25),A=w>>2,B=Y*10,ct=10,b=(0,u.useRef)(null),W=(0,u.useRef)(null),R=(0,u.useRef)(null),v=(0,u.useRef)(0),X=(0,u.useRef)(0),S=(0,u.useRef)(!1),j=(0,u.useRef)(0),H=(0,u.useRef)({startY:0,yList:[]}),O=(0,u.useRef)(null),it=(0,u.useMemo)(()=>{let t=(n,r,o)=>T.default.createElement("li",{key:r,className:f==null?void 0:f.optionItem,"data-rwp-option":!0,"data-index":r,style:{top:-q,height:p,lineHeight:`${p}px`,transform:`rotateX(${o}deg) translateZ(${I}px)`,visibility:"hidden"}},n.label),e=a.map((n,r)=>t(n,r,-M*r));if(l)for(let n=0;n<A;++n){let r=-n-1,o=n+a.length;e.unshift(t(a[a.length-n-1],r,M*(n+1))),e.push(t(a[n],o,-M*o))}return e},[q,l,M,a,A,I,f==null?void 0:f.optionItem]),lt=(0,u.useMemo)(()=>{let t=(n,r)=>T.default.createElement("li",{key:r,"data-slot":"highlight-item",className:f==null?void 0:f.highlightItem,style:{height:p}},n.label),e=a.map((n,r)=>t(n,r));if(l){let n=a[0],r=a[a.length-1];e.unshift(t(r,"infinite-start")),e.push(t(n,"infinite-end"))}return e},[f==null?void 0:f.highlightItem,l,a]),z=t=>(t%a.length+a.length)%a.length,k=t=>{let e=l?z(t):t;if(W.current){let n=`translateZ(${-I}px) rotateX(${M*e}deg)`;W.current.style.transform=n,W.current.childNodes.forEach(r=>{let o=r,m=Math.abs(Number(o.dataset.index)-e);o.style.visibility=m>A?"hidden":"visible"})}return R.current&&(R.current.style.transform=`translateY(${-e*p}px)`),e},F=()=>{cancelAnimationFrame(X.current)},ut=(t,e,n,r)=>{if(t===e||n===0){k(t);return}let o=performance.now(),m=e-t,c=g=>{let y=(g-o)/1e3;if(y<n){let $=It(y/n);v.current=k(t+$*m),X.current=requestAnimationFrame(c)}else F(),v.current=k(e),r==null||r()};requestAnimationFrame(c)},x=t=>{let e=z(t)|0,n=l?e:Math.min(Math.max(e,0),a.length-1);if(!l&&n!==t)return;v.current=k(n);let r=a[v.current];D(r.value)},ht=t=>{let e=a.findIndex(n=>n.value===t);if(e===-1){console.error("Invalid value selected:",t);return}F(),x(e)},dt=t=>{var e,n;try{let r=(t instanceof MouseEvent?t.clientY:(n=(e=t.touches)==null?void 0:e[0])==null?void 0:n.clientY)||0,o=H.current;o.yList.push([r,Date.now()]),o.yList.length>5&&o.yList.shift();let m=(o.startY-r)/p,c=v.current+m;if(l)c=z(c);else{let g=a.length;c<0?c*=st:c>g&&(c=g+(c-g)*st)}o.touchScroll=k(c)}catch(r){console.error("Error in updateScrollDuringDrag:",r)}},G=t=>{!S.current&&!b.current.contains(t.target)&&t.target!==b.current||(t.cancelable&&t.preventDefault(),a.length&&dt(t))},Z=t=>{var e,n,r;try{S.current=!0;let o=new AbortController,{signal:m}=o;O.current=o;let c={signal:m,passive:!1};(e=b.current)==null||e.addEventListener("touchmove",G,c),document.addEventListener("mousemove",G,c);let g=(t instanceof MouseEvent?t.clientY:(r=(n=t.touches)==null?void 0:n[0])==null?void 0:r.clientY)||0,y=H.current;y.startY=g,y.yList=[[g,Date.now()]],y.touchScroll=v.current,F()}catch(o){console.error("Error in initiateDragGesture:",o)}},P=(0,u.useCallback)(t=>{let e=S.current,n=b.current.contains(t.target)||t.target===b.current;(e||n)&&t.cancelable&&(t.preventDefault(),a.length&&Z(t))},[Z]),ft=t=>{let e=v.current,n=e,r=t>0?-B:B,o=0,m=(c,g,y)=>Math.max(g,Math.min(c,y));if(l){o=Math.abs(t/r);let c=t*o+.5*r*o*o;n=Math.round(e+c)}else if(e<0||e>a.length-1){let c=m(e,0,a.length-1),g=e-c;r=ct,o=Math.sqrt(Math.abs(g/r)),t=r*o,t=e>0?-t:t,n=c}else{o=Math.abs(t/r);let c=t*o+.5*r*o*o;n=Math.round(e+c),n=m(n,0,a.length-1);let g=n-e;o=Math.sqrt(Math.abs(g/r))}ut(e,n,o,()=>{x(v.current)}),x(v.current)},_=()=>{var t,e,n,r;try{(t=O.current)==null||t.abort(),O.current=null;let o=H.current,m=o.yList,c=0;if(m.length>1){let g=m.length,[y,$]=(e=m[g-2])!=null?e:[0,0],[gt,pt]=(n=m[g-1])!=null?n:[0,0],N=pt-$;if(N>0){let tt=(y-gt)/p*1e3/N,mt=Lt,bt=tt>0?1:-1;c=Math.min(Math.abs(tt),mt)*bt}}v.current=(r=o.touchScroll)!=null?r:v.current,ft(c)}catch(o){console.error("Error in finalizeDragAndStartInertiaScroll:",o)}finally{S.current=!1}},U=(0,u.useCallback)(t=>{if(!a.length)return;let e=S.current,n=b.current.contains(t.target)||t.target===b.current;(e||n)&&t.cancelable&&(t.preventDefault(),_())},[_]),K=t=>{t.preventDefault();let e=Date.now();if(e-j.current<kt)return;let n=Math.sign(t.deltaY);n!==0&&(x(v.current+n),j.current=e)},J=(0,u.useCallback)(t=>{if(!a.length||!b.current)return;let e=S.current,n=b.current.contains(t.target)||t.target===b.current;(e||n)&&t.cancelable&&(t.preventDefault(),K(t))},[K]);return(0,u.useEffect)(()=>{let t=b.current;if(!t)return;let e=new AbortController,{signal:n}=e,r={signal:n,passive:!1};return t.addEventListener("touchstart",P,r),t.addEventListener("touchend",U,r),t.addEventListener("wheel",J,r),document.addEventListener("mousedown",P,r),document.addEventListener("mouseup",U,r),()=>e.abort()},[U,P,J]),(0,u.useEffect)(()=>{ht(L)},[L,i]),T.default.createElement("div",{ref:b,"data-rwp":!0,style:{height:at}},T.default.createElement("ul",{ref:W,"data-rwp-options":!0},it),T.default.createElement("div",{className:f==null?void 0:f.highlightWrapper,"data-rwp-highlight-wrapper":!0,style:{height:p,lineHeight:p+"px"}},T.default.createElement("ul",{ref:R,"data-rwp-highlight-list":!0,style:{top:l?-p:void 0}},lt)))};0&&(module.exports={WheelPicker,WheelPickerWrapper});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import
|
|
1
|
+
"use client";import T from"react";import{useCallback as $,useEffect as ot,useMemo as q,useRef as y}from"react";import E from"react";function nt(u){let g=E.useRef(u);return E.useEffect(()=>{g.current=u}),E.useMemo(()=>(...w)=>{var h;return(h=g.current)==null?void 0:h.call(g,...w)},[])}function vt({defaultProp:u,onChange:g}){let w=E.useState(u),[h]=w,c=E.useRef(h),b=nt(g);return E.useEffect(()=>{c.current!==h&&(b(h),c.current=h)},[h,c,b]),w}function rt({prop:u,defaultProp:g,onChange:w=()=>{}}){let[h,c]=vt({defaultProp:g,onChange:w}),b=u!==void 0,C=b?u:h,i=nt(w),L=E.useCallback(D=>{if(b){let d=typeof D=="function"?D(u):D;d!==u&&i(d)}else c(D)},[b,u,c,i]);return[C,L]}var wt=150,st=.3,yt=30,Et=u=>Math.pow(u-1,3)+1,Yt=({className:u,children:g})=>T.createElement("div",{className:u,"data-rwp-wrapper":!0},g),At=({defaultValue:u,value:g,onValueChange:w,options:h,infinite:c=!1,visibleCount:b=20,dragSensitivity:C=3,classNames:i})=>{var V,N;let[L=(N=(V=h[0])==null?void 0:V.value)!=null?N:"",D]=rt({defaultProp:u,prop:g,onChange:w}),s=q(()=>{if(!c)return h;let t=[],e=Math.ceil(b/2);if(h.length===0)return t;for(;t.length<e;)t.push(...h);return t},[b,h,c]),d=28,B=d*.5,M=360/b,I=d/Math.tan(M*Math.PI/180),at=Math.round(I*2+d*.25),Y=b>>2,X=C*10,ct=10,p=y(null),W=y(null),A=y(null),m=y(0),j=y(0),S=y(!1),G=y(0),R=y({startY:0,yList:[]}),H=y(null),it=q(()=>{let t=(n,r,o)=>T.createElement("li",{key:r,className:i==null?void 0:i.optionItem,"data-rwp-option":!0,"data-index":r,style:{top:-B,height:d,lineHeight:`${d}px`,transform:`rotateX(${o}deg) translateZ(${I}px)`,visibility:"hidden"}},n.label),e=s.map((n,r)=>t(n,r,-M*r));if(c)for(let n=0;n<Y;++n){let r=-n-1,o=n+s.length;e.unshift(t(s[s.length-n-1],r,M*(n+1))),e.push(t(s[n],o,-M*o))}return e},[B,c,M,s,Y,I,i==null?void 0:i.optionItem]),lt=q(()=>{let t=(n,r)=>T.createElement("li",{key:r,"data-slot":"highlight-item",className:i==null?void 0:i.highlightItem,style:{height:d}},n.label),e=s.map((n,r)=>t(n,r));if(c){let n=s[0],r=s[s.length-1];e.unshift(t(r,"infinite-start")),e.push(t(n,"infinite-end"))}return e},[i==null?void 0:i.highlightItem,c,s]),O=t=>(t%s.length+s.length)%s.length,k=t=>{let e=c?O(t):t;if(W.current){let n=`translateZ(${-I}px) rotateX(${M*e}deg)`;W.current.style.transform=n,W.current.childNodes.forEach(r=>{let o=r,f=Math.abs(Number(o.dataset.index)-e);o.style.visibility=f>Y?"hidden":"visible"})}return A.current&&(A.current.style.transform=`translateY(${-e*d}px)`),e},z=()=>{cancelAnimationFrame(j.current)},ut=(t,e,n,r)=>{if(t===e||n===0){k(t);return}let o=performance.now(),f=e-t,a=l=>{let v=(l-o)/1e3;if(v<n){let U=Et(v/n);m.current=k(t+U*f),j.current=requestAnimationFrame(a)}else z(),m.current=k(e),r==null||r()};requestAnimationFrame(a)},x=t=>{let e=O(t)|0,n=c?e:Math.min(Math.max(e,0),s.length-1);if(!c&&n!==t)return;m.current=k(n);let r=s[m.current];D(r.value)},ht=t=>{let e=s.findIndex(n=>n.value===t);if(e===-1){console.error("Invalid value selected:",t);return}z(),x(e)},dt=t=>{var e,n;try{let r=(t instanceof MouseEvent?t.clientY:(n=(e=t.touches)==null?void 0:e[0])==null?void 0:n.clientY)||0,o=R.current;o.yList.push([r,Date.now()]),o.yList.length>5&&o.yList.shift();let f=(o.startY-r)/d,a=m.current+f;if(c)a=O(a);else{let l=s.length;a<0?a*=st:a>l&&(a=l+(a-l)*st)}o.touchScroll=k(a)}catch(r){console.error("Error in updateScrollDuringDrag:",r)}},Z=t=>{!S.current&&!p.current.contains(t.target)&&t.target!==p.current||(t.cancelable&&t.preventDefault(),s.length&&dt(t))},_=t=>{var e,n,r;try{S.current=!0;let o=new AbortController,{signal:f}=o;H.current=o;let a={signal:f,passive:!1};(e=p.current)==null||e.addEventListener("touchmove",Z,a),document.addEventListener("mousemove",Z,a);let l=(t instanceof MouseEvent?t.clientY:(r=(n=t.touches)==null?void 0:n[0])==null?void 0:r.clientY)||0,v=R.current;v.startY=l,v.yList=[[l,Date.now()]],v.touchScroll=m.current,z()}catch(o){console.error("Error in initiateDragGesture:",o)}},F=$(t=>{let e=S.current,n=p.current.contains(t.target)||t.target===p.current;(e||n)&&t.cancelable&&(t.preventDefault(),s.length&&_(t))},[_]),ft=t=>{let e=m.current,n=e,r=t>0?-X:X,o=0,f=(a,l,v)=>Math.max(l,Math.min(a,v));if(c){o=Math.abs(t/r);let a=t*o+.5*r*o*o;n=Math.round(e+a)}else if(e<0||e>s.length-1){let a=f(e,0,s.length-1),l=e-a;r=ct,o=Math.sqrt(Math.abs(l/r)),t=r*o,t=e>0?-t:t,n=a}else{o=Math.abs(t/r);let a=t*o+.5*r*o*o;n=Math.round(e+a),n=f(n,0,s.length-1);let l=n-e;o=Math.sqrt(Math.abs(l/r))}ut(e,n,o,()=>{x(m.current)}),x(m.current)},K=()=>{var t,e,n,r;try{(t=H.current)==null||t.abort(),H.current=null;let o=R.current,f=o.yList,a=0;if(f.length>1){let l=f.length,[v,U]=(e=f[l-2])!=null?e:[0,0],[gt,pt]=(n=f[l-1])!=null?n:[0,0],tt=pt-U;if(tt>0){let et=(v-gt)/d*1e3/tt,mt=yt,bt=et>0?1:-1;a=Math.min(Math.abs(et),mt)*bt}}m.current=(r=o.touchScroll)!=null?r:m.current,ft(a)}catch(o){console.error("Error in finalizeDragAndStartInertiaScroll:",o)}finally{S.current=!1}},P=$(t=>{if(!s.length)return;let e=S.current,n=p.current.contains(t.target)||t.target===p.current;(e||n)&&t.cancelable&&(t.preventDefault(),K())},[K]),J=t=>{t.preventDefault();let e=Date.now();if(e-G.current<wt)return;let n=Math.sign(t.deltaY);n!==0&&(x(m.current+n),G.current=e)},Q=$(t=>{if(!s.length||!p.current)return;let e=S.current,n=p.current.contains(t.target)||t.target===p.current;(e||n)&&t.cancelable&&(t.preventDefault(),J(t))},[J]);return ot(()=>{let t=p.current;if(!t)return;let e=new AbortController,{signal:n}=e,r={signal:n,passive:!1};return t.addEventListener("touchstart",F,r),t.addEventListener("touchend",P,r),t.addEventListener("wheel",Q,r),document.addEventListener("mousedown",F,r),document.addEventListener("mouseup",P,r),()=>e.abort()},[P,F,Q]),ot(()=>{ht(L)},[L,g]),T.createElement("div",{ref:p,"data-rwp":!0,style:{height:at}},T.createElement("ul",{ref:W,"data-rwp-options":!0},it),T.createElement("div",{className:i==null?void 0:i.highlightWrapper,"data-rwp-highlight-wrapper":!0,style:{height:d,lineHeight:d+"px"}},T.createElement("ul",{ref:A,"data-rwp-highlight-list":!0,style:{top:c?-d:void 0}},lt)))};export{At as WheelPicker,Yt as WheelPickerWrapper};
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ncdai/react-wheel-picker",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "iOS-like wheel picker for React with smooth inertia scrolling and infinite loop support.",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "commonjs",
|
|
5
9
|
"main": "./dist/index.js",
|
|
6
10
|
"types": "./dist/index.d.ts",
|
|
7
11
|
"files": [
|
|
@@ -19,7 +23,8 @@
|
|
|
19
23
|
},
|
|
20
24
|
"default": "./dist/index.js"
|
|
21
25
|
},
|
|
22
|
-
"./dist/style.css": "./dist/
|
|
26
|
+
"./dist/style.css": "./dist/index.css",
|
|
27
|
+
"./style.css": "./dist/index.css"
|
|
23
28
|
},
|
|
24
29
|
"tsup": {
|
|
25
30
|
"entry": [
|
|
@@ -29,20 +34,11 @@
|
|
|
29
34
|
"esm",
|
|
30
35
|
"cjs"
|
|
31
36
|
],
|
|
32
|
-
"
|
|
37
|
+
"bundle": true,
|
|
33
38
|
"clean": true,
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"dev": "tsup --watch",
|
|
38
|
-
"build": "tsup --minify",
|
|
39
|
-
"type-check": "tsc --noEmit",
|
|
40
|
-
"dev:website": "turbo run dev --filter=website...",
|
|
41
|
-
"prettier:check": "prettier --check .",
|
|
42
|
-
"format": "prettier --write .",
|
|
43
|
-
"registry:internal:build": "pnpm --filter=website registry:internal:build",
|
|
44
|
-
"registry:build": "pnpm --filter=website registry:build",
|
|
45
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
39
|
+
"dts": true,
|
|
40
|
+
"injectStyle": false,
|
|
41
|
+
"outDir": "./dist"
|
|
46
42
|
},
|
|
47
43
|
"keywords": [
|
|
48
44
|
"react",
|
|
@@ -55,22 +51,41 @@
|
|
|
55
51
|
"homepage": "https://react-wheel-picker.chanhdai.com",
|
|
56
52
|
"repository": {
|
|
57
53
|
"type": "git",
|
|
58
|
-
"url": "git+https://github.com/ncdai/react-wheel-picker.git"
|
|
54
|
+
"url": "git+https://github.com/ncdai/react-wheel-picker.git",
|
|
55
|
+
"directory": "packages/react-wheel-picker"
|
|
59
56
|
},
|
|
60
57
|
"bugs": {
|
|
61
58
|
"url": "https://github.com/ncdai/react-wheel-picker/issues"
|
|
62
59
|
},
|
|
63
|
-
"packageManager": "pnpm@10.7.0",
|
|
64
60
|
"devDependencies": {
|
|
61
|
+
"@eslint/js": "9.27.0",
|
|
65
62
|
"@types/node": "^20",
|
|
66
63
|
"@types/react": "^19",
|
|
67
|
-
"
|
|
64
|
+
"autoprefixer": "^10.4.21",
|
|
65
|
+
"eslint": "^9",
|
|
66
|
+
"eslint-config-prettier": "10.1.5",
|
|
67
|
+
"eslint-plugin-react": "7.37.5",
|
|
68
|
+
"eslint-plugin-react-hooks": "5.2.0",
|
|
69
|
+
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
70
|
+
"eslint-plugin-turbo": "^2.5.3",
|
|
71
|
+
"globals": "16.1.0",
|
|
72
|
+
"postcss": "^8.5.3",
|
|
68
73
|
"react": "^19.0.0",
|
|
69
74
|
"tsup": "8.5.0",
|
|
70
|
-
"
|
|
71
|
-
"typescript": "
|
|
75
|
+
"typescript": "^5.8.3",
|
|
76
|
+
"typescript-eslint": "8.32.1"
|
|
72
77
|
},
|
|
73
78
|
"peerDependencies": {
|
|
74
79
|
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc"
|
|
80
|
+
},
|
|
81
|
+
"scripts": {
|
|
82
|
+
"dev": "tsup --watch",
|
|
83
|
+
"build": "tsup --minify",
|
|
84
|
+
"check-types": "tsc --noEmit",
|
|
85
|
+
"lint": "eslint .",
|
|
86
|
+
"lint:fix": "eslint . --fix",
|
|
87
|
+
"format:check": "prettier --check \"**/*.{ts,tsx}\" --cache",
|
|
88
|
+
"format:write": "prettier --write \"**/*.{ts,tsx}\" --cache",
|
|
89
|
+
"publish:release": "pnpm build && pnpm publish --access public"
|
|
75
90
|
}
|
|
76
|
-
}
|
|
91
|
+
}
|
package/dist/style.css
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
[data-rwp-wrapper] {
|
|
2
|
-
display: flex;
|
|
3
|
-
position: relative;
|
|
4
|
-
width: 100%;
|
|
5
|
-
align-items: stretch;
|
|
6
|
-
justify-content: space-between;
|
|
7
|
-
overflow: hidden;
|
|
8
|
-
perspective: 2000px;
|
|
9
|
-
-webkit-user-select: none;
|
|
10
|
-
user-select: none;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
[data-rwp] {
|
|
14
|
-
position: relative;
|
|
15
|
-
flex: 1;
|
|
16
|
-
overflow: hidden;
|
|
17
|
-
cursor: ns-resize;
|
|
18
|
-
text-align: center;
|
|
19
|
-
-webkit-mask-image: linear-gradient(
|
|
20
|
-
to bottom,
|
|
21
|
-
transparent 0%,
|
|
22
|
-
black 20%,
|
|
23
|
-
black 80%,
|
|
24
|
-
transparent 100%
|
|
25
|
-
);
|
|
26
|
-
mask-image: linear-gradient(
|
|
27
|
-
to bottom,
|
|
28
|
-
transparent 0%,
|
|
29
|
-
black 20%,
|
|
30
|
-
black 80%,
|
|
31
|
-
transparent 100%
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
[data-rwp-highlight-wrapper] {
|
|
36
|
-
position: absolute;
|
|
37
|
-
top: 50%;
|
|
38
|
-
width: 100%;
|
|
39
|
-
font-size: 1rem;
|
|
40
|
-
font-weight: 500;
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
transform: translateY(-50%);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
[data-rwp-highlight-list] {
|
|
46
|
-
position: absolute;
|
|
47
|
-
width: 100%;
|
|
48
|
-
list-style: none;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
[data-rwp-options] {
|
|
52
|
-
display: block;
|
|
53
|
-
position: absolute;
|
|
54
|
-
top: 50%;
|
|
55
|
-
left: 0;
|
|
56
|
-
width: 100%;
|
|
57
|
-
height: 0;
|
|
58
|
-
margin-left: auto;
|
|
59
|
-
margin-right: auto;
|
|
60
|
-
-webkit-font-smoothing: subpixel-antialiased;
|
|
61
|
-
will-change: transform;
|
|
62
|
-
backface-visibility: hidden;
|
|
63
|
-
transform-style: preserve-3d;
|
|
64
|
-
list-style: none;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
[data-rwp-option] {
|
|
68
|
-
position: absolute;
|
|
69
|
-
top: 0;
|
|
70
|
-
left: 0;
|
|
71
|
-
width: 100%;
|
|
72
|
-
-webkit-font-smoothing: subpixel-antialiased;
|
|
73
|
-
will-change: visibility;
|
|
74
|
-
font-size: 0.875rem;
|
|
75
|
-
}
|
/package/{LICENSE.md → LICENSE}
RENAMED
|
File without changes
|