react-native-system-ui 1.0.7 → 1.0.9
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/action-sheet/ActionSheet.js +1 -1
- 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/cell/Cell.js +1 -1
- package/dist/cjs/components/collapse/Collapse.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/empty/Empty.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/nav-bar/NavBar.js +1 -1
- package/dist/cjs/components/notice-bar/NoticeBar.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/search/Search.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/components/tag/Tag.js +1 -1
- package/dist/cjs/components/toast/Toast.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/action-sheet/ActionSheet.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/cell/Cell.js +1 -1
- package/dist/es/components/collapse/Collapse.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/empty/Empty.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/nav-bar/NavBar.js +1 -1
- package/dist/es/components/notice-bar/NoticeBar.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/search/Search.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/components/tag/Tag.js +1 -1
- package/dist/es/components/toast/Toast.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 +125 -126
|
@@ -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;
|
|
@@ -1 +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
|
|
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 _Close(){const e=_interopRequireDefault(require("react-native-system-icon/Close"));return _Close=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.Tag=void 0;var _utils=require("../../utils"),_validate=require("../../utils/validate"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens");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 i in r)({}).hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},_extends.apply(null,arguments)}const TagImpl=e=>{const{tokensOverride:t,children:r,type:i,size:a,plain:o,round:n,mark:l,color:s,textColor:u,show:d,closeable:c,closeIcon:f,onClose:p,onPress:g,textStyle:_,style:b,...m}=e,y=(0,_tokens.useTagTokens)(t),R=(0,_useDirection.useDirection)(),v=i??y.defaults.type,h=a??y.defaults.size,k=o??y.defaults.plain,T=n??y.defaults.round,z=l??y.defaults.mark;if(!(d??y.defaults.show))return null;const x=y.colors.toneMap[v]??y.colors.toneMap.default,q=y.sizing.sizes[h],L=k?y.colors.plainBackground:s??x.background,N=u??(k?s??x.background:x.text),P=k?s??x.background:"transparent",C=T?y.radii.round:q.borderRadius,D=z?"rtl"===R?{borderTopRightRadius:y.radii.markLeading,borderBottomRightRadius:y.radii.markLeading,borderTopLeftRadius:y.radii.round,borderBottomLeftRadius:y.radii.round}:{borderTopLeftRadius:y.radii.markLeading,borderBottomLeftRadius:y.radii.markLeading,borderTopRightRadius:y.radii.round,borderBottomRightRadius:y.radii.round}:null,O=z?y.radii.round:C,S=[y.layout.container,{backgroundColor:L,paddingHorizontal:q.paddingHorizontal,paddingVertical:q.paddingVertical,borderRadius:C},D,b],w=(0,_validate.isRenderable)(r)?(0,_utils.renderTextOrNode)(r,[{color:N,fontSize:q.fontSize,lineHeight:q.lineHeight,fontFamily:y.typography.fontFamily,fontWeight:y.typography.fontWeight},_].filter(Boolean)):null,B=c&&_react().default.createElement(_reactNative().Pressable,{accessibilityRole:"button",hitSlop:y.spacing.closeHitSlop,style:[y.layout.close,{marginLeft:y.spacing.closeGap}],onPress:e=>{e.stopPropagation?.(),p?.()}},(0,_utils.isFunction)(f)?f(N,y.sizing.closeIconSize):f??_react().default.createElement(_Close().default,{color:N,size:y.sizing.closeIconSize})),E=k?_react().default.createElement(_reactNative().View,{style:(0,_utils.createHairlineView)({position:"all",color:P,borderRadius:O})}):null,H=_react().default.createElement(_react().default.Fragment,null,w,B,E);return g?_react().default.createElement(_reactNative().Pressable,_extends({accessibilityRole:"button",onPress:g,style:({pressed:e})=>[S,e&&{opacity:y.defaults.pressedOpacity}]},m),H):_react().default.createElement(_reactNative().View,_extends({style:S},m),H)},Tag=exports.Tag=_react().default.memo(TagImpl);Tag.displayName="Tag";
|
|
@@ -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.ToastContent=exports.Toast=void 0;var _Portal=_interopRequireDefault(require("../portal/Portal")),_safeAreaView=require("../safe-area-view"),_hooks=require("../../hooks"),_loading=_interopRequireDefault(require("../loading"));function
|
|
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.ToastContent=exports.Toast=void 0;var _Portal=_interopRequireDefault(require("../portal/Portal")),_safeAreaView=require("../safe-area-view"),_hooks=require("../../hooks"),_loading=_interopRequireDefault(require("../loading"));function _Checked(){const e=_interopRequireDefault(require("react-native-system-icon/Checked"));return _Checked=function(){return e},e}function _Close(){const e=_interopRequireDefault(require("react-native-system-icon/Close"));return _Close=function(){return e},e}var _validate=require("../../utils/validate"),_utils=require("../../utils"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_useLocale=require("../config-provider/useLocale"),_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,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 RT=()=>!0,ToastContentImpl=e=>{const{visible:t,message:r,icon:a,type:n="info",iconSize:i,duration:o=2e3,position:s="middle",forbidClick:c=!1,overlay:u=!1,overlayStyle:l,closeOnClickOverlay:d=!1,closeOnClick:f=!1,loadingIndicator:_,safeAreaInsetTop:p,safeAreaInsetBottom:m,tokensOverride:v,style:g,textStyle:y,onClose:x,onOpen:b,onOpened:h,onClosed:T}=e,R=(0,_useLocale.useLocale)(),E=(0,_tokens.useToastTokens)(v),C=(0,_animation.useReducedMotion)(),{colors:k}=E,{height:N}=(0,_reactNative().useWindowDimensions)(),w=(0,_validate.isFiniteNumber)(o)?Math.max(0,o):0,[O,q]=(0,_react().useState)(t),M=(0,_react().useRef)(new(_reactNative().Animated.Value)(t?1:0)).current,P=(0,_react().useRef)(null),I=(0,_react().useRef)(0),z=(0,_react().useRef)(x);z.current=x;const A=(0,_react().useRef)(b);A.current=b;const D=(0,_react().useRef)(h);D.current=h;const W=(0,_react().useRef)(T);W.current=T;const{zIndex:V}=(0,_hooks.useOverlayStack)({visible:O,type:"toast"}),H=(0,_react().useRef)(t),j=(0,_react().useRef)(!1),F=N>0?Math.round(N*E.positionOffsetRatio):E.positionOffsetMin,L=void 0!==p?p:"top"===s,B=void 0!==m?m:"bottom"===s,G=(0,_react().useMemo)(()=>"top"===s?{justifyContent:"flex-start",paddingTop:F}:"bottom"===s?{justifyContent:"flex-end",paddingBottom:F}:{justifyContent:"center"},[s,F]);(0,_react().useEffect)(()=>{I.current+=1;const e=I.current;P.current?.stop();const r=C?0:E.animationDuration;t?(q(!0),P.current=_reactNative().Animated.timing(M,{toValue:1,duration:r,easing:_reactNative().Easing.out(_reactNative().Easing.cubic),useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1}),P.current.start()):(P.current=_reactNative().Animated.timing(M,{toValue:0,duration:r,easing:_reactNative().Easing.out(_reactNative().Easing.cubic),useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1}),P.current.start(({finished:t})=>{t&&e===I.current&&q(!1)}))},[M,C,E.animationDuration,t]),(0,_react().useEffect)(()=>()=>{P.current?.stop()},[]),(0,_react().useEffect)(()=>{if(!t||w<=0)return;const e=setTimeout(()=>{z.current?.()},w);return()=>clearTimeout(e)},[w,t]),(0,_react().useEffect)(()=>{if(!t||!(0,_validate.isText)(r))return;const e=String(r);e&&_reactNative().AccessibilityInfo.announceForAccessibility?.(e)},[r,t]);const J=C?0:E.animationDuration;(0,_react().useEffect)(()=>{let e=null;return t?(j.current=!1,!H.current&&(A.current?.(),D.current&&(e=setTimeout(D.current,J)))):H.current&&(j.current=!0),H.current=t,()=>{e&&clearTimeout(e)}},[J,t]),(0,_react().useEffect)(()=>{!O&&j.current&&(j.current=!1,W.current?.())},[O]);const K=(0,_react().useRef)(()=>z.current?.()).current,Q=(0,_hooks.useAriaPress)({disabled:!f,onPress:K,extraProps:{accessibilityRole:f?"button":"alert",accessibilityHint:f?R?.vanToast?.closeHint??"Double-tap to dismiss":void 0,accessibilityLiveRegion:"assertive"}}),U=(0,_react().useMemo)(()=>{if(a)return a;const e=i??E.iconSize;switch(n){case"success":return _react().default.createElement(_Checked().default,{size:e,fill:k.text,color:k.text});case"fail":return _react().default.createElement(_Close().default,{size:e,fill:k.text,color:k.text});case"loading":return _??_react().default.createElement(_loading.default,{color:k.text,size:e});default:return null}},[k.text,a,i,_,E.iconSize,n]),X=(0,_react().useMemo)(()=>({marginBottom:E.gap}),[E.gap]),Y=(0,_react().useMemo)(()=>({color:k.text,fontSize:E.fontSize,lineHeight:E.lineHeight,fontFamily:E.fontFamily}),[k.text,E.fontSize,E.fontFamily,E.lineHeight]),Z="info"===n&&!U,$=(0,_react().useMemo)(()=>Z?{minWidth:E.textMinWidth,minHeight:0,paddingVertical:E.textPaddingVertical,paddingHorizontal:E.textPaddingHorizontal}:{minWidth:E.defaultWidth,minHeight:E.defaultMinHeight,padding:E.defaultPadding},[Z,E.defaultMinHeight,E.defaultPadding,E.defaultWidth,E.textMinWidth,E.textPaddingHorizontal,E.textPaddingVertical]),ee=(0,_react().useMemo)(()=>({borderRadius:E.radius,opacity:f&&Q.states.pressed?E.pressedOpacity:M,backgroundColor:E.colors.variants[n],maxWidth:E.maxWidth,...$}),[M,$,f,Q.states.pressed,E.colors.variants,E.maxWidth,E.pressedOpacity,E.radius,n]);if(!O)return null;const te=(0,_validate.isRenderable)(r)&&("string"!=typeof r||""!==r);return _react().default.createElement(_reactNative().View,{style:[S.b,{backgroundColor:E.colors.transparent},G,V?{zIndex:V}:void 0],pointerEvents:c||u||f?"auto":"none"},(u||c)&&_react().default.createElement(_reactNative().Pressable,{testID:"rv-toast-overlay",style:[S.o,{backgroundColor:E.colors.transparent},u&&{backgroundColor:k.backdrop},l],pointerEvents:"auto",onPress:u&&d?K:void 0,onStartShouldSetResponder:RT,onMoveShouldSetResponder:RT}),L&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"top",pointerEvents:"none"}),_react().default.createElement(_reactNative().Pressable,_extends({disabled:!f},Q.interactionProps,{style:S.pw}),_react().default.createElement(_reactNative().Animated.View,{renderToHardwareTextureAndroid:!0,shouldRasterizeIOS:!0,style:[S.t,ee,g]},U&&_react().default.createElement(_reactNative().View,{style:X},(0,_validate.isText)(U)?(0,_utils.renderTextOrNode)(U,[{color:k.text,fontSize:E.iconSize}]):U),te&&((0,_validate.isText)(r)?(0,_utils.renderTextOrNode)(r,[S.m,Y,y]):_react().default.createElement(_reactNative().View,{style:S.mw},r)))),B&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}))},ToastContent=exports.ToastContent=_react().default.memo(ToastContentImpl),ToastImpl=e=>_react().default.createElement(_Portal.default,null,_react().default.createElement(ToastContent,e)),Toast=exports.Toast=_react().default.memo(ToastImpl),S=_reactNative().StyleSheet.create({b:{flex:1,alignItems:"center"},o:{..._reactNative().StyleSheet.absoluteFillObject},pw:{alignItems:"center"},t:{alignItems:"center",justifyContent:"center"},m:{textAlign:"center"},mw:{alignItems:"center"}});var _default=exports.default=Toast;
|
|
@@ -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 _Clear(){const e=_interopRequireDefault(require("react-native-system-icon/Clear"));return _Clear=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(_Clear().default,{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:f,onPressIn:y,rows:g,placeholderTextColor:x,keyboardType:_,onContentSizeChange:v,describedBy:b,secureTextEntry:h,editable:m,restInputProps:C})=>{const T=[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:T,value:u,onChangeText:d,onFocus:p,onBlur:f,onPressIn:y,editable:m,secureTextEntry:h,multiline:r,numberOfLines:r?g:void 0,keyboardType:_,placeholderTextColor:x,onContentSizeChange:r?v:void 0},b?{accessibilityDescribedBy:b}:null,{clearButtonMode:"never"},C))};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 o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},_extends.apply(null,arguments)}import React,{useCallback,useMemo,useRef}from"react";import{Platform,Pressable,View}from"react-native";import
|
|
1
|
+
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)}import React,{useCallback,useMemo,useRef}from"react";import{Platform,Pressable,View}from"react-native";import Close from"react-native-system-icon/Close";import{useAriaPress}from"../../hooks";import{createHairlineView,isRenderable,isText,renderTextOrNode}from"../../utils";import Loading from"../loading";import Popup from"../popup";import{useActionSheetTokens}from"./tokens";const defaultCloseIcon=React.createElement(Close,{size:18}),ActionSheetHeader=React.memo(({title:e,closeable:t,closeIcon:o,tokens:r,onClose:a})=>{const n=useAriaPress({onPress:a}),{colors:l,typography:c}=r;return React.createElement(View,{style:r.layout.header},React.createElement(View,{style:r.layout.titleContainer},isText(e)?renderTextOrNode(e,[r.layout.title,{color:l.title,fontSize:c.title}]):React.createElement(View,{style:r.layout.titleNode},e)),t&&React.createElement(Pressable,_extends({style:r.layout.closeButton,accessibilityRole:"button",hitSlop:8},n.interactionProps),React.isValidElement(o)?React.cloneElement(o,{fill:l.description,color:l.description}):renderTextOrNode(o,[{color:l.description}])))}),ActionSheetItem=React.memo(({action:e,index:t,tokens:o,onActionPress:r})=>{const{disabled:a,loading:n,name:l,subname:c,icon:s}=e,{colors:i,spacing:u,typography:d}=o,m=useAriaPress({disabled:!!a||!!n,onPress:useCallback(()=>r(e,t),[e,t,r]),extraProps:{accessibilityRole:"web"===Platform.OS?"menuitem":"button",accessibilityLabel:isText(l)?String(l):void 0,accessibilityState:{disabled:!!a,busy:!!n},testID:`rv-action-sheet-item-${t}`}});return React.createElement(Pressable,_extends({style:({pressed:t})=>[o.layout.item,!!s&&o.layout.itemWithIcon,{paddingVertical:u.vertical,paddingHorizontal:u.horizontal,backgroundColor:!t||e.disabled||e.loading?i.itemBackground:i.itemPressedBackground},e.style]},m.interactionProps),!!s&&React.createElement(View,{style:o.layout.icon},isText(s)?renderTextOrNode(s,[{color:i.item}]):s),n?React.createElement(Loading,{size:20}):isRenderable(l)?React.createElement(View,{style:o.layout.itemTextWrapper},renderTextOrNode(l,[o.layout.itemText,{color:e.disabled?i.disabled:e.color??i.item,fontSize:d.item}]),isRenderable(c)&&(isText(c)?renderTextOrNode(c,[o.layout.subname,{color:i.subitem}]):React.createElement(View,{style:o.layout.subnameNode},c))):null)}),ActionSheetCancel=React.memo(({cancelText:e,tokens:t,onPress:o})=>{const{colors:r,spacing:a,typography:n}=t,l=useAriaPress({onPress:o,extraProps:{accessibilityRole:"button",testID:"rv-action-sheet-cancel"}});return React.createElement(React.Fragment,null,React.createElement(View,{style:[t.layout.cancelGap,{height:a.cancelGap,backgroundColor:r.cancelGapBackground}]}),React.createElement(Pressable,_extends({style:[t.layout.cancel,{paddingVertical:a.vertical,paddingHorizontal:a.horizontal,backgroundColor:r.cancelBackground}]},l.interactionProps),renderTextOrNode(e,[t.layout.cancelText,{color:r.cancel,fontSize:n.item}])))}),ActionSheetImpl=e=>{const{tokensOverride:t,visible:o,title:r,description:a,cancelText:n,actions:l=[],closeOnClickAction:c,closeOnSelect:s,closeable:i,closeIcon:u=defaultCloseIcon,beforeClose:d,onSelect:m,onCancel:y,onClose:p,children:b,round:f,safeAreaInsetBottom:R,overlay:k,lockScroll:h,style:g,...x}=e,C=useActionSheetTokens(t),P=i??C.defaults.closeable,S=f??C.defaults.round,A=R??C.defaults.safeAreaInsetBottom,E=k??C.defaults.overlay,T=h??C.defaults.lockScroll,w=c??s??C.defaults.closeOnClickAction,V=isRenderable(r),v=isRenderable(a),I=isRenderable(n),O=useRef("close"),N=useRef(!1),z=useRef(d);z.current=d;const B=useRef(p);B.current=p;const _=useRef(y);_.current=y;const H=useRef(m);H.current=m;const G=useCallback(async e=>{if(!z.current)return!0;try{return!1!==await z.current(e)}catch{return!0}},[]),L=useCallback(e=>{if(B.current)return"cancel"===e&&_.current?.(),void B.current();_.current?.()},[]),j=useCallback(async e=>{if(!N.current){N.current=!0;try{if(!await G(e))return;L(e)}finally{N.current=!1}}},[L,G]),D=useCallback(e=>(O.current=e,G(e)),[G]),M=useCallback(()=>{L(O.current)},[L]),W=useCallback((e,t)=>{e.disabled||e.loading||(e.onPress?.(e),e.callback?.(e),H.current?.(e,t),w&&j("action"))},[j,w]),F=useMemo(()=>[C.layout.popup,g],[C.layout.popup,g]);return React.createElement(Popup,_extends({visible:o,placement:"bottom",round:S,safeAreaInsetTop:V&&P,safeAreaInsetBottom:A,overlay:E,lockScroll:T,beforeClose:D,onClose:M,style:F},x),React.createElement(View,{accessibilityRole:"menu",style:[C.layout.panel,{backgroundColor:C.colors.background}]},V&&React.createElement(ActionSheetHeader,{title:r,closeable:P,closeIcon:u,tokens:C,onClose:()=>{j("close-icon")}}),v&&React.createElement(View,{style:C.layout.descriptionContainer},isText(a)?renderTextOrNode(a,[C.layout.description,{color:C.colors.description,fontSize:C.typography.description}]):React.createElement(View,{style:C.layout.descriptionNode},a),React.createElement(View,{style:createHairlineView({position:"bottom",color:C.colors.border,left:0,right:0})})),React.createElement(View,{style:C.layout.actions},l.map((e,t)=>React.createElement(ActionSheetItem,{key:e.key??t,action:e,index:t,tokens:C,onActionPress:W}))),b,I&&React.createElement(ActionSheetCancel,{cancelText:n,tokens:C,onPress:()=>{j("cancel")}})))},ActionSheet=React.memo(ActionSheetImpl);ActionSheet.displayName="ActionSheet";export default ActionSheet;
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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 a in o)({}).hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},_extends.apply(null,arguments)}import React,{useCallback,useEffect,useRef,useState}from"react";import{FlatList,Pressable,Text,View,useWindowDimensions}from"react-native";import
|
|
1
|
+
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 a in o)({}).hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},_extends.apply(null,arguments)}import React,{useCallback,useEffect,useRef,useState}from"react";import{FlatList,Pressable,Text,View,useWindowDimensions}from"react-native";import Checked from"react-native-system-icon/Checked";import Cross from"react-native-system-icon/Cross";import{useControllableValue}from"../../hooks";import{shallowEqualArray,renderTextOrNode}from"../../utils";import{isFunction,isNumber,isText}from"../../utils/validate";import Popup from"../popup";import Tabs from"../tabs";import{useLocale}from"../config-provider/useLocale";import{useCascaderTokens}from"./tokens";import{useCascaderExtend}from"./useCascaderExtend";import{getFieldKeys,resolveRows}from"../../hooks/cascader/utils";const CascaderImpl=e=>{const{tokensOverride:t,options:o=[],title:a,placeholder:n,activeColor:l,fieldNames:i,optionRender:r,showHeader:s,closeable:c,closeIcon:d,onChange:u,onClose:p,onFinish:g,onClickTab:y,onTabChange:m,swipeable:h,style:b,testID:f,children:C,poppable:v,visible:R,defaultVisible:x,onVisibleChange:k,closeOnClickOverlay:T,closeOnFinish:E,popupPlacement:S,popupRound:w,popupProps:P,loadingText:z,...I}=e,O=useLocale(),V=useCascaderTokens(t),L=a??O?.vanCascader?.placeholder??V.defaults.title,N=n??O?.vanCascader?.placeholder??V.defaults.placeholder,H=l??V.colors.tabActive,A=s??V.defaults.showHeader,K=h??V.defaults.swipeable,F=v??V.defaults.poppable,W=T??V.defaults.closeOnClickOverlay,B=E??V.defaults.closeOnFinish,D=S??V.defaults.popupPlacement,M=w??V.defaults.popupRound,_=z??V.defaults.loadingText,[j,q]=useControllableValue(e,{defaultValue:[],trigger:"onChange"}),$=getFieldKeys(i),G=Array.isArray(j)?j:[],[J,Q]=useState(G),U=c??V.defaults.closeable,[X,Y]=useControllableValue(e,{defaultValue:!1,valuePropName:"visible",defaultValuePropName:"defaultVisible",trigger:"onVisibleChange"}),Z=F?J:G,{tabs:ee,items:te,depth:oe}=useCascaderExtend(o,$,Z),{width:ae}=useWindowDimensions(),[ne,le]=useState(0),ie=useCallback(e=>{const t=e.nativeEvent.layout.width;t&&le(e=>e===t?e:t)},[]),re=resolveRows(o,$,G),[se,ce]=useState(0);useEffect(()=>{const e=ee.length;let t=Math.max(e-1,0);t>=oe&&(t=Math.max(oe-1,0)),ce(e=>e===t?e:t)},[ee.length,oe]),useEffect(()=>{F&&X||Q(e=>shallowEqualArray(e,G)?e:G)},[G,F,X]);const de=useCallback(()=>{F&&!X&&(Q(e=>shallowEqualArray(e,G)?e:G),Y(!0))},[G,F,X,Y]),ue=useRef(p),pe=useRef(u),ge=useRef(g),ye=useRef(y),me=useRef(m);ue.current=p,pe.current=u,ge.current=g,ye.current=y,me.current=m;const he=useCallback(e=>{F&&X&&(Y(!1),e&&ue.current?.())},[F,X,Y]),be=useCallback(()=>{F&&(X?he(!0):de())},[he,de,F,X]),fe=isFunction(C),Ce=fe?C:null,ve=useCallback(e=>{const t=isNumber(e.index)?e.index:Number(e.name);if(Number.isNaN(t))return;const o=te[t]?.[$.textKey];ye.current?.(t,isText(o)?String(o):N)},[te,$.textKey,N]),Re=useCallback((e,t)=>{const o=isNumber(t)?t:Number(e);Number.isNaN(o)||(ce(o),me.current?.(o))},[]),xe=useCallback((e,t)=>{if(e.disabled)return;const a=e[$.valueKey];if(null==a)return;const n=[...(F?J:G).slice(0,t),a],l=resolveRows(o,$,n),i=e[$.childrenKey]??[],r=Object.prototype.hasOwnProperty.call(e,$.childrenKey)&&!i.length,s=n.length>=oe,c=!i.length&&!r;F?(Q(n),pe.current?.(n,l)):q(n,l),(c||s)&&(F&&(q(n,l),B&&he(!0)),ge.current?.(n,l))},[G,B,he,oe,$,o,J,F,q]),ke=useCallback(e=>{if(e<=0)return N;const t=te[e-1];if(!t)return N;if(!Object.prototype.hasOwnProperty.call(t,$.childrenKey))return N;return 0===(t[$.childrenKey]??[]).length&&Z.length===e?_:N},[Z.length,te,$.childrenKey,_,N]),Te=F||fe?null:C,Ee=React.createElement(View,_extends({testID:f,style:[V.layout.container,{backgroundColor:V.colors.background},b]},I),A?React.createElement(View,{style:[V.layout.header,{height:V.sizing.headerHeight,paddingHorizontal:V.spacing.headerPaddingHorizontal}]},renderTextOrNode(L,[V.layout.title,{color:V.colors.headerText,fontSize:V.typography.titleSize,fontWeight:V.typography.titleWeight}]),U?React.createElement(Pressable,{hitSlop:8,onPress:()=>{F?he(!0):ue.current?.()},style:[V.layout.closeButton,{marginLeft:V.spacing.closeButtonMarginLeft}],accessibilityRole:"button",accessibilityLabel:O?.vanCascader?.close??"Close"},d??(e=>React.createElement(Cross,{size:V.sizing.closeIconSize,fill:e.pressed?V.colors.closeIconActive:V.colors.closeIcon,color:e.pressed?V.colors.closeIconActive:V.colors.closeIcon}))):null):null,(()=>{if(!ee.length)return React.createElement(CascaderOptionList,{optionList:[],tabIndex:0,selectedValue:Z[0],activeColor:H,keys:$,optionRender:r,onSelect:xe,tokens:V,emptyText:ke(0)});const e=!!K,t=ne||ae||void 0,o={height:V.sizing.headerHeight,paddingHorizontal:V.spacing.tabNavPaddingHorizontal,paddingVertical:V.spacing.tabNavPaddingVertical,backgroundColor:V.colors.background};return React.createElement(View,{style:V.layout.tabsWrapper,onLayout:ie},React.createElement(Tabs,{style:t?{width:t}:void 0,active:se,onChange:Re,onClickTab:ve,align:"center",swipeable:e,swipeThreshold:0,scrollable:!0,animated:!0,duration:300,color:H,lineHeight:V.sizing.indicatorHeight,titleActiveColor:V.colors.tabText,titleInactiveColor:V.colors.tabInactive,tabBarStyle:o,tabStyle:[V.layout.tabsItem,{paddingHorizontal:V.spacing.tabPaddingHorizontal}],titleStyle:[V.layout.tabsTitle,{fontSize:V.typography.tabsTitleSize}],contentStyle:e?void 0:V.layout.tabsContentStatic},ee.map((e,t)=>{const o=te[t],a=isText(o?.[$.textKey])?String(o?.[$.textKey]):"",n=!a;return React.createElement(Tabs.TabPane,{key:t,name:t,title:e=>React.createElement(Text,{style:[V.layout.tabTitleNode,{color:n?V.colors.tabInactive:V.colors.tabText,fontWeight:n?V.typography.tabTitlePlaceholderWeight:V.typography.tabTitleWeight}]},n?N:a)},React.createElement(CascaderOptionList,{optionList:e,tabIndex:t,selectedValue:Z[t],activeColor:H,keys:$,optionRender:r,onSelect:xe,tokens:V,emptyText:ke(t)}))})))})(),Te?React.createElement(View,{style:[V.layout.inlineChildren,{paddingVertical:V.spacing.inlineChildrenPaddingVertical,paddingHorizontal:V.spacing.headerPaddingHorizontal}]},Te):null);if(!F)return Ee;const{closeOnOverlayPress:Se,overlay:we,onOpen:Pe,onOpened:ze,onClose:Ie,onClosed:Oe,...Ve}=P??{},Le=useRef(Ie);Le.current=Ie;const Ne=useCallback(()=>{Le.current?.(),he(!0)},[he]),He={open:de,close:()=>he(!0),toggle:be},Ae=useCallback(e=>{if(!React.isValidElement(e))return e;const t=e.props,o=()=>{t.onPress?.(),t.onClick?.(),de()};return React.cloneElement(e,{onPress:o,onClick:o})},[de])(Ce?Ce(G,re,He):fe?null:C||null);return React.createElement(React.Fragment,null,Ae,React.createElement(Popup,_extends({visible:X,placement:D,round:M,closeOnOverlayPress:Se??W,overlay:we??!0,safeAreaInsetTop:null!=Ve?.safeAreaInsetTop?Ve.safeAreaInsetTop:A&&U,safeAreaInsetBottom:null!=Ve?.safeAreaInsetBottom?Ve.safeAreaInsetBottom:"bottom"===D,onOpen:Pe,onOpened:ze,onClose:Ne,onClosed:Oe},Ve,{style:{paddingLeft:0,paddingRight:0}}),Ee))},CascaderOptionItem=React.memo(({option:e,tabIndex:t,selected:o,activeColor:a,keys:n,optionRender:l,onSelect:i,tokens:r})=>{const s=e[n.valueKey],c=e[n.textKey],d=!!e.disabled,u=e.color??r.colors.optionText,p=d?r.colors.optionDisabled:o?e.color??a:u,g=[r.layout.optionText,{color:p,fontSize:r.typography.optionTextSize},o?{fontWeight:r.typography.optionTextActiveWeight}:null],y=l?l({option:e,selected:o}):renderTextOrNode(c,g),m=isText(y)?renderTextOrNode(y,g):y;return React.createElement(Pressable,{testID:`cascader-option-${t}-${String(s)}`,style:({pressed:e})=>[r.layout.option,{minHeight:r.sizing.optionMinHeight,paddingVertical:r.spacing.optionPaddingVertical,paddingHorizontal:r.spacing.optionPaddingHorizontal},e&&!d&&{backgroundColor:r.colors.optionActiveBackground}],onPress:()=>i(e,t),disabled:d},React.createElement(View,{style:r.layout.optionContent},React.createElement(View,{style:[r.layout.optionLabel,{marginRight:r.spacing.optionLabelMarginRight}]},m),o?React.createElement(Checked,{size:r.sizing.selectedIconSize,fill:a,color:a}):null))}),CascaderOptionList=React.memo(({optionList:e,tabIndex:t,selectedValue:o,activeColor:a,keys:n,optionRender:l,onSelect:i,tokens:r,emptyText:s})=>{const c=useCallback(({item:e})=>React.createElement(CascaderOptionItem,{option:e,tabIndex:t,selected:o===e[n.valueKey],activeColor:a,keys:n,optionRender:l,onSelect:i,tokens:r}),[a,n,i,l,o,t,r]),d=useCallback(e=>String(e[n.valueKey]),[n.valueKey]);return e.length?React.createElement(FlatList,{data:e,style:[r.layout.optionList,{height:r.sizing.optionListHeight}],contentContainerStyle:{paddingTop:r.spacing.optionListPaddingTop,paddingBottom:r.spacing.optionListPaddingBottom},showsVerticalScrollIndicator:!1,renderItem:c,keyExtractor:d,removeClippedSubviews:!0,initialNumToRender:20,windowSize:5}):React.createElement(View,{style:[r.layout.optionList,{height:r.sizing.optionListHeight}]},React.createElement(Text,{style:[r.layout.empty,{color:r.colors.placeholder,paddingVertical:r.spacing.emptyPaddingVertical,fontSize:r.typography.emptyTextSize}]},s))}),Cascader=React.memo(CascaderImpl);export default Cascader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const getDepth=(e,t)=>{let n=1;const r=(e,
|
|
1
|
+
const getDepth=(e,t)=>{let n=1;const r=(e,l)=>{e?.length&&(l>n&&(n=l),e.forEach(e=>{Object.prototype.hasOwnProperty.call(e,t)&&l+1>n&&(n=l+1);const c=e[t];c?.length&&r(c,l+1)}))};return r(e,1),n};export const useCascaderExtend=(e=[],t,n)=>{const r=getDepth(e,t.childrenKey),l=[e],c=[];if(n?.length){let r=e;for(let e=0;e<n.length;e+=1){const o=n[e];if(null==o||!r?.length)break;const h=r.find(e=>e[t.valueKey]===o);if(!h)break;c.push(h);if(!Object.prototype.hasOwnProperty.call(h,t.childrenKey))break;const s=h[t.childrenKey]??[];l.push(s),r=s}}return{tabs:l,items:c,depth:r}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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)}import React,{useContext,useMemo}from"react";import{Pressable,Text,View}from"react-native";import
|
|
1
|
+
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)}import React,{useContext,useMemo}from"react";import{Pressable,Text,View}from"react-native";import Arrow from"react-native-system-icon/Arrow";import{useAriaPress,useHairline}from"../../hooks";import{isRenderable,isText,renderTextOrNode}from"../../utils";import{useDirection}from"../config-provider/useDirection";import{CellGroupContext}from"./CellContext";import{useCellTokens}from"./tokens";const CellImpl=(e,t)=>{const{title:r,value:o,label:l,extra:a,icon:i,rightIcon:n,border:s,clickable:c,isLink:u,required:p,center:y,size:d,arrowDirection:g,tokensOverride:m,children:f,style:b,titleStyle:h,valueStyle:R,labelStyle:w,contentStyle:z,onPress:v,disabled:x,android_ripple:C,...S}=e,O=useCellTokens(m),T=useDirection(),V=useContext(CellGroupContext),E=s??O.defaults.border,P=d??O.defaults.size,L=g??O.defaults.arrowDirection,H="rtl"===T?"left"===L?"right":"right"===L?"left":L:L,k=O.typography.lineHeight,G=isRenderable(r),N=isRenderable(o),_=isRenderable(l),A=isRenderable(a),D=isRenderable(f),I=isRenderable(i),W=isRenderable(n),M=!G&&!D,j=E&&V.border&&!V.isLast,F=!!u||!!c,q=!x&&(c||!!v||!!S.onLongPress||!!S.onPressIn||!!S.onPressOut),B="large"===P,J=useMemo(()=>[B?O.layout.containerLarge:O.layout.container,y&&O.layout.center,b],[P,y,O.layout,b]),K=useHairline({show:j,containerStyle:J,color:O.colors.border,width:O.borders.width,defaultPaddingHorizontal:O.sizing.paddingHorizontal}),Q=useMemo(()=>[O.layout.customContent,{justifyContent:y?"center":"flex-start"},z],[y,O.layout.customContent,z]),{interactionProps:U,states:X}=useAriaPress({disabled:!q,onPress:v??void 0}),Y=q?Pressable:View,Z=q?{android_ripple:C??{color:O.colors.ripple},accessibilityRole:"button",...U}:{};return React.createElement(Y,_extends({ref:t,style:[J,q&&X.pressed&&{opacity:O.defaults.activeOpacity}]},Z,S),I&&React.createElement(View,{style:[O.layout.iconWrapper,{marginRight:O.spacing.iconGap,minHeight:O.sizing.iconSize,minWidth:O.sizing.iconSize}]},i),React.createElement(View,{style:O.layout.body},(G||p)&&React.createElement(View,{style:[O.layout.titleRow,{minHeight:k}]},p&&React.createElement(Text,{style:{color:O.colors.required,marginRight:O.spacing.iconGap/2}},"*"),G&&React.createElement(View,{style:h},renderTextOrNode(r,[{color:O.colors.title,fontSize:B?O.typography.largeTitleSize:O.typography.titleSize,fontWeight:O.typography.titleWeight},h],{numberOfLines:1}))),_&&React.createElement(View,{style:[{marginTop:O.spacing.labelMarginTop},w]},renderTextOrNode(l,[{color:O.colors.label,fontSize:B?O.typography.largeLabelSize:O.typography.labelSize},w],{numberOfLines:2}))),React.createElement(View,{style:[O.layout.valueContainer,{minHeight:k,marginLeft:O.spacing.valueGap},!y&&M&&O.layout.valueOnlyContainer,y&&O.layout.valueCenter]},N?React.createElement(View,{style:Q},renderTextOrNode(o,[O.layout.value,M&&O.layout.valueOnly,{color:O.colors.value,fontSize:B?O.typography.largeValueSize:O.typography.valueSize},R],{numberOfLines:1})):D&&React.createElement(View,{style:Q},isText(f)?renderTextOrNode(f,[O.layout.value,{color:O.colors.value,fontSize:B?O.typography.largeValueSize:O.typography.valueSize},R]):f)),A&&React.createElement(View,{style:{marginLeft:O.spacing.extraGap}},renderTextOrNode(a,{marginLeft:O.spacing.extraGap,color:O.colors.value,fontSize:B?O.typography.largeValueSize:O.typography.valueSize})),W?n:F&&React.createElement(View,{style:[O.layout.rightIconWrapper,O.layout.arrowTransforms[H]]},React.createElement(Arrow,{size:O.sizing.arrowSize,fill:O.colors.arrow})),K)},CellForwardRef=React.forwardRef(CellImpl);CellForwardRef.displayName="Cell";export const Cell=React.memo(CellForwardRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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 n in o)({}).hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},_extends.apply(null,arguments)}import React,{useCallback,useContext,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Animated,Easing,View}from"react-native";import
|
|
1
|
+
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 n in o)({}).hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},_extends.apply(null,arguments)}import React,{useCallback,useContext,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Animated,Easing,View}from"react-native";import Arrow from"react-native-system-icon/Arrow";import{useReducedMotion}from"../../hooks/animation";import{Cell}from"../cell";import{createHairlineView,isFunction,isNumber,isObject,isRenderable,renderTextOrNode}from"../../utils";import{useCollapseTokens}from"./tokens";const CollapseContext=React.createContext(null),normalizeValue=e=>void 0===e?void 0:Array.isArray(e)?e.map(String):null===e?[]:[String(e)],buildOutputValue=(e,t)=>t?e[0]??"":e,CollapseImpl=e=>{const{tokensOverride:t,children:o,accordion:n,value:a,defaultValue:i,onChange:l,border:r,iconPosition:s,expandIcon:c,disabled:d,style:u,...p}=e,m=useCollapseTokens(t),b=n??m.defaults.accordion,g=r??m.defaults.border,f=s??m.defaults.iconPosition,{colors:y}=m,R=void 0!==a,C=normalizeValue(a),v=normalizeValue(i)??[],k=useRef(l);k.current=l;const[E,h]=useState(()=>b?v.slice(0,1):v),w=R?b?(C??[]).slice(0,1):C??[]:E,V=useCallback((e,t)=>{if(d)return;const o=w.includes(e),n=t??!o,a=b?n?[e]:o?[]:w:n?o?w:[...w,e]:o?w.filter(t=>t!==e):w;R||h(a),k.current?.(buildOutputValue(a,b))},[b,w,R,d]),x=useMemo(()=>({activeKeys:w,toggle:V,accordion:b,iconPosition:f,expandIcon:c,border:g,disabled:d,tokens:m}),[b,w,g,d,c,f,m,V]),S=useMemo(()=>React.Children.toArray(o).map((e,t)=>{if(!React.isValidElement(e))return e;if(!isFunction(e.type)&&!isObject(e.type))return e;const o=e.props.name??String(t);return React.cloneElement(e,{name:o,index:t})}),[o]);return React.createElement(CollapseContext.Provider,{value:x},React.createElement(View,_extends({style:[m.layout.container,g&&{backgroundColor:y.background},u]},p),g&&React.createElement(Hairline,{tokens:m,position:"top",color:y.border}),g&&React.createElement(Hairline,{tokens:m,position:"bottom",color:y.border}),S))},Hairline=React.memo(({tokens:e,position:t,color:o,inset:n=0})=>{const a=createHairlineView({position:t,color:o,left:n,right:n});return React.createElement(View,{pointerEvents:"none",style:[e.layout.hairline,a]})}),CollapsePanel=React.forwardRef((e,t)=>{const o=useContext(CollapseContext),n=useReducedMotion();if(!o)throw new Error("Collapse.Panel must be used within Collapse");const{activeKeys:a,toggle:i,iconPosition:l,expandIcon:r,disabled:s,tokens:c}=o,{name:d="0",index:u=0,title:p,description:m,label:b,icon:g,extra:f,value:y,border:R=c.defaults.panelBorder,isLink:C=c.defaults.panelIsLink,size:v=c.defaults.panelSize,disabled:k,readOnly:E,children:h,style:w,titleStyle:V,descriptionStyle:x,...S}=e,z=String(d),I=a.includes(z),P=s||k,{colors:H,spacing:O,typography:A}=c,[M,F]=useState(0),N=useRef(new Animated.Value(I?1:0)).current,j=useRef(null),_=N.interpolate({inputRange:[0,1],outputRange:["90deg","-90deg"]});useEffect(()=>{j.current?.stop();const e=Animated.timing(N,{toValue:I?1:0,duration:n?0:c.defaults.animationDuration,easing:Easing.ease,useNativeDriver:!1,isInteraction:!1});return j.current=e,e.start(({finished:e})=>{e&&(j.current=null)}),()=>{j.current?.stop(),j.current=null}},[N,I,n,c.defaults.animationDuration]);const T=m??b,D=f??y,L=useCallback(()=>{P||E||i(z)},[P,z,E,i]);useImperativeHandle(t,()=>({toggle:e=>{P||E||i(z,e)}}),[P,z,E,i]);const B=useCallback(e=>{const t=e.nativeEvent.layout.height;isNumber(t)&&Number.isFinite(t)&&F(e=>e===t?e:t)},[]),K=useMemo(()=>({height:N.interpolate({inputRange:[0,1],outputRange:[0,M]})}),[N,M]),W=useCallback(()=>isFunction(r)?r(I):r||React.createElement(Animated.View,{style:{transform:[{rotate:_}]}},React.createElement(Arrow,{size:16,fill:P?H.disabled:H.arrow})),[H.arrow,H.disabled,r,I,P,_]),G=useMemo(()=>renderTextOrNode(h,{color:P?H.disabled:H.description,fontFamily:A.fontFamily,fontSize:A.descriptionSize,lineHeight:Math.round(1.5*A.descriptionSize)}),[h,H.description,H.disabled,P,A.descriptionSize,A.fontFamily]),q=Boolean(R),J=u>0&&q,Q=I&&q,U=C&&!E,X="left"===l?U||isRenderable(g)?React.createElement(View,{style:c.layout.headerIconRow},U&&React.createElement(View,{style:{marginRight:g?c.spacing.iconGap:0}},W()),g):void 0:g,Y="right"===l&&U?W():void 0;return React.createElement(View,_extends({style:[c.layout.panel,{backgroundColor:H.background},w]},S),J&&React.createElement(Hairline,{tokens:c,position:"top",color:H.border,inset:O.paddingHorizontal}),React.createElement(View,{style:c.layout.headerWrapper},React.createElement(Cell,{title:p,label:T,icon:X,value:D,size:v,border:!1,disabled:P,onPress:E?void 0:L,accessibilityState:{expanded:I,disabled:P},titleStyle:P?[V,{color:H.disabled}]:V,labelStyle:P?[x,{color:H.disabled}]:x,valueStyle:P?{color:H.disabled}:void 0,rightIcon:Y}),Q&&React.createElement(Hairline,{tokens:c,position:"bottom",color:H.border,inset:O.paddingHorizontal})),React.createElement(Animated.View,{style:[c.layout.bodyWrapper,K]},React.createElement(View,{onLayout:B,style:[c.layout.bodyContent,{paddingVertical:O.paddingVertical,paddingHorizontal:O.paddingHorizontal,backgroundColor:H.background}]},G)))});CollapseImpl.Panel=CollapsePanel,CollapseImpl.Item=CollapsePanel;export const Collapse=Object.assign(React.memo(CollapseImpl),{Panel:CollapsePanel,Item:CollapsePanel});export default Collapse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var
|
|
1
|
+
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var o=1;o<arguments.length;o++){var t=arguments[o];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},_extends.apply(null,arguments)}import React,{useCallback,useEffect,useMemo,useRef}from"react";import{Animated,Easing,Platform,Pressable,StyleSheet,View}from"react-native";import{useLocale}from"../config-provider/useLocale";import{nativeDriverEnabled}from"../../platform";import{useReducedMotion}from"../../hooks/animation";import{createHairlineView}from"../../utils/hairline";import{isPromiseLike}from"../../utils/promise";import{isNumber,isValidNode}from"../../utils/validate";import{renderTextOrNode}from"../../utils";import Close from"react-native-system-icon/Close";import Button from"../button";import Popup from"../popup";import{useDialogTokens}from"./tokens";import{ActionButton}from"../../hooks/dialog/ActionButton";const DialogImpl=e=>{const o=useLocale(),{visible:t,title:n,message:i,messageAlign:r="center",theme:a="default",width:l,closeable:s=!1,closeIcon:c,overlay:d=!0,overlayStyle:g,overlayTestID:p="dialog-overlay",closeOnBackPress:m=!1,closeOnPopstate:u=!0,closeOnOverlayPress:f=!1,closeOnClickOverlay:y=!1,onClickOverlay:b,onClickCloseIcon:h,beforeClose:C,showCancelButton:v=!1,showConfirmButton:P=!0,cancelButtonText:k,cancelButtonColor:x,cancelProps:w,confirmButtonText:B,confirmButtonColor:R,confirmProps:E,footer:O,contentStyle:z,titleStyle:I,messageStyle:H,tokensOverride:V,style:T,children:D,onCancel:L,onConfirm:A,onClose:F,onClosed:N,...W}=e,M=useDialogTokens(V),q=useReducedMotion(),G=isValidNode(n),_=isValidNode(D),j=isValidNode(i)||_,J=v||P,K="round-button"===a,Q=w?.loading,U=E?.loading,X=k??o.cancel,Y=B??o.confirm,Z=useRef({seq:0,beforeClose:C,onClose:F,onCancel:L,onConfirm:A,onClickCloseIcon:h,cancelLoad:Q,confirmLoad:U});Object.assign(Z.current,{beforeClose:C,onClose:F,onCancel:L,onConfirm:A,onClickCloseIcon:h,cancelLoad:Q,confirmLoad:U});const $=useCallback((e,o)=>{const t=Z.current;t.seq+=1;const n=t.seq,i=t.beforeClose;if(!i)return void o?.();let r;try{r=i(e)}catch{return}!1!==r&&(isPromiseLike(r)?r.then(e=>{!1!==e&&Z.current.seq===n&&o?.()}).catch(()=>{}):o?.())},[]),ee=useCallback(()=>{Z.current.onClickCloseIcon?.(),$("close",()=>Z.current.onClose?.())},[$]),oe=useCallback(()=>{Z.current.cancelLoad||$("cancel",()=>Z.current.onCancel?.())},[$]),te=useCallback(()=>{Z.current.confirmLoad||$("confirm",()=>Z.current.onConfirm?.())},[$]),ne=useRef(new Animated.Value(.7)).current,ie=useRef(null);useEffect(()=>{ie.current?.stop(),ne.setValue(t?.7:1);const e=Animated.timing(ne,{toValue:t?1:.9,duration:q?0:300,easing:t?Easing.out(Easing.cubic):Easing.in(Easing.cubic),useNativeDriver:nativeDriverEnabled,isInteraction:!1});ie.current=e,e.start()},[ne,t,q]),useEffect(()=>()=>{ie.current?.stop()},[]);const re={transform:[{scale:ne}]},ae=useMemo(()=>G?{wrap:[S.titleWrap,{paddingTop:j?M.spacing.titlePaddingTop:M.spacing.titleIsolatedPadding,paddingBottom:j?0:M.spacing.titleIsolatedPadding,paddingHorizontal:j?M.spacing.paddingHorizontal:0,marginBottom:j?M.spacing.titleGap:0}],text:[S.title,{color:M.colors.title,fontFamily:M.typography.fontFamily,fontSize:M.typography.titleSize,lineHeight:M.typography.titleLineHeight,fontWeight:M.typography.titleWeight},I]}:null,[G,j,I,M]),le=useMemo(()=>({text:[S.msg,{color:K?M.colors.title:M.colors.message,fontFamily:M.typography.fontFamily,fontSize:M.typography.messageSize,lineHeight:M.typography.messageLineHeight,textAlign:r},H],content:_?null:{alignItems:"center"===r?"center":"left"===r?"flex-start":"flex-end"},wrap:[S.msgWrap,{paddingTop:G?M.spacing.messagePaddingTop:M.spacing.messagePadding,paddingBottom:K?M.spacing.roundFooterPadding:M.spacing.messagePadding,paddingHorizontal:M.spacing.messagePaddingHorizontal}]}),[K,r,H,_,G,M]),se=useMemo(()=>({border:[S.footerBorder,createHairlineView({position:"top",color:M.colors.divider,left:0,right:0,top:0})],round:[S.roundFooter,{paddingTop:M.spacing.messagePaddingTop,paddingHorizontal:M.spacing.messagePaddingHorizontal,paddingBottom:M.spacing.roundFooterPadding}]}),[M]),ce=useMemo(()=>{const e=l?isNumber(l)?{width:l}:{width:String(l)}:{width:"90%",maxWidth:M.sizes.maxWidth};return[{backgroundColor:M.colors.background,borderRadius:M.sizes.borderRadius,padding:0},e,T]},[l,T,M]),de=useCallback(()=>{const e=Z.current.beforeClose;if(!e)return!0;try{return e("close")}catch{return!1}},[]),ge=useMemo(()=>J&&React.createElement(View,{style:se.round},v&&React.createElement(View,{style:[S.roundBtnWrap,P&&{marginRight:M.spacing.roundFooterGap}]},React.createElement(Button,{block:!0,round:!0,type:"warning",text:X,color:x,loading:Q,disabled:w?.disabled,onPress:oe,style:{minHeight:M.sizes.roundButtonHeight}})),P&&React.createElement(View,{style:[S.roundBtnWrap,v&&{marginLeft:M.spacing.roundFooterGap}]},React.createElement(Button,{block:!0,round:!0,type:"danger",text:Y,color:R,loading:U,disabled:E?.disabled,onPress:te,style:{minHeight:M.sizes.roundButtonHeight}}))),[x,Q,w?.disabled,X,R,U,E?.disabled,Y,oe,te,J,se.round,v,P,M.sizes.roundButtonHeight,M.spacing.roundFooterGap]),pe=useMemo(()=>J&&React.createElement(View,{style:S.footer},React.createElement(View,{style:se.border,pointerEvents:"none"}),v&&React.createElement(ActionButton,{tokens:M,text:X,color:x??M.colors.cancel,dividerPosition:"none",loading:Q,disabled:w?.disabled,onPress:oe}),P&&React.createElement(ActionButton,{tokens:M,text:Y,color:R??M.colors.confirm,dividerPosition:v?"left":"none",loading:U,disabled:E?.disabled,onPress:te})),[x,Q,w?.disabled,X,R,U,E?.disabled,Y,se.border,oe,te,J,v,P,M]),me=O??(K?ge:pe);return React.createElement(Popup,_extends({visible:t,placement:"center",round:!0,overlay:d,overlayStyle:g,overlayTestID:p,closeOnBackPress:m,closeOnPopstate:u,closeOnClickOverlay:f||y,onClickOverlay:b,beforeClose:de,onClose:F,onClosed:N,contentAnimationStyle:re,style:ce,accessibilityRole:"android"===Platform.OS?"alert":"alertdialog",accessibilityLabel:"string"==typeof n?n:void 0},W),s&&React.createElement(Pressable,{style:[S.closeIcon,{top:M.spacing.paddingTop/2,right:M.spacing.paddingHorizontal/2,padding:M.spacing.closeIconPadding}],hitSlop:{top:8,bottom:8,left:8,right:8},onPress:ee},c??React.createElement(Close,{size:M.sizes.closeSize,fill:M.colors.closeIcon,color:M.colors.closeIcon})),ae&&React.createElement(View,{style:ae.wrap},renderTextOrNode(n,ae.text)),j&&React.createElement(View,{style:[S.content,le.content,z]},_?D:React.createElement(View,{style:le.wrap},renderTextOrNode(i,le.text))),me)},S=StyleSheet.create({titleWrap:{alignItems:"center"},title:{textAlign:"center"},content:{width:"100%"},msg:{textAlign:"center"},footer:{flexDirection:"row",position:"relative"},footerBorder:{position:"absolute",top:0,left:0,right:0,height:0},msgWrap:{width:"100%"},roundFooter:{width:"100%",flexDirection:"row"},roundBtnWrap:{flex:1},closeIcon:{position:"absolute",zIndex:1}});export const Dialog=React.memo(DialogImpl);Dialog.displayName="Dialog";export default Dialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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)}import React,{useCallback,useEffect,useState}from"react";import{Portal}from"../portal/Portal";import{deepMerge,isString,isUndefined}from"../../utils";import Dialog from"./Dialog";const runHook=async e=>{if(!e)return!0;try{return!1!==await e()}catch(e){return console.error(e),!
|
|
1
|
+
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)}import React,{useCallback,useEffect,useState}from"react";import{Portal}from"../portal/Portal";import{deepMerge,isString,isUndefined}from"../../utils";import Dialog from"./Dialog";const runHook=async e=>{if(!e)return!0;try{return!1!==await e()}catch(e){return console.error(e),!1}},registry=new Map,defaults={default:{},show:{},alert:{},confirm:{}},requestClose=e=>{const t=registry.get(e);t?t.close?t.close():(Portal.remove(e),registry.delete(e)):Portal.remove(e)},DialogPortalInstance=({options:e,meta:t,portalKeyRef:r})=>{const[o,n]=useState(!0),s=useCallback(()=>{n(!1)},[]);useEffect(()=>{if(!r.current)return;const e=registry.get(r.current);return e&&(e.close=s),()=>{const e=registry.get(r.current??-1);e&&e.close===s&&(e.close=void 0)}},[s,r]),useEffect(()=>()=>{r.current&®istry.delete(r.current)},[r]);const a=useCallback(async(r,o)=>{await runHook(()=>e.beforeClose?.(r))&&await runHook(o)&&(("confirm"===r&&"alert"===t.mode||"confirm"===t.mode)&&t.resolve?.("confirm"===r),s())},[s,t,e.beforeClose]),l=useCallback(()=>{e.onClosed?.(),r.current&&(Portal.remove(r.current),registry.delete(r.current))},[e,r]);return React.createElement(Dialog,_extends({},e,{visible:o,onCancel:e.showCancelButton?()=>a("cancel",e.onCancel):e.onCancel,onConfirm:()=>a("confirm",e.onConfirm),onClose:()=>a("close",e.onClose),onClosed:l}))},mount=(e,t)=>{const r={current:0},o=React.createElement(DialogPortalInstance,{options:e,meta:t,portalKeyRef:r}),n=Portal.add(o);return r.current=n,registry.set(n,{key:n,options:e,meta:t}),()=>requestClose(n)},normalize=(e,t={})=>{const r={...deepMerge(deepMerge(defaults.default,defaults[e]),t),visible:!0};return isUndefined(r.showConfirmButton)&&(r.showConfirmButton=!0),r},setDefaultOptions=(e,t)=>{isString(e)?defaults[e]=deepMerge(defaults[e],t??{}):defaults.default=deepMerge(defaults.default,e)},resetDefaultOptions=e=>{e?defaults[e]={}:(defaults.default={},defaults.show={},defaults.alert={},defaults.confirm={})};export const DialogImperative={show:e=>mount(normalize("show",e),{mode:"show"}),alert:e=>new Promise(t=>{mount(normalize("alert",{...e,showCancelButton:!1}),{mode:"alert",resolve:t})}),confirm:e=>new Promise(t=>{mount(normalize("confirm",{showCancelButton:!0,...e}),{mode:"confirm",resolve:e=>t(void 0===e||e)})}),clear:()=>{registry.forEach((e,t)=>requestClose(t))},setDefaultOptions:setDefaultOptions,resetDefaultOptions:resetDefaultOptions};export const __DIALOG_STORE__={getItems:()=>Array.from(registry.values()).map(({key:e,options:t,meta:r})=>({key:e,options:t,meta:r})),close:requestClose};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)({}).hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},_extends.apply(null,arguments)}import React from"react";import{Text,View}from"react-native";import
|
|
1
|
+
function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var r in i)({}).hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},_extends.apply(null,arguments)}import React from"react";import{Text,View}from"react-native";import Description from"react-native-system-icon/Description";import Fail from"react-native-system-icon/Fail";import Search from"react-native-system-icon/Search";import{isRenderable,isString,isText,renderTextOrNode}from"../../utils";import Image from"../image";import{useEmptyTokens}from"./tokens";const PRESET_ICONS={default:Description,error:Fail,network:Fail,search:Search},EmptyImpl=e=>{const{tokensOverride:t,image:i,imageSize:r,imageStyle:n,description:o,descriptionStyle:a,children:s,style:c,gap:l,...p}=e,m=useEmptyTokens(t),g=i??m.defaults.image,d=l??m.defaults.gap,y=r??m.sizing.image,h={fontFamily:m.typography.descriptionFontFamily,fontSize:m.typography.descriptionSize,fontWeight:m.typography.descriptionFontWeight};return React.createElement(View,_extends({accessibilityRole:"summary",accessibilityLabel:isText(o)?String(o):void 0,style:[m.layout.container,c]},p),(()=>{if(React.isValidElement(g))return React.createElement(View,{style:[m.layout.imageWrapper,{width:y,height:y},n]},g);if(isString(g)){if(/^https?:/.test(g))return React.createElement(Image,{src:g,width:y,height:y,fit:"contain",showLoading:!1,showError:!1,containerStyle:[{backgroundColor:m.colors.imageBackground},n]});const e=PRESET_ICONS[g]||PRESET_ICONS.default;return React.createElement(View,{style:[m.layout.imageWrapper,{width:y,height:y},n]},React.createElement(e,{size:y*m.sizing.iconScale,color:m.colors.icon}))}return null})(),isRenderable(o)?isText(o)?React.createElement(Text,{style:[m.layout.descriptionText,{marginTop:d,paddingHorizontal:m.spacing.descriptionPaddingHorizontal,color:m.colors.description,fontSize:m.typography.descriptionSize,lineHeight:m.typography.descriptionLineHeight,fontFamily:m.typography.descriptionFontFamily,fontWeight:m.typography.descriptionFontWeight},a]},o):React.createElement(View,{style:{marginTop:d,paddingHorizontal:m.spacing.descriptionPaddingHorizontal}},o):null,isRenderable(s)&&React.createElement(View,{style:{marginTop:m.spacing.footerMarginTop}},renderTextOrNode(s,h)))};export const Empty=React.memo(EmptyImpl);Empty.displayName="Empty";
|