@cleartrip/ct-design-base-dragger 2.0.0-TEST.0 → 4.0.0-SNAPSHOT-test.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/README.md +73 -0
- package/dist/BaseDragger.d.ts +0 -1
- package/dist/BaseDragger.d.ts.map +1 -1
- package/dist/BaseDraggerHeader.d.ts.map +1 -1
- package/dist/context/BaseDraggerContext.d.ts.map +1 -1
- package/dist/ct-design-base-dragger.browser.cjs.js +1 -1
- package/dist/ct-design-base-dragger.browser.cjs.js.map +1 -1
- package/dist/ct-design-base-dragger.browser.esm.js +1 -1
- package/dist/ct-design-base-dragger.browser.esm.js.map +1 -1
- package/dist/ct-design-base-dragger.cjs.js +143 -136
- package/dist/ct-design-base-dragger.cjs.js.map +1 -1
- package/dist/ct-design-base-dragger.esm.js +143 -136
- package/dist/ct-design-base-dragger.esm.js.map +1 -1
- package/dist/ct-design-base-dragger.umd.js +143 -166
- package/dist/ct-design-base-dragger.umd.js.map +1 -1
- package/dist/useDrag.d.ts.map +1 -1
- package/package.json +16 -8
- package/src/BaseDragger.tsx +243 -0
- package/src/BaseDraggerHeader.tsx +21 -0
- package/src/context/BaseDraggerContext.tsx +39 -0
- package/src/index.ts +4 -0
- package/src/type.ts +28 -0
- package/src/useDrag.ts +176 -0
package/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# BaseDragger
|
|
2
|
+
|
|
3
|
+
A draggable component that provides drag functionality for interactive elements.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @cleartrip/ct-design-base-dragger
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @cleartrip/ct-design-base-dragger
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Peer dependencies
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Required for all targets
|
|
19
|
+
npm install react
|
|
20
|
+
|
|
21
|
+
# Web only
|
|
22
|
+
npm install react-dom
|
|
23
|
+
|
|
24
|
+
# React Native only
|
|
25
|
+
npm install react-native
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
### Basic
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { BaseDragger } from '@cleartrip/ct-design-base-dragger';
|
|
36
|
+
|
|
37
|
+
function Example() {
|
|
38
|
+
return (
|
|
39
|
+
<BaseDragger>
|
|
40
|
+
{/* Basic usage */}
|
|
41
|
+
</BaseDragger>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Props
|
|
49
|
+
|
|
50
|
+
| Prop | Type | Default | Required | Description |
|
|
51
|
+
|------|------|---------|----------|-------------|
|
|
52
|
+
| `children` | `(props: {` | — | Yes | children property |
|
|
53
|
+
| `ref` | `MutableRefObject<HTMLDivElement | null>` | — | Yes | ref property |
|
|
54
|
+
| `onReactTransitionGroupEnd` | `() => void` | — | No | onReactTransitionGroupEnd property |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Accessibility
|
|
59
|
+
|
|
60
|
+
- The component follows accessibility best practices
|
|
61
|
+
- Ensure proper ARIA attributes are provided where needed
|
|
62
|
+
- Test with screen readers to ensure usability
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Migration
|
|
67
|
+
|
|
68
|
+
If migrating from a previous version:
|
|
69
|
+
|
|
70
|
+
```diff
|
|
71
|
+
- import { BaseDragger } from 'yagami/core/components';
|
|
72
|
+
+ import { BaseDragger } from '@cleartrip/ct-design-base-dragger';
|
|
73
|
+
```
|
package/dist/BaseDragger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDragger.d.ts","sourceRoot":"","sources":["../packages/components/BaseDragger/src/BaseDragger.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseDragger.d.ts","sourceRoot":"","sources":["../packages/components/BaseDragger/src/BaseDragger.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,QAAQ,CAAC;AAEjE,eAAO,MAAM,kBAAkB;;;;;;CAM9B,CAAC;AAEF,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,QAAQ,EACR,kBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,UAAkB,EAClB,WAAkB,EAClB,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,WAAW,EACtB,4BAAoC,GACrC,EAAE,iBAAiB,2CAmNnB;;AAED,wBAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDraggerHeader.d.ts","sourceRoot":"","sources":["../packages/components/BaseDragger/src/BaseDraggerHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAqB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseDraggerHeader.d.ts","sourceRoot":"","sources":["../packages/components/BaseDragger/src/BaseDraggerHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAG7D,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAehE;;AAED,wBAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDraggerContext.d.ts","sourceRoot":"","sources":["../../packages/components/BaseDragger/src/context/BaseDraggerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"BaseDraggerContext.d.ts","sourceRoot":"","sources":["../../packages/components/BaseDragger/src/context/BaseDraggerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA4C,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,EAAE,SAAS,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB,EAAE,yBAAyB;CAAG;AAEjG,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,EAAE,wBAAwB,2CAY1B;AAED,wBAAgB,kBAAkB,8BAEjC;;AAED,wBAAwC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var t=require("react/jsx-runtime"),n=require("react"),e=require("@cleartrip/ct-design-container");const a={initial:[0,0],start:0,xy:[0,0],dragging:!1,initialDxDy:[0,0],lastDxDy:[0,0],eventData:{}},r="Left",i="Right",o="Down";function s(t={}){const[e,s]=n.useState(a),l=n.useCallback(t=>{var n;const e="touches"in t||"changedTouches"in t;e&&(null!==(n=t.touches)&&void 0!==n?n:t.changedTouches).length>1||s(n=>{var r;const{clientX:i,clientY:o}=e?null!==(r=t.touches[0])&&void 0!==r?r:t.changedTouches[0]:t;return Object.assign(Object.assign(Object.assign({},n),a),{initialDxDy:n.initialDxDy,lastDxDy:n.initialDxDy,xy:[i,o],start:t.timeStamp||0,dragging:!0})})},[]),c=n.useCallback(n=>{s(e=>{var a,s;const l="touches"in n||"changedTouches"in n;if(l&&(null!==(a=n.touches)&&void 0!==a?a:n.changedTouches).length>1)return e;n.stopPropagation(),n.preventDefault();const{clientX:c,clientY:g}=l?null!==(s=n.touches[0])&&void 0!==s?s:n.changedTouches[0]:n,u=c-e.xy[0],d=g-e.xy[1],h=Math.abs(u),D=Math.abs(d),m=(n.timeStamp||0)-e.start,x=Math.sqrt(h*h+D*D)/(m||1),y=function(t,n,e,a){return t>n?e>0?i:r:a>0?o:"Up"}(h,D,u,d),b=[e.initialDxDy[0]+u,e.initialDxDy[1]+d],v={absX:h,absY:D,deltaX:u,deltaY:d,clientY:g,dir:y,event:n,initial:e.initial,velocity:x,initialDxDy:e.initialDxDy};return t.onDragging&&t.onDragging(v),Object.assign(Object.assign({},e),{eventData:v,lastDxDy:b})})},[t]),g=n.useCallback(t=>{s(n=>Object.assign(Object.assign({},n),{initialDxDy:t,lastDxDy:t}))},[]),u=n.useCallback(n=>{const a=e.eventData,l=n.changedTouches[0].clientX-e.xy[0],c=n.changedTouches[0].clientY-e.xy[1];let g;g=Math.abs(l)>Math.abs(c)?l>0?i:r:c>0?o:"Up",t.onDragEnd&&t.onDragEnd(Object.assign({absX:Math.abs(l),absY:Math.abs(c),dir:g},a)),s(t=>Object.assign(Object.assign({},t),{initialDxDy:t.lastDxDy}))},[t]);return{state:e,onDragStart:l,onDragEnd:u,onDragging:c,onCustomPositionChange:g}}const l=n.createContext({});var c=n.memo(function({children:e,onDragEnd:a,onDragStart:r,onDragging:i,draggerHeaderRef:o}){const s=n.useMemo(()=>({onDragStart:r,onDragging:i,onDragEnd:a,draggerHeaderRef:o}),[a,i,r]);return t.jsx(l.Provider,{value:s,children:e})});const g=2,u=1500,d=.4,h=10;var D=n.memo(function({isVisible:a,children:r,minDraggableHeight:i=300,minDraggableHeaderHeight:o,maxDraggableHeight:l,isClosable:D=!1,isDraggable:m=!0,onDragging:x,onDragEnd:y,isWrappedWithTransitionGroup:b=!1}){const v=n.useRef(null),[f,p]=n.useState(null),C=n.useRef([]),T=n.useRef(!1),M=n.useCallback(()=>{var t,n,e,a,r;const i=window.innerHeight,{height:s=0}=null!==(n=null===(t=v.current)||void 0===t?void 0:t.getBoundingClientRect())&&void 0!==n?n:{},c=i-s,g=Math.min(null!==(a=null!=l?l:null===(e=v.current)||void 0===e?void 0:e.scrollHeight)&&void 0!==a?a:0,92*i/100),d=null===(r=C.current)||void 0===r?void 0:r.reduce((t,n)=>{var e;return t+(null!==(e=null==n?void 0:n.getBoundingClientRect().height)&&void 0!==e?e:0)},0),h=null!=o?o:C.current&&null!=d?d:0,m=null!=l?l:s,x=m-g,y=m-h,b=[x+u,u,y+u];D&&b.push(c+u),p({maximumDeltaCanBeAddedToBottom:y,maximumDeltaThatCanBeAddedToTop:x,deltaPoints:b,initialHeight:null!=s?s:0})},[a,l,m,D]);n.useLayoutEffect(()=>{m&&!b&&(()=>{if(v.current){const t=v.current.style.transition;requestAnimationFrame(()=>{if(v.current){const n=v.current.style.transition,e=v.current.style.transform;v.current.style.transform="",v.current.style.opacity="0",v.current.style.transition="",requestAnimationFrame(()=>{M(),v.current&&(v.current.style.transform=e,v.current.style.transition=t,requestAnimationFrame(()=>{v.current&&(v.current.style.opacity="1",v.current.style.transition=n)}))})}})}})()},[m,b,M]);const j=n.useCallback(()=>{M()},[]),{onDragStart:H,onDragging:E,onDragEnd:R,onCustomPositionChange:O}=s({onDragging(t){if(t&&f&&!T.current){const{deltaY:n,initialDxDy:e,dir:a}=t;if("Left"===a||"Right"===a)return;const r=n+e[1]>0?Math.min(f.maximumDeltaCanBeAddedToBottom,n+e[1]):-Math.min(Math.abs(f.maximumDeltaThatCanBeAddedToTop),Math.abs(n+e[1]));v.current&&(v.current.style.transform=`translateY(${r}px) translateZ(0px)`),x&&x({viewableHeight:f.initialHeight+-r})}},onDragEnd(t){if(f){const{deltaY:n,initialDxDy:e,dir:a,deltaX:r,velocity:i,absX:o}=t,{deltaPoints:s}=f,l=o<=h;if(e){const t=n+e[1]+u;let o=s[0];if(l&&i>=d){const t=Math.floor(i/d);let r=-1;s.forEach((t,i)=>{const o=n+e[1]+u;(o>=t&&"Down"===a||t>=o&&"Up"===a)&&(r=i)}),o="Up"===a?s[Math.max(0,r-t)]:s[Math.min(s.length-1,r+t)]}else{for(let n=0;n<s.length-1;++n){const e=s[n],r=s[n+1],i=e+(r-e)/g;t>=e&&t<=r&&("Up"===a?(o=r,t<=i&&(o=e)):(o=e,i<=t&&(o=r)))}t>=s[s.length-1]&&(o=s[s.length-1])}O([r,o-u]),v.current&&(v.current.style.transform=`translateY(${o-u}px) translateZ(0px)`),y&&y({viewableHeight:f.initialHeight+-(o-u)}),T.current=!0,setTimeout(()=>{T.current=!1},200)}}}});return t.jsx(e.Container,{styleConfig:{root:[{height:i}]},children:t.jsx(c,Object.assign({},f?{onDragStart:H,onDragEnd:R,onDragging:E}:{},{draggerHeaderRef:C,children:r({ref:v,onReactTransitionGroupEnd:j})}))})});var m=n.memo(function({children:e}){const{draggerHeaderRef:a,onDragEnd:r,onDragStart:i,onDragging:o}=n.useContext(l),s=n.useCallback(t=>{var n;t&&(null===(n=a.current)||void 0===n||n.push(t))},[]);return t.jsx("div",{onTouchStart:i,onTouchMove:o,onTouchEnd:r,ref:s,children:e})});exports.BaseDragger=D,exports.BaseDraggerHeader=m,exports.useDrag=s;
|
|
2
2
|
//# sourceMappingURL=ct-design-base-dragger.browser.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-base-dragger.browser.cjs.js","sources":["../packages/components/BaseDragger/src/useDrag.ts","../packages/components/BaseDragger/src/context/BaseDraggerContext.tsx","../packages/components/BaseDragger/src/BaseDragger.tsx","../packages/components/BaseDragger/src/BaseDraggerHeader.tsx"],"sourcesContent":[null,null,null,null],"names":["DRAGGER_INITIAL_STATE","initial","start","xy","dragging","initialDxDy","lastDxDy","eventData","LEFT","RIGHT","DOWN","useDrag","events","
|
|
1
|
+
{"version":3,"file":"ct-design-base-dragger.browser.cjs.js","sources":["../packages/components/BaseDragger/src/useDrag.ts","../packages/components/BaseDragger/src/context/BaseDraggerContext.tsx","../packages/components/BaseDragger/src/BaseDragger.tsx","../packages/components/BaseDragger/src/BaseDraggerHeader.tsx"],"sourcesContent":[null,null,null,null],"names":["DRAGGER_INITIAL_STATE","initial","start","xy","dragging","initialDxDy","lastDxDy","eventData","LEFT","RIGHT","DOWN","useDrag","events","state","setState","useState","onDragStart","useCallback","event","isTouch","_a","touches","changedTouches","length","previous","clientX","clientY","Object","assign","timeStamp","onDragging","stopPropagation","preventDefault","_b","deltaX","deltaY","absX","Math","abs","absY","time","velocity","sqrt","dir","getDirection","onCustomPositionChange","positions","onDragEnd","distanceX","distanceY","swipeDirection","BaseDraggerProvider","createContext","memo","children","draggerHeaderRef","value","useMemo","_jsx","jsx","Provider","DRAGGABLE_CONTANTS","isVisible","minDraggableHeight","minDraggableHeaderHeight","maxDraggableHeight","isClosable","isDraggable","onDraggingCb","onDragEndCb","isWrappedWithTransitionGroup","ref","useRef","defaultStyles","setDefaultStyles","draggableHeaderRef","debouncedStart","calculateDefaultStyles","windowInnerHeight","window","innerHeight","height","current","getBoundingClientRect","manualTop","maximumPossibleHeight","min","_d","_c","scrollHeight","draggerHeaderHeight","_e","reduce","h","element","minimumHeightPossible","currentHeight","maximumDeltaThatCanBeAddedToTop","maximumDeltaCanBeAddedToBottom","deltaPoints","push","initialHeight","useLayoutEffect","initialTransition","style","transition","requestAnimationFrame","originalTransition","originalTransform","transform","opacity","getStylesInFrames","onReactTransitionGroupEnd","dy","viewableHeight","takeVelocityInConsideration","deltaOrigin","destination","jumpBy","floor","currentDeltaIndex","forEach","x","index","change","max","i","l","r","upperLimit","setTimeout","Container","styleConfig","root","BaseDraggerContext","useContext","refCallback","node","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useState as n,useCallback as e,createContext as a,memo as i,useMemo as r,useContext as o,useRef as s,useLayoutEffect as l}from"react";import{Container as g}from"@cleartrip/ct-design-container";const c={initial:[0,0],start:0,xy:[0,0],dragging:!1,initialDxDy:[0,0],lastDxDy:[0,0],eventData:{}},u="Left",d="Right",h="Down";function D(t={}){const[a,i]=n(c),r=e(t=>{var n;const e="touches"in t||"changedTouches"in t;e&&(null!==(n=t.touches)&&void 0!==n?n:t.changedTouches).length>1||i(n=>{var a;const{clientX:i,clientY:r}=e?null!==(a=t.touches[0])&&void 0!==a?a:t.changedTouches[0]:t;return Object.assign(Object.assign(Object.assign({},n),c),{initialDxDy:n.initialDxDy,lastDxDy:n.initialDxDy,xy:[i,r],start:t.timeStamp||0,dragging:!0})})},[]),o=e(n=>{i(e=>{var a,i;const r="touches"in n||"changedTouches"in n;if(r&&(null!==(a=n.touches)&&void 0!==a?a:n.changedTouches).length>1)return e;n.stopPropagation(),n.preventDefault();const{clientX:o,clientY:s}=r?null!==(i=n.touches[0])&&void 0!==i?i:n.changedTouches[0]:n,l=o-e.xy[0],g=s-e.xy[1],c=Math.abs(l),D=Math.abs(g),m=(n.timeStamp||0)-e.start,y=Math.sqrt(c*c+D*D)/(m||1),v=function(t,n,e,a){return t>n?e>0?d:u:a>0?h:"Up"}(c,D,l,g),x=[e.initialDxDy[0]+l,e.initialDxDy[1]+g],f={absX:c,absY:D,deltaX:l,deltaY:g,clientY:s,dir:v,event:n,initial:e.initial,velocity:y,initialDxDy:e.initialDxDy};return t.onDragging&&t.onDragging(f),Object.assign(Object.assign({},e),{eventData:f,lastDxDy:x})})},[t]),s=e(t=>{i(n=>Object.assign(Object.assign({},n),{initialDxDy:t,lastDxDy:t}))},[]),l=e(n=>{const e=a.eventData,r=n.changedTouches[0].clientX-a.xy[0],o=n.changedTouches[0].clientY-a.xy[1];let s;s=Math.abs(r)>Math.abs(o)?r>0?d:u:o>0?h:"Up",t.onDragEnd&&t.onDragEnd(Object.assign({absX:Math.abs(r),absY:Math.abs(o),dir:s},e)),i(t=>Object.assign(Object.assign({},t),{initialDxDy:t.lastDxDy}))},[t]);return{state:a,onDragStart:r,onDragEnd:l,onDragging:o,onCustomPositionChange:s}}const m=a({});var y=i(function({children:n,onDragEnd:e,onDragStart:a,onDragging:i,draggerHeaderRef:o}){const s=r(()=>({onDragStart:a,onDragging:i,onDragEnd:e,draggerHeaderRef:o}),[e,i,a]);return t(m.Provider,{value:s,children:n})});const v=2,x=1500,f=.4,b=10;var p=i(function({isVisible:a,children:i,minDraggableHeight:r=300,minDraggableHeaderHeight:o,maxDraggableHeight:c,isClosable:u=!1,isDraggable:d=!0,onDragging:h,onDragEnd:m,isWrappedWithTransitionGroup:p=!1}){const T=s(null),[H,M]=n(null),E=s([]),j=s(!1),C=e(()=>{var t,n,e,a,i;const r=window.innerHeight,{height:s=0}=null!==(n=null===(t=T.current)||void 0===t?void 0:t.getBoundingClientRect())&&void 0!==n?n:{},l=r-s,g=Math.min(null!==(a=null!=c?c:null===(e=T.current)||void 0===e?void 0:e.scrollHeight)&&void 0!==a?a:0,92*r/100),d=null===(i=E.current)||void 0===i?void 0:i.reduce((t,n)=>{var e;return t+(null!==(e=null==n?void 0:n.getBoundingClientRect().height)&&void 0!==e?e:0)},0),h=null!=o?o:E.current&&null!=d?d:0,D=null!=c?c:s,m=D-g,y=D-h,v=[m+x,x,y+x];u&&v.push(l+x),M({maximumDeltaCanBeAddedToBottom:y,maximumDeltaThatCanBeAddedToTop:m,deltaPoints:v,initialHeight:null!=s?s:0})},[a,c,d,u]);l(()=>{d&&!p&&(()=>{if(T.current){const t=T.current.style.transition;requestAnimationFrame(()=>{if(T.current){const n=T.current.style.transition,e=T.current.style.transform;T.current.style.transform="",T.current.style.opacity="0",T.current.style.transition="",requestAnimationFrame(()=>{C(),T.current&&(T.current.style.transform=e,T.current.style.transition=t,requestAnimationFrame(()=>{T.current&&(T.current.style.opacity="1",T.current.style.transition=n)}))})}})}})()},[d,p,C]);const O=e(()=>{C()},[]),{onDragStart:Y,onDragging:B,onDragEnd:R,onCustomPositionChange:S}=D({onDragging(t){if(t&&H&&!j.current){const{deltaY:n,initialDxDy:e,dir:a}=t;if("Left"===a||"Right"===a)return;const i=n+e[1]>0?Math.min(H.maximumDeltaCanBeAddedToBottom,n+e[1]):-Math.min(Math.abs(H.maximumDeltaThatCanBeAddedToTop),Math.abs(n+e[1]));T.current&&(T.current.style.transform=`translateY(${i}px) translateZ(0px)`),h&&h({viewableHeight:H.initialHeight+-i})}},onDragEnd(t){if(H){const{deltaY:n,initialDxDy:e,dir:a,deltaX:i,velocity:r,absX:o}=t,{deltaPoints:s}=H,l=o<=b;if(e){const t=n+e[1]+x;let o=s[0];if(l&&r>=f){const t=Math.floor(r/f);let i=-1;s.forEach((t,r)=>{const o=n+e[1]+x;(o>=t&&"Down"===a||t>=o&&"Up"===a)&&(i=r)}),o="Up"===a?s[Math.max(0,i-t)]:s[Math.min(s.length-1,i+t)]}else{for(let n=0;n<s.length-1;++n){const e=s[n],i=s[n+1],r=e+(i-e)/v;t>=e&&t<=i&&("Up"===a?(o=i,t<=r&&(o=e)):(o=e,r<=t&&(o=i)))}t>=s[s.length-1]&&(o=s[s.length-1])}S([i,o-x]),T.current&&(T.current.style.transform=`translateY(${o-x}px) translateZ(0px)`),m&&m({viewableHeight:H.initialHeight+-(o-x)}),j.current=!0,setTimeout(()=>{j.current=!1},200)}}}});return t(g,{styleConfig:{root:[{height:r}]},children:t(y,Object.assign({},H?{onDragStart:Y,onDragEnd:R,onDragging:B}:{},{draggerHeaderRef:E,children:i({ref:T,onReactTransitionGroupEnd:O})}))})});var T=i(function({children:n}){const{draggerHeaderRef:a,onDragEnd:i,onDragStart:r,onDragging:s}=o(m),l=e(t=>{var n;t&&(null===(n=a.current)||void 0===n||n.push(t))},[]);return t("div",{onTouchStart:r,onTouchMove:s,onTouchEnd:i,ref:l,children:n})});export{p as BaseDragger,T as BaseDraggerHeader,D as useDrag};
|
|
2
2
|
//# sourceMappingURL=ct-design-base-dragger.browser.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-base-dragger.browser.esm.js","sources":["../packages/components/BaseDragger/src/useDrag.ts","../packages/components/BaseDragger/src/context/BaseDraggerContext.tsx","../packages/components/BaseDragger/src/BaseDragger.tsx","../packages/components/BaseDragger/src/BaseDraggerHeader.tsx"],"sourcesContent":[null,null,null,null],"names":["DRAGGER_INITIAL_STATE","initial","start","xy","dragging","initialDxDy","lastDxDy","eventData","LEFT","RIGHT","DOWN","useDrag","events","
|
|
1
|
+
{"version":3,"file":"ct-design-base-dragger.browser.esm.js","sources":["../packages/components/BaseDragger/src/useDrag.ts","../packages/components/BaseDragger/src/context/BaseDraggerContext.tsx","../packages/components/BaseDragger/src/BaseDragger.tsx","../packages/components/BaseDragger/src/BaseDraggerHeader.tsx"],"sourcesContent":[null,null,null,null],"names":["DRAGGER_INITIAL_STATE","initial","start","xy","dragging","initialDxDy","lastDxDy","eventData","LEFT","RIGHT","DOWN","useDrag","events","state","setState","useState","onDragStart","useCallback","event","isTouch","_a","touches","changedTouches","length","previous","clientX","clientY","Object","assign","timeStamp","onDragging","stopPropagation","preventDefault","_b","deltaX","deltaY","absX","Math","abs","absY","time","velocity","sqrt","dir","getDirection","onCustomPositionChange","positions","onDragEnd","distanceX","distanceY","swipeDirection","BaseDraggerProvider","createContext","BaseDraggerContext$1","memo","children","draggerHeaderRef","value","useMemo","_jsx","Provider","DRAGGABLE_CONTANTS","BaseDragger$1","isVisible","minDraggableHeight","minDraggableHeaderHeight","maxDraggableHeight","isClosable","isDraggable","onDraggingCb","onDragEndCb","isWrappedWithTransitionGroup","ref","useRef","defaultStyles","setDefaultStyles","draggableHeaderRef","debouncedStart","calculateDefaultStyles","windowInnerHeight","window","innerHeight","height","current","getBoundingClientRect","manualTop","maximumPossibleHeight","min","_d","_c","scrollHeight","draggerHeaderHeight","_e","reduce","h","element","minimumHeightPossible","currentHeight","maximumDeltaThatCanBeAddedToTop","maximumDeltaCanBeAddedToBottom","deltaPoints","push","initialHeight","useLayoutEffect","initialTransition","style","transition","requestAnimationFrame","originalTransition","originalTransform","transform","opacity","getStylesInFrames","onReactTransitionGroupEnd","dy","viewableHeight","takeVelocityInConsideration","deltaOrigin","destination","jumpBy","floor","currentDeltaIndex","forEach","x","index","change","max","i","l","r","upperLimit","setTimeout","Container","styleConfig","root","BaseDraggerContext","BaseDraggerHeader$1","useContext","refCallback","node","onTouchStart","onTouchMove","onTouchEnd"],"mappings":"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"}
|