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}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}function _Arrow(){const e=_interopRequireDefault(require("react-native-system-icon/Arrow"));return _Arrow=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.NoticeBar=void 0;var _hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_number=require("../../utils/number"),_validate=require("../../utils/validate"),_utils=require("../../utils"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,n,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(i=t?r:a){if(i.has(e))return i.get(e);i.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?i(o,t,n):o[t]=e[t]);return o})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const AnimatedText=_reactNative().Animated.createAnimatedComponent(_reactNative().Text),IS_WEB="web"===_reactNative().Platform.OS;if(IS_WEB){const e="undefined"!=typeof globalThis?globalThis:window;void 0===e.global&&(e.global=e)}const NoticeBarImpl=e=>{const{text:t,children:a,color:r,background:i,leftIcon:n,rightIcon:o,mode:l,tokensOverride:c,delay:s=1,speed:u=60,scrollable:d,wrapable:_=!1,direction:f="horizontal",items:p,verticalInterval:m=3e3,verticalDuration:v=300,onPress:y,onClose:h,onReplay:g,textProps:b,style:N,...x}=e,w=(0,_useLocale.useLocale)(),E=(0,_useDirection.useDirection)(),k=(0,_animation.useReducedMotion)(),A=(0,_tokens.useNoticeBarTokens)(c),P=r??A.colors.text,q=i??A.colors.background,M=t??a,T=(0,_validate.isText)(M),V="vertical"===f,[D,O]=(0,_react().useState)(!0),{onLayout:R,...z}=b??{},[C,I]=(0,_react().useState)(0),[L,W]=(0,_react().useState)(0),B=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,F=Math.max(0,(0,_number.parseNumber)(s,1)),j=(0,_number.parseNumber)(u,60),H=Math.max(0,(0,_number.parseNumber)(m,3e3)),X=Math.max(0,(0,_number.parseNumber)(v,300)),Y=(0,_react().useMemo)(()=>V?p&&p.length?p:(()=>{const e=_react().default.Children.toArray(a);return e.length?e:void 0!==t?[t]:[]})():[],[a,V,p,t]),G=!k&&V&&Y.length>1,J=(0,_react().useMemo)(()=>G?[...Y,Y[0]]:Y,[G,Y]),K=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,[Q,U]=(0,_react().useState)(0),Z=(0,_react().useCallback)(e=>{I(t=>Math.abs(t-e)<.5?t:e)},[]),$=(0,_react().useCallback)(e=>{W(t=>Math.abs(t-e)<.5?t:e)},[]),ee=(0,_react().useRef)(h);ee.current=h;const te=(0,_react().useRef)(g);te.current=g;const ae=(0,_react().useCallback)(()=>{O(!1),ee.current?.()},[]),re=(0,_hooks.useAriaPress)({disabled:"closeable"!==l||!D,onPress:ae,extraProps:{accessibilityRole:"button",accessibilityLabel:w?.vanNoticeBar?.close??"Close"}}),ie=(0,_hooks.useAriaPress)({disabled:!y||!D,onPress:y,extraProps:y?{accessibilityRole:"button"}:void 0}),ne="closeable"===l?_react().default.createElement(_reactNative().Pressable,_extends({hitSlop:8},re.interactionProps),_react().default.createElement(_Close().default,{size:16,fill:P,color:P})):"link"===l?_react().default.createElement(_Arrow().default,{size:16,fill:P,color:P}):o||null,oe=(0,_validate.isRenderable)(n),le=Boolean(ne),ce=Math.max(0,L-(oe?A.spacing.sidePadding:0)-(le?A.spacing.sidePadding:0)),se=!k&&!V&&!_&&(d??C>ce);(0,_react().useEffect)(()=>{if(!D||V)return void B.stopAnimation();if(!se||0===C||0===L||j<=0||!Number.isFinite(j))return void B.setValue(0);let e=!1;const t=(C+L)/j*1e3,a="rtl"===E?-1:1,r=i=>{B.setValue(i?0:a*L),_reactNative().Animated.sequence([_reactNative().Animated.delay(1e3*F),_reactNative().Animated.timing(B,{toValue:-a*C,duration:t,easing:_reactNative().Easing.linear,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1})]).start(({finished:t})=>{t&&!e&&(te.current?.(),r(!1))})};return r(!0),()=>{e=!0,B.stopAnimation()}},[se,B,D,F,j,C,L,V,E]),(0,_react().useEffect)(()=>{if(!D)return void K.stopAnimation();if(!G||0===Q)return void K.setValue(0);const e=[];for(let t=1;t<=Y.length;t+=1)e.push(_reactNative().Animated.delay(H),_reactNative().Animated.timing(K,{toValue:-Q*t,duration:X,easing:_reactNative().Easing.linear,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1}));e.push(_reactNative().Animated.timing(K,{toValue:0,duration:0,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1}));const t=_reactNative().Animated.loop(_reactNative().Animated.sequence(e));return t.start(),()=>{t.stop(),K.stopAnimation()}},[D,G,Q,X,H,Y,K]);const ue=(0,_react().useCallback)(e=>{const t=e?.nativeEvent?.layout?.height;t&&U(e=>0===e||Math.abs(e-t)>=.5?t:e)},[]),de=(0,_react().useMemo)(()=>V&&0!==J.length?G?_react().default.createElement(_reactNative().View,{style:[S.vViewport,Q?{height:Q}:void 0],pointerEvents:"none"},_react().default.createElement(_reactNative().Animated.View,{renderToHardwareTextureAndroid:!0,shouldRasterizeIOS:!0,style:[S.vTrack,{transform:[{translateY:K}]}]},J.map((e,t)=>_react().default.createElement(_reactNative().View,{key:t,onLayout:0===t?ue:void 0,style:S.vItem},(0,_utils.renderTextOrNode)(e,[S.text,{color:P,fontFamily:A.typography.fontFamily,fontSize:A.typography.fontSize}],{numberOfLines:1,...z}))))):(0,_utils.renderTextOrNode)(J[0],[S.text,{color:P,fontFamily:A.typography.fontFamily,fontSize:A.typography.fontSize}],{numberOfLines:1,...z}):null,[ue,G,V,Q,P,z,R,A.typography.fontFamily,A.typography.fontSize,J,K]),_e=(0,_react().useCallback)(e=>{$(e.nativeEvent.layout.width)},[$]),fe=(0,_react().useCallback)(e=>{Z(e.nativeEvent.layout.width),R?.(e)},[Z,R]),pe=(0,_react().useCallback)(e=>Z(e.nativeEvent.layout.width),[Z]);return D?_react().default.createElement(_reactNative().Pressable,_extends({style:[S.ctr,{backgroundColor:q,paddingHorizontal:A.spacing.paddingHorizontal,paddingVertical:_?A.spacing.wrapPaddingVertical:A.spacing.paddingVertical,minHeight:A.layout.minHeight,borderRadius:A.layout.radius},N],disabled:ie.states.disabled},ie.interactionProps,x),oe&&_react().default.createElement(_reactNative().View,{style:[S.side,{minWidth:A.layout.sideMinWidth}]},n),_react().default.createElement(_reactNative().View,{onLayout:_e,style:[S.content,_&&S.contentWrap,oe&&{paddingLeft:A.spacing.sidePadding},le&&{paddingRight:A.spacing.sidePadding}],pointerEvents:"none"},V?de:se?T?_react().default.createElement(AnimatedText,_extends({onLayout:fe,style:[S.text,S.scrollText,{color:P,fontFamily:A.typography.fontFamily,fontSize:A.typography.fontSize,transform:[{translateX:B}]}]},IS_WEB?{}:{numberOfLines:1,ellipsizeMode:"clip"},z),M):_react().default.createElement(_reactNative().Animated.View,{onLayout:pe,renderToHardwareTextureAndroid:!0,shouldRasterizeIOS:!0,style:[S.text,{transform:[{translateX:B}]}]},M):T?_react().default.createElement(_reactNative().Text,_extends({onLayout:fe,style:[S.text,{color:P,fontFamily:A.typography.fontFamily,fontSize:A.typography.fontSize},_&&S.wrapText],numberOfLines:_?void 0:1,ellipsizeMode:_?"tail":"clip"},z),M):_react().default.createElement(_reactNative().View,{onLayout:pe,style:[S.text,_&&S.wrapText]},M)),ne&&_react().default.createElement(_reactNative().View,{style:[S.side,{minWidth:A.layout.sideMinWidth}]},ne)):null},S=_reactNative().StyleSheet.create({ctr:{flexDirection:"row",alignItems:"center"},side:{alignItems:"center",justifyContent:"center"},content:{flex:1,flexDirection:"row",overflow:"hidden"},text:{flexShrink:0},scrollText:_reactNative().Platform.select({web:{whiteSpace:"nowrap",textOverflow:"clip"},default:{}}),wrapText:{flexWrap:"wrap",flexShrink:1},contentWrap:{flexDirection:"column"},vViewport:{width:"100%",overflow:"hidden"},vTrack:{flexDirection:"column",width:"100%"},vItem:{width:"100%",justifyContent:"center"}}),NoticeBar=exports.NoticeBar=_react().default.memo(NoticeBarImpl);NoticeBar.displayName="NoticeBar";
|
|
@@ -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=void 0;var _hooks=require("../../hooks"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_number=require("../../utils/number"),_utils=require("../../utils"),_loading=_interopRequireDefault(require("../loading")),_Portal=_interopRequireDefault(require("../portal/Portal")),_useLocale=require("../config-provider/useLocale"),_safeAreaView=require("../safe-area-view"),_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,o,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(n=t?a:r){if(n.has(e))return n.get(e);n.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?n(i,t,o):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}const registry=new Set,NUM_KEYS=["1","2","3","4","5","6","7","8","9"],ZERO="0",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},NumberKeyboard=_react().default.memo(e=>{const{visible:t,title:r,tokensOverride:a,theme:n="default",extraKey:o,randomKeyOrder:i,showDeleteKey:l=!0,closeButtonText:c,deleteButtonText:u,closeButtonLoading:s,onChange:d,onInput:f,onDelete:_,onClose:y,onBlur:p,onHide:g,onShow:m,value:x,defaultValue:h,maxlength:v,blurOnClose:b=!0,safeAreaInsetBottom:k=!0,transition:w=!0,transitionDuration:N=300,numberKeyRender:E,deleteRender:R,extraKeyRender:z,style:A,...M}=e,P=(0,_useLocale.useLocale)(),B=(0,_animation.useReducedMotion)(),q=(0,_tokens.useNumberKeyboardTokens)(a),{colors:F,radii:T,shadow:V,sizing:C,spacing:D,typography:O}=q,[K,H]=(0,_hooks.useControllableValue)(e,{defaultValue:"",valuePropName:"value",defaultValuePropName:"defaultValue",trigger:"onChange"}),L=K??"",W=(()=>{const e=(0,_number.parseNumberLike)(v,void 0);return null!=e&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0})(),I=(0,_react().useRef)(L),$=(0,_react().useRef)(W),j=(0,_react().useRef)(y),G=(0,_react().useRef)(p),U=(0,_react().useRef)(m),Y=(0,_react().useRef)(g),Z=(0,_react().useRef)(_),J=(0,_react().useRef)(f);I.current=L,$.current=W,j.current=y,G.current=p,U.current=m,Y.current=g,Z.current=_,J.current=f;const Q="custom"===n,X=P?.vanNumberKeyboard?.close??"Done",ee=Q?c??X:c,te=(0,_react().useCallback)(()=>{j.current?.(),b&&G.current?.()},[b]),re=(0,_react().useRef)(t);(0,_react().useEffect)(()=>{t&&!re.current&&U.current?.(),!t&&re.current&&Y.current?.(),re.current=t},[t]),(0,_react().useEffect)(()=>(t?(registry.add(te),registry.forEach(e=>{e!==te&&e()})):registry.delete(te),()=>{registry.delete(te)}),[t,te]);const ae=(0,_react().useMemo)(()=>{const e=(i&&t?shuffle(NUM_KEYS):NUM_KEYS).map(e=>({text:e,type:""}));if(Q){const t=Array.isArray(o)?o:o?[o]:[];return 1===t.length?e.push({text:"0",type:"",wider:!0},{text:t[0],type:"extra"}):t.length>=2?e.push({text:t[0],type:"extra"},{text:"0",type:""},{text:t[1],type:"extra"}):e.push({text:"0",type:""}),e}const r=Array.isArray(o)?o[0]??"":o??"";return e.push({text:r,type:"extra"},{text:"0",type:""},{type:l?"delete":"",text:l?void 0:""}),e},[o,Q,i,l,t]),ne=(0,_react().useCallback)((e,t)=>{if("delete"===t){const e=I.current;if(!e)return;return Z.current?.(),void H(e.slice(0,-1))}if("close"===t||"extra"===t&&!e)return void te();if(!e)return;const r=I.current,a=$.current;void 0!==a&&r.length>=a||(J.current?.(e),H(`${r}${e}`))},[te,H]),oe=(0,_react().useMemo)(()=>(0,_createPlatformShadow.createPlatformShadow)(V),[V.color,V.elevation,V.offsetY,V.opacity,V.radius]),ie=(0,_react().useCallback)((e,t,r=!1,a=!1,n)=>{const o=e.type,i=""===o&&!e.text,l=i||r&&s,c=l?void 0:()=>ne(e.text,o),d=r?F.closeBackground:F.keyBackground,f=r?F.closeActiveBackground:F.keyActiveBackground,_=r?F.closeText:F.keyText,y=r?F.closeText:F.keyTextActive,p=n??(r?C.closeHeight:C.keyHeight),g=C.auxFontSize??Math.round(.64*C.fontSize),m=C.defaultIconFontSize??C.fontSize,x=e.text??"",h="delete"===o?R?.()??u??"⌫":"extra"===o?z?z(x):x||"⌨︎":"close"===o?ee??X:E?E(x):x,v="delete"===o&&null==R&&null==u||"extra"===o&&!z&&!x,b="extra"===o&&"string"==typeof h&&RE_NUM_LIKE.test(h),k=""===o?C.fontSize:v?m:b?C.fontSize:g;return _react().default.createElement(_reactNative().Pressable,{key:`${o}-${t}-${e.text??t}`,onPress:c,disabled:l,style:[{opacity:i?1:l?.6:1},a?{width:"100%",flexBasis:"auto",flexGrow:0,alignSelf:"stretch"}:{flexBasis:0,flexGrow:e.wider?2:1,flexShrink:1,minWidth:0}],accessible:!i,accessibilityRole:i?void 0:"button",accessibilityLabel:i?void 0:"delete"===o?"delete":"close"===o?ee??"close":"extra"===o?x||"collapse":x,accessibilityState:i?void 0:{disabled:!!l},accessibilityElementsHidden:i,importantForAccessibility:i?"no-hide-descendants":void 0},({pressed:e})=>{const t=e&&!l,a=l?F.keyBackground:t?f:d,n=t?y:_;return _react().default.createElement(_reactNative().View,{style:[S.k,{height:p,backgroundColor:a,borderRadius:T.key}]},r&&s?_react().default.createElement(_loading.default,{size:18,color:n}):(0,_utils.isRenderable)(h)?(0,_utils.renderTextOrNode)(h,[S.kTxt,{color:n,fontFamily:O.fontFamily,fontSize:k}]):null)})},[s,F.closeActiveBackground,F.closeBackground,F.closeText,F.keyActiveBackground,F.keyBackground,F.keyText,F.keyTextActive,X,u,R,z,ne,E,T.key,C.auxFontSize,C.closeHeight,C.defaultIconFontSize,C.fontSize,C.keyHeight,O.fontFamily,ee]),le=(0,_react().useRef)(new(_reactNative().Animated.Value)(t?1:0)).current,ce=(0,_react().useRef)(null),ue=(0,_react().useRef)(0),[se,de]=(0,_react().useState)(0),[fe,_e]=(0,_react().useState)(t),ye=B||!1===w?0:N;(0,_react().useEffect)(()=>{ue.current+=1;const e=ue.current;t&&_e(!0),ce.current?.stop();const r=_reactNative().Animated.timing(le,{toValue:t?1:0,duration:ye,useNativeDriver:_platform.nativeDriverEnabled,easing:t?_reactNative().Easing.out(_reactNative().Easing.cubic):_reactNative().Easing.in(_reactNative().Easing.cubic),isInteraction:!1});return ce.current=r,r.start(({finished:r})=>{r&&!t&&ue.current===e&&_e(!1)}),()=>{ce.current?.stop(),ce.current=null}},[le,t,ye]);const pe=le.interpolate({inputRange:[0,1],outputRange:[se||320,0]}),ge=(0,_react().useCallback)(e=>{const{height:t}=e.nativeEvent.layout;de(e=>Math.abs(t-e)>.5?t:e)},[]),me=!Q&&(r||c),xe=2*C.keyHeight+D.keyGap,he=(0,_react().useMemo)(()=>{const e=D.keyGap,t=D.paddingHorizontal,a={paddingHorizontal:D.titlePadding},n=[S.dRow,{flexDirection:"column",flexWrap:"nowrap",paddingHorizontal:t,paddingTop:e,paddingBottom:e,gap:e}],o={flexDirection:"row",gap:e},i=[S.cRow,{paddingHorizontal:t,paddingTop:me?0:e,paddingBottom:e,width:"100%"}],c=[S.cMat,{flexDirection:"column",flexWrap:"nowrap",gap:e}],u=[S.cSide,{gap:e,marginLeft:e}],s=ae.map((e,t)=>({key:e,index:t})),d=[];for(let e=0;e<s.length;e+=3)d.push(s.slice(e,e+3));const f=_react().default.createElement(_reactNative().View,{style:n},d.map((e,t)=>_react().default.createElement(_reactNative().View,{key:`l-${t}`,style:o},e.map(e=>ie(e.key,e.index))))),_=[];for(let e=0;e<9&&e<s.length;e+=3)_.push(s.slice(e,e+3));const y=s.slice(9);1===y.length?_.push([{key:{type:""},index:1000001},y[0],{key:{type:""},index:1000002}]):y.length&&_.push(y);const p=_react().default.createElement(_reactNative().View,{style:c},_.map((e,t)=>_react().default.createElement(_reactNative().View,{key:`cl-${t}`,style:o},e.map(e=>ie(e.key,e.index))))),g=l&&ie({type:"delete"},999,!1,!0,xe),m=ie({type:"close"},1e3,!0,!0,xe),x={color:F.title,fontFamily:O.fontFamily,fontSize:C.titleFontSize},h={color:F.title,fontFamily:O.fontFamily,fontSize:C.auxFontSize??Math.round(.64*C.fontSize)};return{headerNode:me?_react().default.createElement(_reactNative().View,{style:[S.hdr,a]},_react().default.createElement(_reactNative().Text,{style:[S.tBold,S.tCenter,x],numberOfLines:1},r),ee&&_react().default.createElement(_reactNative().Pressable,{onPress:te,style:S.hdrClose,accessibilityRole:"button",accessibilityLabel:ee},_react().default.createElement(_reactNative().Text,{style:h},ee))):null,bodyNode:Q?_react().default.createElement(_reactNative().View,{style:i},p,_react().default.createElement(_reactNative().View,{style:u},g,m)):f,safeAreaNode:k&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom"})}},[te,F.title,xe,me,Q,ae,ie,ee,k,C.auxFontSize,C.fontSize,C.titleFontSize,D.keyGap,D.paddingHorizontal,D.titlePadding,O.fontFamily,r,l]);return fe||t?_react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().Animated.View,_extends({},M,{pointerEvents:t?"auto":"none",renderToHardwareTextureAndroid:!0,shouldRasterizeIOS:!0,onLayout:ge,style:[S.wrap,oe,A,{transform:[{translateY:pe}],backgroundColor:F.background}]}),he.headerNode,he.bodyNode,he.safeAreaNode)):null}),S=_reactNative().StyleSheet.create({wrap:{position:"absolute",left:0,right:0,bottom:0},hdr:{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",height:44,position:"relative"},tBold:{fontWeight:"600"},tCenter:{position:"absolute",left:12,right:12,textAlign:"center"},hdrClose:{minWidth:56,alignItems:"flex-end"},k:{justifyContent:"center",alignItems:"center"},kTxt:{includeFontPadding:!1,textAlign:"center"},dRow:{flexDirection:"row",flexWrap:"wrap"},cRow:{flexDirection:"row"},cMat:{flex:3,flexDirection:"row",flexWrap:"wrap"},cSide:{flex:1,flexDirection:"column",justifyContent:"flex-start"}});var _default=exports.default=NumberKeyboard;
|
|
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=void 0;var _hooks=require("../../hooks"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_number=require("../../utils/number"),_utils=require("../../utils"),_loading=_interopRequireDefault(require("../loading")),_Portal=_interopRequireDefault(require("../portal/Portal")),_useLocale=require("../config-provider/useLocale"),_safeAreaView=require("../safe-area-view"),_tokens=require("./tokens"),_utils2=require("../../hooks/number-keyboard/utils");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 registry=new Set,NumberKeyboard=_react().default.memo(e=>{const{visible:t,title:r,tokensOverride:a,theme:n="default",extraKey:i,randomKeyOrder:o,showDeleteKey:l=!0,closeButtonText:c,deleteButtonText:u,closeButtonLoading:s,onChange:d,onInput:f,onDelete:_,onClose:y,onBlur:p,onHide:g,onShow:m,value:x,defaultValue:h,maxlength:v,blurOnClose:b=!0,safeAreaInsetBottom:k=!0,transition:w=!0,transitionDuration:N=300,numberKeyRender:R,deleteRender:E,extraKeyRender:z,style:P,...q}=e,B=(0,_useLocale.useLocale)(),A=(0,_animation.useReducedMotion)(),C=(0,_tokens.useNumberKeyboardTokens)(a),{colors:D,radii:F,shadow:T,sizing:V,spacing:M,typography:K}=C,[O,H]=(0,_hooks.useControllableValue)(e,{defaultValue:"",valuePropName:"value",defaultValuePropName:"defaultValue",trigger:"onChange"}),W=O??"",L=(()=>{const e=(0,_number.parseNumberLike)(v,void 0);return null!=e&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0})(),I=(0,_react().useRef)(W),j=(0,_react().useRef)(L),$=(0,_react().useRef)(y),G=(0,_react().useRef)(p),Y=(0,_react().useRef)(m),U=(0,_react().useRef)(g),J=(0,_react().useRef)(_),Q=(0,_react().useRef)(f);I.current=W,j.current=L,$.current=y,G.current=p,Y.current=m,U.current=g,J.current=_,Q.current=f;const X="custom"===n,Z=B?.vanNumberKeyboard?.close??"Done",ee=X?c??Z:c,te=(0,_react().useCallback)(()=>{$.current?.(),b&&G.current?.()},[b]),re=(0,_react().useRef)(t);(0,_react().useEffect)(()=>{t&&!re.current&&Y.current?.(),!t&&re.current&&U.current?.(),re.current=t},[t]),(0,_react().useEffect)(()=>(t?(registry.add(te),registry.forEach(e=>{e!==te&&e()})):registry.delete(te),()=>{registry.delete(te)}),[t,te]);const ae=(0,_react().useMemo)(()=>(0,_utils2.buildKeyboardKeys)({randomKeyOrder:o,visible:t,isCustom:X,extraKey:i,showDeleteKey:l}),[i,X,o,l,t]),ne=(0,_react().useCallback)((e,t)=>{if("delete"===t){const e=I.current;if(!e)return;return J.current?.(),void H(e.slice(0,-1))}if("close"===t||"extra"===t&&!e)return void te();if(!e)return;const r=I.current,a=j.current;void 0!==a&&r.length>=a||(Q.current?.(e),H(`${r}${e}`))},[te,H]),ie=(0,_react().useMemo)(()=>(0,_createPlatformShadow.createPlatformShadow)(T),[T.color,T.elevation,T.offsetY,T.opacity,T.radius]),oe=(0,_react().useCallback)((e,t,r=!1,a=!1,n)=>{const i=e.type,o=""===i&&!e.text,l=o||r&&s,c=l?void 0:()=>ne(e.text,i),d=r?D.closeBackground:D.keyBackground,f=r?D.closeActiveBackground:D.keyActiveBackground,_=r?D.closeText:D.keyText,y=r?D.closeText:D.keyTextActive,p=n??(r?V.closeHeight:V.keyHeight),g=V.auxFontSize??Math.round(.64*V.fontSize),m=V.defaultIconFontSize??V.fontSize,x=e.text??"",h="delete"===i?E?.()??u??"⌫":"extra"===i?z?z(x):x||"⌨︎":"close"===i?ee??Z:R?R(x):x,v="delete"===i&&null==E&&null==u||"extra"===i&&!z&&!x,b="extra"===i&&"string"==typeof h&&_utils2.RE_NUM_LIKE.test(h),k=""===i?V.fontSize:v?m:b?V.fontSize:g;return _react().default.createElement(_reactNative().Pressable,{key:`${i}-${t}-${e.text??t}`,onPress:c,disabled:l,style:[{opacity:o?1:l?.6:1},a?{width:"100%",flexBasis:"auto",flexGrow:0,alignSelf:"stretch"}:{flexBasis:0,flexGrow:e.wider?2:1,flexShrink:1,minWidth:0}],accessible:!o,accessibilityRole:o?void 0:"button",accessibilityLabel:o?void 0:"delete"===i?"delete":"close"===i?ee??"close":"extra"===i?x||"collapse":x,accessibilityState:o?void 0:{disabled:!!l},accessibilityElementsHidden:o,importantForAccessibility:o?"no-hide-descendants":void 0},({pressed:e})=>{const t=e&&!l,a=l?D.keyBackground:t?f:d,n=t?y:_;return _react().default.createElement(_reactNative().View,{style:[S.k,{height:p,backgroundColor:a,borderRadius:F.key}]},r&&s?_react().default.createElement(_loading.default,{size:18,color:n}):(0,_utils.isRenderable)(h)?(0,_utils.renderTextOrNode)(h,[S.kTxt,{color:n,fontFamily:K.fontFamily,fontSize:k}]):null)})},[s,D.closeActiveBackground,D.closeBackground,D.closeText,D.keyActiveBackground,D.keyBackground,D.keyText,D.keyTextActive,Z,u,E,z,ne,R,F.key,V.auxFontSize,V.closeHeight,V.defaultIconFontSize,V.fontSize,V.keyHeight,K.fontFamily,ee]),le=(0,_react().useRef)(new(_reactNative().Animated.Value)(t?1:0)).current,ce=(0,_react().useRef)(null),ue=(0,_react().useRef)(0),[se,de]=(0,_react().useState)(0),[fe,_e]=(0,_react().useState)(t),ye=A||!1===w?0:N;(0,_react().useEffect)(()=>{ue.current+=1;const e=ue.current;t&&_e(!0),ce.current?.stop();const r=_reactNative().Animated.timing(le,{toValue:t?1:0,duration:ye,useNativeDriver:_platform.nativeDriverEnabled,easing:t?_reactNative().Easing.out(_reactNative().Easing.cubic):_reactNative().Easing.in(_reactNative().Easing.cubic),isInteraction:!1});return ce.current=r,r.start(({finished:r})=>{r&&!t&&ue.current===e&&_e(!1)}),()=>{ce.current?.stop(),ce.current=null}},[le,t,ye]);const pe=le.interpolate({inputRange:[0,1],outputRange:[se||320,0]}),ge=(0,_react().useCallback)(e=>{const{height:t}=e.nativeEvent.layout;de(e=>Math.abs(t-e)>.5?t:e)},[]),me=!X&&(r||c),xe=2*V.keyHeight+M.keyGap,he=(0,_react().useMemo)(()=>{const e=M.keyGap,t=M.paddingHorizontal,a={paddingHorizontal:M.titlePadding},n=[S.dRow,{flexDirection:"column",flexWrap:"nowrap",paddingHorizontal:t,paddingTop:e,paddingBottom:e,gap:e}],i={flexDirection:"row",gap:e},o=[S.cRow,{paddingHorizontal:t,paddingTop:me?0:e,paddingBottom:e,width:"100%"}],c=[S.cMat,{flexDirection:"column",flexWrap:"nowrap",gap:e}],u=[S.cSide,{gap:e,marginLeft:e}],s=ae.map((e,t)=>({key:e,index:t})),d=[];for(let e=0;e<s.length;e+=3)d.push(s.slice(e,e+3));const f=_react().default.createElement(_reactNative().View,{style:n},d.map((e,t)=>_react().default.createElement(_reactNative().View,{key:`l-${t}`,style:i},e.map(e=>oe(e.key,e.index))))),_=[];for(let e=0;e<9&&e<s.length;e+=3)_.push(s.slice(e,e+3));const y=s.slice(9);1===y.length?_.push([{key:{type:""},index:1000001},y[0],{key:{type:""},index:1000002}]):y.length&&_.push(y);const p=_react().default.createElement(_reactNative().View,{style:c},_.map((e,t)=>_react().default.createElement(_reactNative().View,{key:`cl-${t}`,style:i},e.map(e=>oe(e.key,e.index))))),g=l&&oe({type:"delete"},999,!1,!0,xe),m=oe({type:"close"},1e3,!0,!0,xe),x={color:D.title,fontFamily:K.fontFamily,fontSize:V.titleFontSize},h={color:D.title,fontFamily:K.fontFamily,fontSize:V.auxFontSize??Math.round(.64*V.fontSize)};return{headerNode:me?_react().default.createElement(_reactNative().View,{style:[S.hdr,a]},_react().default.createElement(_reactNative().Text,{style:[S.tBold,S.tCenter,x],numberOfLines:1},r),ee&&_react().default.createElement(_reactNative().Pressable,{onPress:te,style:S.hdrClose,accessibilityRole:"button",accessibilityLabel:ee},_react().default.createElement(_reactNative().Text,{style:h},ee))):null,bodyNode:X?_react().default.createElement(_reactNative().View,{style:o},p,_react().default.createElement(_reactNative().View,{style:u},g,m)):f,safeAreaNode:k&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom"})}},[te,D.title,xe,me,X,ae,oe,ee,k,V.auxFontSize,V.fontSize,V.titleFontSize,M.keyGap,M.paddingHorizontal,M.titlePadding,K.fontFamily,r,l]);return fe||t?_react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().Animated.View,_extends({},q,{pointerEvents:t?"auto":"none",renderToHardwareTextureAndroid:!0,shouldRasterizeIOS:!0,onLayout:ge,style:[S.wrap,ie,P,{transform:[{translateY:pe}],backgroundColor:D.background}]}),he.headerNode,he.bodyNode,he.safeAreaNode)):null}),S=_reactNative().StyleSheet.create({wrap:{position:"absolute",left:0,right:0,bottom:0},hdr:{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",height:44,position:"relative"},tBold:{fontWeight:"600"},tCenter:{position:"absolute",left:12,right:12,textAlign:"center"},hdrClose:{minWidth:56,alignItems:"flex-end"},k:{justifyContent:"center",alignItems:"center"},kTxt:{includeFontPadding:!1,textAlign:"center"},dRow:{flexDirection:"row",flexWrap:"wrap"},cRow:{flexDirection:"row"},cMat:{flex:3,flexDirection:"row",flexWrap:"wrap"},cSide:{flex:1,flexDirection:"column",justifyContent:"flex-start"}});var _default=exports.default=NumberKeyboard;
|
|
@@ -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 _overlays(){const e=require("@react-native-aria/overlays");return _overlays=function(){return e},e}function _interactions(){const e=require("@react-native-aria/interactions");return _interactions=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Overlay=void 0;var _tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const IS_WEB="web"===_reactNative().Platform.OS,OverlayImpl=(e,r)=>{const{children:t,isOpen:a,visible:n,useRNModal:o,useRNModalOnAndroid:i=!1,isKeyboardDismissable:l=!0,animationPreset:s="fade",onRequestClose:u,style:c}=e,d=(0,_tokens.useOverlayTokens)(),f=o??!IS_WEB,v=IS_WEB?{zIndex:d.layer.zIndex,position:"fixed",top:0,left:0,right:0,bottom:0}:void 0,_=a??n??!1;return(0,_interactions().useKeyboardDismissable)({enabled:!IS_WEB&&_&&l,callback:u??
|
|
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 _overlays(){const e=require("@react-native-aria/overlays");return _overlays=function(){return e},e}function _interactions(){const e=require("@react-native-aria/interactions");return _interactions=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Overlay=void 0;var _tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const IS_WEB="web"===_reactNative().Platform.OS,NOOP=()=>{},OverlayImpl=(e,r)=>{const{children:t,isOpen:a,visible:n,useRNModal:o,useRNModalOnAndroid:i=!1,isKeyboardDismissable:l=!0,animationPreset:s="fade",onRequestClose:u,style:c}=e,d=(0,_tokens.useOverlayTokens)(),f=o??!IS_WEB,v=IS_WEB?{zIndex:d.layer.zIndex,position:"fixed",top:0,left:0,right:0,bottom:0}:void 0,_=a??n??!1;return(0,_interactions().useKeyboardDismissable)({enabled:!IS_WEB&&_&&l,callback:u??NOOP}),_?f||i&&"android"===_reactNative().Platform.OS?_react().default.createElement(_reactNative().Modal,{statusBarTranslucent:!0,transparent:!0,visible:_,onRequestClose:u,animationType:s,ref:r},t):_react().default.createElement(_overlays().OverlayContainer,{style:[c,v]},t):null},OverlayForwardRef=_react().default.forwardRef(OverlayImpl);OverlayForwardRef.displayName="Overlay";const Overlay=exports.Overlay=_react().default.memo(OverlayForwardRef);var _default=exports.default=Overlay;
|
|
@@ -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.toArrayValue=exports.prepareColumns=exports.normalizePicker=exports.findEnabledIndex=exports.default=void 0,exports.usePickerValue=usePickerValue;var _loading=_interopRequireDefault(require("../loading")),_useLocale=require("../config-provider/useLocale"),_color=require("../../utils/color"),_validate=require("../../utils/validate"),_utils=require("../../utils"),_tokens=require("./tokens"),_hairline=require("../../utils/hairline");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,l,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)&&((l=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?n(o,t,l):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 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,t)=>{if(!e.length)return-1;const r=Math.min(Math.max(t,0),e.length-1);if(!e[r]?.disabled)return r;for(let t=r+1;t<e.length;t+=1)if(!e[t]?.disabled)return t;for(let t=r-1;t>=0;t-=1)if(!e[t]?.disabled)return t;return-1};exports.findEnabledIndex=findEnabledIndex;const normalizeMultiple=(e,t,r)=>{const a=[],n=[];return e.forEach((e,l)=>{const o=r[l],i=void 0!==t[l]?e.findIndex(e=>e.value===t[l]):-1,c=e.findIndex(e=>e.value===o),s=findEnabledIndex(e,c>=0?c:i>=0?i:0),u=s>=0?e[s]:void 0,d=c>=0&&!e[c]?.disabled;a[l]=d?o:u?.value??t[l]??e[0]?.value,n[l]=u}),{columns:e,values:a,options:n}},normalizeCascade=(e,t)=>{const r=[],a=[],n=[];let l=e,o=0;for(;l&&l.length&&o<10;){r.push(l);const e=t[o],i=l.findIndex(t=>t.value===e||String(t.value)===String(e)),c=findEnabledIndex(l,i>=0?i:0),s=c>=0?l[c]:l[0];if(a[o]=s?.value,n[o]=s,!s||!hasChildren(s))break;l=s.children,o+=1}return{columns:r,values:a,options:n}},prepareColumns=(e=[])=>{if(!Array.isArray(e)||0===e.length)return{type:"single",columnsList:[],defaults:[],cascadeRoot:[]};const t=e.every(e=>!Array.isArray(e)&&!isColumnWithOptions(e)),r=t&&e.some(e=>hasChildren(e));if(r)return{type:"cascade",columnsList:[],defaults:[],cascadeRoot:e};const a=e,n=[],l=[];return t&&!r?(n.push(e),l.push(void 0)):a.forEach(e=>{if(Array.isArray(e))n.push(e),l.push(void 0);else if(isColumnWithOptions(e)){const t=e;n.push(t.options??[]),l.push(t.defaultValue)}}),{type:"multiple",columnsList:n,defaults:l}};exports.prepareColumns=prepareColumns;const normalizePicker=(e,t=[])=>{const r=Array.isArray(t)?t:[];return"cascade"===e.type&&e.cascadeRoot?.length?normalizeCascade(e.cascadeRoot,r):normalizeMultiple(e.columnsList,e.defaults,r)};exports.normalizePicker=normalizePicker;const W=_reactNative().StyleSheet.create({column:{flex:1},option:{justifyContent:"center",alignItems:"center"},grab:{cursor:"pointer",userSelect:"none",touchAction:"none"}}),WheelPickerItemInner=({item:e,index:t,itemHeight:r,active:a,disabled:n,renderItem:l})=>{const o=l(e,t,{active:a,disabled:n});return _react().default.createElement(_reactNative().View,{style:[W.option,{height:r}]},o)},WheelPickerItem=_react().default.memo(WheelPickerItemInner),getVelocityBucket=e=>{const t=Math.abs(e);return t>1.2?2:t>.6?1:0},adjustIndex=(e,t)=>{const r=t.length;if(!r)return 0;const a=(0,_utils.clamp)(e,0,r-1),n=findEnabledIndex(t,a);return n>=0?n:a},indexToOffset=(e,t)=>-e*t,offsetToIndex=(e,t,r,a)=>{const n=-Math.max(0,r-1)*t,l=(0,_utils.clamp)(e,n,0);let o=Math.round(-l/t);o=adjustIndex(o,a);return{index:o,snapOffset:indexToOffset(o,t)}},shouldMomentum=(e,t)=>t<500&&Math.abs(e)>8,momentumTarget=(e,t,r,a,n)=>{const l=Math.abs(e/t)/.0025*(e<0?-1:1),o=(0,_utils.clamp)(r+l,n,0),i=Math.round(-o/a);return indexToOffset(i,a)},WheelPickerInner=({data:e,selectedIndex:t,onChange:r,onInteractStart:a,onInteractEnd:n,renderItem:l,itemHeight:o,visibleRest:i,readOnly:c,indicatorColor:s,decelerationRate:u=_reactNative().Platform.select({ios:.9985,android:.995,default:.995})??"normal",scrollEventThrottle:d=16,swipeDuration:f=300})=>{const m="web"===_reactNative().Platform.OS,_=(0,_react().useRef)(null),p=(0,_react().useRef)(null),h=i*o,v=e.length,y=Math.max(0,v-1),b=-y*o,g=o*(2*i+1),E=(0,_utils.clamp)(t,0,y),x=findEnabledIndex(e,E),k=x>=0?x:E,C=2*i+1,w=v>20*C?32:d,I=v>4*C,R=(0,_react().useCallback)(()=>_react().default.createElement(_reactNative().View,{style:{height:h}}),[h]),V=(0,_react().useMemo)(()=>[S.indicator,{height:o,top:o*i}],[o,i]),T=(0,_react().useRef)(null),P=(0,_react().useRef)(!1),M=(0,_react().useRef)(0),N=(0,_react().useCallback)(()=>{T.current&&(clearTimeout(T.current),T.current=null)},[]),A=(0,_react().useCallback)((t,a)=>{if(c)return;const{index:n,snapOffset:l}=offsetToIndex(-t,o,v,e),i=-l;Math.abs(i-t)>.5&&_.current?.scrollToOffset({offset:i,animated:a}),r(n)},[e,o,r,c,v]);(0,_react().useEffect)(()=>{const e=k*o;m||p.current?.scrollTo({y:e,animated:!1})},[m,o,k]);const[O,D]=(0,_react().useState)(()=>indexToOffset(k,o)),q=(0,_react().useRef)(O),z=(0,_react().useRef)(0),H=(0,_react().useRef)(0),[L,j]=(0,_react().useState)(0),[F,G]=(0,_react().useState)(0),$=(0,_react().useRef)(0),B=(0,_react().useRef)(null),Y=(0,_react().useRef)(0),J=(0,_react().useRef)(null),K=(0,_react().useRef)(null),Q=(0,_react().useRef)(null),U=(0,_react().useRef)(null),X=(0,_react().useRef)(!1),Z=(0,_react().useRef)(a);Z.current=a;const ee=(0,_react().useRef)(n);ee.current=n;const te=(0,_react().useCallback)(()=>{c||X.current||(X.current=!0,Z.current?.())},[c]),re=(0,_react().useCallback)(()=>{X.current&&(X.current=!1,ee.current?.())},[]),ae=(0,_react().useCallback)(()=>{null!=U.current&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(U.current),U.current=null),null!=J.current&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(J.current),J.current=null)},[]),ne=(0,_react().useCallback)(()=>{Q.current&&(clearTimeout(Q.current),Q.current=null)},[]);(0,_react().useEffect)(()=>()=>{N(),ne(),ae()},[N,ne,ae]);const le=(0,_react().useCallback)(e=>{const t=getVelocityBucket(e);t!==$.current&&($.current=t,G(t))},[]),oe=(0,_react().useCallback)(e=>{const t=Date.now(),r=B.current;if(null!=r){const a=Math.max(1,t-r);le(e/a)}B.current=t},[le]);(0,_react().useEffect)(()=>{if(!m)return;ne(),K.current=null,j(0);const e=indexToOffset(k,o);q.current=e,D(e)},[ne,m,o,k,j]);const ie=(0,_react().useCallback)(()=>{if(c)return;const e=K.current;null!=e&&(K.current=null,ne(),j(0),re(),r(e))},[ne,r,c,j]),ce=(0,_react().useCallback)(e=>{if(c)return;te();const t=(0,_utils.clamp)(e,0,y),r=indexToOffset(t,o);ne(),K.current=t,q.current=r,j(f),D(r),f<=0?ie():Q.current=setTimeout(ie,f+80)},[ne,ie,o,y,c,f]),se=(0,_react().useCallback)(t=>{if(c)return;const r=t.nativeEvent?.deltaY??0;r&&(Y.current+=r,null==J.current&&"undefined"!=typeof requestAnimationFrame&&(J.current=requestAnimationFrame(()=>{J.current=null;const t=Y.current;if(Y.current=0,!t)return;oe(t);const r=t>0?1:-1,{index:a}=offsetToIndex(q.current,o,v,e),n=(0,_utils.clamp)(a+r,0,y);ce(n)})))},[e,o,y,c,ce,v,oe]),ue=(0,_utils.clamp)(Math.round(-O/o),0,y),de=(0,_react().useMemo)(()=>{if(!m||v<=0)return{items:null,topSpacer:null,bottomSpacer:null};let t=0,r=y;if(I){const e=Math.max(2*C,8),a=2===F?4*C:1===F?2*C:0,n=Math.min(e+a,Math.max(6*C,24));t=(0,_utils.clamp)(ue-n,0,y),r=(0,_utils.clamp)(ue+n,0,y)}const a=[];for(let n=t;n<=r;n+=1){const t=e[n];t&&a.push(_react().default.createElement(WheelPickerItem,{key:`${n}-${String(t.value??"")}`,item:t,index:n,itemHeight:o,active:n===k,disabled:!!t.disabled,renderItem:l}))}const n=t*o,i=(y-r)*o;return{items:a,topSpacer:n>0&&_react().default.createElement(_reactNative().View,{style:{height:n}}),bottomSpacer:i>0&&_react().default.createElement(_reactNative().View,{style:{height:i}})}},[e,m,o,y,l,k,v,C,ue,F,I]),fe=(0,_react().useMemo)(()=>({transform:[{translateY:O}]}),[O]),me=(0,_react().useMemo)(()=>L?{transitionProperty:"transform",transitionDuration:L+"ms",transitionTimingFunction:"cubic-bezier(0.23, 1, 0.68, 1)",willChange:"transform"}:void 0,[L]),_e=(0,_react().useCallback)(e=>{const t=e.nativeEvent?.propertyName??e.propertyName;t&&"transform"!==t&&"webkitTransform"!==t||ie()},[ie]),pe=(0,_react().useMemo)(()=>_reactNative().PanResponder.create({onStartShouldSetPanResponder:()=>!c,onMoveShouldSetPanResponder:()=>!c,onPanResponderGrant:()=>{ae(),K.current=null,te(),j(0),z.current=q.current,H.current=Date.now()},onPanResponderMove:(e,t)=>{if(c)return;le(t.vy);const r=(0,_utils.clamp)(z.current+t.dy,b,0);q.current=r,"undefined"==typeof requestAnimationFrame?D(r):null!=U.current||(U.current=requestAnimationFrame(()=>{U.current=null,D(q.current)}))},onPanResponderRelease:(t,r)=>{if(c)return;le(0);const a=Date.now()-H.current,n=r.dy;let l=(0,_utils.clamp)(z.current+n,b,0);shouldMomentum(n,a)&&(l=momentumTarget(n,a,z.current,o,b));const{index:i}=offsetToIndex(l,o,v,e);ce(i)},onPanResponderTerminationRequest:()=>!1,onPanResponderTerminate:()=>{re(),j(0)}}),[e,o,b,re,te,c,le,ce,ae,v]),he=!c,ve=(0,_react().useCallback)(()=>he,[he]),ye=(0,_react().useMemo)(()=>({paddingVertical:h}),[h]),be=(0,_react().useCallback)(e=>{M.current=e.nativeEvent.contentOffset.y},[]),ge=(0,_react().useCallback)(()=>{P.current=!1,N(),te()},[N,te]),Ee=(0,_react().useCallback)(e=>{if(c)return;const t=e.nativeEvent.contentOffset.y;M.current=t,N(),T.current=setTimeout(()=>{P.current||(A(M.current,!0),re())},80)},[N,A,re,c]),xe=(0,_react().useCallback)(()=>{P.current=!0,N(),te()},[N,te]),ke=(0,_react().useCallback)(e=>{P.current=!1,N();const t=e.nativeEvent.contentOffset.y;M.current=t,A(t,!1),re()},[N,A,re]);return m?_react().default.createElement(_reactNative().View,_extends({style:[W.column,{height:g},W.grab],onWheel:se},pe.panHandlers),_react().default.createElement(_reactNative().View,{style:V,pointerEvents:"none"},_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:s,left:0,right:0})}),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:s,left:0,right:0})})),_react().default.createElement(_reactNative().View,{style:[fe,me],onTransitionEnd:_e},_react().default.createElement(R,null),de.topSpacer,de.items,de.bottomSpacer,_react().default.createElement(R,null))):_react().default.createElement(_reactNative().View,{style:[W.column,{height:g}],collapsable:!1},_react().default.createElement(_reactNative().View,{style:V,pointerEvents:"none"},_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:s,left:0,right:0})}),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:s,left:0,right:0})})),_react().default.createElement(_reactNative().ScrollView,{ref:p,showsVerticalScrollIndicator:!1,scrollEventThrottle:w,decelerationRate:u,snapToInterval:o,snapToAlignment:"start",bounces:!1,overScrollMode:"never",nestedScrollEnabled:!0,contentContainerStyle:ye,onStartShouldSetResponderCapture:ve,onMoveShouldSetResponderCapture:ve,onScroll:be,onScrollBeginDrag:ge,onScrollEndDrag:Ee,onMomentumScrollBegin:xe,onMomentumScrollEnd:ke,scrollEnabled:!c},e.map((e,t)=>_react().default.createElement(WheelPickerItem,{key:`${t}-${String(e.value??"")}`,item:e,index:t,itemHeight:o,active:t===k,disabled:!!e.disabled,renderItem:l}))))},WheelPicker=_react().default.memo(WheelPickerInner);function usePickerValue({columns:e,valueProp:t,defaultValue:r,emitConfirmOnAutoSelect:a=!0,onChange:n,onConfirm:l}){const o=(0,_react().useMemo)(()=>prepareColumns(e),[e]),i=void 0!==t,c=(0,_react().useRef)(n),s=(0,_react().useRef)(l);c.current=n,s.current=l;const[u,d]=(0,_react().useState)(()=>normalizePicker(o,toArrayValue(t??r)).values),f=(0,_react().useRef)(u);f.current=u;const m=(0,_react().useCallback)(e=>{f.current=e,d(e)},[]);(0,_react().useEffect)(()=>{if(!i)return;const e=toArrayValue(t);(0,_utils.shallowEqualArray)(f.current,e)||m(e)},[m,i,t]);const _=(0,_react().useMemo)(()=>normalizePicker(o,u),[o,u]);(0,_react().useEffect)(()=>{i||(0,_utils.shallowEqualArray)(u,_.values)||(m(_.values),c.current?.(_.values,_.options),a&&s.current?.(_.values,_.options))},[m,a,u,i,_]);const p=(0,_react().useCallback)((e,t)=>{const r=[...f.current];r[t]=e.value,"cascade"===o.type&&(r.length=t+1);const a=normalizePicker(o,r);(0,_utils.shallowEqualArray)(f.current,a.values)||(m(a.values),c.current?.(a.values,a.options))},[m,o]),h=(0,_react().useCallback)(()=>{s.current?.(_.values,_.options)},[_]);return{preparedColumns:o,normalized:_,handleSelect:p,handleConfirm:h}}const getVisibleCount=e=>{const t=(0,_validate.isFiniteNumber)(e)?Math.max(3,Math.floor(e)):5;return t%2==0?t+1:t},GRADIENT_OVERLAY_ALPHA=.25,GRADIENT_STEPS=[.95,.75,.55,.35],GRADIENT_STEPS_REVERSED=[.35,.55,.75,.95],GradientMask=({height:e,color:t,position:r,maskType:a})=>{const n=[S.gMask,{height:e},"top"===r?{top:0}:{bottom:0}],l=(0,_color.withAlpha)(t,.25);if("solid"===a)return _react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[...n,{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:[...n,{backgroundColor:l,backgroundImage:`linear-gradient(${e}, ${(0,_color.withAlpha)(t,.98)}, ${(0,_color.withAlpha)(t,.4)})`}]})}return _react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[...n,{backgroundColor:l}]},("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)}})))},PickerColumn=_react().default.memo(e=>{const{columnIndex:t,options:r,value:a,itemHeight:n,visibleItemCount:l,optionRender:o,getOptionTestID:i,getOptionA11yLabel:c,onSelect:s,tokens:u,readOnly:d,decelerationRate:f,scrollEventThrottle:m,swipeDuration:_}=e,p=Math.max(1,Math.floor((l-1)/2)),h=(0,_react().useMemo)(()=>new Map(r.map((e,t)=>[e.value,t])),[r]),v=(0,_react().useMemo)(()=>{if(!r.length)return 0;const e=h.get(a);return findEnabledIndex(r,"number"==typeof e&&e>=0?e:0)},[r,a,h]),y=(0,_react().useCallback)(e=>{const a=findEnabledIndex(r,e),n=r[a];n&&!n.disabled&&s(n,t,a)},[t,s,r]),{text:b,textDisabled:g,textMuted:E}=u.colors,x={fontSize:u.typography.optionSize,fontFamily:u.typography.fontFamily,fontWeight:u.typography.optionWeight},k=(0,_react().useCallback)((e,r,a)=>{const{active:l=!1,disabled:s=!1}=a??{},u=s?g:l?b:E,d=o?o(e,{columnIndex:t,active:l}):e.label??e.value,f=i?.(e,{columnIndex:t,active:l}),m=c?.(e,{columnIndex:t,active:l});return _react().default.createElement(_reactNative().View,{style:[W.option,{opacity:s?.5:1,minHeight:n}],testID:f,accessible:!!m,accessibilityLabel:m},(0,_validate.isText)(d)?_react().default.createElement(_reactNative().Text,{numberOfLines:1,style:[S.optTxt,x,{color:u}]},d):d)},[b,g,E,t,c,i,n,x,o]);return _react().default.createElement(_reactNative().View,{style:[W.column,{height:n*l}]},_react().default.createElement(WheelPicker,{data:r,itemHeight:n,visibleRest:p,selectedIndex:Math.max(0,v),onChange:y,readOnly:d,indicatorColor:u.colors.indicator,decelerationRate:f,scrollEventThrottle:m,swipeDuration:_,renderItem:k}))}),PickerImpl=e=>{const{tokensOverride:t}=e,r=(0,_useLocale.useLocale)(),a=(0,_tokens.usePickerTokens)(t),{columns:n=[],value:l,defaultValue:o,title:i,showToolbar:c=a.defaults.showToolbar,toolbarPosition:s=a.defaults.toolbarPosition,confirmButtonText:u=r?.confirm??"Confirm",cancelButtonText:d=r?.cancel??"Cancel",itemHeight:f=a.defaults.itemHeight,visibleItemCount:m=a.defaults.visibleItemCount,loading:_=!1,readOnly:p=!1,decelerationRate:h=_reactNative().Platform.select({ios:.999,android:.997,default:.989})??"normal",swipeDuration:v=a.defaults.swipeDuration,scrollEventThrottle:y=16,columnsTop:b,columnsBottom:g,optionRender:E,getOptionTestID:x,getOptionA11yLabel:k,emitConfirmOnAutoSelect:C=!0,maskColor:w,maskType:I=a.defaults.maskType,onChange:R,onConfirm:V,onCancel:T,style:P,testID:M,...N}=e,A=getVisibleCount(m??a.defaults.visibleItemCount),{normalized:O,handleSelect:W,handleConfirm:D,preparedColumns:q}=usePickerValue({columns:n,valueProp:l,defaultValue:o,emitConfirmOnAutoSelect:C,onChange:R,onConfirm:V}),z="cascade"===q.type,H={fontSize:a.typography.toolbarSize,fontFamily:a.typography.fontFamily,fontWeight:a.typography.toolbarWeight},L=(e,t)=>_react().default.isValidElement(e)?_react().default.createElement(_reactNative().View,{style:S.actW},e):(0,_validate.isText)(e)?_react().default.createElement(_reactNative().Text,{numberOfLines:1,style:[S.actTxt,H,{color:t}]},e):_react().default.createElement(_reactNative().View,{style:S.actW}),j=c?_react().default.createElement(_reactNative().View,{style:[S.toolbar,{height:a.spacing.toolbarHeight,paddingHorizontal:a.spacing.actionPadding}]},_react().default.createElement(_reactNative().Pressable,{onPress:T,accessibilityRole:"button"},L(d,a.colors.cancel)),null==(F=i)?_react().default.createElement(_reactNative().View,null):_react().default.isValidElement(F)?_react().default.createElement(_reactNative().View,{style:S.ttlW},F):_react().default.createElement(_reactNative().Text,{style:[S.title,H,{color:a.colors.text}],numberOfLines:1},F),_react().default.createElement(_reactNative().Pressable,{onPress:D,accessibilityRole:"button"},L(u,a.colors.confirm)),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:a.colors.indicator,left:0,right:0})})):null;var F;const G=f*A,$=Math.max(1,Math.floor((A-1)/2)),B=f*$,Y=B,J=O.columns.length>0,K=w??a.colors.mask,Q=J?O.columns.map((e,t)=>{const r=z?`${t}-${O.values.slice(0,t).map(String).join("|")}`:String(t);return _react().default.createElement(PickerColumn,{key:r,columnIndex:t,options:e,value:O.values[t],itemHeight:f,visibleItemCount:A,decelerationRate:h,scrollEventThrottle:y,optionRender:E,getOptionTestID:x,getOptionA11yLabel:k,readOnly:p,swipeDuration:v,onSelect:W,tokens:a})}):null;return _react().default.createElement(_reactNative().View,_extends({},N,{style:[{backgroundColor:a.colors.background,borderRadius:a.radius.container},P],testID:M}),"top"===s&&j,_react().default.createElement(_reactNative().View,{style:[S.body,{height:G}]},_react().default.createElement(_reactNative().View,{style:S.columns,pointerEvents:_?"none":"auto"},b,Q,g,J&&_react().default.createElement(_react().default.Fragment,null,_react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[S.indicator,{top:B,height:f}]},_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:a.colors.indicator,left:0,right:0})}),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:a.colors.indicator,left:0,right:0})})),_react().default.createElement(GradientMask,{position:"top",height:Y,color:K,maskType:I}),_react().default.createElement(GradientMask,{position:"bottom",height:Y,color:K,maskType:I}))),_&&_react().default.createElement(_reactNative().View,{style:[S.loading,{backgroundColor:a.colors.loadingMask}]},_react().default.createElement(_loading.default,null))),"bottom"===s&&j)},S=_reactNative().StyleSheet.create({body:{position:"relative",overflow:"hidden"},columns:{flex:1,flexDirection:"row"},optTxt:{includeFontPadding:!1},indicator:{position:"absolute",left:0,right:0,zIndex:3},gMask:{position:"absolute",left:0,right:0,zIndex:2},toolbar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},title:{flex:1,textAlign:"center"},ttlW:{flex:1,alignItems:"center",justifyContent:"center"},actTxt:{minWidth:44,textAlign:"center"},actW:{minWidth:44,alignItems:"center",justifyContent:"center"},loading:{position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",justifyContent:"center"}}),Picker=_react().default.memo(PickerImpl);var _default=exports.default=Picker;
|
|
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=void 0,Object.defineProperty(exports,"findEnabledIndex",{enumerable:!0,get:function(){return _normalize.findEnabledIndex}}),Object.defineProperty(exports,"normalizePicker",{enumerable:!0,get:function(){return _normalize.normalizePicker}}),Object.defineProperty(exports,"prepareColumns",{enumerable:!0,get:function(){return _normalize.prepareColumns}}),Object.defineProperty(exports,"toArrayValue",{enumerable:!0,get:function(){return _normalize.toArrayValue}}),Object.defineProperty(exports,"usePickerValue",{enumerable:!0,get:function(){return _value.usePickerValue}});var _loading=_interopRequireDefault(require("../loading")),_useLocale=require("../config-provider/useLocale"),_validate=require("../../utils/validate"),_utils=require("../../utils"),_tokens=require("./tokens"),_hairline=require("../../utils/hairline"),_normalize=require("../../hooks/picker/normalize"),_value=require("../../hooks/picker/value");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,l,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?a(o,t,l):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 n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const W=_reactNative().StyleSheet.create({column:{flex:1},option:{justifyContent:"center",alignItems:"center"},grab:{cursor:"pointer",userSelect:"none",touchAction:"none"}}),WheelPickerItemInner=({item:e,index:t,itemHeight:r,active:n,disabled:a,renderItem:l})=>{const o=l(e,t,{active:n,disabled:a});return _react().default.createElement(_reactNative().View,{style:[W.option,{height:r}]},o)},WheelPickerItem=_react().default.memo(WheelPickerItemInner),getVelocityBucket=e=>{const t=Math.abs(e);return t>1.2?2:t>.6?1:0},adjustIndex=(e,t)=>{const r=t.length;if(!r)return 0;const n=(0,_utils.clamp)(e,0,r-1),a=(0,_normalize.findEnabledIndex)(t,n);return a>=0?a:n},indexToOffset=(e,t)=>-e*t,offsetToIndex=(e,t,r,n)=>{const a=-Math.max(0,r-1)*t,l=(0,_utils.clamp)(e,a,0);let o=Math.round(-l/t);o=adjustIndex(o,n);return{index:o,snapOffset:indexToOffset(o,t)}},shouldMomentum=(e,t)=>t<500&&Math.abs(e)>8,momentumTarget=(e,t,r,n,a)=>{const l=Math.abs(e/t)/.0025*(e<0?-1:1),o=(0,_utils.clamp)(r+l,a,0),i=Math.round(-o/n);return indexToOffset(i,n)},WheelPickerInner=({data:e,selectedIndex:t,onChange:r,onInteractStart:n,onInteractEnd:a,renderItem:l,itemHeight:o,visibleRest:i,readOnly:c,indicatorColor:u,decelerationRate:s=_reactNative().Platform.select({ios:.9985,android:.995,default:.995})??"normal",scrollEventThrottle:d=16,swipeDuration:m=300})=>{const f="web"===_reactNative().Platform.OS,_=(0,_react().useRef)(null),p=(0,_react().useRef)(null),h=i*o,v=e.length,b=Math.max(0,v-1),g=-b*o,y=o*(2*i+1),x=(0,_utils.clamp)(t,0,b),E=(0,_normalize.findEnabledIndex)(e,x),k=E>=0?E:x,w=2*i+1,C=v>20*w?32:d,I=v>4*w,T=(0,_react().useCallback)(()=>_react().default.createElement(_reactNative().View,{style:{height:h}}),[h]),P=(0,_react().useMemo)(()=>[S.indicator,{height:o,top:o*i}],[o,i]),V=(0,_react().useRef)(null),R=(0,_react().useRef)(!1),M=(0,_react().useRef)(0),N=(0,_react().useCallback)(()=>{V.current&&(clearTimeout(V.current),V.current=null)},[]),O=(0,_react().useCallback)((t,n)=>{if(c)return;const{index:a,snapOffset:l}=offsetToIndex(-t,o,v,e),i=-l;Math.abs(i-t)>.5&&_.current?.scrollToOffset({offset:i,animated:n}),r(a)},[e,o,r,c,v]);(0,_react().useEffect)(()=>{const e=k*o;f||p.current?.scrollTo({y:e,animated:!1})},[f,o,k]);const[D,q]=(0,_react().useState)(()=>indexToOffset(k,o)),z=(0,_react().useRef)(D),H=(0,_react().useRef)(0),j=(0,_react().useRef)(0),[A,F]=(0,_react().useState)(0),[L,B]=(0,_react().useState)(0),$=(0,_react().useRef)(0),G=(0,_react().useRef)(null),Y=(0,_react().useRef)(0),J=(0,_react().useRef)(null),K=(0,_react().useRef)(null),Q=(0,_react().useRef)(null),U=(0,_react().useRef)(null),X=(0,_react().useRef)(!1),Z=(0,_react().useRef)(n);Z.current=n;const ee=(0,_react().useRef)(a);ee.current=a;const te=(0,_react().useCallback)(()=>{c||X.current||(X.current=!0,Z.current?.())},[c]),re=(0,_react().useCallback)(()=>{X.current&&(X.current=!1,ee.current?.())},[]),ne=(0,_react().useCallback)(()=>{null!=U.current&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(U.current),U.current=null),null!=J.current&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(J.current),J.current=null)},[]),ae=(0,_react().useCallback)(()=>{Q.current&&(clearTimeout(Q.current),Q.current=null)},[]);(0,_react().useEffect)(()=>()=>{N(),ae(),ne()},[N,ae,ne]);const le=(0,_react().useCallback)(e=>{const t=getVelocityBucket(e);t!==$.current&&($.current=t,B(t))},[]),oe=(0,_react().useCallback)(e=>{const t=Date.now(),r=G.current;if(null!=r){const n=Math.max(1,t-r);le(e/n)}G.current=t},[le]);(0,_react().useEffect)(()=>{if(!f)return;ae(),K.current=null,F(0);const e=indexToOffset(k,o);z.current=e,q(e)},[ae,f,o,k,F]);const ie=(0,_react().useCallback)(()=>{if(c)return;const e=K.current;null!=e&&(K.current=null,ae(),F(0),re(),r(e))},[ae,r,c,F]),ce=(0,_react().useCallback)(e=>{if(c)return;te();const t=(0,_utils.clamp)(e,0,b),r=indexToOffset(t,o);ae(),K.current=t,z.current=r,F(m),q(r),m<=0?ie():Q.current=setTimeout(ie,m+80)},[ae,ie,o,b,c,m]),ue=(0,_react().useCallback)(t=>{if(c)return;const r=t.nativeEvent?.deltaY??0;r&&(Y.current+=r,null==J.current&&"undefined"!=typeof requestAnimationFrame&&(J.current=requestAnimationFrame(()=>{J.current=null;const t=Y.current;if(Y.current=0,!t)return;oe(t);const r=t>0?1:-1,{index:n}=offsetToIndex(z.current,o,v,e),a=(0,_utils.clamp)(n+r,0,b);ce(a)})))},[e,o,b,c,ce,v,oe]),se=(0,_utils.clamp)(Math.round(-D/o),0,b),de=(0,_react().useMemo)(()=>{if(!f||v<=0)return{items:null,topSpacer:null,bottomSpacer:null};let t=0,r=b;if(I){const e=Math.max(2*w,8),n=2===L?4*w:1===L?2*w:0,a=Math.min(e+n,Math.max(6*w,24));t=(0,_utils.clamp)(se-a,0,b),r=(0,_utils.clamp)(se+a,0,b)}const n=[];for(let a=t;a<=r;a+=1){const t=e[a];t&&n.push(_react().default.createElement(WheelPickerItem,{key:`${a}-${String(t.value??"")}`,item:t,index:a,itemHeight:o,active:a===k,disabled:!!t.disabled,renderItem:l}))}const a=t*o,i=(b-r)*o;return{items:n,topSpacer:a>0&&_react().default.createElement(_reactNative().View,{style:{height:a}}),bottomSpacer:i>0&&_react().default.createElement(_reactNative().View,{style:{height:i}})}},[e,f,o,b,l,k,v,w,se,L,I]),me=(0,_react().useMemo)(()=>({transform:[{translateY:D}]}),[D]),fe=(0,_react().useMemo)(()=>A?{transitionProperty:"transform",transitionDuration:A+"ms",transitionTimingFunction:"cubic-bezier(0.23, 1, 0.68, 1)",willChange:"transform"}:void 0,[A]),_e=(0,_react().useCallback)(e=>{const t=e.nativeEvent?.propertyName??e.propertyName;t&&"transform"!==t&&"webkitTransform"!==t||ie()},[ie]),pe=(0,_react().useMemo)(()=>_reactNative().PanResponder.create({onStartShouldSetPanResponder:()=>!c,onMoveShouldSetPanResponder:()=>!c,onPanResponderGrant:()=>{ne(),K.current=null,te(),F(0),H.current=z.current,j.current=Date.now()},onPanResponderMove:(e,t)=>{if(c)return;le(t.vy);const r=(0,_utils.clamp)(H.current+t.dy,g,0);z.current=r,"undefined"==typeof requestAnimationFrame?q(r):null!=U.current||(U.current=requestAnimationFrame(()=>{U.current=null,q(z.current)}))},onPanResponderRelease:(t,r)=>{if(c)return;le(0);const n=Date.now()-j.current,a=r.dy;let l=(0,_utils.clamp)(H.current+a,g,0);shouldMomentum(a,n)&&(l=momentumTarget(a,n,H.current,o,g));const{index:i}=offsetToIndex(l,o,v,e);ce(i)},onPanResponderTerminationRequest:()=>!1,onPanResponderTerminate:()=>{re(),F(0)}}),[e,o,g,re,te,c,le,ce,ne,v]),he=!c,ve=(0,_react().useCallback)(()=>he,[he]),be=(0,_react().useMemo)(()=>({paddingVertical:h}),[h]),ge=(0,_react().useCallback)(e=>{M.current=e.nativeEvent.contentOffset.y},[]),ye=(0,_react().useCallback)(()=>{R.current=!1,N(),te()},[N,te]),xe=(0,_react().useCallback)(e=>{if(c)return;const t=e.nativeEvent.contentOffset.y;M.current=t,N(),V.current=setTimeout(()=>{R.current||(O(M.current,!0),re())},80)},[N,O,re,c]),Ee=(0,_react().useCallback)(()=>{R.current=!0,N(),te()},[N,te]),ke=(0,_react().useCallback)(e=>{R.current=!1,N();const t=e.nativeEvent.contentOffset.y;M.current=t,O(t,!1),re()},[N,O,re]);return f?_react().default.createElement(_reactNative().View,_extends({style:[W.column,{height:y},W.grab],onWheel:ue},pe.panHandlers),_react().default.createElement(_reactNative().View,{style:P,pointerEvents:"none"},_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:u,left:0,right:0})}),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:u,left:0,right:0})})),_react().default.createElement(_reactNative().View,{style:[me,fe],onTransitionEnd:_e},_react().default.createElement(T,null),de.topSpacer,de.items,de.bottomSpacer,_react().default.createElement(T,null))):_react().default.createElement(_reactNative().View,{style:[W.column,{height:y}],collapsable:!1},_react().default.createElement(_reactNative().View,{style:P,pointerEvents:"none"},_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:u,left:0,right:0})}),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:u,left:0,right:0})})),_react().default.createElement(_reactNative().ScrollView,{ref:p,showsVerticalScrollIndicator:!1,scrollEventThrottle:C,decelerationRate:s,snapToInterval:o,snapToAlignment:"start",bounces:!1,overScrollMode:"never",nestedScrollEnabled:!0,contentContainerStyle:be,onStartShouldSetResponderCapture:ve,onMoveShouldSetResponderCapture:ve,onScroll:ge,onScrollBeginDrag:ye,onScrollEndDrag:xe,onMomentumScrollBegin:Ee,onMomentumScrollEnd:ke,scrollEnabled:!c},e.map((e,t)=>_react().default.createElement(WheelPickerItem,{key:`${t}-${String(e.value??"")}`,item:e,index:t,itemHeight:o,active:t===k,disabled:!!e.disabled,renderItem:l}))))},WheelPicker=_react().default.memo(WheelPickerInner),PickerColumn=_react().default.memo(e=>{const{columnIndex:t,options:r,value:n,itemHeight:a,visibleItemCount:l,optionRender:o,getOptionTestID:i,getOptionA11yLabel:c,onSelect:u,tokens:s,readOnly:d,decelerationRate:m,scrollEventThrottle:f,swipeDuration:_}=e,p=Math.max(1,Math.floor((l-1)/2)),h=(0,_react().useMemo)(()=>new Map(r.map((e,t)=>[e.value,t])),[r]),v=(0,_react().useMemo)(()=>{if(!r.length)return 0;const e=h.get(n),t="number"==typeof e&&e>=0?e:0;return(0,_normalize.findEnabledIndex)(r,t)},[r,n,h]),b=(0,_react().useCallback)(e=>{const n=(0,_normalize.findEnabledIndex)(r,e),a=r[n];a&&!a.disabled&&u(a,t,n)},[t,u,r]),{text:g,textDisabled:y,textMuted:x}=s.colors,E={fontSize:s.typography.optionSize,fontFamily:s.typography.fontFamily,fontWeight:s.typography.optionWeight},k=(0,_react().useCallback)((e,r,n)=>{const{active:l=!1,disabled:u=!1}=n??{},s=u?y:l?g:x,d=o?o(e,{columnIndex:t,active:l}):e.label??e.value,m=i?.(e,{columnIndex:t,active:l}),f=c?.(e,{columnIndex:t,active:l});return _react().default.createElement(_reactNative().View,{style:[W.option,{opacity:u?.5:1,minHeight:a}],testID:m,accessible:!!f,accessibilityLabel:f},(0,_validate.isText)(d)?_react().default.createElement(_reactNative().Text,{numberOfLines:1,style:[S.optTxt,E,{color:s}]},d):d)},[g,y,x,t,c,i,a,E,o]);return _react().default.createElement(_reactNative().View,{style:[W.column,{height:a*l}]},_react().default.createElement(WheelPicker,{data:r,itemHeight:a,visibleRest:p,selectedIndex:Math.max(0,v),onChange:b,readOnly:d,indicatorColor:s.colors.indicator,decelerationRate:m,scrollEventThrottle:f,swipeDuration:_,renderItem:k}))}),PickerImpl=e=>{const{tokensOverride:t}=e,r=(0,_useLocale.useLocale)(),n=(0,_tokens.usePickerTokens)(t),{columns:a=[],value:l,defaultValue:o,title:i,showToolbar:c=n.defaults.showToolbar,toolbarPosition:u=n.defaults.toolbarPosition,confirmButtonText:s=r?.confirm??"Confirm",cancelButtonText:d=r?.cancel??"Cancel",itemHeight:m=n.defaults.itemHeight,visibleItemCount:f=n.defaults.visibleItemCount,loading:_=!1,readOnly:p=!1,decelerationRate:h=_reactNative().Platform.select({ios:.999,android:.997,default:.989})??"normal",swipeDuration:v=n.defaults.swipeDuration,scrollEventThrottle:b=16,columnsTop:g,columnsBottom:y,optionRender:x,getOptionTestID:E,getOptionA11yLabel:k,emitConfirmOnAutoSelect:w=!0,maskColor:C,maskType:I=n.defaults.maskType,onChange:T,onConfirm:P,onCancel:V,style:R,testID:M,...N}=e,O=(0,_value.getVisibleCount)(f??n.defaults.visibleItemCount),{normalized:W,handleSelect:D,handleConfirm:q,preparedColumns:z}=(0,_value.usePickerValue)({columns:a,valueProp:l,defaultValue:o,emitConfirmOnAutoSelect:w,onChange:T,onConfirm:P}),H="cascade"===z.type,j={fontSize:n.typography.toolbarSize,fontFamily:n.typography.fontFamily,fontWeight:n.typography.toolbarWeight},A=(e,t)=>_react().default.isValidElement(e)?_react().default.createElement(_reactNative().View,{style:S.actW},e):(0,_validate.isText)(e)?_react().default.createElement(_reactNative().Text,{numberOfLines:1,style:[S.actTxt,j,{color:t}]},e):_react().default.createElement(_reactNative().View,{style:S.actW}),F=c?_react().default.createElement(_reactNative().View,{style:[S.toolbar,{height:n.spacing.toolbarHeight,paddingHorizontal:n.spacing.actionPadding}]},_react().default.createElement(_reactNative().Pressable,{onPress:V,accessibilityRole:"button"},A(d,n.colors.cancel)),null==(L=i)?_react().default.createElement(_reactNative().View,null):_react().default.isValidElement(L)?_react().default.createElement(_reactNative().View,{style:S.ttlW},L):_react().default.createElement(_reactNative().Text,{style:[S.title,j,{color:n.colors.text}],numberOfLines:1},L),_react().default.createElement(_reactNative().Pressable,{onPress:q,accessibilityRole:"button"},A(s,n.colors.confirm)),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:n.colors.indicator,left:0,right:0})})):null;var L;const B=m*O,$=Math.max(1,Math.floor((O-1)/2)),G=m*$,Y=G,J=W.columns.length>0,K=C??n.colors.mask,Q=J?W.columns.map((e,t)=>{const r=H?`${t}-${W.values.slice(0,t).map(String).join("|")}`:String(t);return _react().default.createElement(PickerColumn,{key:r,columnIndex:t,options:e,value:W.values[t],itemHeight:m,visibleItemCount:O,decelerationRate:h,scrollEventThrottle:b,optionRender:x,getOptionTestID:E,getOptionA11yLabel:k,readOnly:p,swipeDuration:v,onSelect:D,tokens:n})}):null;return _react().default.createElement(_reactNative().View,_extends({},N,{style:[{backgroundColor:n.colors.background,borderRadius:n.radius.container},R],testID:M}),"top"===u&&F,_react().default.createElement(_reactNative().View,{style:[S.body,{height:B}]},_react().default.createElement(_reactNative().View,{style:S.columns,pointerEvents:_?"none":"auto"},g,Q,y,J&&_react().default.createElement(_react().default.Fragment,null,_react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[S.indicator,{top:G,height:m}]},_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:n.colors.indicator,left:0,right:0})}),_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:n.colors.indicator,left:0,right:0})})),_react().default.createElement(_value.GradientMask,{position:"top",height:Y,color:K,maskType:I}),_react().default.createElement(_value.GradientMask,{position:"bottom",height:Y,color:K,maskType:I}))),_&&_react().default.createElement(_reactNative().View,{style:[S.loading,{backgroundColor:n.colors.loadingMask}]},_react().default.createElement(_loading.default,null))),"bottom"===u&&F)},S=_reactNative().StyleSheet.create({body:{position:"relative",overflow:"hidden"},columns:{flex:1,flexDirection:"row"},optTxt:{includeFontPadding:!1},indicator:{position:"absolute",left:0,right:0,zIndex:3},toolbar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},title:{flex:1,textAlign:"center"},ttlW:{flex:1,alignItems:"center",justifyContent:"center"},actTxt:{minWidth:44,textAlign:"center"},actW:{minWidth:44,alignItems:"center",justifyContent:"center"},loading:{position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",justifyContent:"center"}}),Picker=_react().default.memo(PickerImpl);var _default=exports.default=Picker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Popup=void 0;var _safeAreaView=require("../safe-area-view"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_validate=require("../../utils/validate");function _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}var _Portal=_interopRequireDefault(require("../portal/Portal")),_hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var o=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(a=t?r:o){if(a.has(e))return a.get(e);a.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?a(i,t,n):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},_extends.apply(null,arguments)}const AnimatedPressable=_reactNative().Animated.createAnimatedComponent(_reactNative().Pressable),EASE_OUT=_reactNative().Easing.bezier(.075,.82,.165,1),EASE_IN=_reactNative().Easing.bezier(.55,.055,.675,.19),CAPTURE=()=>!0,placementConfig={top:{container:{justifyContent:"flex-start",alignItems:"center"},axis:"y"},bottom:{container:{justifyContent:"flex-end",alignItems:"center"},axis:"y"},left:{container:{justifyContent:"center",alignItems:"flex-start"},axis:"x"},right:{container:{justifyContent:"center",alignItems:"flex-end"},axis:"x"},center:{container:{justifyContent:"center",alignItems:"center"},axis:"y"}},CONTENT_SELF={top:{alignSelf:"stretch"},bottom:{alignSelf:"stretch"},left:{alignSelf:"flex-start"},right:{alignSelf:"flex-end"},center:{alignSelf:"center"}},buildRadius=(e,t,o)=>e?"top"===t?{borderBottomLeftRadius:o,borderBottomRightRadius:o}:"bottom"===t?{borderTopLeftRadius:o,borderTopRightRadius:o}:"left"===t?{borderTopRightRadius:o,borderBottomRightRadius:o}:"right"===t?{borderTopLeftRadius:o,borderBottomLeftRadius:o}:{borderRadius:o}:void 0,hiddenStyle={opacity:0,shadowOpacity:0,shadowRadius:0,elevation:0},PopupImpl=e=>{const t=(0,_useLocale.useLocale)(),o=(0,_useDirection.useDirection)(),{visible:r,placement:a,position:n,title:i,description:l,tokensOverride:c,overlay:s=!0,overlayStyle:u,overlayAccessibilityLabel:d=t?.vanPopup?.closeOverlay??"Close overlay",closeOnOverlayPress:p,closeOnClickOverlay:f,overlayTestID:_="popup-overlay",closeable:m=!1,closeIcon:g,closeIconPosition:v="top-right",round:y,safeArea:h=!1,safeAreaInsetTop:b=!1,safeAreaInsetBottom:R,lockScroll:I=!0,destroyOnClose:O=!1,duration:C=300,zIndex:E,closeOnBackPress:P=!1,closeOnPopstate:x=!1,children:w,beforeClose:N,onClickOverlay:k,onClose:A,onOpen:T,onOpened:z,onClosed:W,stopPropagation:L=!0,style:q,contentAnimationStyle:V,...M}=e,j=a??n??"center",D=f??p??!0,B="center"===j,F=R??!1,H=(0,_tokens.usePopupTokens)(c),U=(0,_animation.useReducedMotion)(),X=(0,_react().useRef)({onOpened:z,onClosed:W,onOpen:T,onClose:A,beforeClose:N,onClickOverlay:k});X.current={onOpened:z,onClosed:W,onOpen:T,onClose:A,beforeClose:N,onClickOverlay:k};const Y=(0,_react().useMemo)(()=>{const e=(0,_createPlatformShadow.createPlatformShadow)(H.shadow),{colors:t,spacing:o,typography:r,layout:a}=H;return{popup:{backgroundColor:t.background,padding:o.padding,...e},title:{color:t.title,fontFamily:r.fontFamily,fontSize:r.titleSize,fontWeight:r.titleWeight,marginHorizontal:o.descriptionHorizontal,textAlign:"center"},titleWrap:{marginTop:o.titleTop,marginBottom:o.titleBottom,marginHorizontal:o.descriptionHorizontal,alignItems:"center"},desc:{color:t.description,fontFamily:r.fontFamily,fontSize:r.descriptionSize,lineHeight:r.descriptionLineHeight},descWrap:{marginHorizontal:o.descriptionHorizontal,marginBottom:o.descriptionBottom},closeBase:{minWidth:o.closeIconSize,minHeight:o.closeIconSize,padding:o.closeIconPadding},closeDef:{width:o.closeIconSize,height:o.closeIconSize},side:{width:a.sideWidth,maxWidth:a.maxWidth},center:{minWidth:a.minWidth,maxWidth:a.centerMaxWidth}}},[H]),[G,J]=(0,_react().useState)(r),[K,Q]=(0,_react().useState)(r),Z=r||K,$=D&&(A||N),ee=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,te=(0,_react().useRef)(null),oe=(0,_react().useRef)(0),re=(0,_react().useRef)(r),ae=(0,_react().useRef)(!1),ne="top"===j||"bottom"===j,ie="left"===j||"right"===j,le="top"===j||"left"===j?-1:1,ce=(0,_react().useCallback)((e,t)=>{oe.current+=1;const o=oe.current;te.current?.stop();const r=t?0:C,a=_reactNative().Animated.timing(ee,{toValue:e?1:0,duration:r,easing:e?EASE_OUT:EASE_IN,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1});te.current=a,a.start(({finished:t})=>{t&&o===oe.current&&(e?X.current.onOpened?.():(Q(!1),O&&J(!1),X.current.onClosed?.()))})},[O,C,ee]);(0,_react().useEffect)(()=>{r?(J(!0),Q(!0),ce(!0,U)):re.current&&ce(!1,U)},[ce,r,U]),(0,_react().useEffect)(()=>{r&&!re.current&&X.current.onOpen?.(),re.current=r},[r]),(0,_react().useEffect)(()=>()=>{te.current?.stop()},[]);const se=(0,_react().useCallback)(async e=>{if(!ae.current){ae.current=!0;try{if(X.current.beforeClose){if(!1===await X.current.beforeClose(e))return}X.current.onClose?.()}finally{ae.current=!1}}},[]);(0,_react().useEffect)(()=>{if(x)return(0,_platform.addPopStateListener)(()=>{r&&se("close")})},[x,se,r]);const ue=(0,_react().useCallback)(()=>{X.current.onClickOverlay?.(),D&&se("overlay")},[se,D]),de=(0,_react().useCallback)(()=>se("close-icon"),[se]),pe=(0,_react().useCallback)(()=>se("close"),[se]),{zIndex:fe}=(0,_hooks.useOverlayStack)({visible:Z,onClose:pe,closeOnBack:P,lockScroll:I,zIndex:E,type:"popup"}),{overlayRef:_e,overlayProps:me}=(0,_hooks.useAriaOverlay)({isOpen:Z,onClose:()=>se("overlay"),isDismissable:D,overlayProps:{..."android"===_reactNative().Platform.OS?{}:{accessibilityRole:"dialog"},accessibilityLiveRegion:"polite"}}),{onLayout:ge,...ve}=me,ye=(0,_react().useMemo)(()=>L?{...ve,onStartShouldSetResponder:CAPTURE}:ve,[ve,L]),he=placementConfig[j],Se=buildRadius(y,j,H.radius.round),{width:be,height:Re}=(0,_reactNative().useWindowDimensions)(),Ie=ie?be:ne?Re:0,Oe=(0,_react().useMemo)(()=>{if(B)return null;const e=[Ie*le,0];return"y"===he.axis?{translateY:ee.interpolate({inputRange:[0,1],outputRange:e})}:{translateX:ee.interpolate({inputRange:[0,1],outputRange:e})}},[he.axis,le,Ie,B,ee]),Ce=(0,_react().useMemo)(()=>Oe?[Oe]:[],[Oe]),Ee=(0,_react().useMemo)(()=>{const e=V?.transform,t=Array.isArray(e)?[...Ce,...e]:Ce,o={...V,transform:t};return B?{...o,opacity:ee}:null==V?.opacity?{...o,opacity:1}:o},[Ce,V,B,ee]),[Pe,xe]=(0,_react().useState)(0),we=(0,_react().useCallback)(e=>xe(e.nativeEvent.layout.height),[]),Ne=G||r,ke=!Z,Ae=(0,_validate.isRenderable)(i)||(0,_validate.isRenderable)(l),Te=(0,_react().useMemo)(()=>{if(!Ae)return null;const e=H.spacing.closeIconRight+H.spacing.closeIconSize,t=m&&v.startsWith("top-")?v.endsWith("right")?{paddingRight:e}:{paddingLeft:e}:void 0,o=(e,t,o)=>(0,_validate.isRenderable)(e)?(0,_validate.isText)(e)?_react().default.createElement(_reactNative().Text,{style:t},e):_react().default.createElement(_reactNative().View,{style:o},e):null;return _react().default.createElement(_reactNative().View,{style:[S.header,t]},o(i,[S.title,Y.title],Y.titleWrap),o(l,[S.desc,Y.desc],Y.descWrap))},[m,v,l,Y,Ae,i,H.spacing.closeIconRight,H.spacing.closeIconSize]),ze=(0,_react().useMemo)(()=>{if(!m)return null;const e=null!=g,t=v.includes("bottom")?{bottom:H.spacing.closeIconTop}:{top:H.spacing.closeIconTop+Pe},r="rtl"===o,a=v.endsWith("left")?r?{right:H.spacing.closeIconRight}:{left:H.spacing.closeIconRight}:r?{left:H.spacing.closeIconRight}:{right:H.spacing.closeIconRight};return _react().default.createElement(_reactNative().Pressable,{style:[S.closeBase,Y.closeBase,t,a,!e&&Y.closeDef],hitSlop:8,onPress:de},e?g:_react().default.createElement(_reactNativeSystemIcon().Cross,{size:22,fill:H.colors.closeIcon,color:H.colors.closeIcon}))},[g,v,m,Y,de,Pe,H.colors.closeIcon,H.spacing.closeIconRight,H.spacing.closeIconTop]),We=Ae?_react().default.createElement(_react().default.Fragment,null,Te,w):w;if(!Ne)return null;const Le=fe??E,qe=h?_react().default.createElement(_safeAreaView.SafeAreaView,null,We):_react().default.createElement(_react().default.Fragment,null,b&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"top",onLayout:we,pointerEvents:"none"}),We,F&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}));return _react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().View,{style:[S.root,Le?{zIndex:Le}:void 0],pointerEvents:"box-none"},_react().default.createElement(_reactNative().View,{style:[S.ctr,he.container],pointerEvents:Z?"auto":"none",accessibilityViewIsModal:Z,accessibilityLiveRegion:"polite",onAccessibilityEscape:pe},s&&Z?_react().default.createElement(AnimatedPressable,_extends({testID:_,style:[S.ovl,{backgroundColor:H.colors.overlay,opacity:ee},u],renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,pointerEvents:Z?"auto":"none"},$?{accessibilityRole:"button",accessibilityLabel:d,accessibilityHint:t?.vanPopup?.closeHint??"Double-tap to close"}:{accessible:!1},{onPress:ue})):null,!s&&I&&Z?_react().default.createElement(_reactNative().View,{style:S.lock,pointerEvents:"auto",onStartShouldSetResponder:CAPTURE,onMoveShouldSetResponder:CAPTURE}):null,_react().default.createElement(_reactNative().Animated.View,_extends({ref:_e},ye,{onLayout:ge,renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,style:[Y.popup,B&&Y.center,ne&&S.popV,ie&&Y.side,CONTENT_SELF[j],Se,Ee,q,ke&&hiddenStyle]},M),ze,qe))))},S=_reactNative().StyleSheet.create({root:{..._reactNative().StyleSheet.absoluteFillObject,justifyContent:"center"},ctr:{flex:1},ovl:{..._reactNative().StyleSheet.absoluteFillObject,opacity:0},header:{width:"100%"},title:{includeFontPadding:!1},desc:{includeFontPadding:!1},popV:{alignSelf:"stretch"},closeBase:{position:"absolute",zIndex:999,alignItems:"center",justifyContent:"center"},lock:{..._reactNative().StyleSheet.absoluteFillObject}}),Popup=exports.Popup=_react().default.memo(PopupImpl);var _default=exports.default=Popup;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Popup=void 0;var _safeAreaView=require("../safe-area-view"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_validate=require("../../utils/validate");function _Cross(){const e=_interopRequireDefault(require("react-native-system-icon/Cross"));return _Cross=function(){return e},e}var _Portal=_interopRequireDefault(require("../portal/Portal")),_hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens"),_utils=require("../../hooks/popup/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(a=t?o:r){if(a.has(e))return a.get(e);a.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?a(i,t,n):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_extends.apply(null,arguments)}const AnimatedPressable=_reactNative().Animated.createAnimatedComponent(_reactNative().Pressable),PopupImpl=e=>{const t=(0,_useLocale.useLocale)(),r=(0,_useDirection.useDirection)(),{visible:o,placement:a,position:n,title:i,description:l,tokensOverride:c,overlay:s=!0,overlayStyle:u,overlayAccessibilityLabel:d=t?.vanPopup?.closeOverlay??"Close overlay",closeOnOverlayPress:p,closeOnClickOverlay:f,overlayTestID:_="popup-overlay",closeable:m=!1,closeIcon:v,closeIconPosition:y="top-right",round:g,safeArea:h=!1,safeAreaInsetTop:b=!1,safeAreaInsetBottom:P,lockScroll:O=!0,destroyOnClose:C=!1,duration:R=300,zIndex:I,closeOnBackPress:E=!1,closeOnPopstate:k=!1,children:w,beforeClose:A,onClickOverlay:x,onClose:N,onOpen:z,onOpened:W,onClosed:q,stopPropagation:T=!0,style:V,contentAnimationStyle:D,...M}=e,L=a??n??"center",H=f??p??!0,F="center"===L,j=P??!1,B=(0,_tokens.usePopupTokens)(c),U=(0,_animation.useReducedMotion)(),X=(0,_react().useRef)({onOpened:W,onClosed:q,onOpen:z,onClose:N,beforeClose:A,onClickOverlay:x});X.current={onOpened:W,onClosed:q,onOpen:z,onClose:N,beforeClose:A,onClickOverlay:x};const Y=(0,_react().useMemo)(()=>{const e=(0,_createPlatformShadow.createPlatformShadow)(B.shadow),{colors:t,spacing:r,typography:o,layout:a}=B;return{popup:{backgroundColor:t.background,padding:r.padding,...e},title:{color:t.title,fontFamily:o.fontFamily,fontSize:o.titleSize,fontWeight:o.titleWeight,marginHorizontal:r.descriptionHorizontal,textAlign:"center"},titleWrap:{marginTop:r.titleTop,marginBottom:r.titleBottom,marginHorizontal:r.descriptionHorizontal,alignItems:"center"},desc:{color:t.description,fontFamily:o.fontFamily,fontSize:o.descriptionSize,lineHeight:o.descriptionLineHeight},descWrap:{marginHorizontal:r.descriptionHorizontal,marginBottom:r.descriptionBottom},closeBase:{minWidth:r.closeIconSize,minHeight:r.closeIconSize,padding:r.closeIconPadding},closeDef:{width:r.closeIconSize,height:r.closeIconSize},side:{width:a.sideWidth,maxWidth:a.maxWidth},center:{minWidth:a.minWidth,maxWidth:a.centerMaxWidth}}},[B]),[G,J]=(0,_react().useState)(o),[K,Q]=(0,_react().useState)(o),Z=o||K,$=H&&(N||A),ee=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,te=(0,_react().useRef)(null),re=(0,_react().useRef)(0),oe=(0,_react().useRef)(o),ae=(0,_react().useRef)(!1),ne="top"===L||"bottom"===L,ie="left"===L||"right"===L,le="top"===L||"left"===L?-1:1,ce=(0,_react().useCallback)((e,t)=>{re.current+=1;const r=re.current;te.current?.stop();const o=t?0:R,a=_reactNative().Animated.timing(ee,{toValue:e?1:0,duration:o,easing:e?_utils.EASE_OUT:_utils.EASE_IN,useNativeDriver:_platform.nativeDriverEnabled,isInteraction:!1});te.current=a,a.start(({finished:t})=>{t&&r===re.current&&(e?X.current.onOpened?.():(Q(!1),C&&J(!1),X.current.onClosed?.()))})},[C,R,ee]);(0,_react().useEffect)(()=>{o?(J(!0),Q(!0),ce(!0,U)):oe.current&&ce(!1,U)},[ce,o,U]),(0,_react().useEffect)(()=>{o&&!oe.current&&X.current.onOpen?.(),oe.current=o},[o]),(0,_react().useEffect)(()=>()=>{te.current?.stop()},[]);const se=(0,_react().useCallback)(async e=>{if(!ae.current){ae.current=!0;try{if(X.current.beforeClose){if(!1===await X.current.beforeClose(e))return}X.current.onClose?.()}finally{ae.current=!1}}},[]);(0,_react().useEffect)(()=>{if(k)return(0,_platform.addPopStateListener)(()=>{o&&se("close")})},[k,se,o]);const ue=(0,_react().useCallback)(()=>{X.current.onClickOverlay?.(),H&&se("overlay")},[se,H]),de=(0,_react().useCallback)(()=>se("close-icon"),[se]),pe=(0,_react().useCallback)(()=>se("close"),[se]),{zIndex:fe}=(0,_hooks.useOverlayStack)({visible:Z,onClose:pe,closeOnBack:E,lockScroll:O,zIndex:I,type:"popup"}),{overlayRef:_e,overlayProps:me}=(0,_hooks.useAriaOverlay)({isOpen:Z,onClose:()=>se("overlay"),isDismissable:H,overlayProps:{..."android"===_reactNative().Platform.OS?{}:{accessibilityRole:"dialog"},accessibilityLiveRegion:"polite"}}),{onLayout:ve,...ye}=me,ge=(0,_react().useMemo)(()=>T?{...ye,onStartShouldSetResponder:_utils.CAPTURE}:ye,[ye,T]),he=_utils.placementConfig[L],Se=(0,_utils.buildRadius)(g,L,B.radius.round),{width:be,height:Pe}=(0,_reactNative().useWindowDimensions)(),Oe=ie?be:ne?Pe:0,Ce=(0,_react().useMemo)(()=>{if(F)return null;const e=[Oe*le,0];return"y"===he.axis?{translateY:ee.interpolate({inputRange:[0,1],outputRange:e})}:{translateX:ee.interpolate({inputRange:[0,1],outputRange:e})}},[he.axis,le,Oe,F,ee]),Re=(0,_react().useMemo)(()=>Ce?[Ce]:[],[Ce]),Ie=(0,_react().useMemo)(()=>{const e=D?.transform,t=Array.isArray(e)?[...Re,...e]:Re,r={...D,transform:t};return F?{...r,opacity:ee}:null==D?.opacity?{...r,opacity:1}:r},[Re,D,F,ee]),[Ee,ke]=(0,_react().useState)(0),we=(0,_react().useCallback)(e=>ke(e.nativeEvent.layout.height),[]),Ae=G||o,xe=!Z,Ne=(0,_validate.isRenderable)(i)||(0,_validate.isRenderable)(l),ze=(0,_react().useMemo)(()=>{if(!Ne)return null;const e=B.spacing.closeIconRight+B.spacing.closeIconSize,t=m&&y.startsWith("top-")?y.endsWith("right")?{paddingRight:e}:{paddingLeft:e}:void 0,r=(e,t,r)=>(0,_validate.isRenderable)(e)?(0,_validate.isText)(e)?_react().default.createElement(_reactNative().Text,{style:t},e):_react().default.createElement(_reactNative().View,{style:r},e):null;return _react().default.createElement(_reactNative().View,{style:[S.header,t]},r(i,[S.title,Y.title],Y.titleWrap),r(l,[S.desc,Y.desc],Y.descWrap))},[m,y,l,Y,Ne,i,B.spacing.closeIconRight,B.spacing.closeIconSize]),We=(0,_react().useMemo)(()=>{if(!m)return null;const e=null!=v,t=y.includes("bottom")?{bottom:B.spacing.closeIconTop}:{top:B.spacing.closeIconTop+Ee},o="rtl"===r,a=y.endsWith("left")?o?{right:B.spacing.closeIconRight}:{left:B.spacing.closeIconRight}:o?{left:B.spacing.closeIconRight}:{right:B.spacing.closeIconRight};return _react().default.createElement(_reactNative().Pressable,{style:[S.closeBase,Y.closeBase,t,a,!e&&Y.closeDef],hitSlop:8,onPress:de},e?v:_react().default.createElement(_Cross().default,{size:22,fill:B.colors.closeIcon,color:B.colors.closeIcon}))},[v,y,m,Y,de,Ee,B.colors.closeIcon,B.spacing.closeIconRight,B.spacing.closeIconTop]),qe=Ne?_react().default.createElement(_react().default.Fragment,null,ze,w):w;if(!Ae)return null;const Te=fe??I,Ve=h?_react().default.createElement(_safeAreaView.SafeAreaView,null,qe):_react().default.createElement(_react().default.Fragment,null,b&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"top",onLayout:we,pointerEvents:"none"}),qe,j&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}));return _react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().View,{style:[S.root,Te?{zIndex:Te}:void 0],pointerEvents:"box-none"},_react().default.createElement(_reactNative().View,{style:[S.ctr,he.container],pointerEvents:Z?"auto":"none",accessibilityViewIsModal:Z,accessibilityLiveRegion:"polite",onAccessibilityEscape:pe},s&&Z?_react().default.createElement(AnimatedPressable,_extends({testID:_,style:[S.ovl,{backgroundColor:B.colors.overlay,opacity:ee},u],renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,pointerEvents:Z?"auto":"none"},$?{accessibilityRole:"button",accessibilityLabel:d,accessibilityHint:t?.vanPopup?.closeHint??"Double-tap to close"}:{accessible:!1},{onPress:ue})):null,!s&&O&&Z?_react().default.createElement(_reactNative().View,{style:S.lock,pointerEvents:"auto",onStartShouldSetResponder:_utils.CAPTURE,onMoveShouldSetResponder:_utils.CAPTURE}):null,_react().default.createElement(_reactNative().Animated.View,_extends({ref:_e},ge,{onLayout:ve,renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,style:[Y.popup,F&&Y.center,ne&&S.popV,ie&&Y.side,_utils.CONTENT_SELF[L],Se,Ie,V,xe&&_utils.hiddenStyle]},M),We,Ve))))},S=_reactNative().StyleSheet.create({root:{..._reactNative().StyleSheet.absoluteFillObject,justifyContent:"center"},ctr:{flex:1},ovl:{..._reactNative().StyleSheet.absoluteFillObject,opacity:0},header:{width:"100%"},title:{includeFontPadding:!1},desc:{includeFontPadding:!1},popV:{alignSelf:"stretch"},closeBase:{position:"absolute",zIndex:999,alignItems:"center",justifyContent:"center"},lock:{..._reactNative().StyleSheet.absoluteFillObject}}),Popup=exports.Popup=_react().default.memo(PopupImpl);var _default=exports.default=Popup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.portalStore=exports.portalManager=exports.PortalHost=void 0;var _utils=require("../../utils"),_PortalContext=require("./PortalContext");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,o,
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.portalStore=exports.portalManager=exports.PortalHost=void 0;var _utils=require("../../utils"),_PortalContext=require("./PortalContext");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,o,c={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return c;if(n=t?a:r){if(n.has(e))return n.get(e);n.set(e,c)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?n(c,t,o):c[t]=e[t]);return c})(e,t)}const AE="RNSU_PORTAL_ADD",UE="RNSU_PORTAL_UPDATE",RE="RNSU_PORTAL_REMOVE",CE="RNSU_PORTAL_CLEAR",TVE=_reactNative().DeviceEventEmitter||new(_reactNative().NativeEventEmitter),IW="web"===_reactNative().Platform.OS,ao=(e,t)=>{"mount"===t.type?e.mount(t.children,t.key):"update"===t.type?e.update(t.key,t.children):"clear"===t.type?e.clear():e.unmount(t.key)},PortalManagerView=_react().default.forwardRef((e,t)=>{const[r,a]=(0,_react().useState)([]),n=(0,_react().useRef)(0),o=(0,_react().useCallback)(e=>{a(t=>{const r=t.findIndex(t=>t.key===e.key);return-1===r?[...t,e]:[...t.slice(0,r),e,...t.slice(r+1)]})},[]),c=(0,_react().useCallback)((e,t)=>{const r=t??++n.current;return(0,_utils.isNumber)(t)&&t>=n.current&&(n.current=t+1),o({key:r,children:e}),r},[o]),l=(0,_react().useCallback)((e,t)=>{o({key:e,children:t})},[o]),u=(0,_react().useCallback)(e=>{a(t=>t.filter(t=>t.key!==e))},[]),i=(0,_react().useCallback)(()=>{a([])},[]);return _react().default.useImperativeHandle(t,()=>({mount:c,update:l,unmount:u,clear:i}),[c,l,u,i]),0===r.length?null:_react().default.createElement(_reactNative().View,{pointerEvents:"box-none",style:S.pl,collapsable:!1},r.map(e=>_react().default.createElement(_reactNative().View,{key:e.key,pointerEvents:"box-none",collapsable:!1,style:S.pe},e.children)))});let ah=0,nh=1,ngk=1e4;const hr=new Set,pickActiveHost=()=>{const e=hr.values().next();return e.done?0:e.value},gm={mount:(e,t)=>{"undefined"!=typeof __DEV__&&__DEV__&&0===ah&&console.warn("[Portal] Please mount <PortalHost> or <ConfigProvider> at the root to enable imperative APIs.");const r=t??ngk++;return(0,_utils.isNumber)(t)&&t>=ngk&&(ngk=t+1),TVE.emit(AE,{key:r,children:e}),r},update:(e,t)=>{TVE.emit(UE,{key:e,children:t})},unmount:e=>{TVE.emit(RE,{key:e})}},PortalHostImpl=({children:e})=>{const t=(0,_react().useRef)(nh++),r=(0,_react().useRef)(null),a=(0,_react().useRef)([]),n=(0,_react().useRef)(1),o=(0,_react().useCallback)(e=>{const t=r.current;t?ao(t,e):a.current.push(e)},[]),c=(0,_react().useMemo)(()=>({mount:(e,t)=>{const r=t??n.current++;return(0,_utils.isNumber)(t)&&t>=n.current&&(n.current=t+1),o({type:"mount",key:r,children:e}),r},update:(e,t)=>{o({type:"update",key:e,children:t})},unmount:e=>{o({type:"unmount",key:e})}}),[o]),l=(0,_react().useCallback)(e=>{if(r.current=e,e){if(a.current.length>0){a.current.splice(0,a.current.length).forEach(t=>ao(e,t))}0===ah||ah===t.current?ah=t.current:"undefined"!=typeof __DEV__&&__DEV__&&console.warn("[PortalHost] Multiple PortalHost instances detected. Imperative APIs will only use the first mounted host.")}},[]);return(0,_react().useEffect)(()=>(hr.add(t.current),0===ah&&(ah=t.current),()=>{hr.delete(t.current),ah===t.current&&(ah=pickActiveHost(),a.current=[],0===ah&&portalStore.clear())}),[]),(0,_react().useEffect)(()=>{const e=TVE.addListener(AE,({key:e,children:r})=>{ah===t.current&&o({type:"mount",key:e,children:r})}),r=TVE.addListener(UE,({key:e,children:r})=>{ah===t.current&&o({type:"update",key:e,children:r})}),n=TVE.addListener(RE,({key:e})=>{ah===t.current&&o({type:"unmount",key:e})}),c=TVE.addListener(CE,()=>{ah===t.current&&(a.current=[],o({type:"clear"}))});return()=>{e.remove(),r.remove(),n.remove(),c.remove()}},[o]),_react().default.createElement(_PortalContext.PortalContext.Provider,{value:c},_react().default.createElement(_reactNative().View,{style:S.h,collapsable:!1},_react().default.createElement(_reactNative().View,{style:S.r,collapsable:!1,pointerEvents:"box-none"},e),_react().default.createElement(PortalManagerView,{ref:l})))},PortalHost=exports.PortalHost=_react().default.memo(PortalHostImpl);PortalHost.displayName="PortalHost";const S=_reactNative().StyleSheet.create({h:{position:"relative",flex:1},r:{flex:1},pl:IW?{position:"fixed",top:0,left:0,right:0,bottom:0}:{..._reactNative().StyleSheet.absoluteFillObject},pe:{..._reactNative().StyleSheet.absoluteFillObject}}),portalManager=exports.portalManager=gm,portalStore=exports.portalStore={clear:()=>{TVE.emit(CE)},hasHosts:()=>0!==ah};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}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}function _Search(){const e=_interopRequireDefault(require("react-native-system-icon/Search"));return _Search=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Search=void 0;var _hooks=require("../../hooks"),_validate=require("../../utils/validate"),_useLocale=require("../config-provider/useLocale"),_field=_interopRequireDefault(require("../field")),_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,c,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(n=t?a:r){if(n.has(e))return n.get(e);n.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((c=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(c.get||c.set)?n(i,t,c):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}const SearchComponent=(e,t)=>{const r=(0,_useLocale.useLocale)(),{tokensOverride:a,label:n,action:c,actionText:i,showAction:o=!1,shape:l,background:u,style:s,fieldStyle:d,fieldContentStyle:f,clearTrigger:p,clearable:_=!0,leftIcon:g,rightIcon:h,errorMessage:y,onSearch:b,onCancel:v,onChangeText:m,onSubmitEditing:x,returnKeyType:k,inputStyle:R,align:w,inputAlign:V,...q}=e,E=(0,_tokens.useSearchTokens)(a),C=l??E.defaults.shape,[N,P]=(0,_hooks.useControllableValue)(e,{defaultValue:""}),T=N??"",W=w??V,z=(0,_react().useRef)(m),O=(0,_react().useRef)(v),I=(0,_react().useRef)(b),M=(0,_react().useRef)(x),j=(0,_react().useRef)(T);z.current=m,O.current=v,I.current=b,M.current=x,j.current=T;const D=(0,_react().useCallback)(e=>{P(e),z.current?.(e)},[P]),L=(0,_react().useCallback)(()=>{D(""),O.current?.()},[D]),H=(0,_react().useCallback)(e=>{I.current?.(j.current),M.current?.(e)},[]),G=u??E.colors.background,A=g??_react().default.createElement(_Search().default,{size:E.icon.size,fill:E.colors.icon,color:E.colors.icon}),F=p??E.defaults.clearTrigger,K=k??"search",B=!!c||o,J=_react().default.isValidElement(i),Q=B&&!c&&!J,U="round"===C?E.radius.round:E.radius.square,X=(0,_react().useRef)(null);(0,_react().useImperativeHandle)(t,()=>({focus:()=>X.current?.focus(),blur:()=>X.current?.blur(),clear:()=>D("")}),[D]);const Y=(0,_hooks.useAriaPress)({disabled:!Q,onPress:L,extraProps:{accessibilityRole:"button",testID:"rnsu-search-action"}}),Z=[S.ctr,{paddingHorizontal:E.spacing.paddingHorizontal,paddingVertical:E.spacing.paddingVertical,backgroundColor:G},s],$=[S.cnt,{borderRadius:U,paddingHorizontal:E.spacing.contentPaddingHorizontal,paddingVertical:E.spacing.contentPaddingVertical,backgroundColor:E.colors.contentBackground}],ee=n?(0,_validate.isText)(n)?_react().default.createElement(_reactNative().Text,{style:{marginRight:E.spacing.labelGap,color:E.colors.label,fontSize:E.typography.label,fontWeight:E.typography.labelWeight}},n):_react().default.createElement(_reactNative().View,{style:{marginRight:E.spacing.labelGap}},n):null,te=c?_react().default.createElement(_reactNative().View,{style:[S.act,{marginLeft:E.spacing.actionGap}]},c):B?J?_react().default.createElement(_reactNative().View,{style:[S.act,{marginLeft:E.spacing.actionGap}]},i):_react().default.createElement(_reactNative().Pressable,_extends({style:[S.act,{marginLeft:E.spacing.actionGap,opacity:Y.states.pressed?E.opacity.actionPressed:1}]},Y.interactionProps),_react().default.createElement(_reactNative().Text,{style:{color:E.colors.action,fontSize:E.typography.action,fontWeight:E.typography.actionWeight}},i??r.cancel)):null;return _react().default.createElement(_reactNative().View,{style:Z},_react().default.createElement(_reactNative().View,{style:$},ee,_react().default.createElement(_reactNative().View,{style:S.field},_react().default.createElement(_field.default,_extends({ref:X,type:"search",value:T,onChangeText:D,clearable:_,clearTrigger:F,leftIcon:A,rightIcon:h,center:!y,errorMessage:y,inputAlign:W,border:!1,style:[{paddingHorizontal:E.spacing.none,paddingVertical:E.spacing.none},d],contentStyle:[{paddingVertical:E.spacing.none},f],inputStyle:[{paddingVertical:E.spacing.none},R],onSubmitEditing:H,returnKeyType:K},q)))),te)},SearchForwardRef=_react().default.forwardRef(SearchComponent);SearchForwardRef.displayName="Search";const Search=exports.Search=_react().default.memo(SearchForwardRef),S=_reactNative().StyleSheet.create({ctr:{flexDirection:"row",alignItems:"center"},cnt:{flex:1,flexDirection:"row",alignItems:"center"},field:{flex:1},act:{justifyContent:"center"}});var _default=exports.default=Search;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Selector=void 0;var _tokens=require("./tokens"),_hooks=require("../../hooks"),_utils=require("../../utils");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Selector=void 0;var _tokens=require("./tokens"),_hooks=require("../../hooks"),_utils=require("../../utils");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,l,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(a=t?o:r){if(a.has(e))return a.get(e);a.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?a(i,t,l):i[t]=e[t]);return i})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_extends.apply(null,arguments)}const CHECK_MARK="✓",CH=8,CW=10,SelectorOptionItemImpl=({option:e,active:t,disabled:r,multiple:o,showCheckMark:a,basis:l,containerWidth:i,columns:n,gap:c,tokens:s,itemStyle:u,labelStyle:d,descriptionStyle:p,onToggle:f})=>{const y=e.label,m=e.description,_=null!=m,g=(0,_utils.isText)(y)?String(y):String(e.value),b=(0,_utils.isText)(m)?String(m):void 0,{interactionProps:h,states:S}=(0,_hooks.useAriaPress)({disabled:r,onPress:()=>f(e),extraProps:{accessibilityRole:o?"checkbox":"radio",accessibilityLabel:g,accessibilityHint:b,accessibilityState:o?{checked:t,disabled:r}:{selected:t,disabled:r}}}),k=i>0?{width:(i-(n-1)*c)/n,flexGrow:0,flexShrink:0}:{flexBasis:l,flexShrink:1};return _react().default.createElement(_reactNative().Pressable,_extends({},h,{style:[s.layout.pressable,k]}),_react().default.createElement(_reactNative().View,{style:[s.layout.item,{paddingHorizontal:s.spacing.paddingHorizontal,paddingVertical:s.spacing.paddingVertical,borderRadius:s.radii.item,borderColor:t?s.colors.borderActive:s.colors.border,backgroundColor:t?s.colors.backgroundActive:s.colors.background,opacity:r?s.states.disabledOpacity:1},S.pressed&&{opacity:.9},u]},(0,_utils.isText)(y)?_react().default.createElement(_reactNative().Text,{style:[s.layout.label,{color:t?s.colors.textActive:s.colors.text,fontSize:s.typography.fontSize,lineHeight:1.4*s.typography.fontSize,fontFamily:s.typography.fontFamily,fontWeight:s.typography.fontWeight},d]},y):y,_?(0,_utils.isText)(m)?_react().default.createElement(_reactNative().Text,{style:[s.layout.description,{marginTop:s.spacing.descriptionMarginTop,color:r?s.colors.disabledText:s.colors.description,fontSize:s.typography.descriptionSize,lineHeight:1.4*s.typography.descriptionSize},p]},m):_react().default.createElement(_reactNative().View,{style:{marginTop:s.spacing.descriptionMarginTop}},m):null,t&&a?_react().default.createElement(_react().default.Fragment,null,_react().default.createElement(_reactNative().View,{style:[s.layout.checkMarkTriangle,{borderTopWidth:8,borderBottomWidth:8,borderLeftWidth:10,borderRightWidth:10,borderBottomColor:s.colors.check,borderRightColor:s.colors.check}]}),_react().default.createElement(_reactNative().Text,{style:[s.layout.checkMark,{color:s.colors.checkForeground}]},"✓")):null))},SelectorOptionItemMemo=_react().default.memo(SelectorOptionItemImpl);SelectorOptionItemMemo.displayName="SelectorOptionItem";const SelectorOptionItem=SelectorOptionItemMemo,SelectorImpl=e=>{const{tokensOverride:t,options:r,columns:o,multiple:a,showCheckMark:l,disabled:i,onChange:n,itemStyle:c,labelStyle:s,descriptionStyle:u,style:d,onLayout:p,...f}=e,y=Array.isArray(r)?r:[],m=(0,_tokens.useSelectorTokens)(t),[_,g]=_react().default.useState(0),b=o??m.defaults.columns??1,h=a??m.defaults.multiple,S=l??m.defaults.showCheckMark,k=Boolean(i??m.defaults.disabled),[v=[],x]=(0,_hooks.useControllableValue)(e,{defaultValue:[]}),M=(0,_react().useMemo)(()=>{const e=new Map;for(const t of y)e.set(t.value,t);return e},[y]),w=Math.max(1,Math.floor(b)),O=100/w+"%",T=m.spacing.gap,C=(0,_react().useMemo)(()=>new Set(v),[v]),W=(0,_react().useCallback)(e=>{if(k||e.disabled)return;const t=C.has(e.value),r=h?t?v.filter(t=>t!==e.value):[...v,e.value]:t?[]:[e.value];x(r,{items:r.map(e=>M.get(e)).filter(Boolean)})},[k,h,M,C,x,v]),E=(0,_react().useCallback)(e=>{g(e.nativeEvent.layout.width),p?.(e)},[p]);return _react().default.createElement(_reactNative().View,_extends({},f,{onLayout:E,style:[m.layout.container,{columnGap:T,rowGap:T},d],accessibilityRole:h?void 0:"radiogroup"}),y.map(e=>_react().default.createElement(SelectorOptionItem,{key:String(e.value),option:e,active:C.has(e.value),disabled:k||Boolean(e.disabled),multiple:h,showCheckMark:S,basis:O,containerWidth:_,columns:w,gap:T,tokens:m,itemStyle:c,labelStyle:s,descriptionStyle:u,onToggle:W})))},Selector=exports.Selector=_react().default.memo(SelectorImpl);Selector.displayName="Selector";var _default=exports.default=Selector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _slider(){const e=require("@react-native-aria/slider");return _slider=function(){return e},e}function _utils(){const e=require("@react-native-aria/utils");return _utils=function(){return e},e}function _slider2(){const e=require("@react-stately/slider");return _slider2=function(){return e},e}function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var _tokens=require("./tokens"),_number=require("../../utils/number"),_hairline=require("../../utils/hairline"),_utils2=require("../../utils"),_validate=require("../../utils/validate"),_hooks=require("../../hooks");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,i,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(n=t?a:r){if(n.has(e))return n.get(e);n.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?n(o,t,i):o[t]=e[t]);return o})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}const isSameLayout=(e,t)=>e.width===t.width&&e.height===t.height&&e.x===t.x&&e.y===t.y,normalizeValue=(e,t,r,a)=>t?(()=>{const t=Array.isArray(e)?e:(0,_validate.isFiniteNumber)(e)?[r,e]:[r,r],n=(0,_validate.isFiniteNumber)(t[0])?(0,_utils2.clamp)(t[0],r,a):r,i=(0,_validate.isFiniteNumber)(t[1]??t[0])?(0,_utils2.clamp)(t[1]??t[0],r,a):r;return n<=i?[n,i]:[i,n]})():(()=>{const t=Array.isArray(e)?e[0]:e;return[(0,_validate.isFiniteNumber)(t)?(0,_utils2.clamp)(t,r,a):r]})(),toSliderValue=(e,t,r)=>t?[e[0]??r,e[1]??e[0]??r]:e[0]??r,createAccessibilityProps=e=>e?(()=>{const{role:t,"aria-value":r,accessibilityActions:a,onAccessibilityAction:n,disabled:i}=e;return{accessible:!0,accessibilityRole:t??"adjustable",accessibilityValue:r,accessibilityActions:a,onAccessibilityAction:n,accessibilityState:{disabled:i}}})():{},defaultNumberFormatter="undefined"!=typeof Intl&&(0,_validate.isFunction)(Intl.NumberFormat)?new Intl.NumberFormat:{format:e=>String(e)},START_KEYS=["onResponderGrant","onPanResponderGrant"],MOVE_KEYS=["onResponderMove","onPanResponderMove"],END_KEYS=["onResponderRelease","onResponderTerminate","onPanResponderRelease","onPanResponderTerminate"],useTrackLayout=()=>{const e=(0,_react().useRef)(null),t=(0,_react().useRef)(null),[r,a]=(0,_react().useState)({width:0,height:0,x:0,y:0}),n=(0,_react().useCallback)(r=>{const{layout:n}=r.nativeEvent,i={width:Math.max(n.width,1),height:Math.max(n.height,1),x:n.x??0,y:n.y??0};a(e=>isSameLayout(e,i)?e:i),"web"===_reactNative().Platform.OS&&"undefined"!=typeof requestAnimationFrame&&null==t.current&&(t.current=requestAnimationFrame(()=>{t.current=null;const r=e.current;r?.measureInWindow&&r.measureInWindow((e,t,r,n)=>{const i={width:Math.max(r,1),height:Math.max(n,1),x:e,y:t};a(e=>isSameLayout(e,i)?e:i)})}))},[]);return(0,_react().useEffect)(()=>()=>{null!=t.current&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t.current),t.current=null},[]),{trackRef:e,trackLayout:r,handleTrackLayout:n}},ThumbNode=_react().default.memo(({index:e,orientation:t,ariaReverse:r,trackLayout:a,isDisabled:n,state:i,size:o,activeColor:u,content:c,visualPercent:s,thumbBackgroundColor:l,thumbElevation:d,indicatorSize:m,indicatorColor:f,webGestureStyle:h,enhanceHandlers:_})=>{const b=(0,_react().useRef)(null),{thumbProps:v,inputProps:p}=(0,_slider().useSliderThumb)({index:e,trackLayout:a,inputRef:b,isDisabled:n,orientation:t},i,r),y=v,g=_(y,e)??y??{},w=-o/2,k={width:o,height:o,borderRadius:o/2,borderColor:u,transform:[{translateX:w},{translateY:w}],..."vertical"===t?{top:`${s}%`,left:"50%"}:{left:`${s}%`,top:"50%"},...c?{}:{backgroundColor:l,elevation:d}},x={width:m,height:m,borderRadius:m/2,backgroundColor:f},R=createAccessibilityProps(p);return _react().default.createElement(_reactNative().View,_extends({},g,R,{pointerEvents:n?"none":"auto",style:[c?S.thw:S.t,h,k]}),null!=c?(0,_validate.isText)(c)?(0,_utils2.renderTextOrNode)(c,[]):c:_react().default.createElement(_reactNative().View,{style:x}),!c&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:u,borderRadius:o/2})}))});ThumbNode.displayName="ThumbNode";const SliderImpl=e=>{const{value:t,min:r=0,max:a=100,step:n=1,range:i=!1,vertical:o=!1,reverse:u=!1,disabled:c=!1,readOnly:s=!1,activeColor:l,inactiveColor:d,barHeight:m,trackHeight:f,buttonSize:h,thumbSize:_,tokensOverride:b,button:v,leftButton:p,rightButton:y,thumb:g,leftThumb:w,rightThumb:k,ariaLabel:x,onChange:R,onChangeAfter:M,onDragStart:N,onDragEnd:E,style:C,onLayout:F,...T}=e,A=(0,_tokens.useSliderTokens)(b),P=o?"vertical":"horizontal",{trackRef:V,trackLayout:z,handleTrackLayout:q}=useTrackLayout(),L=(0,_number.parseNumber)(r,0),O=(0,_number.parseNumber)(a,100),D=(0,_number.parseNumber)(n,1),j=D>0?D:1,I=Math.max(0,(0,_number.parseNumber)(m??f,A.track.height)),Y=Math.max(0,(0,_number.parseNumber)(h??_,A.thumb.size)),K=c||s,W=l??A.colors.active,H=d??A.colors.inactive,$=Math.max(O-L,1e-5),B=normalizeValue(t,i,L,O),G=void 0!==t,X=(0,_react().useRef)(R),J=(0,_react().useRef)(M),Q=(0,_react().useRef)(N),U=(0,_react().useRef)(E);X.current=R,J.current=M,Q.current=N,U.current=E;const Z=(0,_react().useCallback)(e=>toSliderValue(e,i,L),[i,L]),ee=(0,_react().useCallback)(e=>{X.current?.(Z(e))},[Z]),te=(0,_react().useCallback)(e=>{J.current?.(Z(e))},[Z]),re=(0,_react().useMemo)(()=>({minValue:L,maxValue:O,step:j,isDisabled:K,numberFormatter:defaultNumberFormatter,orientation:P,value:G?B:void 0,defaultValue:G?void 0:B,onChange:ee,onChangeEnd:te}),[K,ee,te,G,B,P,O,L,j]),ae=(0,_slider2().useSliderState)(re),ne="horizontal"===P?u||(0,_utils().isRTL)():u,ie="horizontal"===P?ne:u,{trackProps:oe}=(0,_slider().useSlider)({orientation:P,isDisabled:K,"aria-label":x??"Slider"},ae,z,ie),ue=oe,{style:ce,onLayout:se,...le}=ue,de=(0,_react().useCallback)(e=>{q(e),se?.(e)},[q,se]),me=(0,_react().useCallback)(e=>{if(K)return;if(!ae.values.every((e,t)=>!ae.isThumbDragging(t)))return;const{locationX:t,locationY:r,pageX:a,pageY:n}=e.nativeEvent,i=(0,_validate.isFiniteNumber)(t)?t:(0,_validate.isFiniteNumber)(a)?a-(z.x??0):0,o=(0,_validate.isFiniteNumber)(r)?r:(0,_validate.isFiniteNumber)(n)?n-(z.y??0):0,c="vertical"===P?z.height:z.width,s=("vertical"===P?o:i)/Math.max(c,1),l="vertical"===P?u?s:1-s:ne?1-s:s,d=ae.getPercentValue(Math.min(1,Math.max(0,l))),m=ae.values.reduce((e,t,r)=>Math.abs(t-d)<Math.abs(ae.values[e]-d)?r:e,0);m>=0&&ae.isThumbEditable(m)&&(e.preventDefault?.(),ae.setFocusedThumb(m),ae.setThumbDragging(m,!0),ae.setThumbValue(m,d),ae.setThumbDragging(m,!1))},[K,P,u,ne,ae,z.height,z.width,z.x,z.y]),{interactionProps:fe}=(0,_hooks.useAriaPress)({disabled:K,onPress:me,extraProps:le}),he=Z(ae.values),_e=(0,_react().useRef)(he),be=(0,_react().useRef)([]),ve=(0,_react().useRef)([]),pe=(0,_react().useRef)([]),ye=(0,_react().useRef)([]),ge=(0,_react().useRef)(new WeakMap);_e.current=he,(0,_react().useEffect)(()=>()=>{const e="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;if(e){for(const t of pe.current)null!=t&&e(t);pe.current=[],ye.current=[]}},[]);const Se=(0,_react().useCallback)((e,t)=>{if(!e)return e;if(!Q.current&&!U.current)return e;const r=ge.current.get(e),a=r?.get(t);if(a)return a;if(!(START_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||MOVE_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||END_KEYS.some(t=>(0,_validate.isFunction)(e[t]))))return e;const n={...e},i="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,o="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;for(const e of MOVE_KEYS){const r=n[e];if(!(0,_validate.isFunction)(r))continue;const a=r;n[e]=(...e)=>{i?(ye.current[t]=e,null==pe.current[t]&&(pe.current[t]=i(()=>{pe.current[t]=null;const e=ye.current[t];e&&(ye.current[t]=null,a(...e))}))):a(...e)}}const u=(e,t)=>{if(!t)return;const r=n[e];n[e]=(...e)=>{(0,_validate.isFunction)(r)&&r(...e),t(e[0])}},c=(e,t)=>{if(!t)return;const r=n[e];n[e]=(...e)=>{t(e[0]),(0,_validate.isFunction)(r)&&r(...e)}};for(const e of START_KEYS)u(e,()=>{be.current[t]=!1,ve.current[t]=_e.current});for(const e of MOVE_KEYS)c(e,e=>{be.current[t]||(be.current[t]=!0,Q.current?.(e,ve.current[t]??_e.current))});const s=e=>{be.current[t]&&(be.current[t]=!1,ve.current[t]=void 0,U.current?.(e,_e.current));const r=pe.current[t];null!=r&&o&&(o(r),pe.current[t]=null),ye.current[t]=null};for(const e of END_KEYS)u(e,s);const l=r??new Map;return l.set(t,n),r||ge.current.set(e,l),n},[]),we=ae.values,ke=(0,_react().useMemo)(()=>we.map(e=>((e??L)-L)/$*100),[L,$,we]),xe=(0,_react().useMemo)(()=>ke.map(e=>"vertical"===P?u?e:100-e:ne?100-e:e),[P,u,ne,ke]),Re=(0,_react().useMemo)(()=>{const e=xe[0]??0,t=xe[1]??e;return i&&xe.length>1?{offset:Math.min(e,t),size:Math.max(e,t)-Math.min(e,t)}:("horizontal"===P?!ne:u)?{offset:0,size:e}:{offset:e,size:100-e}},[P,i,u,ne,xe]),{track:{radius:Me}}=A,Ne=(0,_react().useMemo)(()=>({backgroundColor:W,borderRadius:Me,..."vertical"===P?{left:0,width:"100%",height:`${Math.max(Re.size,0)}%`,top:`${Math.max(Re.offset,0)}%`}:{top:0,height:"100%",width:`${Math.max(Re.size,0)}%`,left:`${Math.max(Re.offset,0)}%`}}),[Re.offset,Re.size,P,W,Me]),Ee=(0,_react().useMemo)(()=>"vertical"===P?[S.tv,{width:I,backgroundColor:H,alignSelf:"center"}]:[S.th,{height:I,backgroundColor:H}],[P,H,I]),Ce=(0,_validate.isFunction)(v)?v({value:he}):v??g,Fe=p??w??Ce,Te=y??k??Ce,Ae=(0,_react().useCallback)((e,t)=>t>1?0===e?Fe:Te:Ce,[Fe,Te,Ce]),Pe="web"===_reactNative().Platform.OS?{touchAction:"horizontal"===P?"pan-y":"pan-x",userSelect:"none"}:void 0,Ve=[S.tp,"vertical"===P?S.tpv:null,Pe],ze=(0,_react().useCallback)(e=>[Ve,ce(e)],[Ve,ce]),qe=ce&&(0,_validate.isFunction)(ce)?ze:[Ve,ce],{spacing:{containerPaddingVertical:Le},layout:{verticalMinHeight:Oe,verticalWidth:De},states:{disabledOpacity:je}}=A,Ie=[S.c,{paddingVertical:Le},"vertical"===P&&[S.vc,{minHeight:Oe,width:De}],c&&{opacity:je},C];return _react().default.createElement(_reactNative().View,_extends({style:Ie,onLayout:F},T),_react().default.createElement(_reactNative().View,{style:[S.tw,"vertical"===P&&S.twv]},_react().default.createElement(_reactNative().Pressable,_extends({ref:V},fe,{disabled:K,onLayout:de,style:qe}),_react().default.createElement(_reactNative().View,{style:[S.tb,{borderRadius:Me},...Ee]},_react().default.createElement(_reactNative().View,{style:[S.a,Ne]}))),we.map((e,t)=>_react().default.createElement(ThumbNode,{key:`thumb-${t}`,index:t,orientation:P,ariaReverse:ie,trackLayout:z,isDisabled:K,state:ae,size:Y,activeColor:W,content:Ae(t,we.length),visualPercent:xe[t]??0,thumbBackgroundColor:A.colors.thumbBackground,thumbElevation:A.thumb.elevation,indicatorSize:A.thumb.indicatorSize,indicatorColor:A.colors.thumbIndicator,webGestureStyle:Pe,enhanceHandlers:Se}))))},S=_reactNative().StyleSheet.create({c:{position:"relative",justifyContent:"center",width:"100%"},vc:{height:"100%",alignItems:"center",paddingVertical:0},tw:{width:"100%",justifyContent:"center",position:"relative"},twv:{flex:1,justifyContent:"center",alignItems:"center",width:"100%"},tp:{width:"100%",justifyContent:"center"},tpv:{flex:1,alignItems:"center"},tb:{overflow:"hidden",position:"relative"},th:{width:"100%"},tv:{height:"100%"},a:{position:"absolute"},t:{position:"absolute",alignItems:"center",justifyContent:"center"},thw:{position:"absolute",alignItems:"center",justifyContent:"center"}}),Slider=exports.Slider=_react().default.memo(SliderImpl);var _default=exports.default=Slider;
|
|
1
|
+
"use strict";function _slider(){const e=require("@react-native-aria/slider");return _slider=function(){return e},e}function _utils(){const e=require("@react-native-aria/utils");return _utils=function(){return e},e}function _slider2(){const e=require("@react-stately/slider");return _slider2=function(){return e},e}function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Slider=void 0;var _tokens=require("./tokens"),_number=require("../../utils/number"),_hairline=require("../../utils/hairline"),_utils2=require("../../utils"),_validate=require("../../utils/validate"),_hooks=require("../../hooks"),_utils3=require("../../hooks/slider/utils");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,n,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(i=t?a:r){if(i.has(e))return i.get(e);i.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?i(o,t,n):o[t]=e[t]);return o})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}const ThumbNode=_react().default.memo(({index:e,orientation:t,ariaReverse:r,trackLayout:a,isDisabled:i,state:n,size:o,activeColor:u,content:c,visualPercent:l,thumbBackgroundColor:s,thumbElevation:d,indicatorSize:_,indicatorColor:f,webGestureStyle:h,enhanceHandlers:m})=>{const v=(0,_react().useRef)(null),{thumbProps:b,inputProps:p}=(0,_slider().useSliderThumb)({index:e,trackLayout:a,inputRef:v,isDisabled:i,orientation:t},n,r),g=b,y=m(g,e)??g??{},k=-o/2,w={width:o,height:o,borderRadius:o/2,borderColor:u,transform:[{translateX:k},{translateY:k}],..."vertical"===t?{top:`${l}%`,left:"50%"}:{left:`${l}%`,top:"50%"},...c?{}:{backgroundColor:s,elevation:d}},x={width:_,height:_,borderRadius:_/2,backgroundColor:f},C=(0,_utils3.createAccessibilityProps)(p);return _react().default.createElement(_reactNative().View,_extends({},y,C,{pointerEvents:i?"none":"auto",style:[c?S.thw:S.t,h,w]}),null!=c?(0,_validate.isText)(c)?(0,_utils2.renderTextOrNode)(c,[]):c:_react().default.createElement(_reactNative().View,{style:x}),!c&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:u,borderRadius:o/2})}))});ThumbNode.displayName="ThumbNode";const SliderImpl=e=>{const{value:t,min:r=0,max:a=100,step:i=1,range:n=!1,vertical:o=!1,reverse:u=!1,disabled:c=!1,readOnly:l=!1,activeColor:s,inactiveColor:d,barHeight:_,trackHeight:f,buttonSize:h,thumbSize:m,tokensOverride:v,button:b,leftButton:p,rightButton:g,thumb:y,leftThumb:k,rightThumb:w,ariaLabel:x,onChange:C,onChangeAfter:M,onDragStart:N,onDragEnd:E,style:R,onLayout:T,...F}=e,V=(0,_tokens.useSliderTokens)(v),z=o?"vertical":"horizontal",{trackRef:P,trackLayout:q,handleTrackLayout:O}=(0,_utils3.useTrackLayout)(),D=(0,_number.parseNumber)(r,0),j=(0,_number.parseNumber)(a,100),A=(0,_number.parseNumber)(i,1),L=A>0?A:1,Y=Math.max(0,(0,_number.parseNumber)(_??f,V.track.height)),I=Math.max(0,(0,_number.parseNumber)(h??m,V.thumb.size)),W=c||l,H=s??V.colors.active,K=d??V.colors.inactive,$=Math.max(j-D,1e-5),B=(0,_utils3.normalizeValue)(t,n,D,j),X=void 0!==t,G=(0,_react().useRef)(C),J=(0,_react().useRef)(M),Q=(0,_react().useRef)(N),U=(0,_react().useRef)(E);G.current=C,J.current=M,Q.current=N,U.current=E;const Z=(0,_react().useCallback)(e=>(0,_utils3.toSliderValue)(e,n,D),[n,D]),ee=(0,_react().useCallback)(e=>{G.current?.(Z(e))},[Z]),te=(0,_react().useCallback)(e=>{J.current?.(Z(e))},[Z]),re=(0,_react().useMemo)(()=>({minValue:D,maxValue:j,step:L,isDisabled:W,numberFormatter:_utils3.defaultNumberFormatter,orientation:z,value:X?B:void 0,defaultValue:X?void 0:B,onChange:ee,onChangeEnd:te}),[W,ee,te,X,B,z,j,D,L]),ae=(0,_slider2().useSliderState)(re),ie="horizontal"===z?u||(0,_utils().isRTL)():u,ne="horizontal"===z?ie:u,{trackProps:oe}=(0,_slider().useSlider)({orientation:z,isDisabled:W,"aria-label":x??"Slider"},ae,q,ne),ue=oe,{style:ce,onLayout:le,...se}=ue,de=(0,_react().useCallback)(e=>{O(e),le?.(e)},[O,le]),_e=(0,_react().useCallback)(e=>{if(W)return;if(!ae.values.every((e,t)=>!ae.isThumbDragging(t)))return;const{locationX:t,locationY:r,pageX:a,pageY:i}=e.nativeEvent,n=(0,_validate.isFiniteNumber)(t)?t:(0,_validate.isFiniteNumber)(a)?a-(q.x??0):0,o=(0,_validate.isFiniteNumber)(r)?r:(0,_validate.isFiniteNumber)(i)?i-(q.y??0):0,c="vertical"===z?q.height:q.width,l=("vertical"===z?o:n)/Math.max(c,1),s="vertical"===z?u?l:1-l:ie?1-l:l,d=ae.getPercentValue(Math.min(1,Math.max(0,s))),_=ae.values.reduce((e,t,r)=>Math.abs(t-d)<Math.abs(ae.values[e]-d)?r:e,0);_>=0&&ae.isThumbEditable(_)&&(e.preventDefault?.(),ae.setFocusedThumb(_),ae.setThumbDragging(_,!0),ae.setThumbValue(_,d),ae.setThumbDragging(_,!1))},[W,z,u,ie,ae,q.height,q.width,q.x,q.y]),{interactionProps:fe}=(0,_hooks.useAriaPress)({disabled:W,onPress:_e,extraProps:se}),he=Z(ae.values),me=(0,_react().useRef)(he),ve=(0,_react().useRef)([]),be=(0,_react().useRef)([]),pe=(0,_react().useRef)([]),ge=(0,_react().useRef)([]),ye=(0,_react().useRef)(new WeakMap);me.current=he,(0,_react().useEffect)(()=>()=>{const e="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;if(e){for(const t of pe.current)null!=t&&e(t);pe.current=[],ge.current=[]}},[]);const Se=(0,_react().useCallback)((e,t)=>{if(!e)return e;if(!Q.current&&!U.current)return e;const r=ye.current.get(e),a=r?.get(t);if(a)return a;if(!(_utils3.START_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||_utils3.MOVE_KEYS.some(t=>(0,_validate.isFunction)(e[t]))||_utils3.END_KEYS.some(t=>(0,_validate.isFunction)(e[t]))))return e;const i={...e},n="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,o="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;for(const e of _utils3.MOVE_KEYS){const r=i[e];if(!(0,_validate.isFunction)(r))continue;const a=r;i[e]=(...e)=>{n?(ge.current[t]=e,null==pe.current[t]&&(pe.current[t]=n(()=>{pe.current[t]=null;const e=ge.current[t];e&&(ge.current[t]=null,a(...e))}))):a(...e)}}const u=(e,t)=>{if(!t)return;const r=i[e];i[e]=(...e)=>{(0,_validate.isFunction)(r)&&r(...e),t(e[0])}},c=(e,t)=>{if(!t)return;const r=i[e];i[e]=(...e)=>{t(e[0]),(0,_validate.isFunction)(r)&&r(...e)}};for(const e of _utils3.START_KEYS)u(e,()=>{ve.current[t]=!1,be.current[t]=me.current});for(const e of _utils3.MOVE_KEYS)c(e,e=>{ve.current[t]||(ve.current[t]=!0,Q.current?.(e,be.current[t]??me.current))});const l=e=>{ve.current[t]&&(ve.current[t]=!1,be.current[t]=void 0,U.current?.(e,me.current));const r=pe.current[t];null!=r&&o&&(o(r),pe.current[t]=null),ge.current[t]=null};for(const e of _utils3.END_KEYS)u(e,l);const s=r??new Map;return s.set(t,i),r||ye.current.set(e,s),i},[]),ke=ae.values,we=(0,_react().useMemo)(()=>ke.map(e=>((e??D)-D)/$*100),[D,$,ke]),xe=(0,_react().useMemo)(()=>we.map(e=>"vertical"===z?u?e:100-e:ie?100-e:e),[z,u,ie,we]),Ce=(0,_react().useMemo)(()=>{const e=xe[0]??0,t=xe[1]??e;return n&&xe.length>1?{offset:Math.min(e,t),size:Math.max(e,t)-Math.min(e,t)}:("horizontal"===z?!ie:u)?{offset:0,size:e}:{offset:e,size:100-e}},[z,n,u,ie,xe]),{track:{radius:Me}}=V,Ne=(0,_react().useMemo)(()=>({backgroundColor:H,borderRadius:Me,..."vertical"===z?{left:0,width:"100%",height:`${Math.max(Ce.size,0)}%`,top:`${Math.max(Ce.offset,0)}%`}:{top:0,height:"100%",width:`${Math.max(Ce.size,0)}%`,left:`${Math.max(Ce.offset,0)}%`}}),[Ce.offset,Ce.size,z,H,Me]),Ee=(0,_react().useMemo)(()=>"vertical"===z?[S.tv,{width:Y,backgroundColor:K,alignSelf:"center"}]:[S.th,{height:Y,backgroundColor:K}],[z,K,Y]),Re=(0,_validate.isFunction)(b)?b({value:he}):b??y,Te=p??k??Re,Fe=g??w??Re,Ve=(0,_react().useCallback)((e,t)=>t>1?0===e?Te:Fe:Re,[Te,Fe,Re]),ze="web"===_reactNative().Platform.OS?{touchAction:"horizontal"===z?"pan-y":"pan-x",userSelect:"none"}:void 0,Pe=[S.tp,"vertical"===z?S.tpv:null,ze],qe=(0,_react().useCallback)(e=>[Pe,ce(e)],[Pe,ce]),Oe=ce&&(0,_validate.isFunction)(ce)?qe:[Pe,ce],{spacing:{containerPaddingVertical:De},layout:{verticalMinHeight:je,verticalWidth:Ae},states:{disabledOpacity:Le}}=V,Ye=[S.c,{paddingVertical:De},"vertical"===z&&[S.vc,{minHeight:je,width:Ae}],c&&{opacity:Le},R];return _react().default.createElement(_reactNative().View,_extends({style:Ye,onLayout:T},F),_react().default.createElement(_reactNative().View,{style:[S.tw,"vertical"===z&&S.twv]},_react().default.createElement(_reactNative().Pressable,_extends({ref:P},fe,{disabled:W,onLayout:de,style:Oe}),_react().default.createElement(_reactNative().View,{style:[S.tb,{borderRadius:Me},...Ee]},_react().default.createElement(_reactNative().View,{style:[S.a,Ne]}))),ke.map((e,t)=>_react().default.createElement(ThumbNode,{key:`thumb-${t}`,index:t,orientation:z,ariaReverse:ne,trackLayout:q,isDisabled:W,state:ae,size:I,activeColor:H,content:Ve(t,ke.length),visualPercent:xe[t]??0,thumbBackgroundColor:V.colors.thumbBackground,thumbElevation:V.thumb.elevation,indicatorSize:V.thumb.indicatorSize,indicatorColor:V.colors.thumbIndicator,webGestureStyle:ze,enhanceHandlers:Se}))))},S=_reactNative().StyleSheet.create({c:{position:"relative",justifyContent:"center",width:"100%"},vc:{height:"100%",alignItems:"center",paddingVertical:0},tw:{width:"100%",justifyContent:"center",position:"relative"},twv:{flex:1,justifyContent:"center",alignItems:"center",width:"100%"},tp:{width:"100%",justifyContent:"center"},tpv:{flex:1,alignItems:"center"},tb:{overflow:"hidden",position:"relative"},th:{width:"100%"},tv:{height:"100%"},a:{position:"absolute"},t:{position:"absolute",alignItems:"center",justifyContent:"center"},thw:{position:"absolute",alignItems:"center",justifyContent:"center"}}),Slider=exports.Slider=_react().default.memo(SliderImpl);var _default=exports.default=Slider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _hooks=require("../../hooks"),_utils=require("../../utils"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens"),_hairline=require("../../utils/hairline");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,u,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(u.get||u.set)?a(s,t,u):s[t]=e[t]);return s})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const LONG_PRESS_DELAY=600,LONG_PRESS_INTERVAL=100,StepperImpl=(e,t)=>{const r=(0,_tokens.useStepperTokens)(e.tokensOverride),n=(0,_useDirection.useDirection)(),{min:a,max:u,step:s=1,autoFixed:o=!0,beforeChange:l,integer:c=!1,decimalLength:i,disabled:d=!1,disablePlus:p=!1,disableMinus:b=!1,disableInput:_=!1,allowEmpty:f=!1,showPlus:m=r.defaults.showPlus,showMinus:g=r.defaults.showMinus,showInput:h=r.defaults.showInput,longPress:y=r.defaults.longPress,theme:k=r.defaults.theme,inputWidth:v,buttonSize:C,name:T,placeholder:N,onClick:R,onPlus:P,onMinus:x,onOverlimit:F,onFocus:w,onBlur:I,inputProps:D,inputStyle:O,buttonStyle:L,style:B,...E}=e,[M,W]=(0,_react().useState)(!1),V=(0,_react().useRef)(!1),q=(0,_react().useRef)(P),z=(0,_react().useRef)(x),j=(0,_react().useRef)(F),H=(0,_react().useRef)(w),A=(0,_react().useRef)(I),G=(0,_react().useRef)(R),Y=(0,_react().useRef)(null),J=(0,_react().useRef)(null),K=(0,_react().useRef)(""),Q=(0,_react().useRef)(D),U=(0,_react().useRef)({hadLongPress:!1});q.current=P,z.current=x,j.current=F,H.current=w,A.current=I,G.current=R,Q.current=D;const X=(0,_utils.parseDecimalLength)(i),Z=Number(s??1),$=(0,_utils.isFiniteNumber)(Z)&&Z>0?Z:1,ee=Math.max(0,(0,_utils.parseNumber)(C,r.defaults.buttonSize)),te=Math.max(0,(0,_utils.parseNumber)(v,r.defaults.inputWidth)),re=(0,_react().useMemo)(()=>{const t=e.defaultValue;if(null===t)return null;const r=(0,_utils.isFiniteNumber)(t)?t:0,n=(0,_utils.formatNumber)(r,c,X);return o?(0,_utils.clampValue)(n,a,u):n},[o,X,c,u,a,e.defaultValue]),[ne,ae]=(0,_hooks.useControllableValue)({...e,defaultValue:re},{defaultValue:re});(0,_react().useEffect)(()=>{Y.current=ne??null},[ne]),(0,_react().useImperativeHandle)(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur()}));const[ue,se]=(0,_react().useState)(!1),[oe,le]=(0,_react().useState)(()=>(0,_utils.numberToString)(ne,X)),ce=(0,_react().useCallback)(e=>{K.current=e,le(e)},[]);(0,_react().useEffect)(()=>{ue||ce((0,_utils.numberToString)(ne,X))},[X,ue,ce,ne]);const ie=(0,_react().useCallback)(()=>{const e=Y.current;return(0,_utils.isFiniteNumber)(e)?e:(0,_utils.isFiniteNumber)(a)?a:0},[a]),de=(0,_react().useCallback)(e=>{if(d)return!0;if("plus"===e&&p)return!0;if("minus"===e&&b)return!0;const t=ie();return!!("plus"===e&&(0,_utils.isFiniteNumber)(u)&&t>=u)||!!("minus"===e&&(0,_utils.isFiniteNumber)(a)&&t<=a)},[b,p,d,ie,u,a]),pe=(0,_react().useCallback)(e=>{const t=Y.current??null;return!Object.is(t,e)&&(Y.current=e,ae(e,{name:T}),!0)},[T,ae]),be=(0,_react().useCallback)(e=>{const t=(0,_utils.formatNumber)(e,c,X);return o?(0,_utils.clampValue)(t,a,u):t},[o,X,c,u,a]),_e=(0,_react().useCallback)((e,t)=>{if(V.current)return"noop";const r=()=>pe(e)?(ce((0,_utils.numberToString)(e,X)),t?.(e),"changed"):"noop";if(!l)return r();try{const t=l(e);return(0,_utils.isPromiseLike)(t)?(V.current=!0,W(!0),t.then(e=>{!1!==e?r():ce((0,_utils.numberToString)(Y.current,X))}).catch(()=>r()).finally(()=>{V.current=!1,W(!1)}),"pending"):!1===t?(ce((0,_utils.numberToString)(Y.current,X)),"noop"):r()}catch{return r()}},[l,X,ce,pe]),fe=(0,_react().useCallback)((e,t,r)=>{if(V.current)return"noop";const n=r?.emitOverlimit??!0,a=r?.emitButtonCallbacks??Boolean(t);if(de(e))return n&&j.current?.(e),"overlimit";const u=ie(),s="plus"===e?$:-$,o=be((0,_utils.addNumber)(u,s));return _e(o,r=>{a&&t&&("plus"===e?q.current?.(t,r):z.current?.(t,r))})},[be,ie,de,_e,$]),me=(0,_react().useCallback)(()=>{U.current.delay&&(clearTimeout(U.current.delay),U.current.delay=void 0),U.current.interval&&(clearInterval(U.current.interval),U.current.interval=void 0)},[]);(0,_react().useEffect)(()=>me(),[me]),(0,_react().useEffect)(()=>{(d||M||!y)&&me()},[M,me,d,y]);const ge=(0,_react().useCallback)(e=>{y&&(V.current||de(e)||(me(),U.current.hadLongPress=!1,U.current.delay=setTimeout(()=>{U.current.hadLongPress=!0;"changed"===fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})?U.current.interval=setInterval(()=>{"changed"!==fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})&&me()},100):me()},600)))},[me,de,y,fe]),he=(0,_react().useCallback)(()=>me(),[me]),ye=(0,_react().useCallback)((e,t)=>{U.current.hadLongPress?U.current.hadLongPress=!1:(U.current.hadLongPress=!1,fe(e,t,{emitOverlimit:!0,emitButtonCallbacks:!0}))},[fe]),ke=(0,_utils.isFiniteNumber)(ne)?ne:0,ve=(0,_utils.isFiniteNumber)(a)?a:void 0,Se=(0,_utils.isFiniteNumber)(u)?u:void 0,Ce=d||M,Te=Ce||b||null!=ve&&ke<=ve,Ne=Ce||p||null!=Se&&ke>=Se,Re=r.radii.default,Pe=(0,_react().useMemo)(()=>({width:ee,height:ee}),[ee]),xe=(0,_react().useMemo)(()=>({width:te,height:ee,marginHorizontal:r.spacing.gap}),[ee,te,r.spacing.gap]),Fe=(0,_react().useCallback)((e,t)=>{const a="plus"===e,u=a?Ne:Te;if("round"===k){const e=[S.btn,Pe,{borderRadius:ee/2,opacity:u?r.opacity.roundDisabled:1}];return a?[...e,{backgroundColor:r.colors.roundTheme,...t.pressed&&!u&&{opacity:r.opacity.pressed}},L]:[...e,{backgroundColor:r.colors.roundThemeBackground,...t.pressed&&!u&&{opacity:r.opacity.pressed}},L]}const s="minus"===e!=("rtl"===n)?{borderTopLeftRadius:Re,borderBottomLeftRadius:Re}:{borderTopRightRadius:Re,borderBottomRightRadius:Re},o=u?r.colors.buttonDisabledBackground:t.pressed?r.colors.active:r.colors.background;return[S.btn,Pe,s,{backgroundColor:o},L]},[Pe,L,Te,Ne,Re,ee,k,n,r.colors.active,r.colors.background,r.colors.buttonDisabledBackground,r.colors.roundTheme,r.colors.roundThemeBackground,r.opacity.pressed,r.opacity.roundDisabled]),we=(0,_react().useCallback)(e=>{const t="plus"===e,n=t?Ne:Te;if("round"===k){const e=t?r.colors.roundThemeText:r.colors.roundTheme;return[S.btnTxt,{color:e,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]}return[S.btnTxt,{color:n?r.colors.buttonDisabledIcon:r.colors.buttonIcon,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]},[Te,Ne,k,r.colors.buttonDisabledIcon,r.colors.buttonIcon,r.colors.roundTheme,r.colors.roundThemeText,r.typography.fontFamily,r.typography.fontSize,r.typography.fontWeight]),Ie=(0,_react().useCallback)(e=>{if(_||d||V.current)return;ce(e),Q.current?.onChangeText?.(e);const t=e.trim();if(""===t)return void _e(f?null:re);const r=Number.parseFloat(t);Number.isFinite(r)&&_e(be(r))},[f,be,V,_,d,Q,_e,re,ce]),De=(0,_react().useCallback)(e=>{_?J.current?.blur():(se(!0),H.current?.(e),Q.current?.onFocus?.(e))},[_]),Oe=(0,_react().useCallback)(e=>{if(se(!1),!V.current){const e=K.current.trim();if(""===e)_e(f?null:re);else{const t=Number.parseFloat(e);Number.isFinite(t)&&_e(be(t))}}A.current?.(e),Q.current?.onBlur?.(e)},[f,be,_e,re]),Le=(0,_react().useCallback)(e=>{G.current?.(e),Q.current?.onPressIn?.(e)},[]),Be=(0,_react().useCallback)(e=>ye("minus",e),[ye]),Ee=(0,_react().useCallback)(e=>ye("plus",e),[ye]),Me=(0,_react().useCallback)(()=>ge("minus"),[ge]),We=(0,_react().useCallback)(()=>ge("plus"),[ge]),Ve=(0,_react().useCallback)(e=>Fe("minus",e),[Fe]),qe=(0,_react().useCallback)(e=>Fe("plus",e),[Fe]),ze=(0,_react().useCallback)(()=>g?_react().default.createElement(_reactNative().Pressable,{key:"minus",testID:"stepper-minus",accessibilityRole:"button",accessibilityLabel:"minus",accessibilityState:{disabled:Te},onPress:Be,onPressIn:Me,onPressOut:he,style:Ve},_react().default.createElement(_reactNative().Text,{style:we("minus")},"-"),"round"===k&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:r.colors.roundTheme,borderRadius:ee/2})})):null,[we,Ve,Be,Me,he,Te,g,k,r.colors.roundTheme,ee]),je=(0,_react().useCallback)(()=>m?_react().default.createElement(_reactNative().Pressable,{key:"plus",testID:"stepper-plus",accessibilityRole:"button",accessibilityLabel:"add",accessibilityState:{disabled:Ne},onPress:Ee,onPressIn:We,onPressOut:he,style:qe},_react().default.createElement(_reactNative().Text,{style:we("plus")},"+")):null,[we,qe,Ee,We,he,Ne,m]),He=(0,_react().useMemo)(()=>{if(!h)return null;const e=!Ce&&!_,t=Ce||_,n="round"===k?r.colors.transparent:t?r.colors.inputDisabledBackground:r.colors.background,a=t?r.colors.inputDisabledText:r.colors.inputText,u=c?"number-pad":"decimal-pad";return _react().default.createElement(_reactNative().TextInput,_extends({ref:J},D,{style:[S.inp,xe,{backgroundColor:n,color:a,paddingHorizontal:r.spacing.none,paddingVertical:r.spacing.none},O],value:oe,placeholder:N,editable:e,keyboardType:u,onChangeText:Ie,onFocus:De,onBlur:Oe,onPressIn:Le}))},[Ce,_,Oe,Ie,De,Le,xe,D,O,oe,c,N,h,k,r.colors.background,r.colors.inputDisabledBackground,r.colors.inputDisabledText,r.colors.inputText,r.colors.transparent,r.spacing.none]);return _react().default.createElement(_reactNative().View,_extends({},E,{style:[S.cnt,B]}),ze(),He,je())},S=_reactNative().StyleSheet.create({cnt:{flexDirection:"row",alignItems:"center"},btn:{justifyContent:"center",alignItems:"center"},btnTxt:{},inp:{textAlign:"center"}}),StepperForwardRef=_react().default.forwardRef(StepperImpl);StepperForwardRef.displayName="Stepper";const Stepper=exports.Stepper=_react().default.memo(StepperForwardRef);var _default=exports.default=Stepper;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Stepper=void 0;var _hooks=require("../../hooks"),_utils=require("../../utils"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens"),_hairline=require("../../utils/hairline");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var u,a,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(u=t?n:r){if(u.has(e))return u.get(e);u.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?u(s,t,a):s[t]=e[t]);return s})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const LONG_PRESS_DELAY=600,LONG_PRESS_INTERVAL=100,StepperImpl=(e,t)=>{const r=(0,_tokens.useStepperTokens)(e.tokensOverride),n=(0,_useDirection.useDirection)(),{min:u,max:a,step:s=1,autoFixed:o=!0,beforeChange:l,integer:c=!1,decimalLength:i,disabled:d=!1,disablePlus:p=!1,disableMinus:b=!1,disableInput:_=!1,allowEmpty:f=!1,showPlus:m=r.defaults.showPlus,showMinus:g=r.defaults.showMinus,showInput:h=r.defaults.showInput,longPress:y=r.defaults.longPress,theme:k=r.defaults.theme,inputWidth:v,buttonSize:C,name:T,placeholder:N,onClick:R,onPlus:P,onMinus:x,onOverlimit:F,onFocus:w,onBlur:I,inputProps:D,inputStyle:O,buttonStyle:L,style:B,...E}=e,[M,W]=(0,_react().useState)(!1),V=(0,_react().useRef)(!1),q=(0,_react().useRef)(P),z=(0,_react().useRef)(x),j=(0,_react().useRef)(F),H=(0,_react().useRef)(w),A=(0,_react().useRef)(I),G=(0,_react().useRef)(R),Y=(0,_react().useRef)(null),J=(0,_react().useRef)(null),K=(0,_react().useRef)(""),Q=(0,_react().useRef)(D),U=(0,_react().useRef)({hadLongPress:!1});q.current=P,z.current=x,j.current=F,H.current=w,A.current=I,G.current=R,Q.current=D;const X=(0,_utils.parseDecimalLength)(i),Z=Number(s??1),$=(0,_utils.isFiniteNumber)(Z)&&Z>0?Z:1,ee=Math.max(0,(0,_utils.parseNumber)(C,r.defaults.buttonSize)),te=Math.max(0,(0,_utils.parseNumber)(v,r.defaults.inputWidth)),re=(0,_react().useMemo)(()=>{const t=e.defaultValue;if(null===t)return null;const r=(0,_utils.isFiniteNumber)(t)?t:0,n=(0,_utils.formatNumber)(r,c,X);return o?(0,_utils.clampValue)(n,u,a):n},[o,X,c,a,u,e.defaultValue]),[ne,ue]=(0,_hooks.useControllableValue)({...e,defaultValue:re},{defaultValue:re});(0,_react().useEffect)(()=>{Y.current=ne??null},[ne]),(0,_react().useImperativeHandle)(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur()}));const[ae,se]=(0,_react().useState)(!1),[oe,le]=(0,_react().useState)(()=>(0,_utils.numberToString)(ne,X)),ce=(0,_react().useCallback)(e=>{K.current=e,le(e)},[]);(0,_react().useEffect)(()=>{ae||ce((0,_utils.numberToString)(ne,X))},[X,ae,ce,ne]);const ie=(0,_react().useCallback)(()=>{const e=Y.current;return(0,_utils.isFiniteNumber)(e)?e:(0,_utils.isFiniteNumber)(u)?u:0},[u]),de=(0,_react().useCallback)(e=>{if(d)return!0;if("plus"===e&&p)return!0;if("minus"===e&&b)return!0;const t=ie();return!!("plus"===e&&(0,_utils.isFiniteNumber)(a)&&t>=a)||!!("minus"===e&&(0,_utils.isFiniteNumber)(u)&&t<=u)},[b,p,d,ie,a,u]),pe=(0,_react().useCallback)(e=>{const t=Y.current??null;return!Object.is(t,e)&&(Y.current=e,ue(e,{name:T}),!0)},[T,ue]),be=(0,_react().useCallback)(e=>{const t=(0,_utils.formatNumber)(e,c,X);return o?(0,_utils.clampValue)(t,u,a):t},[o,X,c,a,u]),_e=(0,_react().useCallback)((e,t)=>{if(V.current)return"noop";const r=()=>pe(e)?(ce((0,_utils.numberToString)(e,X)),t?.(e),"changed"):"noop";if(!l)return r();try{const t=l(e);return(0,_utils.isPromiseLike)(t)?(V.current=!0,W(!0),t.then(e=>{!1!==e?r():ce((0,_utils.numberToString)(Y.current,X))}).catch(()=>{ce((0,_utils.numberToString)(Y.current,X))}).finally(()=>{V.current=!1,W(!1)}),"pending"):!1===t?(ce((0,_utils.numberToString)(Y.current,X)),"noop"):r()}catch{return r()}},[l,X,ce,pe]),fe=(0,_react().useCallback)((e,t,r)=>{if(V.current)return"noop";const n=r?.emitOverlimit??!0,u=r?.emitButtonCallbacks??Boolean(t);if(de(e))return n&&j.current?.(e),"overlimit";const a=ie(),s="plus"===e?$:-$,o=be((0,_utils.addNumber)(a,s));return _e(o,r=>{u&&t&&("plus"===e?q.current?.(t,r):z.current?.(t,r))})},[be,ie,de,_e,$]),me=(0,_react().useCallback)(()=>{U.current.delay&&(clearTimeout(U.current.delay),U.current.delay=void 0),U.current.interval&&(clearInterval(U.current.interval),U.current.interval=void 0)},[]);(0,_react().useEffect)(()=>(me(),()=>me()),[me]),(0,_react().useEffect)(()=>{(d||M||!y)&&me()},[M,me,d,y]);const ge=(0,_react().useCallback)(e=>{y&&(V.current||de(e)||(me(),U.current.hadLongPress=!1,U.current.delay=setTimeout(()=>{U.current.hadLongPress=!0;"changed"===fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})?U.current.interval=setInterval(()=>{"changed"!==fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})&&me()},100):me()},600)))},[me,de,y,fe]),he=(0,_react().useCallback)(()=>me(),[me]),ye=(0,_react().useCallback)((e,t)=>{U.current.hadLongPress?U.current.hadLongPress=!1:(U.current.hadLongPress=!1,fe(e,t,{emitOverlimit:!0,emitButtonCallbacks:!0}))},[fe]),ke=(0,_utils.isFiniteNumber)(ne)?ne:0,ve=(0,_utils.isFiniteNumber)(u)?u:void 0,Se=(0,_utils.isFiniteNumber)(a)?a:void 0,Ce=d||M,Te=Ce||b||null!=ve&&ke<=ve,Ne=Ce||p||null!=Se&&ke>=Se,Re=r.radii.default,Pe=(0,_react().useMemo)(()=>({width:ee,height:ee}),[ee]),xe=(0,_react().useMemo)(()=>({width:te,height:ee,marginHorizontal:r.spacing.gap}),[ee,te,r.spacing.gap]),Fe=(0,_react().useCallback)((e,t)=>{const u="plus"===e,a=u?Ne:Te;if("round"===k){const e=[S.btn,Pe,{borderRadius:ee/2,opacity:a?r.opacity.roundDisabled:1}];return u?[...e,{backgroundColor:r.colors.roundTheme,...t.pressed&&!a&&{opacity:r.opacity.pressed}},L]:[...e,{backgroundColor:r.colors.roundThemeBackground,...t.pressed&&!a&&{opacity:r.opacity.pressed}},L]}const s="minus"===e!=("rtl"===n)?{borderTopLeftRadius:Re,borderBottomLeftRadius:Re}:{borderTopRightRadius:Re,borderBottomRightRadius:Re},o=a?r.colors.buttonDisabledBackground:t.pressed?r.colors.active:r.colors.background;return[S.btn,Pe,s,{backgroundColor:o},L]},[Pe,L,Te,Ne,Re,ee,k,n,r.colors.active,r.colors.background,r.colors.buttonDisabledBackground,r.colors.roundTheme,r.colors.roundThemeBackground,r.opacity.pressed,r.opacity.roundDisabled]),we=(0,_react().useCallback)(e=>{const t="plus"===e,n=t?Ne:Te;if("round"===k){const e=t?r.colors.roundThemeText:r.colors.roundTheme;return[S.btnTxt,{color:e,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]}return[S.btnTxt,{color:n?r.colors.buttonDisabledIcon:r.colors.buttonIcon,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]},[Te,Ne,k,r.colors.buttonDisabledIcon,r.colors.buttonIcon,r.colors.roundTheme,r.colors.roundThemeText,r.typography.fontFamily,r.typography.fontSize,r.typography.fontWeight]),Ie=(0,_react().useCallback)(e=>{if(_||d||V.current)return;ce(e),Q.current?.onChangeText?.(e);const t=e.trim();if(""===t)return void _e(f?null:re);const r=Number.parseFloat(t);Number.isFinite(r)&&_e(be(r))},[f,be,V,_,d,Q,_e,re,ce]),De=(0,_react().useCallback)(e=>{_?J.current?.blur():(se(!0),H.current?.(e),Q.current?.onFocus?.(e))},[_]),Oe=(0,_react().useCallback)(e=>{if(se(!1),!V.current){const e=K.current.trim();if(""===e)_e(f?null:re);else{const t=Number.parseFloat(e);Number.isFinite(t)&&_e(be(t))}}A.current?.(e),Q.current?.onBlur?.(e)},[f,be,_e,re]),Le=(0,_react().useCallback)(e=>{G.current?.(e),Q.current?.onPressIn?.(e)},[]),Be=(0,_react().useCallback)(e=>ye("minus",e),[ye]),Ee=(0,_react().useCallback)(e=>ye("plus",e),[ye]),Me=(0,_react().useCallback)(()=>ge("minus"),[ge]),We=(0,_react().useCallback)(()=>ge("plus"),[ge]),Ve=(0,_react().useCallback)(e=>Fe("minus",e),[Fe]),qe=(0,_react().useCallback)(e=>Fe("plus",e),[Fe]),ze=(0,_react().useCallback)(()=>g?_react().default.createElement(_reactNative().Pressable,{key:"minus",testID:"stepper-minus",accessibilityRole:"button",accessibilityLabel:"minus",accessibilityState:{disabled:Te},onPress:Be,onPressIn:Me,onPressOut:he,style:Ve},_react().default.createElement(_reactNative().Text,{style:we("minus")},"-"),"round"===k&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:r.colors.roundTheme,borderRadius:ee/2})})):null,[we,Ve,Be,Me,he,Te,g,k,r.colors.roundTheme,ee]),je=(0,_react().useCallback)(()=>m?_react().default.createElement(_reactNative().Pressable,{key:"plus",testID:"stepper-plus",accessibilityRole:"button",accessibilityLabel:"add",accessibilityState:{disabled:Ne},onPress:Ee,onPressIn:We,onPressOut:he,style:qe},_react().default.createElement(_reactNative().Text,{style:we("plus")},"+")):null,[we,qe,Ee,We,he,Ne,m]),He=(0,_react().useMemo)(()=>{if(!h)return null;const e=!Ce&&!_,t=Ce||_,n="round"===k?r.colors.transparent:t?r.colors.inputDisabledBackground:r.colors.background,u=t?r.colors.inputDisabledText:r.colors.inputText,a=c?"number-pad":"decimal-pad";return _react().default.createElement(_reactNative().TextInput,_extends({ref:J},D,{style:[S.inp,xe,{backgroundColor:n,color:u,paddingHorizontal:r.spacing.none,paddingVertical:r.spacing.none},O],value:oe,placeholder:N,editable:e,keyboardType:a,onChangeText:Ie,onFocus:De,onBlur:Oe,onPressIn:Le}))},[Ce,_,Oe,Ie,De,Le,xe,D,O,oe,c,N,h,k,r.colors.background,r.colors.inputDisabledBackground,r.colors.inputDisabledText,r.colors.inputText,r.colors.transparent,r.spacing.none]);return _react().default.createElement(_reactNative().View,_extends({},E,{style:[S.cnt,B]}),ze(),He,je())},S=_reactNative().StyleSheet.create({cnt:{flexDirection:"row",alignItems:"center"},btn:{justifyContent:"center",alignItems:"center"},btnTxt:{},inp:{textAlign:"center"}}),StepperForwardRef=_react().default.forwardRef(StepperImpl);StepperForwardRef.displayName="Stepper";const Stepper=exports.Stepper=_react().default.memo(StepperForwardRef);var _default=exports.default=Stepper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SwiperItem=void 0;var _number=require("../../utils/number"),_SwiperPagIndicator=_interopRequireDefault(require("./SwiperPagIndicator")),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,c,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((c=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(c.get||c.set)?a(l,t,c):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const SwiperItemImpl=(e,t)=>_react().default.createElement(_reactNative().View,{ref:t,style:[S.item,e.style],testID:e.testID},e.children),SwiperItemFR=(0,_react().forwardRef)(SwiperItemImpl);SwiperItemFR.displayName="SwiperItem";const SwiperItem=exports.SwiperItem=(0,_react().memo)(SwiperItemFR),
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SwiperItem=void 0;var _number=require("../../utils/number"),_SwiperPagIndicator=_interopRequireDefault(require("./SwiperPagIndicator")),_tokens=require("./tokens"),_utils=require("../../hooks/swiper/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,c,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(a=t?n:r){if(a.has(e))return a.get(e);a.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((c=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(c.get||c.set)?a(l,t,c):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}const SwiperItemImpl=(e,t)=>_react().default.createElement(_reactNative().View,{ref:t,style:[S.item,e.style],testID:e.testID},e.children),SwiperItemFR=(0,_react().forwardRef)(SwiperItemImpl);SwiperItemFR.displayName="SwiperItem";const SwiperItem=exports.SwiperItem=(0,_react().memo)(SwiperItemFR),SwiperImpl=(e,t)=>{const{data:r,renderItem:n,children:a,initialSwipe:c=0,touchable:l=!0,loop:u=!0,autoplay:i=!1,vertical:o=!1,onChange:s,indicator:_=!0,indicatorProps:f,style:d,testID:m}=e,p=(0,_tokens.useSwiperTokens)(),b=(0,_react().useRef)(null),h=(0,_react().useRef)(null),w=(0,_react().useRef)(!1),v=(0,_react().useRef)(!1),y=(0,_react().useRef)(null),I=(0,_react().useRef)(!1),g=(0,_react().useRef)(null),x=(0,_react().useRef)(null),R=(0,_react().useRef)(0),k="web"===_reactNative().Platform.OS,[E,C]=(0,_react().useState)({width:0,height:0}),M=(0,_react().useCallback)(e=>{const{width:t,height:r}=e.nativeEvent.layout;C(e=>e.width===t&&e.height===r?e:{width:t,height:r})},[]),O=(0,_react().useMemo)(()=>a?_react().Children.toArray(a).filter(e=>(0,_react().isValidElement)(e)):[],[a]),T=Array.isArray(r),N=T?r:O,P=N.length,q=u&&P>1,D=(0,_react().useMemo)(()=>q?[N[P-1],...N,N[0]]:N,[N,q,P]),V=D.length,j=q&&V<=_utils.LOOP_THRESHOLD,z=(0,_react().useCallback)(e=>q?0===e?P-1:e===V-1?0:e-1:(0,_number.clamp)(e,0,P-1),[q,P,V]),F=(0,_react().useCallback)(e=>q?(0,_number.clamp)(e,0,P-1)+1:(0,_number.clamp)(e,0,P-1),[q,P]),L=(0,_number.clamp)(c,0,Math.max(0,P-1)),W=F(L),H=(0,_react().useRef)(L),[A,B]=(0,_react().useState)(L),$=E.width>0&&E.height>0,G=o?E.height:E.width,J=o?E.width:E.height,K=(0,_react().useMemo)(()=>({width:o?J:G,height:o?G:J}),[o,G,J]),Q=(0,_react().useCallback)(()=>{h.current&&(clearTimeout(h.current),h.current=null)},[]),U=(0,_react().useRef)(s);U.current=s;const X=(0,_react().useCallback)(e=>{const t=(0,_number.clamp)(e,0,Math.max(0,P-1));H.current!==t&&(H.current=t,B(t),U.current?.(t))},[P]),Y=(0,_react().useCallback)((e,t)=>{try{b.current?.scrollToIndex({index:e,animated:t})}catch{}},[]),Z=(0,_react().useCallback)((e,t=!0)=>{if(0===P)return;if(t&&v.current)return void(y.current=e);const r=(0,_number.clamp)(e,0,P-1);let n=F(r);if(q&&t){const e=F(H.current);e===P&&0===r?n=V-1:1===e&&r===P-1&&(n=0)}const a=H.current,c=F(a);if(r!==a||n!==c){if(t&&(v.current=!0),Y(n,t),!t&&(X(r),null!=y.current)){const e=y.current;y.current=null,Z(e,!0)}}else if(null!=y.current){const e=y.current;y.current=null,Z(e,!0)}},[P,F,Y,q,V,X]),ee=(0,_react().useCallback)(()=>{const e="number"==typeof i?Math.max(0,i):i?p.defaults.autoplayInterval:0;!e||P<=1||w.current&&!k||(Q(),h.current=setTimeout(()=>{w.current&&!k||Z(q?(H.current+1)%P:(0,_number.clamp)(H.current+1,0,P-1),!0)},e))},[i,P,Q,q,Z,k,p.defaults.autoplayInterval]),te=(0,_react().useCallback)(()=>{0!==P&&Z(q?(H.current+1)%P:(0,_number.clamp)(H.current+1,0,P-1),!0)},[P,q,Z]),re=(0,_react().useCallback)(()=>{0!==P&&Z(q?(H.current-1+P)%P:(0,_number.clamp)(H.current-1,0,P-1),!0)},[P,q,Z]);(0,_react().useImperativeHandle)(t,()=>({swipeTo:Z,swipeNext:te,swipePrev:re,getCurrentIndex:()=>H.current}),[Z,te,re]),(0,_react().useEffect)(()=>{$&&0!==P&&Y(W,!1)},[$,P,W,Y]),(0,_react().useEffect)(()=>(ee(),Q),[ee,Q,A]),(0,_react().useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]);const ne=(0,_react().useCallback)(()=>{v.current=!1,w.current=!1,I.current=!1,ee(),(()=>{if(null==y.current)return;const e=y.current;y.current=null,Z(e,!0)})()},[ee]),ae=(0,_react().useCallback)(e=>{if(P<=1)return;const t=o?e.nativeEvent.contentOffset.y:e.nativeEvent.contentOffset.x,r=Math.round(t/G),n=q?(0,_number.clamp)(r,0,V-1):(0,_number.clamp)(r,0,P-1);if(X(z(n)),k){x.current&&(clearTimeout(x.current),x.current=null),R.current=t;const e=r*G;Math.abs(t-e)<.5?(q&&(r<=0||r>=V-1)&&Y(r<=0?P:1,!1),ne()):x.current=setTimeout(()=>{x.current=null;const e=R.current,t=Math.round(e/G);q&&(t<=0||t>=V-1)&&Y(t<=0?P:1,!1),ne()},150)}},[P,o,G,q,V,X,z,Y,ne,k]),ce=(0,_react().useCallback)(e=>{if(k||0===P)return;const t=o?e.nativeEvent.contentOffset.y:e.nativeEvent.contentOffset.x,r=Math.round(t/G);let n=r;q&&(0===r&&(n=P),r===V-1&&(n=1)),n!==r&&Y(n,!1),X(z(n)),ne()},[o,P,G,q,V,Y,X,z,ne,k]),le=(0,_react().useCallback)(()=>{w.current=!0,Q(),x.current&&(clearTimeout(x.current),x.current=null)},[Q]),ue=(0,_react().useCallback)(e=>{I.current||ce(e)},[ce]),ie=(0,_react().useCallback)(()=>{I.current=!0},[]),oe=(0,_react().useCallback)(e=>{const t=q?(0,_number.clamp)(e.index,0,V-1):(0,_number.clamp)(e.index,0,P-1);Y(t,!1),X(z(t)),ne()},[P,V,z,ne,Y,q,X]),se=(0,_react().useRef)(n);se.current=n;const _e=(0,_react().useCallback)(e=>{const t=T?se.current?.(e)??null:e.item;return t?_react().default.createElement(_reactNative().View,{style:[S.slide,K]},t):null},[T,K]),fe=(0,_react().useCallback)((e,t)=>({length:G,offset:G*t,index:t}),[G]),de=(0,_react().useCallback)((e,t)=>`s-${t}`,[]);if(0===P)return null;const me=!1===_||P<=1?null:"function"==typeof _?_(P,A):_react().default.createElement(_SwiperPagIndicator.default,_extends({},f,{total:P,current:A,vertical:o})),pe=(0,_react().useMemo)(()=>(0,_utils.createWebMouseHandlers)({enabled:k&&l&&P>1,vertical:o,mainSize:G,clearAuto:Q,next:te,prev:re,schedule:ee,dragRef:g,interRef:w}),[k,l,P,o,G,Q,te,re,ee]);return $?_react().default.createElement(_reactNative().View,_extends({accessibilityRole:"adjustable",accessibilityLabel:`swiper, ${A+1} of ${P}`,accessibilityValue:{min:0,max:P-1,now:A},style:[S.ctr,pe&&S.web,d],onLayout:M,testID:m},pe),_react().default.createElement(_reactNative().FlatList,{ref:b,data:D,renderItem:_e,keyExtractor:de,horizontal:!o,getItemLayout:fe,initialScrollIndex:W,scrollEnabled:l&&P>1,removeClippedSubviews:!q||!j,disableVirtualization:q&&j,initialNumToRender:q&&j?V:3,maxToRenderPerBatch:q&&j?V:3,windowSize:q?j?V:7:5,pagingEnabled:!0,snapToInterval:G,decelerationRate:"fast",showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,onScrollBeginDrag:le,onScroll:ae,scrollEventThrottle:p.defaults.scrollEventThrottle,onScrollEndDrag:ue,onMomentumScrollBegin:ie,onMomentumScrollEnd:ce,onScrollToIndexFailed:oe}),_react().default.createElement(_reactNative().View,{pointerEvents:"none",style:[S.ind,{zIndex:p.layer.zIndex,elevation:p.layer.elevation}]},me)):_react().default.createElement(_reactNative().View,{style:[S.ctr,d],onLayout:M,testID:m})},SwiperFR=(0,_react().forwardRef)(SwiperImpl),Swiper=(0,_react().memo)(SwiperFR),S=_reactNative().StyleSheet.create({ctr:{position:"relative",overflow:"hidden"},web:{cursor:"grab",userSelect:"none"},slide:{flex:1},item:{flex:1},ind:{position:"absolute",left:0,right:0,top:0,bottom:0}});var _default=exports.default=Swiper;
|