@lemon-fe/mini-app 0.0.2 → 0.1.5

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.
@@ -45,7 +45,7 @@ function App(props) {
45
45
  state = _useState2[0],
46
46
  setState = _useState2[1];
47
47
 
48
- var navigate = useCallback(function (path) {
48
+ var navigate = useCallback(function (path, otherParams) {
49
49
  setState(function (prev) {
50
50
  var routes = prev.routes;
51
51
 
@@ -53,7 +53,8 @@ function App(props) {
53
53
  pathname = _parsePath.pathname,
54
54
  search = _parsePath.search;
55
55
 
56
- var params = search ? Object.fromEntries(Array.from(new URLSearchParams(search).entries())) : undefined;
56
+ var params = search ? Object.fromEntries(Array.from(new URLSearchParams(search).entries())) : {};
57
+ Object.assign(params, otherParams);
57
58
  var routeIndex = routes.findIndex(function (item) {
58
59
  return item.route.path === pathname;
59
60
  });
@@ -7,6 +7,7 @@
7
7
  bottom: 0;
8
8
  left: 0;
9
9
  background-color: #fff;
10
+ color: #333;
10
11
  transition: transform 300ms;
11
12
  }
12
13
 
@@ -29,7 +30,6 @@
29
30
  .lemon-route-header-center {
30
31
  font-weight: bold;
31
32
  font-size: 16px;
32
- color: #333;
33
33
  text-align: center;
34
34
  line-height: 44px;
35
35
  }
@@ -1,7 +1,12 @@
1
+ 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
+
3
+ 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
+
5
+ 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
+
1
7
  import React, { createElement, memo, useMemo } from 'react';
2
8
  import { ScreenContext } from '../../context';
3
9
  import { useNavigation } from '../../hooks';
4
- import { mini } from '../../global';
5
10
  import './index.css';
6
11
 
7
12
  function Screen(props) {
@@ -14,7 +19,9 @@ function Screen(props) {
14
19
  };
15
20
  }, [params]);
16
21
  var statusBarHeight = useMemo(function () {
17
- return mini.getSystemInfoSync().statusBarHeight;
22
+ var _window$mini;
23
+
24
+ return (_window$mini = window.mini) === null || _window$mini === void 0 ? void 0 : _window$mini.getSystemInfoSync().statusBarHeight;
18
25
  }, []);
19
26
  var navigation = useNavigation();
20
27
  return /*#__PURE__*/React.createElement(ScreenContext.Provider, {
@@ -23,9 +30,9 @@ function Screen(props) {
23
30
  className: "lemon-route"
24
31
  }, /*#__PURE__*/React.createElement("div", {
25
32
  className: "lemon-route-header",
26
- style: {
33
+ style: _objectSpread({
27
34
  paddingTop: statusBarHeight
28
- }
35
+ }, route.headerStyle)
29
36
  }, /*#__PURE__*/React.createElement("div", {
30
37
  className: "lemon-route-header-content"
31
38
  }, index > 0 && /*#__PURE__*/React.createElement("div", {
@@ -40,7 +47,7 @@ function Screen(props) {
40
47
  xmlns: "http://www.w3.org/2000/svg"
41
48
  }, /*#__PURE__*/React.createElement("path", {
42
49
  d: "m23.002 38-2.556 2.5L.713 21.2a.975.975 0 0 1 0-1.4L20.446.5 23.002 3 5.109 20.5 23.002 38Z",
43
- fill: "#333",
50
+ fill: "currentColor",
44
51
  fillRule: "evenodd"
45
52
  }))), /*#__PURE__*/React.createElement("div", {
46
53
  className: "lemon-route-header-center"
@@ -1,6 +1,6 @@
1
1
  export declare const NavigationContext: import("react").Context<{
2
2
  navigation: {
3
- navigate: (path: string) => void;
3
+ navigate: (path: string, params?: Record<string, any> | undefined) => void;
4
4
  goBack: () => void;
5
5
  };
6
6
  }>;
package/es/global.d.ts CHANGED
@@ -1,25 +1,4 @@
1
- declare global {
2
- interface Window {
3
- ReactNativeWebView?: {
4
- postMessage(e: string): void;
5
- };
6
- mini?: {
7
- getSystemInfoSync(): {
8
- statusBarHeight: number;
9
- pixelRatio: number;
10
- safeArea: {
11
- top: number;
12
- right: number;
13
- bottom: number;
14
- left: number;
15
- };
16
- };
17
- addListener(cb: (e: string) => void): void;
18
- getExtraPayload(): unknown;
19
- };
20
- }
21
- }
22
- export declare const mini: {
1
+ interface Mini {
23
2
  getSystemInfoSync(): {
24
3
  statusBarHeight: number;
25
4
  pixelRatio: number;
@@ -32,4 +11,15 @@ export declare const mini: {
32
11
  };
33
12
  addListener(cb: (e: string) => void): void;
34
13
  getExtraPayload(): unknown;
35
- };
14
+ }
15
+ declare global {
16
+ interface Window {
17
+ ReactNativeWebView?: {
18
+ postMessage(e: string): void;
19
+ };
20
+ mini?: Mini;
21
+ }
22
+ }
23
+ export declare let mini: Mini;
24
+ export declare function createApp(render: () => void): void;
25
+ export {};
package/es/global.js CHANGED
@@ -1,20 +1,37 @@
1
- if (window.mini === undefined) {
2
- window.mini = {
3
- getSystemInfoSync: function getSystemInfoSync() {
4
- return {
5
- statusBarHeight: 0,
6
- pixelRatio: window.devicePixelRatio,
7
- safeArea: {
8
- top: 0,
9
- right: 0,
10
- bottom: 0,
11
- left: 0
12
- }
13
- };
14
- },
15
- addListener: function addListener() {},
16
- getExtraPayload: function getExtraPayload() {}
1
+ export var mini = {
2
+ getSystemInfoSync: function getSystemInfoSync() {
3
+ return {
4
+ statusBarHeight: 0,
5
+ pixelRatio: window.devicePixelRatio,
6
+ safeArea: {
7
+ top: 0,
8
+ right: 0,
9
+ bottom: 0,
10
+ left: 0
11
+ }
12
+ };
13
+ },
14
+ addListener: function addListener() {},
15
+ getExtraPayload: function getExtraPayload() {}
16
+ };
17
+ export function createApp(render) {
18
+ var count = 0;
19
+
20
+ var check = function check() {
21
+ if (window.mini === undefined) {
22
+ count++;
23
+
24
+ if (count <= 10) {
25
+ setTimeout(check, 100);
26
+ } else {
27
+ window.mini = mini;
28
+ render();
29
+ }
30
+ } else {
31
+ mini = window.mini;
32
+ render();
33
+ }
17
34
  };
18
- }
19
35
 
20
- export var mini = window.mini;
36
+ check();
37
+ }
@@ -1,5 +1,5 @@
1
1
  export declare function useNavigation(): {
2
- navigate: (path: string) => void;
2
+ navigate: (path: string, params?: Record<string, any> | undefined) => void;
3
3
  goBack: () => void;
4
4
  };
5
5
  export declare function useParams<T extends Record<string, any> | void = void>(): T;
package/es/typings.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import type { ComponentType } from 'react';
1
+ import type { ComponentType, CSSProperties } from 'react';
2
2
 
3
3
  export interface NavigationStackScreen {
4
4
  title: string;
5
5
  path: string;
6
6
  screen: ComponentType;
7
+ headerStyle?: CSSProperties;
7
8
  }
8
9
 
9
10
  export interface Path {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/mini-app",
3
- "version": "0.0.2",
3
+ "version": "0.1.5",
4
4
  "description": "> TODO: description",
5
5
  "author": "鲁盛杰 <lusj@cnlemon.net>",
6
6
  "homepage": "",