@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,261 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ActionButton = void 0;
7
+ exports.default = Blocklet;
8
+
9
+ var _react = _interopRequireWildcard(require("react"));
10
+
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+
15
+ var _Portal = _interopRequireDefault(require("@material-ui/core/Portal"));
16
+
17
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
18
+
19
+ var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
20
+
21
+ var _useMediaQuery = _interopRequireDefault(require("@material-ui/core/useMediaQuery"));
22
+
23
+ var _useTheme = _interopRequireDefault(require("@material-ui/core/styles/useTheme"));
24
+
25
+ var _Avatar = _interopRequireDefault(require("@arcblock/did-connect/lib/Avatar"));
26
+
27
+ var _Icon = _interopRequireDefault(require("../Icon"));
28
+
29
+ var _Button = _interopRequireDefault(require("../Button"));
30
+
31
+ var _Img = _interopRequireDefault(require("../Img"));
32
+
33
+ const _excluded = ["title", "did", "description", "cover", "type", "size", "addons", "button", "buttonText", "buttonDisabled", "buttonLoading", "isStickyButton", "onButtonClick", "onMainClick", "onTagClick", "className", "scaleClickZone"];
34
+
35
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
+
37
+ 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); }
38
+
39
+ 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; }
40
+
41
+ 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; }
42
+
43
+ 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; }
44
+
45
+ const Div = _styledComponents.default.div.withConfig({
46
+ displayName: "Blocklet__Div",
47
+ componentId: "sc-3dga5l-0"
48
+ })(["&.arcblock-blocklet{padding:0 16px;background:", ";overflow:hidden;box-shadow:0px 0px 8px #f0f0f0;&:hover{box-shadow:0px 2px 12px #f0f0f0;}}.arcblock-blocklet__content{padding:16px 0 0 0;}.arcblock-blocklet__content--main{display:flex;align-items:center;cursor:pointer;}.arcblock-blocklet__content--body{overflow:hidden;flex:1;display:flex;align-items:flex-start;}.arcblock-blocklet__addons{padding:16px 0;}.arcblock-blocklet__cover{width:80px;height:80px;margin-right:12px;overflow:hidden;border-radius:12px;transform:translateZ(0);}.arcblock-blocklet__info{flex:1;overflow:hidden;.arcblock-blocklet__button{margin-top:16px;display:inline-block;}}.arcblock-blocklet__button--hover{&:not(.Mui-disabled){position:relative;z-index:1;&::before{content:'';position:absolute;height:100%;width:100%;left:0;top:0;transition:opacity 0.3s;}&:hover::before{opacity:0;}&::after{content:'';position:absolute;height:100%;width:100%;background-color:", ";transform:scale(0.1);opacity:0;z-index:-1;transition:transform 0.3s,opacity 0.3s,background-color 0.3s;}&:hover::after{opacity:1;transform-origin:center;transform:scale(1);}}&:not(.Mui-disabled){background-color:transparent !important;color:", ";}&:not(.Mui-disabled){&:hover{color:", ";}}}.arcblock-blocklet__title{margin:0;font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.arcblock-blocklet__describe{margin:0 0 2px 0;color:#999;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.arcblock-blocklet__addons{display:flex;justify-content:space-between;color:#999;font-size:14px;position:relative;}.arcblock-blocklet__addons--item{white-space:nowrap;}&.arcblock-blocklet--size-md{&:hover{position:relative;}.arcblock-blocklet__title{height:2.3em;margin-bottom:3px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:initial;white-space:initial;word-break:break-all;}.arcblock-blocklet__describe{white-space:normal;height:2.86em;}.arcblock-blocklet__button{margin-top:5px;}}&.arcblock-blocklet--size-sm,&.arcblock-blocklet--size-xs{.arcblock-blocklet__cover{width:40px;height:40px;border-radius:6px;}.arcblock-blocklet__content{padding:16px 0;}.arcblock-blocklet__addons{padding:8px 0;.arcblock-blocklet__addons--item{font-size:12px;}}}&.arcblock-blocklet--size-xs{.arcblock-blocklet__addons{display:none !important;}}"], props => props.theme.palette.common.white, props => props.theme.palette.primary.main, props => props.theme.palette.primary.main, props => props.theme.palette.common.white);
49
+
50
+ const ActionButton = _styledComponents.default.div.withConfig({
51
+ displayName: "Blocklet__ActionButton",
52
+ componentId: "sc-3dga5l-1"
53
+ })(["background-color:transparent !important;& >:not(.Mui-disabled){position:relative;z-index:1;&::before{content:'';position:absolute;height:100%;width:100%;left:0;top:0;transition:opacity 0.3s;}&:hover::before{opacity:0;}&::after{content:'';position:absolute;height:100%;width:100%;background-color:", ";transform:scale(0.1);opacity:0;z-index:-1;transition:transform 0.3s,opacity 0.3s,background-color 0.3s;}&:hover::after{opacity:1;transform-origin:center;transform:scale(1);}}& >:not(.Mui-disabled){background-color:transparent !important;color:", "!important;}& >:not(.Mui-disabled){&:hover{color:", "!important;}}"], props => props.theme.palette.primary.main, props => props.theme.palette.primary.main, props => props.theme.palette.common.white);
54
+
55
+ exports.ActionButton = ActionButton;
56
+
57
+ function BlockletIcon(_ref) {
58
+ let {
59
+ name
60
+ } = _ref;
61
+ return /*#__PURE__*/_react.default.createElement(_Icon.default, {
62
+ name: name,
63
+ color: "inherit",
64
+ size: 15,
65
+ style: {
66
+ marginRight: 8
67
+ }
68
+ });
69
+ }
70
+
71
+ BlockletIcon.propTypes = {
72
+ name: _propTypes.default.string.isRequired
73
+ };
74
+
75
+ function prettySize(_size) {
76
+ let size = _size;
77
+ const list = ['', 'k', 'm', 'b'];
78
+ let index = 0;
79
+
80
+ while (size > 1000 && index < list.length - 1) {
81
+ size = (size / 1000).toFixed(1);
82
+ index += 1;
83
+ }
84
+
85
+ return _size && "".concat(size).concat(list[index]);
86
+ }
87
+
88
+ function Blocklet(_ref2) {
89
+ let {
90
+ title,
91
+ did,
92
+ description,
93
+ cover,
94
+ type,
95
+ size,
96
+ addons,
97
+ button,
98
+ buttonText,
99
+ buttonDisabled,
100
+ buttonLoading,
101
+ isStickyButton,
102
+ onButtonClick,
103
+ onMainClick,
104
+ onTagClick,
105
+ className,
106
+ scaleClickZone
107
+ } = _ref2,
108
+ rest = _objectWithoutProperties(_ref2, _excluded);
109
+
110
+ const wrapHandler = function wrapHandler(handler) {
111
+ let stopFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => false;
112
+ return function (e) {
113
+ if (stopFn()) {
114
+ e.preventDefault();
115
+ e.stopPropagation();
116
+ } else if (handler instanceof Function) {
117
+ e.preventDefault();
118
+ e.stopPropagation();
119
+
120
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
121
+ args[_key - 1] = arguments[_key];
122
+ }
123
+
124
+ handler(...args);
125
+ }
126
+ };
127
+ };
128
+
129
+ const _onButtonClick = wrapHandler(onButtonClick, () => {
130
+ // stop click while custom button or buttonDisabled or buttondLoading
131
+ if (button || buttonDisabled || buttonLoading) {
132
+ return true;
133
+ }
134
+
135
+ return false;
136
+ });
137
+
138
+ const _onMainClick = wrapHandler(onMainClick);
139
+
140
+ const theme = (0, _useTheme.default)();
141
+ const isDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('sm'));
142
+ const isDownMd = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));
143
+ const isUPLg = (0, _useMediaQuery.default)(theme.breakpoints.up('lg')); // If size is auto, need calculate actual size according to screen size
144
+ // eslint-disable-next-line no-nested-ternary
145
+
146
+ const actualSize = size === 'auto' ? isDownSm ? 'xs' : isDownMd ? 'sm' : 'md' : size; // eslint-disable-next-line no-nested-ternary
147
+
148
+ const didAvatarSize = size === 'auto' ? isUPLg ? 80 : 40 : size === 'md' ? 80 : 40;
149
+ const container = (0, _react.useRef)(null);
150
+ return /*#__PURE__*/_react.default.createElement(Div, Object.assign({}, rest, {
151
+ scaleClickZone: scaleClickZone,
152
+ className: "".concat(className, " arcblock-blocklet arcblock-blocklet--size-").concat(actualSize)
153
+ }), /*#__PURE__*/_react.default.createElement("div", {
154
+ className: "arcblock-blocklet__content"
155
+ }, /*#__PURE__*/_react.default.createElement("div", {
156
+ className: "arcblock-blocklet__content--main",
157
+ onClick: _onMainClick,
158
+ ref: container
159
+ }, /*#__PURE__*/_react.default.createElement("div", {
160
+ className: "arcblock-blocklet__content--body"
161
+ }, cover ? /*#__PURE__*/_react.default.createElement("div", {
162
+ className: "arcblock-blocklet__cover"
163
+ }, /*#__PURE__*/_react.default.createElement(_Img.default, {
164
+ src: cover
165
+ })) : did && /*#__PURE__*/_react.default.createElement("div", {
166
+ className: "arcblock-blocklet__cover"
167
+ }, /*#__PURE__*/_react.default.createElement(_Avatar.default, {
168
+ did: did,
169
+ size: didAvatarSize
170
+ })), /*#__PURE__*/_react.default.createElement("div", {
171
+ className: "arcblock-blocklet__info"
172
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
173
+ component: "h3",
174
+ variant: "h3",
175
+ className: "arcblock-blocklet__title",
176
+ title: title
177
+ }, title), description && /*#__PURE__*/_react.default.createElement(_Typography.default, {
178
+ component: "div",
179
+ variant: "body2",
180
+ className: "arcblock-blocklet__describe",
181
+ title: description
182
+ }, description), ['md', 'sm', 'xs'].includes(actualSize) && /*#__PURE__*/_react.default.createElement(_Portal.default, {
183
+ container: container.current,
184
+ disablePortal: actualSize === 'md'
185
+ }, /*#__PURE__*/_react.default.createElement("div", {
186
+ className: "arcblock-blocklet__button",
187
+ onClick: _onButtonClick,
188
+ style: {
189
+ display: isStickyButton ? 'block' : ''
190
+ }
191
+ }, button || onButtonClick && /*#__PURE__*/_react.default.createElement(_Button.default, {
192
+ className: "arcblock-blocklet__button--hover",
193
+ variant: "outlined",
194
+ color: "primary",
195
+ size: "small",
196
+ disabled: buttonDisabled || buttonLoading,
197
+ style: actualSize === 'md' ? {
198
+ padding: '3px 20px',
199
+ fontSize: '14px'
200
+ } : {
201
+ padding: '3px 15px',
202
+ minWidth: '54px',
203
+ fontSize: '13px'
204
+ }
205
+ }, buttonLoading && /*#__PURE__*/_react.default.createElement(_CircularProgress.default, {
206
+ size: actualSize === 'md' ? 15 : 13,
207
+ style: {
208
+ marginRight: 3,
209
+ color: 'inherit'
210
+ }
211
+ }), buttonText))))))), /*#__PURE__*/_react.default.createElement("div", {
212
+ className: "arcblock-blocklet__addons"
213
+ }, addons.map((item, index) => /*#__PURE__*/_react.default.createElement(_Typography.default, {
214
+ component: "span",
215
+ variant: "caption",
216
+ className: "arcblock-blocklet__addons--item" // eslint-disable-next-line react/no-array-index-key
217
+ ,
218
+ key: index,
219
+ title: item.title
220
+ }, item.empty ? null : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BlockletIcon, {
221
+ name: item.icon
222
+ }), item.pretty ? prettySize(item.value) : item.value)))));
223
+ }
224
+
225
+ Blocklet.propTypes = {
226
+ title: _propTypes.default.string.isRequired,
227
+ did: _propTypes.default.string,
228
+ isStickyButton: _propTypes.default.bool,
229
+ description: _propTypes.default.string,
230
+ cover: _propTypes.default.string,
231
+ buttonText: _propTypes.default.string,
232
+ buttonDisabled: _propTypes.default.bool,
233
+ buttonLoading: _propTypes.default.bool,
234
+ button: _propTypes.default.element,
235
+ type: _propTypes.default.string,
236
+ addons: _propTypes.default.arrayOf(_propTypes.default.object),
237
+ size: _propTypes.default.oneOf(['xs', 'sm', 'md', 'auto']),
238
+ onButtonClick: _propTypes.default.func,
239
+ onMainClick: _propTypes.default.func,
240
+ onTagClick: _propTypes.default.func,
241
+ className: _propTypes.default.string,
242
+ scaleClickZone: _propTypes.default.number
243
+ };
244
+ Blocklet.defaultProps = {
245
+ description: null,
246
+ cover: null,
247
+ did: null,
248
+ isStickyButton: false,
249
+ buttonText: 'Install',
250
+ buttonDisabled: false,
251
+ buttonLoading: false,
252
+ button: null,
253
+ type: null,
254
+ size: 'auto',
255
+ addons: [],
256
+ onButtonClick: null,
257
+ onMainClick: null,
258
+ onTagClick: null,
259
+ className: null,
260
+ scaleClickZone: 1.5
261
+ };
@@ -9,17 +9,26 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _Theme = require("../Theme");
12
+ var _Spinner = _interopRequireDefault(require("../Spinner"));
13
+
14
+ var _Colors = _interopRequireDefault(require("../Colors"));
13
15
 
14
16
  var _Util = require("../Util");
15
17
 
18
+ const _excluded = ["children", "rounded", "loading", "disabled", "style", "forwardedRef", "color"];
19
+
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
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; }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
18
28
  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; }
19
29
 
20
30
  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; }
21
31
 
22
- // eslint-disable-next-line space-before-function-paren
23
32
  function _default(BaseComponent) {
24
33
  function WrappedComponent(props) {
25
34
  const newProps = (0, _Util.mergeProps)(props, WrappedComponent, ['style']);
@@ -27,58 +36,102 @@ function _default(BaseComponent) {
27
36
  const {
28
37
  children,
29
38
  rounded,
39
+ loading,
40
+ disabled,
30
41
  style,
31
- forwardedRef
42
+ forwardedRef,
43
+ color
32
44
  } = newProps,
33
- rest = _objectWithoutProperties(newProps, ["children", "rounded", "style", "forwardedRef"]);
45
+ rest = _objectWithoutProperties(newProps, _excluded);
34
46
 
35
- const styles = Object.assign({}, style, {
36
- boxShadow: 'none',
37
- textTransform: 'capitalize'
38
- });
39
-
40
- if (rest.color === 'danger') {
41
- if (rest.variant === 'contained') {
42
- styles.backgroundColor = _Theme.colors.danger;
43
- styles.color = _Theme.colors.white;
44
- } else {
45
- styles.borderColor = _Theme.colors.danger;
46
- styles.color = _Theme.colors.danger;
47
- }
48
- }
47
+ const isDisabled = disabled || loading;
48
+ let loadingSize = 16;
49
49
 
50
- if (!rest.color || rest.color === 'default') {
51
- if (rest.variant === 'contained') {
52
- styles.backgroundColor = rest.disabled ? _Theme.colors.lightGrey : _Theme.colors.primary;
53
- styles.color = _Theme.colors.white;
54
- } else {
55
- styles.borderColor = rest.disabled ? _Theme.colors.lightGrey : _Theme.colors.primary;
56
- styles.color = rest.disabled ? _Theme.colors.lightGrey : _Theme.colors.primary;
57
- }
50
+ switch (rest.size) {
51
+ case 'small':
52
+ loadingSize = 14;
53
+ break;
54
+
55
+ case 'large':
56
+ loadingSize = 18;
57
+ break;
58
+
59
+ default:
58
60
  }
59
61
 
60
- if (rest.color === 'reverse') {
61
- if (rest.variant === 'contained') {
62
- styles.backgroundColor = 'rgba(255, 255, 255, 0.9)';
63
- styles.color = _Theme.colors.primary;
64
- } else {
65
- styles.borderColor = _Theme.colors.primary;
66
- styles.color = _Theme.colors.primary;
67
- }
62
+ const styles = Object.assign({}, style, {
63
+ boxShadow: 'none',
64
+ textTransform: 'capitalize'
65
+ }); // mui 只支持 4 种 color 值: default/inherit/primary/secondary (传入这 4 种之外的值会报 warning),
66
+ // 这里扩展 danger/warning/reverse 三种 color
67
+
68
+ let _rest = rest;
69
+
70
+ switch (color) {
71
+ case 'error':
72
+ case 'danger':
73
+ {
74
+ if (rest.variant === 'contained') {
75
+ styles.backgroundColor = _Colors.default.error.main;
76
+ styles.color = _Colors.default.common.white;
77
+ } else {
78
+ styles.borderColor = _Colors.default.error.main;
79
+ styles.color = _Colors.default.error.main;
80
+ }
81
+
82
+ break;
83
+ }
84
+
85
+ case 'warning':
86
+ {
87
+ if (rest.variant === 'contained') {
88
+ styles.backgroundColor = _Colors.default.warning.main;
89
+ styles.color = _Colors.default.common.white;
90
+ } else {
91
+ styles.borderColor = _Colors.default.warning.main;
92
+ styles.color = _Colors.default.warning.main;
93
+ }
94
+
95
+ break;
96
+ }
97
+
98
+ case 'reverse':
99
+ {
100
+ if (rest.variant === 'contained') {
101
+ styles.backgroundColor = 'rgba(255, 255, 255, 0.9)';
102
+ styles.color = _Colors.default.grey[900];
103
+ } else {
104
+ styles.borderColor = _Colors.default.grey[900];
105
+ styles.color = _Colors.default.grey[900];
106
+ }
107
+
108
+ break;
109
+ }
110
+ // 除扩展的几种 color 外, 由 mui button 自己处理 color
111
+
112
+ default:
113
+ {
114
+ _rest = _objectSpread(_objectSpread({}, _rest), {}, {
115
+ color
116
+ });
117
+ }
68
118
  }
69
119
 
70
120
  if (rounded) {
71
- styles.borderRadius = {
72
- small: 16,
73
- medium: 18,
74
- large: 20
75
- }[rest.size];
121
+ // styles.borderRadius = { small: 16, medium: 18, large: 20 }[rest.size];
122
+ styles.borderRadius = '100vw';
76
123
  }
77
124
 
78
- return _react.default.createElement(BaseComponent, Object.assign({
125
+ return /*#__PURE__*/_react.default.createElement(BaseComponent, Object.assign({
79
126
  style: styles,
80
- ref: forwardedRef
81
- }, rest), children);
127
+ ref: forwardedRef,
128
+ disabled: isDisabled
129
+ }, _rest), loading && /*#__PURE__*/_react.default.createElement(_Spinner.default, {
130
+ size: loadingSize,
131
+ style: {
132
+ marginRight: 5
133
+ }
134
+ }), children);
82
135
  }
83
136
 
84
137
  WrappedComponent.propTypes = {
@@ -94,7 +147,7 @@ function _default(BaseComponent) {
94
147
  forwardedRef: null,
95
148
  style: {}
96
149
  };
97
- return _react.default.forwardRef((props, ref) => _react.default.createElement(WrappedComponent, Object.assign({}, props, {
150
+ return /*#__PURE__*/_react.default.forwardRef((props, ref) => /*#__PURE__*/_react.default.createElement(WrappedComponent, Object.assign({}, props, {
98
151
  forwardedRef: ref
99
152
  })));
100
153
  }
@@ -5,27 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
8
  var _ButtonGroup = _interopRequireDefault(require("@material-ui/core/ButtonGroup"));
11
9
 
12
10
  var _wrap = _interopRequireDefault(require("../Button/wrap"));
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
- const sizes = {
17
- small: 16,
18
- medium: 18,
19
- large: 20
20
- };
21
-
22
- const getBorderRadius = size => sizes[size || 'medium'];
23
-
24
- const StyledButtonGroup = (0, _styledComponents.default)(_ButtonGroup.default).withConfig({
25
- displayName: "ButtonGroup__StyledButtonGroup",
26
- componentId: "sc-1popzk9-0"
27
- })([".MuiButton-root:first-of-type{border-radius:", "px 0 0 ", "px;}.MuiButton-root:last-of-type{border-radius:0 ", "px ", "px 0;}"], props => getBorderRadius(props.size), props => getBorderRadius(props.size), props => getBorderRadius(props.size), props => getBorderRadius(props.size));
28
-
29
- var _default = (0, _wrap.default)(StyledButtonGroup);
14
+ // deprecated, ux ButtonGroup 组件废弃, 建议直接使用 @material-ui/core/ButtonGroup
15
+ // (该定制组件原本目的是调整 ButtonGroup 的圆角, 但最新设计规范已经不再使用较大的圆角, 改为使用 mui button 默认的圆角)
16
+ var _default = (0, _wrap.default)(_ButtonGroup.default);
30
17
 
31
18
  exports.default = _default;
@@ -9,17 +9,43 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
- // eslint-disable-next-line react/prop-types
16
+ /**
17
+ *
18
+ * @param {string} relative 容器相对尺寸,默认相对屏幕(screen),可设置为父容器(parent)
19
+ * @returns react component element
20
+ */
15
21
  function Center(_ref) {
16
22
  let {
17
- children
23
+ children,
24
+ relative
18
25
  } = _ref;
19
- return _react.default.createElement(Div, null, children);
26
+ let style = {};
27
+
28
+ if (relative === 'parent') {
29
+ style = {
30
+ width: '100%',
31
+ height: '100%'
32
+ };
33
+ }
34
+
35
+ return /*#__PURE__*/_react.default.createElement(Div, {
36
+ style: style
37
+ }, children);
20
38
  }
21
39
 
22
40
  const Div = _styledComponents.default.div.withConfig({
23
41
  displayName: "Center__Div",
24
42
  componentId: "sc-1kmxe8v-0"
25
- })(["flex:1;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;"]);
43
+ })(["flex:1;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;"]);
44
+
45
+ Center.propTypes = {
46
+ children: _propTypes.default.any.isRequired,
47
+ relative: _propTypes.default.string
48
+ };
49
+ Center.defaultProps = {
50
+ relative: 'screen'
51
+ };
@@ -23,18 +23,20 @@ var _Toast = _interopRequireDefault(require("../Toast"));
23
23
 
24
24
  var _Util = require("../Util");
25
25
 
26
+ const _excluded = ["children", "content", "tip", "copiedTip", "tipPlacement", "style"];
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
30
+ 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); }
29
31
 
30
- 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; }
32
+ 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; }
31
33
 
32
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; }
33
35
 
34
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; }
35
37
 
36
38
  function ClickToCopy(props) {
37
- const newProps = (0, _Util.mergeProps)(props, ClickToCopy, ['style']); // eslint-disable-next-line object-curly-newline
39
+ const newProps = (0, _Util.mergeProps)(props, ClickToCopy, ['style']);
38
40
 
39
41
  const {
40
42
  children,
@@ -44,11 +46,11 @@ function ClickToCopy(props) {
44
46
  tipPlacement,
45
47
  style
46
48
  } = newProps,
47
- rest = _objectWithoutProperties(newProps, ["children", "content", "tip", "copiedTip", "tipPlacement", "style"]);
49
+ rest = _objectWithoutProperties(newProps, _excluded);
48
50
 
49
51
  const [copied, setCopied] = (0, _react.useState)(false);
50
52
 
51
- const childrenRef = _react.default.createRef();
53
+ const childrenRef = /*#__PURE__*/_react.default.createRef();
52
54
 
53
55
  const {
54
56
  width
@@ -74,12 +76,12 @@ function ClickToCopy(props) {
74
76
  }
75
77
  };
76
78
  });
77
- return _react.default.createElement(_Tooltip.default, Object.assign({
79
+ return /*#__PURE__*/_react.default.createElement(_Tooltip.default, Object.assign({
78
80
  title: copied ? copiedTip : tip
79
81
  }, rest, {
80
82
  placement: tipPlacement,
81
83
  disableFocusListener: true
82
- }), _react.default.createElement(Container, {
84
+ }), /*#__PURE__*/_react.default.createElement(Container, {
83
85
  ref: childrenRef,
84
86
  component: "span",
85
87
  style: Object.assign({
@@ -88,7 +90,7 @@ function ClickToCopy(props) {
88
90
  fontWeight: 'inherit'
89
91
  }, style),
90
92
  onClick: () => onCopy(childrenRef)
91
- }, children || content, copied && width < 600 && _react.default.createElement(_Toast.default, {
93
+ }, children || content, copied && width < 600 && /*#__PURE__*/_react.default.createElement(_Toast.default, {
92
94
  variant: "success",
93
95
  message: copiedTip
94
96
  })));