@alicloud/alfa-react 1.4.40 → 1.5.0

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.
@@ -31,6 +31,7 @@ function createAlfaApp(option) {
31
31
  return /*#__PURE__*/React.createElement(ErrorBoundary, props, /*#__PURE__*/React.createElement(Application
32
32
  // 兼容历史逻辑,优先使用 option 中的 sandbox 参数
33
33
  , _extends({}, passedInOption, {
34
+ style: props.style || passedInOption.style,
34
35
  syncHistory: props.syncHistory,
35
36
  basename: props.basename,
36
37
  sandbox: option.sandbox || props.sandbox,
@@ -58,6 +58,7 @@ function createAlfaWidget(option) {
58
58
  // props should not passed in errorBoundary
59
59
  React.createElement(ErrorBoundary, props, /*#__PURE__*/React.createElement(Application, _extends({}, passedInOption, {
60
60
  // name={name}
61
+ style: props.style || passedInOption.style,
61
62
  deps: dependencies || {},
62
63
  customProps: _objectSpread({}, props)
63
64
  })))
@@ -6,10 +6,12 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  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; }
7
7
  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; }
8
8
  import React, { useRef, useEffect, useState, useMemo } from 'react';
9
+ import { createEventBus } from '@alicloud/alfa-core';
9
10
  import Loading from './components/Loading';
10
11
  import { normalizeName } from './utils';
11
12
  import { countRegister } from './utils/counter';
12
13
  import { version as loaderVersion } from './version';
14
+ var eventBus = createEventBus();
13
15
  var resolvePath = function resolvePath() {
14
16
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
15
17
  args[_key] = arguments[_key];
@@ -77,6 +79,7 @@ export default function createApplication(loader) {
77
79
  noCache = props.noCache,
78
80
  syncHistory = props.syncHistory,
79
81
  basename = props.basename;
82
+ var handleExternalLink = customProps.handleExternalLink;
80
83
  var _useState = useState(null),
81
84
  _useState2 = _slicedToArray(_useState, 2),
82
85
  appInstance = _useState2[0],
@@ -309,6 +312,15 @@ export default function createApplication(loader) {
309
312
  // if (isOsContext()) App.destroy();
310
313
  };
311
314
  }, [memoOptions]);
315
+ useEffect(function () {
316
+ var _handleExternalLink = function _handleExternalLink(href) {
317
+ handleExternalLink === null || handleExternalLink === void 0 ? void 0 : handleExternalLink(href);
318
+ };
319
+ eventBus.on("".concat(normalizeName(name), ":external-router"), _handleExternalLink);
320
+ return function () {
321
+ eventBus.removeListener("".concat(normalizeName(name), ":external-router"), _handleExternalLink);
322
+ };
323
+ }, [handleExternalLink, name]);
312
324
  if (appInstance) {
313
325
  appInstance.update(customProps);
314
326
  }
package/es/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as Skeleton } from './components/Loading/Skeleton';
1
2
  export { default as createAlfaApp, useAlfaApp } from './createAlfaApp';
2
3
  export { default as createAlfaWidget, useAlfaWidget } from './createAlfaWidget';
3
4
  export { eventEmitter as widgetEventEmitter } from './widget/index';
package/es/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '1.4.40';
1
+ export var version = '1.5.0';
@@ -42,6 +42,7 @@ function createAlfaApp(option) {
42
42
  return /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, props, /*#__PURE__*/_react.default.createElement(Application
43
43
  // 兼容历史逻辑,优先使用 option 中的 sandbox 参数
44
44
  , (0, _extends2.default)({}, passedInOption, {
45
+ style: props.style || passedInOption.style,
45
46
  syncHistory: props.syncHistory,
46
47
  basename: props.basename,
47
48
  sandbox: option.sandbox || props.sandbox,
@@ -69,6 +69,7 @@ function createAlfaWidget(option) {
69
69
  // props should not passed in errorBoundary
70
70
  _react.default.createElement(_ErrorBoundary.default, props, /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({}, passedInOption, {
71
71
  // name={name}
72
+ style: props.style || passedInOption.style,
72
73
  deps: dependencies || {},
73
74
  customProps: _objectSpread({}, props)
74
75
  })))
@@ -12,6 +12,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
+ var _alfaCore = require("@alicloud/alfa-core");
15
16
  var _Loading = _interopRequireDefault(require("./components/Loading"));
16
17
  var _utils = require("./utils");
17
18
  var _counter = require("./utils/counter");
@@ -20,6 +21,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
20
21
  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; }
21
22
  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; }
22
23
  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) { (0, _defineProperty2.default)(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; }
24
+ var eventBus = (0, _alfaCore.createEventBus)();
23
25
  var resolvePath = function resolvePath() {
24
26
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25
27
  args[_key] = arguments[_key];
@@ -87,6 +89,7 @@ function createApplication(loader) {
87
89
  noCache = props.noCache,
88
90
  syncHistory = props.syncHistory,
89
91
  basename = props.basename;
92
+ var handleExternalLink = customProps.handleExternalLink;
90
93
  var _useState = (0, _react.useState)(null),
91
94
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
92
95
  appInstance = _useState2[0],
@@ -319,6 +322,15 @@ function createApplication(loader) {
319
322
  // if (isOsContext()) App.destroy();
320
323
  };
321
324
  }, [memoOptions]);
325
+ (0, _react.useEffect)(function () {
326
+ var _handleExternalLink = function _handleExternalLink(href) {
327
+ handleExternalLink === null || handleExternalLink === void 0 ? void 0 : handleExternalLink(href);
328
+ };
329
+ eventBus.on("".concat((0, _utils.normalizeName)(name), ":external-router"), _handleExternalLink);
330
+ return function () {
331
+ eventBus.removeListener("".concat((0, _utils.normalizeName)(name), ":external-router"), _handleExternalLink);
332
+ };
333
+ }, [handleExternalLink, name]);
322
334
  if (appInstance) {
323
335
  appInstance.update(customProps);
324
336
  }
package/lib/index.js CHANGED
@@ -5,6 +5,12 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "Skeleton", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _Skeleton.default;
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "addGlobalRequestInterceptor", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -53,6 +59,7 @@ Object.defineProperty(exports, "widgetEventEmitter", {
53
59
  return _index.eventEmitter;
54
60
  }
55
61
  });
62
+ var _Skeleton = _interopRequireDefault(require("./components/Loading/Skeleton"));
56
63
  var _createAlfaApp = _interopRequireWildcard(require("./createAlfaApp"));
57
64
  var _createAlfaWidget = _interopRequireWildcard(require("./createAlfaWidget"));
58
65
  var _index = require("./widget/index");
package/lib/version.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = '1.4.40';
7
+ var version = '1.5.0';
8
8
  exports.version = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alicloud/alfa-react",
3
- "version": "1.4.40",
3
+ "version": "1.5.0",
4
4
  "description": "Alfa Framework (React Version)",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -9,6 +9,6 @@ export interface SkeletonParagraphProps {
9
9
  }
10
10
  declare class Paragraph extends React.Component<SkeletonParagraphProps, {}> {
11
11
  private getWidth;
12
- render(): React.JSX.Element;
12
+ render(): JSX.Element;
13
13
  }
14
14
  export default Paragraph;
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
1
+ /// <reference types="react" />
2
2
  export interface SkeletonTitleProps {
3
3
  prefixCls?: string;
4
4
  className?: string;
5
5
  style?: object;
6
6
  width?: number | string;
7
7
  }
8
- declare const Title: ({ prefixCls, className, width, style }: SkeletonTitleProps) => React.JSX.Element;
8
+ declare const Title: ({ prefixCls, className, width, style }: SkeletonTitleProps) => JSX.Element;
9
9
  export default Title;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  export default function getLoading({ loading }: {
3
3
  loading?: boolean | React.ReactChild;
4
- }): React.JSX.Element | null;
4
+ }): JSX.Element | null;
@@ -4,17 +4,36 @@ interface IProps {
4
4
  /**
5
5
  * @deprecated
6
6
  */
7
- sandbox: Record<string, any>;
7
+ sandbox?: Record<string, any>;
8
+ /**
9
+ * 处理外跳链接
10
+ * @param url
11
+ * @returns
12
+ */
13
+ handleExternalLink?: (url: string) => void;
14
+ /**
15
+ * 是否开启路由自动同步,需配合 basename 使用
16
+ */
8
17
  syncHistory?: boolean;
18
+ /**
19
+ * 子应用路由前缀
20
+ */
9
21
  basename?: string;
10
22
  history?: any;
23
+ /**
24
+ * 子应用路由
25
+ */
11
26
  path?: string;
27
+ /**
28
+ * 根节点样式
29
+ */
30
+ style?: React.CSSProperties;
12
31
  }
13
- declare function createAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => React.JSX.Element);
32
+ declare function createAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => JSX.Element);
14
33
  /**
15
34
  * create memorized app in react function component, just create App after first mounted
16
35
  * @param option
17
36
  * @returns
18
37
  */
19
- export declare function useAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => React.JSX.Element);
38
+ export declare function useAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => JSX.Element);
20
39
  export default createAlfaApp;
@@ -1,10 +1,22 @@
1
1
  import React from 'react';
2
2
  import { AlfaFactoryOption } from './types';
3
- declare function createAlfaWidget<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & {}) => React.JSX.Element);
3
+ interface IProps {
4
+ /**
5
+ * 处理外跳链接
6
+ * @param url
7
+ * @returns
8
+ */
9
+ handleExternalLink?: (url: string) => void;
10
+ /**
11
+ * 根节点样式
12
+ */
13
+ style?: React.CSSProperties;
14
+ }
15
+ declare function createAlfaWidget<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => JSX.Element);
4
16
  /**
5
17
  * create memorized app in react function component, just create App after first mounted
6
18
  * @param option
7
19
  * @returns
8
20
  */
9
- export declare function useAlfaWidget<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & {}) => React.JSX.Element);
21
+ export declare function useAlfaWidget<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => JSX.Element);
10
22
  export default createAlfaWidget;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { BaseLoader } from '@alicloud/alfa-core';
3
3
  import { AlfaFactoryOption } from './types';
4
4
  interface IProps<C = any> extends AlfaFactoryOption {
@@ -7,6 +7,7 @@ interface IProps<C = any> extends AlfaFactoryOption {
7
7
  path?: string;
8
8
  __injectHistory?: any;
9
9
  __innerStamp?: string;
10
+ handleExternalLink?: (href: string) => void;
10
11
  };
11
12
  syncHistory?: boolean;
12
13
  basename?: string;
@@ -16,5 +17,5 @@ interface IProps<C = any> extends AlfaFactoryOption {
16
17
  * @param loader alfa-core loader
17
18
  * @returns
18
19
  */
19
- export default function createApplication(loader: BaseLoader): <C = any>(props: IProps<C>) => React.JSX.Element;
20
+ export default function createApplication(loader: BaseLoader): <C = any>(props: IProps<C>) => JSX.Element;
20
21
  export {};
package/types/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as Skeleton } from './components/Loading/Skeleton';
1
2
  export { default as createAlfaApp, useAlfaApp } from './createAlfaApp';
2
3
  export { default as createAlfaWidget, useAlfaWidget } from './createAlfaWidget';
3
4
  export { eventEmitter as widgetEventEmitter } from './widget/index';
@@ -14,6 +14,10 @@ export interface AlfaFactoryOption extends IAppConfig {
14
14
  loading?: boolean | React.ReactChild;
15
15
  dependencies?: Record<string, any>;
16
16
  className?: string;
17
+ /**
18
+ * @deprecated
19
+ * 根节点样式
20
+ */
17
21
  style?: Record<string, any>;
18
22
  unstable_runtime?: {
19
23
  css?: Record<string, string>;
@@ -1 +1 @@
1
- export declare const version = "1.4.40";
1
+ export declare const version = "1.5.0";
package/types/widget.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { WidgetFactoryOption } from './types';
3
- export declare function createCWSWidget<T>(option: WidgetFactoryOption): (props: T) => React.JSX.Element;
3
+ export declare function createCWSWidget<T>(option: WidgetFactoryOption): (props: T) => JSX.Element;