@cleartrip/ct-design-swipe-button 1.2.0-SNAPSHOT-snapshot-june18.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.
@@ -0,0 +1,5 @@
1
+ import { type FC } from 'react';
2
+ import type { SwipeButtonProps } from './type';
3
+ declare const SwipeButton: FC<SwipeButtonProps>;
4
+ export default SwipeButton;
5
+ //# sourceMappingURL=SwipeButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwipeButton.d.ts","sourceRoot":"","sources":["../packages/components/SwipeButton/src/SwipeButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAqD,MAAM,OAAO,CAAC;AAU1F,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAe/D,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA+XrC,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { CSSProperties } from 'react';
2
+ type Props = {
3
+ color: string;
4
+ size?: number;
5
+ style?: CSSProperties;
6
+ };
7
+ declare const SwipeCheck: ({ color, size, style }: Props) => import("react").JSX.Element;
8
+ export default SwipeCheck;
9
+ //# sourceMappingURL=SwipeCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwipeCheck.d.ts","sourceRoot":"","sources":["../packages/components/SwipeButton/src/SwipeCheck.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC;AAErE,QAAA,MAAM,UAAU,2BAAiC,KAAK,gCAYrD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const NUDGE_DELAY_MS = 600;
2
+ export declare const NUDGE_LEG_DURATION_MS = 1600;
3
+ export declare const NUDGE_CYCLES = 2;
4
+ export declare const NUDGE_PEAK_PERCENT = 0.1;
5
+ export declare const LABEL_FADE_AMOUNT = 0.85;
6
+ export declare const RELEASE_MS = 280;
7
+ export declare const TRACK_HORIZONTAL_PADDING = 16;
8
+ export declare const THUMB_INSET = 4;
9
+ export declare const THUMB_WIDTH = 45;
10
+ export declare const THUMB_VERTICAL_INSET = 8;
11
+ export declare const COMPLETION_THRESHOLD_RATIO = 0.4;
12
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../packages/components/SwipeButton/src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,eAAO,MAAM,UAAU,MAAM,CAAC;AAG9B,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAG3C,eAAO,MAAM,WAAW,IAAI,CAAC;AAG7B,eAAO,MAAM,WAAW,KAAK,CAAC;AAG9B,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAGtC,eAAO,MAAM,0BAA0B,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("tslib"),n=require("react/jsx-runtime"),r=require("react"),t=require("classnames"),a=require("@cleartrip/ct-design-base-dragger"),i=require("@cleartrip/ct-design-container"),l=require("@cleartrip/ct-design-dotted-loader"),o=require("@cleartrip/ct-design-typography"),s=require("@cleartrip/ct-design-icons"),c=require("@cleartrip/ct-design-theme");function u(e){return e&&e.__esModule?e:{default:e}}var d=u(t),f=function(r){var t=r.color,a=r.size,i=void 0===a?22:a,l=r.style;return n.jsx("svg",e.__assign({width:i,height:i,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:l,"aria-hidden":!0},{children:n.jsx("path",{d:"M20 6L9 17l-5-5",stroke:t,strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})}))};function g(e){var n=e.replace("#","");return{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16)}}function m(e,n){var r=g(e),t=r.r,a=r.g,i=r.b;return"rgba(".concat(t,", ").concat(a,", ").concat(i,", ").concat(n,")")}function h(e,n,r){var t=g(e),a=g(n),i=function(e,n){return Math.round(e+(n-e)*r)};return"#".concat([i(t.r,a.r),i(t.g,a.g),i(t.b,a.b)].map(function(e){return e.toString(16).padStart(2,"0")}).join(""))}var v=function(t){var u,g=t.label,v=t.onSwipeComplete,p=t.onSwipeRevertBack,x=t.onDrag,y=t.loading,_=void 0!==y&&y,b=t.showNudge,R=void 0===b||b,w=t.nudgeDelayMs,C=void 0===w?600:w,M=t.nudgeLegDurationMs,S=void 0===M?1600:M,j=t.nudgeCycles,k=void 0===j?2:j,q=t.styleConfig,N=void 0===q?{}:q,A=t.width,D=void 0===A?328:A,T=t.height,X=void 0===T?40:T,F=t.isFullWidth,L=void 0===F||F,E=c.useTheme(),P=r.useRef(null),B=r.useRef(null),W=r.useRef(null),z=r.useRef(null),I=r.useRef(null),G=r.useState(0),H=G[0],J=G[1],K=r.useState(!1),O=K[0],Q=K[1],U=r.useState(!1),V=U[0],Y=U[1],Z=r.useRef(0),$=r.useRef(!1),ee=r.useRef(!1),ne=r.useRef({animRaf:null,isAnimating:!1,fromX:0,toX:0,startTime:0,dragRaf:null,pendingX:null}),re=null!=N?N:{},te=re.rootStyles,ae=re.labelStyles,ie=re.chevronRowStyles,le=E.color.background.brand,oe=r.useMemo(function(){return m(le,.5)},[le]),se=E.color.background.red500,ce=(null===(u=P.current)||void 0===u?void 0:u.offsetWidth)||D,ue=.4*ce,de=Math.max(0,ce-45-8),fe=r.useCallback(function(e){return Math.max(0,Math.min(de,e))},[de]),ge=r.useCallback(function(e){return e>=ue},[ue]),me=r.useCallback(function(e){ne.current.pendingX=fe(e),null===ne.current.dragRaf&&(ne.current.dragRaf=requestAnimationFrame(function(){ne.current.dragRaf=null;var e=ne.current.pendingX;ne.current.pendingX=null,null!=e&&(J(e),null==x||x())}))},[fe,x]),he=r.useCallback(function(e){var n,r=de<=0?0:Math.min(1,Math.max(0,e/de));if(null===(n=P.current)||void 0===n||n.style.setProperty("--slide-progress",String(r)),P.current){var t=h(le,se,r);P.current.style.backgroundColor=t}if(W.current&&(W.current.style.opacity=String(1-.85*r)),z.current){var a=1-r,i=180*r;z.current.style.opacity=String(a),z.current.style.setProperty("--chevron-rotate","".concat(i,"deg"))}if(I.current){var l=Math.min(1,Math.max(0,(e-ue)/(de-ue)));I.current.style.opacity=String(l)}},[de,ue,le,se]),ve=r.useCallback(function(e,n,r,t){void 0===t&&(t=280);var a=ne.current;null!==a.animRaf&&cancelAnimationFrame(a.animRaf),a.fromX=e,a.toX=n,a.startTime=performance.now(),a.isAnimating=!0;var i=function(l){var o,s,c=Math.min(1,(l-a.startTime)/t),u=function(e){return 1-Math.pow(1-e,3)}(c),d=e+(n-e)*u;null===(o=P.current)||void 0===o||o.style.setProperty("--thumb-x","".concat(d,"px")),he(d),c<1?a.animRaf=requestAnimationFrame(i):(a.animRaf=null,a.isAnimating=!1,null===(s=P.current)||void 0===s||s.style.setProperty("--thumb-x","".concat(n,"px")),he(n),null==r||r())};a.animRaf=requestAnimationFrame(i)},[he]);r.useEffect(function(){if(!_&&R&&!$.current){var e=window.setTimeout(function(){if(!$.current){var e=P.current;if(e){var n=e.offsetWidth||D,r=Math.max(0,n-45-8);if(!(r<=0)){$.current=!0;var t=Math.round(.1*r),a=Math.max(1,Math.floor(Math.min(10,k))),i=function(e){if(e>=a)return J(0),void(ee.current=!0);ve(0,t,function(){ve(t,0,function(){i(e+1)},S)},S)};i(0)}}}},C);return function(){return clearTimeout(e)}}},[_,R,D,X,C,S,k,ve]);var pe=a.useDrag({onDragStart:function(){if(!_){Z.current=fe(H),Y(!0);var e=ne.current;null!==e.animRaf&&(cancelAnimationFrame(e.animRaf),e.animRaf=null,e.isAnimating=!1)}},onDragging:function(e){var n;if(!_){var r=fe(Z.current+e.deltaX);null===(n=P.current)||void 0===n||n.style.setProperty("--thumb-x","".concat(r,"px")),he(r),me(r)}},onDragEnd:function(e){if(!_){Y(!1);var n=fe(Z.current+e.deltaX);ge(n)?(Q(!0),ve(n,de,function(){J(de),null==v||v()})):(Q(!1),ve(n,0,function(){J(0),null==p||p()})),null==x||x()}}}),xe=pe.onDragStart,ye=pe.onDragging,_e=pe.onDragEnd;r.useEffect(function(){if(!V&&!O&&!ne.current.isAnimating){if(ee.current)return void(ee.current=!1);null==p||p()}},[V,O,p]),r.useEffect(function(){return function(){var e=ne.current;null!==e.animRaf&&cancelAnimationFrame(e.animRaf)}},[]);var be={height:"".concat(X,"px"),width:L?"100%":D},Re={height:"".concat(X-8,"px"),width:"".concat(45,"px"),left:"".concat(4,"px"),transform:"translate3d(var(--thumb-x), 0, 0)"},we=de<=0?0:Math.min(1,Math.max(0,H/de)),Ce=r.useMemo(function(){return h(le,se,we)},[we,le,se]);return _?n.jsx(i.Container,e.__assign({className:d.default("flex flex-middle flex-center br-8 p-relative",null==te?void 0:te.className),css:null==te?void 0:te.css,style:e.__assign(e.__assign({},be),{backgroundColor:se})},{children:n.jsx(i.Container,e.__assign({className:"flex flex-middle flex-center z-1 w-100p text-center c-neutral-100"},{children:n.jsx(l.DottedLoader,{dotColors:{primary:E.color.background.neutral,secondary:m(E.color.background.neutral,.5)}})}))})):n.jsxs(i.Container,e.__assign({className:d.default("flex flex-middle flex-center br-8 p-relative",null==te?void 0:te.className),ref:P,css:null==te?void 0:te.css,style:e.__assign(e.__assign({},be),{overflow:"visible",backgroundColor:Ce})},{children:[n.jsx(i.Container,e.__assign({ref:W,className:d.default("flex flex-middle flex-center w-100p text-center c-pointer-none c-neutral-100",null==ae?void 0:ae.className),css:null==ae?void 0:ae.css,style:{height:"inherit"}},{children:n.jsx(o.Typography,e.__assign({variant:"L2",color:"neutral"},{children:g}))})),n.jsxs(i.Container,e.__assign({ref:B,className:"flex flex-middle flex-center pt-1 br-6 c-pointer p-absolute bg-neutral-100",onTouchStart:xe,onTouchMove:ye,onTouchEnd:_e,onTouchCancel:_e,style:e.__assign(e.__assign({},Re),{touchAction:"none",userSelect:"none",willChange:"transform"})},{children:[n.jsxs(i.Container,e.__assign({ref:z,className:d.default("flex flex-row flex-middle flex-center w-100p h-100p p-relative",null==ie?void 0:ie.className),css:null==ie?void 0:ie.css},{children:[n.jsx(i.Container,e.__assign({style:{transform:"translate(calc(var(--slide-progress) * 6px), 0) rotate(var(--chevron-rotate))"}},{children:n.jsx(s.SliderRightChevron,{fill:le,height:"24px",width:"24px"})})),n.jsx(i.Container,e.__assign({style:{marginLeft:-14,transform:"translate(calc(var(--slide-progress) * -6px), 0) rotate(var(--chevron-rotate))"}},{children:n.jsx(s.SliderRightChevron,{fill:oe,height:"24px",width:"24px"})}))]})),n.jsx(i.Container,e.__assign({ref:I,className:"p-absolute flex flex-middle flex-center c-pointer-none c-neutral-100 o-0"},{children:n.jsx(f,{color:le,size:22})}))]}))]}))};v.displayName="SwipeButton",exports.SwipeButton=v;
2
+ //# sourceMappingURL=ct-design-swipe-button.browser.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-swipe-button.browser.cjs.js","sources":["../packages/components/SwipeButton/src/SwipeCheck.tsx","../packages/components/SwipeButton/src/utils.ts","../packages/components/SwipeButton/src/SwipeButton.tsx","../packages/components/SwipeButton/src/constants.ts"],"sourcesContent":[null,null,null,null],"names":["SwipeCheck","_a","color","_b","size","style","_jsx","width","height","viewBox","fill","xmlns","children","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","hexToRgb","hex","h","replace","r","parseInt","slice","g","b","hexWithAlpha","alpha","concat","lerpHex","from","to","t","a","l","x","y","Math","round","map","n","toString","padStart","join","SwipeButton","label","onSwipeComplete","onSwipeRevertBack","onDrag","_c","loading","_d","showNudge","_e","nudgeDelayMs","_f","nudgeLegDurationMs","_g","nudgeCycles","_h","styleConfig","_j","_k","_l","isFullWidth","theme","useTheme","constraintsRef","useRef","thumbRef","labelRef","chevronRef","tickRef","_m","useState","thumbX","setThumbX","_o","isTick","setIsTick","_p","isDragging","setIsDragging","dragOriginXRef","hintPlayedRef","skipNextRevertRef","animationRef","animRaf","isAnimating","fromX","toX","startTime","dragRaf","pendingX","_q","rootStyles","labelStyles","chevronRowStyles","accentColor","background","brand","accentColorMuted","useMemo","finalBg","red500","containerWidth","current","offsetWidth","triggerThreshold","endPosition","max","THUMB_INSET","clampX","useCallback","min","checkCompletion","scheduleDragX","nextX","requestAnimationFrame","updateVisuals","slideProgress","setProperty","String","trackFill_1","backgroundColor","opacity","chevronOpacity","chevronRotate","tickMorph","animateThumbX","onComplete","durationMs","anim","cancelAnimationFrame","performance","now","step","eased","pow","easeOutCubic","currentX","useEffect","timer","window","setTimeout","el","trackW","end","peak","cycles","floor","runHint","cycleIndex","clearTimeout","_r","useBaseDrag","onDragStart","onDragging","event","deltaX","onDragEnd","containerStyle","itemStyle","left","transform","trackFill","Container","__assign","className","classNames","css","jsx","DottedLoader","dotColors","primary","neutral","secondary","_jsxs","default","ref","overflow","Typography","variant","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","touchAction","userSelect","willChange","jsxs","SliderRightChevron","marginLeft","displayName"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__assign as r}from"tslib";import{jsx as n,jsxs as t}from"react/jsx-runtime";import{useRef as e,useState as a,useMemo as i,useCallback as o,useEffect as l}from"react";import c from"classnames";import{useDrag as u}from"@cleartrip/ct-design-base-dragger";import{Container as s}from"@cleartrip/ct-design-container";import{DottedLoader as d}from"@cleartrip/ct-design-dotted-loader";import{Typography as f}from"@cleartrip/ct-design-typography";import{SliderRightChevron as m}from"@cleartrip/ct-design-icons";import{useTheme as p}from"@cleartrip/ct-design-theme";var g=function(t){var e=t.color,a=t.size,i=void 0===a?22:a,o=t.style;return n("svg",r({width:i,height:i,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:o,"aria-hidden":!0},{children:n("path",{d:"M20 6L9 17l-5-5",stroke:e,strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})}))};function h(r){var n=r.replace("#","");return{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16)}}function v(r,n){var t=h(r),e=t.r,a=t.g,i=t.b;return"rgba(".concat(e,", ").concat(a,", ").concat(i,", ").concat(n,")")}function x(r,n,t){var e=h(r),a=h(n),i=function(r,n){return Math.round(r+(n-r)*t)};return"#".concat([i(e.r,a.r),i(e.g,a.g),i(e.b,a.b)].map(function(r){return r.toString(16).padStart(2,"0")}).join(""))}var y=function(h){var y,b=h.label,w=h.onSwipeComplete,M=h.onSwipeRevertBack,R=h.onDrag,S=h.loading,N=void 0!==S&&S,k=h.showNudge,A=void 0===k||k,X=h.nudgeDelayMs,C=void 0===X?600:X,D=h.nudgeLegDurationMs,T=void 0===D?1600:D,F=h.nudgeCycles,L=void 0===F?2:F,P=h.styleConfig,W=void 0===P?{}:P,j=h.width,q=void 0===j?328:j,z=h.height,B=void 0===z?40:z,E=h.isFullWidth,I=void 0===E||E,G=p(),H=e(null),J=e(null),K=e(null),O=e(null),Q=e(null),U=a(0),V=U[0],Y=U[1],Z=a(!1),$=Z[0],_=Z[1],rr=a(!1),nr=rr[0],tr=rr[1],er=e(0),ar=e(!1),ir=e(!1),or=e({animRaf:null,isAnimating:!1,fromX:0,toX:0,startTime:0,dragRaf:null,pendingX:null}),lr=null!=W?W:{},cr=lr.rootStyles,ur=lr.labelStyles,sr=lr.chevronRowStyles,dr=G.color.background.brand,fr=i(function(){return v(dr,.5)},[dr]),mr=G.color.background.red500,pr=(null===(y=H.current)||void 0===y?void 0:y.offsetWidth)||q,gr=.4*pr,hr=Math.max(0,pr-45-8),vr=o(function(r){return Math.max(0,Math.min(hr,r))},[hr]),xr=o(function(r){return r>=gr},[gr]),yr=o(function(r){or.current.pendingX=vr(r),null===or.current.dragRaf&&(or.current.dragRaf=requestAnimationFrame(function(){or.current.dragRaf=null;var r=or.current.pendingX;or.current.pendingX=null,null!=r&&(Y(r),null==R||R())}))},[vr,R]),br=o(function(r){var n,t=hr<=0?0:Math.min(1,Math.max(0,r/hr));if(null===(n=H.current)||void 0===n||n.style.setProperty("--slide-progress",String(t)),H.current){var e=x(dr,mr,t);H.current.style.backgroundColor=e}if(K.current&&(K.current.style.opacity=String(1-.85*t)),O.current){var a=1-t,i=180*t;O.current.style.opacity=String(a),O.current.style.setProperty("--chevron-rotate","".concat(i,"deg"))}if(Q.current){var o=Math.min(1,Math.max(0,(r-gr)/(hr-gr)));Q.current.style.opacity=String(o)}},[hr,gr,dr,mr]),wr=o(function(r,n,t,e){void 0===e&&(e=280);var a=or.current;null!==a.animRaf&&cancelAnimationFrame(a.animRaf),a.fromX=r,a.toX=n,a.startTime=performance.now(),a.isAnimating=!0;var i=function(o){var l,c,u=Math.min(1,(o-a.startTime)/e),s=function(r){return 1-Math.pow(1-r,3)}(u),d=r+(n-r)*s;null===(l=H.current)||void 0===l||l.style.setProperty("--thumb-x","".concat(d,"px")),br(d),u<1?a.animRaf=requestAnimationFrame(i):(a.animRaf=null,a.isAnimating=!1,null===(c=H.current)||void 0===c||c.style.setProperty("--thumb-x","".concat(n,"px")),br(n),null==t||t())};a.animRaf=requestAnimationFrame(i)},[br]);l(function(){if(!N&&A&&!ar.current){var r=window.setTimeout(function(){if(!ar.current){var r=H.current;if(r){var n=r.offsetWidth||q,t=Math.max(0,n-45-8);if(!(t<=0)){ar.current=!0;var e=Math.round(.1*t),a=Math.max(1,Math.floor(Math.min(10,L))),i=function(r){if(r>=a)return Y(0),void(ir.current=!0);wr(0,e,function(){wr(e,0,function(){i(r+1)},T)},T)};i(0)}}}},C);return function(){return clearTimeout(r)}}},[N,A,q,B,C,T,L,wr]);var Mr=u({onDragStart:function(){if(!N){er.current=vr(V),tr(!0);var r=or.current;null!==r.animRaf&&(cancelAnimationFrame(r.animRaf),r.animRaf=null,r.isAnimating=!1)}},onDragging:function(r){var n;if(!N){var t=vr(er.current+r.deltaX);null===(n=H.current)||void 0===n||n.style.setProperty("--thumb-x","".concat(t,"px")),br(t),yr(t)}},onDragEnd:function(r){if(!N){tr(!1);var n=vr(er.current+r.deltaX);xr(n)?(_(!0),wr(n,hr,function(){Y(hr),null==w||w()})):(_(!1),wr(n,0,function(){Y(0),null==M||M()})),null==R||R()}}}),Rr=Mr.onDragStart,Sr=Mr.onDragging,Nr=Mr.onDragEnd;l(function(){if(!nr&&!$&&!or.current.isAnimating){if(ir.current)return void(ir.current=!1);null==M||M()}},[nr,$,M]),l(function(){return function(){var r=or.current;null!==r.animRaf&&cancelAnimationFrame(r.animRaf)}},[]);var kr={height:"".concat(B,"px"),width:I?"100%":q},Ar={height:"".concat(B-8,"px"),width:"".concat(45,"px"),left:"".concat(4,"px"),transform:"translate3d(var(--thumb-x), 0, 0)"},Xr=hr<=0?0:Math.min(1,Math.max(0,V/hr)),Cr=i(function(){return x(dr,mr,Xr)},[Xr,dr,mr]);return N?n(s,r({className:c("flex flex-middle flex-center br-8 p-relative",null==cr?void 0:cr.className),css:null==cr?void 0:cr.css,style:r(r({},kr),{backgroundColor:mr})},{children:n(s,r({className:"flex flex-middle flex-center z-1 w-100p text-center c-neutral-100"},{children:n(d,{dotColors:{primary:G.color.background.neutral,secondary:v(G.color.background.neutral,.5)}})}))})):t(s,r({className:c("flex flex-middle flex-center br-8 p-relative",null==cr?void 0:cr.className),ref:H,css:null==cr?void 0:cr.css,style:r(r({},kr),{overflow:"visible",backgroundColor:Cr})},{children:[n(s,r({ref:K,className:c("flex flex-middle flex-center w-100p text-center c-pointer-none c-neutral-100",null==ur?void 0:ur.className),css:null==ur?void 0:ur.css,style:{height:"inherit"}},{children:n(f,r({variant:"L2",color:"neutral"},{children:b}))})),t(s,r({ref:J,className:"flex flex-middle flex-center pt-1 br-6 c-pointer p-absolute bg-neutral-100",onTouchStart:Rr,onTouchMove:Sr,onTouchEnd:Nr,onTouchCancel:Nr,style:r(r({},Ar),{touchAction:"none",userSelect:"none",willChange:"transform"})},{children:[t(s,r({ref:O,className:c("flex flex-row flex-middle flex-center w-100p h-100p p-relative",null==sr?void 0:sr.className),css:null==sr?void 0:sr.css},{children:[n(s,r({style:{transform:"translate(calc(var(--slide-progress) * 6px), 0) rotate(var(--chevron-rotate))"}},{children:n(m,{fill:dr,height:"24px",width:"24px"})})),n(s,r({style:{marginLeft:-14,transform:"translate(calc(var(--slide-progress) * -6px), 0) rotate(var(--chevron-rotate))"}},{children:n(m,{fill:fr,height:"24px",width:"24px"})}))]})),n(s,r({ref:Q,className:"p-absolute flex flex-middle flex-center c-pointer-none c-neutral-100 o-0"},{children:n(g,{color:dr,size:22})}))]}))]}))};y.displayName="SwipeButton";export{y as SwipeButton};
2
+ //# sourceMappingURL=ct-design-swipe-button.browser.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-swipe-button.browser.esm.js","sources":["../packages/components/SwipeButton/src/SwipeCheck.tsx","../packages/components/SwipeButton/src/utils.ts","../packages/components/SwipeButton/src/SwipeButton.tsx","../packages/components/SwipeButton/src/constants.ts"],"sourcesContent":[null,null,null,null],"names":["SwipeCheck","_a","color","_b","size","style","_jsx","width","height","viewBox","fill","xmlns","children","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","hexToRgb","hex","h","replace","r","parseInt","slice","g","b","hexWithAlpha","alpha","concat","lerpHex","from","to","t","a","l","x","y","Math","round","map","n","toString","padStart","join","SwipeButton","label","onSwipeComplete","onSwipeRevertBack","onDrag","_c","loading","_d","showNudge","_e","nudgeDelayMs","_f","nudgeLegDurationMs","_g","nudgeCycles","_h","styleConfig","_j","_k","_l","isFullWidth","theme","useTheme","constraintsRef","useRef","thumbRef","labelRef","chevronRef","tickRef","_m","useState","thumbX","setThumbX","_o","isTick","setIsTick","_p","isDragging","setIsDragging","dragOriginXRef","hintPlayedRef","skipNextRevertRef","animationRef","animRaf","isAnimating","fromX","toX","startTime","dragRaf","pendingX","_q","rootStyles","labelStyles","chevronRowStyles","accentColor","background","brand","accentColorMuted","useMemo","finalBg","red500","containerWidth","current","offsetWidth","triggerThreshold","endPosition","max","THUMB_INSET","clampX","useCallback","min","checkCompletion","scheduleDragX","nextX","requestAnimationFrame","updateVisuals","slideProgress","setProperty","String","trackFill_1","backgroundColor","opacity","chevronOpacity","chevronRotate","tickMorph","animateThumbX","onComplete","durationMs","anim","cancelAnimationFrame","performance","now","step","eased","pow","easeOutCubic","currentX","useEffect","timer","window","setTimeout","el","trackW","end","peak","cycles","floor","runHint","cycleIndex","clearTimeout","_r","useBaseDrag","onDragStart","onDragging","event","deltaX","onDragEnd","containerStyle","itemStyle","left","transform","trackFill","Container","__assign","className","classNames","css","DottedLoader","dotColors","primary","neutral","secondary","_jsxs","ref","overflow","Typography","variant","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","touchAction","userSelect","willChange","SliderRightChevron","marginLeft","displayName"],"mappings":"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"}
@@ -0,0 +1,279 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var classNames = require('classnames');
7
+ var ctDesignBaseDragger = require('@cleartrip/ct-design-base-dragger');
8
+ var ctDesignContainer = require('@cleartrip/ct-design-container');
9
+ var ctDesignDottedLoader = require('@cleartrip/ct-design-dotted-loader');
10
+ var ctDesignTypography = require('@cleartrip/ct-design-typography');
11
+ var ctDesignIcons = require('@cleartrip/ct-design-icons');
12
+ var ctDesignTheme = require('@cleartrip/ct-design-theme');
13
+
14
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ var classNames__default = /*#__PURE__*/_interopDefault(classNames);
17
+
18
+ var SwipeCheck = function (_a) {
19
+ var color = _a.color, _b = _a.size, size = _b === void 0 ? 22 : _b, style = _a.style;
20
+ return (jsxRuntime.jsx("svg", tslib.__assign({ width: size, height: size, viewBox: '0 0 24 24', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', style: style, "aria-hidden": true }, { children: jsxRuntime.jsx("path", { d: 'M20 6L9 17l-5-5', stroke: color, strokeWidth: '2.2', strokeLinecap: 'round', strokeLinejoin: 'round' }) })));
21
+ };
22
+
23
+ var NUDGE_DELAY_MS = 600;
24
+ var NUDGE_LEG_DURATION_MS = 1600;
25
+ var NUDGE_CYCLES = 2;
26
+ var NUDGE_PEAK_PERCENT = 0.1;
27
+ var LABEL_FADE_AMOUNT = 0.85;
28
+ var RELEASE_MS = 280;
29
+ var THUMB_INSET = 4;
30
+ var THUMB_WIDTH = 45;
31
+ var THUMB_VERTICAL_INSET = 8;
32
+ var COMPLETION_THRESHOLD_RATIO = 0.4;
33
+
34
+ function hexToRgb(hex) {
35
+ var h = hex.replace('#', '');
36
+ return {
37
+ r: parseInt(h.slice(0, 2), 16),
38
+ g: parseInt(h.slice(2, 4), 16),
39
+ b: parseInt(h.slice(4, 6), 16),
40
+ };
41
+ }
42
+ function hexWithAlpha(hex, alpha) {
43
+ var _a = hexToRgb(hex), r = _a.r, g = _a.g, b = _a.b;
44
+ return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(alpha, ")");
45
+ }
46
+ function lerpHex(from, to, t) {
47
+ var a = hexToRgb(from);
48
+ var b = hexToRgb(to);
49
+ var l = function (x, y) { return Math.round(x + (y - x) * t); };
50
+ return "#".concat([l(a.r, b.r), l(a.g, b.g), l(a.b, b.b)].map(function (n) { return n.toString(16).padStart(2, '0'); }).join(''));
51
+ }
52
+ function easeOutCubic(t) {
53
+ return 1 - Math.pow((1 - t), 3);
54
+ }
55
+
56
+ var SwipeButton = function (_a) {
57
+ var _b;
58
+ var label = _a.label, onSwipeComplete = _a.onSwipeComplete, onSwipeRevertBack = _a.onSwipeRevertBack, onDrag = _a.onDrag, _c = _a.loading, loading = _c === void 0 ? false : _c, _d = _a.showNudge, showNudge = _d === void 0 ? true : _d, _e = _a.nudgeDelayMs, nudgeDelayMs = _e === void 0 ? NUDGE_DELAY_MS : _e, _f = _a.nudgeLegDurationMs, nudgeLegDurationMs = _f === void 0 ? NUDGE_LEG_DURATION_MS : _f, _g = _a.nudgeCycles, nudgeCycles = _g === void 0 ? NUDGE_CYCLES : _g, _h = _a.styleConfig, styleConfig = _h === void 0 ? {} : _h, _j = _a.width, width = _j === void 0 ? 328 : _j, _k = _a.height, height = _k === void 0 ? 40 : _k, _l = _a.isFullWidth, isFullWidth = _l === void 0 ? true : _l;
59
+ var theme = ctDesignTheme.useTheme();
60
+ var constraintsRef = react.useRef(null);
61
+ var thumbRef = react.useRef(null);
62
+ var labelRef = react.useRef(null);
63
+ var chevronRef = react.useRef(null);
64
+ var tickRef = react.useRef(null);
65
+ var _m = react.useState(0), thumbX = _m[0], setThumbX = _m[1];
66
+ var _o = react.useState(false), isTick = _o[0], setIsTick = _o[1];
67
+ var _p = react.useState(false), isDragging = _p[0], setIsDragging = _p[1];
68
+ var dragOriginXRef = react.useRef(0);
69
+ var hintPlayedRef = react.useRef(false);
70
+ var skipNextRevertRef = react.useRef(false);
71
+ var animationRef = react.useRef({
72
+ animRaf: null,
73
+ isAnimating: false,
74
+ fromX: 0,
75
+ toX: 0,
76
+ startTime: 0,
77
+ dragRaf: null,
78
+ pendingX: null,
79
+ });
80
+ var _q = styleConfig !== null && styleConfig !== void 0 ? styleConfig : {}, rootStyles = _q.rootStyles, labelStyles = _q.labelStyles, chevronRowStyles = _q.chevronRowStyles;
81
+ var accentColor = theme.color.background.brand;
82
+ var accentColorMuted = react.useMemo(function () { return hexWithAlpha(accentColor, 0.5); }, [accentColor]);
83
+ var finalBg = theme.color.background.red500;
84
+ var containerWidth = ((_b = constraintsRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth) || width;
85
+ var triggerThreshold = containerWidth * COMPLETION_THRESHOLD_RATIO;
86
+ var endPosition = Math.max(0, containerWidth - THUMB_WIDTH - THUMB_INSET * 2);
87
+ var clampX = react.useCallback(function (x) { return Math.max(0, Math.min(endPosition, x)); }, [endPosition]);
88
+ var checkCompletion = react.useCallback(function (x) { return x >= triggerThreshold; }, [triggerThreshold]);
89
+ var scheduleDragX = react.useCallback(function (nextX) {
90
+ animationRef.current.pendingX = clampX(nextX);
91
+ if (animationRef.current.dragRaf !== null)
92
+ return;
93
+ animationRef.current.dragRaf = requestAnimationFrame(function () {
94
+ animationRef.current.dragRaf = null;
95
+ var x = animationRef.current.pendingX;
96
+ animationRef.current.pendingX = null;
97
+ if (x == null)
98
+ return;
99
+ setThumbX(x);
100
+ onDrag === null || onDrag === void 0 ? void 0 : onDrag();
101
+ });
102
+ }, [clampX, onDrag]);
103
+ var updateVisuals = react.useCallback(function (thumbX) {
104
+ var _a;
105
+ var slideProgress = endPosition <= 0 ? 0 : Math.min(1, Math.max(0, thumbX / endPosition));
106
+ (_a = constraintsRef.current) === null || _a === void 0 ? void 0 : _a.style.setProperty('--slide-progress', String(slideProgress));
107
+ if (constraintsRef.current) {
108
+ var trackFill_1 = lerpHex(accentColor, finalBg, slideProgress);
109
+ constraintsRef.current.style.backgroundColor = trackFill_1;
110
+ }
111
+ if (labelRef.current) {
112
+ labelRef.current.style.opacity = String(1 - slideProgress * LABEL_FADE_AMOUNT);
113
+ }
114
+ if (chevronRef.current) {
115
+ var chevronOpacity = 1 - slideProgress;
116
+ var chevronRotate = slideProgress * 180;
117
+ chevronRef.current.style.opacity = String(chevronOpacity);
118
+ chevronRef.current.style.setProperty('--chevron-rotate', "".concat(chevronRotate, "deg"));
119
+ }
120
+ if (tickRef.current) {
121
+ var tickMorph = Math.min(1, Math.max(0, (thumbX - triggerThreshold) / (endPosition - triggerThreshold)));
122
+ tickRef.current.style.opacity = String(tickMorph);
123
+ }
124
+ }, [endPosition, triggerThreshold, accentColor, finalBg]);
125
+ var animateThumbX = react.useCallback(function (fromX, toX, onComplete, durationMs) {
126
+ if (durationMs === void 0) { durationMs = RELEASE_MS; }
127
+ var anim = animationRef.current;
128
+ if (anim.animRaf !== null) {
129
+ cancelAnimationFrame(anim.animRaf);
130
+ }
131
+ anim.fromX = fromX;
132
+ anim.toX = toX;
133
+ anim.startTime = performance.now();
134
+ anim.isAnimating = true;
135
+ var step = function (now) {
136
+ var _a, _b;
137
+ var t = Math.min(1, (now - anim.startTime) / durationMs);
138
+ var eased = easeOutCubic(t);
139
+ var currentX = fromX + (toX - fromX) * eased;
140
+ (_a = constraintsRef.current) === null || _a === void 0 ? void 0 : _a.style.setProperty('--thumb-x', "".concat(currentX, "px"));
141
+ updateVisuals(currentX);
142
+ if (t < 1) {
143
+ anim.animRaf = requestAnimationFrame(step);
144
+ }
145
+ else {
146
+ anim.animRaf = null;
147
+ anim.isAnimating = false;
148
+ (_b = constraintsRef.current) === null || _b === void 0 ? void 0 : _b.style.setProperty('--thumb-x', "".concat(toX, "px"));
149
+ updateVisuals(toX);
150
+ onComplete === null || onComplete === void 0 ? void 0 : onComplete();
151
+ }
152
+ };
153
+ anim.animRaf = requestAnimationFrame(step);
154
+ }, [updateVisuals]);
155
+ react.useEffect(function () {
156
+ if (loading || !showNudge || hintPlayedRef.current)
157
+ return;
158
+ var timer = window.setTimeout(function () {
159
+ if (hintPlayedRef.current)
160
+ return;
161
+ var el = constraintsRef.current;
162
+ if (!el)
163
+ return;
164
+ var trackW = el.offsetWidth || width;
165
+ var end = Math.max(0, trackW - THUMB_WIDTH - THUMB_INSET * 2);
166
+ if (end <= 0)
167
+ return;
168
+ hintPlayedRef.current = true;
169
+ var peak = Math.round(end * NUDGE_PEAK_PERCENT);
170
+ var cycles = Math.max(1, Math.floor(Math.min(10, nudgeCycles)));
171
+ var runHint = function (cycleIndex) {
172
+ if (cycleIndex >= cycles) {
173
+ setThumbX(0);
174
+ skipNextRevertRef.current = true;
175
+ return;
176
+ }
177
+ animateThumbX(0, peak, function () {
178
+ animateThumbX(peak, 0, function () {
179
+ runHint(cycleIndex + 1);
180
+ }, nudgeLegDurationMs);
181
+ }, nudgeLegDurationMs);
182
+ };
183
+ runHint(0);
184
+ }, nudgeDelayMs);
185
+ return function () { return clearTimeout(timer); };
186
+ }, [loading, showNudge, width, height, nudgeDelayMs, nudgeLegDurationMs, nudgeCycles, animateThumbX]);
187
+ var _r = ctDesignBaseDragger.useDrag({
188
+ onDragStart: function () {
189
+ if (loading)
190
+ return;
191
+ dragOriginXRef.current = clampX(thumbX);
192
+ setIsDragging(true);
193
+ var anim = animationRef.current;
194
+ if (anim.animRaf !== null) {
195
+ cancelAnimationFrame(anim.animRaf);
196
+ anim.animRaf = null;
197
+ anim.isAnimating = false;
198
+ }
199
+ },
200
+ onDragging: function (event) {
201
+ var _a;
202
+ if (loading)
203
+ return;
204
+ var nextX = clampX(dragOriginXRef.current + event.deltaX);
205
+ (_a = constraintsRef.current) === null || _a === void 0 ? void 0 : _a.style.setProperty('--thumb-x', "".concat(nextX, "px"));
206
+ updateVisuals(nextX);
207
+ scheduleDragX(nextX);
208
+ },
209
+ onDragEnd: function (event) {
210
+ if (loading)
211
+ return;
212
+ setIsDragging(false);
213
+ var nextX = clampX(dragOriginXRef.current + event.deltaX);
214
+ var isComplete = checkCompletion(nextX);
215
+ if (isComplete) {
216
+ setIsTick(true);
217
+ animateThumbX(nextX, endPosition, function () {
218
+ setThumbX(endPosition);
219
+ onSwipeComplete === null || onSwipeComplete === void 0 ? void 0 : onSwipeComplete();
220
+ });
221
+ }
222
+ else {
223
+ setIsTick(false);
224
+ animateThumbX(nextX, 0, function () {
225
+ setThumbX(0);
226
+ onSwipeRevertBack === null || onSwipeRevertBack === void 0 ? void 0 : onSwipeRevertBack();
227
+ });
228
+ }
229
+ onDrag === null || onDrag === void 0 ? void 0 : onDrag();
230
+ },
231
+ }), onDragStart = _r.onDragStart, onDragging = _r.onDragging, onDragEnd = _r.onDragEnd;
232
+ react.useEffect(function () {
233
+ if (!isDragging && !isTick && !animationRef.current.isAnimating) {
234
+ if (skipNextRevertRef.current) {
235
+ skipNextRevertRef.current = false;
236
+ return;
237
+ }
238
+ onSwipeRevertBack === null || onSwipeRevertBack === void 0 ? void 0 : onSwipeRevertBack();
239
+ }
240
+ }, [isDragging, isTick, onSwipeRevertBack]);
241
+ react.useEffect(function () {
242
+ return function () {
243
+ var anim = animationRef.current;
244
+ if (anim.animRaf !== null) {
245
+ cancelAnimationFrame(anim.animRaf);
246
+ }
247
+ };
248
+ }, []);
249
+ var containerStyle = {
250
+ height: "".concat(height, "px"),
251
+ width: isFullWidth ? '100%' : width,
252
+ };
253
+ var itemStyle = {
254
+ height: "".concat(height - THUMB_VERTICAL_INSET, "px"),
255
+ width: "".concat(THUMB_WIDTH, "px"),
256
+ left: "".concat(THUMB_INSET, "px"),
257
+ transform: 'translate3d(var(--thumb-x), 0, 0)',
258
+ };
259
+ var slideProgress = endPosition <= 0 ? 0 : Math.min(1, Math.max(0, thumbX / endPosition));
260
+ var trackFill = react.useMemo(function () { return lerpHex(accentColor, finalBg, slideProgress); }, [slideProgress, accentColor, finalBg]);
261
+ if (loading) {
262
+ return (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: classNames__default.default('flex flex-middle flex-center br-8 p-relative', rootStyles === null || rootStyles === void 0 ? void 0 : rootStyles.className), css: rootStyles === null || rootStyles === void 0 ? void 0 : rootStyles.css, style: tslib.__assign(tslib.__assign({}, containerStyle), { backgroundColor: finalBg }) }, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ className: 'flex flex-middle flex-center z-1 w-100p text-center c-neutral-100' }, { children: jsxRuntime.jsx(ctDesignDottedLoader.DottedLoader, { dotColors: {
263
+ primary: theme.color.background.neutral,
264
+ secondary: hexWithAlpha(theme.color.background.neutral, 0.5),
265
+ } }) })) })));
266
+ }
267
+ return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ className: classNames__default.default('flex flex-middle flex-center br-8 p-relative', rootStyles === null || rootStyles === void 0 ? void 0 : rootStyles.className), ref: constraintsRef, css: rootStyles === null || rootStyles === void 0 ? void 0 : rootStyles.css, style: tslib.__assign(tslib.__assign({}, containerStyle), { overflow: 'visible', backgroundColor: trackFill }) }, { children: [jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ ref: labelRef, className: classNames__default.default('flex flex-middle flex-center w-100p text-center c-pointer-none c-neutral-100', labelStyles === null || labelStyles === void 0 ? void 0 : labelStyles.className), css: labelStyles === null || labelStyles === void 0 ? void 0 : labelStyles.css, style: {
268
+ height: 'inherit',
269
+ } }, { children: jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'L2', color: 'neutral' }, { children: label })) })), jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ ref: thumbRef, className: 'flex flex-middle flex-center pt-1 br-6 c-pointer p-absolute bg-neutral-100', onTouchStart: onDragStart, onTouchMove: onDragging, onTouchEnd: onDragEnd, onTouchCancel: onDragEnd, style: tslib.__assign(tslib.__assign({}, itemStyle), { touchAction: 'none', userSelect: 'none', willChange: 'transform' }) }, { children: [jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ ref: chevronRef, className: classNames__default.default('flex flex-row flex-middle flex-center w-100p h-100p p-relative', chevronRowStyles === null || chevronRowStyles === void 0 ? void 0 : chevronRowStyles.className), css: chevronRowStyles === null || chevronRowStyles === void 0 ? void 0 : chevronRowStyles.css }, { children: [jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ style: {
270
+ transform: 'translate(calc(var(--slide-progress) * 6px), 0) rotate(var(--chevron-rotate))',
271
+ } }, { children: jsxRuntime.jsx(ctDesignIcons.SliderRightChevron, { fill: accentColor, height: '24px', width: '24px' }) })), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ style: {
272
+ marginLeft: -14,
273
+ transform: 'translate(calc(var(--slide-progress) * -6px), 0) rotate(var(--chevron-rotate))',
274
+ } }, { children: jsxRuntime.jsx(ctDesignIcons.SliderRightChevron, { fill: accentColorMuted, height: '24px', width: '24px' }) }))] })), jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ ref: tickRef, className: 'p-absolute flex flex-middle flex-center c-pointer-none c-neutral-100 o-0' }, { children: jsxRuntime.jsx(SwipeCheck, { color: accentColor, size: 22 }) }))] }))] })));
275
+ };
276
+ SwipeButton.displayName = 'SwipeButton';
277
+
278
+ exports.SwipeButton = SwipeButton;
279
+ //# sourceMappingURL=ct-design-swipe-button.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-swipe-button.cjs.js","sources":["../packages/components/SwipeButton/src/SwipeCheck.tsx","../packages/components/SwipeButton/src/constants.ts","../packages/components/SwipeButton/src/utils.ts","../packages/components/SwipeButton/src/SwipeButton.tsx"],"sourcesContent":[null,null,null,null],"names":["_jsx","useTheme","useRef","useState","useMemo","useCallback","useEffect","useBaseDrag","Container","__assign","classNames","DottedLoader","_jsxs","Typography","SliderRightChevron"],"mappings":"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"}