@lemon-fe/mini-app 0.1.29 → 0.1.32

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.
@@ -10,11 +10,15 @@
10
10
  }
11
11
 
12
12
  .lemon-transition-enter-active {
13
- box-shadow: 0 0 20px #eee;
14
13
  transform: translate3d(0, 0, 0);
14
+ transition: transform 300ms;
15
15
  }
16
16
 
17
17
  .lemon-transition-exit {
18
- box-shadow: 0 0 20px #eee;
19
- transform: translate3d(100%, 0, 0);
18
+ transform: translate3d(0, 0, 0);
20
19
  }
20
+
21
+ .lemon-transition-exit-active {
22
+ transform: translate3d(100%, 0, 0);
23
+ transition: transform 300ms;
24
+ }
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties, ReactElement } from 'react';
2
2
  import type { NavigationStackScreen } from '../../typings';
3
- import './index.less';
3
+ import './index.css';
4
4
  interface Props {
5
5
  pages: NavigationStackScreen[];
6
6
  children?: ReactElement | null;
@@ -25,14 +25,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
25
25
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
26
 
27
27
  import React, { cloneElement, useCallback, useEffect, useMemo, useState } from 'react';
28
- import { CSSTransition, TransitionGroup } from 'react-transition-group';
28
+ import { TransitionGroup } from 'react-transition-group';
29
29
  import { parsePath } from '../../utils/path';
30
30
  import { NavigationContext } from '../../context';
31
31
  import Screen from '../Screen';
32
32
  import { GO_BACK } from '../../constants';
33
33
  import { mini } from '../../global';
34
34
  import Capsule from '../Capsule';
35
- import './index.less';
35
+ import './index.css';
36
36
 
37
37
  function App(props) {
38
38
  var pages = props.pages,
@@ -126,19 +126,16 @@ function App(props) {
126
126
  var screens = /*#__PURE__*/React.createElement(TransitionGroup, {
127
127
  className: "lemon-routes"
128
128
  }, state.routes.map(function (item, index) {
129
- return /*#__PURE__*/React.createElement(CSSTransition, {
129
+ return /*#__PURE__*/React.createElement(Screen, {
130
130
  key: item.route.path,
131
- timeout: 300,
132
- classNames: "lemon-transition"
133
- }, /*#__PURE__*/React.createElement(Screen, {
134
131
  route: item.route,
135
132
  params: item.params,
136
133
  index: index
137
- }));
134
+ });
138
135
  }));
139
136
  return /*#__PURE__*/React.createElement(NavigationContext.Provider, {
140
137
  value: ctx
141
- }, children ? /*#__PURE__*/cloneElement(children, {}, screens) : screens, process.env.NODE_ENV === 'development' && /*#__PURE__*/React.createElement(Capsule, null));
138
+ }, children ? /*#__PURE__*/cloneElement(children, {}, screens) : screens, window.ReactNativeWebView === undefined && /*#__PURE__*/React.createElement(Capsule, null));
142
139
  }
143
140
 
144
141
  export default App;
@@ -0,0 +1,21 @@
1
+ .lemon-capsule {
2
+ position: fixed;
3
+ top: calc(env(safe-area-inset-top) + 7px);
4
+ right: 15px;
5
+ height: 30px;
6
+ background-color: rgba(255, 255, 255, 0.6);
7
+ border: 1px solid rgba(151, 151, 151, 0.2);
8
+ border-radius: 15px;
9
+ }
10
+
11
+ .lemon-capsule-item {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ width: 44px;
16
+ height: 100%;
17
+ }
18
+
19
+ .lemon-capsule-item:active {
20
+ opacity: 0.5;
21
+ }
@@ -1,2 +1,2 @@
1
- import './index.less';
1
+ import './index.css';
2
2
  export default function Capsule(): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import './index.less';
2
+ import './index.css';
3
3
  export default function Capsule() {
4
4
  var generateCode = function generateCode() {
5
5
  var url = "nhsoft://external-apps?url=".concat(encodeURIComponent(window.location.href));
@@ -8,7 +8,6 @@
8
8
  flex-direction: column;
9
9
  color: #333;
10
10
  background-color: #fff;
11
- transition: transform 300ms;
12
11
  }
13
12
 
14
13
  .lemon-route-header {
@@ -1,10 +1,17 @@
1
+ var _excluded = ["route", "params", "index"];
2
+
1
3
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
4
 
3
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
6
 
5
7
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
8
 
7
- import React, { createElement, memo, useContext, useMemo } from 'react';
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+
11
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
+
13
+ import React, { createElement, memo, useContext, useMemo, useRef } from 'react';
14
+ import { CSSTransition } from 'react-transition-group';
8
15
  import { NavigationContext, ScreenContext } from '../../context';
9
16
  import { mini } from '../../global';
10
17
  import './index.css';
@@ -12,7 +19,9 @@ import './index.css';
12
19
  function Screen(props) {
13
20
  var route = props.route,
14
21
  params = props.params,
15
- index = props.index;
22
+ index = props.index,
23
+ restProps = _objectWithoutProperties(props, _excluded);
24
+
16
25
  var ctx = useMemo(function () {
17
26
  return {
18
27
  params: params
@@ -26,10 +35,16 @@ function Screen(props) {
26
35
  navigation = _useContext.navigation,
27
36
  headerStyle = _useContext.headerStyle;
28
37
 
29
- return /*#__PURE__*/React.createElement(ScreenContext.Provider, {
38
+ var ref = useRef(null);
39
+ return /*#__PURE__*/React.createElement(CSSTransition, _objectSpread({
40
+ timeout: 300,
41
+ classNames: "lemon-transition",
42
+ nodeRef: ref
43
+ }, restProps), /*#__PURE__*/React.createElement(ScreenContext.Provider, {
30
44
  value: ctx
31
45
  }, /*#__PURE__*/React.createElement("div", {
32
- className: "lemon-route"
46
+ className: "lemon-route",
47
+ ref: ref
33
48
  }, /*#__PURE__*/React.createElement("div", {
34
49
  className: "lemon-route-header",
35
50
  style: _objectSpread(_objectSpread({
@@ -55,7 +70,7 @@ function Screen(props) {
55
70
  className: "lemon-route-header-center"
56
71
  }, route.title))), /*#__PURE__*/React.createElement("div", {
57
72
  className: "lemon-route-body"
58
- }, /*#__PURE__*/createElement(route.screen))));
73
+ }, /*#__PURE__*/createElement(route.screen)))));
59
74
  }
60
75
 
61
76
  export default /*#__PURE__*/memo(Screen);
package/es/global.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { UserInfo } from './typings';
1
2
  interface Mini {
2
3
  getSystemInfoSync(): {
3
4
  statusBarHeight: number;
@@ -20,12 +21,7 @@ interface Mini {
20
21
  }): void;
21
22
  exit(): void;
22
23
  getUserInfo(opt: {
23
- success?: (user: {
24
- id: number;
25
- companyId: number;
26
- roleNames: string[];
27
- branchIds: number[];
28
- }) => void;
24
+ success?: (user: UserInfo) => void;
29
25
  }): void;
30
26
  }
31
27
  declare global {
package/es/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './global';
2
2
  export { AppContainer } from './components';
3
3
  export * from './hooks';
4
- export type { NavigationStackScreen, Path } from './typings';
4
+ export type { NavigationStackScreen, Path, UserInfo } from './typings';
package/es/typings.d.ts CHANGED
@@ -12,3 +12,10 @@ export interface Path {
12
12
  search: string;
13
13
  hash: string;
14
14
  }
15
+
16
+ export interface UserInfo {
17
+ id: number;
18
+ companyId: number;
19
+ roleNames: string[];
20
+ branchIds: number[];
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/mini-app",
3
- "version": "0.1.29",
3
+ "version": "0.1.32",
4
4
  "description": "> TODO: description",
5
5
  "author": "鲁盛杰 <lusj@cnlemon.net>",
6
6
  "homepage": "",
@@ -34,5 +34,5 @@
34
34
  "@types/react-transition-group": "^4.4.4",
35
35
  "color-string": "^1.9.0"
36
36
  },
37
- "gitHead": "76eb517b4b3fa047aa55e61f1793a0ffa8cfb2c5"
37
+ "gitHead": "d64677a7dc2001d4180fa3014d9ad5bfce870c7e"
38
38
  }
@@ -1,21 +0,0 @@
1
- .lemon-capsule {
2
- position: fixed;
3
- top: 7px;
4
- right: 15px;
5
- height: 30px;
6
- background-color: rgba(255, 255, 255, 0.6);
7
- border: 1px solid rgba(151, 151, 151, 0.2);
8
- border-radius: 15px;
9
-
10
- &-item {
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- width: 44px;
15
- height: 100%;
16
- }
17
-
18
- &:active {
19
- opacity: 0.5;
20
- }
21
- }