react-native-system-ui 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -13
- package/dist/cjs/components/calendar/Calendar.js +1 -1
- package/dist/cjs/components/cascader/Cascader.js +1 -1
- package/dist/cjs/components/cascader/useCascaderExtend.js +1 -1
- package/dist/cjs/components/dialog/Dialog.js +1 -1
- package/dist/cjs/components/dialog/imperative.js +1 -1
- package/dist/cjs/components/field/Field.js +1 -1
- package/dist/cjs/components/form/Form.js +1 -1
- package/dist/cjs/components/number-keyboard/NumberKeyboard.js +1 -1
- package/dist/cjs/components/overlay/Overlay.js +1 -1
- package/dist/cjs/components/picker/Picker.js +1 -1
- package/dist/cjs/components/popup/Popup.js +1 -1
- package/dist/cjs/components/portal/PortalHost.js +1 -1
- package/dist/cjs/components/selector/Selector.js +1 -1
- package/dist/cjs/components/slider/Slider.js +1 -1
- package/dist/cjs/components/stepper/Stepper.js +1 -1
- package/dist/cjs/components/swiper/Swiper.js +1 -1
- package/dist/cjs/components/tabs/Tabs.js +1 -1
- package/dist/cjs/hooks/calendar/utils.js +1 -0
- package/dist/cjs/hooks/cascader/utils.js +1 -0
- package/dist/cjs/hooks/dialog/ActionButton.js +1 -0
- package/dist/cjs/hooks/field/renderers.js +1 -0
- package/dist/cjs/hooks/form/utils.js +1 -0
- package/dist/cjs/hooks/number-keyboard/utils.js +1 -0
- package/dist/cjs/hooks/picker/normalize.js +1 -0
- package/dist/cjs/hooks/picker/value.js +1 -0
- package/dist/cjs/hooks/popup/utils.js +1 -0
- package/dist/cjs/hooks/slider/utils.js +1 -0
- package/dist/cjs/hooks/swiper/utils.js +1 -0
- package/dist/cjs/hooks/tabs/TabBarItem.js +1 -0
- package/dist/cjs/hooks/tabs/useTabsInternals.js +1 -0
- package/dist/cjs/utils/compare.js +1 -1
- package/dist/es/components/calendar/Calendar.js +1 -1
- package/dist/es/components/cascader/Cascader.js +1 -1
- package/dist/es/components/cascader/useCascaderExtend.js +1 -1
- package/dist/es/components/dialog/Dialog.js +1 -1
- package/dist/es/components/dialog/imperative.js +1 -1
- package/dist/es/components/field/Field.js +1 -1
- package/dist/es/components/form/Form.js +1 -1
- package/dist/es/components/number-keyboard/NumberKeyboard.js +1 -1
- package/dist/es/components/overlay/Overlay.js +1 -1
- package/dist/es/components/picker/Picker.js +1 -1
- package/dist/es/components/popup/Popup.js +1 -1
- package/dist/es/components/portal/PortalHost.js +1 -1
- package/dist/es/components/selector/Selector.js +1 -1
- package/dist/es/components/slider/Slider.js +1 -1
- package/dist/es/components/stepper/Stepper.js +1 -1
- package/dist/es/components/swiper/Swiper.js +1 -1
- package/dist/es/components/tabs/Tabs.js +1 -1
- package/dist/es/hooks/calendar/utils.js +1 -0
- package/dist/es/hooks/cascader/utils.js +1 -0
- package/dist/es/hooks/dialog/ActionButton.js +1 -0
- package/dist/es/hooks/field/renderers.js +1 -0
- package/dist/es/hooks/form/utils.js +1 -0
- package/dist/es/hooks/number-keyboard/utils.js +1 -0
- package/dist/es/hooks/picker/normalize.js +1 -0
- package/dist/es/hooks/picker/value.js +1 -0
- package/dist/es/hooks/popup/utils.js +1 -0
- package/dist/es/hooks/slider/utils.js +1 -0
- package/dist/es/hooks/swiper/utils.js +1 -0
- package/dist/es/hooks/tabs/TabBarItem.js +1 -0
- package/dist/es/hooks/tabs/useTabsInternals.js +1 -0
- package/dist/es/utils/compare.js +1 -1
- package/dist/types/components/form/Form.d.ts +1 -1
- package/dist/types/components/picker/Picker.d.ts +1 -1
- package/dist/types/hooks/calendar/utils.d.ts +1 -0
- package/dist/types/hooks/cascader/utils.d.ts +1 -0
- package/dist/types/hooks/dialog/ActionButton.d.ts +1 -0
- package/dist/types/hooks/field/renderers.d.ts +1 -0
- package/dist/types/hooks/form/utils.d.ts +1 -0
- package/dist/types/hooks/number-keyboard/utils.d.ts +1 -0
- package/dist/types/hooks/picker/normalize.d.ts +1 -0
- package/dist/types/hooks/picker/value.d.ts +1 -0
- package/dist/types/hooks/popup/utils.d.ts +1 -0
- package/dist/types/hooks/slider/utils.d.ts +1 -0
- package/dist/types/hooks/swiper/utils.d.ts +1 -0
- package/dist/types/hooks/tabs/TabBarItem.d.ts +1 -0
- package/dist/types/hooks/tabs/useTabsInternals.d.ts +1 -0
- package/dist/types/utils/compare.d.ts +1 -1
- package/package.json +109 -109
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Popup=void 0;var _safeAreaView=require("../safe-area-view"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_validate=require("../../utils/validate");function _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}var _Portal=_interopRequireDefault(require("../portal/Portal")),_hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var o=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(a=t?r:o){if(a.has(e))return a.get(e);a.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?a(i,t,n):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},_extends.apply(null,arguments)}const AnimatedPressable=_reactNative().Animated.createAnimatedComponent(_reactNative().Pressable),EASE_OUT=_reactNative().Easing.bezier(.075,.82,.165,1),EASE_IN=_reactNative().Easing.bezier(.55,.055,.675,.19),CAPTURE=()=>!0,placementConfig={top:{container:{justifyContent:"flex-start",alignItems:"center"},axis:"y"},bottom:{container:{justifyContent:"flex-end",alignItems:"center"},axis:"y"},left:{container:{justifyContent:"center",alignItems:"flex-start"},axis:"x"},right:{container:{justifyContent:"center",alignItems:"flex-end"},axis:"x"},center:{container:{justifyContent:"center",alignItems:"center"},axis:"y"}},CONTENT_SELF={top:{alignSelf:"stretch"},bottom:{alignSelf:"stretch"},left:{alignSelf:"flex-start"},right:{alignSelf:"flex-end"},center:{alignSelf:"center"}},buildRadius=(e,t,o)=>e?"top"===t?{borderBottomLeftRadius:o,borderBottomRightRadius:o}:"bottom"===t?{borderTopLeftRadius:o,borderTopRightRadius:o}:"left"===t?{borderTopRightRadius:o,borderBottomRightRadius:o}:"right"===t?{borderTopLeftRadius:o,borderBottomLeftRadius:o}:{borderRadius:o}:void 0,hiddenStyle={opacity:0,shadowOpacity:0,shadowRadius:0,elevation:0},PopupImpl=e=>{const t=(0,_useLocale.useLocale)(),o=(0,_useDirection.useDirection)(),{visible:r,placement:a,position:n,title:i,description:l,tokensOverride:c,overlay:s=!0,overlayStyle:u,overlayAccessibilityLabel:d=t?.vanPopup?.closeOverlay??"Close overlay",closeOnOverlayPress:p,closeOnClickOverlay:f,overlayTestID:_="popup-overlay",closeable:m=!1,closeIcon:g,closeIconPosition:v="top-right",round:y,safeArea:h=!1,safeAreaInsetTop:b=!1,safeAreaInsetBottom:R,lockScroll:I=!0,destroyOnClose:O=!1,duration:C=300,zIndex:E,closeOnBackPress:P=!1,closeOnPopstate:x=!1,children:w,beforeClose:N,onClickOverlay:k,onClose:A,onOpen:T,onOpened:z,onClosed:W,stopPropagation:L=!0,style:q,contentAnimationStyle:V,...M}=e,j=a??n??"center",D=f??p??!0,B="center"===j,F=R??!1,H=(0,_tokens.usePopupTokens)(c),U=(0,_animation.useReducedMotion)(),X=(0,_react().useRef)({onOpened:z,onClosed:W,onOpen:T,onClose:A,beforeClose:N,onClickOverlay:k});X.current={onOpened:z,onClosed:W,onOpen:T,onClose:A,beforeClose:N,onClickOverlay:k};const Y=(0,_react().useMemo)(()=>{const e=(0,_createPlatformShadow.createPlatformShadow)(H.shadow),{colors:t,spacing:o,typography:r,layout:a}=H;return{popup:{backgroundColor:t.background,padding:o.padding,...e},title:{color:t.title,fontFamily:r.fontFamily,fontSize:r.titleSize,fontWeight:r.titleWeight,marginHorizontal:o.descriptionHorizontal,textAlign:"center"},titleWrap:{marginTop:o.titleTop,marginBottom:o.titleBottom,marginHorizontal:o.descriptionHorizontal,alignItems:"center"},desc:{color:t.description,fontFamily:r.fontFamily,fontSize:r.descriptionSize,lineHeight:r.descriptionLineHeight},descWrap:{marginHorizontal:o.descriptionHorizontal,marginBottom:o.descriptionBottom},closeBase:{minWidth:o.closeIconSize,minHeight:o.closeIconSize,padding:o.closeIconPadding},closeDef:{width:o.closeIconSize,height:o.closeIconSize},side:{width:a.sideWidth,maxWidth:a.maxWidth},center:{minWidth:a.minWidth,maxWidth:a.centerMaxWidth}}},[H]),[G,J]=(0,_react().useState)(r),[K,Q]=(0,_react().useState)(r),Z=r||K,$=D&&(A||N),ee=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,te=(0,_react().useRef)(null),oe=(0,_react().useRef)(0),re=(0,_react().useRef)(r),ae=(0,_react().useRef)(!1),ne="top"===j||"bottom"===j,ie="left"===j||"right"===j,le="top"===j||"left"===j?-1:1,ce=(0,_react().useCallback)((e,t)=>{oe.current+=1;const o=oe.current;te.current?.stop();const r=t?0:C,a=_reactNative().Animated.timing(ee,{toValue:e?1:0,duration:r,easing:e?EASE_OUT:EASE_IN,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1});te.current=a,a.start(({finished:t})=>{t&&o===oe.current&&(e?X.current.onOpened?.():(Q(!1),O&&J(!1),X.current.onClosed?.()))})},[O,C,ee]);(0,_react().useEffect)(()=>{r?(J(!0),Q(!0),ce(!0,U)):re.current&&ce(!1,U)},[ce,r,U]),(0,_react().useEffect)(()=>{r&&!re.current&&X.current.onOpen?.(),re.current=r},[r]),(0,_react().useEffect)(()=>()=>{te.current?.stop()},[]);const se=(0,_react().useCallback)(async e=>{if(!ae.current){ae.current=!0;try{if(X.current.beforeClose){if(!1===await X.current.beforeClose(e))return}X.current.onClose?.()}finally{ae.current=!1}}},[]);(0,_react().useEffect)(()=>{if(x)return(0,_platform.addPopStateListener)(()=>{r&&se("close")})},[x,se,r]);const ue=(0,_react().useCallback)(()=>{X.current.onClickOverlay?.(),D&&se("overlay")},[se,D]),de=(0,_react().useCallback)(()=>se("close-icon"),[se]),pe=(0,_react().useCallback)(()=>se("close"),[se]),{zIndex:fe}=(0,_hooks.useOverlayStack)({visible:Z,onClose:pe,closeOnBack:P,lockScroll:I,zIndex:E,type:"popup"}),{overlayRef:_e,overlayProps:me}=(0,_hooks.useAriaOverlay)({isOpen:Z,onClose:()=>se("overlay"),isDismissable:D,overlayProps:{..."android"===_reactNative().Platform.OS?{}:{accessibilityRole:"dialog"},accessibilityLiveRegion:"polite"}}),{onLayout:ge,...ve}=me,ye=(0,_react().useMemo)(()=>L?{...ve,onStartShouldSetResponder:CAPTURE}:ve,[ve,L]),he=placementConfig[j],Se=buildRadius(y,j,H.radius.round),{width:be,height:Re}=(0,_reactNative().useWindowDimensions)(),Ie=ie?be:ne?Re:0,Oe=(0,_react().useMemo)(()=>{if(B)return null;const e=[Ie*le,0];return"y"===he.axis?{translateY:ee.interpolate({inputRange:[0,1],outputRange:e})}:{translateX:ee.interpolate({inputRange:[0,1],outputRange:e})}},[he.axis,le,Ie,B,ee]),Ce=(0,_react().useMemo)(()=>Oe?[Oe]:[],[Oe]),Ee=(0,_react().useMemo)(()=>{const e=V?.transform,t=Array.isArray(e)?[...Ce,...e]:Ce,o={...V,transform:t};return B?{...o,opacity:ee}:null==V?.opacity?{...o,opacity:1}:o},[Ce,V,B,ee]),[Pe,xe]=(0,_react().useState)(0),we=(0,_react().useCallback)(e=>xe(e.nativeEvent.layout.height),[]),Ne=G||r,ke=!Z,Ae=(0,_validate.isRenderable)(i)||(0,_validate.isRenderable)(l),Te=(0,_react().useMemo)(()=>{if(!Ae)return null;const e=H.spacing.closeIconRight+H.spacing.closeIconSize,t=m&&v.startsWith("top-")?v.endsWith("right")?{paddingRight:e}:{paddingLeft:e}:void 0,o=(e,t,o)=>(0,_validate.isRenderable)(e)?(0,_validate.isText)(e)?_react().default.createElement(_reactNative().Text,{style:t},e):_react().default.createElement(_reactNative().View,{style:o},e):null;return _react().default.createElement(_reactNative().View,{style:[S.header,t]},o(i,[S.title,Y.title],Y.titleWrap),o(l,[S.desc,Y.desc],Y.descWrap))},[m,v,l,Y,Ae,i,H.spacing.closeIconRight,H.spacing.closeIconSize]),ze=(0,_react().useMemo)(()=>{if(!m)return null;const e=null!=g,t=v.includes("bottom")?{bottom:H.spacing.closeIconTop}:{top:H.spacing.closeIconTop+Pe},r="rtl"===o,a=v.endsWith("left")?r?{right:H.spacing.closeIconRight}:{left:H.spacing.closeIconRight}:r?{left:H.spacing.closeIconRight}:{right:H.spacing.closeIconRight};return _react().default.createElement(_reactNative().Pressable,{style:[S.closeBase,Y.closeBase,t,a,!e&&Y.closeDef],hitSlop:8,onPress:de},e?g:_react().default.createElement(_reactNativeSystemIcon().Cross,{size:22,fill:H.colors.closeIcon,color:H.colors.closeIcon}))},[g,v,m,Y,de,Pe,H.colors.closeIcon,H.spacing.closeIconRight,H.spacing.closeIconTop]),We=Ae?_react().default.createElement(_react().default.Fragment,null,Te,w):w;if(!Ne)return null;const Le=fe??E,qe=h?_react().default.createElement(_safeAreaView.SafeAreaView,null,We):_react().default.createElement(_react().default.Fragment,null,b&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"top",onLayout:we,pointerEvents:"none"}),We,F&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}));return _react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().View,{style:[S.root,Le?{zIndex:Le}:void 0],pointerEvents:"box-none"},_react().default.createElement(_reactNative().View,{style:[S.ctr,he.container],pointerEvents:Z?"auto":"none",accessibilityViewIsModal:Z,accessibilityLiveRegion:"polite",onAccessibilityEscape:pe},s&&Z?_react().default.createElement(AnimatedPressable,_extends({testID:_,style:[S.ovl,{backgroundColor:H.colors.overlay,opacity:ee},u],renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,pointerEvents:Z?"auto":"none"},$?{accessibilityRole:"button",accessibilityLabel:d,accessibilityHint:t?.vanPopup?.closeHint??"Double-tap to close"}:{accessible:!1},{onPress:ue})):null,!s&&I&&Z?_react().default.createElement(_reactNative().View,{style:S.lock,pointerEvents:"auto",onStartShouldSetResponder:CAPTURE,onMoveShouldSetResponder:CAPTURE}):null,_react().default.createElement(_reactNative().Animated.View,_extends({ref:_e},ye,{onLayout:ge,renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,style:[Y.popup,B&&Y.center,ne&&S.popV,ie&&Y.side,CONTENT_SELF[j],Se,Ee,q,ke&&hiddenStyle]},M),ze,qe))))},S=_reactNative().StyleSheet.create({root:{..._reactNative().StyleSheet.absoluteFillObject,justifyContent:"center"},ctr:{flex:1},ovl:{..._reactNative().StyleSheet.absoluteFillObject,opacity:0},header:{width:"100%"},title:{includeFontPadding:!1},desc:{includeFontPadding:!1},popV:{alignSelf:"stretch"},closeBase:{position:"absolute",zIndex:999,alignItems:"center",justifyContent:"center"},lock:{..._reactNative().StyleSheet.absoluteFillObject}}),Popup=exports.Popup=_react().default.memo(PopupImpl);var _default=exports.default=Popup;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Popup=void 0;var _safeAreaView=require("../safe-area-view"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_validate=require("../../utils/validate");function _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}var _Portal=_interopRequireDefault(require("../portal/Portal")),_hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens"),_utils=require("../../hooks/popup/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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 a,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(a=t?o:r){if(a.has(e))return a.get(e);a.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?a(i,t,n):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_extends.apply(null,arguments)}const AnimatedPressable=_reactNative().Animated.createAnimatedComponent(_reactNative().Pressable),PopupImpl=e=>{const t=(0,_useLocale.useLocale)(),r=(0,_useDirection.useDirection)(),{visible:o,placement:a,position:n,title:i,description:l,tokensOverride:c,overlay:s=!0,overlayStyle:u,overlayAccessibilityLabel:d=t?.vanPopup?.closeOverlay??"Close overlay",closeOnOverlayPress:p,closeOnClickOverlay:_,overlayTestID:f="popup-overlay",closeable:m=!1,closeIcon:v,closeIconPosition:y="top-right",round:g,safeArea:h=!1,safeAreaInsetTop:b=!1,safeAreaInsetBottom:P,lockScroll:O=!0,destroyOnClose:I=!1,duration:R=300,zIndex:C,closeOnBackPress:E=!1,closeOnPopstate:k=!1,children:w,beforeClose:A,onClickOverlay:N,onClose:x,onOpen:z,onOpened:W,onClosed:T,stopPropagation:q=!0,style:V,contentAnimationStyle:M,...D}=e,L=a??n??"center",H=_??p??!0,F="center"===L,j=P??!1,B=(0,_tokens.usePopupTokens)(c),U=(0,_animation.useReducedMotion)(),X=(0,_react().useRef)({onOpened:W,onClosed:T,onOpen:z,onClose:x,beforeClose:A,onClickOverlay:N});X.current={onOpened:W,onClosed:T,onOpen:z,onClose:x,beforeClose:A,onClickOverlay:N};const Y=(0,_react().useMemo)(()=>{const e=(0,_createPlatformShadow.createPlatformShadow)(B.shadow),{colors:t,spacing:r,typography:o,layout:a}=B;return{popup:{backgroundColor:t.background,padding:r.padding,...e},title:{color:t.title,fontFamily:o.fontFamily,fontSize:o.titleSize,fontWeight:o.titleWeight,marginHorizontal:r.descriptionHorizontal,textAlign:"center"},titleWrap:{marginTop:r.titleTop,marginBottom:r.titleBottom,marginHorizontal:r.descriptionHorizontal,alignItems:"center"},desc:{color:t.description,fontFamily:o.fontFamily,fontSize:o.descriptionSize,lineHeight:o.descriptionLineHeight},descWrap:{marginHorizontal:r.descriptionHorizontal,marginBottom:r.descriptionBottom},closeBase:{minWidth:r.closeIconSize,minHeight:r.closeIconSize,padding:r.closeIconPadding},closeDef:{width:r.closeIconSize,height:r.closeIconSize},side:{width:a.sideWidth,maxWidth:a.maxWidth},center:{minWidth:a.minWidth,maxWidth:a.centerMaxWidth}}},[B]),[G,J]=(0,_react().useState)(o),[K,Q]=(0,_react().useState)(o),Z=o||K,$=H&&(x||A),ee=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,te=(0,_react().useRef)(null),re=(0,_react().useRef)(0),oe=(0,_react().useRef)(o),ae=(0,_react().useRef)(!1),ne="top"===L||"bottom"===L,ie="left"===L||"right"===L,le="top"===L||"left"===L?-1:1,ce=(0,_react().useCallback)((e,t)=>{re.current+=1;const r=re.current;te.current?.stop();const o=t?0:R,a=_reactNative().Animated.timing(ee,{toValue:e?1:0,duration:o,easing:e?_utils.EASE_OUT:_utils.EASE_IN,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1});te.current=a,a.start(({finished:t})=>{t&&r===re.current&&(e?X.current.onOpened?.():(Q(!1),I&&J(!1),X.current.onClosed?.()))})},[I,R,ee]);(0,_react().useEffect)(()=>{o?(J(!0),Q(!0),ce(!0,U)):oe.current&&ce(!1,U)},[ce,o,U]),(0,_react().useEffect)(()=>{o&&!oe.current&&X.current.onOpen?.(),oe.current=o},[o]),(0,_react().useEffect)(()=>()=>{te.current?.stop()},[]);const se=(0,_react().useCallback)(async e=>{if(!ae.current){ae.current=!0;try{if(X.current.beforeClose){if(!1===await X.current.beforeClose(e))return}X.current.onClose?.()}finally{ae.current=!1}}},[]);(0,_react().useEffect)(()=>{if(k)return(0,_platform.addPopStateListener)(()=>{o&&se("close")})},[k,se,o]);const ue=(0,_react().useCallback)(()=>{X.current.onClickOverlay?.(),H&&se("overlay")},[se,H]),de=(0,_react().useCallback)(()=>se("close-icon"),[se]),pe=(0,_react().useCallback)(()=>se("close"),[se]),{zIndex:_e}=(0,_hooks.useOverlayStack)({visible:Z,onClose:pe,closeOnBack:E,lockScroll:O,zIndex:C,type:"popup"}),{overlayRef:fe,overlayProps:me}=(0,_hooks.useAriaOverlay)({isOpen:Z,onClose:()=>se("overlay"),isDismissable:H,overlayProps:{..."android"===_reactNative().Platform.OS?{}:{accessibilityRole:"dialog"},accessibilityLiveRegion:"polite"}}),{onLayout:ve,...ye}=me,ge=(0,_react().useMemo)(()=>q?{...ye,onStartShouldSetResponder:_utils.CAPTURE}:ye,[ye,q]),he=_utils.placementConfig[L],Se=(0,_utils.buildRadius)(g,L,B.radius.round),{width:be,height:Pe}=(0,_reactNative().useWindowDimensions)(),Oe=ie?be:ne?Pe:0,Ie=(0,_react().useMemo)(()=>{if(F)return null;const e=[Oe*le,0];return"y"===he.axis?{translateY:ee.interpolate({inputRange:[0,1],outputRange:e})}:{translateX:ee.interpolate({inputRange:[0,1],outputRange:e})}},[he.axis,le,Oe,F,ee]),Re=(0,_react().useMemo)(()=>Ie?[Ie]:[],[Ie]),Ce=(0,_react().useMemo)(()=>{const e=M?.transform,t=Array.isArray(e)?[...Re,...e]:Re,r={...M,transform:t};return F?{...r,opacity:ee}:null==M?.opacity?{...r,opacity:1}:r},[Re,M,F,ee]),[Ee,ke]=(0,_react().useState)(0),we=(0,_react().useCallback)(e=>ke(e.nativeEvent.layout.height),[]),Ae=G||o,Ne=!Z,xe=(0,_validate.isRenderable)(i)||(0,_validate.isRenderable)(l),ze=(0,_react().useMemo)(()=>{if(!xe)return null;const e=B.spacing.closeIconRight+B.spacing.closeIconSize,t=m&&y.startsWith("top-")?y.endsWith("right")?{paddingRight:e}:{paddingLeft:e}:void 0,r=(e,t,r)=>(0,_validate.isRenderable)(e)?(0,_validate.isText)(e)?_react().default.createElement(_reactNative().Text,{style:t},e):_react().default.createElement(_reactNative().View,{style:r},e):null;return _react().default.createElement(_reactNative().View,{style:[S.header,t]},r(i,[S.title,Y.title],Y.titleWrap),r(l,[S.desc,Y.desc],Y.descWrap))},[m,y,l,Y,xe,i,B.spacing.closeIconRight,B.spacing.closeIconSize]),We=(0,_react().useMemo)(()=>{if(!m)return null;const e=null!=v,t=y.includes("bottom")?{bottom:B.spacing.closeIconTop}:{top:B.spacing.closeIconTop+Ee},o="rtl"===r,a=y.endsWith("left")?o?{right:B.spacing.closeIconRight}:{left:B.spacing.closeIconRight}:o?{left:B.spacing.closeIconRight}:{right:B.spacing.closeIconRight};return _react().default.createElement(_reactNative().Pressable,{style:[S.closeBase,Y.closeBase,t,a,!e&&Y.closeDef],hitSlop:8,onPress:de},e?v:_react().default.createElement(_reactNativeSystemIcon().Cross,{size:22,fill:B.colors.closeIcon,color:B.colors.closeIcon}))},[v,y,m,Y,de,Ee,B.colors.closeIcon,B.spacing.closeIconRight,B.spacing.closeIconTop]),Te=xe?_react().default.createElement(_react().default.Fragment,null,ze,w):w;if(!Ae)return null;const qe=_e??C,Ve=h?_react().default.createElement(_safeAreaView.SafeAreaView,null,Te):_react().default.createElement(_react().default.Fragment,null,b&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"top",onLayout:we,pointerEvents:"none"}),Te,j&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}));return _react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().View,{style:[S.root,qe?{zIndex:qe}:void 0],pointerEvents:"box-none"},_react().default.createElement(_reactNative().View,{style:[S.ctr,he.container],pointerEvents:Z?"auto":"none",accessibilityViewIsModal:Z,accessibilityLiveRegion:"polite",onAccessibilityEscape:pe},s&&Z?_react().default.createElement(AnimatedPressable,_extends({testID:f,style:[S.ovl,{backgroundColor:B.colors.overlay,opacity:ee},u],renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,pointerEvents:Z?"auto":"none"},$?{accessibilityRole:"button",accessibilityLabel:d,accessibilityHint:t?.vanPopup?.closeHint??"Double-tap to close"}:{accessible:!1},{onPress:ue})):null,!s&&O&&Z?_react().default.createElement(_reactNative().View,{style:S.lock,pointerEvents:"auto",onStartShouldSetResponder:_utils.CAPTURE,onMoveShouldSetResponder:_utils.CAPTURE}):null,_react().default.createElement(_reactNative().Animated.View,_extends({ref:fe},ge,{onLayout:ve,renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,style:[Y.popup,F&&Y.center,ne&&S.popV,ie&&Y.side,_utils.CONTENT_SELF[L],Se,Ce,V,Ne&&_utils.hiddenStyle]},D),We,Ve))))},S=_reactNative().StyleSheet.create({root:{..._reactNative().StyleSheet.absoluteFillObject,justifyContent:"center"},ctr:{flex:1},ovl:{..._reactNative().StyleSheet.absoluteFillObject,opacity:0},header:{width:"100%"},title:{includeFontPadding:!1},desc:{includeFontPadding:!1},popV:{alignSelf:"stretch"},closeBase:{position:"absolute",zIndex:999,alignItems:"center",justifyContent:"center"},lock:{..._reactNative().StyleSheet.absoluteFillObject}}),Popup=exports.Popup=_react().default.memo(PopupImpl);var _default=exports.default=Popup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.portalStore=exports.portalManager=exports.PortalHost=void 0;var _utils=require("../../utils"),_PortalContext=require("./PortalContext");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,o,
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.portalStore=exports.portalManager=exports.PortalHost=void 0;var _utils=require("../../utils"),_PortalContext=require("./PortalContext");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,o,c={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return c;if(n=t?a:r){if(n.has(e))return n.get(e);n.set(e,c)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?n(c,t,o):c[t]=e[t]);return c})(e,t)}const AE="RNSU_PORTAL_ADD",UE="RNSU_PORTAL_UPDATE",RE="RNSU_PORTAL_REMOVE",CE="RNSU_PORTAL_CLEAR",TVE=_reactNative().DeviceEventEmitter||new(_reactNative().NativeEventEmitter),IW="web"===_reactNative().Platform.OS,ao=(e,t)=>{"mount"===t.type?e.mount(t.children,t.key):"update"===t.type?e.update(t.key,t.children):"clear"===t.type?e.clear():e.unmount(t.key)},PortalManagerView=_react().default.forwardRef((e,t)=>{const[r,a]=(0,_react().useState)([]),n=(0,_react().useRef)(0),o=(0,_react().useCallback)(e=>{a(t=>{const r=t.findIndex(t=>t.key===e.key);return-1===r?[...t,e]:[...t.slice(0,r),e,...t.slice(r+1)]})},[]),c=(0,_react().useCallback)((e,t)=>{const r=t??++n.current;return(0,_utils.isNumber)(t)&&t>=n.current&&(n.current=t+1),o({key:r,children:e}),r},[o]),l=(0,_react().useCallback)((e,t)=>{o({key:e,children:t})},[o]),u=(0,_react().useCallback)(e=>{a(t=>t.filter(t=>t.key!==e))},[]),i=(0,_react().useCallback)(()=>{a([])},[]);return _react().default.useImperativeHandle(t,()=>({mount:c,update:l,unmount:u,clear:i}),[c,l,u,i]),0===r.length?null:_react().default.createElement(_reactNative().View,{pointerEvents:"box-none",style:S.pl,collapsable:!1},r.map(e=>_react().default.createElement(_reactNative().View,{key:e.key,pointerEvents:"box-none",collapsable:!1,style:S.pe},e.children)))});let ah=0,nh=1,ngk=1e4;const hr=new Set,pickActiveHost=()=>{const e=hr.values().next();return e.done?0:e.value},gm={mount:(e,t)=>{"undefined"!=typeof __DEV__&&__DEV__&&0===ah&&console.warn("[Portal] Please mount <PortalHost> or <ConfigProvider> at the root to enable imperative APIs.");const r=t??ngk++;return(0,_utils.isNumber)(t)&&t>=ngk&&(ngk=t+1),TVE.emit(AE,{key:r,children:e}),r},update:(e,t)=>{TVE.emit(UE,{key:e,children:t})},unmount:e=>{TVE.emit(RE,{key:e})}},PortalHostImpl=({children:e})=>{const t=(0,_react().useRef)(nh++),r=(0,_react().useRef)(null),a=(0,_react().useRef)([]),n=(0,_react().useRef)(1),o=(0,_react().useCallback)(e=>{const t=r.current;t?ao(t,e):a.current.push(e)},[]),c=(0,_react().useMemo)(()=>({mount:(e,t)=>{const r=t??n.current++;return(0,_utils.isNumber)(t)&&t>=n.current&&(n.current=t+1),o({type:"mount",key:r,children:e}),r},update:(e,t)=>{o({type:"update",key:e,children:t})},unmount:e=>{o({type:"unmount",key:e})}}),[o]),l=(0,_react().useCallback)(e=>{if(r.current=e,e){if(a.current.length>0){a.current.splice(0,a.current.length).forEach(t=>ao(e,t))}0===ah||ah===t.current?ah=t.current:"undefined"!=typeof __DEV__&&__DEV__&&console.warn("[PortalHost] Multiple PortalHost instances detected. Imperative APIs will only use the first mounted host.")}},[]);return(0,_react().useEffect)(()=>(hr.add(t.current),0===ah&&(ah=t.current),()=>{hr.delete(t.current),ah===t.current&&(ah=pickActiveHost(),a.current=[],0===ah&&portalStore.clear())}),[]),(0,_react().useEffect)(()=>{const e=TVE.addListener(AE,({key:e,children:r})=>{ah===t.current&&o({type:"mount",key:e,children:r})}),r=TVE.addListener(UE,({key:e,children:r})=>{ah===t.current&&o({type:"update",key:e,children:r})}),n=TVE.addListener(RE,({key:e})=>{ah===t.current&&o({type:"unmount",key:e})}),c=TVE.addListener(CE,()=>{ah===t.current&&(a.current=[],o({type:"clear"}))});return()=>{e.remove(),r.remove(),n.remove(),c.remove()}},[o]),_react().default.createElement(_PortalContext.PortalContext.Provider,{value:c},_react().default.createElement(_reactNative().View,{style:S.h,collapsable:!1},_react().default.createElement(_reactNative().View,{style:S.r,collapsable:!1,pointerEvents:"box-none"},e),_react().default.createElement(PortalManagerView,{ref:l})))},PortalHost=exports.PortalHost=_react().default.memo(PortalHostImpl);PortalHost.displayName="PortalHost";const S=_reactNative().StyleSheet.create({h:{position:"relative",flex:1},r:{flex:1},pl:IW?{position:"fixed",top:0,left:0,right:0,bottom:0}:{..._reactNative().StyleSheet.absoluteFillObject},pe:{..._reactNative().StyleSheet.absoluteFillObject}}),portalManager=exports.portalManager=gm,portalStore=exports.portalStore={clear:()=>{TVE.emit(CE)},hasHosts:()=>0!==ah};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Selector=void 0;var _tokens=require("./tokens"),_hooks=require("../../hooks"),_utils=require("../../utils");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Selector=void 0;var _tokens=require("./tokens"),_hooks=require("../../hooks"),_utils=require("../../utils");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 a,l,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(a=t?o:r){if(a.has(e))return a.get(e);a.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?a(i,t,l):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_extends.apply(null,arguments)}const CHECK_MARK="✓",CH=8,CW=10,SelectorOptionItemImpl=({option:e,active:t,disabled:r,multiple:o,showCheckMark:a,basis:l,containerWidth:i,columns:n,gap:c,tokens:s,itemStyle:u,labelStyle:d,descriptionStyle:p,onToggle:f})=>{const y=e.label,m=e.description,_=null!=m,g=(0,_utils.isText)(y)?String(y):String(e.value),b=(0,_utils.isText)(m)?String(m):void 0,{interactionProps:h,states:S}=(0,_hooks.useAriaPress)({disabled:r,onPress:()=>f(e),extraProps:{accessibilityRole:o?"checkbox":"radio",accessibilityLabel:g,accessibilityHint:b,accessibilityState:o?{checked:t,disabled:r}:{selected:t,disabled:r}}}),k=i>0?{width:(i-(n-1)*c)/n,flexGrow:0,flexShrink:0}:{flexBasis:l,flexShrink:1};return _react().default.createElement(_reactNative().Pressable,_extends({},h,{style:[s.layout.pressable,k]}),_react().default.createElement(_reactNative().View,{style:[s.layout.item,{paddingHorizontal:s.spacing.paddingHorizontal,paddingVertical:s.spacing.paddingVertical,borderRadius:s.radii.item,borderColor:t?s.colors.borderActive:s.colors.border,backgroundColor:t?s.colors.backgroundActive:s.colors.background,opacity:r?s.states.disabledOpacity:1},S.pressed&&{opacity:.9},u]},(0,_utils.isText)(y)?_react().default.createElement(_reactNative().Text,{style:[s.layout.label,{color:t?s.colors.textActive:s.colors.text,fontSize:s.typography.fontSize,lineHeight:1.4*s.typography.fontSize,fontFamily:s.typography.fontFamily,fontWeight:s.typography.fontWeight},d]},y):y,_?(0,_utils.isText)(m)?_react().default.createElement(_reactNative().Text,{style:[s.layout.description,{marginTop:s.spacing.descriptionMarginTop,color:r?s.colors.disabledText:s.colors.description,fontSize:s.typography.descriptionSize,lineHeight:1.4*s.typography.descriptionSize},p]},m):_react().default.createElement(_reactNative().View,{style:{marginTop:s.spacing.descriptionMarginTop}},m):null,t&&a?_react().default.createElement(_react().default.Fragment,null,_react().default.createElement(_reactNative().View,{style:[s.layout.checkMarkTriangle,{borderTopWidth:8,borderBottomWidth:8,borderLeftWidth:10,borderRightWidth:10,borderBottomColor:s.colors.check,borderRightColor:s.colors.check}]}),_react().default.createElement(_reactNative().Text,{style:[s.layout.checkMark,{color:s.colors.checkForeground}]},"✓")):null))},SelectorOptionItemMemo=_react().default.memo(SelectorOptionItemImpl);SelectorOptionItemMemo.displayName="SelectorOptionItem";const SelectorOptionItem=SelectorOptionItemMemo,SelectorImpl=e=>{const{tokensOverride:t,options:r,columns:o,multiple:a,showCheckMark:l,disabled:i,onChange:n,itemStyle:c,labelStyle:s,descriptionStyle:u,style:d,onLayout:p,...f}=e,y=Array.isArray(r)?r:[],m=(0,_tokens.useSelectorTokens)(t),[_,g]=_react().default.useState(0),b=o??m.defaults.columns??1,h=a??m.defaults.multiple,S=l??m.defaults.showCheckMark,k=Boolean(i??m.defaults.disabled),[v=[],x]=(0,_hooks.useControllableValue)(e,{defaultValue:[]}),M=(0,_react().useMemo)(()=>{const e=new Map;for(const t of y)e.set(t.value,t);return e},[y]),w=Math.max(1,Math.floor(b)),O=100/w+"%",T=m.spacing.gap,C=(0,_react().useMemo)(()=>new Set(v),[v]),W=(0,_react().useCallback)(e=>{if(k||e.disabled)return;const t=C.has(e.value),r=h?t?v.filter(t=>t!==e.value):[...v,e.value]:t?[]:[e.value];x(r,{items:r.map(e=>M.get(e)).filter(Boolean)})},[k,h,M,C,x,v]),E=(0,_react().useCallback)(e=>{g(e.nativeEvent.layout.width),p?.(e)},[p]);return _react().default.createElement(_reactNative().View,_extends({},f,{onLayout:E,style:[m.layout.container,{columnGap:T,rowGap:T},d],accessibilityRole:h?void 0:"radiogroup"}),y.map(e=>_react().default.createElement(SelectorOptionItem,{key:String(e.value),option:e,active:C.has(e.value),disabled:k||Boolean(e.disabled),multiple:h,showCheckMark:S,basis:O,containerWidth:_,columns:w,gap:T,tokens:m,itemStyle:c,labelStyle:s,descriptionStyle:u,onToggle:W})))},Selector=exports.Selector=_react().default.memo(SelectorImpl);Selector.displayName="Selector";var _default=exports.default=Selector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _slider(){const e=require("@react-native-aria/slider");return _slider=function(){return e},e}function _utils(){const e=require("@react-native-aria/utils");return _utils=function(){return e},e}function _slider2(){const e=require("@react-stately/slider");return _slider2=function(){return e},e}function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var _tokens=require("./tokens"),_number=require("../../utils/number"),_hairline=require("../../utils/hairline"),_utils2=require("../../utils"),_validate=require("../../utils/validate"),_hooks=require("../../hooks");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,i,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(n=t?a:r){if(n.has(e))return n.get(e);n.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?n(o,t,i):o[t]=e[t]);return o})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}const isSameLayout=(e,t)=>e.width===t.width&&e.height===t.height&&e.x===t.x&&e.y===t.y,normalizeValue=(e,t,r,a)=>t?(()=>{const t=Array.isArray(e)?e:(0,_validate.isFiniteNumber)(e)?[r,e]:[r,r],n=(0,_validate.isFiniteNumber)(t[0])?(0,_utils2.clamp)(t[0],r,a):r,i=(0,_validate.isFiniteNumber)(t[1]??t[0])?(0,_utils2.clamp)(t[1]??t[0],r,a):r;return n<=i?[n,i]:[i,n]})():(()=>{const t=Array.isArray(e)?e[0]:e;return[(0,_validate.isFiniteNumber)(t)?(0,_utils2.clamp)(t,r,a):r]})(),toSliderValue=(e,t,r)=>t?[e[0]??r,e[1]??e[0]??r]:e[0]??r,createAccessibilityProps=e=>e?(()=>{const{role:t,"aria-value":r,accessibilityActions:a,onAccessibilityAction:n,disabled:i}=e;return{accessible:!0,accessibilityRole:t??"adjustable",accessibilityValue:r,accessibilityActions:a,onAccessibilityAction:n,accessibilityState:{disabled:i}}})():{},defaultNumberFormatter="undefined"!=typeof Intl&&(0,_validate.isFunction)(Intl.NumberFormat)?new Intl.NumberFormat:{format:e=>String(e)},START_KEYS=["onResponderGrant","onPanResponderGrant"],MOVE_KEYS=["onResponderMove","onPanResponderMove"],END_KEYS=["onResponderRelease","onResponderTerminate","onPanResponderRelease","onPanResponderTerminate"],useTrackLayout=()=>{const e=(0,_react().useRef)(null),t=(0,_react().useRef)(null),[r,a]=(0,_react().useState)({width:0,height:0,x:0,y:0}),n=(0,_react().useCallback)(r=>{const{layout:n}=r.nativeEvent,i={width:Math.max(n.width,1),height:Math.max(n.height,1),x:n.x??0,y:n.y??0};a(e=>isSameLayout(e,i)?e:i),"web"===_reactNative().Platform.OS&&"undefined"!=typeof requestAnimationFrame&&null==t.current&&(t.current=requestAnimationFrame(()=>{t.current=null;const r=e.current;r?.measureInWindow&&r.measureInWindow((e,t,r,n)=>{const i={width:Math.max(r,1),height:Math.max(n,1),x:e,y:t};a(e=>isSameLayout(e,i)?e:i)})}))},[]);return(0,_react().useEffect)(()=>()=>{null!=t.current&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t.current),t.current=null},[]),{trackRef:e,trackLayout:r,handleTrackLayout:n}},ThumbNode=_react().default.memo(({index:e,orientation:t,ariaReverse:r,trackLayout:a,isDisabled:n,state:i,size:o,activeColor:u,content:c,visualPercent:s,thumbBackgroundColor:l,thumbElevation:d,indicatorSize:m,indicatorColor:f,webGestureStyle:h,enhanceHandlers:_})=>{const b=(0,_react().useRef)(null),{thumbProps:v,inputProps:p}=(0,_slider().useSliderThumb)({index:e,trackLayout:a,inputRef:b,isDisabled:n,orientation:t},i,r),y=v,g=_(y,e)??y??{},w=-o/2,k={width:o,height:o,borderRadius:o/2,borderColor:u,transform:[{translateX:w},{translateY:w}],..."vertical"===t?{top:`${s}%`,left:"50%"}:{left:`${s}%`,top:"50%"},...c?{}:{backgroundColor:l,elevation:d}},x={width:m,height:m,borderRadius:m/2,backgroundColor:f},R=createAccessibilityProps(p);return _react().default.createElement(_reactNative().View,_extends({},g,R,{pointerEvents:n?"none":"auto",style:[c?S.thw:S.t,h,k]}),null!=c?(0,_validate.isText)(c)?(0,_utils2.renderTextOrNode)(c,[]):c:_react().default.createElement(_reactNative().View,{style:x}),!c&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:u,borderRadius:o/2})}))});ThumbNode.displayName="ThumbNode";const SliderImpl=e=>{const{value:t,min:r=0,max:a=100,step:n=1,range:i=!1,vertical:o=!1,reverse:u=!1,disabled:c=!1,readOnly:s=!1,activeColor:l,inactiveColor:d,barHeight:m,trackHeight:f,buttonSize:h,thumbSize:_,tokensOverride:b,button:v,leftButton:p,rightButton:y,thumb:g,leftThumb:w,rightThumb:k,ariaLabel:x,onChange:R,onChangeAfter:M,onDragStart:N,onDragEnd:E,style:C,onLayout:F,...T}=e,A=(0,_tokens.useSliderTokens)(b),P=o?"vertical":"horizontal",{trackRef:V,trackLayout:z,handleTrackLayout:q}=useTrackLayout(),L=(0,_number.parseNumber)(r,0),O=(0,_number.parseNumber)(a,100),D=(0,_number.parseNumber)(n,1),j=D>0?D:1,I=Math.max(0,(0,_number.parseNumber)(m??f,A.track.height)),Y=Math.max(0,(0,_number.parseNumber)(h??_,A.thumb.size)),K=c||s,W=l??A.colors.active,H=d??A.colors.inactive,$=Math.max(O-L,1e-5),B=normalizeValue(t,i,L,O),G=void 0!==t,X=(0,_react().useRef)(R),J=(0,_react().useRef)(M),Q=(0,_react().useRef)(N),U=(0,_react().useRef)(E);X.current=R,J.current=M,Q.current=N,U.current=E;const Z=(0,_react().useCallback)(e=>toSliderValue(e,i,L),[i,L]),ee=(0,_react().useCallback)(e=>{X.current?.(Z(e))},[Z]),te=(0,_react().useCallback)(e=>{J.current?.(Z(e))},[Z]),re=(0,_react().useMemo)(()=>({minValue:L,maxValue:O,step:j,isDisabled:K,numberFormatter:defaultNumberFormatter,orientation:P,value:G?B:void 0,defaultValue:G?void 0:B,onChange:ee,onChangeEnd:te}),[K,ee,te,G,B,P,O,L,j]),ae=(0,_slider2().useSliderState)(re),ne="horizontal"===P?u||(0,_utils().isRTL)():u,ie="horizontal"===P?ne:u,{trackProps:oe}=(0,_slider().useSlider)({orientation:P,isDisabled:K,"aria-label":x??"Slider"},ae,z,ie),ue=oe,{style:ce,onLayout:se,...le}=ue,de=(0,_react().useCallback)(e=>{q(e),se?.(e)},[q,se]),me=(0,_react().useCallback)(e=>{if(K)return;if(!ae.values.every((e,t)=>!ae.isThumbDragging(t)))return;const{locationX:t,locationY:r,pageX:a,pageY:n}=e.nativeEvent,i=(0,_validate.isFiniteNumber)(t)?t:(0,_validate.isFiniteNumber)(a)?a-(z.x??0):0,o=(0,_validate.isFiniteNumber)(r)?r:(0,_validate.isFiniteNumber)(n)?n-(z.y??0):0,c="vertical"===P?z.height:z.width,s=("vertical"===P?o:i)/Math.max(c,1),l="vertical"===P?u?s:1-s:ne?1-s:s,d=ae.getPercentValue(Math.min(1,Math.max(0,l))),m=ae.values.reduce((e,t,r)=>Math.abs(t-d)<Math.abs(ae.values[e]-d)?r:e,0);m>=0&&ae.isThumbEditable(m)&&(e.preventDefault?.(),ae.setFocusedThumb(m),ae.setThumbDragging(m,!0),ae.setThumbValue(m,d),ae.setThumbDragging(m,!1))},[K,P,u,ne,ae,z.height,z.width,z.x,z.y]),{interactionProps:fe}=(0,_hooks.useAriaPress)({disabled:K,onPress:me,extraProps:le}),he=Z(ae.values),_e=(0,_react().useRef)(he),be=(0,_react().useRef)([]),ve=(0,_react().useRef)([]),pe=(0,_react().useRef)([]),ye=(0,_react().useRef)([]),ge=(0,_react().useRef)(new WeakMap);_e.current=he,(0,_react().useEffect)(()=>()=>{const e="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;if(e){for(const t of pe.current)null!=t&&e(t);pe.current=[],ye.current=[]}},[]);const Se=(0,_react().useCallback)((e,t)=>{if(!e)return e;if(!Q.current&&!U.current)return e;const r=ge.current.get(e),a=r?.get(t);if(a)return a;if(!(START_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||MOVE_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||END_KEYS.some(t=>(0,_validate.isFunction)(e[t]))))return e;const n={...e},i="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,o="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;for(const e of MOVE_KEYS){const r=n[e];if(!(0,_validate.isFunction)(r))continue;const a=r;n[e]=(...e)=>{i?(ye.current[t]=e,null==pe.current[t]&&(pe.current[t]=i(()=>{pe.current[t]=null;const e=ye.current[t];e&&(ye.current[t]=null,a(...e))}))):a(...e)}}const u=(e,t)=>{if(!t)return;const r=n[e];n[e]=(...e)=>{(0,_validate.isFunction)(r)&&r(...e),t(e[0])}},c=(e,t)=>{if(!t)return;const r=n[e];n[e]=(...e)=>{t(e[0]),(0,_validate.isFunction)(r)&&r(...e)}};for(const e of START_KEYS)u(e,()=>{be.current[t]=!1,ve.current[t]=_e.current});for(const e of MOVE_KEYS)c(e,e=>{be.current[t]||(be.current[t]=!0,Q.current?.(e,ve.current[t]??_e.current))});const s=e=>{be.current[t]&&(be.current[t]=!1,ve.current[t]=void 0,U.current?.(e,_e.current));const r=pe.current[t];null!=r&&o&&(o(r),pe.current[t]=null),ye.current[t]=null};for(const e of END_KEYS)u(e,s);const l=r??new Map;return l.set(t,n),r||ge.current.set(e,l),n},[]),we=ae.values,ke=(0,_react().useMemo)(()=>we.map(e=>((e??L)-L)/$*100),[L,$,we]),xe=(0,_react().useMemo)(()=>ke.map(e=>"vertical"===P?u?e:100-e:ne?100-e:e),[P,u,ne,ke]),Re=(0,_react().useMemo)(()=>{const e=xe[0]??0,t=xe[1]??e;return i&&xe.length>1?{offset:Math.min(e,t),size:Math.max(e,t)-Math.min(e,t)}:("horizontal"===P?!ne:u)?{offset:0,size:e}:{offset:e,size:100-e}},[P,i,u,ne,xe]),{track:{radius:Me}}=A,Ne=(0,_react().useMemo)(()=>({backgroundColor:W,borderRadius:Me,..."vertical"===P?{left:0,width:"100%",height:`${Math.max(Re.size,0)}%`,top:`${Math.max(Re.offset,0)}%`}:{top:0,height:"100%",width:`${Math.max(Re.size,0)}%`,left:`${Math.max(Re.offset,0)}%`}}),[Re.offset,Re.size,P,W,Me]),Ee=(0,_react().useMemo)(()=>"vertical"===P?[S.tv,{width:I,backgroundColor:H,alignSelf:"center"}]:[S.th,{height:I,backgroundColor:H}],[P,H,I]),Ce=(0,_validate.isFunction)(v)?v({value:he}):v??g,Fe=p??w??Ce,Te=y??k??Ce,Ae=(0,_react().useCallback)((e,t)=>t>1?0===e?Fe:Te:Ce,[Fe,Te,Ce]),Pe="web"===_reactNative().Platform.OS?{touchAction:"horizontal"===P?"pan-y":"pan-x",userSelect:"none"}:void 0,Ve=[S.tp,"vertical"===P?S.tpv:null,Pe],ze=(0,_react().useCallback)(e=>[Ve,ce(e)],[Ve,ce]),qe=ce&&(0,_validate.isFunction)(ce)?ze:[Ve,ce],{spacing:{containerPaddingVertical:Le},layout:{verticalMinHeight:Oe,verticalWidth:De},states:{disabledOpacity:je}}=A,Ie=[S.c,{paddingVertical:Le},"vertical"===P&&[S.vc,{minHeight:Oe,width:De}],c&&{opacity:je},C];return _react().default.createElement(_reactNative().View,_extends({style:Ie,onLayout:F},T),_react().default.createElement(_reactNative().View,{style:[S.tw,"vertical"===P&&S.twv]},_react().default.createElement(_reactNative().Pressable,_extends({ref:V},fe,{disabled:K,onLayout:de,style:qe}),_react().default.createElement(_reactNative().View,{style:[S.tb,{borderRadius:Me},...Ee]},_react().default.createElement(_reactNative().View,{style:[S.a,Ne]}))),we.map((e,t)=>_react().default.createElement(ThumbNode,{key:`thumb-${t}`,index:t,orientation:P,ariaReverse:ie,trackLayout:z,isDisabled:K,state:ae,size:Y,activeColor:W,content:Ae(t,we.length),visualPercent:xe[t]??0,thumbBackgroundColor:A.colors.thumbBackground,thumbElevation:A.thumb.elevation,indicatorSize:A.thumb.indicatorSize,indicatorColor:A.colors.thumbIndicator,webGestureStyle:Pe,enhanceHandlers:Se}))))},S=_reactNative().StyleSheet.create({c:{position:"relative",justifyContent:"center",width:"100%"},vc:{height:"100%",alignItems:"center",paddingVertical:0},tw:{width:"100%",justifyContent:"center",position:"relative"},twv:{flex:1,justifyContent:"center",alignItems:"center",width:"100%"},tp:{width:"100%",justifyContent:"center"},tpv:{flex:1,alignItems:"center"},tb:{overflow:"hidden",position:"relative"},th:{width:"100%"},tv:{height:"100%"},a:{position:"absolute"},t:{position:"absolute",alignItems:"center",justifyContent:"center"},thw:{position:"absolute",alignItems:"center",justifyContent:"center"}}),Slider=exports.Slider=_react().default.memo(SliderImpl);var _default=exports.default=Slider;
|
|
1
|
+
"use strict";function _slider(){const e=require("@react-native-aria/slider");return _slider=function(){return e},e}function _utils(){const e=require("@react-native-aria/utils");return _utils=function(){return e},e}function _slider2(){const e=require("@react-stately/slider");return _slider2=function(){return e},e}function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var _tokens=require("./tokens"),_number=require("../../utils/number"),_hairline=require("../../utils/hairline"),_utils2=require("../../utils"),_validate=require("../../utils/validate"),_hooks=require("../../hooks"),_utils3=require("../../hooks/slider/utils");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,n,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(i=t?a:r){if(i.has(e))return i.get(e);i.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?i(o,t,n):o[t]=e[t]);return o})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}const ThumbNode=_react().default.memo(({index:e,orientation:t,ariaReverse:r,trackLayout:a,isDisabled:i,state:n,size:o,activeColor:u,content:c,visualPercent:l,thumbBackgroundColor:s,thumbElevation:d,indicatorSize:_,indicatorColor:f,webGestureStyle:h,enhanceHandlers:m})=>{const v=(0,_react().useRef)(null),{thumbProps:b,inputProps:p}=(0,_slider().useSliderThumb)({index:e,trackLayout:a,inputRef:v,isDisabled:i,orientation:t},n,r),g=b,y=m(g,e)??g??{},k=-o/2,w={width:o,height:o,borderRadius:o/2,borderColor:u,transform:[{translateX:k},{translateY:k}],..."vertical"===t?{top:`${l}%`,left:"50%"}:{left:`${l}%`,top:"50%"},...c?{}:{backgroundColor:s,elevation:d}},x={width:_,height:_,borderRadius:_/2,backgroundColor:f},C=(0,_utils3.createAccessibilityProps)(p);return _react().default.createElement(_reactNative().View,_extends({},y,C,{pointerEvents:i?"none":"auto",style:[c?S.thw:S.t,h,w]}),null!=c?(0,_validate.isText)(c)?(0,_utils2.renderTextOrNode)(c,[]):c:_react().default.createElement(_reactNative().View,{style:x}),!c&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:u,borderRadius:o/2})}))});ThumbNode.displayName="ThumbNode";const SliderImpl=e=>{const{value:t,min:r=0,max:a=100,step:i=1,range:n=!1,vertical:o=!1,reverse:u=!1,disabled:c=!1,readOnly:l=!1,activeColor:s,inactiveColor:d,barHeight:_,trackHeight:f,buttonSize:h,thumbSize:m,tokensOverride:v,button:b,leftButton:p,rightButton:g,thumb:y,leftThumb:k,rightThumb:w,ariaLabel:x,onChange:C,onChangeAfter:M,onDragStart:N,onDragEnd:E,style:R,onLayout:T,...F}=e,V=(0,_tokens.useSliderTokens)(v),z=o?"vertical":"horizontal",{trackRef:P,trackLayout:q,handleTrackLayout:O}=(0,_utils3.useTrackLayout)(),D=(0,_number.parseNumber)(r,0),j=(0,_number.parseNumber)(a,100),A=(0,_number.parseNumber)(i,1),L=A>0?A:1,Y=Math.max(0,(0,_number.parseNumber)(_??f,V.track.height)),I=Math.max(0,(0,_number.parseNumber)(h??m,V.thumb.size)),W=c||l,H=s??V.colors.active,K=d??V.colors.inactive,$=Math.max(j-D,1e-5),B=(0,_utils3.normalizeValue)(t,n,D,j),X=void 0!==t,G=(0,_react().useRef)(C),J=(0,_react().useRef)(M),Q=(0,_react().useRef)(N),U=(0,_react().useRef)(E);G.current=C,J.current=M,Q.current=N,U.current=E;const Z=(0,_react().useCallback)(e=>(0,_utils3.toSliderValue)(e,n,D),[n,D]),ee=(0,_react().useCallback)(e=>{G.current?.(Z(e))},[Z]),te=(0,_react().useCallback)(e=>{J.current?.(Z(e))},[Z]),re=(0,_react().useMemo)(()=>({minValue:D,maxValue:j,step:L,isDisabled:W,numberFormatter:_utils3.defaultNumberFormatter,orientation:z,value:X?B:void 0,defaultValue:X?void 0:B,onChange:ee,onChangeEnd:te}),[W,ee,te,X,B,z,j,D,L]),ae=(0,_slider2().useSliderState)(re),ie="horizontal"===z?u||(0,_utils().isRTL)():u,ne="horizontal"===z?ie:u,{trackProps:oe}=(0,_slider().useSlider)({orientation:z,isDisabled:W,"aria-label":x??"Slider"},ae,q,ne),ue=oe,{style:ce,onLayout:le,...se}=ue,de=(0,_react().useCallback)(e=>{O(e),le?.(e)},[O,le]),_e=(0,_react().useCallback)(e=>{if(W)return;if(!ae.values.every((e,t)=>!ae.isThumbDragging(t)))return;const{locationX:t,locationY:r,pageX:a,pageY:i}=e.nativeEvent,n=(0,_validate.isFiniteNumber)(t)?t:(0,_validate.isFiniteNumber)(a)?a-(q.x??0):0,o=(0,_validate.isFiniteNumber)(r)?r:(0,_validate.isFiniteNumber)(i)?i-(q.y??0):0,c="vertical"===z?q.height:q.width,l=("vertical"===z?o:n)/Math.max(c,1),s="vertical"===z?u?l:1-l:ie?1-l:l,d=ae.getPercentValue(Math.min(1,Math.max(0,s))),_=ae.values.reduce((e,t,r)=>Math.abs(t-d)<Math.abs(ae.values[e]-d)?r:e,0);_>=0&&ae.isThumbEditable(_)&&(e.preventDefault?.(),ae.setFocusedThumb(_),ae.setThumbDragging(_,!0),ae.setThumbValue(_,d),ae.setThumbDragging(_,!1))},[W,z,u,ie,ae,q.height,q.width,q.x,q.y]),{interactionProps:fe}=(0,_hooks.useAriaPress)({disabled:W,onPress:_e,extraProps:se}),he=Z(ae.values),me=(0,_react().useRef)(he),ve=(0,_react().useRef)([]),be=(0,_react().useRef)([]),pe=(0,_react().useRef)([]),ge=(0,_react().useRef)([]),ye=(0,_react().useRef)(new WeakMap);me.current=he,(0,_react().useEffect)(()=>()=>{const e="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;if(e){for(const t of pe.current)null!=t&&e(t);pe.current=[],ge.current=[]}},[]);const Se=(0,_react().useCallback)((e,t)=>{if(!e)return e;if(!Q.current&&!U.current)return e;const r=ye.current.get(e),a=r?.get(t);if(a)return a;if(!(_utils3.START_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||_utils3.MOVE_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||_utils3.END_KEYS.some(t=>(0,_validate.isFunction)(e[t]))))return e;const i={...e},n="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,o="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;for(const e of _utils3.MOVE_KEYS){const r=i[e];if(!(0,_validate.isFunction)(r))continue;const a=r;i[e]=(...e)=>{n?(ge.current[t]=e,null==pe.current[t]&&(pe.current[t]=n(()=>{pe.current[t]=null;const e=ge.current[t];e&&(ge.current[t]=null,a(...e))}))):a(...e)}}const u=(e,t)=>{if(!t)return;const r=i[e];i[e]=(...e)=>{(0,_validate.isFunction)(r)&&r(...e),t(e[0])}},c=(e,t)=>{if(!t)return;const r=i[e];i[e]=(...e)=>{t(e[0]),(0,_validate.isFunction)(r)&&r(...e)}};for(const e of _utils3.START_KEYS)u(e,()=>{ve.current[t]=!1,be.current[t]=me.current});for(const e of _utils3.MOVE_KEYS)c(e,e=>{ve.current[t]||(ve.current[t]=!0,Q.current?.(e,be.current[t]??me.current))});const l=e=>{ve.current[t]&&(ve.current[t]=!1,be.current[t]=void 0,U.current?.(e,me.current));const r=pe.current[t];null!=r&&o&&(o(r),pe.current[t]=null),ge.current[t]=null};for(const e of _utils3.END_KEYS)u(e,l);const s=r??new Map;return s.set(t,i),r||ye.current.set(e,s),i},[]),ke=ae.values,we=(0,_react().useMemo)(()=>ke.map(e=>((e??D)-D)/$*100),[D,$,ke]),xe=(0,_react().useMemo)(()=>we.map(e=>"vertical"===z?u?e:100-e:ie?100-e:e),[z,u,ie,we]),Ce=(0,_react().useMemo)(()=>{const e=xe[0]??0,t=xe[1]??e;return n&&xe.length>1?{offset:Math.min(e,t),size:Math.max(e,t)-Math.min(e,t)}:("horizontal"===z?!ie:u)?{offset:0,size:e}:{offset:e,size:100-e}},[z,n,u,ie,xe]),{track:{radius:Me}}=V,Ne=(0,_react().useMemo)(()=>({backgroundColor:H,borderRadius:Me,..."vertical"===z?{left:0,width:"100%",height:`${Math.max(Ce.size,0)}%`,top:`${Math.max(Ce.offset,0)}%`}:{top:0,height:"100%",width:`${Math.max(Ce.size,0)}%`,left:`${Math.max(Ce.offset,0)}%`}}),[Ce.offset,Ce.size,z,H,Me]),Ee=(0,_react().useMemo)(()=>"vertical"===z?[S.tv,{width:Y,backgroundColor:K,alignSelf:"center"}]:[S.th,{height:Y,backgroundColor:K}],[z,K,Y]),Re=(0,_validate.isFunction)(b)?b({value:he}):b??y,Te=p??k??Re,Fe=g??w??Re,Ve=(0,_react().useCallback)((e,t)=>t>1?0===e?Te:Fe:Re,[Te,Fe,Re]),ze="web"===_reactNative().Platform.OS?{touchAction:"horizontal"===z?"pan-y":"pan-x",userSelect:"none"}:void 0,Pe=[S.tp,"vertical"===z?S.tpv:null,ze],qe=(0,_react().useCallback)(e=>[Pe,ce(e)],[Pe,ce]),Oe=ce&&(0,_validate.isFunction)(ce)?qe:[Pe,ce],{spacing:{containerPaddingVertical:De},layout:{verticalMinHeight:je,verticalWidth:Ae},states:{disabledOpacity:Le}}=V,Ye=[S.c,{paddingVertical:De},"vertical"===z&&[S.vc,{minHeight:je,width:Ae}],c&&{opacity:Le},R];return _react().default.createElement(_reactNative().View,_extends({style:Ye,onLayout:T},F),_react().default.createElement(_reactNative().View,{style:[S.tw,"vertical"===z&&S.twv]},_react().default.createElement(_reactNative().Pressable,_extends({ref:P},fe,{disabled:W,onLayout:de,style:Oe}),_react().default.createElement(_reactNative().View,{style:[S.tb,{borderRadius:Me},...Ee]},_react().default.createElement(_reactNative().View,{style:[S.a,Ne]}))),ke.map((e,t)=>_react().default.createElement(ThumbNode,{key:`thumb-${t}`,index:t,orientation:z,ariaReverse:ne,trackLayout:q,isDisabled:W,state:ae,size:I,activeColor:H,content:Ve(t,ke.length),visualPercent:xe[t]??0,thumbBackgroundColor:V.colors.thumbBackground,thumbElevation:V.thumb.elevation,indicatorSize:V.thumb.indicatorSize,indicatorColor:V.colors.thumbIndicator,webGestureStyle:ze,enhanceHandlers:Se}))))},S=_reactNative().StyleSheet.create({c:{position:"relative",justifyContent:"center",width:"100%"},vc:{height:"100%",alignItems:"center",paddingVertical:0},tw:{width:"100%",justifyContent:"center",position:"relative"},twv:{flex:1,justifyContent:"center",alignItems:"center",width:"100%"},tp:{width:"100%",justifyContent:"center"},tpv:{flex:1,alignItems:"center"},tb:{overflow:"hidden",position:"relative"},th:{width:"100%"},tv:{height:"100%"},a:{position:"absolute"},t:{position:"absolute",alignItems:"center",justifyContent:"center"},thw:{position:"absolute",alignItems:"center",justifyContent:"center"}}),Slider=exports.Slider=_react().default.memo(SliderImpl);var _default=exports.default=Slider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _hooks=require("../../hooks"),_utils=require("../../utils"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens"),_hairline=require("../../utils/hairline");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,u,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(u.get||u.set)?a(s,t,u):s[t]=e[t]);return s})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const LONG_PRESS_DELAY=600,LONG_PRESS_INTERVAL=100,StepperImpl=(e,t)=>{const r=(0,_tokens.useStepperTokens)(e.tokensOverride),n=(0,_useDirection.useDirection)(),{min:a,max:u,step:s=1,autoFixed:o=!0,beforeChange:l,integer:c=!1,decimalLength:i,disabled:d=!1,disablePlus:p=!1,disableMinus:b=!1,disableInput:_=!1,allowEmpty:f=!1,showPlus:m=r.defaults.showPlus,showMinus:g=r.defaults.showMinus,showInput:h=r.defaults.showInput,longPress:y=r.defaults.longPress,theme:k=r.defaults.theme,inputWidth:v,buttonSize:C,name:T,placeholder:N,onClick:R,onPlus:P,onMinus:x,onOverlimit:F,onFocus:w,onBlur:I,inputProps:D,inputStyle:O,buttonStyle:L,style:B,...E}=e,[M,W]=(0,_react().useState)(!1),V=(0,_react().useRef)(!1),q=(0,_react().useRef)(P),z=(0,_react().useRef)(x),j=(0,_react().useRef)(F),H=(0,_react().useRef)(w),A=(0,_react().useRef)(I),G=(0,_react().useRef)(R),Y=(0,_react().useRef)(null),J=(0,_react().useRef)(null),K=(0,_react().useRef)(""),Q=(0,_react().useRef)(D),U=(0,_react().useRef)({hadLongPress:!1});q.current=P,z.current=x,j.current=F,H.current=w,A.current=I,G.current=R,Q.current=D;const X=(0,_utils.parseDecimalLength)(i),Z=Number(s??1),$=(0,_utils.isFiniteNumber)(Z)&&Z>0?Z:1,ee=Math.max(0,(0,_utils.parseNumber)(C,r.defaults.buttonSize)),te=Math.max(0,(0,_utils.parseNumber)(v,r.defaults.inputWidth)),re=(0,_react().useMemo)(()=>{const t=e.defaultValue;if(null===t)return null;const r=(0,_utils.isFiniteNumber)(t)?t:0,n=(0,_utils.formatNumber)(r,c,X);return o?(0,_utils.clampValue)(n,a,u):n},[o,X,c,u,a,e.defaultValue]),[ne,ae]=(0,_hooks.useControllableValue)({...e,defaultValue:re},{defaultValue:re});(0,_react().useEffect)(()=>{Y.current=ne??null},[ne]),(0,_react().useImperativeHandle)(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur()}));const[ue,se]=(0,_react().useState)(!1),[oe,le]=(0,_react().useState)(()=>(0,_utils.numberToString)(ne,X)),ce=(0,_react().useCallback)(e=>{K.current=e,le(e)},[]);(0,_react().useEffect)(()=>{ue||ce((0,_utils.numberToString)(ne,X))},[X,ue,ce,ne]);const ie=(0,_react().useCallback)(()=>{const e=Y.current;return(0,_utils.isFiniteNumber)(e)?e:(0,_utils.isFiniteNumber)(a)?a:0},[a]),de=(0,_react().useCallback)(e=>{if(d)return!0;if("plus"===e&&p)return!0;if("minus"===e&&b)return!0;const t=ie();return!!("plus"===e&&(0,_utils.isFiniteNumber)(u)&&t>=u)||!!("minus"===e&&(0,_utils.isFiniteNumber)(a)&&t<=a)},[b,p,d,ie,u,a]),pe=(0,_react().useCallback)(e=>{const t=Y.current??null;return!Object.is(t,e)&&(Y.current=e,ae(e,{name:T}),!0)},[T,ae]),be=(0,_react().useCallback)(e=>{const t=(0,_utils.formatNumber)(e,c,X);return o?(0,_utils.clampValue)(t,a,u):t},[o,X,c,u,a]),_e=(0,_react().useCallback)((e,t)=>{if(V.current)return"noop";const r=()=>pe(e)?(ce((0,_utils.numberToString)(e,X)),t?.(e),"changed"):"noop";if(!l)return r();try{const t=l(e);return(0,_utils.isPromiseLike)(t)?(V.current=!0,W(!0),t.then(e=>{!1!==e?r():ce((0,_utils.numberToString)(Y.current,X))}).catch(()=>r()).finally(()=>{V.current=!1,W(!1)}),"pending"):!1===t?(ce((0,_utils.numberToString)(Y.current,X)),"noop"):r()}catch{return r()}},[l,X,ce,pe]),fe=(0,_react().useCallback)((e,t,r)=>{if(V.current)return"noop";const n=r?.emitOverlimit??!0,a=r?.emitButtonCallbacks??Boolean(t);if(de(e))return n&&j.current?.(e),"overlimit";const u=ie(),s="plus"===e?$:-$,o=be((0,_utils.addNumber)(u,s));return _e(o,r=>{a&&t&&("plus"===e?q.current?.(t,r):z.current?.(t,r))})},[be,ie,de,_e,$]),me=(0,_react().useCallback)(()=>{U.current.delay&&(clearTimeout(U.current.delay),U.current.delay=void 0),U.current.interval&&(clearInterval(U.current.interval),U.current.interval=void 0)},[]);(0,_react().useEffect)(()=>me(),[me]),(0,_react().useEffect)(()=>{(d||M||!y)&&me()},[M,me,d,y]);const ge=(0,_react().useCallback)(e=>{y&&(V.current||de(e)||(me(),U.current.hadLongPress=!1,U.current.delay=setTimeout(()=>{U.current.hadLongPress=!0;"changed"===fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})?U.current.interval=setInterval(()=>{"changed"!==fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})&&me()},100):me()},600)))},[me,de,y,fe]),he=(0,_react().useCallback)(()=>me(),[me]),ye=(0,_react().useCallback)((e,t)=>{U.current.hadLongPress?U.current.hadLongPress=!1:(U.current.hadLongPress=!1,fe(e,t,{emitOverlimit:!0,emitButtonCallbacks:!0}))},[fe]),ke=(0,_utils.isFiniteNumber)(ne)?ne:0,ve=(0,_utils.isFiniteNumber)(a)?a:void 0,Se=(0,_utils.isFiniteNumber)(u)?u:void 0,Ce=d||M,Te=Ce||b||null!=ve&&ke<=ve,Ne=Ce||p||null!=Se&&ke>=Se,Re=r.radii.default,Pe=(0,_react().useMemo)(()=>({width:ee,height:ee}),[ee]),xe=(0,_react().useMemo)(()=>({width:te,height:ee,marginHorizontal:r.spacing.gap}),[ee,te,r.spacing.gap]),Fe=(0,_react().useCallback)((e,t)=>{const a="plus"===e,u=a?Ne:Te;if("round"===k){const e=[S.btn,Pe,{borderRadius:ee/2,opacity:u?r.opacity.roundDisabled:1}];return a?[...e,{backgroundColor:r.colors.roundTheme,...t.pressed&&!u&&{opacity:r.opacity.pressed}},L]:[...e,{backgroundColor:r.colors.roundThemeBackground,...t.pressed&&!u&&{opacity:r.opacity.pressed}},L]}const s="minus"===e!=("rtl"===n)?{borderTopLeftRadius:Re,borderBottomLeftRadius:Re}:{borderTopRightRadius:Re,borderBottomRightRadius:Re},o=u?r.colors.buttonDisabledBackground:t.pressed?r.colors.active:r.colors.background;return[S.btn,Pe,s,{backgroundColor:o},L]},[Pe,L,Te,Ne,Re,ee,k,n,r.colors.active,r.colors.background,r.colors.buttonDisabledBackground,r.colors.roundTheme,r.colors.roundThemeBackground,r.opacity.pressed,r.opacity.roundDisabled]),we=(0,_react().useCallback)(e=>{const t="plus"===e,n=t?Ne:Te;if("round"===k){const e=t?r.colors.roundThemeText:r.colors.roundTheme;return[S.btnTxt,{color:e,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]}return[S.btnTxt,{color:n?r.colors.buttonDisabledIcon:r.colors.buttonIcon,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]},[Te,Ne,k,r.colors.buttonDisabledIcon,r.colors.buttonIcon,r.colors.roundTheme,r.colors.roundThemeText,r.typography.fontFamily,r.typography.fontSize,r.typography.fontWeight]),Ie=(0,_react().useCallback)(e=>{if(_||d||V.current)return;ce(e),Q.current?.onChangeText?.(e);const t=e.trim();if(""===t)return void _e(f?null:re);const r=Number.parseFloat(t);Number.isFinite(r)&&_e(be(r))},[f,be,V,_,d,Q,_e,re,ce]),De=(0,_react().useCallback)(e=>{_?J.current?.blur():(se(!0),H.current?.(e),Q.current?.onFocus?.(e))},[_]),Oe=(0,_react().useCallback)(e=>{if(se(!1),!V.current){const e=K.current.trim();if(""===e)_e(f?null:re);else{const t=Number.parseFloat(e);Number.isFinite(t)&&_e(be(t))}}A.current?.(e),Q.current?.onBlur?.(e)},[f,be,_e,re]),Le=(0,_react().useCallback)(e=>{G.current?.(e),Q.current?.onPressIn?.(e)},[]),Be=(0,_react().useCallback)(e=>ye("minus",e),[ye]),Ee=(0,_react().useCallback)(e=>ye("plus",e),[ye]),Me=(0,_react().useCallback)(()=>ge("minus"),[ge]),We=(0,_react().useCallback)(()=>ge("plus"),[ge]),Ve=(0,_react().useCallback)(e=>Fe("minus",e),[Fe]),qe=(0,_react().useCallback)(e=>Fe("plus",e),[Fe]),ze=(0,_react().useCallback)(()=>g?_react().default.createElement(_reactNative().Pressable,{key:"minus",testID:"stepper-minus",accessibilityRole:"button",accessibilityLabel:"minus",accessibilityState:{disabled:Te},onPress:Be,onPressIn:Me,onPressOut:he,style:Ve},_react().default.createElement(_reactNative().Text,{style:we("minus")},"-"),"round"===k&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:r.colors.roundTheme,borderRadius:ee/2})})):null,[we,Ve,Be,Me,he,Te,g,k,r.colors.roundTheme,ee]),je=(0,_react().useCallback)(()=>m?_react().default.createElement(_reactNative().Pressable,{key:"plus",testID:"stepper-plus",accessibilityRole:"button",accessibilityLabel:"add",accessibilityState:{disabled:Ne},onPress:Ee,onPressIn:We,onPressOut:he,style:qe},_react().default.createElement(_reactNative().Text,{style:we("plus")},"+")):null,[we,qe,Ee,We,he,Ne,m]),He=(0,_react().useMemo)(()=>{if(!h)return null;const e=!Ce&&!_,t=Ce||_,n="round"===k?r.colors.transparent:t?r.colors.inputDisabledBackground:r.colors.background,a=t?r.colors.inputDisabledText:r.colors.inputText,u=c?"number-pad":"decimal-pad";return _react().default.createElement(_reactNative().TextInput,_extends({ref:J},D,{style:[S.inp,xe,{backgroundColor:n,color:a,paddingHorizontal:r.spacing.none,paddingVertical:r.spacing.none},O],value:oe,placeholder:N,editable:e,keyboardType:u,onChangeText:Ie,onFocus:De,onBlur:Oe,onPressIn:Le}))},[Ce,_,Oe,Ie,De,Le,xe,D,O,oe,c,N,h,k,r.colors.background,r.colors.inputDisabledBackground,r.colors.inputDisabledText,r.colors.inputText,r.colors.transparent,r.spacing.none]);return _react().default.createElement(_reactNative().View,_extends({},E,{style:[S.cnt,B]}),ze(),He,je())},S=_reactNative().StyleSheet.create({cnt:{flexDirection:"row",alignItems:"center"},btn:{justifyContent:"center",alignItems:"center"},btnTxt:{},inp:{textAlign:"center"}}),StepperForwardRef=_react().default.forwardRef(StepperImpl);StepperForwardRef.displayName="Stepper";const Stepper=exports.Stepper=_react().default.memo(StepperForwardRef);var _default=exports.default=Stepper;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _hooks=require("../../hooks"),_utils=require("../../utils"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens"),_hairline=require("../../utils/hairline");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var u,a,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(u=t?n:r){if(u.has(e))return u.get(e);u.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?u(s,t,a):s[t]=e[t]);return s})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const LONG_PRESS_DELAY=600,LONG_PRESS_INTERVAL=100,StepperImpl=(e,t)=>{const r=(0,_tokens.useStepperTokens)(e.tokensOverride),n=(0,_useDirection.useDirection)(),{min:u,max:a,step:s=1,autoFixed:o=!0,beforeChange:l,integer:c=!1,decimalLength:i,disabled:d=!1,disablePlus:p=!1,disableMinus:b=!1,disableInput:_=!1,allowEmpty:f=!1,showPlus:m=r.defaults.showPlus,showMinus:g=r.defaults.showMinus,showInput:h=r.defaults.showInput,longPress:y=r.defaults.longPress,theme:k=r.defaults.theme,inputWidth:v,buttonSize:C,name:T,placeholder:N,onClick:R,onPlus:P,onMinus:x,onOverlimit:F,onFocus:w,onBlur:I,inputProps:D,inputStyle:O,buttonStyle:L,style:B,...E}=e,[M,W]=(0,_react().useState)(!1),V=(0,_react().useRef)(!1),q=(0,_react().useRef)(P),z=(0,_react().useRef)(x),j=(0,_react().useRef)(F),H=(0,_react().useRef)(w),A=(0,_react().useRef)(I),G=(0,_react().useRef)(R),Y=(0,_react().useRef)(null),J=(0,_react().useRef)(null),K=(0,_react().useRef)(""),Q=(0,_react().useRef)(D),U=(0,_react().useRef)({hadLongPress:!1});q.current=P,z.current=x,j.current=F,H.current=w,A.current=I,G.current=R,Q.current=D;const X=(0,_utils.parseDecimalLength)(i),Z=Number(s??1),$=(0,_utils.isFiniteNumber)(Z)&&Z>0?Z:1,ee=Math.max(0,(0,_utils.parseNumber)(C,r.defaults.buttonSize)),te=Math.max(0,(0,_utils.parseNumber)(v,r.defaults.inputWidth)),re=(0,_react().useMemo)(()=>{const t=e.defaultValue;if(null===t)return null;const r=(0,_utils.isFiniteNumber)(t)?t:0,n=(0,_utils.formatNumber)(r,c,X);return o?(0,_utils.clampValue)(n,u,a):n},[o,X,c,a,u,e.defaultValue]),[ne,ue]=(0,_hooks.useControllableValue)({...e,defaultValue:re},{defaultValue:re});(0,_react().useEffect)(()=>{Y.current=ne??null},[ne]),(0,_react().useImperativeHandle)(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur()}));const[ae,se]=(0,_react().useState)(!1),[oe,le]=(0,_react().useState)(()=>(0,_utils.numberToString)(ne,X)),ce=(0,_react().useCallback)(e=>{K.current=e,le(e)},[]);(0,_react().useEffect)(()=>{ae||ce((0,_utils.numberToString)(ne,X))},[X,ae,ce,ne]);const ie=(0,_react().useCallback)(()=>{const e=Y.current;return(0,_utils.isFiniteNumber)(e)?e:(0,_utils.isFiniteNumber)(u)?u:0},[u]),de=(0,_react().useCallback)(e=>{if(d)return!0;if("plus"===e&&p)return!0;if("minus"===e&&b)return!0;const t=ie();return!!("plus"===e&&(0,_utils.isFiniteNumber)(a)&&t>=a)||!!("minus"===e&&(0,_utils.isFiniteNumber)(u)&&t<=u)},[b,p,d,ie,a,u]),pe=(0,_react().useCallback)(e=>{const t=Y.current??null;return!Object.is(t,e)&&(Y.current=e,ue(e,{name:T}),!0)},[T,ue]),be=(0,_react().useCallback)(e=>{const t=(0,_utils.formatNumber)(e,c,X);return o?(0,_utils.clampValue)(t,u,a):t},[o,X,c,a,u]),_e=(0,_react().useCallback)((e,t)=>{if(V.current)return"noop";const r=()=>pe(e)?(ce((0,_utils.numberToString)(e,X)),t?.(e),"changed"):"noop";if(!l)return r();try{const t=l(e);return(0,_utils.isPromiseLike)(t)?(V.current=!0,W(!0),t.then(e=>{!1!==e?r():ce((0,_utils.numberToString)(Y.current,X))}).catch(()=>{ce((0,_utils.numberToString)(Y.current,X))}).finally(()=>{V.current=!1,W(!1)}),"pending"):!1===t?(ce((0,_utils.numberToString)(Y.current,X)),"noop"):r()}catch{return r()}},[l,X,ce,pe]),fe=(0,_react().useCallback)((e,t,r)=>{if(V.current)return"noop";const n=r?.emitOverlimit??!0,u=r?.emitButtonCallbacks??Boolean(t);if(de(e))return n&&j.current?.(e),"overlimit";const a=ie(),s="plus"===e?$:-$,o=be((0,_utils.addNumber)(a,s));return _e(o,r=>{u&&t&&("plus"===e?q.current?.(t,r):z.current?.(t,r))})},[be,ie,de,_e,$]),me=(0,_react().useCallback)(()=>{U.current.delay&&(clearTimeout(U.current.delay),U.current.delay=void 0),U.current.interval&&(clearInterval(U.current.interval),U.current.interval=void 0)},[]);(0,_react().useEffect)(()=>(me(),()=>me()),[me]),(0,_react().useEffect)(()=>{(d||M||!y)&&me()},[M,me,d,y]);const ge=(0,_react().useCallback)(e=>{y&&(V.current||de(e)||(me(),U.current.hadLongPress=!1,U.current.delay=setTimeout(()=>{U.current.hadLongPress=!0;"changed"===fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})?U.current.interval=setInterval(()=>{"changed"!==fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})&&me()},100):me()},600)))},[me,de,y,fe]),he=(0,_react().useCallback)(()=>me(),[me]),ye=(0,_react().useCallback)((e,t)=>{U.current.hadLongPress?U.current.hadLongPress=!1:(U.current.hadLongPress=!1,fe(e,t,{emitOverlimit:!0,emitButtonCallbacks:!0}))},[fe]),ke=(0,_utils.isFiniteNumber)(ne)?ne:0,ve=(0,_utils.isFiniteNumber)(u)?u:void 0,Se=(0,_utils.isFiniteNumber)(a)?a:void 0,Ce=d||M,Te=Ce||b||null!=ve&&ke<=ve,Ne=Ce||p||null!=Se&&ke>=Se,Re=r.radii.default,Pe=(0,_react().useMemo)(()=>({width:ee,height:ee}),[ee]),xe=(0,_react().useMemo)(()=>({width:te,height:ee,marginHorizontal:r.spacing.gap}),[ee,te,r.spacing.gap]),Fe=(0,_react().useCallback)((e,t)=>{const u="plus"===e,a=u?Ne:Te;if("round"===k){const e=[S.btn,Pe,{borderRadius:ee/2,opacity:a?r.opacity.roundDisabled:1}];return u?[...e,{backgroundColor:r.colors.roundTheme,...t.pressed&&!a&&{opacity:r.opacity.pressed}},L]:[...e,{backgroundColor:r.colors.roundThemeBackground,...t.pressed&&!a&&{opacity:r.opacity.pressed}},L]}const s="minus"===e!=("rtl"===n)?{borderTopLeftRadius:Re,borderBottomLeftRadius:Re}:{borderTopRightRadius:Re,borderBottomRightRadius:Re},o=a?r.colors.buttonDisabledBackground:t.pressed?r.colors.active:r.colors.background;return[S.btn,Pe,s,{backgroundColor:o},L]},[Pe,L,Te,Ne,Re,ee,k,n,r.colors.active,r.colors.background,r.colors.buttonDisabledBackground,r.colors.roundTheme,r.colors.roundThemeBackground,r.opacity.pressed,r.opacity.roundDisabled]),we=(0,_react().useCallback)(e=>{const t="plus"===e,n=t?Ne:Te;if("round"===k){const e=t?r.colors.roundThemeText:r.colors.roundTheme;return[S.btnTxt,{color:e,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]}return[S.btnTxt,{color:n?r.colors.buttonDisabledIcon:r.colors.buttonIcon,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]},[Te,Ne,k,r.colors.buttonDisabledIcon,r.colors.buttonIcon,r.colors.roundTheme,r.colors.roundThemeText,r.typography.fontFamily,r.typography.fontSize,r.typography.fontWeight]),Ie=(0,_react().useCallback)(e=>{if(_||d||V.current)return;ce(e),Q.current?.onChangeText?.(e);const t=e.trim();if(""===t)return void _e(f?null:re);const r=Number.parseFloat(t);Number.isFinite(r)&&_e(be(r))},[f,be,V,_,d,Q,_e,re,ce]),De=(0,_react().useCallback)(e=>{_?J.current?.blur():(se(!0),H.current?.(e),Q.current?.onFocus?.(e))},[_]),Oe=(0,_react().useCallback)(e=>{if(se(!1),!V.current){const e=K.current.trim();if(""===e)_e(f?null:re);else{const t=Number.parseFloat(e);Number.isFinite(t)&&_e(be(t))}}A.current?.(e),Q.current?.onBlur?.(e)},[f,be,_e,re]),Le=(0,_react().useCallback)(e=>{G.current?.(e),Q.current?.onPressIn?.(e)},[]),Be=(0,_react().useCallback)(e=>ye("minus",e),[ye]),Ee=(0,_react().useCallback)(e=>ye("plus",e),[ye]),Me=(0,_react().useCallback)(()=>ge("minus"),[ge]),We=(0,_react().useCallback)(()=>ge("plus"),[ge]),Ve=(0,_react().useCallback)(e=>Fe("minus",e),[Fe]),qe=(0,_react().useCallback)(e=>Fe("plus",e),[Fe]),ze=(0,_react().useCallback)(()=>g?_react().default.createElement(_reactNative().Pressable,{key:"minus",testID:"stepper-minus",accessibilityRole:"button",accessibilityLabel:"minus",accessibilityState:{disabled:Te},onPress:Be,onPressIn:Me,onPressOut:he,style:Ve},_react().default.createElement(_reactNative().Text,{style:we("minus")},"-"),"round"===k&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:r.colors.roundTheme,borderRadius:ee/2})})):null,[we,Ve,Be,Me,he,Te,g,k,r.colors.roundTheme,ee]),je=(0,_react().useCallback)(()=>m?_react().default.createElement(_reactNative().Pressable,{key:"plus",testID:"stepper-plus",accessibilityRole:"button",accessibilityLabel:"add",accessibilityState:{disabled:Ne},onPress:Ee,onPressIn:We,onPressOut:he,style:qe},_react().default.createElement(_reactNative().Text,{style:we("plus")},"+")):null,[we,qe,Ee,We,he,Ne,m]),He=(0,_react().useMemo)(()=>{if(!h)return null;const e=!Ce&&!_,t=Ce||_,n="round"===k?r.colors.transparent:t?r.colors.inputDisabledBackground:r.colors.background,u=t?r.colors.inputDisabledText:r.colors.inputText,a=c?"number-pad":"decimal-pad";return _react().default.createElement(_reactNative().TextInput,_extends({ref:J},D,{style:[S.inp,xe,{backgroundColor:n,color:u,paddingHorizontal:r.spacing.none,paddingVertical:r.spacing.none},O],value:oe,placeholder:N,editable:e,keyboardType:a,onChangeText:Ie,onFocus:De,onBlur:Oe,onPressIn:Le}))},[Ce,_,Oe,Ie,De,Le,xe,D,O,oe,c,N,h,k,r.colors.background,r.colors.inputDisabledBackground,r.colors.inputDisabledText,r.colors.inputText,r.colors.transparent,r.spacing.none]);return _react().default.createElement(_reactNative().View,_extends({},E,{style:[S.cnt,B]}),ze(),He,je())},S=_reactNative().StyleSheet.create({cnt:{flexDirection:"row",alignItems:"center"},btn:{justifyContent:"center",alignItems:"center"},btnTxt:{},inp:{textAlign:"center"}}),StepperForwardRef=_react().default.forwardRef(StepperImpl);StepperForwardRef.displayName="Stepper";const Stepper=exports.Stepper=_react().default.memo(StepperForwardRef);var _default=exports.default=Stepper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SwiperItem=void 0;var _number=require("../../utils/number"),_SwiperPagIndicator=_interopRequireDefault(require("./SwiperPagIndicator")),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,c,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((c=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(c.get||c.set)?a(l,t,c):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const SwiperItemImpl=(e,t)=>_react().default.createElement(_reactNative().View,{ref:t,style:[S.item,e.style],testID:e.testID},e.children),SwiperItemFR=(0,_react().forwardRef)(SwiperItemImpl);SwiperItemFR.displayName="SwiperItem";const SwiperItem=exports.SwiperItem=(0,_react().memo)(SwiperItemFR),
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SwiperItem=void 0;var _number=require("../../utils/number"),_SwiperPagIndicator=_interopRequireDefault(require("./SwiperPagIndicator")),_tokens=require("./tokens"),_utils=require("../../hooks/swiper/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,c,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((c=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(c.get||c.set)?a(l,t,c):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const SwiperItemImpl=(e,t)=>_react().default.createElement(_reactNative().View,{ref:t,style:[S.item,e.style],testID:e.testID},e.children),SwiperItemFR=(0,_react().forwardRef)(SwiperItemImpl);SwiperItemFR.displayName="SwiperItem";const SwiperItem=exports.SwiperItem=(0,_react().memo)(SwiperItemFR),SwiperImpl=(e,t)=>{const{data:r,renderItem:n,children:a,initialSwipe:c=0,touchable:l=!0,loop:u=!0,autoplay:i=!1,vertical:o=!1,onChange:s,indicator:_=!0,indicatorProps:f,style:d,testID:m}=e,p=(0,_tokens.useSwiperTokens)(),b=(0,_react().useRef)(null),h=(0,_react().useRef)(null),w=(0,_react().useRef)(!1),v=(0,_react().useRef)(!1),y=(0,_react().useRef)(null),I=(0,_react().useRef)(!1),g=(0,_react().useRef)(null),x=(0,_react().useRef)(null),R=(0,_react().useRef)(0),k="web"===_reactNative().Platform.OS,[E,C]=(0,_react().useState)({width:0,height:0}),M=(0,_react().useCallback)(e=>{const{width:t,height:r}=e.nativeEvent.layout;C(e=>e.width===t&&e.height===r?e:{width:t,height:r})},[]),O=(0,_react().useMemo)(()=>a?_react().Children.toArray(a).filter(e=>(0,_react().isValidElement)(e)):[],[a]),T=Array.isArray(r),N=T?r:O,P=N.length,q=u&&P>1,D=(0,_react().useMemo)(()=>q?[N[P-1],...N,N[0]]:N,[N,q,P]),V=D.length,j=q&&V<=_utils.LOOP_THRESHOLD,z=(0,_react().useCallback)(e=>q?0===e?P-1:e===V-1?0:e-1:(0,_number.clamp)(e,0,P-1),[q,P,V]),F=(0,_react().useCallback)(e=>q?(0,_number.clamp)(e,0,P-1)+1:(0,_number.clamp)(e,0,P-1),[q,P]),L=(0,_number.clamp)(c,0,Math.max(0,P-1)),W=F(L),H=(0,_react().useRef)(L),[A,B]=(0,_react().useState)(L),$=E.width>0&&E.height>0,G=o?E.height:E.width,J=o?E.width:E.height,K=(0,_react().useMemo)(()=>({width:o?J:G,height:o?G:J}),[o,G,J]),Q=(0,_react().useCallback)(()=>{h.current&&(clearTimeout(h.current),h.current=null)},[]),U=(0,_react().useRef)(s);U.current=s;const X=(0,_react().useCallback)(e=>{const t=(0,_number.clamp)(e,0,Math.max(0,P-1));H.current!==t&&(H.current=t,B(t),U.current?.(t))},[P]),Y=(0,_react().useCallback)((e,t)=>{try{b.current?.scrollToIndex({index:e,animated:t})}catch{}},[]),Z=(0,_react().useCallback)((e,t=!0)=>{if(0===P)return;if(t&&v.current)return void(y.current=e);const r=(0,_number.clamp)(e,0,P-1);let n=F(r);if(q&&t){const e=F(H.current);e===P&&0===r?n=V-1:1===e&&r===P-1&&(n=0)}const a=H.current,c=F(a);if(r!==a||n!==c){if(t&&(v.current=!0),Y(n,t),!t&&(X(r),null!=y.current)){const e=y.current;y.current=null,Z(e,!0)}}else if(null!=y.current){const e=y.current;y.current=null,Z(e,!0)}},[P,F,Y,q,V,X]),ee=(0,_react().useCallback)(()=>{const e="number"==typeof i?Math.max(0,i):i?p.defaults.autoplayInterval:0;!e||P<=1||w.current&&!k||(Q(),h.current=setTimeout(()=>{w.current&&!k||Z(q?(H.current+1)%P:(0,_number.clamp)(H.current+1,0,P-1),!0)},e))},[i,P,Q,q,Z,k,p.defaults.autoplayInterval]),te=(0,_react().useCallback)(()=>{0!==P&&Z(q?(H.current+1)%P:(0,_number.clamp)(H.current+1,0,P-1),!0)},[P,q,Z]),re=(0,_react().useCallback)(()=>{0!==P&&Z(q?(H.current-1+P)%P:(0,_number.clamp)(H.current-1,0,P-1),!0)},[P,q,Z]);(0,_react().useImperativeHandle)(t,()=>({swipeTo:Z,swipeNext:te,swipePrev:re,getCurrentIndex:()=>H.current}),[Z,te,re]),(0,_react().useEffect)(()=>{$&&0!==P&&Y(W,!1)},[$,P,W,Y]),(0,_react().useEffect)(()=>(ee(),Q),[ee,Q,A]),(0,_react().useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]);const ne=(0,_react().useCallback)(()=>{v.current=!1,w.current=!1,I.current=!1,ee(),(()=>{if(null==y.current)return;const e=y.current;y.current=null,Z(e,!0)})()},[ee]),ae=(0,_react().useCallback)(e=>{if(P<=1)return;const t=o?e.nativeEvent.contentOffset.y:e.nativeEvent.contentOffset.x,r=Math.round(t/G),n=q?(0,_number.clamp)(r,0,V-1):(0,_number.clamp)(r,0,P-1);if(X(z(n)),k){x.current&&(clearTimeout(x.current),x.current=null),R.current=t;const e=r*G;Math.abs(t-e)<.5?(q&&(r<=0||r>=V-1)&&Y(r<=0?P:1,!1),ne()):x.current=setTimeout(()=>{x.current=null;const e=R.current,t=Math.round(e/G);q&&(t<=0||t>=V-1)&&Y(t<=0?P:1,!1),ne()},150)}},[P,o,G,q,V,X,z,Y,ne,k]),ce=(0,_react().useCallback)(e=>{if(k||0===P)return;const t=o?e.nativeEvent.contentOffset.y:e.nativeEvent.contentOffset.x,r=Math.round(t/G);let n=r;q&&(0===r&&(n=P),r===V-1&&(n=1)),n!==r&&Y(n,!1),X(z(n)),ne()},[o,P,G,q,V,Y,X,z,ne,k]),le=(0,_react().useCallback)(()=>{w.current=!0,Q(),x.current&&(clearTimeout(x.current),x.current=null)},[Q]),ue=(0,_react().useCallback)(e=>{I.current||ce(e)},[ce]),ie=(0,_react().useCallback)(()=>{I.current=!0},[]),oe=(0,_react().useCallback)(e=>{const t=q?(0,_number.clamp)(e.index,0,V-1):(0,_number.clamp)(e.index,0,P-1);Y(t,!1),X(z(t)),ne()},[P,V,z,ne,Y,q,X]),se=(0,_react().useRef)(n);se.current=n;const _e=(0,_react().useCallback)(e=>{const t=T?se.current?.(e)??null:e.item;return t?_react().default.createElement(_reactNative().View,{style:[S.slide,K]},t):null},[T,K]),fe=(0,_react().useCallback)((e,t)=>({length:G,offset:G*t,index:t}),[G]),de=(0,_react().useCallback)((e,t)=>`s-${t}`,[]);if(0===P)return null;const me=!1===_||P<=1?null:"function"==typeof _?_(P,A):_react().default.createElement(_SwiperPagIndicator.default,_extends({},f,{total:P,current:A,vertical:o})),pe=(0,_react().useMemo)(()=>(0,_utils.createWebMouseHandlers)({enabled:k&&l&&P>1,vertical:o,mainSize:G,clearAuto:Q,next:te,prev:re,schedule:ee,dragRef:g,interRef:w}),[k,l,P,o,G,Q,te,re,ee]);return $?_react().default.createElement(_reactNative().View,_extends({accessibilityRole:"adjustable",accessibilityLabel:`swiper, ${A+1} of ${P}`,accessibilityValue:{min:0,max:P-1,now:A},style:[S.ctr,pe&&S.web,d],onLayout:M,testID:m},pe),_react().default.createElement(_reactNative().FlatList,{ref:b,data:D,renderItem:_e,keyExtractor:de,horizontal:!o,getItemLayout:fe,initialScrollIndex:W,scrollEnabled:l&&P>1,removeClippedSubviews:!q||!j,disableVirtualization:q&&j,initialNumToRender:q&&j?V:3,maxToRenderPerBatch:q&&j?V:3,windowSize:q?j?V:7:5,pagingEnabled:!0,snapToInterval:G,decelerationRate:"fast",showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,onScrollBeginDrag:le,onScroll:ae,scrollEventThrottle:p.defaults.scrollEventThrottle,onScrollEndDrag:ue,onMomentumScrollBegin:ie,onMomentumScrollEnd:ce,onScrollToIndexFailed:oe}),_react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[S.ind,{zIndex:p.layer.zIndex,elevation:p.layer.elevation}]},me)):_react().default.createElement(_reactNative().View,{style:[S.ctr,d],onLayout:M,testID:m})},SwiperFR=(0,_react().forwardRef)(SwiperImpl),Swiper=(0,_react().memo)(SwiperFR),S=_reactNative().StyleSheet.create({ctr:{position:"relative",overflow:"hidden"},web:{cursor:"grab",userSelect:"none"},slide:{flex:1},item:{flex:1},ind:{position:"absolute",left:0,right:0,top:0,bottom:0}});var _default=exports.default=Swiper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TabPane=void 0;var _hooks=require("../../hooks"),_animation=require("../../hooks/animation"),_hairline=require("../../utils/hairline"),_number=require("../../utils/number"),_validate=require("../../utils/validate"),_tokens=require("./tokens");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 n,i,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(n=t?r:a){if(n.has(e))return n.get(e);n.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?n(l,t,i):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const TabPane=()=>null;exports.TabPane=TabPane,TabPane.displayName="Tabs.TabPane";const hasRaf="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame,requestFrame=hasRaf?requestAnimationFrame:e=>setTimeout(e,16),cancelFrame=e=>{null!=e&&(hasRaf?cancelAnimationFrame:clearTimeout)(e)},isTabPaneElement=e=>!!_react().default.isValidElement(e)&&(e.type===TabPane||"Tabs.TabPane"===e.type.displayName),useTabsAnimation=({type:e,animated:t,scrollable:a,align:r,panes:n,nameIndexMap:i,resolvedLineWidth:l,resolvedDuration:c,currentName:o,layoutMap:s,navContainerWidthRef:u})=>{const d=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,f=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,m=(0,_react().useRef)(!1),p=(0,_react().useRef)(null),_=(0,_react().useCallback)((o,m)=>{if(null==o||"line"!==e)return!1;const _=!a&&"start"!==r&&u.current>0&&n.length>0,h=i.get(o)??-1,b=_?u.current/n.length:0,g=_?{x:Math.max(h,0)*b,width:b}:s.current.get(o);if(!g||h<0)return!1;p.current?.stop();const v=(e,a)=>_reactNative().Animated.timing(e,{toValue:a,duration:m||!t?0:c,useNativeDriver:!1,isInteraction:!1}),y=l??g.width,S=l?g.x+(g.width-y)/2:g.x,x=_reactNative().Animated.parallel([v(d,S),v(f,y)]);return p.current=x,x.start(({finished:e})=>{e&&(p.current=null)}),!0},[r,t,f,d,i,n.length,c,l,a,e,s,u]);return(0,_react().useEffect)(()=>{if(null==o)return;const e=m.current;_(o,!e)&&!m.current&&(m.current=!0)},[_,o]),(0,_react().useEffect)(()=>()=>{p.current?.stop(),p.current=null},[]),{indicatorX:d,indicatorWidth:f,indicatorInitializedRef:m,animateIndicator:_}},useTabsScroll=({scrollable:e,animated:t,currentName:a,resolvedDuration:r,layoutMap:n,navContainerWidthRef:i,navContentWidthRef:l})=>{const c=(0,_react().useRef)(null),o=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,s=(0,_react().useRef)(null),u=(0,_react().useRef)(!1),d=(0,_react().useRef)(0),f=(0,_react().useRef)(null),m=(0,_react().useCallback)(c=>{if(!e||null==a)return;const m=n.current.get(a),p=i.current;if(!m||!p)return;const _=l.current,h=m.x-(p-m.width)/2,b=Math.max(_-p,0),g=Math.max(0,Math.min(h,b));if(!(b<=0||Math.abs(g-d.current)<1)){if(s.current?.stop(),s.current=null,cancelFrame(f.current),f.current=null,c||!t)return u.current=!0,o.setValue(g),void(f.current=requestFrame(()=>{f.current=null,u.current=!1}));o.setValue(d.current),u.current=!0,s.current=_reactNative().Animated.timing(o,{toValue:g,duration:r,useNativeDriver:!1,isInteraction:!1}),s.current.start(({finished:e})=>{s.current=null,u.current=!1,e&&(d.current=g)})}},[t,a,o,r,e,n,i,l]);(0,_react().useEffect)(()=>{if(!e)return;const t=o.addListener(({value:e})=>{const t=d.current;d.current=e,Math.abs(e-t)>=.5&&c.current?.scrollTo({x:e,y:0,animated:!1})});return()=>o.removeListener(t)},[o,e]),(0,_react().useEffect)(()=>()=>{cancelFrame(f.current),f.current=null},[]);const p=(0,_react().useCallback)(e=>{u.current=!1,s.current?.stop(),s.current=null,d.current=e.nativeEvent.contentOffset.x},[]),_=(0,_react().useCallback)(e=>{u.current||(d.current=e.nativeEvent.contentOffset.x)},[]);return{navScrollRef:c,navScrollX:o,scrollIntoView:m,handleNavScrollBeginDrag:p,handleNavScroll:_}},TabBarItemInner=({pane:e,isActive:t,align:a,scrollable:r,type:n,ellipsis:i,tokens:l,color:c,titleActiveColor:o,titleInactiveColor:s,tabStyle:u,titleStyle:d,descriptionStyle:f,onSelect:m,onLayout:p,isLast:_})=>{const h=!!e.disabled,b=(0,_hooks.useAriaPress)({onPress:t=>m(e,e.index,t),extraProps:{accessibilityRole:"tab",accessibilityState:{selected:t,disabled:h},testID:`rv-tabs-item-${e.name}`}}),g="capsule"===n,v="jumbo"===n,y="card"===n,x=(0,_validate.isFunction)(e.title)?e.title(t):e.title??e.name,w=(0,_validate.isFunction)(e.description)?e.description(t):e.description,T=o??(y?l.colors.cardActiveText:g?l.colors.capsuleActiveText:c??l.colors.textActive),E=s??(y?c??l.colors.cardBorder:g?l.colors.capsuleText:l.colors.text),k=e.disabled?l.colors.textDisabled:t?T:E,R=h?l.colors.textDisabled:v?t?l.colors.jumboDescriptionActive:l.colors.jumboDescription:t?l.colors.descriptionActive:l.colors.description,N=!r&&("start"!==a||y),C=y||v||g,V=C?0:l.tabList.paddingHorizontal,P=C?0:l.tabList.paddingVertical,I=[S.lblW,v&&S.lblWJ,y&&S.cardLbl,y&&{paddingHorizontal:l.card.paddingHorizontal,paddingVertical:l.card.paddingVertical},g&&{flex:1,alignSelf:"stretch",paddingHorizontal:l.capsule.paddingHorizontal,paddingVertical:l.capsule.paddingVertical},v&&{paddingHorizontal:l.jumbo.paddingHorizontal,paddingVertical:l.jumbo.paddingVertical,alignItems:"center"}].filter(Boolean),H=g?[{flex:1,alignSelf:"stretch",justifyContent:"center",alignItems:"center",borderRadius:l.capsule.radius,backgroundColor:t?c??l.colors.capsuleActiveBackground:l.colors.capsuleBackground}]:null,M=[S.title,{color:k,fontFamily:l.typography.fontFamily,fontSize:v?l.typography.jumboTitleSize:l.typography.titleSize,fontWeight:t?l.typography.titleActiveWeight:l.typography.titleWeight,lineHeight:v?l.typography.jumboLineHeight:void 0,textAlign:"center"},i&&!v?S.ellipsis:null,d],A=v?l.spacing.jumboDescriptionMarginTop:l.spacing.descriptionMarginTop,z=v?{backgroundColor:t?l.colors.jumboDescriptionActiveBackground:l.colors.jumboDescriptionBackground,paddingHorizontal:l.jumbo.descriptionPaddingHorizontal,paddingVertical:l.jumbo.descriptionPaddingVertical,borderRadius:l.jumbo.descriptionRadius}:null,L=(0,_react().useCallback)(t=>p(e.name,t),[p,e.name]);return _react().default.createElement(_reactNative().Pressable,_extends({},b.interactionProps,{onLayout:L,style:[S.tabI,N?S.flexI:null,{paddingHorizontal:V,paddingVertical:P},y?{backgroundColor:t?c??l.colors.cardActiveBackground:l.colors.cardBackground}:null,u]}),_react().default.createElement(_reactNative().View,{style:I},H?_react().default.createElement(_reactNative().View,{style:H},_react().default.createElement(_reactNative().Text,{style:M,numberOfLines:i&&!v?1:void 0},x)):_react().default.createElement(_reactNative().Text,{style:M,numberOfLines:i&&!v?1:void 0},x),(0,_validate.isRenderable)(w)&&((0,_validate.isText)(w)?_react().default.createElement(_reactNative().Text,{style:[S.descTxt,{color:R,fontFamily:l.typography.fontFamily,fontSize:l.typography.descriptionSize,marginTop:A,textAlign:"center"},z,f]},w):_react().default.createElement(_reactNative().View,{style:[{marginTop:A,alignItems:"center"},z]},w)),(0,_validate.isRenderable)(e.badge)&&_react().default.createElement(_reactNative().View,{style:{marginTop:l.spacing.badgeMarginTop}},(0,_validate.isText)(e.badge)?_react().default.createElement(_reactNative().Text,{style:{color:l.colors.badgeText,fontFamily:l.typography.fontFamily,fontSize:l.typography.badgeTextSize}},e.badge):e.badge)),y&&!_&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"right",color:c??l.colors.cardBorder,top:0,bottom:0})}))},TabBarItem=(0,_react().memo)(TabBarItemInner),TabsBaseInner=(e,t)=>{const{tokensOverride:a,children:r,type:n,align:i,ellipsis:l,swipeThreshold:c,animated:o,duration:s,lazyRender:u,lazyRenderPlaceholder:d,scrollable:f,swipeable:m,color:p,background:_,border:h,navLeft:b,navRight:g,navBottom:v,tabBarStyle:y,tabStyle:x,titleStyle:w,descriptionStyle:T,contentStyle:E,lineWidth:k,lineHeight:R,titleActiveColor:N,titleInactiveColor:C,beforeChange:V,onClickTab:P,onChange:I,style:H,...M}=e,A=(0,_tokens.useTabsTokens)(a),z=(0,_animation.useReducedMotion)(),L=n??A.defaults.type,j=i??A.defaults.align,B=l??A.defaults.ellipsis,W=c??A.defaults.swipeThreshold,D=o??A.defaults.animated,F=s??A.defaults.duration,O=u??A.defaults.lazyRender,q=_??A.tabList.background,X=(0,_number.parseNumberLike)(k??A.indicator.width),J=null!=X&&X<0?void 0:X,$=Math.max(0,(0,_number.parseNumberLike)(R)??A.indicator.height),G=z?0:Math.max(0,(0,_number.parseNumberLike)(F)??A.defaults.duration),K=Math.max(0,(0,_number.parseNumberLike)(W)??A.defaults.swipeThreshold),Q=m?(0,_validate.isObject)(m)?{autoHeight:m.autoHeight??!0,preventScroll:m.preventScroll??!0}:{autoHeight:!0,preventScroll:!0}:void 0,U=!!Q,Y=(0,_react().useMemo)(()=>{const e=[];let t=0;const a=r=>{_react().Children.forEach(r,r=>{if(!(0,_react().isValidElement)(r))return;const n=r;if(n.type===_react().default.Fragment)return void a(n.props.children);if(!isTabPaneElement(n))return;const i=n.props,l=i.name??t;e.push({...i,key:n.key??l,name:l,index:t}),t+=1})};return a(r),e},[r]),Z=Y[0]?.name,[ee,te]=(0,_hooks.useControllableValue)(e,{defaultValue:Z,valuePropName:"active",defaultValuePropName:"defaultActive",trigger:"onChange"}),ae=null==ee?Z:Y.some(e=>e.name===ee)?ee:Z,re=(0,_react().useRef)(ae);(0,_react().useEffect)(()=>{re.current=ae},[ae]);const ne=(0,_react().useMemo)(()=>{const e=new Map;return Y.forEach(t=>{e.set(t.name,t.index)}),e},[Y]),ie=null==ae?-1:ne.get(ae)??-1,le=(0,_react().useRef)(new Set),ce=(0,_react().useRef)(new Map),oe=(0,_react().useRef)(0),se=(0,_react().useRef)(0),ue=(0,_react().useRef)(null),de=(0,_react().useRef)(new Map),fe=(0,_react().useRef)(null),me=(0,_react().useRef)(!1),[pe,_e]=(0,_react().useState)(0),[he,be]=(0,_react().useState)(void 0);(0,_react().useEffect)(()=>{null!=ae&&le.current.add(ae)},[ae]),(0,_react().useEffect)(()=>{const e=new Set(Y.map(e=>e.name));Array.from(de.current.keys()).forEach(t=>{e.has(t)||de.current.delete(t)}),Array.from(ce.current.keys()).forEach(t=>{e.has(t)||ce.current.delete(t)})},[Y]);const ge=U&&Q?.autoHeight;(0,_react().useEffect)(()=>{ge||de.current.clear()},[ge]),(0,_react().useEffect)(()=>{if(!U||!Q?.autoHeight)return void be(void 0);const e=null!=ae?de.current.get(ae):void 0;be(e?e.height:void 0)},[ae,U,Q?.autoHeight]),(0,_react().useEffect)(()=>()=>{cancelFrame(ue.current),ue.current=null},[]);const ve=(0,_validate.isBoolean)(f)?f:Y.length>K||!1===B,ye=p??A.colors.indicator,Se=$?$/2:A.indicator.radius,{indicatorX:xe,indicatorWidth:we,indicatorInitializedRef:Te,animateIndicator:Ee}=useTabsAnimation({type:L,animated:D,scrollable:ve,align:j,panes:Y,nameIndexMap:ne,resolvedLineWidth:J,resolvedLineHeight:$,resolvedDuration:G,currentName:ae,layoutMap:ce,navContainerWidthRef:oe}),{navScrollRef:ke,scrollIntoView:Re,handleNavScrollBeginDrag:Ne,handleNavScroll:Ce}=useTabsScroll({scrollable:ve,animated:D,currentName:ae,resolvedDuration:G,layoutMap:ce,navContainerWidthRef:oe,navContentWidthRef:se}),Ve=(0,_react().useCallback)((e,t)=>{const{x:a,width:r}=t.nativeEvent.layout;if(ce.current.set(e,{x:a,width:r}),e===re.current){const t=Te.current;Ee(e,!t)&&!Te.current&&(Te.current=!0)}},[Ee,Te]),Pe=(0,_react().useCallback)(e=>{const{width:t}=e.nativeEvent.layout;if(oe.current=t,!ve&&"start"!==j&&"line"===L&&null!=ae){const e=Te.current;Ee(ae,!e)&&!Te.current&&(Te.current=!0)}},[j,Ee,ae,ve,L,Te]),Ie=(0,_react().useCallback)(e=>{const t=e.nativeEvent.layout.width;_e(e=>e===t?e:t)},[]),He=(0,_react().useRef)(V);He.current=V;const Me=(0,_react().useCallback)(e=>{if(!He.current)return Promise.resolve(!0);try{return Promise.resolve(He.current(e)).then(e=>!1!==e).catch(()=>!1)}catch{return Promise.resolve(!1)}},[]),Ae=(0,_react().useRef)(0),ze=(0,_react().useCallback)((e,t)=>{Ae.current+=1;const a=Ae.current;Me(e).then(r=>{r&&Ae.current===a&&te(e,t)})},[Me,te]),Le=(0,_react().useCallback)((e,t)=>{if(U&&Q?.autoHeight){const{height:a}=t.nativeEvent.layout;de.current.set(e,{height:a}),e===ae&&be(a)}},[ae,U,Q?.autoHeight]),je=(0,_react().useRef)(null);(0,_react().useEffect)(()=>{je.current=null},[ae]);const Be=(0,_react().useCallback)(e=>{if(!U||pe<=0)return;const t=Math.round(e/pe);if(je.current===t)return;je.current=t;const a=Y[t];a&&a.name!==re.current&&(me.current=!0,ze(a.name,a.index))},[pe,U,Y,ze]),We=(0,_react().useCallback)(e=>{Be(e.nativeEvent.contentOffset.x)},[Be]),De=(0,_react().useCallback)(e=>{Be(e.nativeEvent.contentOffset.x)},[Be]);(0,_react().useEffect)(()=>{if(!U||!fe.current||pe<=0)return;if(me.current)return void(me.current=!1);if(ie<0)return;const e=fe.current?.getNode?.()??fe.current;e?.scrollTo&&e.scrollTo({x:pe*ie,y:0,animated:!0})},[ie,pe,U]);const Fe=(0,_react().useRef)(P);Fe.current=P;const Oe=(0,_react().useCallback)((e,t,a)=>{const r={name:e.name,index:t,disabled:!!e.disabled,event:a};Fe.current?.(r),e.disabled||e.name===re.current||ze(e.name,t)},[ze]),qe=(0,_react().useCallback)((e,t)=>{const a=Y.find(t=>t.name===e&&!t.disabled);a&&te(a.name,a.index)},[Y,te]);(0,_react().useImperativeHandle)(t,()=>({scrollTo:qe}),[qe]);const Xe=(0,_react().useRef)(!0);(0,_react().useEffect)(()=>{Xe.current&&(Xe.current=!1,Re(!0))},[Re]),(0,_react().useEffect)(()=>{Xe.current||Re()},[ae,Re]);const Je=h??!1,$e="line"===L,Ge="jumbo"===L?A.jumbo.height:"card"===L?A.card.height:A.tabList.height,Ke="web"===_reactNative().Platform.OS&&"line"!==L&&"card"!==L?A.tabList.paddingBottom:0,Qe=$e?"line"===L?0:A.indicator.offset:0;if(0===Y.length)return null;const Ue=$e?_react().default.createElement(_reactNative().Animated.View,{testID:"rv-tabs-indicator",style:[S.ind,{height:$,borderRadius:Se,backgroundColor:ye,width:we,bottom:Qe,transform:[{translateX:xe}]}]}):null,Ye=(0,_react().useMemo)(()=>Y.map(e=>_react().default.createElement(TabBarItem,{key:e.key,pane:e,isActive:e.name===ae,align:j,scrollable:ve,type:L,ellipsis:B,tokens:A,color:p,titleActiveColor:N,titleInactiveColor:C,tabStyle:x,titleStyle:w,descriptionStyle:T,onSelect:Oe,onLayout:Ve,isLast:e.index===Y.length-1})),[j,p,ae,T,B,Oe,Ve,Y,ve,x,N,C,w,A,L]),Ze=(0,_react().useCallback)(e=>{const t=se.current;se.current=e,0===t||Xe.current?Re(!0):Math.abs(e-t)>1&&(cancelFrame(ue.current),ue.current=requestFrame(()=>{ue.current=null,Re()}))},[Re]),et=ve?_react().default.createElement(_reactNative().ScrollView,{horizontal:!0,ref:ke,accessibilityRole:"tablist",showsHorizontalScrollIndicator:!1,scrollEventThrottle:16,onScrollBeginDrag:Ne,onScroll:Ce,onContentSizeChange:Ze,contentContainerStyle:S.navC},Ye,Ue):_react().default.createElement(_reactNative().View,{accessibilityRole:"tablist",style:[S.navC,S.navCSta]},Ye,Ue),tt=_react().default.createElement(_reactNative().View,{style:[S.wrap,{backgroundColor:q},y]},b&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:A.spacing.navSidePaddingHorizontal}},b),_react().default.createElement(_reactNative().View,{style:[S.nav,{minHeight:Ge+Ke,paddingBottom:Ke},"card"===L?{borderRadius:A.card.radius,marginHorizontal:A.card.marginHorizontal,overflow:"hidden"}:null],onLayout:Pe},et,"card"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:p??A.colors.cardBorder,borderRadius:A.card.radius})})),g&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:A.spacing.navSidePaddingHorizontal}},g),Je&&"line"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:A.colors.border,left:0,right:0})})),at=(0,_react().useMemo)(()=>Y.map(e=>{const t=e.name===ae,a=!O||t||le.current.has(e.name);if(!a&&!U)return null;const r=U&&Q?.autoHeight?t=>Le(e.name,t):void 0,n=[S.pane,U?S.swipePane:null,U&&pe>0&&{width:pe},U||t?null:S.hidPane],i=a?e.children:d||null;return _react().default.createElement(_reactNative().View,{key:e.key,testID:`rv-tabs-pane-${e.name}`,onLayout:r,style:n},i)}),[pe,ae,Le,U,O,d,Y,Q?.autoHeight]),rt=[S.content,E],nt=[S.content,E,Q?.autoHeight&&void 0!==he&&{height:he}],it=U?_react().default.createElement(_reactNative().View,{style:nt},_react().default.createElement(_reactNative().Animated.ScrollView,{ref:fe,horizontal:!0,pagingEnabled:!0,scrollEventThrottle:16,showsHorizontalScrollIndicator:!1,onMomentumScrollEnd:We,onScrollEndDrag:De,nestedScrollEnabled:!1===Q?.preventScroll,directionalLockEnabled:!1!==Q?.preventScroll},at)):_react().default.createElement(_reactNative().View,{style:rt},at);return _react().default.createElement(_reactNative().View,_extends({},M,{style:[S.ctr,H],onLayout:Ie}),tt,v&&_react().default.createElement(_reactNative().View,{style:{marginTop:A.spacing.navBottomMarginTop}},v),it)},S=_reactNative().StyleSheet.create({ctr:{width:"100%"},wrap:{flexDirection:"row",alignItems:"center",position:"relative"},nav:{flex:1,position:"relative",alignSelf:"stretch"},navC:{flexDirection:"row",alignItems:"center",height:"100%",position:"relative"},navCSta:{flex:1},lblW:{justifyContent:"center",alignItems:"center",flexDirection:"column"},lblWJ:{alignItems:"center"},cardLbl:{flexDirection:"row",justifyContent:"center",alignItems:"center"},tabI:{flexShrink:0,height:"100%",alignSelf:"stretch",alignItems:"center",justifyContent:"center",flexDirection:"row"},flexI:{flexGrow:1},title:{includeFontPadding:!1},descTxt:{includeFontPadding:!1},ellipsis:{maxWidth:"100%",flexShrink:1},ind:{position:"absolute",bottom:0,left:0},content:{width:"100%"},pane:{width:"100%"},swipePane:{flexShrink:0},hidPane:{display:"none"}}),TabsBaseRef=_react().default.forwardRef(TabsBaseInner),TabsWithPane=Object.assign(_react().default.memo(TabsBaseRef),{TabPane:TabPane});var _default=exports.default=TabsWithPane;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TabPane=void 0;var _hooks=require("../../hooks"),_animation=require("../../hooks/animation"),_hairline=require("../../utils/hairline"),_number=require("../../utils/number"),_validate=require("../../utils/validate"),_tokens=require("./tokens"),_useTabsInternals=require("../../hooks/tabs/useTabsInternals"),_TabBarItem=require("../../hooks/tabs/TabBarItem");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 n,i,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(n=t?r:a){if(n.has(e))return n.get(e);n.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?n(l,t,i):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const TabPane=()=>null;exports.TabPane=TabPane,TabPane.displayName="Tabs.TabPane";const TabsBaseInner=(e,t)=>{const{tokensOverride:a,children:r,type:n,align:i,ellipsis:l,swipeThreshold:c,animated:o,duration:s,lazyRender:u,lazyRenderPlaceholder:d,scrollable:f,swipeable:_,color:h,background:b,border:m,navLeft:v,navRight:p,navBottom:g,tabBarStyle:y,tabStyle:w,titleStyle:T,descriptionStyle:k,contentStyle:E,lineWidth:C,lineHeight:R,titleActiveColor:N,titleInactiveColor:P,beforeChange:x,onClickTab:I,onChange:H,style:M,...V}=e,B=(0,_tokens.useTabsTokens)(a),z=(0,_animation.useReducedMotion)(),L=n??B.defaults.type,q=i??B.defaults.align,O=l??B.defaults.ellipsis,W=c??B.defaults.swipeThreshold,j=o??B.defaults.animated,D=s??B.defaults.duration,A=u??B.defaults.lazyRender,F=b??B.tabList.background,X=(0,_number.parseNumberLike)(C??B.indicator.width),$=null!=X&&X<0?void 0:X,G=Math.max(0,(0,_number.parseNumberLike)(R)??B.indicator.height),J=z?0:Math.max(0,(0,_number.parseNumberLike)(D)??B.defaults.duration),K=Math.max(0,(0,_number.parseNumberLike)(W)??B.defaults.swipeThreshold),Q=_?(0,_validate.isObject)(_)?{autoHeight:_.autoHeight??!0,preventScroll:_.preventScroll??!0}:{autoHeight:!0,preventScroll:!0}:void 0,U=!!Q,Y=(0,_react().useMemo)(()=>{const e=[];let t=0;const a=r=>{_react().Children.forEach(r,r=>{if(!(0,_react().isValidElement)(r))return;const n=r;if(n.type===_react().default.Fragment)return void a(n.props.children);if(!(0,_TabBarItem.isTabPaneElement)(n,TabPane))return;const i=n.props,l=i.name??t;e.push({...i,key:n.key??l,name:l,index:t}),t+=1})};return a(r),e},[r]),Z=Y[0]?.name,[ee,te]=(0,_hooks.useControllableValue)(e,{defaultValue:Z,valuePropName:"active",defaultValuePropName:"defaultActive",trigger:"onChange"}),ae=null==ee?Z:Y.some(e=>e.name===ee)?ee:Z,re=(0,_react().useRef)(ae);(0,_react().useEffect)(()=>{re.current=ae},[ae]);const ne=(0,_react().useMemo)(()=>{const e=new Map;return Y.forEach(t=>{e.set(t.name,t.index)}),e},[Y]),ie=null==ae?-1:ne.get(ae)??-1,le=(0,_react().useRef)(new Set),ce=(0,_react().useRef)(new Map),oe=(0,_react().useRef)(0),se=(0,_react().useRef)(0),ue=(0,_react().useRef)(null),de=(0,_react().useRef)(new Map),fe=(0,_react().useRef)(null),_e=(0,_react().useRef)(!1),[he,be]=(0,_react().useState)(0),[me,ve]=(0,_react().useState)(void 0);(0,_react().useEffect)(()=>{null!=ae&&le.current.add(ae)},[ae]),(0,_react().useEffect)(()=>{const e=new Set(Y.map(e=>e.name));Array.from(de.current.keys()).forEach(t=>{e.has(t)||de.current.delete(t)}),Array.from(ce.current.keys()).forEach(t=>{e.has(t)||ce.current.delete(t)})},[Y]);const pe=U&&Q?.autoHeight;(0,_react().useEffect)(()=>{pe||de.current.clear()},[pe]),(0,_react().useEffect)(()=>{if(!U||!Q?.autoHeight)return void ve(void 0);const e=null!=ae?de.current.get(ae):void 0;ve(e?e.height:void 0)},[ae,U,Q?.autoHeight]),(0,_react().useEffect)(()=>()=>{(0,_useTabsInternals.cancelTabsFrame)(ue.current),ue.current=null},[]);const ge=(0,_validate.isBoolean)(f)?f:Y.length>K||!1===O,ye=h??B.colors.indicator,Se=G?G/2:B.indicator.radius,{indicatorX:we,indicatorWidth:Te,indicatorInitializedRef:ke,animateIndicator:Ee}=(0,_useTabsInternals.useTabsAnimation)({type:L,animated:j,scrollable:ge,align:q,panes:Y,nameIndexMap:ne,resolvedLineWidth:$,resolvedDuration:J,currentName:ae,layoutMap:ce,navContainerWidthRef:oe}),{navScrollRef:Ce,scrollIntoView:Re,handleNavScrollBeginDrag:Ne,handleNavScroll:Pe}=(0,_useTabsInternals.useTabsScroll)({scrollable:ge,animated:j,currentName:ae,resolvedDuration:J,layoutMap:ce,navContainerWidthRef:oe,navContentWidthRef:se}),xe=(0,_react().useCallback)((e,t)=>{const{x:a,width:r}=t.nativeEvent.layout;if(ce.current.set(e,{x:a,width:r}),e===re.current){const t=ke.current;Ee(e,!t)&&!ke.current&&(ke.current=!0)}},[Ee,ke]),Ie=(0,_react().useCallback)(e=>{const{width:t}=e.nativeEvent.layout;if(oe.current=t,!ge&&"start"!==q&&"line"===L&&null!=ae){const e=ke.current;Ee(ae,!e)&&!ke.current&&(ke.current=!0)}},[q,Ee,ae,ge,L,ke]),He=(0,_react().useCallback)(e=>{const t=e.nativeEvent.layout.width;be(e=>e===t?e:t)},[]),Me=(0,_react().useRef)(x);Me.current=x;const Ve=(0,_react().useCallback)(e=>{if(!Me.current)return Promise.resolve(!0);try{return Promise.resolve(Me.current(e)).then(e=>!1!==e).catch(()=>!1)}catch{return Promise.resolve(!1)}},[]),Be=(0,_react().useRef)(0),ze=(0,_react().useCallback)((e,t)=>{Be.current+=1;const a=Be.current;Ve(e).then(r=>{r&&Be.current===a&&te(e,t)})},[Ve,te]),Le=(0,_react().useCallback)((e,t)=>{if(U&&Q?.autoHeight){const{height:a}=t.nativeEvent.layout;de.current.set(e,{height:a}),e===ae&&ve(a)}},[ae,U,Q?.autoHeight]),qe=(0,_react().useRef)(null);(0,_react().useEffect)(()=>{qe.current=null},[ae]);const Oe=(0,_react().useCallback)(e=>{if(!U||he<=0)return;const t=Math.round(e/he);if(qe.current===t)return;qe.current=t;const a=Y[t];a&&a.name!==re.current&&(_e.current=!0,ze(a.name,a.index))},[he,U,Y,ze]),We=(0,_react().useCallback)(e=>{Oe(e.nativeEvent.contentOffset.x)},[Oe]),je=(0,_react().useCallback)(e=>{Oe(e.nativeEvent.contentOffset.x)},[Oe]);(0,_react().useEffect)(()=>{if(!U||!fe.current||he<=0)return;if(_e.current)return void(_e.current=!1);if(ie<0)return;const e=fe.current?.getNode?.()??fe.current;e?.scrollTo&&e.scrollTo({x:he*ie,y:0,animated:!0})},[ie,he,U]);const De=(0,_react().useRef)(I);De.current=I;const Ae=(0,_react().useCallback)((e,t,a)=>{const r={name:e.name,index:t,disabled:!!e.disabled,event:a};De.current?.(r),e.disabled||e.name===re.current||ze(e.name,t)},[ze]),Fe=(0,_react().useCallback)((e,t)=>{const a=Y.find(t=>t.name===e&&!t.disabled);a&&te(a.name,a.index)},[Y,te]);(0,_react().useImperativeHandle)(t,()=>({scrollTo:Fe}),[Fe]);const Xe=(0,_react().useRef)(!0);(0,_react().useEffect)(()=>{Xe.current&&(Xe.current=!1,Re(!0))},[Re]),(0,_react().useEffect)(()=>{Xe.current||Re()},[ae,Re]);const $e=m??!1,Ge="line"===L,Je="jumbo"===L?B.jumbo.height:"card"===L?B.card.height:B.tabList.height,Ke="web"===_reactNative().Platform.OS&&"line"!==L&&"card"!==L?B.tabList.paddingBottom:0,Qe=Ge?"line"===L?0:B.indicator.offset:0;if(0===Y.length)return null;const Ue=Ge?_react().default.createElement(_reactNative().Animated.View,{testID:"rv-tabs-indicator",style:[S.ind,{height:G,borderRadius:Se,backgroundColor:ye,width:Te,bottom:Qe,transform:[{translateX:we}]}]}):null,Ye=(0,_react().useMemo)(()=>Y.map(e=>_react().default.createElement(_TabBarItem.TabBarItem,{key:e.key,pane:e,isActive:e.name===ae,align:q,scrollable:ge,type:L,ellipsis:O,tokens:B,color:h,titleActiveColor:N,titleInactiveColor:P,tabStyle:w,titleStyle:T,descriptionStyle:k,onSelect:Ae,onLayout:xe,isLast:e.index===Y.length-1})),[q,h,ae,k,O,Ae,xe,Y,ge,w,N,P,T,B,L]),Ze=(0,_react().useCallback)(e=>{const t=se.current;se.current=e,0===t||Xe.current?Re(!0):Math.abs(e-t)>1&&((0,_useTabsInternals.cancelTabsFrame)(ue.current),ue.current=(0,_useTabsInternals.requestTabsFrame)(()=>{ue.current=null,Re()}))},[Re]),et=ge?_react().default.createElement(_reactNative().ScrollView,{horizontal:!0,ref:Ce,accessibilityRole:"tablist",showsHorizontalScrollIndicator:!1,scrollEventThrottle:16,onScrollBeginDrag:Ne,onScroll:Pe,onContentSizeChange:Ze,contentContainerStyle:S.navC},Ye,Ue):_react().default.createElement(_reactNative().View,{accessibilityRole:"tablist",style:[S.navC,S.navCSta]},Ye,Ue),tt=_react().default.createElement(_reactNative().View,{style:[S.wrap,{backgroundColor:F},y]},v&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:B.spacing.navSidePaddingHorizontal}},v),_react().default.createElement(_reactNative().View,{style:[S.nav,{minHeight:Je+Ke,paddingBottom:Ke},"card"===L?{borderRadius:B.card.radius,marginHorizontal:B.card.marginHorizontal,overflow:"hidden"}:null],onLayout:Ie},et,"card"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:h??B.colors.cardBorder,borderRadius:B.card.radius})})),p&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:B.spacing.navSidePaddingHorizontal}},p),$e&&"line"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:B.colors.border,left:0,right:0})})),at=(0,_react().useMemo)(()=>Y.map(e=>{const t=e.name===ae,a=!A||t||le.current.has(e.name);if(!a&&!U)return null;const r=U&&Q?.autoHeight?t=>Le(e.name,t):void 0,n=[S.pane,U?S.swipePane:null,U&&he>0&&{width:he},U||t?null:S.hidPane],i=a?e.children:d||null;return _react().default.createElement(_reactNative().View,{key:e.key,testID:`rv-tabs-pane-${e.name}`,onLayout:r,style:n},i)}),[he,ae,Le,U,A,d,Y,Q?.autoHeight]),rt=[S.content,E],nt=[S.content,E,Q?.autoHeight&&void 0!==me&&{height:me}],it=U?_react().default.createElement(_reactNative().View,{style:nt},_react().default.createElement(_reactNative().Animated.ScrollView,{ref:fe,horizontal:!0,pagingEnabled:!0,scrollEventThrottle:16,showsHorizontalScrollIndicator:!1,onMomentumScrollEnd:We,onScrollEndDrag:je,nestedScrollEnabled:!1===Q?.preventScroll,directionalLockEnabled:!1!==Q?.preventScroll},at)):_react().default.createElement(_reactNative().View,{style:rt},at);return _react().default.createElement(_reactNative().View,_extends({},V,{style:[S.ctr,M],onLayout:He}),tt,g&&_react().default.createElement(_reactNative().View,{style:{marginTop:B.spacing.navBottomMarginTop}},g),it)},S=_reactNative().StyleSheet.create({ctr:{width:"100%"},wrap:{flexDirection:"row",alignItems:"center",position:"relative"},nav:{flex:1,position:"relative",alignSelf:"stretch"},navC:{flexDirection:"row",alignItems:"center",height:"100%",position:"relative"},navCSta:{flex:1},ind:{position:"absolute",bottom:0,left:0},content:{width:"100%"},pane:{width:"100%"},swipePane:{flexShrink:0},hidPane:{display:"none"}}),TabsBaseRef=_react().default.forwardRef(TabsBaseInner),TabsWithPane=Object.assign(_react().default.memo(TabsBaseRef),{TabPane:TabPane});var _default=exports.default=TabsWithPane;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_MIN=exports.DEFAULT_MAX=exports.DAY_MS=void 0,exports.buildMonth=buildMonth,exports.clampMonth=clampMonth,exports.daysBetween=void 0,exports.formatMonth=formatMonth,exports.getCalendarDayTestId=getCalendarDayTestId,exports.isSameDay=void 0,exports.isSameMonth=isSameMonth,exports.mapValue=mapValue,exports.normalizeValue=normalizeValue,exports.reorderWeekdays=reorderWeekdays,exports.startOfDay=void 0,exports.startOfMonth=startOfMonth,exports.toArrayValue=void 0;const DAY_MS=exports.DAY_MS=864e5,DEFAULT_MIN=exports.DEFAULT_MIN=new Date((new Date).getFullYear()-10,0,1),DEFAULT_MAX=exports.DEFAULT_MAX=new Date((new Date).getFullYear()+10,11,31),isSameDay=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();exports.isSameDay=isSameDay;const startOfDay=e=>{const t=new Date(e);return t.setHours(0,0,0,0),t};exports.startOfDay=startOfDay;const daysBetween=(e,t)=>Math.round(Math.abs(startOfDay(e).getTime()-startOfDay(t).getTime())/DAY_MS);exports.daysBetween=daysBetween;const toArrayValue=e=>e?Array.isArray(e)?e.filter(Boolean).map(e=>new Date(e)):[new Date(e)]:[];function mapValue(e,t){return"single"===t?e[0]??new Date:("range"===t&&e.length,e)}function normalizeValue(e,t){return"single"===t?e.slice(0,1):"range"===t?e.slice(0,2).sort((e,t)=>e.getTime()-t.getTime()):e}function formatMonth(e){return`${e.getFullYear()}/${e.getMonth()+1}`}function reorderWeekdays(e,t,a){const r=(t%7+7)%7,n=7===e.length?[...e]:a;return[...n.slice(r),...n.slice(0,r)]}function buildMonth(e,t){const a=(t%7+7)%7,r=(startOfMonth(e).getDay()-a+7)%7,n=new Date(e.getFullYear(),e.getMonth()+1,0).getDate(),o=[];for(let e=0;e<r;e+=1)o.push(null);for(let t=1;t<=n;t+=1)o.push(new Date(e.getFullYear(),e.getMonth(),t));for(;o.length<42;)o.push(null);return o}function getCalendarDayTestId(e){return`calendar-day-${e.getFullYear()}-${`${e.getMonth()+1}`.padStart(2,"0")}-${`${e.getDate()}`.padStart(2,"0")}`}function startOfMonth(e){return new Date(e.getFullYear(),e.getMonth(),1)}function clampMonth(e,t,a){const r=startOfMonth(e),n=startOfMonth(t),o=startOfMonth(a);return r.getTime()<n.getTime()?n:r.getTime()>o.getTime()?a:r}function isSameMonth(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}exports.toArrayValue=toArrayValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveRows=exports.getFieldKeys=void 0;const getFieldKeys=e=>({textKey:e?.text??"text",valueKey:e?.value??"value",childrenKey:e?.children??"children"});exports.getFieldKeys=getFieldKeys;const resolveRows=(e=[],t,s)=>{const o=[];let r=e;return s.forEach(e=>{if(!r?.length)return;const s=r.find(s=>s[t.valueKey]===e);s&&(o.push(s),r=s[t.childrenKey]??[])}),o};exports.resolveRows=resolveRows;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireDefault(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.ActionButton=void 0;var _hairline=require("../../utils/hairline"),_utils=require("../../utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const ActionButton=e=>{const{text:t,color:i,tokens:n,dividerPosition:o="none",loading:r,disabled:a,onPress:c}=e,s=i??n.colors.confirm,l="none"===o?null:[S.btnDiv,{width:0},(0,_hairline.createHairlineView)({position:o,color:n.colors.divider,top:0,bottom:0,[o]:0})];return _react().default.createElement(_reactNative().Pressable,{accessibilityRole:"button",disabled:a||r,style:({pressed:e})=>[S.btn,{height:n.sizes.actionHeight,opacity:!e||a||r?1:.8}],onPress:a||r?void 0:c},l&&_react().default.createElement(_reactNative().View,{style:l,pointerEvents:"none"}),r?_react().default.createElement(_reactNative().ActivityIndicator,{size:"small",color:s}):(0,_utils.renderTextOrNode)(t??"",{color:s,fontFamily:n.typography.fontFamily,fontSize:n.typography.actionSize,fontWeight:n.typography.actionWeight}))};exports.ActionButton=ActionButton;const S=_reactNative().StyleSheet.create({btn:{flex:1,alignItems:"center",justifyContent:"center"},btnDiv:{position:"absolute",pointerEvents:"none"}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireDefault(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}function _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveTooltipDialog=exports.mapKeyboardType=exports.alignMap=exports.FieldSlot=exports.FieldInput=exports.FieldControlRow=exports.FieldClearButton=void 0;var _validate=require("../../utils/validate");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_extends.apply(null,arguments)}const alignMap=exports.alignMap={left:"flex-start",center:"center",right:"flex-end"},mapKeyboardType=e=>{switch(e){case"number":return"decimal-pad";case"digit":return"number-pad";case"tel":return"phone-pad";default:return}};exports.mapKeyboardType=mapKeyboardType;const FieldSlot=({onPress:e,style:t,children:r,accessibilityRole:o="button"})=>r?e?_react().default.createElement(_reactNative().Pressable,{onPress:e,accessibilityRole:o,style:t},r):_react().default.createElement(_reactNative().View,{style:t},r):null;exports.FieldSlot=FieldSlot;const FieldClearButton=({show:e,tokens:t,clearIcon:r,onPressIn:o,onPressOut:n,onPress:l})=>{if(!e)return null;const a="web"===_reactNative().Platform.OS?{onMouseDown:e=>{e.preventDefault?.(),e.stopPropagation?.()}}:void 0;return _react().default.createElement(_reactNative().Pressable,_extends({style:[t.layout.clearIcon,{paddingHorizontal:t.spacing.rightIconGap}]},a,{onPressIn:o,onPressOut:n,onPress:l,accessibilityRole:"button"}),_react().default.isValidElement(r)?r:_react().default.createElement(_reactNativeSystemIcon().Clear,{size:t.sizes.clearIcon,fill:t.colors.clear,color:t.colors.clear}))};exports.FieldClearButton=FieldClearButton;const FieldInput=({inputRef:e,tokens:t,isTextarea:r,disabled:o,error:n,finalTextAlign:l,lineHeight:a,textareaHeight:i,minHeight:s,inputStyle:c,value:u,onChangeText:d,onFocus:p,onBlur:y,onPressIn:f,rows:g,placeholderTextColor:x,keyboardType:_,onContentSizeChange:v,describedBy:b,secureTextEntry:m,editable:h,restInputProps:T})=>{const I=[r?t.layout.textarea:t.layout.input,{color:o?t.colors.disabled:n?t.colors.error:t.colors.input,fontSize:t.typography.inputSize,textAlign:l,...r?{lineHeight:a,height:i,minHeight:s}:{minHeight:t.sizes.controlMinHeight}},c];return _react().default.createElement(_reactNative().TextInput,_extends({ref:e,style:I,value:u,onChangeText:d,onFocus:p,onBlur:y,onPressIn:f,editable:h,secureTextEntry:m,multiline:r,numberOfLines:r?g:void 0,keyboardType:_,placeholderTextColor:x,onContentSizeChange:r?v:void 0},b?{accessibilityDescribedBy:b}:null,{clearButtonMode:"never"},T))};exports.FieldInput=FieldInput;const FieldControlRow=({tokens:e,prefixNode:t,leftIconNode:r,controlNode:o,clearNode:n,rightIconNode:l,suffixNode:a})=>_react().default.createElement(_reactNative().View,{style:e.layout.body},t,r,_react().default.createElement(_reactNative().View,{style:[e.layout.controlWrapper,{minHeight:e.sizes.controlMinHeight}]},o,n),l,a);exports.FieldControlRow=FieldControlRow;const resolveTooltipDialog=(e,t)=>{if(!_react().default.isValidElement(e)&&!(0,_validate.isText)(e)){const{icon:r,...o}=e;return{icon:r??t,dialogProps:o}}return{icon:t,dialogProps:{message:e}}};exports.resolveTooltipDialog=resolveTooltipDialog;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.toNamePath=exports.setValueByName=exports.serializeNamePath=exports.runRuleValidation=exports.normalizeTrigger=exports.getValueByName=void 0;var _promise=require("../../utils/promise"),_validate=require("../../utils/validate");const normalizeTrigger=e=>e?Array.isArray(e)?e:[e]:[];exports.normalizeTrigger=normalizeTrigger;const toNamePath=e=>null==e?[]:Array.isArray(e)?e:(0,_validate.isNumber)(e)?[e]:(0,_validate.isString)(e)?e.split("."):[String(e)];exports.toNamePath=toNamePath;const serializeNamePath=e=>toNamePath(e).join(".");exports.serializeNamePath=serializeNamePath;const getValueByName=(e,r)=>toNamePath(r).reduce((e,r)=>{if(null==e)return e;const t=String(r);if(Array.isArray(e)){const r=Number(t);return Number.isFinite(r)?e[r]:e[t]}return"object"==typeof e?e[t]:void 0},e);exports.getValueByName=getValueByName;const setValueByName=(e,r,t)=>{const i=toNamePath(r);if(!i.length)return e;const a=Array.isArray(e)?[...e]:"object"==typeof e&&null!==e?{...e}:{};let n=a;return i.forEach((e,r)=>{const a=String(e),s=Number(a);if(r===i.length-1)return void(Array.isArray(n)&&Number.isFinite(s)?n[s]=t:n[a]=t);const o=Array.isArray(n)&&Number.isFinite(s)?n[s]:n[a],l=null==o?(0,_validate.isNumber)(i[r+1])?[]:{}:Array.isArray(o)?[...o]:"object"==typeof o?{...o}:{};Array.isArray(n)&&Number.isFinite(s)?n[s]=l:n[a]=l,n=l}),a};exports.setValueByName=setValueByName;const runRuleValidation=(e,r,t,i)=>{const a=e.message??i??"Validation failed",n=null==r||""===r||Array.isArray(r)&&0===r.length;if(e.required&&(n||e.whitespace&&(0,_validate.isString)(r)&&0===r.trim().length))return a;if(n)return null;if(e.pattern&&(0,_validate.isString)(r)&&!e.pattern.test(r))return a;if(void 0!==e.len||void 0!==e.min||void 0!==e.max){const t=(0,_validate.isNumber)(r)?r:(0,_validate.isString)(r)||Array.isArray(r)?r.length:0;if(void 0!==e.len&&t!==e.len)return a;if(void 0!==e.min&&t<e.min)return a;if(void 0!==e.max&&t>e.max)return a}if(!e.validator)return null;const s=e=>(0,_validate.isString)(e)?e:!1===e?a:null,o=e.validator(r,t);return(0,_promise.isPromiseLike)(o)?o.then(s):s(o)};exports.runRuleValidation=runRuleValidation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.shuffle=exports.buildKeyboardKeys=exports.ZERO=exports.RE_NUM_LIKE=exports.NUM_KEYS=void 0;const NUM_KEYS=exports.NUM_KEYS=["1","2","3","4","5","6","7","8","9"],ZERO=exports.ZERO="0",RE_NUM_LIKE=exports.RE_NUM_LIKE=/^\d+$|^\.$|^x$/i,shuffle=e=>{const t=[...e];for(let e=t.length-1;e>0;e--){const r=Math.floor(Math.random()*(e+1));[t[e],t[r]]=[t[r],t[e]]}return t};exports.shuffle=shuffle;const buildKeyboardKeys=({randomKeyOrder:e,visible:t,isCustom:r,extraKey:s,showDeleteKey:o})=>{const p=(e&&t?shuffle(NUM_KEYS):NUM_KEYS).map(e=>({text:e,type:""}));if(r){const e=Array.isArray(s)?s:s?[s]:[];return 1===e.length?p.push({text:ZERO,type:"",wider:!0},{text:e[0],type:"extra"}):e.length>=2?p.push({text:e[0],type:"extra"},{text:ZERO,type:""},{text:e[1],type:"extra"}):p.push({text:ZERO,type:""}),p}const x=Array.isArray(s)?s[0]??"":s??"";return p.push({text:x,type:"extra"},{text:ZERO,type:""},{type:o?"delete":"",text:o?void 0:""}),p};exports.buildKeyboardKeys=buildKeyboardKeys;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.toArrayValue=exports.prepareColumns=exports.normalizePicker=exports.findEnabledIndex=void 0;var _utils=require("../../utils");const toArrayValue=e=>Array.isArray(e)?e.filter(e=>null!=e):null==e?[]:[e];exports.toArrayValue=toArrayValue;const isColumnWithOptions=e=>!!e&&(0,_utils.isObject)(e)&&"options"in e&&Array.isArray(e.options),hasChildren=e=>!!e&&(0,_utils.isObject)(e)&&Array.isArray(e.children)&&e.children.length>0,findEnabledIndex=(e,r)=>{if(!e.length)return-1;const n=Math.min(Math.max(r,0),e.length-1);if(!e[n]?.disabled)return n;for(let r=n+1;r<e.length;r+=1)if(!e[r]?.disabled)return r;for(let r=n-1;r>=0;r-=1)if(!e[r]?.disabled)return r;return-1};exports.findEnabledIndex=findEnabledIndex;const normalizeMultiple=(e,r,n)=>{const s=[],t=[];return e.forEach((e,a)=>{const i=n[a],l=void 0!==r[a]?e.findIndex(e=>e.value===r[a]):-1,o=e.findIndex(e=>e.value===i),u=findEnabledIndex(e,o>=0?o:l>=0?l:0),d=u>=0?e[u]:void 0,c=o>=0&&!e[o]?.disabled;s[a]=c?i:d?.value??r[a]??e[0]?.value,t[a]=d}),{columns:e,values:s,options:t}},normalizeCascade=(e,r)=>{const n=[],s=[],t=[];let a=e,i=0;const l=new Set;for(;a&&a.length&&!l.has(a);){l.add(a),n.push(a);const e=r[i],o=a.findIndex(r=>r.value===e||String(r.value)===String(e)),u=findEnabledIndex(a,o>=0?o:0),d=u>=0?a[u]:a[0];if(s[i]=d?.value,t[i]=d,!d||!hasChildren(d))break;a=d.children,i+=1}return{columns:n,values:s,options:t}},prepareColumns=(e=[])=>{if(!Array.isArray(e)||0===e.length)return{type:"single",columnsList:[],defaults:[],cascadeRoot:[]};const r=e.every(e=>!Array.isArray(e)&&!isColumnWithOptions(e)),n=r&&e.some(e=>hasChildren(e));if(n)return{type:"cascade",columnsList:[],defaults:[],cascadeRoot:e};const s=e,t=[],a=[];return r&&!n?(t.push(e),a.push(void 0)):s.forEach(e=>{if(Array.isArray(e))t.push(e),a.push(void 0);else if(isColumnWithOptions(e)){const r=e;t.push(r.options??[]),a.push(r.defaultValue)}}),{type:"multiple",columnsList:t,defaults:a}};exports.prepareColumns=prepareColumns;const normalizePicker=(e,r=[])=>{const n=Array.isArray(r)?r:[];return"cascade"===e.type&&e.cascadeRoot?.length?normalizeCascade(e.cascadeRoot,n):normalizeMultiple(e.columnsList,e.defaults,n)};exports.normalizePicker=normalizePicker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getVisibleCount=exports.GradientMask=void 0,exports.usePickerValue=usePickerValue;var _color=require("../../utils/color"),_validate=require("../../utils/validate"),_utils=require("../../utils"),_normalize=require("./normalize");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var o,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(o=t?a:r){if(o.has(e))return o.get(e);o.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?o(i,t,n):i[t]=e[t]);return i})(e,t)}const GRADIENT_OVERLAY_ALPHA=.25,GRADIENT_STEPS=[.95,.75,.55,.35],GRADIENT_STEPS_REVERSED=[.35,.55,.75,.95];function usePickerValue({columns:e,valueProp:t,defaultValue:r,emitConfirmOnAutoSelect:a=!0,onChange:o,onConfirm:n}){const i=(0,_react().useMemo)(()=>(0,_normalize.prepareColumns)(e),[e]),l=void 0!==t,u=(0,_react().useRef)(o),c=(0,_react().useRef)(n);u.current=o,c.current=n;const[s,_]=(0,_react().useState)(()=>(0,_normalize.normalizePicker)(i,(0,_normalize.toArrayValue)(t??r)).values),p=(0,_react().useRef)(s);p.current=s;const f=(0,_react().useCallback)(e=>{p.current=e,_(e)},[]);(0,_react().useEffect)(()=>{if(!l)return;const e=(0,_normalize.toArrayValue)(t);(0,_utils.shallowEqualArray)(p.current,e)||f(e)},[f,l,t]);const d=(0,_react().useMemo)(()=>(0,_normalize.normalizePicker)(i,s),[i,s]);(0,_react().useEffect)(()=>{l||(0,_utils.shallowEqualArray)(s,d.values)||(f(d.values),u.current?.(d.values,d.options),a&&c.current?.(d.values,d.options))},[f,a,s,l,d]);const m=(0,_react().useCallback)((e,t)=>{const r=[...p.current];r[t]=e.value,"cascade"===i.type&&(r.length=t+1);const a=(0,_normalize.normalizePicker)(i,r);(0,_utils.shallowEqualArray)(p.current,a.values)||(f(a.values),u.current?.(a.values,a.options))},[f,i]),v=(0,_react().useCallback)(()=>{c.current?.(d.values,d.options)},[d]);return{preparedColumns:i,normalized:d,handleSelect:m,handleConfirm:v}}const getVisibleCount=e=>{const t=(0,_validate.isFiniteNumber)(e)?Math.max(3,Math.floor(e)):5;return t%2==0?t+1:t};exports.getVisibleCount=getVisibleCount;const GradientMask=({height:e,color:t,position:r,maskType:a})=>{const o=[{position:"absolute",left:0,right:0,zIndex:2},{height:e},"top"===r?{top:0}:{bottom:0}],n=(0,_color.withAlpha)(t,.25);if("solid"===a)return _react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[...o,{backgroundColor:(0,_color.withAlpha)(t,.9)}]});if("web"===_reactNative().Platform.OS){const e="top"===r?"180deg":"0deg";return _react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[...o,{backgroundColor:n,backgroundImage:`linear-gradient(${e}, ${(0,_color.withAlpha)(t,.98)}, ${(0,_color.withAlpha)(t,.4)})`}]})}return _react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[...o,{backgroundColor:n}]},("top"===r?GRADIENT_STEPS:GRADIENT_STEPS_REVERSED).map((e,r)=>_react().default.createElement(_reactNative().View,{key:r,style:{flex:1,backgroundColor:(0,_color.withAlpha)(t,e)}})))};exports.GradientMask=GradientMask;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.placementConfig=exports.hiddenStyle=exports.buildRadius=exports.EASE_OUT=exports.EASE_IN=exports.CONTENT_SELF=exports.CAPTURE=void 0;const EASE_OUT=exports.EASE_OUT=_reactNative().Easing.bezier(.075,.82,.165,1),EASE_IN=exports.EASE_IN=_reactNative().Easing.bezier(.55,.055,.675,.19),CAPTURE=()=>!0;exports.CAPTURE=CAPTURE;const hiddenStyle=exports.hiddenStyle={opacity:0,shadowOpacity:0,shadowRadius:0,elevation:0},placementConfig=exports.placementConfig={top:{container:{justifyContent:"flex-start",alignItems:"center"},axis:"y"},bottom:{container:{justifyContent:"flex-end",alignItems:"center"},axis:"y"},left:{container:{justifyContent:"center",alignItems:"flex-start"},axis:"x"},right:{container:{justifyContent:"center",alignItems:"flex-end"},axis:"x"},center:{container:{justifyContent:"center",alignItems:"center"},axis:"y"}},CONTENT_SELF=exports.CONTENT_SELF={top:{alignSelf:"stretch"},bottom:{alignSelf:"stretch"},left:{alignSelf:"flex-start"},right:{alignSelf:"flex-end"},center:{alignSelf:"center"}},buildRadius=(e,t,i)=>e?"top"===t?{borderBottomLeftRadius:i,borderBottomRightRadius:i}:"bottom"===t?{borderTopLeftRadius:i,borderTopRightRadius:i}:"left"===t?{borderTopRightRadius:i,borderBottomRightRadius:i}:"right"===t?{borderTopLeftRadius:i,borderBottomLeftRadius:i}:{borderRadius:i}:void 0;exports.buildRadius=buildRadius;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _react(){const e=require("react");return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.useTrackLayout=exports.toSliderValue=exports.normalizeValue=exports.mapSliderTouchDirection=exports.defaultNumberFormatter=exports.createAccessibilityProps=exports.START_KEYS=exports.MOVE_KEYS=exports.END_KEYS=void 0;var _utils=require("../../utils"),_validate=require("../../utils/validate");const START_KEYS=exports.START_KEYS=["onResponderGrant","onPanResponderGrant"],MOVE_KEYS=exports.MOVE_KEYS=["onResponderMove","onPanResponderMove"],END_KEYS=exports.END_KEYS=["onResponderRelease","onResponderTerminate","onPanResponderRelease","onPanResponderTerminate"],isSameLayout=(e,t)=>e.width===t.width&&e.height===t.height&&e.x===t.x&&e.y===t.y,normalizeValue=(e,t,r,a)=>t?(()=>{const t=Array.isArray(e)?e:(0,_validate.isFiniteNumber)(e)?[r,e]:[r,r],i=(0,_validate.isFiniteNumber)(t[0])?(0,_utils.clamp)(t[0],r,a):r,n=(0,_validate.isFiniteNumber)(t[1]??t[0])?(0,_utils.clamp)(t[1]??t[0],r,a):r;return i<=n?[i,n]:[n,i]})():(()=>{const t=Array.isArray(e)?e[0]:e;return[(0,_validate.isFiniteNumber)(t)?(0,_utils.clamp)(t,r,a):r]})();exports.normalizeValue=normalizeValue;const toSliderValue=(e,t,r)=>t?[e[0]??r,e[1]??e[0]??r]:e[0]??r;exports.toSliderValue=toSliderValue;const createAccessibilityProps=e=>e?(()=>{const{role:t,"aria-value":r,accessibilityActions:a,onAccessibilityAction:i,disabled:n}=e;return{accessible:!0,accessibilityRole:t??"adjustable",accessibilityValue:r,accessibilityActions:a,onAccessibilityAction:i,accessibilityState:{disabled:n}}})():{};exports.createAccessibilityProps=createAccessibilityProps;const defaultNumberFormatter=exports.defaultNumberFormatter="undefined"!=typeof Intl&&(0,_validate.isFunction)(Intl.NumberFormat)?new Intl.NumberFormat:{format:e=>String(e)},mapSliderTouchDirection=e=>e.vertical?e.reverse:e.reverse||!1;exports.mapSliderTouchDirection=mapSliderTouchDirection;const useTrackLayout=()=>{const e=(0,_react().useRef)(null),t=(0,_react().useRef)(null),[r,a]=(0,_react().useState)({width:0,height:0,x:0,y:0}),i=(0,_react().useCallback)(r=>{const{layout:i}=r.nativeEvent,n={width:Math.max(i.width,1),height:Math.max(i.height,1),x:i.x??0,y:i.y??0};a(e=>isSameLayout(e,n)?e:n),"web"===_reactNative().Platform.OS&&"undefined"!=typeof requestAnimationFrame&&null==t.current&&(t.current=requestAnimationFrame(()=>{t.current=null;const r=e.current;r?.measureInWindow&&r.measureInWindow((e,t,r,i)=>{const n={width:Math.max(r,1),height:Math.max(i,1),x:e,y:t};a(e=>isSameLayout(e,n)?e:n)})}))},[]);return(0,_react().useEffect)(()=>()=>{null!=t.current&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t.current),t.current=null},[]),{trackRef:e,trackLayout:r,handleTrackLayout:i}};exports.useTrackLayout=useTrackLayout;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createWebMouseHandlers=exports.LOOP_THRESHOLD=void 0;const LOOP_THRESHOLD=exports.LOOP_THRESHOLD=10,createWebMouseHandlers=({enabled:e,vertical:t,mainSize:n,clearAuto:r,next:a,prev:o,schedule:u,dragRef:s,interRef:i})=>{if(e)return{onPointerDown:e=>{"mouse"===e.nativeEvent.pointerType&&0===e.nativeEvent.button&&(s.current=t?e.nativeEvent.pageY:e.nativeEvent.pageX,i.current=!0,r())},onPointerUp:e=>{const r=s.current;if(s.current=null,null==r||"mouse"!==e.nativeEvent.pointerType)return;const c=(t?e.nativeEvent.pageY:e.nativeEvent.pageX)-r;Math.abs(c)>=.15*n&&(c<0?a():o()),i.current=!1,u()},onPointerLeave:()=>{null!=s.current&&(s.current=null,i.current=!1,u())}}};exports.createWebMouseHandlers=createWebMouseHandlers;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.isTabPaneElement=exports.TabBarItem=void 0;var _hooks=require("../../hooks"),_hairline=require("../../utils/hairline"),_validate=require("../../utils/validate");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,i=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var r,n,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(r=t?i:a){if(r.has(e))return r.get(e);r.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?r(o,t,n):o[t]=e[t]);return o})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},_extends.apply(null,arguments)}const isTabPaneElement=(e,t)=>!!_react().default.isValidElement(e)&&(e.type===t||"Tabs.TabPane"===e.type.displayName);exports.isTabPaneElement=isTabPaneElement;const S={lblW:{justifyContent:"center",alignItems:"center",flexDirection:"column"},lblWJ:{alignItems:"center"},cardLbl:{flexDirection:"row",justifyContent:"center",alignItems:"center"},tabI:{flexShrink:0,height:"100%",alignSelf:"stretch",alignItems:"center",justifyContent:"center",flexDirection:"row"},flexI:{flexGrow:1},title:{includeFontPadding:!1},descTxt:{includeFontPadding:!1},ellipsis:{maxWidth:"100%",flexShrink:1}},TabBarItemInner=({pane:e,isActive:t,align:a,scrollable:i,type:r,ellipsis:n,tokens:o,color:l,titleActiveColor:c,titleInactiveColor:s,tabStyle:d,titleStyle:p,descriptionStyle:u,onSelect:g,onLayout:b,isLast:f})=>{const m=!!e.disabled,y=(0,_hooks.useAriaPress)({onPress:t=>g(e,e.index,t),extraProps:{accessibilityRole:"tab",accessibilityState:{selected:t,disabled:m},testID:`rv-tabs-item-${e.name}`}}),_="capsule"===r,v="jumbo"===r,x="card"===r,h=(0,_validate.isFunction)(e.title)?e.title(t):e.title??e.name,T=(0,_validate.isFunction)(e.description)?e.description(t):e.description,j=c??(x?o.colors.cardActiveText:_?o.colors.capsuleActiveText:l??o.colors.textActive),I=s??(x?l??o.colors.cardBorder:_?o.colors.capsuleText:o.colors.text),k=e.disabled?o.colors.textDisabled:t?j:I,P=m?o.colors.textDisabled:v?t?o.colors.jumboDescriptionActive:o.colors.jumboDescription:t?o.colors.descriptionActive:o.colors.description,z=!i&&("start"!==a||x),V=x||v||_,E=V?0:o.tabList.paddingHorizontal,w=V?0:o.tabList.paddingVertical,A=[S.lblW,v&&S.lblWJ,x&&S.cardLbl,x&&{paddingHorizontal:o.card.paddingHorizontal,paddingVertical:o.card.paddingVertical},_&&{flex:1,alignSelf:"stretch",paddingHorizontal:o.capsule.paddingHorizontal,paddingVertical:o.capsule.paddingVertical},v&&{paddingHorizontal:o.jumbo.paddingHorizontal,paddingVertical:o.jumbo.paddingVertical,alignItems:"center"}].filter(Boolean),B=_?[{flex:1,alignSelf:"stretch",justifyContent:"center",alignItems:"center",borderRadius:o.capsule.radius,backgroundColor:t?l??o.colors.capsuleActiveBackground:o.colors.capsuleBackground}]:null,W=[S.title,{color:k,fontFamily:o.typography.fontFamily,fontSize:v?o.typography.jumboTitleSize:o.typography.titleSize,fontWeight:t?o.typography.titleActiveWeight:o.typography.titleWeight,lineHeight:v?o.typography.jumboLineHeight:void 0,textAlign:"center"},n&&!v?S.ellipsis:null,p],H=v?o.spacing.jumboDescriptionMarginTop:o.spacing.descriptionMarginTop,N=v?{backgroundColor:t?o.colors.jumboDescriptionActiveBackground:o.colors.jumboDescriptionBackground,paddingHorizontal:o.jumbo.descriptionPaddingHorizontal,paddingVertical:o.jumbo.descriptionPaddingVertical,borderRadius:o.jumbo.descriptionRadius}:null,D=(0,_react().useCallback)(t=>b(e.name,t),[b,e.name]);return _react().default.createElement(_reactNative().Pressable,_extends({},y.interactionProps,{onLayout:D,style:[S.tabI,z?S.flexI:null,{paddingHorizontal:E,paddingVertical:w},x?{backgroundColor:t?l??o.colors.cardActiveBackground:o.colors.cardBackground}:null,d]}),_react().default.createElement(_reactNative().View,{style:A},B?_react().default.createElement(_reactNative().View,{style:B},_react().default.createElement(_reactNative().Text,{style:W,numberOfLines:n&&!v?1:void 0},h)):_react().default.createElement(_reactNative().Text,{style:W,numberOfLines:n&&!v?1:void 0},h),(0,_validate.isRenderable)(T)&&((0,_validate.isText)(T)?_react().default.createElement(_reactNative().Text,{style:[S.descTxt,{color:P,fontFamily:o.typography.fontFamily,fontSize:o.typography.descriptionSize,marginTop:H,textAlign:"center"},N,u]},T):_react().default.createElement(_reactNative().View,{style:[{marginTop:H,alignItems:"center"},N]},T)),(0,_validate.isRenderable)(e.badge)&&_react().default.createElement(_reactNative().View,{style:{marginTop:o.spacing.badgeMarginTop}},(0,_validate.isText)(e.badge)?_react().default.createElement(_reactNative().Text,{style:{color:o.colors.badgeText,fontFamily:o.typography.fontFamily,fontSize:o.typography.badgeTextSize}},e.badge):e.badge)),x&&!f&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"right",color:l??o.colors.cardBorder,top:0,bottom:0})}))},TabBarItem=exports.TabBarItem=(0,_react().memo)(TabBarItemInner);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _react(){const e=require("react");return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.useTabsScroll=exports.useTabsAnimation=exports.requestTabsFrame=exports.cancelTabsFrame=void 0;const hasRaf="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame,requestTabsFrame=exports.requestTabsFrame=hasRaf?requestAnimationFrame:e=>setTimeout(e,16),cancelTabsFrame=e=>{null!=e&&(hasRaf?cancelAnimationFrame:clearTimeout)(e)};exports.cancelTabsFrame=cancelTabsFrame;const useTabsAnimation=({type:e,animated:t,scrollable:r,align:n,panes:a,nameIndexMap:c,resolvedLineWidth:u,resolvedDuration:s,currentName:i,layoutMap:l,navContainerWidthRef:o})=>{const f=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,m=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,d=(0,_react().useRef)(!1),v=(0,_react().useRef)(null),_=(0,_react().useCallback)((i,d)=>{if(null==i||"line"!==e)return!1;const _=!r&&"start"!==n&&o.current>0&&a.length>0,b=c.get(i)??-1,h=_?o.current/a.length:0,p=_?{x:Math.max(b,0)*h,width:h}:l.current.get(i);if(!p||b<0)return!1;v.current?.stop();const T=(e,r)=>_reactNative().Animated.timing(e,{toValue:r,duration:d||!t?0:s,useNativeDriver:!1,isInteraction:!1}),x=u??p.width,R=u?p.x+(p.width-x)/2:p.x,A=_reactNative().Animated.parallel([T(f,R),T(m,x)]);return v.current=A,A.start(({finished:e})=>{e&&(v.current=null)}),!0},[n,t,m,f,c,a.length,s,u,r,e,l,o]);return(0,_react().useEffect)(()=>{if(null==i)return;const e=d.current;_(i,!e)&&!d.current&&(d.current=!0)},[_,i]),(0,_react().useEffect)(()=>()=>{v.current?.stop(),v.current=null},[]),{indicatorX:f,indicatorWidth:m,indicatorInitializedRef:d,animateIndicator:_}};exports.useTabsAnimation=useTabsAnimation;const useTabsScroll=({scrollable:e,animated:t,currentName:r,resolvedDuration:n,layoutMap:a,navContainerWidthRef:c,navContentWidthRef:u})=>{const s=(0,_react().useRef)(null),i=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,l=(0,_react().useRef)(null),o=(0,_react().useRef)(!1),f=(0,_react().useRef)(0),m=(0,_react().useRef)(null),d=(0,_react().useCallback)(s=>{if(!e||null==r)return;const d=a.current.get(r),v=c.current;if(!d||!v)return;const _=u.current,b=d.x-(v-d.width)/2,h=Math.max(_-v,0),p=Math.max(0,Math.min(b,h));if(!(h<=0||Math.abs(p-f.current)<1)){if(l.current?.stop(),l.current=null,cancelTabsFrame(m.current),m.current=null,s||!t)return o.current=!0,i.setValue(p),void(m.current=requestTabsFrame(()=>{m.current=null,o.current=!1}));i.setValue(f.current),o.current=!0,l.current=_reactNative().Animated.timing(i,{toValue:p,duration:n,useNativeDriver:!1,isInteraction:!1}),l.current.start(({finished:e})=>{l.current=null,o.current=!1,e&&(f.current=p)})}},[t,r,i,n,e,a,c,u]);(0,_react().useEffect)(()=>{if(!e)return;const t=i.addListener(({value:e})=>{const t=f.current;f.current=e,Math.abs(e-t)>=.5&&s.current?.scrollTo({x:e,y:0,animated:!1})});return()=>i.removeListener(t)},[i,e]),(0,_react().useEffect)(()=>()=>{cancelTabsFrame(m.current),m.current=null},[]);const v=(0,_react().useCallback)(e=>{o.current=!1,l.current?.stop(),l.current=null,f.current=e.nativeEvent.contentOffset.x},[]),_=(0,_react().useCallback)(e=>{o.current||(f.current=e.nativeEvent.contentOffset.x)},[]);return{navScrollRef:s,scrollIntoView:d,handleNavScrollBeginDrag:v,handleNavScroll:_}};exports.useTabsScroll=useTabsScroll;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.shallowEqualObject=exports.shallowEqualArray=void 0;const shallowEqualArray=(e=[],
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.shallowEqualObject=exports.shallowEqualArray=exports.deepEqualObject=void 0;const shallowEqualArray=(e=[],t=[])=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0};exports.shallowEqualArray=shallowEqualArray;const shallowEqualObject=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const l of r)if(e[l]!==t[l])return!1;return!0};exports.shallowEqualObject=shallowEqualObject;const isPlainObject=e=>"[object Object]"===Object.prototype.toString.call(e),deepEqualObject=(e,t)=>{if(e===t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!deepEqualObject(e[r],t[r]))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(!isPlainObject(e)||!isPlainObject(t))return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const l of r)if(!deepEqualObject(e[l],t[l]))return!1;return!0};exports.deepEqualObject=deepEqualObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},_extends.apply(null,arguments)}import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Pressable,Text,View}from"react-native";import{useControllableValue}from"../../hooks";import{renderTextOrNode}from"../../utils";import{isRenderable}from"../../utils/validate";import Popup from"../popup";import{useLocale}from"../config-provider/useLocale";import{useCalendarTokens}from"./tokens";
|
|
1
|
+
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},_extends.apply(null,arguments)}import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Pressable,Text,View}from"react-native";import{useControllableValue}from"../../hooks";import{renderTextOrNode}from"../../utils";import{isRenderable}from"../../utils/validate";import Popup from"../popup";import{useLocale}from"../config-provider/useLocale";import{useCalendarTokens}from"./tokens";import{buildMonth,clampMonth,daysBetween,DEFAULT_MAX,DEFAULT_MIN,formatMonth,getCalendarDayTestId,isSameDay,isSameMonth,mapValue,normalizeValue,reorderWeekdays,startOfDay,startOfMonth,toArrayValue}from"../../hooks/calendar/utils";const CalendarImpl=e=>{const{tokensOverride:t,value:a,defaultValue:n,minDate:o=DEFAULT_MIN,maxDate:l=DEFAULT_MAX,type:r,title:s,showSubtitle:i,showHeader:u,showConfirm:c,confirmText:d,weekStartsOn:p,weekdays:m,formatMonthTitle:g,allowSameDay:f,maxRange:y,onOverRange:b,poppable:h,visible:O,defaultVisible:C,onVisibleChange:k,closeOnClickOverlay:T,closeOnConfirm:V,popupPlacement:w,popupRound:R,popupProps:v,onOpen:S,onOpened:M,onClose:x,onClosed:D,color:P,onConfirm:z,onSelect:E,style:B,...I}=e,A=useLocale(),L=A?.vanCalendar,N=useCalendarTokens(t),H=s??L?.title??N.defaults.title,_=i??N.defaults.showSubtitle,W=u??N.defaults.showHeader,F=d??L?.confirm??N.defaults.confirmText,$=p??N.defaults.weekStartsOn,U=f??N.defaults.allowSameDay,Y=h??N.defaults.poppable,j=T??N.defaults.closeOnClickOverlay,X=V??N.defaults.closeOnConfirm,G=w??N.defaults.popupPlacement,q=R??N.defaults.popupRound,J=r??N.defaults.type,K=c??N.defaults.showConfirm[J],[Q,Z]=useControllableValue(e,{defaultValue:!1,valuePropName:"visible",defaultValuePropName:"defaultVisible",trigger:"onVisibleChange"}),{onClose:ee,onClosed:te,onOpen:ae,onOpened:ne,closeOnOverlayPress:oe,overlay:le,...re}=v??{},se=useRef({onConfirm:z,onOverRange:b,popupOnOpen:ae,onOpen:S,popupOnOpened:ne,onOpened:M,popupOnClose:ee,onClose:x,popupOnClosed:te,onClosed:D});se.current.onConfirm=z,se.current.onOverRange=b,se.current.popupOnOpen=ae,se.current.onOpen=S,se.current.popupOnOpened=ne,se.current.onOpened=M,se.current.popupOnClose=ee,se.current.onClose=x,se.current.popupOnClosed=te,se.current.onClosed=D;const ie=useCallback(()=>{Y&&Z(!1)},[Y,Z]),ue=useCallback(()=>{se.current.popupOnOpen?.(),se.current.onOpen?.()},[]),ce=useCallback(()=>{se.current.popupOnOpened?.(),se.current.onOpened?.()},[]),de=useCallback(()=>{ie(),se.current.popupOnClose?.(),se.current.onClose?.()},[ie]),pe=useCallback(()=>{se.current.popupOnClosed?.(),se.current.onClosed?.()},[]),me=oe??j,ge=le??!0,[fe,ye]=useControllableValue(e,{defaultValue:null,valuePropName:"value",defaultValuePropName:"defaultValue",trigger:"onSelect"}),be=normalizeValue(toArrayValue(fe),J),[he,Oe]=useState(()=>clampMonth(be.length?be[0]:new Date,o,l)),Ce=be.length?be[0].getTime():null,ke=o.getTime(),Te=l.getTime();useEffect(()=>{if(!be.length)return;const e=clampMonth(be[0],o,l);Oe(t=>isSameMonth(e,t)?t:e)},[Ce,ke,Te]);const Ve=useMemo(()=>buildMonth(he,$),[he,$]),we=useMemo(()=>Ve.map(e=>e?{day:e,key:e.toISOString(),timeValue:startOfDay(e).getTime(),dateValue:e.getDate()}:null),[Ve]),Re=startOfDay(o).getTime(),ve=startOfDay(l).getTime(),Se=m??L?.weekdays??N.defaults.weekdays,Me=useMemo(()=>reorderWeekdays(Se,$,N.defaults.weekdays),[Se,N.defaults.weekdays,$]),xe=useMemo(()=>g?g(he):L?.monthTitle?L.monthTitle(he.getFullYear(),he.getMonth()+1):formatMonth(he),[he,g,L]),De=startOfMonth(o),Pe=startOfMonth(l),ze=he.getTime()>De.getTime(),Ee=he.getTime()<Pe.getTime(),Be=useCallback(e=>Oe(t=>clampMonth(new Date(t.getFullYear(),t.getMonth()+e,1),o,l)),[o,l]),Ie=useCallback(()=>Be(-1),[Be]),Ae=useCallback(()=>Be(1),[Be]),Le="range"===J?be.length<2:0===be.length,Ne=N.spacing.column/2,He=useCallback(e=>{K||"range"===J&&e.length<2||"multiple"===J&&0===e.length||e.length&&(se.current.onConfirm?.(mapValue(e,J)),Y&&X&&ie())},[K,J,Y,X,ie]),_e=useCallback(()=>{K&&Le||(se.current.onConfirm?.(mapValue(be,J)),Y&&X&&ie())},[K,Le,be,J,Y,X,ie]),We=useCallback(e=>{if("range"===J&&2===e.length){const[t,a]=e;if(!U&&isSameDay(t,a))return!1;if(y&&daysBetween(t,a)+1>y)return se.current.onOverRange?.(y),!1}return!("multiple"===J&&y&&e.length>y)||(se.current.onOverRange?.(y),!1)},[J,U,y]),Fe=useRef(void 0),$e=useCallback(e=>{const t=startOfDay(e).getTime();if(t<Re||t>ve)return;let a=[];const n=be;switch(J){case"single":default:a=[e];break;case"multiple":a=n.find(t=>isSameDay(t,e))?n.filter(t=>!isSameDay(t,e)):[...n,e];break;case"range":if(n.length<1||n.length>1)a=[e];else{const t=n[0];a=isSameDay(t,e)?U?[t,e]:[e]:[t,e].sort((e,t)=>e.getTime()-t.getTime())}}const o=normalizeValue(a,J);We(o)&&(ye(mapValue(o,J)),K||He(o))},[be,J,Re,ve,U,We,ye,K,He]);Fe.current=$e;const Ue=useCallback(e=>Fe.current?.(e),[]),Ye=useMemo(()=>be.map(e=>startOfDay(e).getTime()),[be]),je=useMemo(()=>new Set(Ye),[Ye]),Xe="range"===J&&2===Ye.length?[Ye[0],Ye[1]]:null,Ge=useCallback((e,t)=>{if(!e)return React.createElement(View,{key:`p-${t}`,style:[N.layout.dayPlaceholder,{paddingVertical:N.spacing.dayPaddingVertical,paddingHorizontal:Ne}]});const{day:a,key:n,timeValue:o,dateValue:l}=e,r=o<Re||o>ve,s=je.has(o),i="range"===J&&Xe&&o>Xe[0]&&o<Xe[1],u=[N.layout.dayText,{borderRadius:N.radii.day,color:N.colors.text,minWidth:N.sizing.dayMinWidth}];r?u.push({color:N.colors.disabled}):i?u.push({backgroundColor:N.colors.rangeBackground}):s&&u.push({backgroundColor:P??N.colors.selectedBackground,color:N.colors.selectedText});const c=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}${s?", selected":""}${r?", disabled":""}`;return React.createElement(Pressable,{key:n,accessibilityRole:"button",accessibilityLabel:c,accessibilityState:{selected:s,disabled:r},style:[N.layout.dayButton,{paddingVertical:N.spacing.dayPaddingVertical,paddingHorizontal:Ne}],disabled:r,onPress:()=>Ue(a),testID:getCalendarDayTestId(a)},React.createElement(Text,{style:u},l))},[je,J,Xe,Re,ve,N,P,Ue,Ne]),qe=React.createElement(View,_extends({style:[{backgroundColor:N.colors.background,padding:N.spacing.containerPadding,borderRadius:N.radii.container},B]},I),W?React.createElement(View,{style:[N.layout.header,{marginBottom:N.spacing.headerMarginBottom}]},React.createElement(Pressable,{testID:"calendar-nav-prev",accessibilityRole:"button",accessibilityLabel:"previous month",onPress:Ie,disabled:!ze},React.createElement(Text,{style:[N.layout.navText,{fontSize:N.sizing.navButtonSize,paddingHorizontal:N.spacing.navPaddingHorizontal},!ze&&{opacity:.3}]},"<")),React.createElement(View,{style:N.layout.headerCenter},isRenderable(H)?renderTextOrNode(H,[N.layout.headerTitle,{color:N.colors.text,fontSize:N.typography.headerTitleSize,fontWeight:N.typography.headerTitleWeight}]):null,_?renderTextOrNode(xe,[N.layout.headerSubtitle,{color:N.colors.headerSubtitle,fontSize:N.typography.headerSubtitleSize}]):null),React.createElement(Pressable,{testID:"calendar-nav-next",accessibilityRole:"button",accessibilityLabel:"next month",onPress:Ae,disabled:!Ee},React.createElement(Text,{style:[N.layout.navText,{fontSize:N.sizing.navButtonSize,paddingHorizontal:N.spacing.navPaddingHorizontal},!Ee&&{opacity:.3}]},">"))):null,React.createElement(View,{style:[N.layout.weekRow,{marginBottom:N.spacing.weekRowMarginBottom}]},Me.map((e,t)=>React.createElement(View,{key:`w-${t}`,style:[N.layout.weekLabelItem,{paddingHorizontal:Ne}]},renderTextOrNode(e,[N.layout.weekLabel,{color:N.colors.text}])))),React.createElement(View,{style:[N.layout.days,{rowGap:N.spacing.row}]},we.map((e,t)=>Ge(e,t))),K?React.createElement(Pressable,{style:[N.layout.confirmButton,{backgroundColor:P??N.colors.selectedBackground,opacity:Le?.5:1,marginTop:N.spacing.confirmMarginTop,paddingVertical:N.spacing.confirmPaddingVertical,borderRadius:N.radii.confirmButton}],onPress:_e,disabled:Le},renderTextOrNode(F,[N.layout.confirmText,{color:N.colors.confirmText,fontWeight:N.typography.confirmTextWeight}])):null);return Y?React.createElement(Popup,_extends({visible:Q,placement:G,round:q,closeOnOverlayPress:me,overlay:ge,safeAreaInsetTop:null!=re?.safeAreaInsetTop?re.safeAreaInsetTop:W,safeAreaInsetBottom:null!=re?.safeAreaInsetBottom?re.safeAreaInsetBottom:"bottom"===G,onOpen:ue,onOpened:ce,onClose:de,onClosed:pe},re),qe):qe},Calendar=React.memo(CalendarImpl);Calendar.displayName="Calendar";export default Calendar;
|