@ray-js/components 0.3.27 → 0.3.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Button/Button.js +6 -48
- package/lib/Button/Button.tuya.js +4 -5
- package/lib/Button/Button.web.js +6 -48
- package/lib/Button/Button.wechat.js +4 -5
- package/lib/Button/index.md +10 -10
- package/lib/Button/props.d.ts +1 -0
- package/lib/Checkbox/Checkbox.d.ts +0 -1
- package/lib/Checkbox/Checkbox.js +3 -29
- package/lib/Checkbox/Checkbox.web.js +3 -29
- package/lib/Checkbox/index.md +7 -6
- package/lib/CheckboxGroup/CheckboxGroup.js +45 -2
- package/lib/CheckboxGroup/CheckboxGroup.web.js +45 -2
- package/lib/CheckboxGroup/index.md +4 -4
- package/lib/CheckboxGroup/props.d.ts +3 -2
- package/lib/DatePicker/DatePicker.js +55 -4
- package/lib/DatePicker/DatePicker.web.js +55 -4
- package/lib/DatePicker/index.md +8 -8
- package/lib/DatePicker/props.d.ts +2 -0
- package/lib/Form/Form.android.js +1 -0
- package/lib/Form/Form.d.ts +4 -0
- package/lib/Form/Form.ios.js +1 -0
- package/lib/Form/Form.js +37 -0
- package/lib/Form/Form.native.d.ts +4 -0
- package/lib/Form/Form.tuya.d.ts +4 -0
- package/lib/Form/Form.tuya.js +8 -0
- package/lib/Form/Form.web.js +37 -0
- package/lib/Form/Form.wechat.d.ts +4 -0
- package/lib/Form/Form.wechat.js +33 -0
- package/lib/Form/index.android.js +1 -0
- package/lib/Form/index.d.ts +3 -0
- package/lib/Form/index.ios.js +1 -0
- package/lib/Form/index.js +3 -0
- package/lib/Form/index.md +30 -0
- package/lib/Form/index.tuya.js +3 -0
- package/lib/Form/index.web.js +3 -0
- package/lib/Form/index.wechat.js +3 -0
- package/lib/Form/props.android.js +1 -0
- package/lib/Form/props.d.ts +13 -0
- package/lib/Form/props.ios.js +1 -0
- package/lib/Form/props.js +1 -0
- package/lib/Form/props.tuya.js +1 -0
- package/lib/Form/props.web.js +1 -0
- package/lib/Form/props.wechat.js +1 -0
- package/lib/Icon/index.md +4 -4
- package/lib/Image/Image.js +33 -86
- package/lib/Image/Image.web.js +33 -86
- package/lib/Image/index.md +20 -20
- package/lib/Image/props.d.ts +1 -0
- package/lib/Input/Input.js +54 -78
- package/lib/Input/Input.web.js +54 -78
- package/lib/Input/index.md +14 -14
- package/lib/Label/Label.android.js +1 -1
- package/lib/Label/Label.ios.js +1 -1
- package/lib/Label/Label.js +8 -15
- package/lib/Label/Label.web.js +8 -15
- package/lib/Label/index.md +31 -0
- package/lib/Label/props.d.ts +7 -0
- package/lib/Motion/Fade/index.js +1 -1
- package/lib/Motion/Fade/index.web.js +1 -1
- package/lib/Motion/PullUp/index.js +1 -1
- package/lib/Motion/PullUp/index.web.js +1 -1
- package/lib/Motion/PushDown/index.js +1 -1
- package/lib/Motion/PushDown/index.web.js +1 -1
- package/lib/Motion/ScaleFadeIn/index.js +1 -1
- package/lib/Motion/ScaleFadeIn/index.web.js +1 -1
- package/lib/Motion/ScalePullDown/index.js +1 -1
- package/lib/Motion/ScalePullDown/index.web.js +1 -1
- package/lib/PageContainer/PageContainer.android.js +1 -1
- package/lib/PageContainer/PageContainer.d.ts +2 -4
- package/lib/PageContainer/PageContainer.ios.js +1 -1
- package/lib/PageContainer/PageContainer.js +1 -1
- package/lib/PageContainer/PageContainer.web.js +85 -5
- package/lib/PageContainer/index.md +19 -19
- package/lib/PageContainer/props.d.ts +12 -7
- package/lib/Picker/Picker.js +67 -4
- package/lib/Picker/Picker.web.js +67 -4
- package/lib/Picker/index.md +9 -9
- package/lib/Picker/props.d.ts +2 -0
- package/lib/PickerView/PickerView.js +69 -4
- package/lib/PickerView/PickerView.web.js +69 -4
- package/lib/PickerView/index.md +8 -7
- package/lib/PickerView/props.d.ts +3 -0
- package/lib/PickerViewColumn/PickerViewColumn.android.js +1 -0
- package/lib/PickerViewColumn/PickerViewColumn.d.ts +4 -0
- package/lib/PickerViewColumn/PickerViewColumn.ios.js +1 -0
- package/lib/PickerViewColumn/PickerViewColumn.js +14 -0
- package/lib/PickerViewColumn/PickerViewColumn.native.d.ts +31 -0
- package/lib/PickerViewColumn/PickerViewColumn.tuya.d.ts +4 -0
- package/lib/PickerViewColumn/PickerViewColumn.tuya.js +71 -0
- package/lib/PickerViewColumn/PickerViewColumn.web.js +14 -0
- package/lib/PickerViewColumn/PickerViewColumn.wechat.d.ts +4 -0
- package/lib/PickerViewColumn/PickerViewColumn.wechat.js +72 -0
- package/lib/PickerViewColumn/index.android.js +1 -0
- package/lib/PickerViewColumn/index.d.ts +3 -0
- package/lib/PickerViewColumn/index.ios.js +1 -0
- package/lib/PickerViewColumn/index.js +3 -0
- package/lib/PickerViewColumn/index.md +21 -0
- package/lib/PickerViewColumn/index.module.less +8 -0
- package/lib/PickerViewColumn/index.tuya.js +3 -0
- package/lib/PickerViewColumn/index.web.js +3 -0
- package/lib/PickerViewColumn/index.wechat.js +3 -0
- package/lib/PickerViewColumn/props.android.js +1 -0
- package/lib/PickerViewColumn/props.d.ts +16 -0
- package/lib/PickerViewColumn/props.ios.js +1 -0
- package/lib/PickerViewColumn/props.js +1 -0
- package/lib/PickerViewColumn/props.tuya.js +1 -0
- package/lib/PickerViewColumn/props.web.js +1 -0
- package/lib/PickerViewColumn/props.wechat.js +1 -0
- package/lib/Radio/Radio.js +3 -6
- package/lib/Radio/Radio.web.js +3 -6
- package/lib/Radio/index.md +5 -5
- package/lib/RadioGroup/RadioGroup.js +50 -2
- package/lib/RadioGroup/RadioGroup.web.js +50 -2
- package/lib/RadioGroup/index.md +7 -5
- package/lib/RadioGroup/props.d.ts +3 -1
- package/lib/RichText/RichText.android.js +1 -0
- package/lib/RichText/RichText.d.ts +3 -0
- package/lib/RichText/RichText.ios.js +1 -0
- package/lib/RichText/RichText.js +9 -0
- package/lib/RichText/RichText.tuya.js +9 -0
- package/lib/RichText/RichText.web.d.ts +4 -0
- package/lib/RichText/RichText.web.js +7 -0
- package/lib/RichText/RichText.wechat.js +9 -0
- package/lib/RichText/index.android.js +1 -0
- package/lib/RichText/index.d.ts +3 -0
- package/lib/RichText/index.ios.js +1 -0
- package/lib/RichText/index.js +3 -0
- package/lib/RichText/index.md +117 -0
- package/lib/RichText/index.tuya.js +3 -0
- package/lib/RichText/index.web.js +3 -0
- package/lib/RichText/index.wechat.js +3 -0
- package/lib/RichText/props.android.js +0 -0
- package/lib/RichText/props.d.ts +29 -0
- package/lib/RichText/props.ios.js +0 -0
- package/lib/RichText/props.js +1 -0
- package/lib/RichText/props.tuya.js +1 -0
- package/lib/RichText/props.web.js +1 -0
- package/lib/RichText/props.wechat.js +1 -0
- package/lib/ScrollView/ScrollView.d.ts +1 -1
- package/lib/ScrollView/ScrollView.js +40 -155
- package/lib/ScrollView/ScrollView.web.js +40 -155
- package/lib/ScrollView/index.md +11 -11
- package/lib/Slider/Slider.js +31 -12
- package/lib/Slider/Slider.web.js +31 -12
- package/lib/Slider/index.md +17 -17
- package/lib/Swiper/Swiper.js +61 -2
- package/lib/Swiper/Swiper.tuya.js +1 -0
- package/lib/Swiper/Swiper.web.js +61 -2
- package/lib/Swiper/Swiper.wechat.js +1 -0
- package/lib/Swiper/index.md +14 -14
- package/lib/Switch/Switch.js +20 -6
- package/lib/Switch/Switch.web.js +20 -6
- package/lib/Switch/index.md +6 -6
- package/lib/Text/Text.js +6 -34
- package/lib/Text/Text.web.js +6 -34
- package/lib/Text/index.md +6 -6
- package/lib/TimePicker/TimePicker.js +35 -4
- package/lib/TimePicker/TimePicker.web.js +35 -4
- package/lib/TimePicker/index.md +9 -9
- package/lib/TimePicker/props.d.ts +2 -0
- package/lib/View/View.js +6 -5
- package/lib/View/View.web.js +6 -5
- package/lib/View/index.md +10 -10
- package/lib/index.android.js +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.ios.js +1 -1
- package/lib/index.js +3 -0
- package/lib/index.tuya.js +3 -0
- package/lib/index.web.js +3 -0
- package/lib/index.wechat.js +3 -0
- package/lib/utils/handleProps.android.js +1 -0
- package/lib/utils/handleProps.d.ts +5 -0
- package/lib/utils/handleProps.ios.js +1 -0
- package/lib/utils/handleProps.js +50 -0
- package/lib/utils/handleProps.tuya.js +50 -0
- package/lib/utils/handleProps.web.js +50 -0
- package/lib/utils/handleProps.wechat.js +50 -0
- package/package.json +7 -5
@@ -1 +1 @@
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react=_interopRequireWildcard(require("react"));var _ahooks=require("ahooks");var _props=require("./props");var _handleProps=_interopRequireDefault(require("../utils/handleProps"));var _this=this,_jsxFileName="/drone/src/packages/components/src/PageContainer/PageContainer.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var PageContainer=function(props){var children=props.children;var currentNode=(0,_react.useRef)(null);(0,_ahooks.useEventListener)('clickoverlay',function(e){var _props$onClickOverlay;(_props$onClickOverlay=props.onClickOverlay)===null||_props$onClickOverlay===void 0?void 0:_props$onClickOverlay.call(props,{type:'clickoverlay',origin:e});},{target:currentNode});(0,_ahooks.useEventListener)('beforeenter',function(e){var _props$onBeforeEnter;(_props$onBeforeEnter=props.onBeforeEnter)===null||_props$onBeforeEnter===void 0?void 0:_props$onBeforeEnter.call(props,{type:'beforeenter',origin:e});},{target:currentNode});(0,_ahooks.useEventListener)('enter',function(e){var _props$onEnter;(_props$onEnter=props.onEnter)===null||_props$onEnter===void 0?void 0:_props$onEnter.call(props,{type:'enter',origin:e});},{target:currentNode});(0,_ahooks.useEventListener)('afterenter',function(e){var _props$onAfterEnter;(_props$onAfterEnter=props.onAfterEnter)===null||_props$onAfterEnter===void 0?void 0:_props$onAfterEnter.call(props,{type:'afterenter',origin:e});},{target:currentNode});(0,_ahooks.useEventListener)('beforeleave',function(e){var _props$onBeforeLeave;(_props$onBeforeLeave=props.onBeforeLeave)===null||_props$onBeforeLeave===void 0?void 0:_props$onBeforeLeave.call(props,{type:'beforeleave',origin:e});},{target:currentNode});(0,_ahooks.useEventListener)('leave',function(e){var _props$onLeave;(_props$onLeave=props.onLeave)===null||_props$onLeave===void 0?void 0:_props$onLeave.call(props,{type:'leave',origin:e});},{target:currentNode});(0,_ahooks.useEventListener)('afterleave',function(e){var _props$onAfterLeave;(_props$onAfterLeave=props.onAfterLeave)===null||_props$onAfterLeave===void 0?void 0:_props$onAfterLeave.call(props,{type:'afterleave',origin:e});},{target:currentNode});return _react.default.createElement("ty-page-container",(0,_extends2.default)({},(0,_handleProps.default)(props),{ref:currentNode,__self:_this,__source:{fileName:_jsxFileName,lineNumber:69,columnNumber:5}}),children);};PageContainer.defaultProps=_props.defaultPageContainerProps;var _default=PageContainer;exports.default=_default;
|
@@ -1,10 +1,90 @@
|
|
1
|
-
|
2
|
-
import
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
+
import React, { useRef } from 'react';
|
3
|
+
import { useEventListener } from 'ahooks';
|
3
4
|
import { defaultPageContainerProps } from './props';
|
5
|
+
import handleProps from '../utils/handleProps';
|
4
6
|
|
5
|
-
function
|
6
|
-
|
7
|
-
|
7
|
+
var PageContainer = function (props) {
|
8
|
+
var children = props.children;
|
9
|
+
var currentNode = useRef(null);
|
10
|
+
useEventListener('clickoverlay', function (e) {
|
11
|
+
var _props$onClickOverlay;
|
12
|
+
|
13
|
+
(_props$onClickOverlay = props.onClickOverlay) === null || _props$onClickOverlay === void 0 ? void 0 : _props$onClickOverlay.call(props, {
|
14
|
+
type: 'clickoverlay',
|
15
|
+
origin: e
|
16
|
+
});
|
17
|
+
}, {
|
18
|
+
target: currentNode
|
19
|
+
});
|
20
|
+
useEventListener('beforeenter', function (e) {
|
21
|
+
var _props$onBeforeEnter;
|
22
|
+
|
23
|
+
(_props$onBeforeEnter = props.onBeforeEnter) === null || _props$onBeforeEnter === void 0 ? void 0 : _props$onBeforeEnter.call(props, {
|
24
|
+
type: 'beforeenter',
|
25
|
+
origin: e
|
26
|
+
});
|
27
|
+
}, {
|
28
|
+
target: currentNode
|
29
|
+
});
|
30
|
+
useEventListener('enter', function (e) {
|
31
|
+
var _props$onEnter;
|
32
|
+
|
33
|
+
(_props$onEnter = props.onEnter) === null || _props$onEnter === void 0 ? void 0 : _props$onEnter.call(props, {
|
34
|
+
type: 'enter',
|
35
|
+
origin: e
|
36
|
+
});
|
37
|
+
}, {
|
38
|
+
target: currentNode
|
39
|
+
});
|
40
|
+
useEventListener('afterenter', function (e) {
|
41
|
+
var _props$onAfterEnter;
|
42
|
+
|
43
|
+
(_props$onAfterEnter = props.onAfterEnter) === null || _props$onAfterEnter === void 0 ? void 0 : _props$onAfterEnter.call(props, {
|
44
|
+
type: 'afterenter',
|
45
|
+
origin: e
|
46
|
+
});
|
47
|
+
}, {
|
48
|
+
target: currentNode
|
49
|
+
});
|
50
|
+
useEventListener('beforeleave', function (e) {
|
51
|
+
var _props$onBeforeLeave;
|
52
|
+
|
53
|
+
(_props$onBeforeLeave = props.onBeforeLeave) === null || _props$onBeforeLeave === void 0 ? void 0 : _props$onBeforeLeave.call(props, {
|
54
|
+
type: 'beforeleave',
|
55
|
+
origin: e
|
56
|
+
});
|
57
|
+
}, {
|
58
|
+
target: currentNode
|
59
|
+
});
|
60
|
+
useEventListener('leave', function (e) {
|
61
|
+
var _props$onLeave;
|
62
|
+
|
63
|
+
(_props$onLeave = props.onLeave) === null || _props$onLeave === void 0 ? void 0 : _props$onLeave.call(props, {
|
64
|
+
type: 'leave',
|
65
|
+
origin: e
|
66
|
+
});
|
67
|
+
}, {
|
68
|
+
target: currentNode
|
69
|
+
});
|
70
|
+
useEventListener('afterleave', function (e) {
|
71
|
+
var _props$onAfterLeave;
|
72
|
+
|
73
|
+
(_props$onAfterLeave = props.onAfterLeave) === null || _props$onAfterLeave === void 0 ? void 0 : _props$onAfterLeave.call(props, {
|
74
|
+
type: 'afterleave',
|
75
|
+
origin: e
|
76
|
+
});
|
77
|
+
}, {
|
78
|
+
target: currentNode
|
79
|
+
});
|
80
|
+
return (
|
81
|
+
/*#__PURE__*/
|
82
|
+
// @ts-ignore
|
83
|
+
React.createElement("ty-page-container", _extends({}, handleProps(props), {
|
84
|
+
ref: currentNode
|
85
|
+
}), children)
|
86
|
+
);
|
87
|
+
};
|
8
88
|
|
9
89
|
PageContainer.defaultProps = defaultPageContainerProps;
|
10
90
|
export default PageContainer;
|
@@ -13,7 +13,7 @@ group:
|
|
13
13
|
## 导入
|
14
14
|
|
15
15
|
```js
|
16
|
-
import { PageContainer } from '@ray-js/components'
|
16
|
+
import { PageContainer } from '@ray-js/components'
|
17
17
|
```
|
18
18
|
|
19
19
|
## 代码演示
|
@@ -22,21 +22,21 @@ import { PageContainer } from '@ray-js/components';
|
|
22
22
|
|
23
23
|
## Props
|
24
24
|
|
25
|
-
| 属性
|
26
|
-
|
|
27
|
-
| className
|
28
|
-
| show
|
29
|
-
| duration
|
30
|
-
| zIndex
|
31
|
-
| overlay
|
32
|
-
| position
|
33
|
-
| round
|
34
|
-
| overlayStyle
|
35
|
-
| customStyle
|
36
|
-
| onBeforeEnter
|
37
|
-
| onEnter
|
38
|
-
| onAfterEnter
|
39
|
-
| onBeforeLeave
|
40
|
-
| onLeave
|
41
|
-
| onAfterLeave
|
42
|
-
| onClickOverlay | eventhandle |
|
25
|
+
| 属性 | 类型 | 默认值 | 说明 | 支持平台 |
|
26
|
+
| --- | --- | --- | --- | --- |
|
27
|
+
| className | string | | 样式名 | 涂鸦、微信、Web |
|
28
|
+
| show | boolean | false | 是否显示容器组件 | 涂鸦、微信、Web |
|
29
|
+
| duration | number | 300 | 动画时长,单位毫秒 | 涂鸦、微信、Web |
|
30
|
+
| zIndex | number | 100 | z-index 层级 | 涂鸦、微信、Web |
|
31
|
+
| overlay | boolean | true | 是否显示遮罩层 | 涂鸦、微信、Web |
|
32
|
+
| position | string | bottom | 弹出位置,可选值为 top bottom right center | 涂鸦、微信、Web |
|
33
|
+
| round | boolean | false | 是否显示圆角 | 涂鸦、微信、Web |
|
34
|
+
| overlayStyle | string | | 自定义遮罩层样式 | 涂鸦、微信、Web |
|
35
|
+
| customStyle | string | | 自定义弹出层样式 | 涂鸦、微信、Web |
|
36
|
+
| onBeforeEnter | eventhandle | | 进入前触发 | 涂鸦、微信、Web |
|
37
|
+
| onEnter | eventhandle | | 进入中触发 | 涂鸦、微信、Web |
|
38
|
+
| onAfterEnter | eventhandle | | 进入后触发 | 涂鸦、微信、Web |
|
39
|
+
| onBeforeLeave | eventhandle | | 离开前触发 | 涂鸦、微信、Web |
|
40
|
+
| onLeave | eventhandle | | 离开中触发 | 涂鸦、微信、Web |
|
41
|
+
| onAfterLeave | eventhandle | | 离开后触发 | 涂鸦、微信、Web |
|
42
|
+
| onClickOverlay | eventhandle | | 点击遮罩层时触发 | 涂鸦、微信、Web |
|
@@ -1,6 +1,11 @@
|
|
1
1
|
import { BaseProps } from '../types';
|
2
2
|
import * as React from 'react';
|
3
3
|
import { BaseEvent } from '@ray-js/remax-tuya/src/types/component';
|
4
|
+
export declare type PageContainerEventType = {
|
5
|
+
type: string;
|
6
|
+
value?: any;
|
7
|
+
origin: BaseEvent;
|
8
|
+
};
|
4
9
|
export declare type PageContainerProps = BaseProps & {
|
5
10
|
/** 文本是否可选 */
|
6
11
|
show?: boolean;
|
@@ -11,13 +16,13 @@ export declare type PageContainerProps = BaseProps & {
|
|
11
16
|
round?: boolean;
|
12
17
|
overlayStyle?: string;
|
13
18
|
customStyle?: string;
|
14
|
-
onBeforeEnter?: (event:
|
15
|
-
onEnter?: (event:
|
16
|
-
onAfterEnter?: (event:
|
17
|
-
onBeforeLeave?: (event:
|
18
|
-
onLeave?: (event:
|
19
|
-
onAfterLeave?: (event:
|
20
|
-
onClickOverlay?: (event:
|
19
|
+
onBeforeEnter?: (event: PageContainerEventType) => void;
|
20
|
+
onEnter?: (event: PageContainerEventType) => void;
|
21
|
+
onAfterEnter?: (event: PageContainerEventType) => void;
|
22
|
+
onBeforeLeave?: (event: PageContainerEventType) => void;
|
23
|
+
onLeave?: (event: PageContainerEventType) => void;
|
24
|
+
onAfterLeave?: (event: PageContainerEventType) => void;
|
25
|
+
onClickOverlay?: (event: PageContainerEventType) => void;
|
21
26
|
children?: React.ReactNode | string;
|
22
27
|
};
|
23
28
|
export declare const defaultPageContainerProps: Partial<PageContainerProps>;
|
package/lib/Picker/Picker.js
CHANGED
@@ -1,10 +1,73 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
1
3
|
import * as React from 'react';
|
4
|
+
import { useTouch } from '@ray-js/framework-shared';
|
5
|
+
import { useEventListener } from 'ahooks';
|
6
|
+
import handleProps from '../utils/handleProps';
|
7
|
+
var countArr = 1;
|
2
8
|
|
3
9
|
var Picker = function (props) {
|
4
|
-
var
|
5
|
-
|
6
|
-
|
7
|
-
|
10
|
+
var onLongClick = props.onLongClick,
|
11
|
+
onTouchStart = props.onTouchStart,
|
12
|
+
onTouchMove = props.onTouchMove,
|
13
|
+
onTouchEnd = props.onTouchEnd,
|
14
|
+
onTouchCancel = props.onTouchCancel,
|
15
|
+
onClick = props.onClick,
|
16
|
+
children = props.children;
|
17
|
+
var currentNode = React.useRef(null);
|
18
|
+
useEventListener('change', function (e) {
|
19
|
+
var _props$onChange;
|
20
|
+
|
21
|
+
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
|
22
|
+
type: 'change',
|
23
|
+
value: e.detail.value,
|
24
|
+
origin: e
|
25
|
+
});
|
26
|
+
}, {
|
27
|
+
target: currentNode
|
28
|
+
});
|
29
|
+
useEventListener('cancel', function (e) {
|
30
|
+
var _props$onCancel;
|
31
|
+
|
32
|
+
(_props$onCancel = props.onCancel) === null || _props$onCancel === void 0 ? void 0 : _props$onCancel.call(props, {
|
33
|
+
type: 'cancel',
|
34
|
+
origin: e
|
35
|
+
});
|
36
|
+
}, {
|
37
|
+
target: currentNode
|
38
|
+
});
|
39
|
+
|
40
|
+
var _useTouch = useTouch({
|
41
|
+
onLongClick: onLongClick,
|
42
|
+
onTouchStart: onTouchStart,
|
43
|
+
onTouchMove: onTouchMove,
|
44
|
+
onTouchEnd: onTouchEnd,
|
45
|
+
onTouchCancel: onTouchCancel,
|
46
|
+
onClick: onClick
|
47
|
+
}),
|
48
|
+
_useTouch2 = _slicedToArray(_useTouch, 2),
|
49
|
+
handlers = _useTouch2[1];
|
50
|
+
|
51
|
+
var multiarr = function (arr) {
|
52
|
+
for (var i = 0; i < arr.length; i++) {
|
53
|
+
if (arr[i] instanceof Array) {
|
54
|
+
countArr++;
|
55
|
+
arr = arr[i];
|
56
|
+
multiarr(arr);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
return countArr;
|
61
|
+
};
|
62
|
+
|
63
|
+
return (
|
64
|
+
/*#__PURE__*/
|
65
|
+
// @ts-ignore
|
66
|
+
React.createElement("ty-picker", _extends({}, handleProps(props), handlers, {
|
67
|
+
ref: currentNode,
|
68
|
+
mode: multiarr(props.range) > 1 ? 'multiSelector' : 'selector'
|
69
|
+
}), children)
|
70
|
+
);
|
8
71
|
};
|
9
72
|
|
10
73
|
Picker.displayName = 'Picker';
|
package/lib/Picker/Picker.web.js
CHANGED
@@ -1,10 +1,73 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
1
3
|
import * as React from 'react';
|
4
|
+
import { useTouch } from '@ray-js/framework-shared';
|
5
|
+
import { useEventListener } from 'ahooks';
|
6
|
+
import handleProps from '../utils/handleProps';
|
7
|
+
var countArr = 1;
|
2
8
|
|
3
9
|
var Picker = function (props) {
|
4
|
-
var
|
5
|
-
|
6
|
-
|
7
|
-
|
10
|
+
var onLongClick = props.onLongClick,
|
11
|
+
onTouchStart = props.onTouchStart,
|
12
|
+
onTouchMove = props.onTouchMove,
|
13
|
+
onTouchEnd = props.onTouchEnd,
|
14
|
+
onTouchCancel = props.onTouchCancel,
|
15
|
+
onClick = props.onClick,
|
16
|
+
children = props.children;
|
17
|
+
var currentNode = React.useRef(null);
|
18
|
+
useEventListener('change', function (e) {
|
19
|
+
var _props$onChange;
|
20
|
+
|
21
|
+
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
|
22
|
+
type: 'change',
|
23
|
+
value: e.detail.value,
|
24
|
+
origin: e
|
25
|
+
});
|
26
|
+
}, {
|
27
|
+
target: currentNode
|
28
|
+
});
|
29
|
+
useEventListener('cancel', function (e) {
|
30
|
+
var _props$onCancel;
|
31
|
+
|
32
|
+
(_props$onCancel = props.onCancel) === null || _props$onCancel === void 0 ? void 0 : _props$onCancel.call(props, {
|
33
|
+
type: 'cancel',
|
34
|
+
origin: e
|
35
|
+
});
|
36
|
+
}, {
|
37
|
+
target: currentNode
|
38
|
+
});
|
39
|
+
|
40
|
+
var _useTouch = useTouch({
|
41
|
+
onLongClick: onLongClick,
|
42
|
+
onTouchStart: onTouchStart,
|
43
|
+
onTouchMove: onTouchMove,
|
44
|
+
onTouchEnd: onTouchEnd,
|
45
|
+
onTouchCancel: onTouchCancel,
|
46
|
+
onClick: onClick
|
47
|
+
}),
|
48
|
+
_useTouch2 = _slicedToArray(_useTouch, 2),
|
49
|
+
handlers = _useTouch2[1];
|
50
|
+
|
51
|
+
var multiarr = function (arr) {
|
52
|
+
for (var i = 0; i < arr.length; i++) {
|
53
|
+
if (arr[i] instanceof Array) {
|
54
|
+
countArr++;
|
55
|
+
arr = arr[i];
|
56
|
+
multiarr(arr);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
return countArr;
|
61
|
+
};
|
62
|
+
|
63
|
+
return (
|
64
|
+
/*#__PURE__*/
|
65
|
+
// @ts-ignore
|
66
|
+
React.createElement("ty-picker", _extends({}, handleProps(props), handlers, {
|
67
|
+
ref: currentNode,
|
68
|
+
mode: multiarr(props.range) > 1 ? 'multiSelector' : 'selector'
|
69
|
+
}), children)
|
70
|
+
);
|
8
71
|
};
|
9
72
|
|
10
73
|
Picker.displayName = 'Picker';
|
package/lib/Picker/index.md
CHANGED
@@ -13,7 +13,7 @@ group:
|
|
13
13
|
## 导入
|
14
14
|
|
15
15
|
```js
|
16
|
-
import { Picker } from '@ray-js/components'
|
16
|
+
import { Picker } from '@ray-js/components'
|
17
17
|
```
|
18
18
|
|
19
19
|
## 示例代码
|
@@ -25,11 +25,11 @@ import { Picker } from '@ray-js/components';
|
|
25
25
|
|
26
26
|
| 属性 | 类型 | 默认值 | 必填 | 说明 | 支持平台 |
|
27
27
|
| --- | --- | --- | --- | --- | --- |
|
28
|
-
| disabled | boolean | false | 否 | 是否禁用 | RN
|
29
|
-
| range | string[] or string[][] | | 是 | 选择项数据源 | RN
|
30
|
-
| value | number or number[] | 0 | 否 | 表示选择了 range 中的第几个(下标从 0 开始) | RN
|
31
|
-
| cancelText | string | 取消 | 否 | 取消文案 | RN
|
32
|
-
| confirmText | string | 确认 | 否 | 确认文案 | RN
|
33
|
-
| onChange | func(type: 'change'; value:number or number[];), origin: any;}) | | 否 | 点击触发 | RN
|
34
|
-
| onCancel | func({ type: 'cancel' }) | | 否 | 取消选择时触发 | RN
|
35
|
-
| onColumnChange | func({type: 'columnchange'; value: number; column: number;}) | | 否 | 列改变时触发 | RN
|
28
|
+
| disabled | boolean | false | 否 | 是否禁用 | RN、涂鸦、微信、Web |
|
29
|
+
| range | string[] or string[][] | | 是 | 选择项数据源 | RN、涂鸦、微信、Web |
|
30
|
+
| value | number or number[] | 0 | 否 | 表示选择了 range 中的第几个(下标从 0 开始) | RN、涂鸦、微信、Web |
|
31
|
+
| cancelText | string | 取消 | 否 | 取消文案 | RN、涂鸦、微信、Web |
|
32
|
+
| confirmText | string | 确认 | 否 | 确认文案 | RN、涂鸦、微信、Web |
|
33
|
+
| onChange | func(type: 'change'; value:number or number[];), origin: any;}) | | 否 | 点击触发 | RN、涂鸦、微信、Web |
|
34
|
+
| onCancel | func({ type: 'cancel' }) | | 否 | 取消选择时触发 | RN、涂鸦、微信、Web |
|
35
|
+
| onColumnChange | func({type: 'columnchange'; value: number; column: number;}) | | 否 | 列改变时触发 | RN、涂鸦、微信、Web |
|
package/lib/Picker/props.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="react" />
|
1
2
|
import { BaseProps } from '../types';
|
2
3
|
import { TouchEventHandler } from '@ray-js/framework-shared';
|
3
4
|
declare type ChangeEvent = (e: {
|
@@ -24,6 +25,7 @@ export interface PickerProps extends BaseProps, TouchEventHandler {
|
|
24
25
|
onColumnChange?: ColumnChangeEvent;
|
25
26
|
confirmText?: string;
|
26
27
|
cancelText?: string;
|
28
|
+
children?: React.ReactNode | string;
|
27
29
|
}
|
28
30
|
export declare const IDefaultPickerProps: {
|
29
31
|
cancelText: string;
|
@@ -1,10 +1,75 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
+
import "core-js/modules/es.array.map.js";
|
1
3
|
import * as React from 'react';
|
4
|
+
import clsx from 'clsx';
|
5
|
+
import { useEventListener } from 'ahooks';
|
6
|
+
import PickerViewColumn from '../PickerViewColumn';
|
7
|
+
import handleProps from '../utils/handleProps';
|
8
|
+
import styles from './index.module.less';
|
2
9
|
|
3
10
|
var PickerView = function (props) {
|
4
|
-
var
|
5
|
-
|
6
|
-
|
7
|
-
|
11
|
+
var className = props.className,
|
12
|
+
range = props.range,
|
13
|
+
children = props.children;
|
14
|
+
var currentNode = React.useRef(null);
|
15
|
+
useEventListener('change', function (e) {
|
16
|
+
var _props$onChange;
|
17
|
+
|
18
|
+
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
|
19
|
+
type: 'change',
|
20
|
+
value: e.detail.value,
|
21
|
+
origin: e
|
22
|
+
});
|
23
|
+
}, {
|
24
|
+
target: currentNode
|
25
|
+
});
|
26
|
+
|
27
|
+
var countArray = function (array) {
|
28
|
+
var countArr = 1;
|
29
|
+
|
30
|
+
var multiarr = function (arr) {
|
31
|
+
for (var i = 0; i < arr.length; i++) {
|
32
|
+
if (arr[i] instanceof Array) {
|
33
|
+
countArr++;
|
34
|
+
arr = arr[i];
|
35
|
+
multiarr(arr);
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
return countArr;
|
40
|
+
};
|
41
|
+
|
42
|
+
return multiarr(array);
|
43
|
+
};
|
44
|
+
|
45
|
+
return (
|
46
|
+
/*#__PURE__*/
|
47
|
+
// @ts-ignore
|
48
|
+
React.createElement("ty-picker-view", _extends({}, handleProps(props), {
|
49
|
+
ref: currentNode,
|
50
|
+
class: clsx(styles.pickerViewWrp, className)
|
51
|
+
}), children || function renderPickerColumn() {
|
52
|
+
if (countArray(props.range) > 1) {
|
53
|
+
return props.range.map(function (item, index) {
|
54
|
+
return /*#__PURE__*/React.createElement(PickerViewColumn, {
|
55
|
+
key: index
|
56
|
+
}, item.map(function (i, id) {
|
57
|
+
return /*#__PURE__*/React.createElement("div", {
|
58
|
+
key: id,
|
59
|
+
className: styles.pcWrp
|
60
|
+
}, i);
|
61
|
+
}));
|
62
|
+
});
|
63
|
+
} else {
|
64
|
+
return /*#__PURE__*/React.createElement(PickerViewColumn, null, range.map(function (item, index) {
|
65
|
+
return /*#__PURE__*/React.createElement("div", {
|
66
|
+
key: index,
|
67
|
+
className: styles.pcWrp
|
68
|
+
}, item);
|
69
|
+
}));
|
70
|
+
}
|
71
|
+
}())
|
72
|
+
);
|
8
73
|
};
|
9
74
|
|
10
75
|
PickerView.displayName = 'PickerView';
|
@@ -1,10 +1,75 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
+
import "core-js/modules/es.array.map.js";
|
1
3
|
import * as React from 'react';
|
4
|
+
import clsx from 'clsx';
|
5
|
+
import { useEventListener } from 'ahooks';
|
6
|
+
import PickerViewColumn from '../PickerViewColumn';
|
7
|
+
import handleProps from '../utils/handleProps';
|
8
|
+
import styles from './index.module.less';
|
2
9
|
|
3
10
|
var PickerView = function (props) {
|
4
|
-
var
|
5
|
-
|
6
|
-
|
7
|
-
|
11
|
+
var className = props.className,
|
12
|
+
range = props.range,
|
13
|
+
children = props.children;
|
14
|
+
var currentNode = React.useRef(null);
|
15
|
+
useEventListener('change', function (e) {
|
16
|
+
var _props$onChange;
|
17
|
+
|
18
|
+
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
|
19
|
+
type: 'change',
|
20
|
+
value: e.detail.value,
|
21
|
+
origin: e
|
22
|
+
});
|
23
|
+
}, {
|
24
|
+
target: currentNode
|
25
|
+
});
|
26
|
+
|
27
|
+
var countArray = function (array) {
|
28
|
+
var countArr = 1;
|
29
|
+
|
30
|
+
var multiarr = function (arr) {
|
31
|
+
for (var i = 0; i < arr.length; i++) {
|
32
|
+
if (arr[i] instanceof Array) {
|
33
|
+
countArr++;
|
34
|
+
arr = arr[i];
|
35
|
+
multiarr(arr);
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
return countArr;
|
40
|
+
};
|
41
|
+
|
42
|
+
return multiarr(array);
|
43
|
+
};
|
44
|
+
|
45
|
+
return (
|
46
|
+
/*#__PURE__*/
|
47
|
+
// @ts-ignore
|
48
|
+
React.createElement("ty-picker-view", _extends({}, handleProps(props), {
|
49
|
+
ref: currentNode,
|
50
|
+
class: clsx(styles.pickerViewWrp, className)
|
51
|
+
}), children || function renderPickerColumn() {
|
52
|
+
if (countArray(props.range) > 1) {
|
53
|
+
return props.range.map(function (item, index) {
|
54
|
+
return /*#__PURE__*/React.createElement(PickerViewColumn, {
|
55
|
+
key: index
|
56
|
+
}, item.map(function (i, id) {
|
57
|
+
return /*#__PURE__*/React.createElement("div", {
|
58
|
+
key: id,
|
59
|
+
className: styles.pcWrp
|
60
|
+
}, i);
|
61
|
+
}));
|
62
|
+
});
|
63
|
+
} else {
|
64
|
+
return /*#__PURE__*/React.createElement(PickerViewColumn, null, range.map(function (item, index) {
|
65
|
+
return /*#__PURE__*/React.createElement("div", {
|
66
|
+
key: index,
|
67
|
+
className: styles.pcWrp
|
68
|
+
}, item);
|
69
|
+
}));
|
70
|
+
}
|
71
|
+
}())
|
72
|
+
);
|
8
73
|
};
|
9
74
|
|
10
75
|
PickerView.displayName = 'PickerView';
|
package/lib/PickerView/index.md
CHANGED
@@ -13,20 +13,21 @@ group:
|
|
13
13
|
## 导入
|
14
14
|
|
15
15
|
```js
|
16
|
-
import { PickerView } from '@ray-js/components'
|
16
|
+
import { PickerView } from '@ray-js/components'
|
17
17
|
```
|
18
18
|
|
19
19
|
## 示例代码
|
20
20
|
|
21
|
-
<code src="./demos/basic.tsx" title="单选" background="#f2f4f6" />
|
21
|
+
<code src="./demos/basic.tsx" title="单选 - 选项" background="#f2f4f6" />
|
22
|
+
<code src="./demos/basicChildren.tsx" title="单选 - 子节点(仅支持web端)" background="#f2f4f6" />
|
22
23
|
<code src="./demos/multi.tsx" title="多选" background="#f2f4f6" />
|
23
24
|
|
24
25
|
## Props
|
25
26
|
|
26
27
|
| 属性 | 类型 | 默认值 | 必填 | 说明 | 支持平台 |
|
27
28
|
| --- | --- | --- | --- | --- | --- |
|
28
|
-
| className | React.CSSProperties | | 否 | 选择器样式 | RN
|
29
|
-
| range | string[] or string[][] | | 是 | 选择项数据源 | RN
|
30
|
-
| value | number or number[] | 0 | 否 | 表示选择了 range 中的第几个(下标从 0 开始) | RN
|
31
|
-
| fontSize | number | | 否 | 选择器字体大小 | RN
|
32
|
-
| onChange | func(event: {type: 'change', value: (number or number[]) }) | | 否 | 选择时触发 | RN
|
29
|
+
| className | React.CSSProperties | | 否 | 选择器样式 | RN、涂鸦、微信、Web |
|
30
|
+
| range | string[] or string[][] | | 是 | 选择项数据源(Web 端非必填) | RN、涂鸦、微信、Web |
|
31
|
+
| value | number or number[] | 0 | 否 | 表示选择了 range 中的第几个(下标从 0 开始) | RN、涂鸦、微信、Web |
|
32
|
+
| fontSize | number | | 否 | 选择器字体大小 | RN、涂鸦、微信、Web |
|
33
|
+
| onChange | func(event: {type: 'change', value: (number or number[]) }) | | 否 | 选择时触发 | RN、涂鸦、微信、Web |
|
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="react" />
|
1
2
|
import { BaseProps } from '../types';
|
2
3
|
export interface PickerViewProps extends BaseProps {
|
3
4
|
value?: number | number[];
|
@@ -6,5 +7,7 @@ export interface PickerViewProps extends BaseProps {
|
|
6
7
|
onChange?: (e: {
|
7
8
|
type: 'change';
|
8
9
|
value: number | number[];
|
10
|
+
origin?: any;
|
9
11
|
}) => void;
|
12
|
+
children?: React.ReactNode;
|
10
13
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _assertThisInitialized2=_interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _rayPanelUtils=require("@ray-js/ray-panel-utils");var _utils=require("../utils");var _jsxFileName="/drone/src/packages/components/src/PickerViewColumn/PickerViewColumn.native.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function(){var Super=(0,_getPrototypeOf2.default)(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2.default)(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2.default)(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var width=_rayPanelUtils.RatioUtils.width;var TYRCTPicker=(0,_reactNative.requireNativeComponent)('TYRCTPicker');var WheelPickerView=(0,_reactNative.requireNativeComponent)('TYRCTWheelViewManager');var _Picker=function(_React$Component){(0,_inherits2.default)(_Picker,_React$Component);var _super=_createSuper(_Picker);function _Picker(props){var _this;(0,_classCallCheck2.default)(this,_Picker);_this=_super.call(this,props);_this.getItem=function(){var range=_this.props.range;var isOnly=!(0,_utils.isTwoArray)(range);if(isOnly){return range.map(function(item){return{label:item,value:item};});}return range.map(function(item){return item.map(function(data){return{label:data,value:data};});});};_this.onItemSelected=function(event,isOnly,index){var newIndex=event.nativeEvent.newIndex;var onChange=_this.props.onChange;if(isOnly){_this.setState({selectIdx:newIndex});typeof onChange==='function'&&onChange({type:'change',value:newIndex});}else{var selectIdx=_this.state.selectIdx;var newSelectArr=selectIdx.concat([]);newSelectArr[index]=newIndex;typeof onChange==='function'&&onChange({type:'change',value:newSelectArr,column:index});_this.setState({selectIdx:newSelectArr});}};_this.renderPickerItem=function(item,selectIdx,isOnly,index){var _this$props=_this.props,style=_this$props.style,fontSize=_this$props.fontSize;var items=_this.getItem();var theme={dividerColor:'rgba(0, 0, 0, 0.05)',fontColor:'rgba(0,0,0,0.9)',fontSize:fontSize||isOnly?24:items.length<3?24:20};var length=isOnly?1:items.length;return _reactNative.Platform.OS==='android'?React.createElement(WheelPickerView,{key:index,style:[{width:width/length,height:216},style],items:item,itemTextColor:theme.fontColor,selectedItemTextColor:theme.fontColor,dividerColor:theme.dividerColor,visibleItemCount:5,itemAlign:'center',selectedIndex:selectIdx,textSize:theme.fontSize,loop:false,onChange:function onChange(e){return _this.onItemSelected(e,isOnly,index);},__self:(0,_assertThisInitialized2.default)(_this),__source:{fileName:_jsxFileName,lineNumber:111,columnNumber:40}}):React.createElement(TYRCTPicker,{key:index,style:[{width:width/length,height:216},style],items:item,itemPadding:14,selectedIndex:selectIdx,separatorColor:(0,_reactNative.processColor)(theme.dividerColor),color:(0,_reactNative.processColor)(theme.fontColor),textAlign:1,fontSize:theme.fontSize,fontWeight:'normal',onChange:function onChange(e){return _this.onItemSelected(e,isOnly,index);},__self:(0,_assertThisInitialized2.default)(_this),__source:{fileName:_jsxFileName,lineNumber:114,columnNumber:301}});};_this.state={selectIdx:props.value};return _this;}(0,_createClass2.default)(_Picker,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(prevProps.value!==this.props.value){this.setState({selectIdx:this.props.value});}}},{key:"render",value:function render(){var _this2=this;var selectIdx=this.state.selectIdx;var items=this.getItem();var isOnly=!(0,_utils.isTwoArray)(items);return isOnly?this.renderPickerItem(items,selectIdx,isOnly,0):React.createElement(_reactNative.View,{style:[{flexDirection:'row',overflow:'hidden'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:126,columnNumber:74}},items.map(function(item,idx){return _this2.renderPickerItem(item,selectIdx[idx],isOnly,idx);}));}}]);return _Picker;}(React.Component);exports.default=_Picker;_Picker.displayName='_PickerView';_Picker.defaultProps={value:0};
|
@@ -0,0 +1 @@
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _assertThisInitialized2=_interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _rayPanelUtils=require("@ray-js/ray-panel-utils");var _utils=require("../utils");var _jsxFileName="/drone/src/packages/components/src/PickerViewColumn/PickerViewColumn.native.tsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function(){var Super=(0,_getPrototypeOf2.default)(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2.default)(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2.default)(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var width=_rayPanelUtils.RatioUtils.width;var TYRCTPicker=(0,_reactNative.requireNativeComponent)('TYRCTPicker');var WheelPickerView=(0,_reactNative.requireNativeComponent)('TYRCTWheelViewManager');var _Picker=function(_React$Component){(0,_inherits2.default)(_Picker,_React$Component);var _super=_createSuper(_Picker);function _Picker(props){var _this;(0,_classCallCheck2.default)(this,_Picker);_this=_super.call(this,props);_this.getItem=function(){var range=_this.props.range;var isOnly=!(0,_utils.isTwoArray)(range);if(isOnly){return range.map(function(item){return{label:item,value:item};});}return range.map(function(item){return item.map(function(data){return{label:data,value:data};});});};_this.onItemSelected=function(event,isOnly,index){var newIndex=event.nativeEvent.newIndex;var onChange=_this.props.onChange;if(isOnly){_this.setState({selectIdx:newIndex});typeof onChange==='function'&&onChange({type:'change',value:newIndex});}else{var selectIdx=_this.state.selectIdx;var newSelectArr=selectIdx.concat([]);newSelectArr[index]=newIndex;typeof onChange==='function'&&onChange({type:'change',value:newSelectArr,column:index});_this.setState({selectIdx:newSelectArr});}};_this.renderPickerItem=function(item,selectIdx,isOnly,index){var _this$props=_this.props,style=_this$props.style,fontSize=_this$props.fontSize;var items=_this.getItem();var theme={dividerColor:'rgba(0, 0, 0, 0.05)',fontColor:'rgba(0,0,0,0.9)',fontSize:fontSize||isOnly?24:items.length<3?24:20};var length=isOnly?1:items.length;return _reactNative.Platform.OS==='android'?React.createElement(WheelPickerView,{key:index,style:[{width:width/length,height:216},style],items:item,itemTextColor:theme.fontColor,selectedItemTextColor:theme.fontColor,dividerColor:theme.dividerColor,visibleItemCount:5,itemAlign:'center',selectedIndex:selectIdx,textSize:theme.fontSize,loop:false,onChange:function onChange(e){return _this.onItemSelected(e,isOnly,index);},__self:(0,_assertThisInitialized2.default)(_this),__source:{fileName:_jsxFileName,lineNumber:111,columnNumber:40}}):React.createElement(TYRCTPicker,{key:index,style:[{width:width/length,height:216},style],items:item,itemPadding:14,selectedIndex:selectIdx,separatorColor:(0,_reactNative.processColor)(theme.dividerColor),color:(0,_reactNative.processColor)(theme.fontColor),textAlign:1,fontSize:theme.fontSize,fontWeight:'normal',onChange:function onChange(e){return _this.onItemSelected(e,isOnly,index);},__self:(0,_assertThisInitialized2.default)(_this),__source:{fileName:_jsxFileName,lineNumber:114,columnNumber:301}});};_this.state={selectIdx:props.value};return _this;}(0,_createClass2.default)(_Picker,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(prevProps.value!==this.props.value){this.setState({selectIdx:this.props.value});}}},{key:"render",value:function render(){var _this2=this;var selectIdx=this.state.selectIdx;var items=this.getItem();var isOnly=!(0,_utils.isTwoArray)(items);return isOnly?this.renderPickerItem(items,selectIdx,isOnly,0):React.createElement(_reactNative.View,{style:[{flexDirection:'row',overflow:'hidden'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:126,columnNumber:74}},items.map(function(item,idx){return _this2.renderPickerItem(item,selectIdx[idx],isOnly,idx);}));}}]);return _Picker;}(React.Component);exports.default=_Picker;_Picker.displayName='_PickerView';_Picker.defaultProps={value:0};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import handleProps from '../utils/handleProps';
|
3
|
+
|
4
|
+
var PickerViewColumn = function (props) {
|
5
|
+
var children = props.children;
|
6
|
+
return (
|
7
|
+
/*#__PURE__*/
|
8
|
+
// @ts-ignore
|
9
|
+
React.createElement("ty-picker-view-column", handleProps(props), children)
|
10
|
+
);
|
11
|
+
};
|
12
|
+
|
13
|
+
PickerViewColumn.displayName = 'PickerViewColumn';
|
14
|
+
export default PickerViewColumn;
|