@abtnode/ux 1.6.16 → 1.6.17

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.
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CardSelector;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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); }
17
+
18
+ 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; }
19
+
20
+ function CardSelector(_ref) {
21
+ let {
22
+ list,
23
+ width,
24
+ height,
25
+ cardSpace,
26
+ onSelect,
27
+ defaultIndex
28
+ } = _ref;
29
+ const [selectedId, setSelectedId] = (0, _react.useState)(0);
30
+ const [translateX, setTranslateX] = (0, _react.useState)(0);
31
+ const outterCon = (0, _react.useRef)(null); // 选择卡片
32
+
33
+ const selectedItem = i => {
34
+ if (i < 0 || i > list.length - 1) {
35
+ return;
36
+ }
37
+
38
+ setSelectedId(i); // 外部容器大小
39
+
40
+ const outerWidth = outterCon.current.clientWidth;
41
+ setTranslateX(i * (width + cardSpace) - (outerWidth - width) / 2 + cardSpace * 0.5);
42
+ onSelect(i);
43
+ };
44
+
45
+ (0, _react.useEffect)(() => {
46
+ selectedItem(defaultIndex);
47
+
48
+ const func = e => e.preventDefault();
49
+
50
+ outterCon.current.addEventListener('touchmove', func, {
51
+ passive: false
52
+ });
53
+ return () => outterCon.current.removeEventListener('touchmove', func);
54
+ }, []);
55
+ let startX;
56
+
57
+ const touchstart = e => {
58
+ const point = e.touches[0];
59
+ startX = point.clientX;
60
+ };
61
+
62
+ const touchend = e => {
63
+ const point = e.changedTouches[0];
64
+ const diffX = startX - point.clientX;
65
+
66
+ if (Math.abs(diffX) > 60) {
67
+ if (diffX > 0) {
68
+ selectedItem(selectedId + 1);
69
+ } else {
70
+ selectedItem(selectedId - 1);
71
+ }
72
+ }
73
+ };
74
+
75
+ return /*#__PURE__*/_react.default.createElement(Contianer, {
76
+ ref: outterCon,
77
+ onTouchStart: touchstart,
78
+ onTouchEnd: touchend
79
+ }, /*#__PURE__*/_react.default.createElement("div", {
80
+ className: "card-container",
81
+ style: {
82
+ transform: "translate(".concat(-translateX, "px, 0)")
83
+ }
84
+ }, list.map((e, i) => {
85
+ return /*#__PURE__*/_react.default.createElement("div", {
86
+ className: "card-item ".concat(i === selectedId ? 'selected' : ''),
87
+ style: {
88
+ width,
89
+ height,
90
+ margin: cardSpace / 2
91
+ } // eslint-disable-next-line react/no-array-index-key
92
+ ,
93
+ key: i,
94
+ onClick: () => selectedItem(i)
95
+ }, /*#__PURE__*/_react.default.createElement("img", {
96
+ src: e.src,
97
+ alt: e.name
98
+ }));
99
+ })));
100
+ }
101
+
102
+ const Contianer = _styledComponents.default.div.withConfig({
103
+ displayName: "card-selector__Contianer",
104
+ componentId: "sc-t0bkjd-0"
105
+ })(["overflow:hidden;mask-image:linear-gradient(to left,transparent,black 3%,black 97%,transparent);overflow:hidden;.card-container{display:flex;white-space:nowrap;width:max-content;transition:all ease 0.3s;}.card-item{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;cursor:pointer;img{max-width:100%;max-height:100%;width:auto;height:auto;outline:#526ded solid 0;transition:all ease 0.2s;box-shadow:rgba(0,0,0,0.2) 0 0 10px;}&.selected{cursor:default;img{outline:#526ded solid 5px;}}}"]);
106
+
107
+ CardSelector.propTypes = {
108
+ list: _propTypes.default.array,
109
+ width: _propTypes.default.number,
110
+ height: _propTypes.default.number,
111
+ cardSpace: _propTypes.default.number,
112
+ onSelect: _propTypes.default.func,
113
+ defaultIndex: _propTypes.default.number
114
+ };
115
+ CardSelector.defaultProps = {
116
+ list: '',
117
+ width: 300,
118
+ height: 400,
119
+ cardSpace: 40,
120
+ onSelect: () => {},
121
+ defaultIndex: 0
122
+ };
@@ -19,14 +19,6 @@ var _CheckCircle = _interopRequireDefault(require("@material-ui/icons/CheckCircl
19
19
 
20
20
  var _Box = _interopRequireDefault(require("@material-ui/core/Box"));
21
21
 
22
- var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
23
-
24
- var _RadioGroup = _interopRequireDefault(require("@material-ui/core/RadioGroup"));
25
-
26
- var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
27
-
28
- var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
29
-
30
22
  var _Stepper = _interopRequireDefault(require("@material-ui/core/Stepper"));
31
23
 
32
24
  var _Step = _interopRequireDefault(require("@material-ui/core/Step"));
@@ -41,8 +33,6 @@ var _Done = _interopRequireDefault(require("@material-ui/icons/Done"));
41
33
 
42
34
  var _Avatar = _interopRequireDefault(require("@material-ui/core/Avatar"));
43
35
 
44
- var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
45
-
46
36
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
47
37
 
48
38
  var _Address = _interopRequireDefault(require("@arcblock/did-connect/lib/Address"));
@@ -51,6 +41,8 @@ var _context = require("@arcblock/ux/lib/Locale/context");
51
41
 
52
42
  var _Connect = _interopRequireDefault(require("@arcblock/did-connect/lib/Connect"));
53
43
 
44
+ var _cardSelector = _interopRequireDefault(require("./card-selector"));
45
+
54
46
  var _wrapLocale = _interopRequireDefault(require("./wrap-locale"));
55
47
 
56
48
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -188,28 +180,12 @@ function LostPassport(_ref2) {
188
180
  }, user.fullName), /*#__PURE__*/_react.default.createElement(_Box.default, {
189
181
  className: "did",
190
182
  mt: 1
191
- }, /*#__PURE__*/_react.default.createElement(_Address.default, null, user.did)))), /*#__PURE__*/_react.default.createElement(_Box.default, {
192
- my: 3
193
- }, /*#__PURE__*/_react.default.createElement(_FormControl.default, {
194
- style: {
195
- width: '100%'
196
- }
197
- }, /*#__PURE__*/_react.default.createElement(_RadioGroup.default, {
198
- name: "passport",
199
- value: passport,
200
- onChange: handleChange
201
- }, /*#__PURE__*/_react.default.createElement(_Grid.default, {
202
- container: true,
203
- spacing: 3
204
- }, user.passportTypes.map(x => {
205
- return /*#__PURE__*/_react.default.createElement(_Grid.default, {
206
- item: true,
207
- xs: 12,
208
- sm: 6
209
- }, /*#__PURE__*/_react.default.createElement(_FormControlLabel.default, {
210
- value: x.name,
211
- control: /*#__PURE__*/_react.default.createElement(_Radio.default, null),
212
- label: /*#__PURE__*/_react.default.createElement("img", {
183
+ }, /*#__PURE__*/_react.default.createElement(_Address.default, null, user.did)))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_cardSelector.default, {
184
+ width: 230,
185
+ height: 306,
186
+ cardSpace: 24,
187
+ list: user.passportTypes.map(x => {
188
+ return {
213
189
  src: createPassportSvg({
214
190
  title: x.title,
215
191
  issuer: x.issuer.name,
@@ -218,13 +194,16 @@ function LostPassport(_ref2) {
218
194
  ownerAvatarUrl: user.avatar,
219
195
  isDataUrl: true
220
196
  }),
221
- alt: "",
222
- style: {
223
- width: '100%'
224
- }
225
- })
226
- }));
227
- }))))), /*#__PURE__*/_react.default.createElement(_Box.default, {
197
+ name: x.title
198
+ };
199
+ }),
200
+ onSelect: index => handleChange({
201
+ target: {
202
+ value: user.passportTypes[index].name
203
+ }
204
+ }),
205
+ defaultIndex: 0
206
+ })), /*#__PURE__*/_react.default.createElement(_Box.default, {
228
207
  textAlign: "center"
229
208
  }, /*#__PURE__*/_react.default.createElement(_Button.default, {
230
209
  rounded: true,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.6.16",
6
+ "version": "1.6.17",
7
7
  "description": "UX components shared across abtnode packages",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -20,10 +20,11 @@
20
20
  "author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@arcblock/did-connect": "^1.16.13",
24
- "@arcblock/ux": "^1.16.13",
23
+ "@arcblock/did-connect": "^1.16.20",
24
+ "@arcblock/ux": "^1.16.20",
25
25
  "@material-ui/core": "^4.12.3",
26
26
  "@material-ui/icons": "^4.11.2",
27
+ "prop-types": "^15.7.2",
27
28
  "react": "^16.13.0",
28
29
  "react-router-dom": "^5.1.2",
29
30
  "styled-components": "^5.0.1"
@@ -37,5 +38,5 @@
37
38
  "babel-plugin-inline-react-svg": "^1.1.1",
38
39
  "babel-plugin-styled-components": "^1.10.7"
39
40
  },
40
- "gitHead": "69b08db16aeb75ce23b0e6bb5b9fa396adba2d4b"
41
+ "gitHead": "d567a622a779eba43c95eaeb4633cb2b276bb7b9"
41
42
  }