@arcblock/ux 0.78.26 → 1.6.60

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.
Files changed (174) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +0 -56
  3. package/lib/ActionButton/index.js +6 -4
  4. package/lib/ActivityIndicator/index.js +75 -23
  5. package/lib/Alert/index.js +15 -11
  6. package/lib/Async/index.js +1 -1
  7. package/lib/Badge/index.js +17 -15
  8. package/lib/Blocklet/index.js +261 -0
  9. package/lib/Button/wrap.js +96 -43
  10. package/lib/ButtonGroup/index.js +3 -16
  11. package/lib/Center/index.js +30 -4
  12. package/lib/ClickToCopy/index.js +10 -8
  13. package/lib/CodeBlock/index.js +40 -13
  14. package/lib/Colors/index.js +15 -0
  15. package/lib/Colors/themes/default.js +85 -0
  16. package/lib/ContactForm/index.js +9 -10
  17. package/lib/CookieConsent/index.js +98 -0
  18. package/lib/CountDown/index.js +18 -14
  19. package/lib/Dialog/confirm.js +84 -0
  20. package/lib/Dialog/dialog.js +137 -0
  21. package/lib/Dialog/index.js +23 -0
  22. package/lib/Earth/index.js +33 -33
  23. package/lib/Empty/index.js +61 -0
  24. package/lib/Footer/index.js +16 -18
  25. package/lib/Icon/image.js +10 -13
  26. package/lib/Icon/index.js +10 -8
  27. package/lib/Img/index.js +212 -0
  28. package/lib/InfoRow/index.js +7 -6
  29. package/lib/Layout/dashboard/header.js +60 -42
  30. package/lib/Layout/dashboard/index.js +72 -60
  31. package/lib/Layout/dashboard/sidebar.js +41 -25
  32. package/lib/Layout/index.js +113 -51
  33. package/lib/Locale/browser-lang.js +0 -2
  34. package/lib/Locale/context.js +85 -61
  35. package/lib/Locale/selector.js +33 -20
  36. package/lib/Logo/index.js +15 -13
  37. package/lib/Metric/index.js +5 -6
  38. package/lib/NFTDisplay/README.md +59 -0
  39. package/lib/NFTDisplay/aspect-ratio-container.js +52 -0
  40. package/lib/NFTDisplay/broken.js +25 -0
  41. package/lib/NFTDisplay/index.js +317 -0
  42. package/lib/NFTDisplay/loading.js +23 -0
  43. package/lib/NFTDisplay/svg-embedder/img.js +68 -0
  44. package/lib/NFTDisplay/svg-embedder/inline-svg.js +54 -0
  45. package/lib/PageScroller/index.js +10 -11
  46. package/lib/PageScroller/usePrevValue.js +2 -2
  47. package/lib/PricingTable/PricingPlan.js +12 -15
  48. package/lib/PricingTable/index.js +5 -5
  49. package/lib/QRCode/index.js +89 -0
  50. package/lib/Result/common.js +176 -0
  51. package/lib/Result/index.js +61 -0
  52. package/lib/Result/result.js +69 -0
  53. package/lib/Result/translations.js +61 -0
  54. package/lib/Screenshot/index.js +14 -13
  55. package/lib/Spinner/index.js +37 -0
  56. package/lib/SplitButton/index.js +126 -0
  57. package/lib/Switch/index.js +107 -0
  58. package/lib/Tabs/index.js +24 -47
  59. package/lib/Tag/index.js +15 -13
  60. package/lib/Terminal/Player.js +43 -45
  61. package/lib/Terminal/index.js +3 -1
  62. package/lib/Terminal/util.js +2 -3
  63. package/lib/TextCollapse/index.js +21 -14
  64. package/lib/Theme/index.js +79 -63
  65. package/lib/Theme/responsiveFontSizes.js +8 -8
  66. package/lib/Toast/index.js +12 -11
  67. package/lib/Util/index.js +197 -26
  68. package/lib/Video/index.js +8 -11
  69. package/lib/Wallet/Action.js +15 -13
  70. package/lib/Wallet/Download.js +60 -58
  71. package/lib/Wallet/Open.js +2 -2
  72. package/lib/WechatPrompt/index.js +10 -10
  73. package/lib/index.js +6 -6
  74. package/lib/withTheme/index.js +5 -17
  75. package/lib/withTracker/error_boundary.js +3 -3
  76. package/lib/withTracker/index.js +6 -7
  77. package/package.json +23 -17
  78. package/src/ActionButton/index.js +65 -0
  79. package/src/ActivityIndicator/index.js +141 -0
  80. package/src/Alert/index.js +104 -0
  81. package/src/Async/index.js +39 -0
  82. package/src/Badge/index.js +71 -0
  83. package/src/Blocklet/index.js +424 -0
  84. package/src/Button/index.js +4 -0
  85. package/src/Button/wrap.js +101 -0
  86. package/src/ButtonGroup/index.js +6 -0
  87. package/src/Center/index.js +40 -0
  88. package/src/ClickToCopy/index.js +90 -0
  89. package/src/CodeBlock/index.js +160 -0
  90. package/src/Colors/index.js +1 -0
  91. package/src/Colors/themes/default.js +54 -0
  92. package/src/ContactForm/index.js +240 -0
  93. package/src/CookieConsent/index.js +90 -0
  94. package/src/CountDown/index.js +151 -0
  95. package/src/Dialog/confirm.js +76 -0
  96. package/src/Dialog/dialog.js +162 -0
  97. package/src/Dialog/index.js +2 -0
  98. package/src/DriftBot/index.js +81 -0
  99. package/src/Earth/countries.json +8057 -0
  100. package/src/Earth/index.js +511 -0
  101. package/src/Earth/util.js +69 -0
  102. package/src/Empty/index.js +41 -0
  103. package/src/Footer/index.js +110 -0
  104. package/src/Icon/image.js +55 -0
  105. package/src/Icon/index.js +69 -0
  106. package/src/Img/index.js +172 -0
  107. package/src/InfoRow/index.js +83 -0
  108. package/src/Layout/dashboard/header.js +157 -0
  109. package/src/Layout/dashboard/index.js +150 -0
  110. package/src/Layout/dashboard/sidebar.js +122 -0
  111. package/src/Layout/index.js +318 -0
  112. package/src/Locale/browser-lang.js +63 -0
  113. package/src/Locale/context.js +94 -0
  114. package/src/Locale/images/globe-dark.png +0 -0
  115. package/src/Locale/images/globe-light.png +0 -0
  116. package/src/Locale/selector.js +135 -0
  117. package/src/Logo/images/logo-dark-text.svg +3 -0
  118. package/src/Logo/images/logo-dark-top.svg +6 -0
  119. package/src/Logo/images/logo-light-text.svg +3 -0
  120. package/src/Logo/images/logo-light-top.svg +6 -0
  121. package/src/Logo/index.js +47 -0
  122. package/src/Metric/index.js +115 -0
  123. package/src/NFTDisplay/README.md +59 -0
  124. package/src/NFTDisplay/aspect-ratio-container.js +34 -0
  125. package/src/NFTDisplay/broken.js +18 -0
  126. package/src/NFTDisplay/index.js +257 -0
  127. package/src/NFTDisplay/loading.js +17 -0
  128. package/src/NFTDisplay/svg-embedder/img.js +36 -0
  129. package/src/NFTDisplay/svg-embedder/inline-svg.js +37 -0
  130. package/src/PageScroller/index.js +342 -0
  131. package/src/PageScroller/usePrevValue.js +12 -0
  132. package/src/PricingTable/PricingPlan.js +112 -0
  133. package/src/PricingTable/index.js +43 -0
  134. package/src/QRCode/index.js +56 -0
  135. package/src/Result/common.js +116 -0
  136. package/src/Result/index.js +31 -0
  137. package/src/Result/result.js +57 -0
  138. package/src/Result/translations.js +56 -0
  139. package/src/Screenshot/devices.css +1366 -0
  140. package/src/Screenshot/index.js +181 -0
  141. package/src/Spinner/index.js +19 -0
  142. package/src/SplitButton/index.js +112 -0
  143. package/src/Switch/index.js +78 -0
  144. package/src/Tabs/index.js +46 -0
  145. package/src/Tag/index.js +73 -0
  146. package/src/Terminal/Player.js +364 -0
  147. package/src/Terminal/index.js +150 -0
  148. package/src/Terminal/player.css +378 -0
  149. package/src/Terminal/util.js +167 -0
  150. package/src/Terminal/xterm.css +171 -0
  151. package/src/TextCollapse/index.js +92 -0
  152. package/src/Theme/index.js +184 -0
  153. package/src/Theme/responsiveFontSizes.js +94 -0
  154. package/src/Toast/index.js +118 -0
  155. package/src/Util/index.js +281 -0
  156. package/src/Video/index.js +72 -0
  157. package/src/Wallet/Action.js +105 -0
  158. package/src/Wallet/Download.js +130 -0
  159. package/src/Wallet/Open.js +50 -0
  160. package/src/Wallet/images/abtwallet.png +0 -0
  161. package/src/Wallet/images/android_download.svg +23 -0
  162. package/src/Wallet/images/app-store.svg +20 -0
  163. package/src/Wallet/images/google-play.svg +70 -0
  164. package/src/WechatPrompt/images/android.png +0 -0
  165. package/src/WechatPrompt/images/ios.png +0 -0
  166. package/src/WechatPrompt/index.js +81 -0
  167. package/src/index.js +63 -0
  168. package/src/withTheme/index.js +72 -0
  169. package/src/withTracker/README.md +34 -0
  170. package/src/withTracker/error_boundary.js +34 -0
  171. package/src/withTracker/index.js +70 -0
  172. package/lib/GraphQLPlayground/graphiql.css +0 -1850
  173. package/lib/GraphQLPlayground/index.js +0 -302
  174. package/lib/GraphQLPlayground/util.js +0 -55
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _core = require("@material-ui/core");
13
+
14
+ var _reactIntersectionObserver = require("react-intersection-observer");
15
+
16
+ var _Alert = _interopRequireDefault(require("mdi-material-ui/Alert"));
17
+
18
+ var _Image = _interopRequireDefault(require("mdi-material-ui/Image"));
19
+
20
+ const _excluded = ["lazy", "width", "height", "repeat", "ratio", "alt", "size", "position", "src", "placeholder", "fallback", "style", "className", "onError", "onSuccess"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ const useStyles = (0, _core.makeStyles)(() => ({
39
+ root: {
40
+ position: 'relative',
41
+ overflow: 'hidden',
42
+ '& .image--state, & .image--img': {
43
+ minWidth: '100%',
44
+ minHeight: '100%',
45
+ position: 'absolute',
46
+ top: 0,
47
+ left: '50%',
48
+ transform: 'translateX(-50%)'
49
+ },
50
+ '& .image--state': {
51
+ display: 'flex',
52
+ flexDirection: 'column',
53
+ justifyContent: 'center',
54
+ alignItems: 'center',
55
+ color: '#999',
56
+ background: '#eee',
57
+ width: '100%',
58
+ height: '100%'
59
+ },
60
+ '& .image--img': {
61
+ opacity: 0
62
+ },
63
+ '& .image--icon': {
64
+ fontSize: 30,
65
+ maxWidth: '80%',
66
+ maxHeight: '80%'
67
+ }
68
+ }
69
+ }));
70
+
71
+ function Img(_ref) {
72
+ let {
73
+ lazy,
74
+ width,
75
+ height,
76
+ repeat,
77
+ ratio,
78
+ alt,
79
+ size,
80
+ position,
81
+ src,
82
+ placeholder,
83
+ fallback,
84
+ style,
85
+ className,
86
+ onError,
87
+ onSuccess
88
+ } = _ref,
89
+ rest = _objectWithoutProperties(_ref, _excluded);
90
+
91
+ const classes = useStyles();
92
+ const [ref, inView] = lazy ? (0, _reactIntersectionObserver.useInView)({
93
+ threshold: 0,
94
+ triggerOnce: true
95
+ }) : [null, true];
96
+ const [imgState, setImgState] = (0, _react.useState)('init');
97
+ const actualSrc = (0, _react.useMemo)(() => {
98
+ switch (imgState) {
99
+ case 'init':
100
+ case 'loading':
101
+ return placeholder;
102
+
103
+ case 'error':
104
+ return fallback;
105
+
106
+ case 'loaded':
107
+ return src;
108
+
109
+ default:
110
+ return null;
111
+ }
112
+ }, [placeholder, fallback, src, imgState]);
113
+ const actualRatio = (0, _react.useMemo)(() => {
114
+ if (width && height) return 100 * height / width;
115
+ return ratio * 100;
116
+ });
117
+ const mergedStyle = (0, _react.useMemo)(() => ({
118
+ backgroundImage: actualSrc ? "url(".concat(actualSrc, ")") : '',
119
+ backgroundPosition: position,
120
+ backgroundSize: size,
121
+ backgroundRepeat: repeat,
122
+ paddingTop: "".concat(actualRatio, "%")
123
+ }), [actualSrc, position, size, imgState]);
124
+
125
+ const outerStyle = _objectSpread(_objectSpread({}, style), {}, {
126
+ display: 'inline-block',
127
+ width: width ? "".concat(width, "px") : '100%'
128
+ });
129
+
130
+ function loadImg() {
131
+ const img = new Image();
132
+ img.src = src;
133
+ setImgState('loading');
134
+
135
+ img.onload = () => {
136
+ setImgState('loaded');
137
+ onSuccess();
138
+ };
139
+
140
+ img.onerror = err => {
141
+ setImgState('error');
142
+ onError(err);
143
+ };
144
+ }
145
+
146
+ (0, _react.useEffect)(() => {
147
+ if (inView) loadImg();
148
+ }, [inView]);
149
+ return (
150
+ /*#__PURE__*/
151
+ // paddingTop 要求元素本身的宽度为 100%,所以只能加一个外层元素去限制宽度
152
+ _react.default.createElement("div", Object.assign({
153
+ ref: ref,
154
+ style: outerStyle
155
+ }, rest), /*#__PURE__*/_react.default.createElement("div", {
156
+ className: "image ".concat(className, " ").concat(classes.root),
157
+ style: mergedStyle
158
+ }, !fallback && imgState === 'error' && /*#__PURE__*/_react.default.createElement("div", {
159
+ className: "image--state",
160
+ title: "loading image"
161
+ }, /*#__PURE__*/_react.default.createElement(_core.SvgIcon, {
162
+ component: _Alert.default,
163
+ className: "image--icon"
164
+ })), !placeholder && imgState === 'loading' && /*#__PURE__*/_react.default.createElement("div", {
165
+ className: "image--state",
166
+ title: "Image load error"
167
+ }, /*#__PURE__*/_react.default.createElement(_core.SvgIcon, {
168
+ component: _Image.default,
169
+ className: "image--icon"
170
+ })), imgState === 'loaded' && /*#__PURE__*/_react.default.createElement("img", {
171
+ className: "image--img",
172
+ src: src,
173
+ alt: alt
174
+ })))
175
+ );
176
+ }
177
+
178
+ Img.propTypes = {
179
+ src: _propTypes.default.string.isRequired,
180
+ alt: _propTypes.default.string,
181
+ size: _propTypes.default.string,
182
+ position: _propTypes.default.string,
183
+ style: _propTypes.default.object,
184
+ ratio: _propTypes.default.number,
185
+ repeat: _propTypes.default.string,
186
+ width: _propTypes.default.number,
187
+ height: _propTypes.default.number,
188
+ lazy: _propTypes.default.bool,
189
+ placeholder: _propTypes.default.string,
190
+ fallback: _propTypes.default.string,
191
+ className: _propTypes.default.string,
192
+ onError: _propTypes.default.func,
193
+ onSuccess: _propTypes.default.func
194
+ };
195
+ Img.defaultProps = {
196
+ alt: null,
197
+ size: 'cover',
198
+ position: 'top center',
199
+ repeat: 'no-repeat',
200
+ style: null,
201
+ ratio: 1,
202
+ width: null,
203
+ height: null,
204
+ lazy: true,
205
+ placeholder: null,
206
+ fallback: null,
207
+ className: '',
208
+ onError: () => {},
209
+ onSuccess: () => {}
210
+ };
211
+ var _default = Img;
212
+ exports.default = _default;
@@ -17,14 +17,15 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
17
 
18
18
  var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
19
19
 
20
+ const _excluded = ["name", "nameFormatter", "layout", "children", "valueComponent", "nameWidth"];
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  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; }
23
25
 
24
26
  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; }
25
27
 
26
- // eslint-disable-next-line object-curly-newline
27
- const InfoRow = (_ref) => {
28
+ const InfoRow = _ref => {
28
29
  let {
29
30
  name,
30
31
  nameFormatter,
@@ -33,15 +34,15 @@ const InfoRow = (_ref) => {
33
34
  valueComponent,
34
35
  nameWidth
35
36
  } = _ref,
36
- rest = _objectWithoutProperties(_ref, ["name", "nameFormatter", "layout", "children", "valueComponent", "nameWidth"]);
37
+ rest = _objectWithoutProperties(_ref, _excluded);
37
38
 
38
- return _react.default.createElement(Container, Object.assign({
39
+ return /*#__PURE__*/_react.default.createElement(Container, Object.assign({
39
40
  layout: layout,
40
41
  width: nameWidth
41
- }, rest), _react.default.createElement(_Typography.default, {
42
+ }, rest), /*#__PURE__*/_react.default.createElement(_Typography.default, {
42
43
  color: "textSecondary",
43
44
  className: "info-row__name"
44
- }, nameFormatter(name)), children && _react.default.createElement(_Typography.default, {
45
+ }, nameFormatter(name)), children && /*#__PURE__*/_react.default.createElement(_Typography.default, {
45
46
  color: "textPrimary",
46
47
  component: valueComponent,
47
48
  className: "info-row__value"
@@ -11,65 +11,84 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
 
14
- var _reactRouterDom = require("react-router-dom");
14
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
15
15
 
16
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
16
+ var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
17
17
 
18
- var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
18
+ var _Toolbar = _interopRequireDefault(require("@material-ui/core/Toolbar"));
19
+
20
+ var _Box = _interopRequireDefault(require("@material-ui/core/Box"));
21
+
22
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
19
23
 
20
24
  var _Menu = _interopRequireDefault(require("@material-ui/icons/Menu"));
21
25
 
22
- var _Logo = _interopRequireDefault(require("@arcblock/ux/lib/Logo"));
26
+ var _reactRouterDom = require("react-router-dom");
27
+
28
+ var _Logo = _interopRequireDefault(require("../../Logo"));
29
+
30
+ const _excluded = ["children", "brand", "brandAddon", "description", "addons", "onToggleMenu", "homeUrl", "logo"];
23
31
 
24
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
33
 
26
- // eslint-disable-next-line import/no-unresolved
27
- // eslint-disable-next-line object-curly-newline
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ const StyledAppBar = (0, _styledComponents.default)(_AppBar.default).withConfig({
39
+ displayName: "header__StyledAppBar",
40
+ componentId: "sc-yt81c4-0"
41
+ })(["&&{z-index:", ";background:", ";box-shadow:none;top:0;height:auto;}.header-toolbar{background:", ";color:", ";margin:", "px 0;}.header-link{display:flex;text-decoration:none;flex-shrink:1;overflow:hidden;}.header-logo{margin-right:20px;}.header-title{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}.header-title__primary{font-size:24px;font-weight:800;color:", ";text-transform:uppercase;display:flex;align-items:center;}.header-title__secondary{font-size:14px;line-height:1.71;color:", ";}.header-addons{display:flex;justify-content:center;align-items:center;flex-shrink:9999999;.user-addon{.header-avatar{width:32px;border-radius:16px;height:auto;}}}.header-menu{display:none;}@media (max-width:", "px){.header-logo{position:absolute;width:0;height:0;overflow:hidden;}.header-title{display:none;}.header-title__primary{font-size:20px;}.header-menu{display:block;}}"], props => props.theme.zIndex.drawer + 1, props => props.theme.palette.background.default, props => props.theme.palette.background.default, props => props.theme.palette.text.primary, props => props.theme.spacing(1), props => props.theme.typography.color.main, props => props.theme.typography.color.gray, props => props.theme.breakpoints.values.md);
42
+
28
43
  function Header(_ref) {
29
44
  let {
30
- onToggleMenu,
45
+ children,
31
46
  brand,
32
47
  brandAddon,
33
48
  description,
34
- children,
35
- addons
36
- } = _ref;
37
- return _react.default.createElement(Div, null, _react.default.createElement(_IconButton.default, {
49
+ addons,
50
+ onToggleMenu,
51
+ homeUrl,
52
+ logo
53
+ } = _ref,
54
+ rest = _objectWithoutProperties(_ref, _excluded);
55
+
56
+ return /*#__PURE__*/_react.default.createElement(StyledAppBar, Object.assign({
57
+ position: "sticky",
58
+ className: "header"
59
+ }, rest), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
60
+ disableGutters: false,
61
+ className: "header-toolbar"
62
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
38
63
  color: "inherit",
39
64
  "aria-label": "open drawer",
40
65
  edge: "start",
41
- onClick: onToggleMenu,
42
- className: "menu-addon"
43
- }, _react.default.createElement(_Menu.default, null)), _react.default.createElement(_reactRouterDom.Link, {
44
- to: "/",
66
+ className: "header-menu",
67
+ onClick: onToggleMenu
68
+ }, /*#__PURE__*/_react.default.createElement(_Menu.default, null)), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, {
69
+ to: homeUrl,
45
70
  className: "header-link"
46
- }, _react.default.createElement("div", {
47
- className: "header-image"
48
- }, _react.default.createElement(_Logo.default, {
71
+ }, /*#__PURE__*/_react.default.createElement("div", {
72
+ className: "header-logo"
73
+ }, logo || /*#__PURE__*/_react.default.createElement(_Logo.default, {
49
74
  showText: false
50
- })), _react.default.createElement("div", {
75
+ })), /*#__PURE__*/_react.default.createElement("div", {
51
76
  className: "header-title"
52
- }, _react.default.createElement(_Typography.default, {
77
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
53
78
  component: "h2",
54
79
  noWrap: true,
55
- className: "header-title__primary header-title--desktop"
56
- }, brand, brandAddon), _react.default.createElement(_Typography.default, {
80
+ className: "header-title__primary"
81
+ }, brand, brandAddon), /*#__PURE__*/_react.default.createElement(_Typography.default, {
57
82
  component: "p",
58
83
  noWrap: true,
59
- className: "header-title__secondary header-title--desktop"
60
- }, description), _react.default.createElement(_Typography.default, {
61
- component: "h2",
62
- noWrap: true,
63
- className: "header-title__primary header-title--mobile"
64
- }, brand, brandAddon), _react.default.createElement(_Typography.default, {
65
- component: "p",
66
- noWrap: true,
67
- className: "header-title__secondary header-title--mobile"
68
- }, description))), !!children && _react.default.createElement("div", {
84
+ className: "header-title__secondary"
85
+ }, description))), /*#__PURE__*/_react.default.createElement(_Box.default, {
86
+ flexGrow: 1
87
+ }), !!children && /*#__PURE__*/_react.default.createElement("div", {
69
88
  className: "header-children"
70
- }, children), _react.default.createElement("div", {
89
+ }, children), /*#__PURE__*/_react.default.createElement("div", {
71
90
  className: "header-addons"
72
- }, addons));
91
+ }, addons)));
73
92
  }
74
93
 
75
94
  Header.propTypes = {
@@ -78,15 +97,14 @@ Header.propTypes = {
78
97
  brandAddon: _propTypes.default.object,
79
98
  description: _propTypes.default.string.isRequired,
80
99
  children: _propTypes.default.any,
81
- addons: _propTypes.default.any
100
+ addons: _propTypes.default.any,
101
+ homeUrl: _propTypes.default.string,
102
+ logo: _propTypes.default.any
82
103
  };
83
104
  Header.defaultProps = {
84
105
  children: null,
85
106
  addons: null,
86
- brandAddon: null
87
- };
88
-
89
- const Div = _styledComponents.default.div.withConfig({
90
- displayName: "header__Div",
91
- componentId: "yt81c4-0"
92
- })(["flex:1;display:flex;justify-content:space-between;align-items:center;.menu-addon{@media (min-width:", "px){display:none;}}.header-link{display:flex;flex:1;.header-image{margin-right:", "px;margin-left:0;margin-top:8px;position:relative;color:", ";display:flex;flex-direction:column;@media (max-width:", "px){display:none;}}.header-title{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;.header-title--mobile{display:none;}@media (max-width:", "px){.header-title--desktop{display:none;}}}.header-title__primary{font-size:24px;font-weight:800;color:", ";text-transform:uppercase;display:flex;align-items:center;@media (max-width:", "px){font-size:22px;}}.header-title__secondary{font-size:14px;line-height:1.71;color:", ";}}.header-addons{display:flex;justify-content:center;align-items:center;.user-addon{.header-avatar{width:32px;border-radius:16px;height:auto;}}}"], props => props.theme.breakpoints.values.md, props => props.theme.spacing(2), props => props.theme.colors.green, props => props.theme.breakpoints.values.md, props => props.theme.breakpoints.values.lg, props => props.theme.typography.color.main, props => props.theme.breakpoints.values.md, props => props.theme.typography.color.gray);
107
+ brandAddon: null,
108
+ homeUrl: '/',
109
+ logo: null
110
+ };
@@ -9,45 +9,60 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
-
14
12
  var _reactHelmet = _interopRequireDefault(require("react-helmet"));
15
13
 
16
- var _useWindowSize = _interopRequireDefault(require("react-use/lib/useWindowSize"));
17
-
18
- var _Drawer = _interopRequireDefault(require("@material-ui/core/Drawer"));
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
15
 
20
- var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
16
+ var _Container = _interopRequireDefault(require("@material-ui/core/Container"));
21
17
 
22
- var _Toolbar = _interopRequireDefault(require("@material-ui/core/Toolbar"));
18
+ var _Box = _interopRequireDefault(require("@material-ui/core/Box"));
23
19
 
24
- var _Container = _interopRequireDefault(require("@material-ui/core/Container"));
20
+ var _Drawer = _interopRequireDefault(require("@material-ui/core/Drawer"));
25
21
 
26
- var _Footer = _interopRequireDefault(require("@arcblock/ux/lib/Footer"));
22
+ var _useWindowSize = _interopRequireDefault(require("react-use/lib/useWindowSize"));
27
23
 
28
24
  var _sidebar = _interopRequireDefault(require("./sidebar"));
29
25
 
30
26
  var _header = _interopRequireDefault(require("./header"));
31
27
 
28
+ var _Footer = _interopRequireDefault(require("../../Footer"));
29
+
30
+ const _excluded = ["children", "title", "brand", "description", "brandAddon", "headerAddon", "images", "links", "prefix", "fullWidth", "contentLayout", "className", "homeUrl", "logo"];
31
+
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ 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; }
35
39
 
36
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
40
+ 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; }
41
+
42
+ const Wrapper = _styledComponents.default.div.withConfig({
43
+ displayName: "dashboard__Wrapper",
44
+ componentId: "sc-arvc7q-0"
45
+ })(["&.dashboard{display:flex;flex-direction:column;height:100vh;}.dashboard__body{overflow:hidden;flex:1;}.dashboard__main{display:flex;flex-direction:column;overflow:auto;flex:1;}.dashboard__content{flex:1;}.dashboard__footer{padding-left:30px;}.drawerPaper{position:relative;white-space:nowrap;width:120px;background:", ";box-shadow:2px 16px 10px 0 rgba(0,0,0,", ");border:0;}"], props => props.theme.palette.background.default, props => props.theme.mode === 'light' ? 0.05 : 0.5);
37
46
 
38
47
  function Dashboard(_ref) {
39
48
  let {
40
49
  children,
41
- links,
42
- images,
43
50
  title,
44
51
  brand,
45
- brandAddon,
46
52
  description,
53
+ brandAddon,
47
54
  headerAddon,
55
+ images,
56
+ links,
57
+ prefix,
58
+ fullWidth,
48
59
  contentLayout,
49
- prefix
50
- } = _ref;
60
+ className,
61
+ homeUrl,
62
+ logo
63
+ } = _ref,
64
+ rest = _objectWithoutProperties(_ref, _excluded);
65
+
51
66
  const breakpoint = 960;
52
67
  const {
53
68
  width
@@ -64,30 +79,24 @@ function Dashboard(_ref) {
64
79
  setDrawerOpen(!drawerOpen);
65
80
  };
66
81
 
67
- const contentStyle = {};
68
-
69
- if (contentLayout === 'row') {
70
- contentStyle.width = '100%';
71
- contentStyle.maxWidth = '100%';
72
- contentStyle.paddingLeft = 0;
73
- contentStyle.paddingRight = 0;
74
- }
75
-
76
- return _react.default.createElement(Wrapper, null, _react.default.createElement(_reactHelmet.default, {
82
+ const isFullWidth = fullWidth || contentLayout === 'row';
83
+ return /*#__PURE__*/_react.default.createElement(Wrapper, Object.assign({
84
+ className: "dashboard ".concat(className)
85
+ }, rest), /*#__PURE__*/_react.default.createElement(_reactHelmet.default, {
77
86
  title: "".concat(title, "-").concat(brand)
78
- }), _react.default.createElement(_AppBar.default, {
79
- position: "absolute",
80
- className: "appBar"
81
- }, _react.default.createElement(_Toolbar.default, {
82
- disableGutters: false,
83
- className: "toolbar"
84
- }, _react.default.createElement(_header.default, {
87
+ }), /*#__PURE__*/_react.default.createElement(_header.default, {
88
+ className: "dashboard__header",
85
89
  onToggleMenu: onToggleDrawer,
86
90
  brand: brand,
87
91
  brandAddon: brandAddon,
88
92
  description: description,
89
- addons: headerAddon
90
- }))), _react.default.createElement(_Drawer.default, {
93
+ addons: headerAddon,
94
+ homeUrl: homeUrl,
95
+ logo: logo
96
+ }), /*#__PURE__*/_react.default.createElement(_Box.default, {
97
+ display: "flex",
98
+ className: "dashboard__body"
99
+ }, /*#__PURE__*/_react.default.createElement(_Drawer.default, {
91
100
  variant: drawerMode,
92
101
  className: "drawer",
93
102
  classes: {
@@ -99,44 +108,47 @@ function Dashboard(_ref) {
99
108
  disablePortal: true,
100
109
  keepMounted: true
101
110
  }
102
- }, _react.default.createElement(_sidebar.default, {
111
+ }, /*#__PURE__*/_react.default.createElement(_sidebar.default, {
112
+ className: "dashboard__sidebar",
103
113
  images: images,
104
114
  links: links,
105
- prefix: prefix
106
- })), _react.default.createElement("main", {
107
- className: "main"
108
- }, _react.default.createElement(Content, {
109
- layout: contentLayout,
110
- style: contentStyle,
111
- maxWidth: false
112
- }, children, _react.default.createElement(_Footer.default, null))));
115
+ prefix: prefix,
116
+ logo: logo
117
+ })), /*#__PURE__*/_react.default.createElement(_Box.default, {
118
+ className: "dashboard__main"
119
+ }, /*#__PURE__*/_react.default.createElement(_Container.default, {
120
+ maxWidth: isFullWidth ? false : 'lg',
121
+ className: "dashboard__content"
122
+ }, children), /*#__PURE__*/_react.default.createElement(_Footer.default, {
123
+ className: "dashboard__footer"
124
+ }))));
113
125
  }
114
126
 
115
127
  Dashboard.propTypes = {
116
128
  children: _propTypes.default.any.isRequired,
129
+ title: _propTypes.default.string,
130
+ brand: _propTypes.default.string.isRequired,
117
131
  links: _propTypes.default.array.isRequired,
118
132
  images: _propTypes.default.object.isRequired,
119
- contentLayout: _propTypes.default.string,
120
- brand: _propTypes.default.string.isRequired,
121
133
  brandAddon: _propTypes.default.object,
122
134
  description: _propTypes.default.string.isRequired,
123
- title: _propTypes.default.string,
124
135
  headerAddon: _propTypes.default.any,
125
- prefix: _propTypes.default.string
136
+ prefix: _propTypes.default.string,
137
+ // 兼容旧版的设置,新版使用 fullWidth 进行设置
138
+ contentLayout: _propTypes.default.oneOf(['row', 'column']),
139
+ fullWidth: _propTypes.default.bool,
140
+ className: _propTypes.default.string,
141
+ homeUrl: _propTypes.default.string,
142
+ logo: _propTypes.default.any
126
143
  };
127
144
  Dashboard.defaultProps = {
128
- contentLayout: 'column',
129
145
  title: 'Home',
146
+ contentLayout: 'column',
130
147
  headerAddon: null,
131
148
  brandAddon: null,
132
- prefix: '/images'
133
- };
134
- const Content = (0, _styledComponents.default)(_Container.default).withConfig({
135
- displayName: "dashboard__Content",
136
- componentId: "arvc7q-0"
137
- })(["height:", ";overflow:", ";margin-top:", "px;flex:1 0 auto;display:flex;flex-direction:", ";box-sizing:border-box;max-width:1440px;@media (max-width:", "px){flex:0 1 auto;}"], props => props.layout === 'row' ? '100%' : 'auto', props => props.layout === 'row' ? 'hidden' : 'auto', props => props.layout === 'row' ? 0 : 32, props => props.layout, props => props.theme.breakpoints.values.md);
138
-
139
- const Wrapper = _styledComponents.default.div.withConfig({
140
- displayName: "dashboard__Wrapper",
141
- componentId: "arvc7q-1"
142
- })(["display:flex;.toolbar{background:", ";color:", ";margin-top:", "px;}.network-switcher{align-self:center;}.appBar{z-index:", ";background:", ";box-shadow:0 0 0 0 transparent;}.drawer{width:120px;}.drawerPaper{position:relative;padding-top:80px;white-space:no-wrap;width:120px;background:", ";box-shadow:2px 16px 10px 0 rgba(0,0,0,", ");border:0;}.search-box{@media (max-width:", "px){display:none;}}.main{flex-grow:1;padding-top:80px;height:100vh;overflow:auto;box-sizing:border-box;position:relative;@media (max-width:", "px){padding-top:50px;}.secondary-links{@media (max-width:", "px){display:none;}}}h5{margin-bottom:", "px;}"], props => props.theme.palette.background.default, props => props.theme.palette.text.primary, props => props.theme.spacing(1), props => props.theme.zIndex.drawer + 1, props => props.theme.palette.background.default, props => props.theme.palette.background.default, props => props.theme.mode === 'light' ? 0.05 : 0.5, props => props.theme.breakpoints.values.md, props => props.theme.breakpoints.values.md, props => props.theme.breakpoints.values.md, props => props.theme.spacing(2));
149
+ prefix: '/images',
150
+ fullWidth: false,
151
+ className: '',
152
+ homeUrl: '/',
153
+ logo: null
154
+ };