@webority/mobile-ui 0.11.1 → 0.12.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/lib/commonjs/components/Avatar/Avatar.js +1 -1
- package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
- package/lib/commonjs/components/Card/Card.js +1 -1
- package/lib/commonjs/components/Chip/Chip.js +1 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
- package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -1
- package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
- package/lib/commonjs/components/FileViewer/FileViewer.js +1 -1
- package/lib/commonjs/components/FileViewer/FileViewerPage.js +1 -0
- package/lib/commonjs/components/FileViewer/useFileViewerZoom.js +1 -0
- package/lib/commonjs/components/FilterChipRow/FilterChipRow.js +1 -0
- package/lib/commonjs/components/FilterChipRow/index.js +1 -0
- package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -1
- package/lib/commonjs/components/Input/Input.js +1 -1
- package/lib/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -1
- package/lib/commonjs/components/Menu/MenuSurface.js +1 -1
- package/lib/commonjs/components/Modal/Modal.js +1 -1
- package/lib/commonjs/components/ModalSafeArea/ModalSafeArea.js +1 -0
- package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -1
- package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -1
- package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
- package/lib/commonjs/components/SignaturePad/SignaturePad.js +1 -1
- package/lib/commonjs/components/Slider/Slider.js +1 -1
- package/lib/commonjs/components/SquircleView/SquircleView.js +1 -0
- package/lib/commonjs/components/SquircleView/index.js +1 -0
- package/lib/commonjs/components/TimePicker/TimePicker.js +1 -1
- package/lib/commonjs/components/Tooltip/Tooltip.js +1 -1
- package/lib/commonjs/components/index.js +1 -1
- package/lib/commonjs/form/useForm.js +1 -1
- package/lib/commonjs/hooks/useDragToDismiss.js +1 -1
- package/lib/commonjs/theme/tokens.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +1 -1
- package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
- package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
- package/lib/module/components/Card/Card.js +1 -1
- package/lib/module/components/Chip/Chip.js +1 -1
- package/lib/module/components/DatePicker/DatePicker.js +1 -1
- package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -1
- package/lib/module/components/EmptyState/EmptyState.js +1 -1
- package/lib/module/components/FileViewer/FileViewer.js +1 -1
- package/lib/module/components/FileViewer/FileViewerPage.js +1 -0
- package/lib/module/components/FileViewer/useFileViewerZoom.js +1 -0
- package/lib/module/components/FilterChipRow/FilterChipRow.js +1 -0
- package/lib/module/components/FilterChipRow/index.js +1 -0
- package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
- package/lib/module/components/Input/Input.js +1 -1
- package/lib/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -1
- package/lib/module/components/Menu/MenuSurface.js +1 -1
- package/lib/module/components/Modal/Modal.js +1 -1
- package/lib/module/components/ModalSafeArea/ModalSafeArea.js +1 -0
- package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
- package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
- package/lib/module/components/ProgressBar/ProgressBar.js +1 -1
- package/lib/module/components/SearchBar/SearchBar.js +1 -1
- package/lib/module/components/SignaturePad/SignaturePad.js +1 -1
- package/lib/module/components/Slider/Slider.js +1 -1
- package/lib/module/components/SquircleView/SquircleView.js +1 -0
- package/lib/module/components/SquircleView/index.js +1 -0
- package/lib/module/components/TimePicker/TimePicker.js +1 -1
- package/lib/module/components/Tooltip/Tooltip.js +1 -1
- package/lib/module/components/index.js +1 -1
- package/lib/module/form/useForm.js +1 -1
- package/lib/module/hooks/useDragToDismiss.js +1 -1
- package/lib/module/theme/tokens.js +1 -1
- package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +25 -1
- package/lib/typescript/commonjs/components/Chip/Chip.d.ts +15 -2
- package/lib/typescript/commonjs/components/FileViewer/FileViewer.d.ts +21 -10
- package/lib/typescript/commonjs/components/FileViewer/FileViewerPage.d.ts +12 -0
- package/lib/typescript/commonjs/components/FileViewer/useFileViewerZoom.d.ts +41 -0
- package/lib/typescript/commonjs/components/FilterChipRow/FilterChipRow.d.ts +55 -0
- package/lib/typescript/commonjs/components/FilterChipRow/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.d.ts +8 -0
- package/lib/typescript/commonjs/components/ModalSafeArea/ModalSafeArea.d.ts +26 -0
- package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.d.ts +8 -2
- package/lib/typescript/commonjs/components/SquircleView/SquircleView.d.ts +22 -0
- package/lib/typescript/commonjs/components/SquircleView/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/index.d.ts +4 -0
- package/lib/typescript/commonjs/theme/types.d.ts +4 -0
- package/lib/typescript/module/components/Avatar/Avatar.d.ts +25 -1
- package/lib/typescript/module/components/Chip/Chip.d.ts +15 -2
- package/lib/typescript/module/components/FileViewer/FileViewer.d.ts +21 -10
- package/lib/typescript/module/components/FileViewer/FileViewerPage.d.ts +12 -0
- package/lib/typescript/module/components/FileViewer/useFileViewerZoom.d.ts +41 -0
- package/lib/typescript/module/components/FilterChipRow/FilterChipRow.d.ts +55 -0
- package/lib/typescript/module/components/FilterChipRow/index.d.ts +3 -0
- package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.d.ts +8 -0
- package/lib/typescript/module/components/ModalSafeArea/ModalSafeArea.d.ts +26 -0
- package/lib/typescript/module/components/SignaturePad/SignaturePad.d.ts +8 -2
- package/lib/typescript/module/components/SquircleView/SquircleView.d.ts +22 -0
- package/lib/typescript/module/components/SquircleView/index.d.ts +3 -0
- package/lib/typescript/module/components/index.d.ts +4 -0
- package/lib/typescript/module/theme/types.d.ts +4 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SignaturePad=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeSvg=_interopRequireWildcard(require("react-native-svg")),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_corners=require("../../utils/corners.js"),_index2=require("../Button/index.js"),_index3=require("../Input/index.js"),_index4=require("../Text/index.js"),_signatureGeometry=require("./signatureGeometry.js"),_writePng=require("./writePng"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var n=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,i,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(a=t?r:n){if(a.has(e))return a.get(e);a.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?a(o,t,i):o[t]=e[t]);return o})(e,t)}const DEFAULT_LABELS={pad:"Signature pad",padHint:"Draw with one finger. To sign without drawing, use the type your name action.",caption:"Sign above the line. To start with an up or down stroke, rest your finger a moment first.",typedCaption:"Your typed name is used as your signature.",undo:"Undo",clear:"Clear",typeInstead:"Type your name instead",drawInstead:"Draw instead",typedLabel:"Type your name",typedPlaceholder:"Your full name",empty:"Not signed",signed:"Signed",typingAnnouncement:"Signing by typing your name. Your typed name is used as your signature. Choose Draw instead to sign with your finger.",drawingAnnouncement:"Signing by drawing. Use one finger on the pad.",clearedAnnouncement:"Signature cleared",undoneAnnouncement:"Last stroke removed",emptyError:"Add a signature first."},STROKE_WIDTH=2.5,SIDEWAYS_TO_DRAW=6,UPRIGHT_TO_SCROLL=8,REST_TO_DRAW_MS=200,MIN_POINT_GAP=.8,DEFAULT_HEIGHT=180,DEFAULT_NAME_LENGTH=100,MAX_EXPORT_SCALE=3,MIN_TARGET=44,BASELINE_OPACITY=.3,DISABLED_OPACITY=.5,TARGET_STYLE={minHeight:44},defaultScriptFont=()=>_reactNative.Platform.select({ios:"Snell Roundhand",default:"cursive"}),cssFontStack=e=>"cursive"===e?"cursive":`'${e}', cursive`,useScreenReader=()=>{const[e,t]=(0,_react.useState)(!1);return(0,_react.useEffect)(()=>{let e=!0;_reactNative.AccessibilityInfo.isScreenReaderEnabled().then(n=>{e&&t(n)});const n=_reactNative.AccessibilityInfo.addEventListener("screenReaderChanged",t);return()=>{e=!1,n.remove()}},[]),e},StrokePath=(0,_react.memo)(({points:e,color:t})=>(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:(0,_signatureGeometry.strokePath)(e),stroke:t,strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}));StrokePath.displayName="SignaturePadStroke";const SignaturePad=exports.SignaturePad=(0,_react.forwardRef)((e,t)=>{const{initialStrokes:n,onChange:r,initialTypedName:a="",onTypedNameChange:i,defaultMode:o="draw",onModeChange:s,onEmptyChange:c,allowTyped:u=!0,signedBy:d,signedAt:l,height:_=DEFAULT_HEIGHT,maxNameLength:p=DEFAULT_NAME_LENGTH,inkColor:g,paperColor:m,scriptFontFamily:y,labels:h,haptic:x="selection",disabled:f=!1,style:v,testID:S}=e,w=(0,_index.useTheme)(),T=g??_index.lightTheme.colors.text.primary,b=m??_index.lightTheme.colors.background.elevated,R=y??defaultScriptFont(),E=(0,_react.useMemo)(()=>({...DEFAULT_LABELS,...h}),[h]),j=useScreenReader(),A=(0,_react.useRef)(null),[C,N]=(0,_react.useState)(0),[I,L]=(0,_react.useState)(()=>(n??[]).map((e,t)=>({id:t+1,points:[...e]}))),P=(0,_react.useRef)(I),k=(0,_react.useRef)(I.length),D=(0,_react.useRef)(null),G=(0,_react.useRef)(null),[M,O]=(0,_react.useState)(u?o:"draw"),[F,H]=(0,_react.useState)(a),[q,W]=(0,_react.useState)(null),B=(0,_react.useRef)(!1),Y=(0,_react.useRef)({onChange:r,onTypedNameChange:i,onModeChange:s,onEmptyChange:c});(0,_react.useEffect)(()=>{Y.current={onChange:r,onTypedNameChange:i,onModeChange:s,onEmptyChange:c}});const U="draw"===M&&!f,$="draw"===M?0===I.length:0===F.trim().length,z=(0,_react.useRef)(null);(0,_react.useEffect)(()=>{z.current!==$&&(z.current=$,Y.current.onEmptyChange?.($))},[$]);const V=(0,_react.useCallback)(e=>{P.current=e,L(e)},[]),K=(0,_react.useCallback)(()=>{W(Date.now()),Y.current.onChange?.(P.current.map(e=>e.points))},[]),X=(0,_react.useMemo)(()=>{const pan=e=>_reactNativeGestureHandler.Gesture.Pan().enabled(U).runOnJS(!0).onBegin(e=>{D.current=(0,_signatureGeometry.pointOf)(e.x,e.y)}).onStart(t=>{G.current=e,k.current+=1;const n=(0,_signatureGeometry.pointOf)(t.x,t.y);V([...P.current,{id:k.current,points:[D.current??n,n]}])}).onUpdate(t=>{if(G.current!==e)return;const n=P.current[P.current.length-1],r=(0,_signatureGeometry.pointOf)(t.x,t.y);(0,_signatureGeometry.distanceBetween)(n.points[n.points.length-1],r)<.8||V([...P.current.slice(0,-1),{...n,points:[...n.points,r]}])}).onFinalize(()=>{G.current===e&&(G.current=null,K())}),e=pan("sideways").activeOffsetX([-6,6]).failOffsetY([-8,8]),t=pan("rested").activateAfterLongPress(200);return _reactNativeGestureHandler.Gesture.Race(e,t)},[U,V,K]),J=(0,_react.useCallback)(e=>{O(e),Y.current.onModeChange?.(e),(0,_announce.announce)("type"===e?E.typingAnnouncement:E.drawingAnnouncement)},[E.typingAnnouncement,E.drawingAnnouncement]);(0,_react.useEffect)(()=>{j&&u&&!B.current&&"draw"===M&&0===P.current.length&&J("type")},[j,u,M,J]);const Q=(0,_react.useCallback)(()=>{B.current=!0,J("draw"===M?"type":"draw")},[M,J]),Z=(0,_react.useCallback)(e=>{H(e),W(Date.now()),Y.current.onTypedNameChange?.(e)},[]),ee=(0,_react.useCallback)(()=>{"type"===M?Z(""):(V([]),K()),(0,_announce.announce)(E.clearedAnnouncement)},[M,Z,V,K,E.clearedAnnouncement]),te=(0,_react.useCallback)(()=>{"draw"===M&&0!==P.current.length&&(V(P.current.slice(0,-1)),K(),(0,_announce.announce)(E.undoneAnnouncement))},[M,V,K,E.undoneAnnouncement]),ne=C||_signatureGeometry.FALLBACK_WIDTH;(0,_react.useImperativeHandle)(t,()=>({toFile:()=>new Promise((e,t)=>{if($)return void t(new Error(E.emptyError));if(!A.current)return void t(new Error("The signature pad is not on screen."));const n=Math.min(3,Math.max(1,_reactNative.PixelRatio.get()));A.current.toDataURL(n=>{try{e((0,_writePng.writePng)(n))}catch(e){t(e)}},{width:ne*n,height:_*n})}),toSvg:()=>(0,_signatureGeometry.buildSignatureSvg)({width:ne,height:_,mode:M,strokes:I.map(e=>e.points),typedName:F,ink:T,paper:b,strokeWidth:2.5,fontFamily:cssFontStack(R)}),clear:ee,undo:te,isEmpty:()=>$}),[$,E.emptyError,ne,_,M,I,F,T,b,R,ee,te]);const re=(0,_react.useMemo)(()=>[{name:"undo",label:E.undo},{name:"clear",label:E.clear},...u?[{name:"toggleMode",label:"draw"===M?E.typeInstead:E.drawInstead}]:[]],[E.undo,E.clear,E.typeInstead,E.drawInstead,u,M]),ae=(0,_react.useCallback)(e=>{if(f)return;const{actionName:t}=e.nativeEvent;"undo"===t?te():"clear"===t?ee():"toggleMode"===t&&u&&Q()},[f,te,ee,Q,u]),ie=(0,_react.useCallback)(e=>{N(e.nativeEvent.layout.width)},[]),oe=(0,_react.useMemo)(()=>_reactNative.StyleSheet.create({root:{gap:w.spacing.sm},pad:{height:_,borderWidth:w.colors.border.width,borderColor:w.colors.border.primary,borderRadius:w.radius.md,..._corners.smoothCorners,overflow:"hidden",backgroundColor:b,opacity:f?.5:1},baseline:{position:"absolute",left:w.spacing.md,right:w.spacing.md,top:_*_signatureGeometry.BASELINE_RATIO,height:_reactNative.StyleSheet.hairlineWidth,backgroundColor:T,opacity:.3},actions:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:w.spacing.xs},trailing:{flexDirection:"row",alignItems:"center",gap:w.spacing.xs}}),[w,_,b,T,f]),se=F.trim(),ce=l??q,ue=d&&!$?`Signed by ${d}${ce?`, ${(0,_mobileCore.formatDateTime)(ce)}`:""}`:null,de="type"===M&&se?`${E.pad}. ${se}`:E.pad;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[oe.root,v],testID:S,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:X,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:oe.pad,onLayout:ie,accessible:!0,accessibilityRole:"image",accessibilityLabel:de,accessibilityHint:"draw"===M?E.padHint:void 0,accessibilityValue:{text:$?E.empty:E.signed},accessibilityState:{disabled:f},"aria-disabled":f,accessibilityActions:re,onAccessibilityAction:ae,children:[(0,_jsxRuntime.jsxs)(_reactNativeSvg.default,{ref:A,width:"100%",height:_,children:[(0,_jsxRuntime.jsx)(_reactNativeSvg.Rect,{x:"0",y:"0",width:"100%",height:"100%",fill:b}),"draw"===M?I.map(e=>(0,_jsxRuntime.jsx)(StrokePath,{points:e.points,color:T},e.id)):null,"type"===M&&se?(0,_jsxRuntime.jsx)(_reactNativeSvg.Text,{x:ne/2,y:_*_signatureGeometry.BASELINE_RATIO,fontSize:(0,_signatureGeometry.typedFontSize)(ne,se),fontFamily:R,textAnchor:"middle",fill:T,children:se}):null]}),(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:oe.baseline})]})}),"type"===M?(0,_jsxRuntime.jsx)(_index3.Input,{label:E.typedLabel,placeholder:E.typedPlaceholder,value:F,onChangeText:Z,maxLength:p,disabled:f,autoComplete:"name",textContentType:"name",autoCapitalize:"words",autoCorrect:!1,returnKeyType:"done",testID:S?`${S}-name`:void 0}):null,(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"tertiary",children:"draw"===M?E.caption:E.typedCaption}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:oe.actions,children:[u?(0,_jsxRuntime.jsx)(_index2.Button,{title:"draw"===M?E.typeInstead:E.drawInstead,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:Q,testID:S?`${S}-mode`:void 0}):(0,_jsxRuntime.jsx)(_reactNative.View,{}),"draw"===M&&I.length>0?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:oe.trailing,children:[(0,_jsxRuntime.jsx)(_index2.Button,{title:E.undo,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:te,testID:S?`${S}-undo`:void 0}),(0,_jsxRuntime.jsx)(_index2.Button,{title:E.clear,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:ee,testID:S?`${S}-clear`:void 0})]}):null,"type"===M&&se?(0,_jsxRuntime.jsx)(_index2.Button,{title:E.clear,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:ee,testID:S?`${S}-clear`:void 0}):null]}),ue?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"secondary",children:ue}):null]})});SignaturePad.displayName="SignaturePad";var _default=exports.default=SignaturePad;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SignaturePad=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeSvg=_interopRequireWildcard(require("react-native-svg")),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_corners=require("../../utils/corners.js"),_index2=require("../Button/index.js"),_index3=require("../Input/index.js"),_index4=require("../Text/index.js"),_signatureGeometry=require("./signatureGeometry.js"),_writePng=require("./writePng"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var n=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,i,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(a=t?r:n){if(a.has(e))return a.get(e);a.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?a(o,t,i):o[t]=e[t]);return o})(e,t)}const DEFAULT_LABELS={pad:"Signature pad",padHint:"Draw with one finger. To sign without drawing, use the type your name action.",caption:"Sign above the line. To start with an up or down stroke, rest your finger a moment first.",typedCaption:"Your typed name is used as your signature.",undo:"Undo",clear:"Clear",typeInstead:"Type your name instead",drawInstead:"Draw instead",typedLabel:"Type your name",typedPlaceholder:"Your full name",empty:"Not signed",signed:"Signed",typingAnnouncement:"Signing by typing your name. Your typed name is used as your signature. Choose Draw instead to sign with your finger.",drawingAnnouncement:"Signing by drawing. Use one finger on the pad.",clearedAnnouncement:"Signature cleared",undoneAnnouncement:"Last stroke removed",emptyError:"Add a signature first."},STROKE_WIDTH=2.5,SIDEWAYS_TO_DRAW=6,UPRIGHT_TO_SCROLL=8,REST_TO_DRAW_MS=200,MIN_POINT_GAP=.8,DEFAULT_HEIGHT=180,DEFAULT_NAME_LENGTH=100,MAX_EXPORT_SCALE=3,MIN_TARGET=44,BASELINE_OPACITY=.3,DISABLED_OPACITY=.5,TARGET_STYLE={minHeight:44},defaultScriptFont=()=>_reactNative.Platform.select({ios:"Snell Roundhand",default:"cursive"}),cssFontStack=e=>"cursive"===e?"cursive":`'${e}', cursive`,useScreenReader=()=>{const[e,t]=(0,_react.useState)(!1);return(0,_react.useEffect)(()=>{let e=!0;_reactNative.AccessibilityInfo.isScreenReaderEnabled().then(n=>{e&&t(n)});const n=_reactNative.AccessibilityInfo.addEventListener("screenReaderChanged",t);return()=>{e=!1,n.remove()}},[]),e},StrokePath=(0,_react.memo)(({points:e,color:t})=>(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:(0,_signatureGeometry.strokePath)(e),stroke:t,strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}));StrokePath.displayName="SignaturePadStroke";const Marks=({mode:e,strokes:t,name:n,color:r,fontFamily:a,width:i,height:o})=>"draw"===e?(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:t.map(e=>(0,_jsxRuntime.jsx)(StrokePath,{points:e.points,color:r},e.id))}):n?(0,_jsxRuntime.jsx)(_reactNativeSvg.Text,{x:i/2,y:o*_signatureGeometry.BASELINE_RATIO,fontSize:(0,_signatureGeometry.typedFontSize)(i,n),fontFamily:a,textAnchor:"middle",fill:r,children:n}):null,SignaturePad=exports.SignaturePad=(0,_react.forwardRef)((e,t)=>{const{initialStrokes:n,onChange:r,initialTypedName:a="",onTypedNameChange:i,defaultMode:o="draw",onModeChange:s,onEmptyChange:c,allowTyped:u=!0,signedBy:d,signedAt:l,height:_=DEFAULT_HEIGHT,maxNameLength:m=DEFAULT_NAME_LENGTH,inkColor:g,paperColor:p,scriptFontFamily:y,labels:h,haptic:x="selection",disabled:f=!1,style:v,testID:w}=e,S=(0,_index.useTheme)(),R=void 0===g&&void 0===p,b=R?S.colors.text.primary:g??_index.lightTheme.colors.text.primary,T=R?S.colors.background.elevated:p??_index.lightTheme.colors.background.elevated,j=R?_index.lightTheme.colors.text.primary:b,E=R?_index.lightTheme.colors.background.elevated:T,A=j!==b||E!==T,C=y??defaultScriptFont(),N=(0,_react.useMemo)(()=>({...DEFAULT_LABELS,...h}),[h]),k=useScreenReader(),I=(0,_react.useRef)(null),L=(0,_react.useRef)(null),[P,D]=(0,_react.useState)(0),[G,M]=(0,_react.useState)(()=>(n??[]).map((e,t)=>({id:t+1,points:[...e]}))),F=(0,_react.useRef)(G),O=(0,_react.useRef)(G.length),H=(0,_react.useRef)(null),q=(0,_react.useRef)(null),[W,B]=(0,_react.useState)(u?o:"draw"),[Y,U]=(0,_react.useState)(a),[$,z]=(0,_react.useState)(null),V=(0,_react.useRef)(!1),K=(0,_react.useRef)({onChange:r,onTypedNameChange:i,onModeChange:s,onEmptyChange:c});(0,_react.useEffect)(()=>{K.current={onChange:r,onTypedNameChange:i,onModeChange:s,onEmptyChange:c}});const X="draw"===W&&!f,J="draw"===W?0===G.length:0===Y.trim().length,Q=(0,_react.useRef)(null);(0,_react.useEffect)(()=>{Q.current!==J&&(Q.current=J,K.current.onEmptyChange?.(J))},[J]);const Z=(0,_react.useCallback)(e=>{F.current=e,M(e)},[]),ee=(0,_react.useCallback)(()=>{z(Date.now()),K.current.onChange?.(F.current.map(e=>e.points))},[]),te=(0,_react.useMemo)(()=>{const pan=e=>_reactNativeGestureHandler.Gesture.Pan().enabled(X).runOnJS(!0).onBegin(e=>{H.current=(0,_signatureGeometry.pointOf)(e.x,e.y)}).onStart(t=>{q.current=e,O.current+=1;const n=(0,_signatureGeometry.pointOf)(t.x,t.y);Z([...F.current,{id:O.current,points:[H.current??n,n]}])}).onUpdate(t=>{if(q.current!==e)return;const n=F.current[F.current.length-1],r=(0,_signatureGeometry.pointOf)(t.x,t.y);(0,_signatureGeometry.distanceBetween)(n.points[n.points.length-1],r)<.8||Z([...F.current.slice(0,-1),{...n,points:[...n.points,r]}])}).onFinalize(()=>{q.current===e&&(q.current=null,ee())}),e=pan("sideways").activeOffsetX([-6,6]).failOffsetY([-8,8]),t=pan("rested").activateAfterLongPress(200);return _reactNativeGestureHandler.Gesture.Race(e,t)},[X,Z,ee]),ne=(0,_react.useCallback)(e=>{B(e),K.current.onModeChange?.(e),(0,_announce.announce)("type"===e?N.typingAnnouncement:N.drawingAnnouncement)},[N.typingAnnouncement,N.drawingAnnouncement]);(0,_react.useEffect)(()=>{k&&u&&!V.current&&"draw"===W&&0===F.current.length&&ne("type")},[k,u,W,ne]);const re=(0,_react.useCallback)(()=>{V.current=!0,ne("draw"===W?"type":"draw")},[W,ne]),ae=(0,_react.useCallback)(e=>{U(e),z(Date.now()),K.current.onTypedNameChange?.(e)},[]),ie=(0,_react.useCallback)(()=>{"type"===W?ae(""):(Z([]),ee()),(0,_announce.announce)(N.clearedAnnouncement)},[W,ae,Z,ee,N.clearedAnnouncement]),oe=(0,_react.useCallback)(()=>{"draw"===W&&0!==F.current.length&&(Z(F.current.slice(0,-1)),ee(),(0,_announce.announce)(N.undoneAnnouncement))},[W,Z,ee,N.undoneAnnouncement]),se=P||_signatureGeometry.FALLBACK_WIDTH;(0,_react.useImperativeHandle)(t,()=>({toFile:()=>new Promise((e,t)=>{if(J)return void t(new Error(N.emptyError));const n=A?L.current:I.current;if(!n)return void t(new Error("The signature pad is not on screen."));const r=Math.min(3,Math.max(1,_reactNative.PixelRatio.get()));n.toDataURL(n=>{try{e((0,_writePng.writePng)(n))}catch(e){t(e)}},{width:se*r,height:_*r})}),toSvg:()=>(0,_signatureGeometry.buildSignatureSvg)({width:se,height:_,mode:W,strokes:G.map(e=>e.points),typedName:Y,ink:j,paper:E,strokeWidth:2.5,fontFamily:cssFontStack(C)}),clear:ie,undo:oe,isEmpty:()=>J}),[J,N.emptyError,se,_,W,G,Y,A,j,E,C,ie,oe]);const ce=(0,_react.useMemo)(()=>[{name:"undo",label:N.undo},{name:"clear",label:N.clear},...u?[{name:"toggleMode",label:"draw"===W?N.typeInstead:N.drawInstead}]:[]],[N.undo,N.clear,N.typeInstead,N.drawInstead,u,W]),ue=(0,_react.useCallback)(e=>{if(f)return;const{actionName:t}=e.nativeEvent;"undo"===t?oe():"clear"===t?ie():"toggleMode"===t&&u&&re()},[f,oe,ie,re,u]),de=(0,_react.useCallback)(e=>{D(e.nativeEvent.layout.width)},[]),le=(0,_react.useMemo)(()=>_reactNative.StyleSheet.create({root:{gap:S.spacing.sm},pad:{height:_,borderWidth:S.colors.border.width,borderColor:S.colors.border.primary,borderRadius:S.radius.md,..._corners.smoothCorners,overflow:"hidden",backgroundColor:T,opacity:f?.5:1},baseline:{position:"absolute",left:S.spacing.md,right:S.spacing.md,top:_*_signatureGeometry.BASELINE_RATIO,height:_reactNative.StyleSheet.hairlineWidth,backgroundColor:b,opacity:.3},actions:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:S.spacing.xs},trailing:{flexDirection:"row",alignItems:"center",gap:S.spacing.xs}}),[S,_,T,b,f]),me=Y.trim(),ge=l??$,pe=d&&!J?`Signed by ${d}${ge?`, ${(0,_mobileCore.formatDateTime)(ge)}`:""}`:null,ye="type"===W&&me?`${N.pad}. ${me}`:N.pad;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[le.root,v],testID:w,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:te,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:le.pad,onLayout:de,accessible:!0,accessibilityRole:"image",accessibilityLabel:ye,accessibilityHint:"draw"===W?N.padHint:void 0,accessibilityValue:{text:J?N.empty:N.signed},accessibilityState:{disabled:f},"aria-disabled":f,accessibilityActions:ce,onAccessibilityAction:ue,children:[A?(0,_jsxRuntime.jsxs)(_reactNativeSvg.default,{ref:L,style:_reactNative.StyleSheet.absoluteFill,width:"100%",height:_,children:[(0,_jsxRuntime.jsx)(_reactNativeSvg.Rect,{x:"0",y:"0",width:"100%",height:"100%",fill:E}),(0,_jsxRuntime.jsx)(Marks,{mode:W,strokes:G,name:me,color:j,fontFamily:C,width:se,height:_})]}):null,(0,_jsxRuntime.jsxs)(_reactNativeSvg.default,{ref:I,width:"100%",height:_,children:[(0,_jsxRuntime.jsx)(_reactNativeSvg.Rect,{x:"0",y:"0",width:"100%",height:"100%",fill:T}),(0,_jsxRuntime.jsx)(Marks,{mode:W,strokes:G,name:me,color:b,fontFamily:C,width:se,height:_})]}),(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:le.baseline})]})}),"type"===W?(0,_jsxRuntime.jsx)(_index3.Input,{label:N.typedLabel,placeholder:N.typedPlaceholder,value:Y,onChangeText:ae,maxLength:m,disabled:f,autoComplete:"name",textContentType:"name",autoCapitalize:"words",autoCorrect:!1,returnKeyType:"done",testID:w?`${w}-name`:void 0}):null,(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"tertiary",children:"draw"===W?N.caption:N.typedCaption}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:le.actions,children:[u?(0,_jsxRuntime.jsx)(_index2.Button,{title:"draw"===W?N.typeInstead:N.drawInstead,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:re,testID:w?`${w}-mode`:void 0}):(0,_jsxRuntime.jsx)(_reactNative.View,{}),"draw"===W&&G.length>0?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:le.trailing,children:[(0,_jsxRuntime.jsx)(_index2.Button,{title:N.undo,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:oe,testID:w?`${w}-undo`:void 0}),(0,_jsxRuntime.jsx)(_index2.Button,{title:N.clear,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:ie,testID:w?`${w}-clear`:void 0})]}):null,"type"===W&&me?(0,_jsxRuntime.jsx)(_index2.Button,{title:N.clear,variant:"ghost",tone:"primary",size:"md",style:TARGET_STYLE,haptic:x,disabled:f,onPress:ie,testID:w?`${w}-clear`:void 0}):null]}),pe?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"secondary",children:pe}):null]})});SignaturePad.displayName="SignaturePad";var _default=exports.default=SignaturePad;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_valueText=require("./valueText.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,n,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(i=t?r:a){if(i.has(e))return i.get(e);i.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?i(s,t,n):s[t]=e[t]);return s})(e,t)}const SIZE_MAP={sm:{trackHeight:4,thumbDiameter:24},md:{trackHeight:6,thumbDiameter:28},lg:{trackHeight:8,thumbDiameter:32}},VARIANT_SIZE_MAP={inset:{sm:{trackHeight:14,thumbDiameter:10},md:{trackHeight:20,thumbDiameter:14},lg:{trackHeight:26,thumbDiameter:18}},minimal:{sm:{trackHeight:2,thumbDiameter:14},md:{trackHeight:3,thumbDiameter:18},lg:{trackHeight:4,thumbDiameter:22}},bar:{sm:{trackHeight:20,thumbDiameter:20},md:{trackHeight:28,thumbDiameter:28},lg:{trackHeight:36,thumbDiameter:36}}},INSET_RING_RATIO=.3,MIN_THUMB_TOUCH=44,TONE_TO_COLOR_KEY={primary:"primary",success:"success",warning:"warning",error:"error"},clamp=(e,t,a)=>Math.min(Math.max(e,t),a),snapToStep=(e,t,a,r)=>{if(r<=0)return clamp(e,t,a);const i=Math.round((e-t)/r)*r+t,n=String(r).split(".")[1]?.length??0,s=n>0?Number(i.toFixed(n)):i;return clamp(s,t,a)},BUBBLE_GAP=2,BUBBLE_CARET=8,BUBBLE_WRAP_WIDTH=160,NO_SHADOW={shadowOpacity:0,elevation:0},defaultFormatLabel=e=>String(e),Slider=exports.Slider=(0,_react.forwardRef)((e,t)=>{const{min:a=0,max:r=100,step:i=1,disabled:n=!1,tone:s="primary",size:o="md",variant:l="default",showLabel:c=!1,snapThumb:u=!1,formatLabel:d=defaultFormatLabel,renderLabel:m,accessibilityLabel:h,haptic:b,style:_,containerStyle:v,trackStyle:p,fillStyle:f,thumbStyle:g,labelStyle:R,thumbPressScale:y,labelShowDuration:x,labelOpacity:N,testID:w}=e,k=(0,_index2.useTheme)(),S=k.components.slider,j=S?.[o],C=(0,_react.useMemo)(()=>"default"===l?{trackHeight:j?.trackHeight??SIZE_MAP[o].trackHeight,thumbDiameter:j?.thumbDiameter??SIZE_MAP[o].thumbDiameter}:VARIANT_SIZE_MAP[l][o],[j,o,l]),M="inset"===l?C.trackHeight/2:0,O=S?.thumbPressAnimation??!1,H=y??S?.thumbPressScale??1.1,D=x??S?.labelShowDuration??k.motion.duration.fast,A=N??S?.labelOpacity??1,E=(0,_react.useMemo)(()=>buildStyles(k,C),[k,C]),T=(0,_react.useMemo)(()=>({damping:k.motion.spring.snappy.damping,stiffness:k.motion.spring.snappy.stiffness,mass:k.motion.spring.snappy.mass}),[k.motion.spring.snappy]),[V,W]=(0,_react.useState)(0),P=k.colors[TONE_TO_COLOR_KEY[s]],I=(0,_valueText.sliderToneInk)(k,s),L=!0===e.range,[q,X]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??(L?[a,r]:a),onChange:e.onChange}),B=(0,_reactNativeReanimated.useSharedValue)(0),G=(0,_reactNativeReanimated.useSharedValue)(0),F=(0,_reactNativeReanimated.useSharedValue)(L?q[0]:q),J=(0,_reactNativeReanimated.useSharedValue)(L?q[1]:q),U=(0,_reactNativeReanimated.useSharedValue)(0),z=(0,_reactNativeReanimated.useSharedValue)(0),Z=(0,_reactNativeReanimated.useSharedValue)(1),K=(0,_reactNativeReanimated.useSharedValue)(1),Y="always"===c,$=(0,_reactNativeReanimated.useSharedValue)(Y?1:0),Q=(0,_reactNativeReanimated.useSharedValue)(Y?1:0),ee=(0,_react.useMemo)(()=>10**(String(i).split(".")[1]?.length??0),[i]);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(B),(0,_reactNativeReanimated.cancelAnimation)(G),(0,_reactNativeReanimated.cancelAnimation)(Z),(0,_reactNativeReanimated.cancelAnimation)(K),(0,_reactNativeReanimated.cancelAnimation)($),(0,_reactNativeReanimated.cancelAnimation)(Q)},[B,G,Z,K,$,Q]);const te=(0,_react.useCallback)((e,t)=>{const i=t-2*M;return r===a||i<=0?M:M+(e-a)/(r-a)*i},[a,r,M]),ae=(0,_react.useCallback)((e,t)=>{const n=t-2*M;if(n<=0)return a;const s=clamp((e-M)/n,0,1);return snapToStep(a+s*(r-a),a,r,i)},[a,r,i,M]),re=(0,_react.useRef)(!1),ie=k.motion.duration.fast,ne=(0,_react.useRef)(q);ne.current=q;const se=(0,_react.useRef)(V);se.current=V;const oe=(0,_react.useCallback)((e=!1)=>{const t=se.current;if(t<=0)return;const place=t=>e?(0,_reactNativeReanimated.withTiming)(t,{duration:ie,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}):t,a=ne.current;if(L){const[e,r]=a,i=Math.min(e,r),n=Math.max(e,r);F.value=i,J.value=n,B.value=place(te(i,t)),G.value=place(te(n,t))}else{const e=a;F.value=e,J.value=e,B.value=place(te(e,t))}},[L,te,F,J,B,G,ie]),[le,ce]=(0,_react.useState)(0),ue=(0,_react.useRef)(!1),de=(0,_react.useCallback)(e=>{re.current=e,e||(ue.current=!0,ce(e=>e+1))},[]);(0,_react.useEffect)(()=>{if(re.current)return;const e=ue.current;ue.current=!1,oe(e)},[JSON.stringify(q),V,le,oe]);const me=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.width;z.value=t,W(t)},[z]),he=(0,_react.useCallback)((e,t)=>{X(L?[e,t]:e)},[L,X]),be=(0,_react.useCallback)(()=>{const e=(0,_index3.resolveHaptic)(b,"selection");e&&(0,_index3.triggerHaptic)(e)},[b]),_e=(0,_react.useRef)(he);_e.current=he;const ve=(0,_react.useRef)(be);ve.current=be;const pe=(0,_react.useCallback)((e,t)=>_e.current(e,t),[]),fe=(0,_react.useCallback)(()=>ve.current(),[]),ge=Math.max(0,(44-C.thumbDiameter)/2),Re=ge>0?ge:void 0,ye=(0,_react.useCallback)(e=>{const t="low"===e?B:G,s="low"===e?F:J,o="low"===e?J:F,l="low"===e?Z:K,d="low"===e?$:Q,m="low"===e,h=a,b=r,_=i,v=ee,p=L,f=H,g=O,R=!0===c,y=u,x=A,N=D,w=T,k=M,follow=e=>{"worklet";const a=z.value-2*k;if(a<=0||!Number.isFinite(e))return;const r=Math.min(Math.max(U.value+e,k),z.value-k);let i=h+(r-k)/a*(b-h);_>0&&(i=Math.round((i-h)/_)*_+h,i=Math.round(i*v)/v),i=Math.min(Math.max(i,h),b),p&&(m&&i>o.value&&(i=o.value),!m&&i<o.value&&(i=o.value)),t.value=y||b===h?b===h?k:k+(i-h)/(b-h)*a:p?m?Math.min(r,G.value):Math.max(r,B.value):r,i!==s.value&&(s.value=i,i!==h&&i!==b||(0,_reactNativeReanimated.runOnJS)(fe)(),(0,_reactNativeReanimated.runOnJS)(pe)(F.value,J.value))},S=_reactNativeGestureHandler.Gesture.Pan().enabled(!n).minDistance(0);return(void 0===Re?S:S.hitSlop(Re)).onStart(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(de)(!0),U.value=t.value,g&&(l.value=(0,_reactNativeReanimated.withSpring)(f,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(x,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)})),(0,_reactNativeReanimated.runOnJS)(fe)()}).onUpdate(e=>{"worklet";follow(e.translationX)}).onEnd(e=>{"worklet";follow(e.translationX),g&&(l.value=(0,_reactNativeReanimated.withSpring)(1,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(0,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}))}).onFinalize(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(de)(!1)})},[n,a,r,i,ee,L,H,O,c,u,A,D,T,M,Re,pe,fe,de,B,G,F,J,Z,K,$,Q,U,z]),xe=(0,_react.useMemo)(()=>ye("low"),[ye]),Ne=(0,_react.useMemo)(()=>ye("high"),[ye]),we=(0,_react.useCallback)(e=>{if(n||L||V<=0)return;const t=clamp(e.nativeEvent.locationX,0,V),a=ae(t,V);a!==F.value&&(be(),F.value=a,B.value=(0,_reactNativeReanimated.withTiming)(te(a,V),{duration:k.motion.duration.fast,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}),he(a,a))},[n,L,V,ae,te,he,be,B,F,k.motion.duration.fast]),ke=(0,_react.useCallback)(e=>{if(n)return;const t="increment"===e.nativeEvent.actionName?i:-i,s=i>0?Math.round(t*ee)/ee:t;if(L){const e=Math.round((F.value+s)*ee)/ee,t=clamp(e,a,J.value);t!==F.value&&(F.value=t,B.value=te(t,V),be(),he(t,J.value))}else{const e=Math.round((F.value+s)*ee)/ee,t=clamp(e,a,r);t!==F.value&&(F.value=t,B.value=te(t,V),be(),he(t,t))}},[n,i,ee,L,a,r,te,V,B,F,J,he,be]),Se=C.thumbDiameter/2,je=n?k.colors.surface.disabled:P,Ce="inset"===l?{backgroundColor:je,borderColor:k.colors.background.elevated,borderWidth:Math.max(2,Math.round(.3*C.thumbDiameter)),...NO_SHADOW}:"minimal"===l?{backgroundColor:je,borderWidth:0}:"bar"===l?{backgroundColor:"transparent",borderWidth:0,...NO_SHADOW}:{backgroundColor:k.colors.background.elevated,borderColor:je},Me=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=z.value;if(e<=0)return{opacity:0,transform:[{translateX:0},{scaleX:1}]};const t=n?.55:1;if(L){const a=Math.max(0,G.value-B.value+2*M);return{opacity:t,transform:[{translateX:B.value-M},{scaleX:a/e}]}}return{opacity:t,transform:[{translateX:B.value+M-e},{scaleX:1}]}}),Oe=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:B.value-Se},{scale:Z.value}]})),He=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:G.value-Se},{scale:K.value}]})),De=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:$.value})),Ae=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:Q.value})),clampDisplay=e=>clamp(e,a,r),Ee=clampDisplay(L?Math.min(...q):q),Te=clampDisplay(L?Math.max(...q):q);return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[E.container,v,_],testID:w,accessibilityRole:"adjustable",accessibilityLabel:h,accessibilityState:{disabled:n},"aria-disabled":n,accessibilityValue:L?{min:a,max:r,now:Ee,text:`${Ee} to ${Te}`}:{min:a,max:r,now:Ee},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:ke,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:we,disabled:n||L,style:E.trackTouch,accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E.trackWrap,onLayout:me,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E.trackClip,pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.track,{backgroundColor:n?k.colors.surface.disabled:k.colors.border.primary},p]}),(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[E.fill,{backgroundColor:n?k.colors.surface.disabled:P},f,Me]})]}),(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:xe,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[E.thumb,{width:C.thumbDiameter,height:C.thumbDiameter,borderRadius:Se,..._corners.smoothCorners,opacity:n?.55:1},Ce,g,Oe],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:c?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[E.bubbleWrap,De],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubble,{backgroundColor:P}],children:m?m(Ee):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[E.bubbleText,{color:I},R],numberOfLines:1,children:d(Ee)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubbleCaret,{backgroundColor:P}]})]}):null})}),L?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Ne,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[E.thumb,{width:C.thumbDiameter,height:C.thumbDiameter,borderRadius:Se,..._corners.smoothCorners,opacity:n?.55:1},Ce,g,He],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:c?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[E.bubbleWrap,Ae],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubble,{backgroundColor:P}],children:m?m(Te):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[E.bubbleText,{color:I},R],numberOfLines:1,children:d(Te)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubbleCaret,{backgroundColor:P}]})]}):null})}):null]})})})});Slider.displayName="Slider";const buildStyles=(e,t)=>{const a=e.shadows.md,r=Math.max(t.thumbDiameter,t.trackHeight),i=r/2+4;return _reactNative.StyleSheet.create({container:{width:"100%",paddingVertical:i,justifyContent:"center"},trackTouch:{width:"100%",justifyContent:"center"},trackWrap:{width:"100%",height:r,justifyContent:"center"},trackClip:{position:"absolute",left:0,right:0,height:t.trackHeight,top:(r-t.trackHeight)/2,borderRadius:t.trackHeight/2,..._corners.smoothCorners,overflow:"hidden"},track:{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:t.trackHeight/2,..._corners.smoothCorners},fill:{position:"absolute",top:0,left:0,width:"100%",height:t.trackHeight,borderRadius:t.trackHeight/2,..._corners.smoothCorners,transformOrigin:"left"},thumb:{position:"absolute",top:(r-t.thumbDiameter)/2,left:0,borderWidth:2,shadowColor:a.shadowColor,shadowOffset:a.shadowOffset,shadowOpacity:a.shadowOpacity,shadowRadius:a.shadowRadius,elevation:a.elevation,alignItems:"center",justifyContent:"center"},bubbleWrap:{position:"absolute",bottom:t.thumbDiameter+2,left:t.thumbDiameter/2-80,width:160,alignItems:"center"},bubbleCaret:{width:8,height:8,marginTop:-5,borderRadius:1,..._corners.smoothCorners,transform:[{rotate:"45deg"}]},bubble:{paddingHorizontal:e.spacing.sm,paddingVertical:e.spacing.xxs,borderRadius:e.radius.md,..._corners.smoothCorners,minWidth:36,alignItems:"center",justifyContent:"center",..._reactNative.Platform.select({ios:{shadowColor:e.shadows.sm.shadowColor,shadowOffset:e.shadows.sm.shadowOffset,shadowOpacity:e.shadows.sm.shadowOpacity,shadowRadius:e.shadows.sm.shadowRadius},android:{elevation:e.shadows.sm.elevation},default:{}})},bubbleText:{color:e.colors.onPrimary,fontSize:e.typography.fontSize.xs,fontWeight:e.typography.fontWeight.semibold}})};var _default=exports.default=Slider;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_valueText=require("./valueText.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,n,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(i=t?r:a){if(i.has(e))return i.get(e);i.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?i(s,t,n):s[t]=e[t]);return s})(e,t)}const SIZE_MAP={sm:{trackHeight:4,thumbDiameter:24},md:{trackHeight:6,thumbDiameter:28},lg:{trackHeight:8,thumbDiameter:32}},VARIANT_SIZE_MAP={inset:{sm:{trackHeight:14,thumbDiameter:10},md:{trackHeight:20,thumbDiameter:14},lg:{trackHeight:26,thumbDiameter:18}},minimal:{sm:{trackHeight:2,thumbDiameter:14},md:{trackHeight:3,thumbDiameter:18},lg:{trackHeight:4,thumbDiameter:22}},bar:{sm:{trackHeight:20,thumbDiameter:20},md:{trackHeight:28,thumbDiameter:28},lg:{trackHeight:36,thumbDiameter:36}}},INSET_RING_RATIO=.3,MIN_THUMB_TOUCH=44,TONE_TO_COLOR_KEY={primary:"primary",success:"success",warning:"warning",error:"error"},clamp=(e,t,a)=>Math.min(Math.max(e,t),a),snapToStep=(e,t,a,r)=>{if(r<=0)return clamp(e,t,a);const i=Math.round((e-t)/r)*r+t,n=String(r).split(".")[1]?.length??0,s=n>0?Number(i.toFixed(n)):i;return clamp(s,t,a)},BUBBLE_GAP=2,BUBBLE_CARET=8,BUBBLE_WRAP_WIDTH=160,NO_SHADOW={shadowOpacity:0,elevation:0},defaultFormatLabel=e=>String(e),Slider=exports.Slider=(0,_react.forwardRef)((e,t)=>{const{min:a=0,max:r=100,step:i=1,disabled:n=!1,tone:s="primary",size:o="md",variant:l="default",showLabel:c=!1,snapThumb:u=!1,formatLabel:d=defaultFormatLabel,renderLabel:m,accessibilityLabel:h,haptic:b,style:_,containerStyle:v,trackStyle:p,fillStyle:f,thumbStyle:g,labelStyle:R,thumbPressScale:y,labelShowDuration:x,labelOpacity:N,testID:w}=e,k=(0,_index2.useTheme)(),S=k.components.slider,j=S?.[o],C=(0,_react.useMemo)(()=>"default"===l?{trackHeight:j?.trackHeight??SIZE_MAP[o].trackHeight,thumbDiameter:j?.thumbDiameter??SIZE_MAP[o].thumbDiameter}:VARIANT_SIZE_MAP[l][o],[j,o,l]),M="inset"===l?C.trackHeight/2:0,O=S?.thumbPressAnimation??!1,H=y??S?.thumbPressScale??1.1,D=x??S?.labelShowDuration??k.motion.duration.fast,A=N??S?.labelOpacity??1,E=(0,_react.useMemo)(()=>buildStyles(k,C),[k,C]),T=(0,_react.useMemo)(()=>({damping:k.motion.spring.snappy.damping,stiffness:k.motion.spring.snappy.stiffness,mass:k.motion.spring.snappy.mass}),[k.motion.spring.snappy]),[V,W]=(0,_react.useState)(0),P=k.colors[TONE_TO_COLOR_KEY[s]],I=(0,_valueText.sliderToneInk)(k,s),L=!0===e.range,[q,X]=(0,_index.useControllableState)({value:e.value,defaultValue:e.defaultValue??(L?[a,r]:a),onChange:e.onChange}),B=(0,_reactNativeReanimated.useSharedValue)(0),G=(0,_reactNativeReanimated.useSharedValue)(0),F=(0,_reactNativeReanimated.useSharedValue)(L?q[0]:q),J=(0,_reactNativeReanimated.useSharedValue)(L?q[1]:q),U=(0,_reactNativeReanimated.useSharedValue)(0),z=(0,_reactNativeReanimated.useSharedValue)(0),Z=(0,_reactNativeReanimated.useSharedValue)(1),K=(0,_reactNativeReanimated.useSharedValue)(1),Y="always"===c,$=(0,_reactNativeReanimated.useSharedValue)(Y?1:0),Q=(0,_reactNativeReanimated.useSharedValue)(Y?1:0),ee=(0,_react.useMemo)(()=>10**(String(i).split(".")[1]?.length??0),[i]);(0,_react.useEffect)(()=>()=>{(0,_reactNativeReanimated.cancelAnimation)(B),(0,_reactNativeReanimated.cancelAnimation)(G),(0,_reactNativeReanimated.cancelAnimation)(Z),(0,_reactNativeReanimated.cancelAnimation)(K),(0,_reactNativeReanimated.cancelAnimation)($),(0,_reactNativeReanimated.cancelAnimation)(Q)},[B,G,Z,K,$,Q]);const te=(0,_react.useCallback)((e,t)=>{const i=t-2*M;return r===a||i<=0?M:M+(e-a)/(r-a)*i},[a,r,M]),ae=(0,_react.useCallback)((e,t)=>{const n=t-2*M;if(n<=0)return a;const s=clamp((e-M)/n,0,1);return snapToStep(a+s*(r-a),a,r,i)},[a,r,i,M]),re=(0,_react.useRef)(!1),ie=k.motion.duration.fast,ne=(0,_react.useRef)(q);ne.current=q;const se=(0,_react.useRef)(V);se.current=V;const oe=(0,_react.useCallback)((e=!1)=>{const t=se.current;if(t<=0)return;const place=t=>e?(0,_reactNativeReanimated.withTiming)(t,{duration:ie,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}):t,a=ne.current;if(L){const[e,r]=a,i=Math.min(e,r),n=Math.max(e,r);F.value=i,J.value=n,B.value=place(te(i,t)),G.value=place(te(n,t))}else{const e=a;F.value=e,J.value=e,B.value=place(te(e,t))}},[L,te,F,J,B,G,ie]),[le,ce]=(0,_react.useState)(0),ue=(0,_react.useRef)(!1),de=(0,_react.useCallback)(e=>{re.current=e,e||(ue.current=!0,ce(e=>e+1))},[]);(0,_react.useEffect)(()=>{if(re.current)return;const e=ue.current;ue.current=!1,oe(e)},[JSON.stringify(q),V,le,oe]);const me=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.width;z.value=t,W(t)},[z]),he=(0,_react.useCallback)((e,t)=>{X(L?[e,t]:e)},[L,X]),be=(0,_react.useCallback)(()=>{const e=(0,_index3.resolveHaptic)(b,"selection");e&&(0,_index3.triggerHaptic)(e)},[b]),ve=(0,_react.useRef)(he);ve.current=he;const pe=(0,_react.useRef)(be);pe.current=be;const fe=(0,_react.useCallback)((e,t)=>ve.current(e,t),[]),ge=(0,_react.useCallback)(()=>pe.current(),[]),Re=Math.max(0,(44-C.thumbDiameter)/2),ye=Re>0?Re:void 0,xe=(0,_react.useCallback)(e=>{const t="low"===e?B:G,s="low"===e?F:J,o="low"===e?J:F,l="low"===e?Z:K,d="low"===e?$:Q,m="low"===e,h=a,b=r,_=i,v=ee,p=L,f=H,g=O,R=!0===c,y=u,x=A,N=D,w=T,k=M,follow=e=>{"worklet";const a=z.value-2*k;if(a<=0||!Number.isFinite(e))return;const r=Math.min(Math.max(U.value+e,k),z.value-k);let i=h+(r-k)/a*(b-h);_>0&&(i=Math.round((i-h)/_)*_+h,i=Math.round(i*v)/v),i=Math.min(Math.max(i,h),b),p&&(m&&i>o.value&&(i=o.value),!m&&i<o.value&&(i=o.value)),t.value=y||b===h?b===h?k:k+(i-h)/(b-h)*a:p?m?Math.min(r,G.value):Math.max(r,B.value):r,i!==s.value&&(s.value=i,i!==h&&i!==b||(0,_reactNativeReanimated.runOnJS)(ge)(),(0,_reactNativeReanimated.runOnJS)(fe)(F.value,J.value))},S=_reactNativeGestureHandler.Gesture.Pan().enabled(!n).minDistance(0);return(void 0===ye?S:S.hitSlop(ye)).onStart(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(de)(!0),U.value=t.value,g&&(l.value=(0,_reactNativeReanimated.withSpring)(f,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(x,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)})),(0,_reactNativeReanimated.runOnJS)(ge)()}).onUpdate(e=>{"worklet";follow(e.translationX)}).onEnd(e=>{"worklet";follow(e.translationX),g&&(l.value=(0,_reactNativeReanimated.withSpring)(1,w)),R&&(d.value=(0,_reactNativeReanimated.withTiming)(0,{duration:N,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}))}).onFinalize(()=>{"worklet";(0,_reactNativeReanimated.runOnJS)(de)(!1)})},[n,a,r,i,ee,L,H,O,c,u,A,D,T,M,ye,fe,ge,de,B,G,F,J,Z,K,$,Q,U,z]),Ne=(0,_react.useMemo)(()=>xe("low"),[xe]),we=(0,_react.useMemo)(()=>xe("high"),[xe]),ke=(0,_react.useCallback)(e=>{if(n||L||V<=0)return;const t=clamp(e.nativeEvent.locationX,0,V),a=ae(t,V);a!==F.value&&(be(),F.value=a,B.value=(0,_reactNativeReanimated.withTiming)(te(a,V),{duration:k.motion.duration.fast,easing:_reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)}),he(a,a))},[n,L,V,ae,te,he,be,B,F,k.motion.duration.fast]),Se=(0,_react.useCallback)(e=>{if(n)return;const t="increment"===e.nativeEvent.actionName?i:-i,s=i>0?Math.round(t*ee)/ee:t;if(L){const e=Math.round((F.value+s)*ee)/ee,t=clamp(e,a,J.value);t!==F.value&&(F.value=t,B.value=te(t,V),be(),he(t,J.value))}else{const e=Math.round((F.value+s)*ee)/ee,t=clamp(e,a,r);t!==F.value&&(F.value=t,B.value=te(t,V),be(),he(t,t))}},[n,i,ee,L,a,r,te,V,B,F,J,he,be]),je=C.thumbDiameter/2,Ce=n?k.colors.surface.disabled:P,Me="inset"===l?{backgroundColor:Ce,borderColor:k.colors.background.elevated,borderWidth:Math.max(2,Math.round(.3*C.thumbDiameter)),...NO_SHADOW}:"minimal"===l?{backgroundColor:Ce,borderWidth:0}:"bar"===l?{backgroundColor:"transparent",borderWidth:0,...NO_SHADOW}:{backgroundColor:k.colors.background.elevated,borderColor:Ce},Oe=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=z.value;if(e<=0)return{opacity:0,transform:[{translateX:0},{scaleX:1}]};const t=n?.55:1;if(L){const a=Math.max(0,G.value-B.value+2*M);return{opacity:t,transform:[{translateX:B.value-M},{scaleX:a/e}]}}return{opacity:t,transform:[{translateX:B.value+M-e},{scaleX:1}]}}),He=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:B.value-je},{scale:Z.value}]})),De=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({transform:[{translateX:G.value-je},{scale:K.value}]})),Ae=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:$.value})),Ee=(0,_reactNativeReanimated.useAnimatedStyle)(()=>({opacity:Q.value})),clampDisplay=e=>clamp(e,a,r),Te=clampDisplay(L?Math.min(...q):q),Ve=clampDisplay(L?Math.max(...q):q);return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,style:[E.container,v,_],testID:w,accessibilityRole:"adjustable",accessibilityLabel:h,accessibilityState:{disabled:n},"aria-disabled":n,accessibilityValue:L?{min:a,max:r,now:Te,text:`${Te} to ${Ve}`}:{min:a,max:r,now:Te},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:Se,children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:ke,disabled:n||L,style:E.trackTouch,accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E.trackWrap,onLayout:me,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:E.trackClip,pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.track,{backgroundColor:n?k.colors.surface.disabled:k.colors.border.primary},p]}),(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[E.fill,{backgroundColor:n?k.colors.surface.disabled:P},f,Oe]})]}),(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Ne,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[E.thumb,{width:C.thumbDiameter,height:C.thumbDiameter,borderRadius:je,..._corners.smoothCorners,opacity:n?.55:1},Me,g,He],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:c?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[E.bubbleWrap,Ae],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubble,{backgroundColor:P}],children:m?m(Te):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[E.bubbleText,{color:I},R],numberOfLines:1,children:d(Te)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubbleCaret,{backgroundColor:P}]})]}):null})}),L?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:we,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[E.thumb,{width:C.thumbDiameter,height:C.thumbDiameter,borderRadius:je,..._corners.smoothCorners,opacity:n?.55:1},Me,g,De],accessibilityElementsHidden:!0,importantForAccessibility:"no-hide-descendants",children:c?(0,_jsxRuntime.jsxs)(_reactNativeReanimated.default.View,{style:[E.bubbleWrap,Ee],pointerEvents:"none",children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubble,{backgroundColor:P}],children:m?m(Ve):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[E.bubbleText,{color:I},R],numberOfLines:1,children:d(Ve)})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[E.bubbleCaret,{backgroundColor:P}]})]}):null})}):null]})})})});Slider.displayName="Slider";const buildStyles=(e,t)=>{const a=e.shadows.md,r=Math.max(t.thumbDiameter,t.trackHeight),i=r/2+4;return _reactNative.StyleSheet.create({container:{width:"100%",paddingVertical:i,justifyContent:"center"},trackTouch:{width:"100%",justifyContent:"center"},trackWrap:{width:"100%",height:r,justifyContent:"center"},trackClip:{position:"absolute",left:0,right:0,height:t.trackHeight,top:(r-t.trackHeight)/2,borderRadius:t.trackHeight/2,..._corners.smoothCorners,overflow:"hidden"},track:{position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:t.trackHeight/2,..._corners.smoothCorners},fill:{position:"absolute",top:0,left:0,width:"100%",height:t.trackHeight,borderRadius:t.trackHeight/2,..._corners.smoothCorners,transformOrigin:"left"},thumb:{position:"absolute",top:(r-t.thumbDiameter)/2,left:0,borderWidth:2,shadowColor:a.shadowColor,shadowOffset:a.shadowOffset,shadowOpacity:a.shadowOpacity,shadowRadius:a.shadowRadius,elevation:a.elevation,alignItems:"center",justifyContent:"center"},bubbleWrap:{position:"absolute",bottom:t.thumbDiameter+2,left:t.thumbDiameter/2-80,width:160,alignItems:"center"},bubbleCaret:{width:8,height:8,marginTop:-5,borderRadius:1,..._corners.smoothCorners,transform:[{rotate:"45deg"}]},bubble:{paddingHorizontal:e.spacing.sm,paddingVertical:e.spacing.xxs,borderRadius:e.radius.md,..._corners.smoothCorners,minWidth:36,alignItems:"center",justifyContent:"center",..._reactNative.Platform.select({ios:{shadowColor:e.shadows.sm.shadowColor,shadowOffset:e.shadows.sm.shadowOffset,shadowOpacity:e.shadows.sm.shadowOpacity,shadowRadius:e.shadows.sm.shadowRadius},android:{elevation:e.shadows.sm.elevation},default:{}})},bubbleText:{color:e.colors.onPrimary,fontSize:e.typography.fontSize.xs,fontWeight:e.typography.fontWeight.semibold}})};var _default=exports.default=Slider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SquircleView=void 0;var _react=require("react"),_reactNative=require("react-native"),_corners=require("../../utils/corners.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("react/jsx-runtime");const PER_EDGE_KEYS=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStartWidth","borderEndWidth","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderStartColor","borderEndColor"],readShape=r=>{const{borderRadius:e,backgroundColor:t,borderColor:o,borderWidth:i=0,borderStyle:d}=r;if("number"!=typeof e||e<=0||"hidden"===r.overflow||(r.elevation??0)>0||void 0!==d&&"solid"!==d||PER_EDGE_KEYS.some(e=>void 0!==r[e]))return null;const l="string"==typeof t&&"transparent"!==t,s=i>0&&"string"==typeof o&&"transparent"!==o;return void 0!==t&&"string"!=typeof t||i>0&&void 0!==o&&"string"!=typeof o||!l&&!s?null:{radius:e,fill:l?t:"transparent",stroke:s?o:void 0,strokeWidth:s?i:0,outset:i}},SquircleView=exports.SquircleView=(0,_react.forwardRef)(({style:r,children:e,onLayout:t,...o},i)=>{const d=_reactNative.StyleSheet.flatten(r)??{},l=readShape(d),s="number"==typeof d.borderRadius?d.borderRadius:0,a=(0,_SquircleFill.useSquircle)(s>0,s,t),u=a.active?a.size:null,n=null!==l&&null!==u;return(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:i,...o,onLayout:a.onLayout,style:[s>0?_corners.smoothCorners:null,r,n?styles.hostTransparent:null],children:[l&&u?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:u.width,height:u.height,radius:l.radius,fill:l.fill,stroke:l.stroke,strokeWidth:l.strokeWidth,outset:l.outset}):null,e]})});SquircleView.displayName="SquircleView";const styles=_reactNative.StyleSheet.create({hostTransparent:{backgroundColor:"transparent",borderColor:"transparent"}});var _default=exports.default=SquircleView;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SquircleView",{enumerable:!0,get:function(){return _SquircleView.SquircleView}});var _SquircleView=require("./SquircleView.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TimePicker=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TimePicker=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_useDragToDismiss=require("../../hooks/useDragToDismiss.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_Button=_interopRequireDefault(require("../Button/Button.js")),_ModalSafeArea=require("../ModalSafeArea/ModalSafeArea.js"),_PickerTrigger=require("../PickerTrigger/PickerTrigger.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_index2=require("../WheelPicker/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const range=(e,t,i=1)=>{const a=[];for(let r=e;r<=t;r+=i)a.push(r);return a},pad2=e=>e.toString().padStart(2,"0"),to24h=(e,t,i)=>"24h"===i?e:"AM"===t?12===e?0:e:12===e?12:e+12,from24h=(e,t)=>"24h"===t?{displayHour:e,period:"AM"}:0===e?{displayHour:12,period:"AM"}:12===e?{displayHour:12,period:"PM"}:e>12?{displayHour:e-12,period:"PM"}:{displayHour:e,period:"AM"},clampMinuteToStep=(e,t)=>{const i=Math.round(e/t)*t;return Math.min(59,Math.max(0,i))},TimePicker=e=>{const{visible:t,value:i,onChange:a,onClose:r,format:s="12h",minuteStep:n=1,title:o="Select Time",confirmLabel:l="Confirm",cancelLabel:u="Cancel",testID:c,style:d,containerStyle:m,headerLabelStyle:p,footerButtonStyle:g,label:h,placeholder:_,helperText:f,error:x,required:y,disabled:b,size:v,variant:j,clearable:M,onClear:N,formatValue:R,triggerStyle:k,haptic:S}=e,T=void 0!==e.visible,[D,P]=(0,_react.useState)(!1),A=T?t:D,w=T?c:c?`${c}-modal`:void 0,H=(0,_index.useTheme)(),[C,q]=(0,_ModalSafeArea.useModalInsets)(),V=(0,_react.useMemo)(()=>buildStyles(H),[H]),B=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,$=(0,_react.useRef)((0,_index.createAnimatedValue)(40)).current,I=(0,_react.useRef)((0,_index.createAnimatedValue)(0)).current,L=(0,_react.useRef)(0),O=(0,_react.useCallback)(()=>{T?r?.():P(!1)},[T,r]),z=(0,_react.useCallback)(()=>{_reactNative.Animated.parallel([_reactNative.Animated.timing(B,{toValue:0,duration:H.motion.duration.fast,easing:_reactNative.Easing.bezier(...H.motion.easing.accelerate),useNativeDriver:!1}),_reactNative.Animated.timing($,{toValue:40,duration:H.motion.duration.fast,easing:_reactNative.Easing.bezier(...H.motion.easing.accelerate),useNativeDriver:!0})]).start(()=>O())},[O,B,$,H.motion.duration.fast,H.motion.easing.accelerate]),{handleGesture:W}=(0,_useDragToDismiss.useDragToDismiss)({drag:I,travel:()=>L.current||320,onDismiss:z}),F=(0,_react.useMemo)(()=>"24h"===s?range(0,23):range(1,12),[s]),E=(0,_react.useMemo)(()=>range(0,59,n),[n]),G=(0,_react.useMemo)(()=>["AM","PM"],[]),U=(0,_react.useMemo)(()=>{const e=i&&Number.isFinite(i.hour)?i.hour:(new Date).getHours(),t=i&&Number.isFinite(i.minute)?i.minute:(new Date).getMinutes(),a=clampMinuteToStep(t,n),{displayHour:r,period:o}=from24h(e,s);return{displayHour:r,minute:a,period:o,hour24:e}},[i,s,n]),[Y,J]=(0,_react.useState)(()=>{const e=F.indexOf(U.displayHour);return e>=0?e:0}),[K,Q]=(0,_react.useState)(()=>{const e=E.indexOf(U.minute);return e>=0?e:0}),[X,Z]=(0,_react.useState)(()=>"PM"===U.period?1:0);(0,_react.useEffect)(()=>{if(!A)return;const e=i&&Number.isFinite(i.hour)?i.hour:(new Date).getHours(),t=i&&Number.isFinite(i.minute)?i.minute:(new Date).getMinutes(),a=clampMinuteToStep(t,n),{displayHour:r,period:o}=from24h(e,s),l=F.indexOf(r);J(l>=0?l:0);const u=E.indexOf(a);Q(u>=0?u:0),Z("PM"===o?1:0)},[A,i,s,n,F,E]),(0,_react.useEffect)(()=>{let e;return A?(e=_reactNative.Animated.parallel([_reactNative.Animated.timing(B,{toValue:1,duration:H.motion.duration.normal,easing:_reactNative.Easing.out(_reactNative.Easing.cubic),useNativeDriver:!1}),_reactNative.Animated.spring($,{toValue:0,damping:H.motion.spring.snappy.damping,stiffness:H.motion.spring.snappy.stiffness,mass:H.motion.spring.snappy.mass,useNativeDriver:!0})]),e.start()):(B.setValue(0),(0,_index.setNativeValue)($,40),(0,_index.setNativeValue)(I,0)),()=>e?.stop()},[A,B,$,I,H.motion]);const ee=(0,_react.useCallback)((e,t)=>{"hour"===e?J(Math.max(0,F.indexOf(Number(t)))):"minute"===e?Q(Math.max(0,E.indexOf(Number(t)))):Z("PM"===t?1:0)},[F,E]),te=(0,_react.useCallback)(()=>{!1!==S&&(0,_hapticUtils.triggerHaptic)("selection"),z()},[z,S]),ie=(0,_react.useCallback)(()=>{const e=F[Y]??0,t=G[X]??"AM",i=to24h(e,t,s),r=E[K]??0;!1!==S&&(0,_hapticUtils.triggerHaptic)("notificationSuccess"),a?.({hour:i,minute:r}),z()},[F,Y,G,X,E,K,s,a,z,S]),ae=(0,_react.useMemo)(()=>{const e=F[Y]??0,t=E[K]??0;if("24h"===s)return`${pad2(e)}:${pad2(t)}`;const i=G[X]??"AM";return`${pad2(e)}:${pad2(t)} ${i}`},[F,Y,E,K,G,X,s]),re=(0,_react.useMemo)(()=>F.map(e=>({value:e,label:pad2(e),accessibilityLabel:`Hour ${e}`})),[F]),se=(0,_react.useMemo)(()=>E.map(e=>({value:e,label:pad2(e),accessibilityLabel:`${e} minutes`})),[E]),ne=(0,_react.useMemo)(()=>G.map(e=>({value:e,label:e})),[G]),oe=(0,_react.useMemo)(()=>{const e=[{key:"hour",label:"Hour",items:re,value:F[Y]??0,separator:":",testID:"time-picker-hour"},{key:"minute",label:"Minute",items:se,value:E[K]??0,gapAfter:"12h"===s?H.spacing.md:void 0,testID:"time-picker-minute"}];return"12h"===s&&e.push({key:"period",label:"Period",items:ne,value:G[X]??"AM",testID:"time-picker-period"}),e},[re,se,ne,F,Y,E,K,G,X,s,H.spacing.md]),le=(0,_react.useCallback)(e=>{if("24h"===s)return`${pad2(e.hour)}:${pad2(e.minute)}`;const{displayHour:t,period:i}=from24h(e.hour,"12h");return`${t}:${pad2(e.minute)} ${i}`},[s]),ue=!T&&i&&Number.isFinite(i.hour)&&Number.isFinite(i.minute)?(R??le)(i):void 0,ce=(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:A,transparent:!0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",onRequestClose:z,testID:w,children:(0,_jsxRuntime.jsx)(_ModalSafeArea.ModalSafeArea,{onInsets:q,children:(0,_jsxRuntime.jsxs)(_reactNativeGestureHandler.GestureHandlerRootView,{collapsable:!1,style:V.backdrop,children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:_reactNative.StyleSheet.absoluteFill,onPress:z,accessibilityLabel:"Close time picker",accessibilityRole:"button"}),(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[V.sheet,{paddingBottom:Math.max(C.bottom,H.spacing.lg),transform:[{translateY:_reactNative.Animated.add($,I)}]},d,m],onLayout:e=>{L.current=e.nativeEvent.layout.height},accessibilityViewIsModal:!0,accessible:!0,accessibilityRole:"none",accessibilityLabel:o,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:W,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:V.handle}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[V.title,p],accessibilityRole:"header",children:o})]})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:V.summaryWrap,accessibilityLiveRegion:"polite",accessibilityLabel:`Selected ${ae}`,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:V.summary,children:ae})}),(0,_jsxRuntime.jsx)(_index2.WheelPicker,{columns:oe,onChange:ee,haptic:S,style:V.wheels}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:V.footer,children:[(0,_jsxRuntime.jsx)(_Button.default,{title:u,haptic:!1,variant:"ghost",tone:"neutral",onPress:te,style:[V.footerBtn,g],accessibilityHint:"Dismiss without changes",testID:"time-picker-cancel"}),(0,_jsxRuntime.jsx)(_Button.default,{title:l,variant:"solid",tone:"primary",haptic:!1,onPress:ie,style:[V.footerBtn,g],accessibilityHint:"Confirm selected time",testID:"time-picker-confirm"})]})]}),(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})})});return T?ce:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_PickerTrigger.PickerTrigger,{label:h,placeholder:_,helperText:f,error:x,required:y,disabled:b,size:v,variant:j,clearable:M,onClear:N,value:ue,onPress:()=>P(!0),triggerStyle:k,testID:c}),ce]})};exports.TimePicker=TimePicker;const buildStyles=e=>{const t=e.shadows.xl;return _reactNative.StyleSheet.create({backdrop:{flex:1,backgroundColor:e.colors.background.overlay,justifyContent:"flex-end"},sheet:{backgroundColor:e.colors.background.elevated,borderTopLeftRadius:e.radius.xl,borderTopRightRadius:e.radius.xl,..._corners.smoothCorners,paddingTop:e.spacing.sm,paddingHorizontal:e.spacing.lg,paddingBottom:e.spacing.xl,shadowColor:t.shadowColor,shadowOffset:t.shadowOffset,shadowOpacity:t.shadowOpacity,shadowRadius:t.shadowRadius,elevation:t.elevation},handle:{alignSelf:"center",width:e.components.timePicker?.handleWidth??36,height:e.components.timePicker?.handleHeight??4,borderRadius:e.radius.full,..._corners.smoothCorners,backgroundColor:e.colors.border.secondary,marginBottom:e.spacing.sm},title:{textAlign:"center",fontSize:e.typography.fontSize.lg,fontWeight:e.typography.fontWeight.semibold,color:e.colors.text.primary,marginBottom:e.spacing.sm},summaryWrap:{alignItems:"center",marginBottom:e.spacing.md},summary:{fontSize:e.typography.fontSize["2xl"],fontWeight:e.typography.fontWeight.bold,color:e.colors.primary,letterSpacing:e.typography.letterSpacing.wide},wheels:{marginBottom:e.spacing.lg},footer:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",gap:e.spacing.sm},footerBtn:{paddingHorizontal:e.spacing.lg}})};var _default=exports.default=TimePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Tooltip=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_mergeRefs=require("../../utils/mergeRefs.js"),_placement=require("../../utils/placement.js"),_focusHost=require("../Menu/focusHost.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_RichTooltipBody=require("./RichTooltipBody.js"),_tooltipPosition=require("./tooltipPosition.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Tooltip=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_mergeRefs=require("../../utils/mergeRefs.js"),_placement=require("../../utils/placement.js"),_focusHost=require("../Menu/focusHost.js"),_ModalSafeArea=require("../ModalSafeArea/ModalSafeArea.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_RichTooltipBody=require("./RichTooltipBody.js"),_tooltipPosition=require("./tooltipPosition.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,a,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(i=t?o:r){if(i.has(e))return i.get(e);i.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?i(s,t,a):s[t]=e[t]);return s})(e,t)}const DEFAULT_TOOLTIP_GAP=8,DEFAULT_SCREEN_PADDING=8,DEFAULT_PRESS_AUTO_HIDE_MS=4e3,DEFAULT_ARROW_HALF_WIDTH=4,DEFAULT_ARROW_HEIGHT=6,DEFAULT_ARROW_CORNER_PADDING=12,DEFAULT_MAX_WIDTH=240,RICH_MAX_WIDTH=280,DEFAULT_LINE_HEIGHT=18,Tooltip=e=>{const{content:t,children:r,variant:o="plain",title:i,action:a,placement:s="auto",visible:n,onVisibleChange:l,hideOnContentPress:c=!0,maxWidth:u,showArrow:d=!0,accessibilityLabel:_,style:f,containerStyle:p,arrowStyle:m,messageStyle:h,closeLabel:g="Close tooltip",testID:b}=e,v="rich"===o,R=e.trigger??(v?"press":"longPress"),x=(0,_index.useTheme)(),y=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),[T,j]=(0,_ModalSafeArea.useModalInsets)(),A=(0,_react.useMemo)(()=>({...y,top:T.top,bottom:T.bottom}),[y,T]),w=(0,_reactNative.useWindowDimensions)(),S=(0,_react.useMemo)(()=>buildStyles(x),[x]),N=x.components.tooltip,P=N?.gap??8,C=N?.screenPadding??8,D=N?.pressAutoHideMs??4e3,M=N?.arrowHalfWidth??4,E=N?.arrowHeight??6,H=N?.arrowCornerPadding??12,L=N?.lineHeight??18,W=u??(v?280:N?.maxWidth??240),O="press"===R&&!v,q=N?.enableScaleAnimation??!1,I=N?.exitDurationMs??150,F="manual"===R||"boolean"==typeof n,[k,V]=(0,_react.useState)(!1),U=F?Boolean(n):k,[B,z]=(0,_react.useState)(null),[G,X]=(0,_react.useState)({width:0,height:0}),Y=(0,_react.useRef)(null),J=(0,_react.useRef)(null),K=(0,_react.useRef)(null),Q=(0,_react.useRef)(null),Z=(0,_react.useRef)(null),$=(0,_react.useRef)(!1),ee=(0,_react.useRef)(!1),te=(0,_react.useRef)((0,_index.createAnimatedValue)(U?1:q?.85:1)).current,re=(0,_react.useRef)((0,_index.createAnimatedValue)(U?1:0)).current,oe=(0,_react.useRef)(null),ie=(0,_react.useRef)(!1),ae=(0,_react.useCallback)(e=>{F||V(e),l?.(e)},[F,l]),se=(0,_react.useCallback)(()=>{Y.current&&Y.current.measureInWindow((e,t,r,o)=>{z({x:e,y:t,width:r,height:o})})},[]),ne=(0,_react.useCallback)(e=>{se(),ae(!0)},[se,ae]),le=(0,_react.useCallback)(()=>{ae(!1)},[ae]),ce=(0,_react.useRef)(le);ce.current=le;const ue=(0,_react.useCallback)(()=>{if(!$.current)return;$.current=!1;const e=Z.current;Z.current=null,e?e():v&&(0,_focusHost.focusHost)(J.current??Y.current)},[v]);(0,_react.useEffect)(()=>{if(U)return ee.current=!0,$.current=!1,(0,_placement.claimAnchoredSurface)(()=>ce.current());ee.current&&(ee.current=!1,$.current=!0,"ios"!==_reactNative.Platform.OS&&ue())},[U]);const de=(0,_react.useCallback)(()=>{Z.current=a?.onPress??null,le()},[a,le]);(0,_react.useEffect)(()=>{if(!ie.current)return ie.current=!0,U&&(se(),O&&(oe.current&&clearTimeout(oe.current),oe.current=setTimeout(()=>{le()},D))),()=>{oe.current&&(clearTimeout(oe.current),oe.current=null)};let e;if(U){se();const t=[_reactNative.Animated.timing(re,{toValue:1,duration:x.motion.duration.fast,useNativeDriver:!0})];q&&t.push(_reactNative.Animated.spring(te,{toValue:1,damping:x.motion.spring.snappy.damping,stiffness:x.motion.spring.snappy.stiffness,mass:x.motion.spring.snappy.mass,useNativeDriver:!0})),e=_reactNative.Animated.parallel(t),e.start(),O&&(oe.current&&clearTimeout(oe.current),oe.current=setTimeout(()=>{le()},D))}else{const t=[_reactNative.Animated.timing(re,{toValue:0,duration:I,easing:_reactNative.Easing.bezier(...x.motion.easing.accelerate),useNativeDriver:!0})];q&&t.push(_reactNative.Animated.timing(te,{toValue:.85,duration:I,easing:_reactNative.Easing.bezier(...x.motion.easing.accelerate),useNativeDriver:!0})),e=_reactNative.Animated.parallel(t),e.start(),oe.current&&(clearTimeout(oe.current),oe.current=null)}return()=>{e?.stop(),oe.current&&(clearTimeout(oe.current),oe.current=null)}},[U]);const handleContentLayout=e=>{const{width:t,height:r}=e.nativeEvent.layout;t===G.width&&r===G.height||X({width:t,height:r})},fe=(0,_react.useMemo)(()=>(0,_tooltipPosition.resolveTooltipPosition)({anchor:B,size:G,placement:s,rich:v,viewport:{width:w.width,height:w.height,insets:A},maxWidth:W,gap:P,padding:C,arrowCornerPadding:H}),[B,G,s,v,w.width,w.height,A,W,P,C,H]),pe=U&&null!==B&&G.width>0;(0,_react.useEffect)(()=>{if(!v||!pe)return;const e="web"===_reactNative.Platform.OS?Q:K,t=setTimeout(()=>(0,_focusHost.focusHost)(e.current),_focusHost.FOCUS_DELAY_MS);return()=>clearTimeout(t)},[v,pe]);const me=r.props,he=(0,_react.useMemo)(()=>(0,_mergeRefs.mergeRefs)(me.ref,J),[me.ref]),ge={};"longPress"!==R||me.contextMenu?"press"===R&&(ge.onPress=e=>{me.onPress?.(e),ne(e)}):(ge.onLongPress=ne,ge.accessibilityHint="Long press for more info"),v&&(ge.ref=he);const be=_react.default.cloneElement(r,ge),ve=_??("string"==typeof t?t:"Tooltip"),Re=(0,_react.useMemo)(()=>{if(!d)return null;const e=v?x.colors.background.elevated:x.colors.background.inverse,t={position:"absolute",width:0,height:0,backgroundColor:"transparent",borderStyle:"solid",borderLeftWidth:M,borderRightWidth:M,borderBottomWidth:E,borderTopWidth:0,borderLeftColor:"transparent",borderRightColor:"transparent",borderTopColor:"transparent",borderBottomColor:e};return"top"===fe.placement?{...t,bottom:-E,left:fe.arrowOffset-M,transform:[{rotate:"180deg"}]}:"bottom"===fe.placement?{...t,top:-E,left:fe.arrowOffset-M}:"left"===fe.placement?{...t,right:-E,top:fe.arrowOffset-M,transform:[{rotate:"90deg"}]}:{...t,left:-E,top:fe.arrowOffset-M,transform:[{rotate:"-90deg"}]}},[d,fe,x,v,M,E]),xe={position:"absolute",top:fe.top,left:fe.left,maxWidth:W,opacity:pe?re:0,transform:[{scale:te}]},ye=Re?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Re,m],pointerEvents:"none"}):null;return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{ref:Y,collapsable:!1,onLayout:se,testID:b,children:be}),(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:U,transparent:!0,statusBarTranslucent:!0,presentationStyle:"overFullScreen",animationType:"none",onRequestClose:le,onDismiss:ue,children:(0,_jsxRuntime.jsxs)(_ModalSafeArea.ModalSafeArea,{onInsets:j,children:[v?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:_reactNative.StyleSheet.absoluteFill,onPress:c?le:void 0,accessibilityLabel:g,accessibilityRole:"button"}),U?(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{onLayout:handleContentLayout,style:[xe,f,p],children:[(0,_jsxRuntime.jsx)(_RichTooltipBody.RichTooltipBody,{title:i,content:t,action:a,onAction:de,focusRef:K,actionRef:Q,messageStyle:h}),ye]}):null]}):(0,_jsxRuntime.jsx)(_reactNative.Pressable,{style:_reactNative.StyleSheet.absoluteFill,onPress:c?le:void 0,accessibilityLabel:g,accessibilityRole:"button",children:U?(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{accessibilityRole:"tooltip",accessibilityLiveRegion:"polite",accessibilityLabel:ve,onLayout:handleContentLayout,style:[xe,f,p],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.tooltip,{backgroundColor:x.colors.background.inverse,borderRadius:x.radius.md,..._corners.smoothCorners,paddingHorizontal:x.spacing.md,paddingVertical:x.spacing.sm,...x.shadows.lg,shadowColor:x.shadows.lg.shadowColor}],children:"string"==typeof t?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[{color:x.colors.text.inverse,fontSize:x.typography.fontSize.sm,lineHeight:L},h],children:t}):t}),ye]}):null}),(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})})]})};exports.Tooltip=Tooltip;const buildStyles=e=>_reactNative.StyleSheet.create({tooltip:{overflow:"hidden"}});var _default=exports.default=Tooltip;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ALL_CALLING_CODES",{enumerable:!0,get:function(){return _index58.ALL_CALLING_CODES}}),Object.defineProperty(exports,"Accordion",{enumerable:!0,get:function(){return _index.Accordion}}),Object.defineProperty(exports,"AccordionGroup",{enumerable:!0,get:function(){return _index.AccordionGroup}}),Object.defineProperty(exports,"AmountSlider",{enumerable:!0,get:function(){return _index2.AmountSlider}}),Object.defineProperty(exports,"AnimatePresence",{enumerable:!0,get:function(){return _index3.AnimatePresence}}),Object.defineProperty(exports,"AppBar",{enumerable:!0,get:function(){return _index4.AppBar}}),Object.defineProperty(exports,"AsyncBlock",{enumerable:!0,get:function(){return _index5.AsyncBlock}}),Object.defineProperty(exports,"AuthedImage",{enumerable:!0,get:function(){return _index6.AuthedImage}}),Object.defineProperty(exports,"Autocomplete",{enumerable:!0,get:function(){return _index7.Autocomplete}}),Object.defineProperty(exports,"Avatar",{enumerable:!0,get:function(){return _index8.Avatar}}),Object.defineProperty(exports,"AvatarGroup",{enumerable:!0,get:function(){return _index8.AvatarGroup}}),Object.defineProperty(exports,"Badge",{enumerable:!0,get:function(){return _index9.Badge}}),Object.defineProperty(exports,"Banner",{enumerable:!0,get:function(){return _index0.Banner}}),Object.defineProperty(exports,"BarChart",{enumerable:!0,get:function(){return _index1.BarChart}}),Object.defineProperty(exports,"BottomNavigation",{enumerable:!0,get:function(){return _index10.BottomNavigation}}),Object.defineProperty(exports,"BottomSheet",{enumerable:!0,get:function(){return _index11.BottomSheet}}),Object.defineProperty(exports,"Box",{enumerable:!0,get:function(){return _index12.Box}}),Object.defineProperty(exports,"Button",{enumerable:!0,get:function(){return _index13.Button}}),Object.defineProperty(exports,"Calendar",{enumerable:!0,get:function(){return _index14.Calendar}}),Object.defineProperty(exports,"Card",{enumerable:!0,get:function(){return _index15.Card}}),Object.defineProperty(exports,"Carousel",{enumerable:!0,get:function(){return _index16.Carousel}}),Object.defineProperty(exports,"Checkbox",{enumerable:!0,get:function(){return _index17.Checkbox}}),Object.defineProperty(exports,"Chip",{enumerable:!0,get:function(){return _index18.Chip}}),Object.defineProperty(exports,"ChoiceGroup",{enumerable:!0,get:function(){return _index19.ChoiceGroup}}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _index20.Composer}}),Object.defineProperty(exports,"Confetti",{enumerable:!0,get:function(){return _index21.Confetti}}),Object.defineProperty(exports,"DEFAULT_CALLING_CODES",{enumerable:!0,get:function(){return _index58.DEFAULT_CALLING_CODES}}),Object.defineProperty(exports,"DEFAULT_DATE_SEPARATOR_LABELS",{enumerable:!0,get:function(){return _index24.DEFAULT_DATE_SEPARATOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_BUBBLE_LABELS",{enumerable:!0,get:function(){return _index48.DEFAULT_MESSAGE_BUBBLE_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_LIST_LABELS",{enumerable:!0,get:function(){return _index49.DEFAULT_MESSAGE_LIST_LABELS}}),Object.defineProperty(exports,"DatePicker",{enumerable:!0,get:function(){return _index22.DatePicker}}),Object.defineProperty(exports,"DateRangePicker",{enumerable:!0,get:function(){return _index23.DateRangePicker}}),Object.defineProperty(exports,"DateSeparator",{enumerable:!0,get:function(){return _index24.DateSeparator}}),Object.defineProperty(exports,"DecimalInput",{enumerable:!0,get:function(){return _index25.DecimalInput}}),Object.defineProperty(exports,"Descriptions",{enumerable:!0,get:function(){return _index26.Descriptions}}),Object.defineProperty(exports,"Dialog",{enumerable:!0,get:function(){return _index27.Dialog}}),Object.defineProperty(exports,"Divider",{enumerable:!0,get:function(){return _index28.Divider}}),Object.defineProperty(exports,"Drawer",{enumerable:!0,get:function(){return _index29.Drawer}}),Object.defineProperty(exports,"EmptyState",{enumerable:!0,get:function(){return _index30.EmptyState}}),Object.defineProperty(exports,"ErrorBoundary",{enumerable:!0,get:function(){return _index31.ErrorBoundary}}),Object.defineProperty(exports,"FilePicker",{enumerable:!0,get:function(){return _index32.FilePicker}}),Object.defineProperty(exports,"FileViewer",{enumerable:!0,get:function(){return _index33.FileViewer}}),Object.defineProperty(exports,"FloatingActionButton",{enumerable:!0,get:function(){return _index34.FloatingActionButton}}),Object.defineProperty(exports,"FloatingActionButtonGroup",{enumerable:!0,get:function(){return _index34.FloatingActionButtonGroup}}),Object.defineProperty(exports,"ForceUpdateDialog",{enumerable:!0,get:function(){return _index35.ForceUpdateDialog}}),Object.defineProperty(exports,"FormField",{enumerable:!0,get:function(){return _index36.FormField}}),Object.defineProperty(exports,"IconBadge",{enumerable:!0,get:function(){return _index37.IconBadge}}),Object.defineProperty(exports,"IconButton",{enumerable:!0,get:function(){return _index38.IconButton}}),Object.defineProperty(exports,"ImageGallery",{enumerable:!0,get:function(){return _index39.ImageGallery}}),Object.defineProperty(exports,"InlineSelect",{enumerable:!0,get:function(){return _index40.InlineSelect}}),Object.defineProperty(exports,"Input",{enumerable:!0,get:function(){return _index41.Input}}),Object.defineProperty(exports,"KeyboardAwareScrollView",{enumerable:!0,get:function(){return _index42.KeyboardAwareScrollView}}),Object.defineProperty(exports,"KeyboardToolbar",{enumerable:!0,get:function(){return _index43.KeyboardToolbar}}),Object.defineProperty(exports,"ListItem",{enumerable:!0,get:function(){return _index44.ListItem}}),Object.defineProperty(exports,"LoaderOverlay",{enumerable:!0,get:function(){return _index45.LoaderOverlay}}),Object.defineProperty(exports,"MODAL_DISMISS_GRACE_MS",{enumerable:!0,get:function(){return _index50.MODAL_DISMISS_GRACE_MS}}),Object.defineProperty(exports,"Markdown",{enumerable:!0,get:function(){return _index46.Markdown}}),Object.defineProperty(exports,"Menu",{enumerable:!0,get:function(){return _index47.Menu}}),Object.defineProperty(exports,"MessageBubble",{enumerable:!0,get:function(){return _index48.MessageBubble}}),Object.defineProperty(exports,"MessageList",{enumerable:!0,get:function(){return _index49.MessageList}}),Object.defineProperty(exports,"Modal",{enumerable:!0,get:function(){return _index50.Modal}}),Object.defineProperty(exports,"Notation",{enumerable:!0,get:function(){return _index51.Notation}}),Object.defineProperty(exports,"NumberInput",{enumerable:!0,get:function(){return _index52.NumberInput}}),Object.defineProperty(exports,"OTPInput",{enumerable:!0,get:function(){return _index55.OTPInput}}),Object.defineProperty(exports,"OnboardingPager",{enumerable:!0,get:function(){return _index53.OnboardingPager}}),Object.defineProperty(exports,"OptionSheet",{enumerable:!0,get:function(){return _index54.OptionSheet}}),Object.defineProperty(exports,"PaymentResult",{enumerable:!0,get:function(){return _index56.PaymentResult}}),Object.defineProperty(exports,"PermissionPrompt",{enumerable:!0,get:function(){return _index57.PermissionPrompt}}),Object.defineProperty(exports,"PhoneNumberInput",{enumerable:!0,get:function(){return _index58.PhoneNumberInput}}),Object.defineProperty(exports,"PickerTrigger",{enumerable:!0,get:function(){return _index59.PickerTrigger}}),Object.defineProperty(exports,"ProfileCompletion",{enumerable:!0,get:function(){return _index60.ProfileCompletion}}),Object.defineProperty(exports,"ProfilePicker",{enumerable:!0,get:function(){return _index61.ProfilePicker}}),Object.defineProperty(exports,"ProgressBar",{enumerable:!0,get:function(){return _index62.ProgressBar}}),Object.defineProperty(exports,"ProgressRing",{enumerable:!0,get:function(){return _index63.ProgressRing}}),Object.defineProperty(exports,"Radio",{enumerable:!0,get:function(){return _index64.Radio}}),Object.defineProperty(exports,"RadioDot",{enumerable:!0,get:function(){return _index64.RadioDot}}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:function(){return _index64.RadioGroup}}),Object.defineProperty(exports,"Rating",{enumerable:!0,get:function(){return _index65.Rating}}),Object.defineProperty(exports,"Repeater",{enumerable:!0,get:function(){return _index66.Repeater}}),Object.defineProperty(exports,"RichTextEditor",{enumerable:!0,get:function(){return _index67.RichTextEditor}}),Object.defineProperty(exports,"Row",{enumerable:!0,get:function(){return _index12.Row}}),Object.defineProperty(exports,"ScannerOverlay",{enumerable:!0,get:function(){return _index68.ScannerOverlay}}),Object.defineProperty(exports,"SearchBar",{enumerable:!0,get:function(){return _index69.SearchBar}}),Object.defineProperty(exports,"SectionHeader",{enumerable:!0,get:function(){return _index70.SectionHeader}}),Object.defineProperty(exports,"SegmentedControl",{enumerable:!0,get:function(){return _index71.SegmentedControl}}),Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return _index72.Select}}),Object.defineProperty(exports,"SignaturePad",{enumerable:!0,get:function(){return _index73.SignaturePad}}),Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return _index74.Skeleton}}),Object.defineProperty(exports,"SkeletonCircle",{enumerable:!0,get:function(){return _index74.SkeletonCircle}}),Object.defineProperty(exports,"SkeletonClockProvider",{enumerable:!0,get:function(){return _index74.SkeletonClockProvider}}),Object.defineProperty(exports,"SkeletonContent",{enumerable:!0,get:function(){return _index74.SkeletonContent}}),Object.defineProperty(exports,"SkeletonList",{enumerable:!0,get:function(){return _index74.SkeletonList}}),Object.defineProperty(exports,"SkeletonProvider",{enumerable:!0,get:function(){return _index74.SkeletonProvider}}),Object.defineProperty(exports,"SkeletonSkip",{enumerable:!0,get:function(){return _index74.SkeletonSkip}}),Object.defineProperty(exports,"SkeletonText",{enumerable:!0,get:function(){return _index74.SkeletonText}}),Object.defineProperty(exports,"SlideToConfirm",{enumerable:!0,get:function(){return _index77.SlideToConfirm}}),Object.defineProperty(exports,"Slider",{enumerable:!0,get:function(){return _index75.Slider}}),Object.defineProperty(exports,"SliderField",{enumerable:!0,get:function(){return _index76.SliderField}}),Object.defineProperty(exports,"Spacer",{enumerable:!0,get:function(){return _index12.Spacer}}),Object.defineProperty(exports,"Sparkline",{enumerable:!0,get:function(){return _index78.Sparkline}}),Object.defineProperty(exports,"Spinner",{enumerable:!0,get:function(){return _index79.Spinner}}),Object.defineProperty(exports,"Stack",{enumerable:!0,get:function(){return _index12.Stack}}),Object.defineProperty(exports,"StatTile",{enumerable:!0,get:function(){return _index80.StatTile}}),Object.defineProperty(exports,"StatusBadge",{enumerable:!0,get:function(){return _index81.StatusBadge}}),Object.defineProperty(exports,"Stepper",{enumerable:!0,get:function(){return _index82.Stepper}}),Object.defineProperty(exports,"Swipeable",{enumerable:!0,get:function(){return _index83.Swipeable}}),Object.defineProperty(exports,"Switch",{enumerable:!0,get:function(){return _index84.Switch}}),Object.defineProperty(exports,"Tabs",{enumerable:!0,get:function(){return _index85.Tabs}}),Object.defineProperty(exports,"TagInput",{enumerable:!0,get:function(){return _index86.TagInput}}),Object.defineProperty(exports,"Text",{enumerable:!0,get:function(){return _index87.Text}}),Object.defineProperty(exports,"TimePicker",{enumerable:!0,get:function(){return _index89.TimePicker}}),Object.defineProperty(exports,"Timeline",{enumerable:!0,get:function(){return _index88.Timeline}}),Object.defineProperty(exports,"Toast",{enumerable:!0,get:function(){return _index90.Toast}}),Object.defineProperty(exports,"ToastHost",{enumerable:!0,get:function(){return _index90.ToastHost}}),Object.defineProperty(exports,"ToastProvider",{enumerable:!0,get:function(){return _index90.ToastProvider}}),Object.defineProperty(exports,"Tooltip",{enumerable:!0,get:function(){return _index91.Tooltip}}),Object.defineProperty(exports,"Tour",{enumerable:!0,get:function(){return _index92.Tour}}),Object.defineProperty(exports,"TypingIndicator",{enumerable:!0,get:function(){return _index93.TypingIndicator}}),Object.defineProperty(exports,"WheelPicker",{enumerable:!0,get:function(){return _index94.WheelPicker}}),Object.defineProperty(exports,"ZoomableImage",{enumerable:!0,get:function(){return _index95.ZoomableImage}}),Object.defineProperty(exports,"applyMarkdownAction",{enumerable:!0,get:function(){return _index67.applyMarkdownAction}}),Object.defineProperty(exports,"authedImageCacheStats",{enumerable:!0,get:function(){return _index6.authedImageCacheStats}}),Object.defineProperty(exports,"cleanDecimalText",{enumerable:!0,get:function(){return _index25.cleanDecimalText}}),Object.defineProperty(exports,"clearAuthedImageCache",{enumerable:!0,get:function(){return _index6.clearAuthedImageCache}}),Object.defineProperty(exports,"dayLabel",{enumerable:!0,get:function(){return _index24.dayLabel}}),Object.defineProperty(exports,"formatE164",{enumerable:!0,get:function(){return _index58.formatE164}}),Object.defineProperty(exports,"formatFileSize",{enumerable:!0,get:function(){return _index32.formatFileSize}}),Object.defineProperty(exports,"getAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index6.getAuthedImageCacheLimit}}),Object.defineProperty(exports,"loader",{enumerable:!0,get:function(){return _index45.loader}}),Object.defineProperty(exports,"parseDecimalText",{enumerable:!0,get:function(){return _index25.parseDecimalText}}),Object.defineProperty(exports,"parseE164",{enumerable:!0,get:function(){return _index58.parseE164}}),Object.defineProperty(exports,"parseNotation",{enumerable:!0,get:function(){return _index51.parseNotation}}),Object.defineProperty(exports,"setAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index6.setAuthedImageCacheLimit}}),Object.defineProperty(exports,"sym",{enumerable:!0,get:function(){return _index51.sym}}),Object.defineProperty(exports,"toast",{enumerable:!0,get:function(){return _index90.toast}}),Object.defineProperty(exports,"useBottomSheet",{enumerable:!0,get:function(){return _index11.useBottomSheet}}),Object.defineProperty(exports,"useErrorHandler",{enumerable:!0,get:function(){return _index31.useErrorHandler}}),Object.defineProperty(exports,"useLoader",{enumerable:!0,get:function(){return _index45.useLoader}}),Object.defineProperty(exports,"usePermissionPrompt",{enumerable:!0,get:function(){return _index57.usePermissionPrompt}}),Object.defineProperty(exports,"useRecentSearches",{enumerable:!0,get:function(){return _index69.useRecentSearches}}),Object.defineProperty(exports,"useReduceMotion",{enumerable:!0,get:function(){return _index74.useReduceMotion}}),Object.defineProperty(exports,"useSheetSwap",{enumerable:!0,get:function(){return _index11.useSheetSwap}}),Object.defineProperty(exports,"useSkeletonClock",{enumerable:!0,get:function(){return _index74.useSkeletonClock}}),Object.defineProperty(exports,"useSkeletonDefaults",{enumerable:!0,get:function(){return _index74.useSkeletonDefaults}}),Object.defineProperty(exports,"useToast",{enumerable:!0,get:function(){return _index90.useToast}}),Object.defineProperty(exports,"withErrorBoundary",{enumerable:!0,get:function(){return _index31.withErrorBoundary}});var _index=require("./Accordion/index.js"),_index2=require("./AmountSlider/index.js"),_index3=require("./AnimatePresence/index.js"),_index4=require("./AppBar/index.js"),_index5=require("./AsyncBlock/index.js"),_index6=require("./AuthedImage/index.js"),_index7=require("./Autocomplete/index.js"),_index8=require("./Avatar/index.js"),_index9=require("./Badge/index.js"),_index0=require("./Banner/index.js"),_index1=require("./BarChart/index.js"),_index10=require("./BottomNavigation/index.js"),_index11=require("./BottomSheet/index.js"),_index12=require("./Box/index.js"),_index13=require("./Button/index.js"),_index14=require("./Calendar/index.js"),_index15=require("./Card/index.js"),_index16=require("./Carousel/index.js"),_index17=require("./Checkbox/index.js"),_index18=require("./Chip/index.js"),_index19=require("./ChoiceGroup/index.js"),_index20=require("./Composer/index.js"),_index21=require("./Confetti/index.js"),_index22=require("./DatePicker/index.js"),_index23=require("./DateRangePicker/index.js"),_index24=require("./DateSeparator/index.js"),_index25=require("./DecimalInput/index.js"),_index26=require("./Descriptions/index.js"),_index27=require("./Dialog/index.js"),_index28=require("./Divider/index.js"),_index29=require("./Drawer/index.js"),_index30=require("./EmptyState/index.js"),_index31=require("./ErrorBoundary/index.js"),_index32=require("./FilePicker/index.js"),_index33=require("./FileViewer/index.js"),_index34=require("./FloatingActionButton/index.js"),_index35=require("./ForceUpdateDialog/index.js"),_index36=require("./FormField/index.js"),_index37=require("./IconBadge/index.js"),_index38=require("./IconButton/index.js"),_index39=require("./ImageGallery/index.js"),_index40=require("./InlineSelect/index.js"),_index41=require("./Input/index.js"),_index42=require("./KeyboardAwareScrollView/index.js"),_index43=require("./KeyboardToolbar/index.js"),_index44=require("./ListItem/index.js"),_index45=require("./LoaderOverlay/index.js"),_index46=require("./Markdown/index.js"),_index47=require("./Menu/index.js"),_index48=require("./MessageBubble/index.js"),_index49=require("./MessageList/index.js"),_index50=require("./Modal/index.js"),_index51=require("./Notation/index.js"),_index52=require("./NumberInput/index.js"),_index53=require("./OnboardingPager/index.js"),_index54=require("./OptionSheet/index.js"),_index55=require("./OTPInput/index.js"),_index56=require("./PaymentResult/index.js"),_index57=require("./PermissionPrompt/index.js"),_index58=require("./PhoneNumberInput/index.js"),_index59=require("./PickerTrigger/index.js"),_index60=require("./ProfileCompletion/index.js"),_index61=require("./ProfilePicker/index.js"),_index62=require("./ProgressBar/index.js"),_index63=require("./ProgressRing/index.js"),_index64=require("./Radio/index.js"),_index65=require("./Rating/index.js"),_index66=require("./Repeater/index.js"),_index67=require("./RichTextEditor/index.js"),_index68=require("./ScannerOverlay/index.js"),_index69=require("./SearchBar/index.js"),_index70=require("./SectionHeader/index.js"),_index71=require("./SegmentedControl/index.js"),_index72=require("./Select/index.js"),_index73=require("./SignaturePad/index.js"),_index74=require("./Skeleton/index.js"),_index75=require("./Slider/index.js"),_index76=require("./SliderField/index.js"),_index77=require("./SlideToConfirm/index.js"),_index78=require("./Sparkline/index.js"),_index79=require("./Spinner/index.js"),_index80=require("./StatTile/index.js"),_index81=require("./StatusBadge/index.js"),_index82=require("./Stepper/index.js"),_index83=require("./Swipeable/index.js"),_index84=require("./Switch/index.js"),_index85=require("./Tabs/index.js"),_index86=require("./TagInput/index.js"),_index87=require("./Text/index.js"),_index88=require("./Timeline/index.js"),_index89=require("./TimePicker/index.js"),_index90=require("./Toast/index.js"),_index91=require("./Tooltip/index.js"),_index92=require("./Tour/index.js"),_index93=require("./TypingIndicator/index.js"),_index94=require("./WheelPicker/index.js"),_index95=require("./ZoomableImage/index.js");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ALL_CALLING_CODES",{enumerable:!0,get:function(){return _index59.ALL_CALLING_CODES}}),Object.defineProperty(exports,"Accordion",{enumerable:!0,get:function(){return _index.Accordion}}),Object.defineProperty(exports,"AccordionGroup",{enumerable:!0,get:function(){return _index.AccordionGroup}}),Object.defineProperty(exports,"AmountSlider",{enumerable:!0,get:function(){return _index2.AmountSlider}}),Object.defineProperty(exports,"AnimatePresence",{enumerable:!0,get:function(){return _index3.AnimatePresence}}),Object.defineProperty(exports,"AppBar",{enumerable:!0,get:function(){return _index4.AppBar}}),Object.defineProperty(exports,"AsyncBlock",{enumerable:!0,get:function(){return _index5.AsyncBlock}}),Object.defineProperty(exports,"AuthedImage",{enumerable:!0,get:function(){return _index6.AuthedImage}}),Object.defineProperty(exports,"Autocomplete",{enumerable:!0,get:function(){return _index7.Autocomplete}}),Object.defineProperty(exports,"Avatar",{enumerable:!0,get:function(){return _index8.Avatar}}),Object.defineProperty(exports,"AvatarGroup",{enumerable:!0,get:function(){return _index8.AvatarGroup}}),Object.defineProperty(exports,"Badge",{enumerable:!0,get:function(){return _index9.Badge}}),Object.defineProperty(exports,"Banner",{enumerable:!0,get:function(){return _index0.Banner}}),Object.defineProperty(exports,"BarChart",{enumerable:!0,get:function(){return _index1.BarChart}}),Object.defineProperty(exports,"BottomNavigation",{enumerable:!0,get:function(){return _index10.BottomNavigation}}),Object.defineProperty(exports,"BottomSheet",{enumerable:!0,get:function(){return _index11.BottomSheet}}),Object.defineProperty(exports,"Box",{enumerable:!0,get:function(){return _index12.Box}}),Object.defineProperty(exports,"Button",{enumerable:!0,get:function(){return _index13.Button}}),Object.defineProperty(exports,"Calendar",{enumerable:!0,get:function(){return _index14.Calendar}}),Object.defineProperty(exports,"Card",{enumerable:!0,get:function(){return _index15.Card}}),Object.defineProperty(exports,"Carousel",{enumerable:!0,get:function(){return _index16.Carousel}}),Object.defineProperty(exports,"Checkbox",{enumerable:!0,get:function(){return _index17.Checkbox}}),Object.defineProperty(exports,"Chip",{enumerable:!0,get:function(){return _index18.Chip}}),Object.defineProperty(exports,"ChoiceGroup",{enumerable:!0,get:function(){return _index19.ChoiceGroup}}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _index20.Composer}}),Object.defineProperty(exports,"Confetti",{enumerable:!0,get:function(){return _index21.Confetti}}),Object.defineProperty(exports,"DEFAULT_CALLING_CODES",{enumerable:!0,get:function(){return _index59.DEFAULT_CALLING_CODES}}),Object.defineProperty(exports,"DEFAULT_DATE_SEPARATOR_LABELS",{enumerable:!0,get:function(){return _index24.DEFAULT_DATE_SEPARATOR_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_BUBBLE_LABELS",{enumerable:!0,get:function(){return _index49.DEFAULT_MESSAGE_BUBBLE_LABELS}}),Object.defineProperty(exports,"DEFAULT_MESSAGE_LIST_LABELS",{enumerable:!0,get:function(){return _index50.DEFAULT_MESSAGE_LIST_LABELS}}),Object.defineProperty(exports,"DatePicker",{enumerable:!0,get:function(){return _index22.DatePicker}}),Object.defineProperty(exports,"DateRangePicker",{enumerable:!0,get:function(){return _index23.DateRangePicker}}),Object.defineProperty(exports,"DateSeparator",{enumerable:!0,get:function(){return _index24.DateSeparator}}),Object.defineProperty(exports,"DecimalInput",{enumerable:!0,get:function(){return _index25.DecimalInput}}),Object.defineProperty(exports,"Descriptions",{enumerable:!0,get:function(){return _index26.Descriptions}}),Object.defineProperty(exports,"Dialog",{enumerable:!0,get:function(){return _index27.Dialog}}),Object.defineProperty(exports,"Divider",{enumerable:!0,get:function(){return _index28.Divider}}),Object.defineProperty(exports,"Drawer",{enumerable:!0,get:function(){return _index29.Drawer}}),Object.defineProperty(exports,"EmptyState",{enumerable:!0,get:function(){return _index30.EmptyState}}),Object.defineProperty(exports,"ErrorBoundary",{enumerable:!0,get:function(){return _index31.ErrorBoundary}}),Object.defineProperty(exports,"FilePicker",{enumerable:!0,get:function(){return _index32.FilePicker}}),Object.defineProperty(exports,"FileViewer",{enumerable:!0,get:function(){return _index33.FileViewer}}),Object.defineProperty(exports,"FilterChipRow",{enumerable:!0,get:function(){return _index34.FilterChipRow}}),Object.defineProperty(exports,"FloatingActionButton",{enumerable:!0,get:function(){return _index35.FloatingActionButton}}),Object.defineProperty(exports,"FloatingActionButtonGroup",{enumerable:!0,get:function(){return _index35.FloatingActionButtonGroup}}),Object.defineProperty(exports,"ForceUpdateDialog",{enumerable:!0,get:function(){return _index36.ForceUpdateDialog}}),Object.defineProperty(exports,"FormField",{enumerable:!0,get:function(){return _index37.FormField}}),Object.defineProperty(exports,"IconBadge",{enumerable:!0,get:function(){return _index38.IconBadge}}),Object.defineProperty(exports,"IconButton",{enumerable:!0,get:function(){return _index39.IconButton}}),Object.defineProperty(exports,"ImageGallery",{enumerable:!0,get:function(){return _index40.ImageGallery}}),Object.defineProperty(exports,"InlineSelect",{enumerable:!0,get:function(){return _index41.InlineSelect}}),Object.defineProperty(exports,"Input",{enumerable:!0,get:function(){return _index42.Input}}),Object.defineProperty(exports,"KeyboardAwareScrollView",{enumerable:!0,get:function(){return _index43.KeyboardAwareScrollView}}),Object.defineProperty(exports,"KeyboardToolbar",{enumerable:!0,get:function(){return _index44.KeyboardToolbar}}),Object.defineProperty(exports,"ListItem",{enumerable:!0,get:function(){return _index45.ListItem}}),Object.defineProperty(exports,"LoaderOverlay",{enumerable:!0,get:function(){return _index46.LoaderOverlay}}),Object.defineProperty(exports,"MODAL_DISMISS_GRACE_MS",{enumerable:!0,get:function(){return _index51.MODAL_DISMISS_GRACE_MS}}),Object.defineProperty(exports,"Markdown",{enumerable:!0,get:function(){return _index47.Markdown}}),Object.defineProperty(exports,"Menu",{enumerable:!0,get:function(){return _index48.Menu}}),Object.defineProperty(exports,"MessageBubble",{enumerable:!0,get:function(){return _index49.MessageBubble}}),Object.defineProperty(exports,"MessageList",{enumerable:!0,get:function(){return _index50.MessageList}}),Object.defineProperty(exports,"Modal",{enumerable:!0,get:function(){return _index51.Modal}}),Object.defineProperty(exports,"Notation",{enumerable:!0,get:function(){return _index52.Notation}}),Object.defineProperty(exports,"NumberInput",{enumerable:!0,get:function(){return _index53.NumberInput}}),Object.defineProperty(exports,"OTPInput",{enumerable:!0,get:function(){return _index56.OTPInput}}),Object.defineProperty(exports,"OnboardingPager",{enumerable:!0,get:function(){return _index54.OnboardingPager}}),Object.defineProperty(exports,"OptionSheet",{enumerable:!0,get:function(){return _index55.OptionSheet}}),Object.defineProperty(exports,"PaymentResult",{enumerable:!0,get:function(){return _index57.PaymentResult}}),Object.defineProperty(exports,"PermissionPrompt",{enumerable:!0,get:function(){return _index58.PermissionPrompt}}),Object.defineProperty(exports,"PhoneNumberInput",{enumerable:!0,get:function(){return _index59.PhoneNumberInput}}),Object.defineProperty(exports,"PickerTrigger",{enumerable:!0,get:function(){return _index60.PickerTrigger}}),Object.defineProperty(exports,"ProfileCompletion",{enumerable:!0,get:function(){return _index61.ProfileCompletion}}),Object.defineProperty(exports,"ProfilePicker",{enumerable:!0,get:function(){return _index62.ProfilePicker}}),Object.defineProperty(exports,"ProgressBar",{enumerable:!0,get:function(){return _index63.ProgressBar}}),Object.defineProperty(exports,"ProgressRing",{enumerable:!0,get:function(){return _index64.ProgressRing}}),Object.defineProperty(exports,"Radio",{enumerable:!0,get:function(){return _index65.Radio}}),Object.defineProperty(exports,"RadioDot",{enumerable:!0,get:function(){return _index65.RadioDot}}),Object.defineProperty(exports,"RadioGroup",{enumerable:!0,get:function(){return _index65.RadioGroup}}),Object.defineProperty(exports,"Rating",{enumerable:!0,get:function(){return _index66.Rating}}),Object.defineProperty(exports,"Repeater",{enumerable:!0,get:function(){return _index67.Repeater}}),Object.defineProperty(exports,"RichTextEditor",{enumerable:!0,get:function(){return _index68.RichTextEditor}}),Object.defineProperty(exports,"Row",{enumerable:!0,get:function(){return _index12.Row}}),Object.defineProperty(exports,"ScannerOverlay",{enumerable:!0,get:function(){return _index69.ScannerOverlay}}),Object.defineProperty(exports,"SearchBar",{enumerable:!0,get:function(){return _index70.SearchBar}}),Object.defineProperty(exports,"SectionHeader",{enumerable:!0,get:function(){return _index71.SectionHeader}}),Object.defineProperty(exports,"SegmentedControl",{enumerable:!0,get:function(){return _index72.SegmentedControl}}),Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return _index73.Select}}),Object.defineProperty(exports,"SignaturePad",{enumerable:!0,get:function(){return _index74.SignaturePad}}),Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return _index75.Skeleton}}),Object.defineProperty(exports,"SkeletonCircle",{enumerable:!0,get:function(){return _index75.SkeletonCircle}}),Object.defineProperty(exports,"SkeletonClockProvider",{enumerable:!0,get:function(){return _index75.SkeletonClockProvider}}),Object.defineProperty(exports,"SkeletonContent",{enumerable:!0,get:function(){return _index75.SkeletonContent}}),Object.defineProperty(exports,"SkeletonList",{enumerable:!0,get:function(){return _index75.SkeletonList}}),Object.defineProperty(exports,"SkeletonProvider",{enumerable:!0,get:function(){return _index75.SkeletonProvider}}),Object.defineProperty(exports,"SkeletonSkip",{enumerable:!0,get:function(){return _index75.SkeletonSkip}}),Object.defineProperty(exports,"SkeletonText",{enumerable:!0,get:function(){return _index75.SkeletonText}}),Object.defineProperty(exports,"SlideToConfirm",{enumerable:!0,get:function(){return _index78.SlideToConfirm}}),Object.defineProperty(exports,"Slider",{enumerable:!0,get:function(){return _index76.Slider}}),Object.defineProperty(exports,"SliderField",{enumerable:!0,get:function(){return _index77.SliderField}}),Object.defineProperty(exports,"Spacer",{enumerable:!0,get:function(){return _index12.Spacer}}),Object.defineProperty(exports,"Sparkline",{enumerable:!0,get:function(){return _index79.Sparkline}}),Object.defineProperty(exports,"Spinner",{enumerable:!0,get:function(){return _index80.Spinner}}),Object.defineProperty(exports,"SquircleView",{enumerable:!0,get:function(){return _index81.SquircleView}}),Object.defineProperty(exports,"Stack",{enumerable:!0,get:function(){return _index12.Stack}}),Object.defineProperty(exports,"StatTile",{enumerable:!0,get:function(){return _index82.StatTile}}),Object.defineProperty(exports,"StatusBadge",{enumerable:!0,get:function(){return _index83.StatusBadge}}),Object.defineProperty(exports,"Stepper",{enumerable:!0,get:function(){return _index84.Stepper}}),Object.defineProperty(exports,"Swipeable",{enumerable:!0,get:function(){return _index85.Swipeable}}),Object.defineProperty(exports,"Switch",{enumerable:!0,get:function(){return _index86.Switch}}),Object.defineProperty(exports,"Tabs",{enumerable:!0,get:function(){return _index87.Tabs}}),Object.defineProperty(exports,"TagInput",{enumerable:!0,get:function(){return _index88.TagInput}}),Object.defineProperty(exports,"Text",{enumerable:!0,get:function(){return _index89.Text}}),Object.defineProperty(exports,"TimePicker",{enumerable:!0,get:function(){return _index91.TimePicker}}),Object.defineProperty(exports,"Timeline",{enumerable:!0,get:function(){return _index90.Timeline}}),Object.defineProperty(exports,"Toast",{enumerable:!0,get:function(){return _index92.Toast}}),Object.defineProperty(exports,"ToastHost",{enumerable:!0,get:function(){return _index92.ToastHost}}),Object.defineProperty(exports,"ToastProvider",{enumerable:!0,get:function(){return _index92.ToastProvider}}),Object.defineProperty(exports,"Tooltip",{enumerable:!0,get:function(){return _index93.Tooltip}}),Object.defineProperty(exports,"Tour",{enumerable:!0,get:function(){return _index94.Tour}}),Object.defineProperty(exports,"TypingIndicator",{enumerable:!0,get:function(){return _index95.TypingIndicator}}),Object.defineProperty(exports,"WheelPicker",{enumerable:!0,get:function(){return _index96.WheelPicker}}),Object.defineProperty(exports,"ZoomableImage",{enumerable:!0,get:function(){return _index97.ZoomableImage}}),Object.defineProperty(exports,"applyMarkdownAction",{enumerable:!0,get:function(){return _index68.applyMarkdownAction}}),Object.defineProperty(exports,"authedImageCacheStats",{enumerable:!0,get:function(){return _index6.authedImageCacheStats}}),Object.defineProperty(exports,"cleanDecimalText",{enumerable:!0,get:function(){return _index25.cleanDecimalText}}),Object.defineProperty(exports,"clearAuthedImageCache",{enumerable:!0,get:function(){return _index6.clearAuthedImageCache}}),Object.defineProperty(exports,"dayLabel",{enumerable:!0,get:function(){return _index24.dayLabel}}),Object.defineProperty(exports,"formatE164",{enumerable:!0,get:function(){return _index59.formatE164}}),Object.defineProperty(exports,"formatFileSize",{enumerable:!0,get:function(){return _index32.formatFileSize}}),Object.defineProperty(exports,"getAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index6.getAuthedImageCacheLimit}}),Object.defineProperty(exports,"loader",{enumerable:!0,get:function(){return _index46.loader}}),Object.defineProperty(exports,"parseDecimalText",{enumerable:!0,get:function(){return _index25.parseDecimalText}}),Object.defineProperty(exports,"parseE164",{enumerable:!0,get:function(){return _index59.parseE164}}),Object.defineProperty(exports,"parseNotation",{enumerable:!0,get:function(){return _index52.parseNotation}}),Object.defineProperty(exports,"setAuthedImageCacheLimit",{enumerable:!0,get:function(){return _index6.setAuthedImageCacheLimit}}),Object.defineProperty(exports,"sym",{enumerable:!0,get:function(){return _index52.sym}}),Object.defineProperty(exports,"toast",{enumerable:!0,get:function(){return _index92.toast}}),Object.defineProperty(exports,"useBottomSheet",{enumerable:!0,get:function(){return _index11.useBottomSheet}}),Object.defineProperty(exports,"useErrorHandler",{enumerable:!0,get:function(){return _index31.useErrorHandler}}),Object.defineProperty(exports,"useLoader",{enumerable:!0,get:function(){return _index46.useLoader}}),Object.defineProperty(exports,"usePermissionPrompt",{enumerable:!0,get:function(){return _index58.usePermissionPrompt}}),Object.defineProperty(exports,"useRecentSearches",{enumerable:!0,get:function(){return _index70.useRecentSearches}}),Object.defineProperty(exports,"useReduceMotion",{enumerable:!0,get:function(){return _index75.useReduceMotion}}),Object.defineProperty(exports,"useSheetSwap",{enumerable:!0,get:function(){return _index11.useSheetSwap}}),Object.defineProperty(exports,"useSkeletonClock",{enumerable:!0,get:function(){return _index75.useSkeletonClock}}),Object.defineProperty(exports,"useSkeletonDefaults",{enumerable:!0,get:function(){return _index75.useSkeletonDefaults}}),Object.defineProperty(exports,"useToast",{enumerable:!0,get:function(){return _index92.useToast}}),Object.defineProperty(exports,"withErrorBoundary",{enumerable:!0,get:function(){return _index31.withErrorBoundary}});var _index=require("./Accordion/index.js"),_index2=require("./AmountSlider/index.js"),_index3=require("./AnimatePresence/index.js"),_index4=require("./AppBar/index.js"),_index5=require("./AsyncBlock/index.js"),_index6=require("./AuthedImage/index.js"),_index7=require("./Autocomplete/index.js"),_index8=require("./Avatar/index.js"),_index9=require("./Badge/index.js"),_index0=require("./Banner/index.js"),_index1=require("./BarChart/index.js"),_index10=require("./BottomNavigation/index.js"),_index11=require("./BottomSheet/index.js"),_index12=require("./Box/index.js"),_index13=require("./Button/index.js"),_index14=require("./Calendar/index.js"),_index15=require("./Card/index.js"),_index16=require("./Carousel/index.js"),_index17=require("./Checkbox/index.js"),_index18=require("./Chip/index.js"),_index19=require("./ChoiceGroup/index.js"),_index20=require("./Composer/index.js"),_index21=require("./Confetti/index.js"),_index22=require("./DatePicker/index.js"),_index23=require("./DateRangePicker/index.js"),_index24=require("./DateSeparator/index.js"),_index25=require("./DecimalInput/index.js"),_index26=require("./Descriptions/index.js"),_index27=require("./Dialog/index.js"),_index28=require("./Divider/index.js"),_index29=require("./Drawer/index.js"),_index30=require("./EmptyState/index.js"),_index31=require("./ErrorBoundary/index.js"),_index32=require("./FilePicker/index.js"),_index33=require("./FileViewer/index.js"),_index34=require("./FilterChipRow/index.js"),_index35=require("./FloatingActionButton/index.js"),_index36=require("./ForceUpdateDialog/index.js"),_index37=require("./FormField/index.js"),_index38=require("./IconBadge/index.js"),_index39=require("./IconButton/index.js"),_index40=require("./ImageGallery/index.js"),_index41=require("./InlineSelect/index.js"),_index42=require("./Input/index.js"),_index43=require("./KeyboardAwareScrollView/index.js"),_index44=require("./KeyboardToolbar/index.js"),_index45=require("./ListItem/index.js"),_index46=require("./LoaderOverlay/index.js"),_index47=require("./Markdown/index.js"),_index48=require("./Menu/index.js"),_index49=require("./MessageBubble/index.js"),_index50=require("./MessageList/index.js"),_index51=require("./Modal/index.js"),_index52=require("./Notation/index.js"),_index53=require("./NumberInput/index.js"),_index54=require("./OnboardingPager/index.js"),_index55=require("./OptionSheet/index.js"),_index56=require("./OTPInput/index.js"),_index57=require("./PaymentResult/index.js"),_index58=require("./PermissionPrompt/index.js"),_index59=require("./PhoneNumberInput/index.js"),_index60=require("./PickerTrigger/index.js"),_index61=require("./ProfileCompletion/index.js"),_index62=require("./ProfilePicker/index.js"),_index63=require("./ProgressBar/index.js"),_index64=require("./ProgressRing/index.js"),_index65=require("./Radio/index.js"),_index66=require("./Rating/index.js"),_index67=require("./Repeater/index.js"),_index68=require("./RichTextEditor/index.js"),_index69=require("./ScannerOverlay/index.js"),_index70=require("./SearchBar/index.js"),_index71=require("./SectionHeader/index.js"),_index72=require("./SegmentedControl/index.js"),_index73=require("./Select/index.js"),_index74=require("./SignaturePad/index.js"),_index75=require("./Skeleton/index.js"),_index76=require("./Slider/index.js"),_index77=require("./SliderField/index.js"),_index78=require("./SlideToConfirm/index.js"),_index79=require("./Sparkline/index.js"),_index80=require("./Spinner/index.js"),_index81=require("./SquircleView/index.js"),_index82=require("./StatTile/index.js"),_index83=require("./StatusBadge/index.js"),_index84=require("./Stepper/index.js"),_index85=require("./Swipeable/index.js"),_index86=require("./Switch/index.js"),_index87=require("./Tabs/index.js"),_index88=require("./TagInput/index.js"),_index89=require("./Text/index.js"),_index90=require("./Timeline/index.js"),_index91=require("./TimePicker/index.js"),_index92=require("./Toast/index.js"),_index93=require("./Tooltip/index.js"),_index94=require("./Tour/index.js"),_index95=require("./TypingIndicator/index.js"),_index96=require("./WheelPicker/index.js"),_index97=require("./ZoomableImage/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useForm=useForm;var _react=require("react"),_equal=require("./equal.js"),_path=require("./path.js");const rulesFor=(e,r)=>{if(!e||"function"==typeof e)return[];const t=e[r];return t?Array.isArray(t)?t:[t]:[]};function useForm(e){const r=(0,_react.useRef)(e);r.current=e;const t=(0,_react.useRef)(e.initialValues),[u,a]=(0,_react.useState)(e.initialValues),[c,n]=(0,_react.useState)({}),[s,o]=(0,_react.useState)({}),[l,i]=(0,_react.useState)(!1),[f,_]=(0,_react.useState)(!1),[d,v]=(0,_react.useState)(0),b=(0,_react.useRef)({values:u,errors:c,touched:s,submitCount:d});b.current={values:u,errors:c,touched:s,submitCount:d};const h=(0,_react.useRef)(new Map),y=(0,_react.useRef)([]),C=(0,_react.useRef)(null),k=(0,_react.useRef)({values:e.initialValues,version:0});(0,_equal.valuesEqual)(e.initialValues,k.current.values)||(k.current={values:e.initialValues,version:k.current.version+1});const p=k.current.version;(0,_react.useEffect)(()=>{if(!r.current.enableReinitialize)return;const e=r.current.initialValues;t.current=e,b.current.values=e,b.current.errors={},b.current.touched={},a(e),n({}),o({})},[p]);const m=(0,_react.useCallback)(async e=>{const t=r.current.validate,u=b.current.values;if("function"==typeof t){return(await t(u)??{})[e]||void 0}const a=(0,_path.getPath)(u,e);for(const r of rulesFor(t,e)){const e=await r(a,u);if(e)return e}},[]),g=(0,_react.useCallback)(async e=>{const t=r.current.validate;if(!t)return{};if("function"==typeof t)return await t(e)??{};const u={};return await Promise.all(Object.keys(t).map(async r=>{const a=(0,_path.getPath)(e,r);for(const c of rulesFor(t,r)){const t=await c(a,e);if(t){u[r]=t;break}}})),u},[]),F=(0,_react.useCallback)(async e=>{const r=await m(e);n(t=>{if(t[e]===r)return t;const u={...t};return r?u[e]=r:delete u[e],b.current.errors=u,u})},[m]),w=(0,_react.useCallback)(async()=>{_(!0);const e=await g(b.current.values);return _(!1),b.current.errors=e,n(e),e},[g]),q=(0,_react.useCallback)((e,t,u)=>{const c=(0,_path.setPath)(b.current.values,e,t);b.current.values=c,a(c);const n=r.current,s=Boolean(b.current.errors[e])&&"blur"===n.revalidateOn;(u??(!s&&(b.current.touched[e]||b.current.submitCount>0||"change"===n.validateOn)))&&F(e)},[F]),E=(0,_react.useCallback)(e=>{o(r=>{if(r[e])return r;const t={...r,[e]:!0};return b.current.touched=t,t}),F(e)},[F]),P=(0,_react.useCallback)((e,r=!0,t)=>{const u={...b.current.touched,[e]:r};b.current.touched=u,o(u),(t??r)&&F(e)},[F]),S=(0,_react.useCallback)((e,r)=>{n(t=>{const u={...t};return r?u[e]=r:delete u[e],b.current.errors=u,u})},[]),V=(0,_react.useCallback)(e=>{b.current.errors=e,n(e)},[]),O=(0,_react.useCallback)((e,r)=>{const t="function"==typeof e?e(b.current.values):{...b.current.values,...e};b.current.values=t,a(t),r&&w()},[w]),j=(0,_react.useCallback)(e=>{const r=e?{...t.current,...e}:t.current;t.current=r,b.current.values=r,b.current.errors={},b.current.touched={},b.current.submitCount=0,a(r),n({}),o({}),v(0)},[]),R=(0,_react.useCallback)((e,r)=>{r?(h.current.set(e,r),y.current.includes(e)||y.current.push(e)):(h.current.delete(e),y.current=y.current.filter(r=>r!==e))},[]),M=(0,_react.useCallback)(e=>{C.current=e},[]),x=(0,_react.useCallback)(e=>{const r=y.current,t=C.current,u=t?r.indexOf(t):-1,a=r[u+e];a&&(C.current=a,h.current.get(a)?.focus?.())},[]),B=(0,_react.useCallback)(()=>x(1),[x]),A=(0,_react.useCallback)(()=>x(-1),[x]),T=(0,_react.useMemo)(()=>({setErrors:V,setFieldError:S,reset:j,setSubmitting:i}),[V,S,j]),z=(0,_react.useCallback)(()=>{(async()=>{const e=r.current,t=b.current.values;b.current.submitCount+=1,v(e=>e+1),_(!0);
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useForm=useForm;var _react=require("react"),_equal=require("./equal.js"),_path=require("./path.js");const rulesFor=(e,r)=>{if(!e||"function"==typeof e)return[];const t=e[r];return t?Array.isArray(t)?t:[t]:[]};function useForm(e){const r=(0,_react.useRef)(e);r.current=e;const t=(0,_react.useRef)(e.initialValues),[u,a]=(0,_react.useState)(e.initialValues),[c,n]=(0,_react.useState)({}),[s,o]=(0,_react.useState)({}),[l,i]=(0,_react.useState)(!1),[f,_]=(0,_react.useState)(!1),[d,v]=(0,_react.useState)(0),b=(0,_react.useRef)({values:u,errors:c,touched:s,submitCount:d});b.current={values:u,errors:c,touched:s,submitCount:d};const h=(0,_react.useRef)(new Map),y=(0,_react.useRef)([]),C=(0,_react.useRef)(null),k=(0,_react.useRef)({values:e.initialValues,version:0});(0,_equal.valuesEqual)(e.initialValues,k.current.values)||(k.current={values:e.initialValues,version:k.current.version+1});const p=k.current.version;(0,_react.useEffect)(()=>{if(!r.current.enableReinitialize)return;const e=r.current.initialValues;t.current=e,b.current.values=e,b.current.errors={},b.current.touched={},a(e),n({}),o({})},[p]);const m=(0,_react.useCallback)(async e=>{const t=r.current.validate,u=b.current.values;if("function"==typeof t){return(await t(u)??{})[e]||void 0}const a=(0,_path.getPath)(u,e);for(const r of rulesFor(t,e)){const e=await r(a,u);if(e)return e}},[]),g=(0,_react.useCallback)(async e=>{const t=r.current.validate;if(!t)return{};if("function"==typeof t)return await t(e)??{};const u={};return await Promise.all(Object.keys(t).map(async r=>{const a=(0,_path.getPath)(e,r);for(const c of rulesFor(t,r)){const t=await c(a,e);if(t){u[r]=t;break}}})),u},[]),F=(0,_react.useCallback)(async e=>{const r=await m(e);n(t=>{if(t[e]===r)return t;const u={...t};return r?u[e]=r:delete u[e],b.current.errors=u,u})},[m]),w=(0,_react.useCallback)(async()=>{_(!0);const e=await g(b.current.values);return _(!1),b.current.errors=e,n(e),e},[g]),q=(0,_react.useCallback)((e,t,u)=>{const c=(0,_path.setPath)(b.current.values,e,t);b.current.values=c,a(c);const n=r.current,s=Boolean(b.current.errors[e])&&"blur"===n.revalidateOn;(u??(!s&&(b.current.touched[e]||b.current.submitCount>0||"change"===n.validateOn)))&&F(e)},[F]),E=(0,_react.useCallback)(e=>{o(r=>{if(r[e])return r;const t={...r,[e]:!0};return b.current.touched=t,t}),F(e)},[F]),P=(0,_react.useCallback)((e,r=!0,t)=>{const u={...b.current.touched,[e]:r};b.current.touched=u,o(u),(t??r)&&F(e)},[F]),S=(0,_react.useCallback)((e,r)=>{n(t=>{const u={...t};return r?u[e]=r:delete u[e],b.current.errors=u,u})},[]),V=(0,_react.useCallback)(e=>{b.current.errors=e,n(e)},[]),O=(0,_react.useCallback)((e,r)=>{const t="function"==typeof e?e(b.current.values):{...b.current.values,...e};b.current.values=t,a(t),r&&w()},[w]),j=(0,_react.useCallback)(e=>{const r=e?{...t.current,...e}:t.current;t.current=r,b.current.values=r,b.current.errors={},b.current.touched={},b.current.submitCount=0,a(r),n({}),o({}),v(0)},[]),R=(0,_react.useCallback)((e,r)=>{r?(h.current.set(e,r),y.current.includes(e)||y.current.push(e)):(h.current.delete(e),y.current=y.current.filter(r=>r!==e))},[]),M=(0,_react.useCallback)(e=>{C.current=e},[]),x=(0,_react.useCallback)(e=>{const r=y.current,t=C.current,u=t?r.indexOf(t):-1,a=r[u+e];a&&(C.current=a,h.current.get(a)?.focus?.())},[]),B=(0,_react.useCallback)(()=>x(1),[x]),A=(0,_react.useCallback)(()=>x(-1),[x]),T=(0,_react.useMemo)(()=>({setErrors:V,setFieldError:S,reset:j,setSubmitting:i}),[V,S,j]),z=(0,_react.useRef)(!1),N=(0,_react.useCallback)(()=>{z.current||(z.current=!0,(async()=>{try{const e=r.current,t=b.current.values;let u;b.current.submitCount+=1,v(e=>e+1),_(!0);try{u=await g(t)}finally{_(!1)}const a=new Set([...y.current,...Object.keys(u)]),c={...b.current.touched};a.forEach(e=>{c[e]=!0}),b.current.touched=c,b.current.errors=u,o(c),n(u);const s=y.current.find(e=>u[e])??Object.keys(u).find(e=>u[e]);if(s)return void h.current.get(s)?.focus?.();i(!0);try{await e.onSubmit(t,T)}finally{i(!1)}}finally{z.current=!1}})())},[g,T]),D=(0,_react.useMemo)(()=>{const e={};for(const r of Object.keys(c))c[r]&&(s[r]||d>0)&&(e[r]=c[r]);return e},[c,s,d]),G=(0,_react.useMemo)(()=>{const e=r.current.validate;if(!e)return!0;if("function"==typeof e)return Object.values(c).every(e=>!e);for(const r of Object.keys(e)){const t=(0,_path.getPath)(u,r);for(const a of rulesFor(e,r)){const e=a(t,u);if("string"==typeof e&&e)return!1}}return!0},[u,c]),H=(0,_react.useMemo)(()=>!(0,_equal.valuesEqual)(u,t.current),[u]);return{values:u,errors:D,rawErrors:c,touched:s,dirty:H,isValid:G,isSubmitting:l,isValidating:f,submitCount:d,setFieldValue:q,setFieldTouched:P,setFieldError:S,setValues:O,setErrors:V,reset:j,validate:w,validateField:m,submit:N,handleBlur:E,focusNext:B,focusPrev:A,registerField:R,getFieldState:e=>{const r=(0,_path.getPath)(u,e),a=c[e],n=!!s[e];return{value:r,error:n||d>0?a:void 0,rawError:a,touched:n,dirty:!(0,_equal.valuesEqual)(r,(0,_path.getPath)(t.current,e))}},getFieldProps:e=>({name:e,value:(0,_path.getPath)(u,e),error:s[e]||d>0?c[e]:void 0,touched:!!s[e],onChange:r=>q(e,r),onChangeText:r=>q(e,r),onBlur:()=>E(e),onFocus:()=>M(e),setValue:(r,t)=>q(e,r,t)})}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useDragToDismiss=exports.createDragToDismissController=exports.DRAG_DISMISS_VELOCITY=exports.DRAG_DISMISS_DISTANCE=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_index=require("../theme/index.js");const DRAG_DISMISS_DISTANCE=exports.DRAG_DISMISS_DISTANCE=100,DRAG_DISMISS_VELOCITY=exports.DRAG_DISMISS_VELOCITY=.5,createDragToDismissController=({drag:e,travel:t,onDismiss:r},s)=>{const{snappy:a}=s.spring,springBack=()=>_reactNative.Animated.spring(e,{toValue:0,damping:a.damping,stiffness:a.stiffness,mass:a.mass,useNativeDriver:!0}).start();return{move:t=>{(0,_index.setNativeValue)(e,Math.max(0,t))},release:(a,i)=>{a>DRAG_DISMISS_DISTANCE||i>DRAG_DISMISS_VELOCITY?_reactNative.Animated.timing(e,{toValue:"function"==typeof t?t():t,duration:s.duration.fast,easing:_reactNative.Easing.bezier(...s.easing.accelerate),useNativeDriver:!0}).start(()=>r()):springBack()},cancel:springBack}};exports.createDragToDismissController=createDragToDismissController;const useDragToDismiss=e=>{const{drag:t,travel:r,onDismiss:s,contentAtTop:a,scrollGesture:i}=e,{motion:n}=(0,_index.useTheme)();return(0,_react.useMemo)(()=>{const e=createDragToDismissController({drag:t,travel:r,onDismiss:s},n),o=_reactNativeGestureHandler.Gesture.Pan().runOnJS(!0).activeOffsetY(6).failOffsetX([-12,12]).onUpdate(t=>e.move(t.translationY)).onEnd(t=>e.release(t.translationY,t.velocityY/1e3)).onFinalize((t
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useDragToDismiss=exports.createDragToDismissController=exports.DRAG_DISMISS_VELOCITY=exports.DRAG_DISMISS_DISTANCE=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_index=require("../theme/index.js");const DRAG_DISMISS_DISTANCE=exports.DRAG_DISMISS_DISTANCE=100,DRAG_DISMISS_VELOCITY=exports.DRAG_DISMISS_VELOCITY=.5,createDragToDismissController=({drag:e,travel:t,onDismiss:r},s)=>{const{snappy:a}=s.spring,springBack=()=>_reactNative.Animated.spring(e,{toValue:0,damping:a.damping,stiffness:a.stiffness,mass:a.mass,useNativeDriver:!0}).start();return{move:t=>{(0,_index.setNativeValue)(e,Math.max(0,t))},release:(a,i)=>{a>DRAG_DISMISS_DISTANCE||i>DRAG_DISMISS_VELOCITY?_reactNative.Animated.timing(e,{toValue:"function"==typeof t?t():t,duration:s.duration.fast,easing:_reactNative.Easing.bezier(...s.easing.accelerate),useNativeDriver:!0}).start(()=>r()):springBack()},cancel:springBack}};exports.createDragToDismissController=createDragToDismissController;const useDragToDismiss=e=>{const{drag:t,travel:r,onDismiss:s,contentAtTop:a,scrollGesture:i}=e,{motion:n}=(0,_index.useTheme)();return(0,_react.useMemo)(()=>{const e=createDragToDismissController({drag:t,travel:r,onDismiss:s},n),o=_reactNativeGestureHandler.Gesture.Pan().runOnJS(!0).activeOffsetY(6).failOffsetX([-12,12]).onUpdate(t=>e.move(t.translationY)).onEnd(t=>e.release(t.translationY,t.velocityY/1e3)).onFinalize((_e,t)=>{t||e.cancel()});let l=0,D=!1;const c=_reactNativeGestureHandler.Gesture.Pan().runOnJS(!0).activeOffsetY(8).failOffsetX([-12,12]).onBegin(()=>{l=0,D=!1}).onUpdate(t=>{if(!D){if(a&&!a())return;D=!0,l=t.translationY}e.move(t.translationY-l)}).onEnd(t=>{D&&e.release(t.translationY-l,t.velocityY/1e3)}).onFinalize((_e,t)=>{!t&&D&&e.cancel()});return i&&c.simultaneousWithExternalGesture(i),{handleGesture:o,sheetGesture:c}},[t,r,s,a,i,n])};exports.useDragToDismiss=useDragToDismiss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lightTheme=exports.darkTheme=void 0;var _squircle=require("../utils/squircle.js");const typography={fontSize:{xs:11,sm:13,base:15,lg:17,xl:20,"2xl":24,"3xl":30,"4xl":36},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:1.2,normal:1.4,relaxed:1.6},letterSpacing:{tight:-.2,normal:0,wide:.4}},spacing={none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius={none:0,xs:4,sm:6,md:10,lg:14,xl:20,"2xl":28,full:9999},FIELD_RADIUS=10,fieldSizes={sm:{paddingHorizontal:12,paddingVertical:10,minHeight:38,fontSize:13,borderRadius:10,iconSize:14,labelFontSize:11,labelGap:4,messageFontSize:11,messageGap:2},md:{paddingHorizontal:14,paddingVertical:13,minHeight:44,fontSize:14,borderRadius:10,iconSize:16,labelFontSize:12,labelGap:4,messageFontSize:12,messageGap:2},lg:{paddingHorizontal:16,paddingVertical:15,minHeight:52,fontSize:16,borderRadius:10,iconSize:18,labelFontSize:13,labelGap:4,messageFontSize:13,messageGap:2}},components={button:{xs:{paddingHorizontal:10,paddingVertical:4,minHeight:28,fontSize:12,borderRadius:8},sm:{paddingHorizontal:12,paddingVertical:6,minHeight:34,fontSize:14,borderRadius:10},md:{paddingHorizontal:16,paddingVertical:9,minHeight:42,fontSize:16,borderRadius:12},lg:{paddingHorizontal:20,paddingVertical:12,minHeight:50,fontSize:18,borderRadius:14},xl:{paddingHorizontal:24,paddingVertical:14,minHeight:58,fontSize:20,borderRadius:16}},input:{sm:{...fieldSizes.sm,multilineMinHeight:72},md:{...fieldSizes.md,multilineMinHeight:92},lg:{...fieldSizes.lg,multilineMinHeight:110}},searchBar:{sm:{borderRadius:radius.full},md:{borderRadius:radius.full},lg:{borderRadius:radius.full}},emptyState:{sm:{iconSize:48,titleFontSize:"lg",descriptionFontSize:"sm",paddingVertical:"lg"},md:{iconSize:64,titleFontSize:"xl",descriptionFontSize:"base",paddingVertical:"xl"},lg:{iconSize:80,titleFontSize:"2xl",descriptionFontSize:"base",paddingVertical:"2xl"}},field:{defaultVariant:"outlined",sm:fieldSizes.sm,md:fieldSizes.md,lg:fieldSizes.lg},listItem:{sm:{paddingVertical:"sm",titleFontSize:"sm",subtitleFontSize:"xs",minHeight:44},md:{paddingVertical:"md",titleFontSize:"base",subtitleFontSize:"sm",minHeight:56},lg:{paddingVertical:"lg",titleFontSize:"lg",subtitleFontSize:"sm",minHeight:72}},badge:{sm:{fontSize:10,minWidth:16,height:16,paddingHorizontal:5,dotSize:8},md:{fontSize:11,minWidth:20,height:20,paddingHorizontal:6,dotSize:10},borderWidth:1.5,anchorOffset:4},chip:{sm:{paddingHorizontal:10,paddingVertical:4,fontSize:12,minHeight:26,closeSize:16,closeFontSize:12,gap:6},md:{paddingHorizontal:12,paddingVertical:6,fontSize:13,minHeight:32,closeSize:18,closeFontSize:13,gap:8}},checkbox:{sm:{boxSize:16},md:{boxSize:20},lg:{boxSize:24},labelGap:10},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},labelGap:10},switch:{sm:{trackWidth:42,trackHeight:26,thumbSize:22,padding:2},md:{trackWidth:51,trackHeight:31,thumbSize:27,padding:2},lg:{trackWidth:60,trackHeight:36,thumbSize:32,padding:2},thumbColor:"#FFFFFF"},otpInput:{sm:{cell:36,fontSize:16,borderRadius:8,gap:8},md:{cell:48,fontSize:20,borderRadius:10,gap:10},lg:{cell:56,fontSize:24,borderRadius:12,gap:12}},dialog:{iconWrapperSize:48,iconWrapperBorderRadius:24,actionButtonMinHeight:44},toast:{iconCircleSize:28,iconCircleBorderRadius:14,iconGlyphFontSize:16,tintBarWidth:0},banner:{tintBarWidth:0},formField:{inlineLabelWidth:"35%"}},motion={duration:{instant:80,fast:160,normal:240,slow:360,slower:500},easing:{standard:[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]},spring:{gentle:{damping:26,stiffness:240,mass:.9},bouncy:{damping:16,stiffness:200,mass:.7},snappy:{damping:20,stiffness:300,mass:.7}}},lightShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.08,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.1,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.14,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.18,shadowRadius:32,elevation:20}},darkShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.3,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.55,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.7,shadowRadius:32,elevation:20}},lightTheme=exports.lightTheme={mode:"light",colors:{primary:"#5B5BD6",primaryHover:"#4F4FBF",primaryPressed:"#4040A8",primaryMuted:"#EEEEFC",secondary:"#F4F4F8",secondaryHover:"#E9E9F0",success:"#18864F",warning:"#F59E0B",error:"#E12C32",info:"#1B6EF5",onPrimary:"#FFFFFF",onSecondary:"#0F0F1A",onSuccess:"#FFFFFF",onWarning:"#0F0F1A",onError:"#FFFFFF",onInfo:"#FFFFFF",onOverlay:"#FFFFFF",toneText:{primary:"#4F4FD3",success:"#147042",warning:"#8F5C06",error:"#BC1B20",info:"#0958D9"},text:{primary:"#0F0F1A",secondary:"#52525B",tertiary:"#62626B",inverse:"#FFFFFF",strong:"#252F4A",disabled:"#B4B4BB",link:"#5B5BD6"},background:{primary:"#FFFFFF",secondary:"#F8F8FB",tertiary:"#F1F1F5",elevated:"#FFFFFF",overlay:"rgba(15, 15, 26, 0.5)",inverse:"#0F0F1A"},border:{primary:"#E5E5EC",secondary:"#EFEFF3",focus:"#5B5BD6",error:"#E5484D",width:1},field:{background:"#F9FBFC",backgroundFocused:"#FFFFFF",backgroundDisabled:"#F5F6FA",border:"#EBEDF3",borderFocused:"#BED2F9",borderError:"#FDBFCE",label:"#242F4A",text:"#252F4A",textDisabled:"#C4CADA",placeholder:"#626D8B",placeholderDisabled:"#C4CADA",icon:"#7A849F",iconFocused:"#4B5675",iconDisabled:"#C4CADA",caret:"#5B8DEE",message:"#D81736"},surface:{pressed:"rgba(15, 15, 26, 0.06)",hovered:"rgba(15, 15, 26, 0.04)",selected:"rgba(91, 91, 214, 0.1)",disabled:"#F1F1F5"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#EBEDF3",highlight:"#F5F6FA"},avatarPalette:["#5B5BD6","#0A7979","#A45A05","#CD226E","#2462EB","#7C3AED","#047C57","#D42222"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:_squircle.SQUIRCLE_SMOOTHING,shadows:lightShadows,motion:motion,components:components,gradients:{}},darkTheme=exports.darkTheme={mode:"dark",colors:{primary:"#7C7CE8",primaryHover:"#9292EE",primaryPressed:"#A8A8F2",primaryMuted:"#1F1F3D",secondary:"#1F1F26",secondaryHover:"#2A2A33",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA",onPrimary:"#0F0F1A",onSecondary:"#FAFAFA",onSuccess:"#0F0F1A",onWarning:"#0F0F1A",onError:"#0F0F1A",onInfo:"#0F0F1A",onOverlay:"#FFFFFF",toneText:{primary:"#8989EA",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA"},text:{primary:"#FAFAFA",secondary:"#B4B4BB",tertiary:"#919199",inverse:"#0F0F1A",strong:"#E2E2E2",disabled:"#52525B",link:"#9292EE"},background:{primary:"#0B0B12",secondary:"#13131C",tertiary:"#1C1C26",elevated:"#1C1C26",overlay:"rgba(0, 0, 0, 0.65)",inverse:"#FAFAFA"},border:{primary:"#27272F",secondary:"#1C1C26",focus:"#7C7CE8",error:"#F87171",width:1},field:{background:"#13131C",backgroundFocused:"#0B0B12",backgroundDisabled:"#1C1C26",border:"#27272F",borderFocused:"#3D5FB0",borderError:"#8A2F42",label:"#E4E6EE",text:"#FAFAFA",textDisabled:"#52525B",placeholder:"#84848D",placeholderDisabled:"#52525B",icon:"#8B8B95",iconFocused:"#D4D4DB",iconDisabled:"#52525B",caret:"#7C9EF0",message:"#F87171"},surface:{pressed:"rgba(255, 255, 255, 0.08)",hovered:"rgba(255, 255, 255, 0.05)",selected:"rgba(124, 124, 232, 0.18)",disabled:"#1C1C26"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#1C1C26",highlight:"#27272F"},avatarPalette:["#8B8BEE","#2DD4BF","#FCD34D","#F472B6","#60A5FA","#A78BFA","#34D399","#F87171"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:_squircle.SQUIRCLE_SMOOTHING,shadows:darkShadows,motion:motion,components:components,gradients:{}};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lightTheme=exports.darkTheme=void 0;var _squircle=require("../utils/squircle.js");const typography={fontSize:{xs:11,sm:13,base:15,lg:17,xl:20,"2xl":24,"3xl":30,"4xl":36},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:1.2,normal:1.4,relaxed:1.6},letterSpacing:{tight:-.2,normal:0,wide:.4}},spacing={none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius={none:0,xs:4,sm:6,md:10,lg:14,xl:20,"2xl":28,full:9999},FIELD_RADIUS=10,fieldSizes={sm:{paddingHorizontal:12,paddingVertical:10,minHeight:38,fontSize:13,borderRadius:10,iconSize:14,labelFontSize:11,labelGap:4,messageFontSize:11,messageGap:2},md:{paddingHorizontal:14,paddingVertical:13,minHeight:44,fontSize:14,borderRadius:10,iconSize:16,labelFontSize:12,labelGap:4,messageFontSize:12,messageGap:2},lg:{paddingHorizontal:16,paddingVertical:15,minHeight:52,fontSize:16,borderRadius:10,iconSize:18,labelFontSize:13,labelGap:4,messageFontSize:13,messageGap:2}},components={button:{xs:{paddingHorizontal:10,paddingVertical:4,minHeight:28,fontSize:12,borderRadius:8},sm:{paddingHorizontal:12,paddingVertical:6,minHeight:34,fontSize:14,borderRadius:10},md:{paddingHorizontal:16,paddingVertical:9,minHeight:42,fontSize:16,borderRadius:12},lg:{paddingHorizontal:20,paddingVertical:12,minHeight:50,fontSize:18,borderRadius:14},xl:{paddingHorizontal:24,paddingVertical:14,minHeight:58,fontSize:20,borderRadius:16}},input:{sm:{...fieldSizes.sm,multilineMinHeight:72},md:{...fieldSizes.md,multilineMinHeight:92},lg:{...fieldSizes.lg,multilineMinHeight:110}},searchBar:{sm:{borderRadius:radius.full},md:{borderRadius:radius.full},lg:{borderRadius:radius.full}},emptyState:{sm:{iconSize:48,titleFontSize:"lg",descriptionFontSize:"sm",paddingVertical:"lg",titleGap:"md",descriptionGap:"xs"},md:{iconSize:64,titleFontSize:"xl",descriptionFontSize:"base",paddingVertical:"xl",titleGap:"md",descriptionGap:"xs"},lg:{iconSize:80,titleFontSize:"2xl",descriptionFontSize:"base",paddingVertical:"2xl",titleGap:"md",descriptionGap:"xs"}},field:{defaultVariant:"outlined",sm:fieldSizes.sm,md:fieldSizes.md,lg:fieldSizes.lg},listItem:{sm:{paddingVertical:"sm",titleFontSize:"sm",subtitleFontSize:"xs",minHeight:44},md:{paddingVertical:"md",titleFontSize:"base",subtitleFontSize:"sm",minHeight:56},lg:{paddingVertical:"lg",titleFontSize:"lg",subtitleFontSize:"sm",minHeight:72}},badge:{sm:{fontSize:10,minWidth:16,height:16,paddingHorizontal:5,dotSize:8},md:{fontSize:11,minWidth:20,height:20,paddingHorizontal:6,dotSize:10},borderWidth:1.5,anchorOffset:4},chip:{sm:{paddingHorizontal:10,paddingVertical:4,fontSize:12,minHeight:26,closeSize:16,closeFontSize:12,gap:6},md:{paddingHorizontal:12,paddingVertical:6,fontSize:13,minHeight:32,closeSize:18,closeFontSize:13,gap:8}},checkbox:{sm:{boxSize:16},md:{boxSize:20},lg:{boxSize:24},labelGap:10},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},labelGap:10},switch:{sm:{trackWidth:42,trackHeight:26,thumbSize:22,padding:2},md:{trackWidth:51,trackHeight:31,thumbSize:27,padding:2},lg:{trackWidth:60,trackHeight:36,thumbSize:32,padding:2},thumbColor:"#FFFFFF"},otpInput:{sm:{cell:36,fontSize:16,borderRadius:8,gap:8},md:{cell:48,fontSize:20,borderRadius:10,gap:10},lg:{cell:56,fontSize:24,borderRadius:12,gap:12}},dialog:{iconWrapperSize:48,iconWrapperBorderRadius:24,actionButtonMinHeight:44},toast:{iconCircleSize:28,iconCircleBorderRadius:14,iconGlyphFontSize:16,tintBarWidth:0},banner:{tintBarWidth:0},formField:{inlineLabelWidth:"35%"}},motion={duration:{instant:80,fast:160,normal:240,slow:360,slower:500},easing:{standard:[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]},spring:{gentle:{damping:26,stiffness:240,mass:.9},bouncy:{damping:16,stiffness:200,mass:.7},snappy:{damping:20,stiffness:300,mass:.7}}},lightShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.08,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.1,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.14,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.18,shadowRadius:32,elevation:20}},darkShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.3,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.55,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.7,shadowRadius:32,elevation:20}},lightTheme=exports.lightTheme={mode:"light",colors:{primary:"#5B5BD6",primaryHover:"#4F4FBF",primaryPressed:"#4040A8",primaryMuted:"#EEEEFC",secondary:"#F4F4F8",secondaryHover:"#E9E9F0",success:"#18864F",warning:"#F59E0B",error:"#E12C32",info:"#1B6EF5",onPrimary:"#FFFFFF",onSecondary:"#0F0F1A",onSuccess:"#FFFFFF",onWarning:"#0F0F1A",onError:"#FFFFFF",onInfo:"#FFFFFF",onOverlay:"#FFFFFF",toneText:{primary:"#4F4FD3",success:"#147042",warning:"#8F5C06",error:"#BC1B20",info:"#0958D9"},text:{primary:"#0F0F1A",secondary:"#52525B",tertiary:"#62626B",inverse:"#FFFFFF",strong:"#252F4A",disabled:"#B4B4BB",link:"#5B5BD6"},background:{primary:"#FFFFFF",secondary:"#F8F8FB",tertiary:"#F1F1F5",elevated:"#FFFFFF",overlay:"rgba(15, 15, 26, 0.5)",inverse:"#0F0F1A"},border:{primary:"#E5E5EC",secondary:"#EFEFF3",focus:"#5B5BD6",error:"#E5484D",width:1},field:{background:"#F9FBFC",backgroundFocused:"#FFFFFF",backgroundDisabled:"#F5F6FA",border:"#EBEDF3",borderFocused:"#BED2F9",borderError:"#FDBFCE",label:"#242F4A",text:"#252F4A",textDisabled:"#C4CADA",placeholder:"#626D8B",placeholderDisabled:"#C4CADA",icon:"#7A849F",iconFocused:"#4B5675",iconDisabled:"#C4CADA",caret:"#5B8DEE",message:"#D81736"},surface:{pressed:"rgba(15, 15, 26, 0.06)",hovered:"rgba(15, 15, 26, 0.04)",selected:"rgba(91, 91, 214, 0.1)",disabled:"#F1F1F5"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#EBEDF3",highlight:"#F5F6FA"},avatarPalette:["#5B5BD6","#0A7979","#A45A05","#CD226E","#2462EB","#7C3AED","#047C57","#D42222"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:_squircle.SQUIRCLE_SMOOTHING,shadows:lightShadows,motion:motion,components:components,gradients:{}},darkTheme=exports.darkTheme={mode:"dark",colors:{primary:"#7C7CE8",primaryHover:"#9292EE",primaryPressed:"#A8A8F2",primaryMuted:"#1F1F3D",secondary:"#1F1F26",secondaryHover:"#2A2A33",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA",onPrimary:"#0F0F1A",onSecondary:"#FAFAFA",onSuccess:"#0F0F1A",onWarning:"#0F0F1A",onError:"#0F0F1A",onInfo:"#0F0F1A",onOverlay:"#FFFFFF",toneText:{primary:"#8989EA",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA"},text:{primary:"#FAFAFA",secondary:"#B4B4BB",tertiary:"#919199",inverse:"#0F0F1A",strong:"#E2E2E2",disabled:"#52525B",link:"#9292EE"},background:{primary:"#0B0B12",secondary:"#13131C",tertiary:"#1C1C26",elevated:"#1C1C26",overlay:"rgba(0, 0, 0, 0.65)",inverse:"#FAFAFA"},border:{primary:"#27272F",secondary:"#1C1C26",focus:"#7C7CE8",error:"#F87171",width:1},field:{background:"#13131C",backgroundFocused:"#0B0B12",backgroundDisabled:"#1C1C26",border:"#27272F",borderFocused:"#3D5FB0",borderError:"#8A2F42",label:"#E4E6EE",text:"#FAFAFA",textDisabled:"#52525B",placeholder:"#84848D",placeholderDisabled:"#52525B",icon:"#8B8B95",iconFocused:"#D4D4DB",iconDisabled:"#52525B",caret:"#7C9EF0",message:"#F87171"},surface:{pressed:"rgba(255, 255, 255, 0.08)",hovered:"rgba(255, 255, 255, 0.05)",selected:"rgba(124, 124, 232, 0.18)",disabled:"#1C1C26"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#1C1C26",highlight:"#27272F"},avatarPalette:["#8B8BEE","#2DD4BF","#FCD34D","#F472B6","#60A5FA","#A78BFA","#34D399","#F87171"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:_squircle.SQUIRCLE_SMOOTHING,shadows:darkShadows,motion:motion,components:components,gradients:{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{Image}from"expo-image";import{Children,cloneElement,forwardRef,isValidElement,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,StyleSheet,Text,View}from"react-native";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{AppIcon}from"../AppIcon/index.js";import{Skeleton}from"../Skeleton/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const SOFT_FILL_OPACITY=.14;export const avatarToneColors=(e,t)=>{const soft=(e,t)=>tintOf(e,.14,t);switch(t){case"primary":return{background:soft(e.colors.primary,e.colors.primaryMuted),color:e.colors.toneText.primary};case"secondary":return{background:e.colors.secondary,color:e.colors.onSecondary};case"success":return{background:soft(e.colors.success,e.colors.background.secondary),color:e.colors.toneText.success};case"warning":return{background:soft(e.colors.warning,e.colors.background.secondary),color:e.colors.toneText.warning};case"error":return{background:soft(e.colors.error,e.colors.background.secondary),color:e.colors.toneText.error};case"info":return{background:soft(e.colors.info,e.colors.background.secondary),color:e.colors.toneText.info};default:return{background:e.colors.background.tertiary,color:e.colors.text.primary}}};const sizeMap={xs:24,sm:32,md:48,lg:64,xl:80},resolveSize=e=>"number"==typeof e?e:sizeMap[e],resolveRadius=(e,t)=>{switch(e){case"circle":return t/2;case"rounded":return Math.max(6,Math.round(.22*t));default:return 0}},initialsFromName=e=>{if(!e)return"";const t=e.trim().split(/\s+/u).filter(Boolean);return 0===t.length?"":1===t.length?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()},hashColor=(e,t)=>{if(!e)return t[0];let r=0;for(let t=0;t<e.length;t+=1)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t[Math.abs(r)%t.length]},RING_WIDTH=1.5,isRingStatus=e=>"verified"===e||"pending"===e,statusColor=(e,t)=>{switch(t){case"online":case"verified":return e.colors.success;case"busy":return e.colors.error;case"away":case"pending":return e.colors.warning;default:return e.colors.text.tertiary}},Avatar=forwardRef((e,t)=>{const{source:r,ImageComponent:o,name:s,size:a="md",shape:i="circle",status:n=null,statusPosition:l="bottomRight",tone:c,backgroundColor:d,color:u,fontSize:h,loading:m=!1,accessibilityLabel:g,
|
|
1
|
+
"use strict";import{Image}from"expo-image";import{Children,cloneElement,forwardRef,isValidElement,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{AppIcon}from"../AppIcon/index.js";import{Skeleton}from"../Skeleton/index.js";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";const SOFT_FILL_OPACITY=.14,MIN_TOUCH_TARGET=44,PRESSED_OPACITY=.7,INITIALS_MAX_FONT_SCALE=1.2;export const avatarToneColors=(e,t)=>{const soft=(e,t)=>tintOf(e,.14,t);switch(t){case"primary":return{background:soft(e.colors.primary,e.colors.primaryMuted),color:e.colors.toneText.primary};case"secondary":return{background:e.colors.secondary,color:e.colors.onSecondary};case"success":return{background:soft(e.colors.success,e.colors.background.secondary),color:e.colors.toneText.success};case"warning":return{background:soft(e.colors.warning,e.colors.background.secondary),color:e.colors.toneText.warning};case"error":return{background:soft(e.colors.error,e.colors.background.secondary),color:e.colors.toneText.error};case"info":return{background:soft(e.colors.info,e.colors.background.secondary),color:e.colors.toneText.info};default:return{background:e.colors.background.tertiary,color:e.colors.text.primary}}};const sizeMap={xs:24,sm:32,md:48,lg:64,xl:80},resolveSize=e=>"number"==typeof e?e:sizeMap[e],resolveRadius=(e,t)=>{switch(e){case"circle":return t/2;case"rounded":return Math.max(6,Math.round(.22*t));default:return 0}},initialsFromName=e=>{if(!e)return"";const t=e.trim().split(/\s+/u).filter(Boolean);return 0===t.length?"":1===t.length?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[1].charAt(0)).toUpperCase()},hashColor=(e,t)=>{if(!e)return t[0];let r=0;for(let t=0;t<e.length;t+=1)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t[Math.abs(r)%t.length]},RING_WIDTH=1.5,isRingStatus=e=>"verified"===e||"pending"===e,statusColor=(e,t)=>{switch(t){case"online":case"verified":return e.colors.success;case"busy":return e.colors.error;case"away":case"pending":return e.colors.warning;default:return e.colors.text.tertiary}},Avatar=forwardRef((e,t)=>{const{source:r,ImageComponent:o,name:s,size:a="md",shape:i="circle",status:n=null,statusPosition:l="bottomRight",tone:c,backgroundColor:d,color:u,fontSize:h,loading:m=!1,accessibilityLabel:g,onPress:p,onLongPress:b,haptic:y,hitSlop:f,style:v,textStyle:x,testID:C}=e,S=useTheme(),A=S.components.avatar,[R,I]=useState(!1),_=useMemo(()=>resolveSize(a),[a]),j=useMemo(()=>resolveRadius(i,_),[i,_]),w=A?.borderWidth??0,M=A?.borderColor??S.colors.border.primary,k=A?.statusBorderWidth??2,T=A?.statusBorderColor??S.colors.background.elevated,E=useMemo(()=>initialsFromName(s),[s]),W=useMemo(()=>c?avatarToneColors(S,c):null,[S,c]),z=useMemo(()=>d||(W?.background??hashColor(s??"",S.colors.avatarPalette)),[d,W,s,S.colors.avatarPalette]),G=u??W?.color??S.colors.onPrimary,L=!!r&&!R,F=A?.fontSizeRatio??.4,P=h??A?.fontSize??Math.max(10,Math.round(_*F)),V=Math.max(8,Math.round(.25*_)),N=isRingStatus(n),D=A?.ringWidth??1.5,O=_-2*(N?D+(A?.ringGap??D):0),$=N?resolveRadius(i,O):j,H=N?statusColor(S,n):"transparent",B=Math.max(12,Math.round(.32*_)),U=Math.max(10,B-4),Y=L?S.colors.background.tertiary:z,X=C??"avatar",q=s?`${s}'s avatar`:"Avatar",J="verified"===n?", verified":"pending"===n?", pending verification":"",K=g??`${q}${J}`,Q="function"==typeof p||"function"==typeof b,Z=g??`${s||q}${J}`,ee=Math.max(0,Math.ceil((44-_)/2)),te=[styles.root,{width:_,height:_,borderRadius:j,...smoothCorners,borderWidth:N?0:w,borderColor:M,backgroundColor:N?"transparent":Y},v],re=_jsxs(_Fragment,{children:[N?_jsx(View,{style:[styles.ring,{borderRadius:j,...smoothCorners,borderWidth:D,borderColor:H}],accessible:!1,pointerEvents:"none",testID:`${X}-ring`}):null,_jsx(View,{style:[styles.picture,{width:O,height:O,borderRadius:$,...smoothCorners,borderWidth:N?w:0,borderColor:M,backgroundColor:N?Y:"transparent"}],children:L?(()=>{const e={width:O,height:O,borderRadius:$,...smoothCorners},onError=()=>I(!0);return o?_jsx(o,{source:r,onError:onError,style:e,contentFit:"cover",resizeMode:"cover",accessibilityIgnoresInvertColors:!0}):_jsx(Image,{source:r,onError:onError,style:e,contentFit:"cover",accessibilityIgnoresInvertColors:!0})})():_jsx(Text,{style:[styles.initials,{color:G,fontSize:P,fontWeight:S.typography.fontWeight[A?.fontWeight??"semibold"]},x],numberOfLines:1,maxFontSizeMultiplier:1.2,children:E??" "})}),"verified"===n?_jsx(View,{style:[styles.status,"topRight"===l?styles.badgeTopRight:styles.badgeBottomRight,{width:B,height:B,borderRadius:B/2,...smoothCorners,backgroundColor:T}],accessible:!1,pointerEvents:"none",testID:`${X}-badge`,children:_jsx(AppIcon,{name:"verify",variant:"bold",size:U,color:H})}):null,n&&!N?_jsx(View,{style:[styles.status,"topRight"===l?styles.statusTopRight:styles.statusBottomRight,{width:V,height:V,borderRadius:V/2,...smoothCorners,backgroundColor:statusColor(S,n),borderWidth:k,borderColor:T}],accessible:!1,pointerEvents:"none"}):null]}),oe=Q?_jsx(Pressable,{ref:t,onPress:p?e=>{const t=resolveHaptic(y,"selection");t&&triggerHaptic(t),p?.(e)}:void 0,onLongPress:b?e=>{const t=resolveHaptic(y,"longPress");t&&triggerHaptic(t),b?.(e)}:void 0,hitSlop:f??ee,accessibilityRole:"button",accessibilityLabel:Z,testID:C,style:({pressed:e})=>[te,e?styles.pressed:null],children:re}):_jsx(View,{ref:t,style:te,accessible:!0,accessibilityRole:"image",accessibilityLabel:K,testID:C,children:re});return m?_jsx(AvatarSkeleton,{...e}):oe});Avatar.displayName="Avatar";const AvatarSkeleton=({size:e="md",shape:t="circle",style:r})=>{const o=resolveSize(e);return _jsx(Skeleton,{shape:"circle"===t?"circle":"rounded"===t?"rounded":"rect",width:o,height:o,style:r})};AvatarSkeleton.displayName="AvatarSkeleton",Avatar.Skeleton=AvatarSkeleton;const styles=StyleSheet.create({root:{alignItems:"center",justifyContent:"center",overflow:"visible",position:"relative"},pressed:{opacity:.7},initials:{textAlign:"center"},ring:{position:"absolute",top:0,right:0,bottom:0,left:0},picture:{alignItems:"center",justifyContent:"center",overflow:"hidden"},status:{position:"absolute"},badgeTopRight:{top:-2,right:-2,alignItems:"center",justifyContent:"center"},badgeBottomRight:{bottom:-2,right:-2,alignItems:"center",justifyContent:"center"},statusTopRight:{top:0,right:0},statusBottomRight:{bottom:0,right:0}}),SPACING_OFFSET={tight:-16,normal:-12,loose:-8},STAGGER_MS=50,ENTRANCE_DURATION_MS=220,AvatarGroupItem=({delay:e,marginLeft:t,borderColor:r,borderWidth:o,children:s})=>{const a=useRef(createAnimatedValue(0)).current;return useEffect(()=>{const t=Animated.timing(a,{toValue:1,duration:220,delay:e,easing:Easing.out(Easing.cubic),useNativeDriver:!0});return t.start(),()=>t.stop()},[e,a]),_jsx(Animated.View,{style:[groupStyles.item,{marginLeft:t,borderColor:r,borderWidth:o,opacity:a}],children:s})},AvatarGroup=e=>{const{children:t,max:r=4,size:o="md",spacing:s="normal",overflowVariant:a="count",accessibilityLabel:i,style:n,testID:l}=e,c=useTheme(),d=useMemo(()=>Children.toArray(t).filter(e=>isValidElement(e)),[t]),u=d.length,h=d.slice(0,r),m=Math.max(0,u-r),g=m>0,p=SPACING_OFFSET[s],b=c.colors.background.elevated,y=i??`Group of ${u} ${1===u?"person":"people"}`,f=useMemo(()=>resolveSize(o),[o]),v=Math.max(10,Math.round(.34*f));return _jsxs(View,{style:[groupStyles.row,n],accessible:!0,accessibilityLabel:y,accessibilityRole:"summary",testID:l,children:[h.map((e,t)=>{const r=e.key??`avatar-${t}`;return _jsx(AvatarGroupItem,{delay:50*t,marginLeft:0===t?0:p,borderColor:b,borderWidth:1.5,children:cloneElement(e,{size:o})},r)}),g?_jsx(AvatarGroupItem,{delay:50*h.length,marginLeft:0===h.length?0:p,borderColor:b,borderWidth:1.5,children:_jsx(View,{style:[groupStyles.overflow,{width:f,height:f,borderRadius:f/2,...smoothCorners,backgroundColor:c.colors.surface.disabled}],accessible:!0,accessibilityRole:"text",accessibilityLabel:"count"===a?`${m} more`:"More avatars",children:_jsx(Text,{style:{color:c.colors.text.secondary,fontSize:v,fontWeight:c.typography.fontWeight.semibold},numberOfLines:1,maxFontSizeMultiplier:1.2,children:"count"===a?`+${m}`:"+"})})},"avatar-overflow"):null]})},groupStyles=StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},item:{borderRadius:9999,...smoothCorners},overflow:{alignItems:"center",justifyContent:"center"}}),AvatarWithGroup=Avatar;AvatarWithGroup.Group=AvatarGroup;export{Avatar,AvatarGroup};export default AvatarWithGroup;
|