react-native-system-ui 1.0.4 → 1.0.6
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 +23 -23
- package/dist/cjs/components/action-sheet/ActionSheet.js +1 -1
- package/dist/cjs/components/action-sheet/types.js +1 -0
- package/dist/cjs/components/area/types.js +1 -0
- package/dist/cjs/components/avatar/types.js +1 -0
- package/dist/cjs/components/badge/types.js +1 -0
- package/dist/cjs/components/button/types.js +1 -0
- package/dist/cjs/components/calendar/types.js +1 -0
- package/dist/cjs/components/cascader/types.js +1 -0
- package/dist/cjs/components/cell/types.js +1 -0
- package/dist/cjs/components/checkbox/Checkbox.js +1 -1
- package/dist/cjs/components/checkbox/types.js +1 -0
- package/dist/cjs/components/circle/types.js +1 -0
- package/dist/cjs/components/collapse/Collapse.js +1 -1
- package/dist/cjs/components/collapse/types.js +1 -0
- package/dist/cjs/components/config-provider/locale/types.js +1 -0
- package/dist/cjs/components/config-provider/types.js +1 -0
- package/dist/cjs/components/count-down/types.js +1 -0
- package/dist/cjs/components/datetime-picker/types.js +1 -0
- package/dist/cjs/components/dialog/Dialog.js +1 -1
- package/dist/cjs/components/dialog/types.js +1 -0
- package/dist/cjs/components/divider/types.js +1 -0
- package/dist/cjs/components/empty/types.js +1 -0
- package/dist/cjs/components/error-boundary/types.js +1 -0
- package/dist/cjs/components/field/types.js +1 -0
- package/dist/cjs/components/flex/Flex.js +1 -1
- package/dist/cjs/components/flex/FlexItem.js +1 -1
- package/dist/cjs/components/flex/types.js +1 -0
- package/dist/cjs/components/form/Form.js +1 -1
- package/dist/cjs/components/form/FormItem.js +1 -1
- package/dist/cjs/components/form/FormList.js +1 -1
- package/dist/cjs/components/form/types.js +1 -0
- package/dist/cjs/components/grid/Grid.js +1 -1
- package/dist/cjs/components/grid/GridItem.js +1 -1
- package/dist/cjs/components/grid/types.js +1 -0
- package/dist/cjs/components/image/types.js +1 -0
- package/dist/cjs/components/image-preview/ImagePreview.js +1 -1
- package/dist/cjs/components/image-preview/types.js +1 -0
- package/dist/cjs/components/input/types.js +1 -0
- package/dist/cjs/components/loading/types.js +1 -0
- package/dist/cjs/components/nav-bar/NavBar.js +1 -1
- package/dist/cjs/components/nav-bar/types.js +1 -0
- package/dist/cjs/components/notice-bar/NoticeBar.js +1 -1
- package/dist/cjs/components/notice-bar/types.js +1 -0
- package/dist/cjs/components/notify/types.js +1 -0
- package/dist/cjs/components/number-keyboard/types.js +1 -0
- package/dist/cjs/components/overlay/types.js +1 -0
- package/dist/cjs/components/password-input/types.js +1 -0
- package/dist/cjs/components/picker/Picker.js +1 -1
- package/dist/cjs/components/picker/types.js +1 -0
- package/dist/cjs/components/popup/Popup.js +1 -1
- package/dist/cjs/components/popup/types.js +1 -0
- package/dist/cjs/components/portal/types.js +1 -0
- package/dist/cjs/components/progress/types.js +1 -0
- package/dist/cjs/components/radio/types.js +1 -0
- package/dist/cjs/components/safe-area-view/types.js +1 -0
- package/dist/cjs/components/search/types.js +1 -0
- package/dist/cjs/components/selector/Selector.js +1 -1
- package/dist/cjs/components/selector/types.js +1 -0
- package/dist/cjs/components/share-sheet/ShareSheet.js +1 -1
- package/dist/cjs/components/share-sheet/types.js +1 -0
- package/dist/cjs/components/sidebar/types.js +1 -0
- package/dist/cjs/components/skeleton/types.js +1 -0
- package/dist/cjs/components/slider/Slider.js +1 -1
- package/dist/cjs/components/slider/types.js +1 -0
- package/dist/cjs/components/space/types.js +1 -0
- package/dist/cjs/components/stepper/types.js +1 -0
- package/dist/cjs/components/swiper/types.js +1 -0
- package/dist/cjs/components/switch/types.js +1 -0
- package/dist/cjs/components/tabbar/types.js +1 -0
- package/dist/cjs/components/tabs/Tabs.js +1 -1
- package/dist/cjs/components/tabs/types.js +1 -0
- package/dist/cjs/components/tag/types.js +1 -0
- package/dist/cjs/components/theme.js +1 -0
- package/dist/cjs/components/toast/Toast.js +1 -1
- package/dist/cjs/components/toast/types.js +1 -0
- package/dist/cjs/components/typography/types.js +1 -0
- package/dist/cjs/components/water-mark/types.js +1 -0
- package/dist/es/components/action-sheet/ActionSheet.js +1 -1
- package/dist/es/components/action-sheet/types.js +1 -0
- package/dist/es/components/area/types.js +1 -0
- package/dist/es/components/avatar/types.js +1 -0
- package/dist/es/components/badge/types.js +1 -0
- package/dist/es/components/button/types.js +1 -0
- package/dist/es/components/calendar/types.js +1 -0
- package/dist/es/components/cascader/types.js +1 -0
- package/dist/es/components/cell/types.js +1 -0
- package/dist/es/components/checkbox/Checkbox.js +1 -1
- package/dist/es/components/checkbox/types.js +1 -0
- package/dist/es/components/circle/types.js +1 -0
- package/dist/es/components/collapse/Collapse.js +1 -1
- package/dist/es/components/collapse/types.js +1 -0
- package/dist/es/components/config-provider/locale/types.js +1 -0
- package/dist/es/components/config-provider/types.js +1 -0
- package/dist/es/components/count-down/types.js +1 -0
- package/dist/es/components/datetime-picker/types.js +1 -0
- package/dist/es/components/dialog/Dialog.js +1 -1
- package/dist/es/components/dialog/types.js +1 -0
- package/dist/es/components/divider/types.js +1 -0
- package/dist/es/components/empty/types.js +1 -0
- package/dist/es/components/error-boundary/types.js +1 -0
- package/dist/es/components/field/types.js +1 -0
- package/dist/es/components/flex/Flex.js +1 -1
- package/dist/es/components/flex/FlexItem.js +1 -1
- package/dist/es/components/flex/types.js +1 -0
- package/dist/es/components/form/Form.js +1 -1
- package/dist/es/components/form/FormItem.js +1 -1
- package/dist/es/components/form/FormList.js +1 -1
- package/dist/es/components/form/types.js +1 -0
- package/dist/es/components/grid/Grid.js +1 -1
- package/dist/es/components/grid/GridItem.js +1 -1
- package/dist/es/components/grid/types.js +1 -0
- package/dist/es/components/image/types.js +1 -0
- package/dist/es/components/image-preview/ImagePreview.js +1 -1
- package/dist/es/components/image-preview/types.js +1 -0
- package/dist/es/components/input/types.js +1 -0
- package/dist/es/components/loading/types.js +1 -0
- package/dist/es/components/nav-bar/NavBar.js +1 -1
- package/dist/es/components/nav-bar/types.js +1 -0
- package/dist/es/components/notice-bar/NoticeBar.js +1 -1
- package/dist/es/components/notice-bar/types.js +1 -0
- package/dist/es/components/notify/types.js +1 -0
- package/dist/es/components/number-keyboard/types.js +1 -0
- package/dist/es/components/overlay/types.js +1 -0
- package/dist/es/components/password-input/types.js +1 -0
- package/dist/es/components/picker/Picker.js +1 -1
- package/dist/es/components/picker/types.js +1 -0
- package/dist/es/components/popup/Popup.js +1 -1
- package/dist/es/components/popup/types.js +1 -0
- package/dist/es/components/portal/types.js +1 -0
- package/dist/es/components/progress/types.js +1 -0
- package/dist/es/components/radio/types.js +1 -0
- package/dist/es/components/safe-area-view/types.js +1 -0
- package/dist/es/components/search/types.js +1 -0
- package/dist/es/components/selector/Selector.js +1 -1
- package/dist/es/components/selector/types.js +1 -0
- package/dist/es/components/share-sheet/ShareSheet.js +1 -1
- package/dist/es/components/share-sheet/types.js +1 -0
- package/dist/es/components/sidebar/types.js +1 -0
- package/dist/es/components/skeleton/types.js +1 -0
- package/dist/es/components/slider/Slider.js +1 -1
- package/dist/es/components/slider/types.js +1 -0
- package/dist/es/components/space/types.js +1 -0
- package/dist/es/components/stepper/types.js +1 -0
- package/dist/es/components/swiper/types.js +1 -0
- package/dist/es/components/switch/types.js +1 -0
- package/dist/es/components/tabbar/types.js +1 -0
- package/dist/es/components/tabs/Tabs.js +1 -1
- package/dist/es/components/tabs/types.js +1 -0
- package/dist/es/components/tag/types.js +1 -0
- package/dist/es/components/theme.js +1 -0
- package/dist/es/components/toast/Toast.js +1 -1
- package/dist/es/components/toast/types.js +1 -0
- package/dist/es/components/typography/types.js +1 -0
- package/dist/es/components/water-mark/types.js +1 -0
- package/dist/types/components/action-sheet/types.d.ts +87 -0
- package/dist/types/components/area/types.d.ts +20 -0
- package/dist/types/components/avatar/types.d.ts +62 -0
- package/dist/types/components/badge/types.d.ts +57 -0
- package/dist/types/components/button/types.d.ts +109 -0
- package/dist/types/components/calendar/types.d.ts +111 -0
- package/dist/types/components/cascader/types.d.ts +142 -0
- package/dist/types/components/cell/types.d.ts +112 -0
- package/dist/types/components/checkbox/types.d.ts +99 -0
- package/dist/types/components/circle/types.d.ts +51 -0
- package/dist/types/components/collapse/types.d.ts +45 -0
- package/dist/types/components/config-provider/locale/types.d.ts +130 -0
- package/dist/types/components/config-provider/types.d.ts +10 -0
- package/dist/types/components/count-down/types.d.ts +29 -0
- package/dist/types/components/datetime-picker/types.d.ts +38 -0
- package/dist/types/components/dialog/types.d.ts +70 -0
- package/dist/types/components/divider/types.d.ts +48 -0
- package/dist/types/components/empty/types.d.ts +44 -0
- package/dist/types/components/error-boundary/types.d.ts +18 -0
- package/dist/types/components/field/types.d.ts +86 -0
- package/dist/types/components/flex/types.d.ts +37 -0
- package/dist/types/components/form/Form.d.ts +6 -0
- package/dist/types/components/form/types.d.ts +68 -0
- package/dist/types/components/grid/Grid.d.ts +1 -0
- package/dist/types/components/grid/types.d.ts +77 -0
- package/dist/types/components/image/types.d.ts +53 -0
- package/dist/types/components/image-preview/types.d.ts +55 -0
- package/dist/types/components/input/types.d.ts +42 -0
- package/dist/types/components/loading/types.d.ts +32 -0
- package/dist/types/components/nav-bar/types.d.ts +67 -0
- package/dist/types/components/notice-bar/types.d.ts +26 -0
- package/dist/types/components/notify/types.d.ts +64 -0
- package/dist/types/components/number-keyboard/types.d.ts +35 -0
- package/dist/types/components/overlay/types.d.ts +13 -0
- package/dist/types/components/password-input/types.d.ts +35 -0
- package/dist/types/components/picker/types.d.ts +73 -0
- package/dist/types/components/popup/types.d.ts +41 -0
- package/dist/types/components/portal/types.d.ts +1 -0
- package/dist/types/components/progress/types.d.ts +51 -0
- package/dist/types/components/radio/types.d.ts +95 -0
- package/dist/types/components/safe-area-view/types.d.ts +1 -0
- package/dist/types/components/search/types.d.ts +28 -0
- package/dist/types/components/selector/types.d.ts +74 -0
- package/dist/types/components/share-sheet/types.d.ts +26 -0
- package/dist/types/components/sidebar/types.d.ts +64 -0
- package/dist/types/components/skeleton/types.d.ts +45 -0
- package/dist/types/components/slider/types.d.ts +38 -0
- package/dist/types/components/space/types.d.ts +39 -0
- package/dist/types/components/stepper/types.d.ts +46 -0
- package/dist/types/components/swiper/types.d.ts +29 -0
- package/dist/types/components/switch/types.d.ts +33 -0
- package/dist/types/components/tabbar/types.d.ts +39 -0
- package/dist/types/components/tabs/types.d.ts +64 -0
- package/dist/types/components/tag/types.d.ts +69 -0
- package/dist/types/components/theme.d.ts +112 -0
- package/dist/types/components/toast/types.d.ts +1 -0
- package/dist/types/components/typography/types.d.ts +66 -0
- package/dist/types/components/water-mark/types.d.ts +58 -0
- package/package.json +3 -3
- package/dist/cjs/components/form/FormContext.js +0 -1
- package/dist/cjs/components/form/utils.js +0 -1
- package/dist/es/components/form/FormContext.js +0 -1
- package/dist/es/components/form/utils.js +0 -1
- package/dist/types/components/form/FormContext.d.ts +0 -2
- package/dist/types/components/form/utils.d.ts +0 -7
|
@@ -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 _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_hairline=require("../../utils/hairline"),_utils=require("../../utils"),_safeAreaView=require("../safe-area-view"),_tokens=require("./tokens");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,l,n={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return n;if(i=t?a:r){if(i.has(e))return i.get(e);i.set(e,n)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((l=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?i(n,t,l):n[t]=e[t]);return n})(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 NavBarBaseImpl=e=>{const{tokensOverride:t,title:r,description:a,children:i,leftText:l,rightText:n,leftIcon:o,rightIcon:s,leftArrow:c,fixed:u,placeholder:d,zIndex:f,border:_,safeAreaInsetTop:y,background:p,tintColor:v,titleStyle:b,descriptionStyle:h,sideStyle:m,onPressLeft:g,onClickLeft:N,onPressRight:x,onClickRight:
|
|
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 _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_hairline=require("../../utils/hairline"),_utils=require("../../utils"),_safeAreaView=require("../safe-area-view"),_tokens=require("./tokens");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,l,n={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return n;if(i=t?a:r){if(i.has(e))return i.get(e);i.set(e,n)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((l=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?i(n,t,l):n[t]=e[t]);return n})(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 NavBarBaseImpl=e=>{const{tokensOverride:t,title:r,description:a,children:i,leftText:l,rightText:n,leftIcon:o,rightIcon:s,leftArrow:c,fixed:u,placeholder:d,zIndex:f,border:_,safeAreaInsetTop:y,background:p,tintColor:v,titleStyle:b,descriptionStyle:h,sideStyle:m,onPressLeft:g,onClickLeft:N,onPressRight:x,onClickRight:w,style:k,...P}=e,R=(0,_useLocale.useLocale)(),B=(0,_useDirection.useDirection)(),E=(0,_tokens.useNavBarTokens)(t),O=c??E.defaults.leftArrow,I=u??E.defaults.fixed,L=d??E.defaults.placeholder,S=f??E.defaults.zIndex,q=_??E.defaults.border,V=y??I,A=p??E.colors.background,T=g??N,z=x??w,[W,D]=(0,_react().useState)(E.sizing.height),F=I&&L,j=(0,_react().useCallback)(e=>{if(!F)return;const t=e.nativeEvent.layout.height;D(e=>Math.abs(e-t)<.5?e:t)},[F]),C=v??E.colors.text,M=v??E.colors.icon,$=(0,_hooks.useAriaPress)({disabled:!T,onPress:T,extraProps:{accessibilityRole:"button",accessibilityLabel:(0,_utils.isText)(l)?`${l}`:R?.vanNavBar?.back??"Back"}}),H=(0,_hooks.useAriaPress)({disabled:!z,onPress:z,extraProps:{accessibilityRole:"button",accessibilityLabel:(0,_utils.isText)(n)?`${n}`:R?.vanNavBar?.action??"Actions"}}),X=e=>{const t="left"===e,r=t?l:n,a=t?o:s,i=t?$:H,c=t?T:z,u=t?!0===O?_react().default.createElement(_reactNativeSystemIcon().ArrowLeft,{size:18,fill:M,color:M,style:"rtl"===B?{transform:[{scaleX:-1}]}:void 0}):(0,_utils.isRenderable)(O)&&O:null;if(!(!!c||(0,_utils.isRenderable)(u)||(0,_utils.isRenderable)(r)||(0,_utils.isRenderable)(a)))return _react().default.createElement(_reactNative().View,{style:E.layout.sidePlaceholder});const d=_react().default.createElement(_react().default.Fragment,null,u,(0,_utils.isRenderable)(a)?a:null,(0,_utils.isRenderable)(r)?(0,_utils.isText)(r)?_react().default.createElement(_reactNative().Text,{numberOfLines:1,style:[E.layout.sideText,{color:M,fontFamily:E.typography.fontFamily}]},r):r:null),f=[E.layout.side,!t&&E.layout.rightAlign,m];return c?_react().default.createElement(_reactNative().Pressable,_extends({hitSlop:{top:8,right:8,bottom:8,left:8},testID:`rv-navbar-${e}`,style:f},i.interactionProps),d):_react().default.createElement(_reactNative().View,{testID:`rv-navbar-${e}`,style:f},d)},G=(0,_utils.isRenderable)(i)?i:_react().default.createElement(_reactNative().View,{style:E.layout.titleWrapper},(0,_utils.isRenderable)(r)&&(0,_utils.renderTextOrNode)(r,[E.layout.title,{color:C,fontFamily:E.typography.fontFamily,fontSize:E.typography.titleSize,fontWeight:E.typography.titleWeight},b],{numberOfLines:1}),(0,_utils.isRenderable)(a)&&(0,_utils.renderTextOrNode)(a,[E.layout.description,{color:v??E.colors.description,fontFamily:E.typography.fontFamily,fontSize:E.typography.descriptionSize},h],{numberOfLines:1})),J=_react().default.createElement(_reactNative().View,{style:[E.layout.bar,{backgroundColor:A}],onLayout:V?void 0:j},X("left"),_react().default.createElement(_reactNative().View,{style:E.layout.center},G),X("right"),q&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:E.colors.border,left:0,right:0})})),K=V?_react().default.createElement(_safeAreaView.SafeAreaView,{onLayout:j,style:{backgroundColor:A}},J):J;return _react().default.createElement(_react().default.Fragment,null,F&&_react().default.createElement(_reactNative().View,{testID:"rv-navbar-placeholder",style:{height:W}}),_react().default.createElement(_reactNative().View,_extends({},P,{accessibilityRole:"web"===_reactNative().Platform.OS?"navigation":void 0,style:[E.layout.container,I&&[E.layout.fixed,{zIndex:S}],k]}),K))},NavBarBase=_react().default.memo(NavBarBaseImpl);NavBarBase.displayName="NavBar";var _default=exports.default=NavBarBase;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -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 _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=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 _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,I=i??A.colors.background,T=t??a,V=(0,_validate.isText)(T),M="vertical"===f,[O,z]=(0,_react().useState)(!0),{onLayout:q,...L}=b??{},[D,R]=(0,_react().useState)(0),[W,C]=(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)(()=>
|
|
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 _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=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 _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,I=i??A.colors.background,T=t??a,V=(0,_validate.isText)(T),M="vertical"===f,[O,z]=(0,_react().useState)(!0),{onLayout:q,...L}=b??{},[D,R]=(0,_react().useState)(0),[W,C]=(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)(()=>M?p&&p.length?p:(()=>{const e=_react().default.Children.toArray(a);return e.length?e:void 0!==t?[t]:[]})():[],[a,M,p,t]),G=!k&&M&&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=>{R(t=>Math.abs(t-e)<.5?t:e)},[]),$=(0,_react().useCallback)(e=>{C(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)(()=>{z(!1),ee.current?.()},[]),re=(0,_hooks.useAriaPress)({disabled:"closeable"!==l||!O,onPress:ae,extraProps:{accessibilityRole:"button",accessibilityLabel:w?.vanNoticeBar?.close??"Close"}}),ie=(0,_hooks.useAriaPress)({disabled:!y||!O,onPress:y,extraProps:y?{accessibilityRole:"button"}:void 0}),ne="closeable"===l?_react().default.createElement(_reactNative().Pressable,_extends({hitSlop:8},re.interactionProps),_react().default.createElement(_reactNativeSystemIcon().Close,{size:16,fill:P,color:P})):"link"===l?_react().default.createElement(_reactNativeSystemIcon().Arrow,{size:16,fill:P,color:P}):o||null,oe=(0,_validate.isRenderable)(n),le=Boolean(ne),ce=Math.max(0,W-(oe?A.spacing.sidePadding:0)-(le?A.spacing.sidePadding:0)),se=!k&&!M&&!_&&(d??D>ce);(0,_react().useEffect)(()=>{if(!O||M)return void B.stopAnimation();if(!se||0===D||0===W||j<=0||!Number.isFinite(j))return void B.setValue(0);let e=!1;const t=(D+W)/j*1e3,a="rtl"===E?-1:1,r=i=>{B.setValue(i?0:a*W),_reactNative().Animated.sequence([_reactNative().Animated.delay(1e3*F),_reactNative().Animated.timing(B,{toValue:-a*D,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,O,F,j,D,W,M,E]),(0,_react().useEffect)(()=>{if(!O)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()}},[O,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)(()=>M&&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,...L}))))):(0,_utils.renderTextOrNode)(J[0],[S.text,{color:P,fontFamily:A.typography.fontFamily,fontSize:A.typography.fontSize}],{numberOfLines:1,...L}):null,[ue,G,M,Q,P,L,q,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),q?.(e)},[Z,q]),pe=(0,_react().useCallback)(e=>Z(e.nativeEvent.layout.width),[Z]);return O?_react().default.createElement(_reactNative().Pressable,_extends({style:[S.ctr,{backgroundColor:I,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"},M?de:se?V?_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"},L),T):_react().default.createElement(_reactNative().Animated.View,{onLayout:pe,renderToHardwareTextureAndroid:!0,shouldRasterizeIOS:!0,style:[S.text,{transform:[{translateX:B}]}]},T):V?_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"},L),T):_react().default.createElement(_reactNative().View,{onLayout:pe,style:[S.text,_&&S.wrapText]},T)),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";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -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?null==U.current&&(U.current=requestAnimationFrame(()=>{U.current=null,D(q.current)})):D(r)},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.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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -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"}},buildRadius=(e,t,o)=>{if(e)return"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}},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:c,tokensOverride:l,overlay:s=!0,overlayStyle:u,overlayAccessibilityLabel:d=t?.vanPopup?.closeOverlay??"Close overlay",closeOnOverlayPress:p,closeOnClickOverlay:f,overlayTestID:_="popup-overlay",closeable:m=!1,closeIcon:y,closeIconPosition:v="top-right",round:g,safeArea:h=!1,safeAreaInsetTop:b=!1,safeAreaInsetBottom:R,lockScroll:I=!0,destroyOnClose:P=!0,duration:O=300,zIndex:C,closeOnBackPress:E=!1,closeOnPopstate:x=!1,children:w,beforeClose:k,onClickOverlay:A,onClose:N,onOpen:z,onOpened:T,onClosed:W,stopPropagation:q=!0,style:L,contentAnimationStyle:V,...M}=e,j=a??n??"center",D=f??p??!0,B="center"===j,H=R??!1,F=(0,_tokens.usePopupTokens)(l),U=(0,_animation.useReducedMotion)(),X=(0,_react().useRef)({onOpened:T,onClosed:W,onOpen:z,onClose:N,beforeClose:k,onClickOverlay:A});X.current={onOpened:T,onClosed:W,onOpen:z,onClose:N,beforeClose:k,onClickOverlay:A};const Y=(0,_react().useMemo)(()=>{const e=(0,_createPlatformShadow.createPlatformShadow)(F.shadow),{colors:t,spacing:o,typography:r,layout:a}=F;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}}},[F]),[G,J]=(0,_react().useState)(r),[K,Q]=(0,_react().useState)(r),Z=r||K,$=D&&(N||k),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,ce="top"===j||"left"===j?-1:1,le=(0,_react().useCallback)((e,t)=>{oe.current+=1;const o=oe.current;te.current?.stop();const r=t?0:O,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),P&&J(!1),X.current.onClosed?.()))})},[P,O,ee]);(0,_react().useEffect)(()=>{r?(J(!0),Q(!0),le(!0,U)):re.current&&le(!1,U)},[le,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:E,lockScroll:I,zIndex:C,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:ye,...ve}=me,ge=(0,_react().useMemo)(()=>q?{...ve,onStartShouldSetResponder:CAPTURE}:ve,[ve,q]),he=placementConfig[j],be=buildRadius(g,j,F.radius.round),{width:Se,height:Re}=(0,_reactNative().useWindowDimensions)(),Ie=ie?Se:ne?Re:0,Pe=(0,_react().useMemo)(()=>{if(B)return null;const e=[Ie*ce,0];return"y"===he.axis?{translateY:ee.interpolate({inputRange:[0,1],outputRange:e})}:{translateX:ee.interpolate({inputRange:[0,1],outputRange:e})}},[he.axis,ce,Ie,B,ee]),Oe=(0,_react().useMemo)(()=>Pe?[Pe]:[],[Pe]),Ce=(0,_react().useMemo)(()=>{const e=V?.transform,t=Array.isArray(e)?[...Oe,...e]:Oe,o={...V,transform:t};return B?{...o,opacity:ee}:null==V?.opacity?{...o,opacity:1}:o},[Oe,V,B,ee]),[Ee,xe]=(0,_react().useState)(0),we=(0,_react().useCallback)(e=>xe(e.nativeEvent.layout.height),[]),ke=G||r,Ae=!Z,Ne=(0,_validate.isRenderable)(i)||(0,_validate.isRenderable)(c),ze=(0,_react().useMemo)(()=>{if(!Ne)return null;const e=F.spacing.closeIconRight+F.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(c,[S.desc,Y.desc],Y.descWrap))},[m,v,c,Y,Ne,i,F.spacing.closeIconRight,F.spacing.closeIconSize]),Te=(0,_react().useMemo)(()=>{if(!m)return null;const e=null!=y,t=v.includes("bottom")?{bottom:F.spacing.closeIconTop}:{top:F.spacing.closeIconTop+Ee},r="rtl"===o,a=v.endsWith("left")?r?{right:F.spacing.closeIconRight}:{left:F.spacing.closeIconRight}:r?{left:F.spacing.closeIconRight}:{right:F.spacing.closeIconRight};return _react().default.createElement(_reactNative().Pressable,{style:[S.closeBase,Y.closeBase,t,a,!e&&Y.closeDef],hitSlop:8,onPress:de},e?y:_react().default.createElement(_reactNativeSystemIcon().Cross,{size:22,fill:F.colors.closeIcon,color:F.colors.closeIcon}))},[y,v,m,Y,de,Ee,F.colors.closeIcon,F.spacing.closeIconRight,F.spacing.closeIconTop]),We=Ne?_react().default.createElement(_react().default.Fragment,null,ze,w):w;if(!ke)return null;const qe=fe??C,Le=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,H&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}));return _react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().View,{style:[S.root,qe?{zIndex:qe}:void 0],pointerEvents:"box-none"},_react().default.createElement(_reactNative().View,{style:[S.ctr,he.container],pointerEvents:Z?"auto":"none",accessibilityViewIsModal:Z,accessibilityLiveRegion:"polite",onAccessibilityEscape:pe},s&&Z?_react().default.createElement(AnimatedPressable,_extends({testID:_,style:[S.ovl,{backgroundColor:F.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},ge,{onLayout:ye,renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,style:[Y.popup,B&&Y.center,ne&&S.popV,ie&&Y.side,be,Ce,L,Ae&&hiddenStyle]},M),Te,Le))))},S=_reactNative().StyleSheet.create({root:{..._reactNative().StyleSheet.absoluteFillObject,justifyContent:"center"},ctr:{flex:1},ovl:{..._reactNative().StyleSheet.absoluteFillObject,opacity:0},header:{width:"100%"},title:{includeFontPadding:!1},desc:{includeFontPadding:!1},popV:{alignSelf:"stretch"},closeBase:{position:"absolute",zIndex:999,alignItems:"center",justifyContent:"center"},lock:{..._reactNative().StyleSheet.absoluteFillObject}}),Popup=exports.Popup=_react().default.memo(PopupImpl);var _default=exports.default=Popup;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Popup=void 0;var _safeAreaView=require("../safe-area-view"),_platform=require("../../platform"),_animation=require("../../hooks/animation"),_createPlatformShadow=require("../../utils/createPlatformShadow"),_validate=require("../../utils/validate");function _reactNativeSystemIcon(){const e=require("react-native-system-icon");return _reactNativeSystemIcon=function(){return e},e}var _Portal=_interopRequireDefault(require("../portal/Portal")),_hooks=require("../../hooks"),_useLocale=require("../config-provider/useLocale"),_useDirection=require("../config-provider/useDirection"),_tokens=require("./tokens");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"}},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:c,tokensOverride:l,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:R,lockScroll:I=!0,destroyOnClose:P=!0,duration:O=300,zIndex:C,closeOnBackPress:E=!1,closeOnPopstate:x=!1,children:w,beforeClose:k,onClickOverlay:A,onClose:N,onOpen:z,onOpened:T,onClosed:W,stopPropagation:q=!0,style:L,contentAnimationStyle:V,...M}=e,j=a??n??"center",D=f??p??!0,B="center"===j,H=R??!1,F=(0,_tokens.usePopupTokens)(l),U=(0,_animation.useReducedMotion)(),X=(0,_react().useRef)({onOpened:T,onClosed:W,onOpen:z,onClose:N,beforeClose:k,onClickOverlay:A});X.current={onOpened:T,onClosed:W,onOpen:z,onClose:N,beforeClose:k,onClickOverlay:A};const Y=(0,_react().useMemo)(()=>{const e=(0,_createPlatformShadow.createPlatformShadow)(F.shadow),{colors:t,spacing:o,typography:r,layout:a}=F;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}}},[F]),[G,J]=(0,_react().useState)(r),[K,Q]=(0,_react().useState)(r),Z=r||K,$=D&&(N||k),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,ce="top"===j||"left"===j?-1:1,le=(0,_react().useCallback)((e,t)=>{oe.current+=1;const o=oe.current;te.current?.stop();const r=t?0:O,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),P&&J(!1),X.current.onClosed?.()))})},[P,O,ee]);(0,_react().useEffect)(()=>{r?(J(!0),Q(!0),le(!0,U)):re.current&&le(!1,U)},[le,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:E,lockScroll:I,zIndex:C,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:ve,...ye}=me,ge=(0,_react().useMemo)(()=>q?{...ye,onStartShouldSetResponder:CAPTURE}:ye,[ye,q]),he=placementConfig[j],be=buildRadius(g,j,F.radius.round),{width:Se,height:Re}=(0,_reactNative().useWindowDimensions)(),Ie=ie?Se:ne?Re:0,Pe=(0,_react().useMemo)(()=>{if(B)return null;const e=[Ie*ce,0];return"y"===he.axis?{translateY:ee.interpolate({inputRange:[0,1],outputRange:e})}:{translateX:ee.interpolate({inputRange:[0,1],outputRange:e})}},[he.axis,ce,Ie,B,ee]),Oe=(0,_react().useMemo)(()=>Pe?[Pe]:[],[Pe]),Ce=(0,_react().useMemo)(()=>{const e=V?.transform,t=Array.isArray(e)?[...Oe,...e]:Oe,o={...V,transform:t};return B?{...o,opacity:ee}:null==V?.opacity?{...o,opacity:1}:o},[Oe,V,B,ee]),[Ee,xe]=(0,_react().useState)(0),we=(0,_react().useCallback)(e=>xe(e.nativeEvent.layout.height),[]),ke=G||r,Ae=!Z,Ne=(0,_validate.isRenderable)(i)||(0,_validate.isRenderable)(c),ze=(0,_react().useMemo)(()=>{if(!Ne)return null;const e=F.spacing.closeIconRight+F.spacing.closeIconSize,t=m&&y.startsWith("top-")?y.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(c,[S.desc,Y.desc],Y.descWrap))},[m,y,c,Y,Ne,i,F.spacing.closeIconRight,F.spacing.closeIconSize]),Te=(0,_react().useMemo)(()=>{if(!m)return null;const e=null!=v,t=y.includes("bottom")?{bottom:F.spacing.closeIconTop}:{top:F.spacing.closeIconTop+Ee},r="rtl"===o,a=y.endsWith("left")?r?{right:F.spacing.closeIconRight}:{left:F.spacing.closeIconRight}:r?{left:F.spacing.closeIconRight}:{right:F.spacing.closeIconRight};return _react().default.createElement(_reactNative().Pressable,{style:[S.closeBase,Y.closeBase,t,a,!e&&Y.closeDef],hitSlop:8,onPress:de},e?v:_react().default.createElement(_reactNativeSystemIcon().Cross,{size:22,fill:F.colors.closeIcon,color:F.colors.closeIcon}))},[v,y,m,Y,de,Ee,F.colors.closeIcon,F.spacing.closeIconRight,F.spacing.closeIconTop]),We=Ne?_react().default.createElement(_react().default.Fragment,null,ze,w):w;if(!ke)return null;const qe=fe??C,Le=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,H&&_react().default.createElement(_safeAreaView.SafeAreaView,{edge:"bottom",pointerEvents:"none"}));return _react().default.createElement(_Portal.default,null,_react().default.createElement(_reactNative().View,{style:[S.root,qe?{zIndex:qe}:void 0],pointerEvents:"box-none"},_react().default.createElement(_reactNative().View,{style:[S.ctr,he.container],pointerEvents:Z?"auto":"none",accessibilityViewIsModal:Z,accessibilityLiveRegion:"polite",onAccessibilityEscape:pe},s&&Z?_react().default.createElement(AnimatedPressable,_extends({testID:_,style:[S.ovl,{backgroundColor:F.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},ge,{onLayout:ve,renderToHardwareTextureAndroid:"android"===_reactNative().Platform.OS,shouldRasterizeIOS:"ios"===_reactNative().Platform.OS,style:[Y.popup,B&&Y.center,ne&&S.popV,ie&&Y.side,be,Ce,L,Ae&&hiddenStyle]},M),Te,Le))))},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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -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 o=new WeakMap,r=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?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)&&((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 o=arguments[t];for(var r in o)({}).hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},_extends.apply(null,arguments)}const CHECK_MARK="✓",CH=8,CW=10,SelectorOptionItemImpl=({option:e,active:t,disabled:o,multiple:r,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:o,onPress:()=>f(e),extraProps:{accessibilityRole:r?"checkbox":"radio",accessibilityLabel:g,accessibilityHint:b,accessibilityState:r?{checked:t,disabled:o}:{selected:t,disabled:o}}}),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:o?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:o?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:o,columns:r,multiple:a,showCheckMark:l,disabled:i,onChange:n,itemStyle:c,labelStyle:s,descriptionStyle:u,style:d,onLayout:p,...f}=e,y=(0,_tokens.useSelectorTokens)(t),[m,_]=_react().default.useState(0),g=r??y.defaults.columns??1,b=a??y.defaults.multiple,h=l??y.defaults.showCheckMark,S=Boolean(i??y.defaults.disabled),[k=[],v]=(0,_hooks.useControllableValue)(e,{defaultValue:[]}),x=(0,_react().useMemo)(()=>{const e=new Map;for(const t of o)e.set(t.value,t);return e},[o]),M=Math.max(1,Math.floor(g)),w=100/M+"%",O=y.spacing.gap,T=(0,_react().useMemo)(()=>new Set(k),[k]),C=(0,_react().useCallback)(e=>{if(S||e.disabled)return;const t=T.has(e.value),o=b?t?k.filter(t=>t!==e.value):[...k,e.value]:t?[]:[e.value];v(o,{items:o.map(e=>x.get(e)).filter(Boolean)})},[S,b,x,T,v,k]),W=(0,_react().useCallback)(e=>{_(e.nativeEvent.layout.width),p?.(e)},[p]);return _react().default.createElement(_reactNative().View,_extends({},f,{onLayout:W,style:[y.layout.container,{columnGap:O,rowGap:O},d],accessibilityRole:b?void 0:"radiogroup"}),o.map(e=>_react().default.createElement(SelectorOptionItem,{key:String(e.value),option:e,active:T.has(e.value),disabled:S||Boolean(e.disabled),multiple:b,showCheckMark:h,basis:w,containerWidth:m,columns:M,gap:O,tokens:y,itemStyle:c,labelStyle:s,descriptionStyle:u,onToggle:C})))},Selector=exports.Selector=_react().default.memo(SelectorImpl);Selector.displayName="Selector";var _default=exports.default=Selector;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -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"),_hairline=require("../../utils/hairline"),_validate=require("../../utils/validate"),_utils=require("../../utils"),_popup=_interopRequireDefault(require("../popup")),_useLocale=require("../config-provider/useLocale"),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=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?r:a){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 a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const no=e=>e&&0!==e.length?Array.isArray(e[0])?e:[e]:[],ShareSheetOptionItem=_react().default.memo(({option:e,index:t,columns:a,tokens:r,onSelect:n})=>{const i={width:100/a+"%"},o={width:r.sizing.icon,height:r.sizing.icon},c=(0,_hooks.useAriaPress)({onPress:()=>n(e,t),extraProps:{accessibilityRole:"menuitem",accessibilityLabel:(0,_validate.isText)(e.name)?String(e.name):void 0,testID:`rv-share-sheet-item-${t}`}}),l=(0,_validate.isText)(e.icon)?(0,_utils.renderTextOrNode)(e.icon,[]):e.icon;return _react().default.createElement(_reactNative().Pressable,_extends({style:[S.o,i]},c.interactionProps),_react().default.createElement(_reactNative().View,{style:[S.ic,o,{marginHorizontal:r.spacing.iconMarginHorizontal}]},l),(0,_validate.isValidNode)(e.name)&&(0,_utils.renderTextOrNode)(e.name,[S.ot,{color:r.colors.option,fontFamily:r.typography.fontFamily,fontSize:r.typography.option,paddingHorizontal:r.spacing.optionTextPaddingHorizontal}]),(0,_validate.isValidNode)(e.description)&&((0,_validate.isText)(e.description)?(0,_utils.renderTextOrNode)(e.description,[S.od,{color:r.colors.optionDesc,fontFamily:r.typography.fontFamily,marginTop:r.spacing.gap,fontSize:r.typography.optionDesc,paddingHorizontal:r.spacing.optionDescPaddingHorizontal}]):_react().default.createElement(_reactNative().View,{style:[S.odn,{marginTop:r.spacing.gap,paddingHorizontal:r.spacing.optionDescPaddingHorizontal}]},e.description)))}),ShareSheetCancel=_react().default.memo(({cancelText:e,tokens:t,onPress:a})=>{const r=(0,_hooks.useAriaPress)({onPress:a,extraProps:{testID:"rv-share-sheet-cancel",accessibilityRole:"button"}});return _react().default.createElement(_reactNative().View,{style:{backgroundColor:t.colors.divider}},_react().default.createElement(_reactNative().Pressable,_extends({style:[S.c,{backgroundColor:t.colors.background,paddingVertical:t.spacing.cancelPaddingVertical,marginTop:t.spacing.cancelMarginTop}]},r.interactionProps),(0,_utils.renderTextOrNode)(e,[S.ct,{color:t.colors.option,fontFamily:t.typography.fontFamily,fontSize:t.typography.cancel}])))}),ShareSheetImpl=e=>{const t=(0,_useLocale.useLocale)(),{visible:a,title:r,description:n,cancelText:i=t?.vanShareSheet?.cancel??t?.cancel??"Cancel",options:o,columns:c=4,closeOnSelect:l=!0,safeAreaInsetBottom:s=!0,children:d,tokensOverride:p,onSelect:u,onCancel:g,onClose:_,lockScroll:f=!0,overlay:
|
|
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"),_hairline=require("../../utils/hairline"),_validate=require("../../utils/validate"),_utils=require("../../utils"),_popup=_interopRequireDefault(require("../popup")),_useLocale=require("../config-provider/useLocale"),_tokens=require("./tokens");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=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?r:a){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 a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const no=e=>e&&0!==e.length?Array.isArray(e[0])?e:[e]:[],ShareSheetOptionItem=_react().default.memo(({option:e,index:t,columns:a,tokens:r,onSelect:n})=>{const i={width:100/a+"%"},o={width:r.sizing.icon,height:r.sizing.icon},c=(0,_hooks.useAriaPress)({onPress:()=>n(e,t),extraProps:{accessibilityRole:"web"===_reactNative().Platform.OS?"menuitem":"button",accessibilityLabel:(0,_validate.isText)(e.name)?String(e.name):void 0,testID:`rv-share-sheet-item-${t}`}}),l=(0,_validate.isText)(e.icon)?(0,_utils.renderTextOrNode)(e.icon,[]):e.icon;return _react().default.createElement(_reactNative().Pressable,_extends({style:[S.o,i]},c.interactionProps),_react().default.createElement(_reactNative().View,{style:[S.ic,o,{marginHorizontal:r.spacing.iconMarginHorizontal}]},l),(0,_validate.isValidNode)(e.name)&&(0,_utils.renderTextOrNode)(e.name,[S.ot,{color:r.colors.option,fontFamily:r.typography.fontFamily,fontSize:r.typography.option,paddingHorizontal:r.spacing.optionTextPaddingHorizontal}]),(0,_validate.isValidNode)(e.description)&&((0,_validate.isText)(e.description)?(0,_utils.renderTextOrNode)(e.description,[S.od,{color:r.colors.optionDesc,fontFamily:r.typography.fontFamily,marginTop:r.spacing.gap,fontSize:r.typography.optionDesc,paddingHorizontal:r.spacing.optionDescPaddingHorizontal}]):_react().default.createElement(_reactNative().View,{style:[S.odn,{marginTop:r.spacing.gap,paddingHorizontal:r.spacing.optionDescPaddingHorizontal}]},e.description)))}),ShareSheetCancel=_react().default.memo(({cancelText:e,tokens:t,onPress:a})=>{const r=(0,_hooks.useAriaPress)({onPress:a,extraProps:{testID:"rv-share-sheet-cancel",accessibilityRole:"button"}});return _react().default.createElement(_reactNative().View,{style:{backgroundColor:t.colors.divider}},_react().default.createElement(_reactNative().Pressable,_extends({style:[S.c,{backgroundColor:t.colors.background,paddingVertical:t.spacing.cancelPaddingVertical,marginTop:t.spacing.cancelMarginTop}]},r.interactionProps),(0,_utils.renderTextOrNode)(e,[S.ct,{color:t.colors.option,fontFamily:t.typography.fontFamily,fontSize:t.typography.cancel}])))}),ShareSheetImpl=e=>{const t=(0,_useLocale.useLocale)(),{visible:a,title:r,description:n,cancelText:i=t?.vanShareSheet?.cancel??t?.cancel??"Cancel",options:o,columns:c=4,closeOnSelect:l=!0,safeAreaInsetBottom:s=!0,children:d,tokensOverride:p,onSelect:u,onCancel:g,onClose:_,lockScroll:f=!0,overlay:m=!0,round:h=!0,style:y,placement:v,position:x,...T}=e,b=(0,_tokens.useShareSheetTokens)(p),P=no(o),k=(0,_validate.isFiniteNumber)(c)?Math.max(1,Math.floor(c)):4,N=(0,_validate.isValidNode)(r),w=(0,_validate.isValidNode)(n),z=(0,_validate.isValidNode)(i),M=(0,_react().useRef)(g),O=(0,_react().useRef)(_),V=(0,_react().useRef)(u);M.current=g,O.current=_,V.current=u;const E=(0,_react().useCallback)(e=>{e&&M.current?.(),O.current?.()},[]),q=(0,_react().useCallback)((e,t)=>{V.current?.(e,t),e.onPress?.(e),l&&E()},[E,l]),C=(0,_react().useCallback)(()=>E(!0),[E]),I=[S.w,{backgroundColor:b.colors.background}],F=[S.or,{paddingLeft:b.spacing.gap,paddingVertical:12}],H=(0,_react().useMemo)(()=>{if(!P.length)return null;let e=0;return P.map((t,a)=>_react().default.createElement(_reactNative().View,{key:a},a>0&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"top",color:b.colors.border,left:b.spacing.horizontal,right:b.spacing.horizontal})}),_react().default.createElement(_reactNative().View,{style:F},t.map(t=>{const a=e++;return _react().default.createElement(ShareSheetOptionItem,{key:t.key??a,option:t,index:a,columns:k,tokens:b,onSelect:q})}))))},[P,F,q,k,b]),R=(0,_react().useMemo)(()=>N||w?_react().default.createElement(_reactNative().View,{style:[S.h,{paddingTop:b.spacing.headerPaddingTop,paddingHorizontal:b.spacing.headerPaddingHorizontal,paddingBottom:b.spacing.headerPaddingBottom}]},N&&((0,_validate.isText)(r)?(0,_utils.renderTextOrNode)(r,[S.t,{color:b.colors.title,fontFamily:b.typography.fontFamily,fontSize:b.typography.title,marginTop:b.spacing.titleMarginTop}]):_react().default.createElement(_reactNative().View,{style:[S.n,{marginTop:b.spacing.nodeMarginTop}]},r)),w&&((0,_validate.isText)(n)?(0,_utils.renderTextOrNode)(n,[S.d,{color:b.colors.description,fontFamily:b.typography.fontFamily,fontSize:b.typography.description,marginTop:b.spacing.descriptionMarginTop}]):_react().default.createElement(_reactNative().View,{style:[S.n,{marginTop:b.spacing.nodeMarginTop}]},n))):null,[n,w,N,r,b.colors.description,b.colors.title,b.spacing.descriptionMarginTop,b.spacing.headerPaddingBottom,b.spacing.headerPaddingHorizontal,b.spacing.headerPaddingTop,b.spacing.nodeMarginTop,b.spacing.titleMarginTop,b.typography.description,b.typography.fontFamily,b.typography.title]),A=[{padding:b.spacing.popupPadding},y];return _react().default.createElement(_popup.default,_extends({},T,{visible:a,placement:"bottom",round:h,safeAreaInsetBottom:s,overlay:m,lockScroll:f,onClose:C,style:A}),_react().default.createElement(_reactNative().View,{accessibilityRole:"menu",style:I},R,H,d,z&&_react().default.createElement(ShareSheetCancel,{cancelText:i,tokens:b,onPress:C})))},S=_reactNative().StyleSheet.create({w:{width:"100%"},h:{alignItems:"center"},t:{fontWeight:"normal",textAlign:"center"},d:{textAlign:"center"},n:{alignItems:"center"},or:{flexDirection:"row",flexWrap:"wrap"},o:{alignItems:"center",justifyContent:"center"},ic:{alignItems:"center",justifyContent:"center"},ot:{fontWeight:"500",textAlign:"center"},od:{textAlign:"center"},odn:{alignItems:"center"},c:{alignItems:"center"},ct:{fontWeight:"500"}}),ShareSheet=_react().default.memo(ShareSheetImpl);ShareSheet.displayName="ShareSheet";var _default=exports.default=ShareSheet;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -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)=>{if(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 n=Array.isArray(e)?e[0]:e;return[(0,_validate.isFiniteNumber)(n)?(0,_utils2.clamp)(n,r,a):r]},toSliderValue=(e,t,r)=>{if(t){const t=e[0]??r;return[t,e[1]??t]}return e[0]??r},createAccessibilityProps=e=>{if(!e)return{};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");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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TabPane=void 0;var _hooks=require("../../hooks"),_animation=require("../../hooks/animation"),_hairline=require("../../utils/hairline"),_number=require("../../utils/number"),_validate=require("../../utils/validate"),_tokens=require("./tokens");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,i,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(n=t?r:a){if(n.has(e))return n.get(e);n.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?n(l,t,i):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const TabPane=()=>null;exports.TabPane=TabPane,TabPane.displayName="Tabs.TabPane";const hasRaf="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame,requestFrame=hasRaf?requestAnimationFrame:e=>setTimeout(e,16),cancelFrame=e=>{null!=e&&(hasRaf?cancelAnimationFrame:clearTimeout)(e)},isTabPaneElement=e=>!!_react().default.isValidElement(e)&&(e.type===TabPane||"Tabs.TabPane"===e.type.displayName),useTabsAnimation=({type:e,animated:t,scrollable:a,align:r,panes:n,nameIndexMap:i,resolvedLineWidth:l,resolvedDuration:c,currentName:o,layoutMap:s,navContainerWidthRef:u})=>{const d=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,f=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,m=(0,_react().useRef)(!1),p=(0,_react().useRef)(null),_=(0,_react().useCallback)((o,m)=>{if(null==o||"line"!==e)return!1;const _=!a&&"start"!==r&&u.current>0&&n.length>0,h=i.get(o)??-1,b=_?u.current/n.length:0,g=_?{x:Math.max(h,0)*b,width:b}:s.current.get(o);if(!g||h<0)return!1;p.current?.stop();const v=(e,a)=>_reactNative().Animated.timing(e,{toValue:a,duration:m||!t?0:c,useNativeDriver:!1,isInteraction:!1}),y=l??g.width,S=l?g.x+(g.width-y)/2:g.x,x=_reactNative().Animated.parallel([v(d,S),v(f,y)]);return p.current=x,x.start(({finished:e})=>{e&&(p.current=null)}),!0},[r,t,f,d,i,n.length,c,l,a,e,s,u]);return(0,_react().useEffect)(()=>{if(null==o)return;const e=m.current;_(o,!e)&&!m.current&&(m.current=!0)},[_,o]),(0,_react().useEffect)(()=>()=>{p.current?.stop(),p.current=null},[]),{indicatorX:d,indicatorWidth:f,indicatorInitializedRef:m,animateIndicator:_}},useTabsScroll=({scrollable:e,animated:t,currentName:a,resolvedDuration:r,layoutMap:n,navContainerWidthRef:i,navContentWidthRef:l})=>{const c=(0,_react().useRef)(null),o=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,s=(0,_react().useRef)(null),u=(0,_react().useRef)(!1),d=(0,_react().useRef)(0),f=(0,_react().useRef)(null),m=(0,_react().useCallback)(c=>{if(!e||null==a)return;const m=n.current.get(a),p=i.current;if(!m||!p)return;const _=l.current,h=m.x-(p-m.width)/2,b=Math.max(_-p,0),g=Math.max(0,Math.min(h,b));if(!(b<=0||Math.abs(g-d.current)<1)){if(s.current?.stop(),s.current=null,cancelFrame(f.current),f.current=null,c||!t)return u.current=!0,o.setValue(g),void(f.current=requestFrame(()=>{f.current=null,u.current=!1}));o.setValue(d.current),u.current=!0,s.current=_reactNative().Animated.timing(o,{toValue:g,duration:r,useNativeDriver:!1,isInteraction:!1}),s.current.start(({finished:e})=>{s.current=null,u.current=!1,e&&(d.current=g)})}},[t,a,o,r,e,n,i,l]);(0,_react().useEffect)(()=>{if(!e)return;const t=o.addListener(({value:e})=>{const t=d.current;d.current=e,Math.abs(e-t)>=.5&&c.current?.scrollTo({x:e,y:0,animated:!1})});return()=>o.removeListener(t)},[o,e]),(0,_react().useEffect)(()=>()=>{cancelFrame(f.current),f.current=null},[]);const p=(0,_react().useCallback)(e=>{u.current=!1,s.current?.stop(),s.current=null,d.current=e.nativeEvent.contentOffset.x},[]),_=(0,_react().useCallback)(e=>{u.current||(d.current=e.nativeEvent.contentOffset.x)},[]);return{navScrollRef:c,navScrollX:o,scrollIntoView:m,handleNavScrollBeginDrag:p,handleNavScroll:_}},TabBarItemInner=({pane:e,isActive:t,align:a,scrollable:r,type:n,ellipsis:i,tokens:l,color:c,titleActiveColor:o,titleInactiveColor:s,tabStyle:u,titleStyle:d,descriptionStyle:f,onSelect:m,onLayout:p,isLast:_})=>{const h=!!e.disabled,b=(0,_hooks.useAriaPress)({onPress:t=>m(e,e.index,t),extraProps:{accessibilityRole:"tab",accessibilityState:{selected:t,disabled:h},testID:`rv-tabs-item-${e.name}`}}),g="capsule"===n,v="jumbo"===n,y="card"===n,x=(0,_validate.isFunction)(e.title)?e.title(t):e.title??e.name,w=(0,_validate.isFunction)(e.description)?e.description(t):e.description,T=o??(y?l.colors.cardActiveText:g?l.colors.capsuleActiveText:c??l.colors.textActive),E=s??(y?c??l.colors.cardBorder:g?l.colors.capsuleText:l.colors.text),k=e.disabled?l.colors.textDisabled:t?T:E,R=h?l.colors.textDisabled:v?t?l.colors.jumboDescriptionActive:l.colors.jumboDescription:t?l.colors.descriptionActive:l.colors.description,N=!r&&("start"!==a||y),C=y||v||g,V=C?0:l.tabList.paddingHorizontal,P=C?0:l.tabList.paddingVertical,I=[S.lblW,v&&S.lblWJ,y&&S.cardLbl,y&&{paddingHorizontal:l.card.paddingHorizontal,paddingVertical:l.card.paddingVertical},g&&{flex:1,alignSelf:"stretch",paddingHorizontal:l.capsule.paddingHorizontal,paddingVertical:l.capsule.paddingVertical},v&&{paddingHorizontal:l.jumbo.paddingHorizontal,paddingVertical:l.jumbo.paddingVertical,alignItems:"center"}].filter(Boolean),H=g?[{flex:1,alignSelf:"stretch",justifyContent:"center",alignItems:"center",borderRadius:l.capsule.radius,backgroundColor:t?c??l.colors.capsuleActiveBackground:l.colors.capsuleBackground}]:null,M=[S.title,{color:k,fontFamily:l.typography.fontFamily,fontSize:v?l.typography.jumboTitleSize:l.typography.titleSize,fontWeight:t?l.typography.titleActiveWeight:l.typography.titleWeight,lineHeight:v?l.typography.jumboLineHeight:void 0,textAlign:"center"},i&&!v?S.ellipsis:null,d],A=v?l.spacing.jumboDescriptionMarginTop:l.spacing.descriptionMarginTop,z=v?{backgroundColor:t?l.colors.jumboDescriptionActiveBackground:l.colors.jumboDescriptionBackground,paddingHorizontal:l.jumbo.descriptionPaddingHorizontal,paddingVertical:l.jumbo.descriptionPaddingVertical,borderRadius:l.jumbo.descriptionRadius}:null,L=(0,_react().useCallback)(t=>p(e.name,t),[p,e.name]);return _react().default.createElement(_reactNative().Pressable,_extends({},b.interactionProps,{onLayout:L,style:[S.tabI,N?S.flexI:null,{paddingHorizontal:V,paddingVertical:P},y?{backgroundColor:t?c??l.colors.cardActiveBackground:l.colors.cardBackground}:null,u]}),_react().default.createElement(_reactNative().View,{style:I},H?_react().default.createElement(_reactNative().View,{style:H},_react().default.createElement(_reactNative().Text,{style:M,numberOfLines:i&&!v?1:void 0},x)):_react().default.createElement(_reactNative().Text,{style:M,numberOfLines:i&&!v?1:void 0},x),(0,_validate.isRenderable)(w)&&((0,_validate.isText)(w)?_react().default.createElement(_reactNative().Text,{style:[S.descTxt,{color:R,fontFamily:l.typography.fontFamily,fontSize:l.typography.descriptionSize,marginTop:A,textAlign:"center"},z,f]},w):_react().default.createElement(_reactNative().View,{style:[{marginTop:A,alignItems:"center"},z]},w)),(0,_validate.isRenderable)(e.badge)&&_react().default.createElement(_reactNative().View,{style:{marginTop:l.spacing.badgeMarginTop}},(0,_validate.isText)(e.badge)?_react().default.createElement(_reactNative().Text,{style:{color:l.colors.badgeText,fontFamily:l.typography.fontFamily,fontSize:l.typography.badgeTextSize}},e.badge):e.badge)),y&&!_&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"right",color:c??l.colors.cardBorder,top:0,bottom:0})}))},TabBarItem=(0,_react().memo)(TabBarItemInner),TabsBaseInner=(e,t)=>{const{tokensOverride:a,children:r,type:n,align:i,ellipsis:l,swipeThreshold:c,animated:o,duration:s,lazyRender:u,lazyRenderPlaceholder:d,scrollable:f,swipeable:m,color:p,background:_,border:h,navLeft:b,navRight:g,navBottom:v,tabBarStyle:y,tabStyle:x,titleStyle:w,descriptionStyle:T,contentStyle:E,lineWidth:k,lineHeight:R,titleActiveColor:N,titleInactiveColor:C,beforeChange:V,onClickTab:P,onChange:I,style:H,...M}=e,A=(0,_tokens.useTabsTokens)(a),z=(0,_animation.useReducedMotion)(),L=n??A.defaults.type,j=i??A.defaults.align,B=l??A.defaults.ellipsis,W=c??A.defaults.swipeThreshold,D=o??A.defaults.animated,F=s??A.defaults.duration,O=u??A.defaults.lazyRender,q=_??A.tabList.background,X=(0,_number.parseNumberLike)(k??A.indicator.width),J=null!=X&&X<0?void 0:X,$=Math.max(0,(0,_number.parseNumberLike)(R)??A.indicator.height),G=z?0:Math.max(0,(0,_number.parseNumberLike)(F)??A.defaults.duration),K=Math.max(0,(0,_number.parseNumberLike)(W)??A.defaults.swipeThreshold),Q=m?(0,_validate.isObject)(m)?{autoHeight:m.autoHeight??!0,preventScroll:m.preventScroll??!0}:{autoHeight:!0,preventScroll:!0}:void 0,U=!!Q,Y=(0,_react().useMemo)(()=>{const e=[];let t=0;const a=r=>{_react().Children.forEach(r,r=>{if(!(0,_react().isValidElement)(r))return;const n=r;if(n.type===_react().default.Fragment)return void a(n.props.children);if(!isTabPaneElement(n))return;const i=n.props,l=i.name??t;e.push({...i,key:n.key??l,name:l,index:t}),t+=1})};return a(r),e},[r]),Z=Y[0]?.name,[ee,te]=(0,_hooks.useControllableValue)(e,{defaultValue:Z,valuePropName:"active",defaultValuePropName:"defaultActive",trigger:"onChange"}),ae=null==ee?Z:Y.some(e=>e.name===ee)?ee:Z,re=(0,_react().useRef)(ae);(0,_react().useEffect)(()=>{re.current=ae},[ae]);const ne=(0,_react().useMemo)(()=>{const e=new Map;return Y.forEach(t=>{e.set(t.name,t.index)}),e},[Y]),ie=null==ae?-1:ne.get(ae)??-1,le=(0,_react().useRef)(new Set),ce=(0,_react().useRef)(new Map),oe=(0,_react().useRef)(0),se=(0,_react().useRef)(0),ue=(0,_react().useRef)(null),de=(0,_react().useRef)(new Map),fe=(0,_react().useRef)(null),me=(0,_react().useRef)(!1),[pe,_e]=(0,_react().useState)(0),[he,be]=(0,_react().useState)(void 0);(0,_react().useEffect)(()=>{null!=ae&&le.current.add(ae)},[ae]),(0,_react().useEffect)(()=>{const e=new Set(Y.map(e=>e.name));Array.from(de.current.keys()).forEach(t=>{e.has(t)||de.current.delete(t)}),Array.from(ce.current.keys()).forEach(t=>{e.has(t)||ce.current.delete(t)})},[Y]);const ge=U&&Q?.autoHeight;(0,_react().useEffect)(()=>{ge||de.current.clear()},[ge]),(0,_react().useEffect)(()=>{if(!U||!Q?.autoHeight)return void be(void 0);const e=null!=ae?de.current.get(ae):void 0;be(e?e.height:void 0)},[ae,U,Q?.autoHeight]),(0,_react().useEffect)(()=>()=>{cancelFrame(ue.current),ue.current=null},[]);const ve=(0,_validate.isBoolean)(f)?f:Y.length>K||!1===B,ye=p??A.colors.indicator,Se=$?$/2:A.indicator.radius,{indicatorX:xe,indicatorWidth:we,indicatorInitializedRef:Te,animateIndicator:Ee}=useTabsAnimation({type:L,animated:D,scrollable:ve,align:j,panes:Y,nameIndexMap:ne,resolvedLineWidth:J,resolvedLineHeight:$,resolvedDuration:G,currentName:ae,layoutMap:ce,navContainerWidthRef:oe}),{navScrollRef:ke,scrollIntoView:Re,handleNavScrollBeginDrag:Ne,handleNavScroll:Ce}=useTabsScroll({scrollable:ve,animated:D,currentName:ae,resolvedDuration:G,layoutMap:ce,navContainerWidthRef:oe,navContentWidthRef:se}),Ve=(0,_react().useCallback)((e,t)=>{const{x:a,width:r}=t.nativeEvent.layout;if(ce.current.set(e,{x:a,width:r}),e===re.current){const t=Te.current;Ee(e,!t)&&!Te.current&&(Te.current=!0)}},[Ee,Te]),Pe=(0,_react().useCallback)(e=>{const{width:t}=e.nativeEvent.layout;if(oe.current=t,!ve&&"start"!==j&&"line"===L&&null!=ae){const e=Te.current;Ee(ae,!e)&&!Te.current&&(Te.current=!0)}},[j,Ee,ae,ve,L,Te]),Ie=(0,_react().useCallback)(e=>{const t=e.nativeEvent.layout.width;_e(e=>e===t?e:t)},[]),He=(0,_react().useRef)(V);He.current=V;const Me=(0,_react().useCallback)(e=>{if(!He.current)return Promise.resolve(!0);try{return Promise.resolve(He.current(e)).then(e=>!1!==e).catch(()=>!1)}catch(e){return Promise.resolve(!1)}},[]),Ae=(0,_react().useRef)(0),ze=(0,_react().useCallback)((e,t)=>{Ae.current+=1;const a=Ae.current;Me(e).then(r=>{r&&Ae.current===a&&te(e,t)})},[Me,te]),Le=(0,_react().useCallback)((e,t)=>{if(U&&Q?.autoHeight){const{height:a}=t.nativeEvent.layout;de.current.set(e,{height:a}),e===ae&&be(a)}},[ae,U,Q?.autoHeight]),je=(0,_react().useRef)(null);(0,_react().useEffect)(()=>{je.current=null},[ae]);const Be=(0,_react().useCallback)(e=>{if(!U||pe<=0)return;const t=Math.round(e/pe);if(je.current===t)return;je.current=t;const a=Y[t];a&&a.name!==re.current&&(me.current=!0,ze(a.name,a.index))},[pe,U,Y,ze]),We=(0,_react().useCallback)(e=>{Be(e.nativeEvent.contentOffset.x)},[Be]),De=(0,_react().useCallback)(e=>{Be(e.nativeEvent.contentOffset.x)},[Be]);(0,_react().useEffect)(()=>{if(!U||!fe.current||pe<=0)return;if(me.current)return void(me.current=!1);if(ie<0)return;const e=fe.current?.getNode?.()??fe.current;e?.scrollTo&&e.scrollTo({x:pe*ie,y:0,animated:!0})},[ie,pe,U]);const Fe=(0,_react().useRef)(P);Fe.current=P;const Oe=(0,_react().useCallback)((e,t,a)=>{const r={name:e.name,index:t,disabled:!!e.disabled,event:a};Fe.current?.(r),e.disabled||e.name===re.current||ze(e.name,t)},[ze]),qe=(0,_react().useCallback)((e,t)=>{const a=Y.find(t=>t.name===e&&!t.disabled);a&&te(a.name,a.index)},[Y,te]);(0,_react().useImperativeHandle)(t,()=>({scrollTo:qe}),[qe]);const Xe=(0,_react().useRef)(!0);(0,_react().useEffect)(()=>{Xe.current&&(Xe.current=!1,Re(!0))},[Re]),(0,_react().useEffect)(()=>{Xe.current||Re()},[ae,Re]);const Je=h??!1,$e="line"===L,Ge="jumbo"===L?A.jumbo.height:"card"===L?A.card.height:A.tabList.height,Ke="web"===_reactNative().Platform.OS&&"line"!==L&&"card"!==L?A.tabList.paddingBottom:0,Qe=$e?"line"===L?0:A.indicator.offset:0;if(0===Y.length)return null;const Ue=$e?_react().default.createElement(_reactNative().Animated.View,{testID:"rv-tabs-indicator",style:[S.ind,{height:$,borderRadius:Se,backgroundColor:ye,width:we,bottom:Qe,transform:[{translateX:xe}]}]}):null,Ye=(0,_react().useMemo)(()=>Y.map(e=>_react().default.createElement(TabBarItem,{key:e.key,pane:e,isActive:e.name===ae,align:j,scrollable:ve,type:L,ellipsis:B,tokens:A,color:p,titleActiveColor:N,titleInactiveColor:C,tabStyle:x,titleStyle:w,descriptionStyle:T,onSelect:Oe,onLayout:Ve,isLast:e.index===Y.length-1})),[j,p,ae,T,B,Oe,Ve,Y,ve,x,N,C,w,A,L]),Ze=(0,_react().useCallback)(e=>{const t=se.current;se.current=e,0===t||Xe.current?Re(!0):Math.abs(e-t)>1&&(cancelFrame(ue.current),ue.current=requestFrame(()=>{ue.current=null,Re()}))},[Re]),et=ve?_react().default.createElement(_reactNative().ScrollView,{horizontal:!0,ref:ke,accessibilityRole:"tablist",showsHorizontalScrollIndicator:!1,scrollEventThrottle:16,onScrollBeginDrag:Ne,onScroll:Ce,onContentSizeChange:Ze,contentContainerStyle:S.navC},Ye,Ue):_react().default.createElement(_reactNative().View,{accessibilityRole:"tablist",style:[S.navC,S.navCSta]},Ye,Ue),tt=_react().default.createElement(_reactNative().View,{style:[S.wrap,{backgroundColor:q},y]},b&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:A.spacing.navSidePaddingHorizontal}},b),_react().default.createElement(_reactNative().View,{style:[S.nav,{minHeight:Ge+Ke,paddingBottom:Ke},"card"===L?{borderRadius:A.card.radius,marginHorizontal:A.card.marginHorizontal,overflow:"hidden"}:null],onLayout:Pe},et,"card"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:p??A.colors.cardBorder,borderRadius:A.card.radius})})),g&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:A.spacing.navSidePaddingHorizontal}},g),Je&&"line"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:A.colors.border,left:0,right:0})})),at=(0,_react().useMemo)(()=>Y.map(e=>{const t=e.name===ae,a=!O||t||le.current.has(e.name);if(!a&&!U)return null;const r=U&&Q?.autoHeight?t=>Le(e.name,t):void 0,n=[S.pane,U?S.swipePane:null,U&&pe>0&&{width:pe},U||t?null:S.hidPane],i=a?e.children:d||null;return _react().default.createElement(_reactNative().View,{key:e.key,testID:`rv-tabs-pane-${e.name}`,onLayout:r,style:n},i)}),[pe,ae,Le,U,O,d,Y,Q?.autoHeight]),rt=[S.content,E],nt=[S.content,E,Q?.autoHeight&&void 0!==he&&{height:he}],it=U?_react().default.createElement(_reactNative().View,{style:nt},_react().default.createElement(_reactNative().Animated.ScrollView,{ref:fe,horizontal:!0,pagingEnabled:!0,scrollEventThrottle:16,showsHorizontalScrollIndicator:!1,onMomentumScrollEnd:We,onScrollEndDrag:De,nestedScrollEnabled:!1===Q?.preventScroll,directionalLockEnabled:!1!==Q?.preventScroll},at)):_react().default.createElement(_reactNative().View,{style:rt},at);return _react().default.createElement(_reactNative().View,_extends({},M,{style:[S.ctr,H],onLayout:Ie}),tt,v&&_react().default.createElement(_reactNative().View,{style:{marginTop:A.spacing.navBottomMarginTop}},v),it)},S=_reactNative().StyleSheet.create({ctr:{width:"100%"},wrap:{flexDirection:"row",alignItems:"center",position:"relative"},nav:{flex:1,position:"relative",alignSelf:"stretch"},navC:{flexDirection:"row",alignItems:"center",height:"100%",position:"relative"},navCSta:{flex:1},lblW:{justifyContent:"center",alignItems:"center",flexDirection:"column"},lblWJ:{alignItems:"center"},cardLbl:{flexDirection:"row",justifyContent:"center",alignItems:"center"},tabI:{flexShrink:0,height:"100%",alignSelf:"stretch",alignItems:"center",justifyContent:"center",flexDirection:"row"},flexI:{flexGrow:1},title:{includeFontPadding:!1},descTxt:{includeFontPadding:!1},ellipsis:{maxWidth:"100%",flexShrink:1},ind:{position:"absolute",bottom:0,left:0},content:{width:"100%"},pane:{width:"100%"},swipePane:{flexShrink:0},hidPane:{display:"none"}}),TabsBaseRef=_react().default.forwardRef(TabsBaseInner),TabsWithPane=Object.assign(_react().default.memo(TabsBaseRef),{TabPane:TabPane});var _default=exports.default=TabsWithPane;
|
|
1
|
+
"use strict";function _react(){const e=_interopRequireWildcard(require("react"));return _react=function(){return e},e}function _reactNative(){const e=require("react-native");return _reactNative=function(){return e},e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.TabPane=void 0;var _hooks=require("../../hooks"),_animation=require("../../hooks/animation"),_hairline=require("../../utils/hairline"),_number=require("../../utils/number"),_validate=require("../../utils/validate"),_tokens=require("./tokens");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,i,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(n=t?r:a){if(n.has(e))return n.get(e);n.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((i=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(i.get||i.set)?n(l,t,i):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_extends.apply(null,arguments)}const TabPane=()=>null;exports.TabPane=TabPane,TabPane.displayName="Tabs.TabPane";const hasRaf="function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame,requestFrame=hasRaf?requestAnimationFrame:e=>setTimeout(e,16),cancelFrame=e=>{null!=e&&(hasRaf?cancelAnimationFrame:clearTimeout)(e)},isTabPaneElement=e=>!!_react().default.isValidElement(e)&&(e.type===TabPane||"Tabs.TabPane"===e.type.displayName),useTabsAnimation=({type:e,animated:t,scrollable:a,align:r,panes:n,nameIndexMap:i,resolvedLineWidth:l,resolvedDuration:c,currentName:o,layoutMap:s,navContainerWidthRef:u})=>{const d=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,f=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,m=(0,_react().useRef)(!1),p=(0,_react().useRef)(null),_=(0,_react().useCallback)((o,m)=>{if(null==o||"line"!==e)return!1;const _=!a&&"start"!==r&&u.current>0&&n.length>0,h=i.get(o)??-1,b=_?u.current/n.length:0,g=_?{x:Math.max(h,0)*b,width:b}:s.current.get(o);if(!g||h<0)return!1;p.current?.stop();const v=(e,a)=>_reactNative().Animated.timing(e,{toValue:a,duration:m||!t?0:c,useNativeDriver:!1,isInteraction:!1}),y=l??g.width,S=l?g.x+(g.width-y)/2:g.x,x=_reactNative().Animated.parallel([v(d,S),v(f,y)]);return p.current=x,x.start(({finished:e})=>{e&&(p.current=null)}),!0},[r,t,f,d,i,n.length,c,l,a,e,s,u]);return(0,_react().useEffect)(()=>{if(null==o)return;const e=m.current;_(o,!e)&&!m.current&&(m.current=!0)},[_,o]),(0,_react().useEffect)(()=>()=>{p.current?.stop(),p.current=null},[]),{indicatorX:d,indicatorWidth:f,indicatorInitializedRef:m,animateIndicator:_}},useTabsScroll=({scrollable:e,animated:t,currentName:a,resolvedDuration:r,layoutMap:n,navContainerWidthRef:i,navContentWidthRef:l})=>{const c=(0,_react().useRef)(null),o=(0,_react().useRef)(new(_reactNative().Animated.Value)(0)).current,s=(0,_react().useRef)(null),u=(0,_react().useRef)(!1),d=(0,_react().useRef)(0),f=(0,_react().useRef)(null),m=(0,_react().useCallback)(c=>{if(!e||null==a)return;const m=n.current.get(a),p=i.current;if(!m||!p)return;const _=l.current,h=m.x-(p-m.width)/2,b=Math.max(_-p,0),g=Math.max(0,Math.min(h,b));if(!(b<=0||Math.abs(g-d.current)<1)){if(s.current?.stop(),s.current=null,cancelFrame(f.current),f.current=null,c||!t)return u.current=!0,o.setValue(g),void(f.current=requestFrame(()=>{f.current=null,u.current=!1}));o.setValue(d.current),u.current=!0,s.current=_reactNative().Animated.timing(o,{toValue:g,duration:r,useNativeDriver:!1,isInteraction:!1}),s.current.start(({finished:e})=>{s.current=null,u.current=!1,e&&(d.current=g)})}},[t,a,o,r,e,n,i,l]);(0,_react().useEffect)(()=>{if(!e)return;const t=o.addListener(({value:e})=>{const t=d.current;d.current=e,Math.abs(e-t)>=.5&&c.current?.scrollTo({x:e,y:0,animated:!1})});return()=>o.removeListener(t)},[o,e]),(0,_react().useEffect)(()=>()=>{cancelFrame(f.current),f.current=null},[]);const p=(0,_react().useCallback)(e=>{u.current=!1,s.current?.stop(),s.current=null,d.current=e.nativeEvent.contentOffset.x},[]),_=(0,_react().useCallback)(e=>{u.current||(d.current=e.nativeEvent.contentOffset.x)},[]);return{navScrollRef:c,navScrollX:o,scrollIntoView:m,handleNavScrollBeginDrag:p,handleNavScroll:_}},TabBarItemInner=({pane:e,isActive:t,align:a,scrollable:r,type:n,ellipsis:i,tokens:l,color:c,titleActiveColor:o,titleInactiveColor:s,tabStyle:u,titleStyle:d,descriptionStyle:f,onSelect:m,onLayout:p,isLast:_})=>{const h=!!e.disabled,b=(0,_hooks.useAriaPress)({onPress:t=>m(e,e.index,t),extraProps:{accessibilityRole:"tab",accessibilityState:{selected:t,disabled:h},testID:`rv-tabs-item-${e.name}`}}),g="capsule"===n,v="jumbo"===n,y="card"===n,x=(0,_validate.isFunction)(e.title)?e.title(t):e.title??e.name,w=(0,_validate.isFunction)(e.description)?e.description(t):e.description,T=o??(y?l.colors.cardActiveText:g?l.colors.capsuleActiveText:c??l.colors.textActive),E=s??(y?c??l.colors.cardBorder:g?l.colors.capsuleText:l.colors.text),k=e.disabled?l.colors.textDisabled:t?T:E,R=h?l.colors.textDisabled:v?t?l.colors.jumboDescriptionActive:l.colors.jumboDescription:t?l.colors.descriptionActive:l.colors.description,N=!r&&("start"!==a||y),C=y||v||g,V=C?0:l.tabList.paddingHorizontal,P=C?0:l.tabList.paddingVertical,I=[S.lblW,v&&S.lblWJ,y&&S.cardLbl,y&&{paddingHorizontal:l.card.paddingHorizontal,paddingVertical:l.card.paddingVertical},g&&{flex:1,alignSelf:"stretch",paddingHorizontal:l.capsule.paddingHorizontal,paddingVertical:l.capsule.paddingVertical},v&&{paddingHorizontal:l.jumbo.paddingHorizontal,paddingVertical:l.jumbo.paddingVertical,alignItems:"center"}].filter(Boolean),H=g?[{flex:1,alignSelf:"stretch",justifyContent:"center",alignItems:"center",borderRadius:l.capsule.radius,backgroundColor:t?c??l.colors.capsuleActiveBackground:l.colors.capsuleBackground}]:null,M=[S.title,{color:k,fontFamily:l.typography.fontFamily,fontSize:v?l.typography.jumboTitleSize:l.typography.titleSize,fontWeight:t?l.typography.titleActiveWeight:l.typography.titleWeight,lineHeight:v?l.typography.jumboLineHeight:void 0,textAlign:"center"},i&&!v?S.ellipsis:null,d],A=v?l.spacing.jumboDescriptionMarginTop:l.spacing.descriptionMarginTop,z=v?{backgroundColor:t?l.colors.jumboDescriptionActiveBackground:l.colors.jumboDescriptionBackground,paddingHorizontal:l.jumbo.descriptionPaddingHorizontal,paddingVertical:l.jumbo.descriptionPaddingVertical,borderRadius:l.jumbo.descriptionRadius}:null,L=(0,_react().useCallback)(t=>p(e.name,t),[p,e.name]);return _react().default.createElement(_reactNative().Pressable,_extends({},b.interactionProps,{onLayout:L,style:[S.tabI,N?S.flexI:null,{paddingHorizontal:V,paddingVertical:P},y?{backgroundColor:t?c??l.colors.cardActiveBackground:l.colors.cardBackground}:null,u]}),_react().default.createElement(_reactNative().View,{style:I},H?_react().default.createElement(_reactNative().View,{style:H},_react().default.createElement(_reactNative().Text,{style:M,numberOfLines:i&&!v?1:void 0},x)):_react().default.createElement(_reactNative().Text,{style:M,numberOfLines:i&&!v?1:void 0},x),(0,_validate.isRenderable)(w)&&((0,_validate.isText)(w)?_react().default.createElement(_reactNative().Text,{style:[S.descTxt,{color:R,fontFamily:l.typography.fontFamily,fontSize:l.typography.descriptionSize,marginTop:A,textAlign:"center"},z,f]},w):_react().default.createElement(_reactNative().View,{style:[{marginTop:A,alignItems:"center"},z]},w)),(0,_validate.isRenderable)(e.badge)&&_react().default.createElement(_reactNative().View,{style:{marginTop:l.spacing.badgeMarginTop}},(0,_validate.isText)(e.badge)?_react().default.createElement(_reactNative().Text,{style:{color:l.colors.badgeText,fontFamily:l.typography.fontFamily,fontSize:l.typography.badgeTextSize}},e.badge):e.badge)),y&&!_&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"right",color:c??l.colors.cardBorder,top:0,bottom:0})}))},TabBarItem=(0,_react().memo)(TabBarItemInner),TabsBaseInner=(e,t)=>{const{tokensOverride:a,children:r,type:n,align:i,ellipsis:l,swipeThreshold:c,animated:o,duration:s,lazyRender:u,lazyRenderPlaceholder:d,scrollable:f,swipeable:m,color:p,background:_,border:h,navLeft:b,navRight:g,navBottom:v,tabBarStyle:y,tabStyle:x,titleStyle:w,descriptionStyle:T,contentStyle:E,lineWidth:k,lineHeight:R,titleActiveColor:N,titleInactiveColor:C,beforeChange:V,onClickTab:P,onChange:I,style:H,...M}=e,A=(0,_tokens.useTabsTokens)(a),z=(0,_animation.useReducedMotion)(),L=n??A.defaults.type,j=i??A.defaults.align,B=l??A.defaults.ellipsis,W=c??A.defaults.swipeThreshold,D=o??A.defaults.animated,F=s??A.defaults.duration,O=u??A.defaults.lazyRender,q=_??A.tabList.background,X=(0,_number.parseNumberLike)(k??A.indicator.width),J=null!=X&&X<0?void 0:X,$=Math.max(0,(0,_number.parseNumberLike)(R)??A.indicator.height),G=z?0:Math.max(0,(0,_number.parseNumberLike)(F)??A.defaults.duration),K=Math.max(0,(0,_number.parseNumberLike)(W)??A.defaults.swipeThreshold),Q=m?(0,_validate.isObject)(m)?{autoHeight:m.autoHeight??!0,preventScroll:m.preventScroll??!0}:{autoHeight:!0,preventScroll:!0}:void 0,U=!!Q,Y=(0,_react().useMemo)(()=>{const e=[];let t=0;const a=r=>{_react().Children.forEach(r,r=>{if(!(0,_react().isValidElement)(r))return;const n=r;if(n.type===_react().default.Fragment)return void a(n.props.children);if(!isTabPaneElement(n))return;const i=n.props,l=i.name??t;e.push({...i,key:n.key??l,name:l,index:t}),t+=1})};return a(r),e},[r]),Z=Y[0]?.name,[ee,te]=(0,_hooks.useControllableValue)(e,{defaultValue:Z,valuePropName:"active",defaultValuePropName:"defaultActive",trigger:"onChange"}),ae=null==ee?Z:Y.some(e=>e.name===ee)?ee:Z,re=(0,_react().useRef)(ae);(0,_react().useEffect)(()=>{re.current=ae},[ae]);const ne=(0,_react().useMemo)(()=>{const e=new Map;return Y.forEach(t=>{e.set(t.name,t.index)}),e},[Y]),ie=null==ae?-1:ne.get(ae)??-1,le=(0,_react().useRef)(new Set),ce=(0,_react().useRef)(new Map),oe=(0,_react().useRef)(0),se=(0,_react().useRef)(0),ue=(0,_react().useRef)(null),de=(0,_react().useRef)(new Map),fe=(0,_react().useRef)(null),me=(0,_react().useRef)(!1),[pe,_e]=(0,_react().useState)(0),[he,be]=(0,_react().useState)(void 0);(0,_react().useEffect)(()=>{null!=ae&&le.current.add(ae)},[ae]),(0,_react().useEffect)(()=>{const e=new Set(Y.map(e=>e.name));Array.from(de.current.keys()).forEach(t=>{e.has(t)||de.current.delete(t)}),Array.from(ce.current.keys()).forEach(t=>{e.has(t)||ce.current.delete(t)})},[Y]);const ge=U&&Q?.autoHeight;(0,_react().useEffect)(()=>{ge||de.current.clear()},[ge]),(0,_react().useEffect)(()=>{if(!U||!Q?.autoHeight)return void be(void 0);const e=null!=ae?de.current.get(ae):void 0;be(e?e.height:void 0)},[ae,U,Q?.autoHeight]),(0,_react().useEffect)(()=>()=>{cancelFrame(ue.current),ue.current=null},[]);const ve=(0,_validate.isBoolean)(f)?f:Y.length>K||!1===B,ye=p??A.colors.indicator,Se=$?$/2:A.indicator.radius,{indicatorX:xe,indicatorWidth:we,indicatorInitializedRef:Te,animateIndicator:Ee}=useTabsAnimation({type:L,animated:D,scrollable:ve,align:j,panes:Y,nameIndexMap:ne,resolvedLineWidth:J,resolvedLineHeight:$,resolvedDuration:G,currentName:ae,layoutMap:ce,navContainerWidthRef:oe}),{navScrollRef:ke,scrollIntoView:Re,handleNavScrollBeginDrag:Ne,handleNavScroll:Ce}=useTabsScroll({scrollable:ve,animated:D,currentName:ae,resolvedDuration:G,layoutMap:ce,navContainerWidthRef:oe,navContentWidthRef:se}),Ve=(0,_react().useCallback)((e,t)=>{const{x:a,width:r}=t.nativeEvent.layout;if(ce.current.set(e,{x:a,width:r}),e===re.current){const t=Te.current;Ee(e,!t)&&!Te.current&&(Te.current=!0)}},[Ee,Te]),Pe=(0,_react().useCallback)(e=>{const{width:t}=e.nativeEvent.layout;if(oe.current=t,!ve&&"start"!==j&&"line"===L&&null!=ae){const e=Te.current;Ee(ae,!e)&&!Te.current&&(Te.current=!0)}},[j,Ee,ae,ve,L,Te]),Ie=(0,_react().useCallback)(e=>{const t=e.nativeEvent.layout.width;_e(e=>e===t?e:t)},[]),He=(0,_react().useRef)(V);He.current=V;const Me=(0,_react().useCallback)(e=>{if(!He.current)return Promise.resolve(!0);try{return Promise.resolve(He.current(e)).then(e=>!1!==e).catch(()=>!1)}catch{return Promise.resolve(!1)}},[]),Ae=(0,_react().useRef)(0),ze=(0,_react().useCallback)((e,t)=>{Ae.current+=1;const a=Ae.current;Me(e).then(r=>{r&&Ae.current===a&&te(e,t)})},[Me,te]),Le=(0,_react().useCallback)((e,t)=>{if(U&&Q?.autoHeight){const{height:a}=t.nativeEvent.layout;de.current.set(e,{height:a}),e===ae&&be(a)}},[ae,U,Q?.autoHeight]),je=(0,_react().useRef)(null);(0,_react().useEffect)(()=>{je.current=null},[ae]);const Be=(0,_react().useCallback)(e=>{if(!U||pe<=0)return;const t=Math.round(e/pe);if(je.current===t)return;je.current=t;const a=Y[t];a&&a.name!==re.current&&(me.current=!0,ze(a.name,a.index))},[pe,U,Y,ze]),We=(0,_react().useCallback)(e=>{Be(e.nativeEvent.contentOffset.x)},[Be]),De=(0,_react().useCallback)(e=>{Be(e.nativeEvent.contentOffset.x)},[Be]);(0,_react().useEffect)(()=>{if(!U||!fe.current||pe<=0)return;if(me.current)return void(me.current=!1);if(ie<0)return;const e=fe.current?.getNode?.()??fe.current;e?.scrollTo&&e.scrollTo({x:pe*ie,y:0,animated:!0})},[ie,pe,U]);const Fe=(0,_react().useRef)(P);Fe.current=P;const Oe=(0,_react().useCallback)((e,t,a)=>{const r={name:e.name,index:t,disabled:!!e.disabled,event:a};Fe.current?.(r),e.disabled||e.name===re.current||ze(e.name,t)},[ze]),qe=(0,_react().useCallback)((e,t)=>{const a=Y.find(t=>t.name===e&&!t.disabled);a&&te(a.name,a.index)},[Y,te]);(0,_react().useImperativeHandle)(t,()=>({scrollTo:qe}),[qe]);const Xe=(0,_react().useRef)(!0);(0,_react().useEffect)(()=>{Xe.current&&(Xe.current=!1,Re(!0))},[Re]),(0,_react().useEffect)(()=>{Xe.current||Re()},[ae,Re]);const Je=h??!1,$e="line"===L,Ge="jumbo"===L?A.jumbo.height:"card"===L?A.card.height:A.tabList.height,Ke="web"===_reactNative().Platform.OS&&"line"!==L&&"card"!==L?A.tabList.paddingBottom:0,Qe=$e?"line"===L?0:A.indicator.offset:0;if(0===Y.length)return null;const Ue=$e?_react().default.createElement(_reactNative().Animated.View,{testID:"rv-tabs-indicator",style:[S.ind,{height:$,borderRadius:Se,backgroundColor:ye,width:we,bottom:Qe,transform:[{translateX:xe}]}]}):null,Ye=(0,_react().useMemo)(()=>Y.map(e=>_react().default.createElement(TabBarItem,{key:e.key,pane:e,isActive:e.name===ae,align:j,scrollable:ve,type:L,ellipsis:B,tokens:A,color:p,titleActiveColor:N,titleInactiveColor:C,tabStyle:x,titleStyle:w,descriptionStyle:T,onSelect:Oe,onLayout:Ve,isLast:e.index===Y.length-1})),[j,p,ae,T,B,Oe,Ve,Y,ve,x,N,C,w,A,L]),Ze=(0,_react().useCallback)(e=>{const t=se.current;se.current=e,0===t||Xe.current?Re(!0):Math.abs(e-t)>1&&(cancelFrame(ue.current),ue.current=requestFrame(()=>{ue.current=null,Re()}))},[Re]),et=ve?_react().default.createElement(_reactNative().ScrollView,{horizontal:!0,ref:ke,accessibilityRole:"tablist",showsHorizontalScrollIndicator:!1,scrollEventThrottle:16,onScrollBeginDrag:Ne,onScroll:Ce,onContentSizeChange:Ze,contentContainerStyle:S.navC},Ye,Ue):_react().default.createElement(_reactNative().View,{accessibilityRole:"tablist",style:[S.navC,S.navCSta]},Ye,Ue),tt=_react().default.createElement(_reactNative().View,{style:[S.wrap,{backgroundColor:q},y]},b&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:A.spacing.navSidePaddingHorizontal}},b),_react().default.createElement(_reactNative().View,{style:[S.nav,{minHeight:Ge+Ke,paddingBottom:Ke},"card"===L?{borderRadius:A.card.radius,marginHorizontal:A.card.marginHorizontal,overflow:"hidden"}:null],onLayout:Pe},et,"card"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"all",color:p??A.colors.cardBorder,borderRadius:A.card.radius})})),g&&_react().default.createElement(_reactNative().View,{style:{paddingHorizontal:A.spacing.navSidePaddingHorizontal}},g),Je&&"line"===L&&_react().default.createElement(_reactNative().View,{style:(0,_hairline.createHairlineView)({position:"bottom",color:A.colors.border,left:0,right:0})})),at=(0,_react().useMemo)(()=>Y.map(e=>{const t=e.name===ae,a=!O||t||le.current.has(e.name);if(!a&&!U)return null;const r=U&&Q?.autoHeight?t=>Le(e.name,t):void 0,n=[S.pane,U?S.swipePane:null,U&&pe>0&&{width:pe},U||t?null:S.hidPane],i=a?e.children:d||null;return _react().default.createElement(_reactNative().View,{key:e.key,testID:`rv-tabs-pane-${e.name}`,onLayout:r,style:n},i)}),[pe,ae,Le,U,O,d,Y,Q?.autoHeight]),rt=[S.content,E],nt=[S.content,E,Q?.autoHeight&&void 0!==he&&{height:he}],it=U?_react().default.createElement(_reactNative().View,{style:nt},_react().default.createElement(_reactNative().Animated.ScrollView,{ref:fe,horizontal:!0,pagingEnabled:!0,scrollEventThrottle:16,showsHorizontalScrollIndicator:!1,onMomentumScrollEnd:We,onScrollEndDrag:De,nestedScrollEnabled:!1===Q?.preventScroll,directionalLockEnabled:!1!==Q?.preventScroll},at)):_react().default.createElement(_reactNative().View,{style:rt},at);return _react().default.createElement(_reactNative().View,_extends({},M,{style:[S.ctr,H],onLayout:Ie}),tt,v&&_react().default.createElement(_reactNative().View,{style:{marginTop:A.spacing.navBottomMarginTop}},v),it)},S=_reactNative().StyleSheet.create({ctr:{width:"100%"},wrap:{flexDirection:"row",alignItems:"center",position:"relative"},nav:{flex:1,position:"relative",alignSelf:"stretch"},navC:{flexDirection:"row",alignItems:"center",height:"100%",position:"relative"},navCSta:{flex:1},lblW:{justifyContent:"center",alignItems:"center",flexDirection:"column"},lblWJ:{alignItems:"center"},cardLbl:{flexDirection:"row",justifyContent:"center",alignItems:"center"},tabI:{flexShrink:0,height:"100%",alignSelf:"stretch",alignItems:"center",justifyContent:"center",flexDirection:"row"},flexI:{flexGrow:1},title:{includeFontPadding:!1},descTxt:{includeFontPadding:!1},ellipsis:{maxWidth:"100%",flexShrink:1},ind:{position:"absolute",bottom:0,left:0},content:{width:"100%"},pane:{width:"100%"},swipePane:{flexShrink:0},hidPane:{display:"none"}}),TabsBaseRef=_react().default.forwardRef(TabsBaseInner),TabsWithPane=Object.assign(_react().default.memo(TabsBaseRef),{TabPane:TabPane});var _default=exports.default=TabsWithPane;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|