amis 1.5.1 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.md +5 -0
  2. package/lib/RootRenderer.d.ts +1 -1
  3. package/lib/RootRenderer.js +4 -3
  4. package/lib/RootRenderer.js.map +2 -2
  5. package/lib/components/Card.d.ts +96 -0
  6. package/lib/components/Card.js +85 -0
  7. package/lib/components/Card.js.map +13 -0
  8. package/lib/components/Collapse.js +1 -1
  9. package/lib/components/Collapse.js.map +2 -2
  10. package/lib/components/DatePicker.d.ts +179 -84
  11. package/lib/components/DatePicker.js +25 -4
  12. package/lib/components/DatePicker.js.map +2 -2
  13. package/lib/components/DateRangePicker.d.ts +84 -84
  14. package/lib/components/MonthRangePicker.d.ts +84 -84
  15. package/lib/components/Picker.d.ts +503 -0
  16. package/lib/components/Picker.js +65 -0
  17. package/lib/components/Picker.js.map +13 -0
  18. package/lib/components/PickerColumn.d.ts +29 -459
  19. package/lib/components/PickerColumn.js +35 -44
  20. package/lib/components/PickerColumn.js.map +2 -2
  21. package/lib/components/Progress.js +1 -1
  22. package/lib/components/Progress.js.map +2 -2
  23. package/lib/components/Select.d.ts +238 -238
  24. package/lib/components/Select.js +9 -2
  25. package/lib/components/Select.js.map +2 -2
  26. package/lib/components/Selection.js +1 -4
  27. package/lib/components/Selection.js.map +2 -2
  28. package/lib/components/Switch.d.ts +6 -6
  29. package/lib/components/Switch.js.map +2 -2
  30. package/lib/components/calendar/Calendar.d.ts +8 -0
  31. package/lib/components/calendar/Calendar.js +19 -1
  32. package/lib/components/calendar/Calendar.js.map +2 -2
  33. package/lib/components/calendar/DaysView.d.ts +8 -0
  34. package/lib/components/calendar/DaysView.js +71 -0
  35. package/lib/components/calendar/DaysView.js.map +2 -2
  36. package/lib/components/calendar/TimeView.d.ts +10 -0
  37. package/lib/components/calendar/TimeView.js +55 -2
  38. package/lib/components/calendar/TimeView.js.map +2 -2
  39. package/lib/components/calendar/YearsView.d.ts +9 -0
  40. package/lib/components/calendar/YearsView.js +19 -0
  41. package/lib/components/calendar/YearsView.js.map +2 -2
  42. package/lib/index.js +1 -1
  43. package/lib/renderers/CRUD.d.ts +1 -1
  44. package/lib/renderers/CRUD.js +4 -4
  45. package/lib/renderers/CRUD.js.map +2 -2
  46. package/lib/renderers/Card.d.ts +81 -13
  47. package/lib/renderers/Card.js +178 -81
  48. package/lib/renderers/Card.js.map +2 -2
  49. package/lib/renderers/Dialog.d.ts +2 -2
  50. package/lib/renderers/Dialog.js +7 -7
  51. package/lib/renderers/Dialog.js.map +2 -2
  52. package/lib/renderers/Drawer.js +2 -2
  53. package/lib/renderers/Drawer.js.map +2 -2
  54. package/lib/renderers/Form/DiffEditor.d.ts +145 -37
  55. package/lib/renderers/Form/Editor.d.ts +144 -36
  56. package/lib/renderers/Form/Formula.js +5 -5
  57. package/lib/renderers/Form/Formula.js.map +2 -2
  58. package/lib/renderers/Form/InputCity.d.ts +84 -84
  59. package/lib/renderers/Form/InputDate.d.ts +25 -0
  60. package/lib/renderers/Form/InputDate.js +48 -3
  61. package/lib/renderers/Form/InputDate.js.map +2 -2
  62. package/lib/renderers/Form/InputFile.js +2 -2
  63. package/lib/renderers/Form/InputFile.js.map +2 -2
  64. package/lib/renderers/Form/Item.d.ts +1 -1
  65. package/lib/renderers/Form/Item.js +4 -3
  66. package/lib/renderers/Form/Item.js.map +2 -2
  67. package/lib/renderers/Form/index.d.ts +1 -1
  68. package/lib/renderers/Form/index.js +13 -2
  69. package/lib/renderers/Form/index.js.map +2 -2
  70. package/lib/renderers/Form/wrapControl.js +3 -2
  71. package/lib/renderers/Form/wrapControl.js.map +2 -2
  72. package/lib/renderers/Page.d.ts +3 -3
  73. package/lib/renderers/Page.js +4 -3
  74. package/lib/renderers/Page.js.map +2 -2
  75. package/lib/renderers/Status.js +1 -1
  76. package/lib/renderers/Status.js.map +2 -2
  77. package/lib/renderers/Wizard.d.ts +1 -1
  78. package/lib/renderers/Wizard.js +93 -36
  79. package/lib/renderers/Wizard.js.map +2 -2
  80. package/lib/store/combo.d.ts +160 -40
  81. package/lib/store/form.d.ts +64 -16
  82. package/lib/store/formItem.d.ts +4 -2
  83. package/lib/store/formItem.js +11 -6
  84. package/lib/store/formItem.js.map +2 -2
  85. package/lib/store/table.d.ts +128 -32
  86. package/lib/themes/ang-ie11.css +255 -31
  87. package/lib/themes/ang.css +255 -31
  88. package/lib/themes/ang.css.map +1 -1
  89. package/lib/themes/antd-ie11.css +255 -32
  90. package/lib/themes/antd.css +255 -32
  91. package/lib/themes/antd.css.map +1 -1
  92. package/lib/themes/cxd-ie11.css +263 -31
  93. package/lib/themes/cxd.css +263 -31
  94. package/lib/themes/cxd.css.map +1 -1
  95. package/lib/themes/dark-ie11.css +255 -31
  96. package/lib/themes/dark.css +255 -31
  97. package/lib/themes/dark.css.map +1 -1
  98. package/lib/themes/default.css +263 -31
  99. package/lib/themes/default.css.map +1 -1
  100. package/lib/utils/helper.d.ts +7 -0
  101. package/lib/utils/helper.js +33 -1
  102. package/lib/utils/helper.js.map +2 -2
  103. package/package.json +2 -2
  104. package/schema.json +209 -20
  105. package/scss/_properties.scss +14 -3
  106. package/scss/components/_calendar.scss +81 -0
  107. package/scss/components/_card.scss +155 -15
  108. package/scss/components/_nav.scss +1 -1
  109. package/scss/components/_picker-columns.scss +20 -14
  110. package/scss/components/_toast.scss +3 -0
  111. package/scss/components/form/_file.scss +2 -2
  112. package/scss/components/form/_selection.scss +4 -0
  113. package/scss/components/form/_switch.scss +6 -0
  114. package/scss/themes/_antd-variables.scss +0 -2
  115. package/scss/themes/_common.scss +1 -0
  116. package/scss/themes/_cxd-variables.scss +9 -0
  117. package/sdk/ang-ie11.css +296 -33
  118. package/sdk/ang.css +306 -33
  119. package/sdk/antd-ie11.css +295 -32
  120. package/sdk/antd.css +306 -34
  121. package/sdk/charts.js +13 -13
  122. package/sdk/color-picker.js +69 -65
  123. package/sdk/cropperjs.js +2 -2
  124. package/sdk/cxd-ie11.css +296 -33
  125. package/sdk/cxd.css +314 -33
  126. package/sdk/dark-ie11.css +296 -33
  127. package/sdk/dark.css +306 -33
  128. package/sdk/exceljs.js +1 -1
  129. package/sdk/markdown.js +69 -69
  130. package/sdk/papaparse.js +1 -1
  131. package/sdk/renderers/Form/CityDB.js +1 -1
  132. package/sdk/rest.js +16 -20
  133. package/sdk/rich-text.js +62 -62
  134. package/sdk/sdk-ie11.css +296 -33
  135. package/sdk/sdk.css +314 -33
  136. package/sdk/sdk.js +1218 -1214
  137. package/sdk/thirds/hls.js/hls.js +1 -1
  138. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  139. package/sdk/tinymce.js +57 -57
  140. package/src/RootRenderer.tsx +3 -3
  141. package/src/components/Card.tsx +203 -0
  142. package/src/components/Collapse.tsx +1 -1
  143. package/src/components/DatePicker.tsx +44 -3
  144. package/src/components/Picker.tsx +145 -0
  145. package/src/components/PickerColumn.tsx +58 -95
  146. package/src/components/Progress.tsx +1 -1
  147. package/src/components/Select.tsx +17 -12
  148. package/src/components/Selection.tsx +1 -4
  149. package/src/components/Switch.tsx +7 -7
  150. package/src/components/calendar/Calendar.tsx +30 -1
  151. package/src/components/calendar/DaysView.tsx +91 -0
  152. package/src/components/calendar/TimeView.tsx +80 -5
  153. package/src/components/calendar/YearsView.tsx +44 -1
  154. package/src/renderers/CRUD.tsx +3 -4
  155. package/src/renderers/Card.tsx +299 -191
  156. package/src/renderers/Dialog.tsx +8 -8
  157. package/src/renderers/Drawer.tsx +2 -2
  158. package/src/renderers/Form/Formula.tsx +7 -5
  159. package/src/renderers/Form/InputDate.tsx +83 -2
  160. package/src/renderers/Form/InputFile.tsx +6 -2
  161. package/src/renderers/Form/Item.tsx +2 -2
  162. package/src/renderers/Form/index.tsx +14 -2
  163. package/src/renderers/Form/wrapControl.tsx +5 -2
  164. package/src/renderers/Page.tsx +11 -10
  165. package/src/renderers/Status.tsx +3 -1
  166. package/src/renderers/Wizard.tsx +52 -12
  167. package/src/store/formItem.ts +12 -6
  168. package/src/utils/helper.ts +34 -0
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  /**
5
5
  * @file Picker
6
- * @description 移动端选择器
6
+ * @description 移动端列滚动选择器
7
7
  */
8
8
  var react_1 = tslib_1.__importStar(require("react"));
9
9
  var isObject_1 = (0, tslib_1.__importDefault)(require("lodash/isObject"));
@@ -12,9 +12,8 @@ var uncontrollable_1 = require("uncontrollable");
12
12
  var hooks_1 = require("../hooks");
13
13
  var helper_1 = require("../utils/helper");
14
14
  var theme_1 = require("../theme");
15
- var locale_1 = require("../locale");
16
15
  var use_touch_1 = (0, tslib_1.__importDefault)(require("../hooks/use-touch"));
17
- var Button_1 = (0, tslib_1.__importDefault)(require("./Button"));
16
+ ;
18
17
  var DEFAULT_DURATION = 200;
19
18
  var MOMENTUM_LIMIT_TIME = 300;
20
19
  var MOMENTUM_LIMIT_DISTANCE = 15;
@@ -32,9 +31,7 @@ function isOptionDisabled(option) {
32
31
  return (0, isObject_1.default)(option) && option.disabled;
33
32
  }
34
33
  var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
35
- var onClose = props.onClose, onConfirm = props.onConfirm, mobileClassName = props.mobileClassName, _a = props.visibleItemCount, visibleItemCount = _a === void 0 ? 5 : _a, value = props.value, _b = props.swipeDuration, swipeDuration = _b === void 0 ? 1000 : _b, _c = props.labelField, labelField = _c === void 0 ? 'value' : _c, __ = props.translate, _d = props.options, options = _d === void 0 ? [] : _d, cx = props.classnames;
36
- var itemHeight = 24;
37
- var defaultIndex = options.findIndex(function (item) { return item === value; });
34
+ var _a = props.visibleItemCount, visibleItemCount = _a === void 0 ? 5 : _a, _b = props.itemHeight, itemHeight = _b === void 0 ? 30 : _b, value = props.value, _c = props.swipeDuration, swipeDuration = _c === void 0 ? 1000 : _c, _d = props.labelField, labelField = _d === void 0 ? 'text' : _d, _e = props.options, options = _e === void 0 ? [] : _e, cx = props.classnames;
38
35
  var root = (0, react_1.useRef)(null);
39
36
  var menuItemRef = (0, react_1.useRef)(null);
40
37
  var wrapper = (0, react_1.useRef)(null);
@@ -43,37 +40,34 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
43
40
  var transitionEndTrigger = (0, react_1.useRef)(null);
44
41
  var touchStartTime = (0, react_1.useRef)(0);
45
42
  var momentumOffset = (0, react_1.useRef)(0);
46
- if (menuItemRef.current) {
47
- //@ts-ignore
48
- itemHeight = menuItemRef.current.getBoundingClientRect().height;
49
- }
50
- var _e = (0, hooks_1.useSetState)({
51
- index: defaultIndex,
52
- offset: 0,
53
- duration: 0,
54
- options: (0, cloneDeep_1.default)(options)
55
- }), state = _e[0], updateState = _e[1];
56
43
  var touch = (0, use_touch_1.default)();
57
- var count = state.options.length;
44
+ var count = options.length;
45
+ var defaultIndex = options.findIndex(function (item) { return item === value; });
58
46
  var baseOffset = (0, react_1.useMemo)(function () {
59
47
  // 默认转入第一个选项的位置
60
48
  return (itemHeight * (+visibleItemCount - 1)) / 2;
61
49
  }, [itemHeight, visibleItemCount]);
62
50
  var adjustIndex = function (index) {
63
51
  index = (0, helper_1.range)(index, 0, count);
64
- if (!state.options) {
52
+ if (!options) {
65
53
  return;
66
54
  }
67
55
  for (var i = index; i < count; i += 1) {
68
- if (!isOptionDisabled(state.options[i]))
56
+ if (!isOptionDisabled(options[i]))
69
57
  return i;
70
58
  }
71
59
  for (var i = index - 1; i >= 0; i -= 1) {
72
- if (!isOptionDisabled(state.options[i]))
60
+ if (!isOptionDisabled(options[i]))
73
61
  return i;
74
62
  }
75
63
  return null;
76
64
  };
65
+ var _f = (0, hooks_1.useSetState)({
66
+ index: adjustIndex(defaultIndex) || 0,
67
+ offset: 0,
68
+ duration: 0,
69
+ options: (0, cloneDeep_1.default)(options)
70
+ }), state = _f[0], updateState = _f[1];
77
71
  /**
78
72
  *
79
73
  * @param index 索引
@@ -86,10 +80,13 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
86
80
  var trigger = function () {
87
81
  updateState({ index: index });
88
82
  if (emitChange && props.onChange) {
89
- setTimeout(function () {
83
+ requestAnimationFrame(function () {
90
84
  var _a;
91
85
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, options[index], index, confirm);
92
- }, 0);
86
+ });
87
+ // setTimeout(() => {
88
+ // props.onChange?.(options[index], index, confirm);
89
+ // }, 0);
93
90
  }
94
91
  };
95
92
  // trigger the change event after transitionend when moving
@@ -105,7 +102,8 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
105
102
  var setOptions = function (options) {
106
103
  if (JSON.stringify(options) !== JSON.stringify(state.options)) {
107
104
  updateState({ options: options });
108
- setIndex(defaultIndex, true);
105
+ var index = options.findIndex(function (item) { return item === value; }) || 0;
106
+ setIndex(index, true, true);
109
107
  }
110
108
  };
111
109
  var onClickItem = function (index) {
@@ -117,7 +115,7 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
117
115
  setIndex(index, true, true);
118
116
  };
119
117
  var getOptionText = function (option) {
120
- if ((0, isObject_1.default)(option) && props.labelField in option) {
118
+ if ((0, isObject_1.default)(option) && labelField in option) {
121
119
  //@ts-ignore
122
120
  return option[labelField];
123
121
  }
@@ -201,12 +199,17 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
201
199
  }, 0);
202
200
  };
203
201
  var renderOptions = function () {
202
+ var style = {
203
+ height: itemHeight + "px",
204
+ lineHeight: itemHeight + "px"
205
+ };
204
206
  return state.options.map(function (option, index) {
205
207
  var text = getOptionText(option);
206
208
  var disabled = isOptionDisabled(option);
207
209
  var data = {
208
210
  role: 'button',
209
211
  key: index,
212
+ style: style,
210
213
  tabIndex: disabled ? -1 : 0,
211
214
  className: props.classnames("PickerColumns-columnItem", {
212
215
  'is-disabled': disabled,
@@ -226,7 +229,7 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
226
229
  var setValue = function (value) {
227
230
  var options = state.options;
228
231
  for (var i = 0; i < options.length; i += 1) {
229
- if (getOptionText(options[i]) === value) {
232
+ if (options[i] === value) {
230
233
  return setIndex(i);
231
234
  }
232
235
  }
@@ -234,7 +237,7 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
234
237
  };
235
238
  var getValue = (0, react_1.useCallback)(function () { return state.options[state.index]; }, [state.index, state.options]);
236
239
  (0, react_1.useEffect)(function () {
237
- setIndex(defaultIndex, true);
240
+ setIndex(defaultIndex);
238
241
  }, [defaultIndex]);
239
242
  (0, hooks_1.useUpdateEffect)(function () {
240
243
  setOptions((0, cloneDeep_1.default)(options));
@@ -252,28 +255,16 @@ var PickerColumn = (0, react_1.forwardRef)(function (props, ref) {
252
255
  transitionDuration: state.duration + "ms",
253
256
  transitionProperty: state.duration ? 'all' : 'none'
254
257
  };
255
- var wrapHeight = itemHeight * +visibleItemCount;
256
- var frameStyle = { height: itemHeight + "px" };
257
- var columnsStyle = { height: wrapHeight + "px" };
258
- var maskStyle = {
259
- backgroundSize: "100% " + (wrapHeight - itemHeight) / 2 + "px"
260
- };
261
- return (react_1.default.createElement("div", { className: cx(mobileClassName, 'PickerColumns', 'PickerColumns-popOver') },
262
- react_1.default.createElement("div", { className: cx('PickerColumns-toolbar') },
263
- react_1.default.createElement(Button_1.default, { level: "default", onClick: onClose }, __('cancel')),
264
- react_1.default.createElement(Button_1.default, { level: "primary", onClick: onConfirm }, __('confirm'))),
265
- react_1.default.createElement("div", { className: cx('PickerColumns-columns'), style: columnsStyle },
266
- react_1.default.createElement("div", { ref: root, className: props.classnames(props.className), onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onTouchEnd, onTouchCancel: onTouchEnd },
267
- react_1.default.createElement("ul", { ref: wrapper, style: wrapperStyle, className: props.classnames('PickerColumns-columnWrapper'), onTransitionEnd: stopMomentum }, renderOptions())),
268
- react_1.default.createElement("div", { className: cx('PickerColumns-mask'), style: maskStyle }),
269
- react_1.default.createElement("div", { className: cx('PickerColumns-frame'), style: frameStyle }))));
258
+ return (react_1.default.createElement("div", { ref: root, className: props.classnames('PickerColumns', props.className), onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onTouchEnd, onTouchCancel: onTouchEnd },
259
+ react_1.default.createElement("ul", { ref: wrapper, style: wrapperStyle, className: props.classnames('PickerColumns-columnWrapper'), onTransitionEnd: stopMomentum }, renderOptions())));
270
260
  });
271
261
  PickerColumn.defaultProps = {
272
262
  options: [],
273
263
  visibleItemCount: 5,
274
- swipeDuration: 1000
264
+ swipeDuration: 1000,
265
+ itemHeight: 30
275
266
  };
276
- exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(PickerColumn, {
267
+ exports.default = (0, theme_1.themeable)((0, uncontrollable_1.uncontrollable)(PickerColumn, {
277
268
  value: 'onChange'
278
- })));
269
+ }));
279
270
  //# sourceMappingURL=./components/PickerColumn.js.map
@@ -6,8 +6,8 @@
6
6
  "/src/components/PickerColumn.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Picker\n * @description 移动端选择器\n */\nimport React, {\n useEffect,\n useMemo,\n useRef,\n useImperativeHandle,\n useCallback,\n forwardRef,\n CSSProperties\n} from 'react';\nimport isObject from 'lodash/isObject';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {uncontrollable} from 'uncontrollable';\n\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {range} from '../utils/helper';\nimport {themeable, ThemeProps} from '../theme';\nimport {localeable, LocaleProps} from '../locale';\nimport useTouch from '../hooks/use-touch';\nimport Button from './Button';\n\nexport interface PickerColumnProps extends ThemeProps, LocaleProps {\n mobileClassName?: string;\n style?: CSSProperties;\n index?: number;\n labelField: string;\n readonly?: boolean;\n value: any;\n swipeDuration?: number | string;\n visibleItemCount?: number | string;\n options?: PickerOption[];\n children?: any;\n optionRender?: (option: string | object | PickerOption) => React.ReactNode;\n onChange?: (\n value?: PickerOption | string,\n index?: number,\n confirm?: boolean\n ) => void;\n onClose?: () => void;\n onConfirm?: () => void;\n}\n\nexport interface Column {\n values?: string[];\n className?: string;\n children?: Column[];\n disabled?: boolean;\n}\n\nexport type PickerOption = string | number | PickerObjectOption;\n\nexport type PickerObjectOption = {\n value?: string | number;\n text?: string | number;\n disabled?: boolean;\n} & Record<string, {}>;\n\nconst DEFAULT_DURATION = 200;\nconst MOMENTUM_LIMIT_TIME = 300;\nconst MOMENTUM_LIMIT_DISTANCE = 15;\n\nfunction getElementTranslateY(element: HTMLElement | null) {\n if (!element) {\n return 0;\n }\n const style = window.getComputedStyle(element);\n const transform = style.transform || style.webkitTransform;\n // 格式如:matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() );\n const translateY = transform.slice(7, transform.length - 1).split(', ')[5];\n\n return Number(translateY);\n}\n\nfunction isOptionDisabled(option: PickerOption) {\n return isObject(option) && option.disabled;\n}\n\nconst PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {\n const {\n onClose,\n onConfirm,\n mobileClassName,\n visibleItemCount = 5,\n value,\n swipeDuration = 1000,\n labelField = 'value',\n translate: __,\n options = [],\n classnames: cx\n } = props;\n let itemHeight = 24;\n\n const defaultIndex = options.findIndex(item => item === value);\n\n const root = useRef(null);\n const menuItemRef = useRef(null);\n const wrapper = useRef(null);\n\n const moving = useRef(false);\n const startOffset = useRef(0);\n const transitionEndTrigger = useRef(null);\n const touchStartTime = useRef(0);\n const momentumOffset = useRef(0);\n\n if (menuItemRef.current) {\n //@ts-ignore\n itemHeight = menuItemRef.current.getBoundingClientRect().height;\n }\n\n const [state, updateState] = useSetState({\n index: defaultIndex,\n offset: 0,\n duration: 0,\n options: cloneDeep(options)\n });\n\n const touch = useTouch();\n\n const count = state.options.length;\n\n const baseOffset = useMemo(() => {\n // 默认转入第一个选项的位置\n return (itemHeight * (+visibleItemCount - 1)) / 2;\n }, [itemHeight, visibleItemCount]);\n\n const adjustIndex = (index: number) => {\n index = range(index, 0, count);\n if (!state.options) {\n return;\n }\n\n for (let i = index; i < count; i += 1) {\n if (!isOptionDisabled(state.options[i])) return i;\n }\n for (let i = index - 1; i >= 0; i -= 1) {\n if (!isOptionDisabled(state.options[i])) return i;\n }\n\n return null;\n };\n\n /**\n *\n * @param index 索引\n * @param emitChange 是否派发变动消息\n * @param confirm 是否为确认类型,为真时触发value改变\n */\n const setIndex = (index: number, emitChange?: boolean, confirm?: boolean) => {\n index = adjustIndex(index) || 0;\n\n const offset = -index * itemHeight;\n const trigger = () => {\n updateState({index});\n\n if (emitChange && props.onChange) {\n setTimeout(() => {\n props.onChange?.(options[index], index, confirm);\n }, 0);\n }\n };\n\n // trigger the change event after transitionend when moving\n if (moving.current && offset !== state.offset) {\n //@ts-ignore\n transitionEndTrigger.current = trigger;\n } else {\n trigger();\n }\n updateState({offset});\n };\n\n const setOptions = (options: Array<PickerOption>) => {\n if (JSON.stringify(options) !== JSON.stringify(state.options)) {\n updateState({options});\n setIndex(defaultIndex, true);\n }\n };\n\n const onClickItem = (index: number) => {\n if (moving.current || props.readonly) {\n return;\n }\n transitionEndTrigger.current = null;\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true, true);\n };\n\n const getOptionText = (option: [] | PickerOption) => {\n if (isObject(option) && props.labelField in option) {\n //@ts-ignore\n return option[labelField];\n }\n return option;\n };\n\n const getIndexByOffset = (offset: number) =>\n range(Math.round(-offset / itemHeight), 0, count - 1);\n\n const momentum = (distance: number, duration: number) => {\n const speed = Math.abs(distance / duration);\n\n distance = state.offset + (speed / 0.003) * (distance < 0 ? -1 : 1);\n\n const index = getIndexByOffset(distance);\n updateState({duration: +swipeDuration});\n setIndex(index, true);\n };\n\n const stopMomentum = () => {\n moving.current = false;\n updateState({duration: 0});\n\n if (transitionEndTrigger.current) {\n //@ts-ignore\n transitionEndTrigger.current();\n transitionEndTrigger.current = null;\n }\n };\n\n const onTouchStart = (event: any) => {\n if (props.readonly) {\n return;\n }\n\n touch.start(event);\n let {offset} = state;\n\n if (moving.current) {\n const translateY = getElementTranslateY(wrapper.current);\n offset = Math.min(0, translateY - baseOffset);\n startOffset.current = offset;\n } else {\n startOffset.current = offset;\n }\n\n updateState({duration: 0, offset});\n touchStartTime.current = Date.now();\n momentumOffset.current = startOffset.current;\n transitionEndTrigger.current = null;\n };\n\n const onTouchMove = (event: TouchEvent | React.TouchEvent) => {\n if (props.readonly) {\n return;\n }\n\n touch.move(event as TouchEvent);\n\n if (touch.isVertical()) {\n moving.current = true;\n }\n\n const offset = range(\n startOffset.current + touch.deltaY,\n -(count * itemHeight),\n itemHeight\n );\n\n updateState({\n offset\n });\n\n const now = Date.now();\n if (now - touchStartTime.current > MOMENTUM_LIMIT_TIME) {\n touchStartTime.current = now;\n momentumOffset.current = offset;\n }\n };\n\n const onTouchEnd = () => {\n if (props.readonly) {\n return;\n }\n const distance = state.offset - momentumOffset.current;\n const duration = Date.now() - touchStartTime.current;\n\n const allowMomentum =\n duration < MOMENTUM_LIMIT_TIME &&\n Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n\n if (allowMomentum) {\n momentum(distance, duration);\n return;\n }\n\n const index = getIndexByOffset(state.offset);\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true);\n\n // compatible with desktop scenario\n // use setTimeout to skip the click event triggered after touchstart\n setTimeout(() => {\n moving.current = false;\n }, 0);\n };\n\n const renderOptions = () => {\n return state.options.map((option, index: number) => {\n const text: string | PickerOption = getOptionText(option);\n const disabled = isOptionDisabled(option);\n\n const data = {\n role: 'button',\n key: index,\n tabIndex: disabled ? -1 : 0,\n className: props.classnames(`PickerColumns-columnItem`, {\n 'is-disabled': disabled,\n 'is-selected': index === state.index\n }),\n onClick: () => {\n onClickItem(index);\n }\n };\n\n const childData = {\n className: 'text-ellipsis',\n children: text\n };\n\n return (\n <li {...data} ref={menuItemRef}>\n {props.optionRender ? (\n props.optionRender(option)\n ) : (\n <div {...childData} />\n )}\n </li>\n );\n });\n };\n\n const setValue = (value: string) => {\n const {options} = state;\n for (let i = 0; i < options.length; i += 1) {\n if (getOptionText(options[i]) === value) {\n return setIndex(i);\n }\n }\n return null;\n };\n\n const getValue = useCallback<() => PickerOption>(\n () => state.options[state.index],\n [state.index, state.options]\n );\n\n useEffect(() => {\n setIndex(defaultIndex, true);\n }, [defaultIndex]);\n\n useUpdateEffect(() => {\n setOptions(cloneDeep(options));\n }, [options]);\n\n useImperativeHandle(ref, () => ({\n state,\n setIndex,\n getValue,\n setValue,\n setOptions,\n stopMomentum\n }));\n\n const wrapperStyle = {\n transform: `translate3d(0, ${state.offset + baseOffset}px, 0)`,\n transitionDuration: `${state.duration}ms`,\n transitionProperty: state.duration ? 'all' : 'none'\n };\n\n const wrapHeight = itemHeight * +visibleItemCount;\n const frameStyle = {height: `${itemHeight}px`};\n const columnsStyle = {height: `${wrapHeight}px`};\n const maskStyle = {\n backgroundSize: `100% ${(wrapHeight - itemHeight) / 2}px`\n };\n\n return (\n <div\n className={cx(mobileClassName, 'PickerColumns', 'PickerColumns-popOver')}\n >\n <div className={cx('PickerColumns-toolbar')}>\n <Button level=\"default\" onClick={onClose}>\n {__('cancel')}\n </Button>\n <Button level=\"primary\" onClick={onConfirm}>\n {__('confirm')}\n </Button>\n </div>\n <div className={cx('PickerColumns-columns')} style={columnsStyle}>\n <div\n ref={root}\n className={props.classnames(props.className)}\n onTouchStart={onTouchStart}\n onTouchMove={onTouchMove}\n onTouchEnd={onTouchEnd}\n onTouchCancel={onTouchEnd}\n >\n <ul\n ref={wrapper}\n style={wrapperStyle}\n className={props.classnames('PickerColumns-columnWrapper')}\n onTransitionEnd={stopMomentum}\n >\n {renderOptions()}\n </ul>\n </div>\n <div className={cx('PickerColumns-mask')} style={maskStyle}></div>\n <div className={cx('PickerColumns-frame')} style={frameStyle}></div>\n </div>\n </div>\n );\n});\n\nPickerColumn.defaultProps = {\n options: [],\n visibleItemCount: 5,\n swipeDuration: 1000\n};\n\nexport default themeable(\n localeable(\n uncontrollable(PickerColumn, {\n value: 'onChange'\n })\n )\n);\n"
11
+ "/**\n * @file Picker\n * @description 移动端列滚动选择器\n */\nimport React, {\n useEffect,\n useMemo,\n useRef,\n useImperativeHandle,\n useCallback,\n forwardRef\n} from 'react';\nimport isObject from 'lodash/isObject';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {uncontrollable} from 'uncontrollable';\n\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {range} from '../utils/helper';\nimport {themeable, ThemeProps} from '../theme';\nimport useTouch from '../hooks/use-touch';\n\nexport interface PickerColumnItem {\n labelField?: string;\n readonly?: boolean;\n value?: PickerOption;\n swipeDuration?: number;\n visibleItemCount?: number;\n itemHeight?: number;\n options?: PickerOption[];\n optionRender?: (option: string | object | PickerOption) => React.ReactNode;\n onChange?: (\n value?: PickerOption | string,\n index?: number,\n confirm?: boolean\n ) => void;\n};\n\nexport interface PickerColumnProps extends PickerColumnItem, ThemeProps {}\n\nexport type PickerOption = string | number | PickerObjectOption;\n\nexport type PickerObjectOption = {\n value?: string | number;\n text?: string | number;\n disabled?: boolean;\n} & Record<string, {}>;\n\nconst DEFAULT_DURATION = 200;\nconst MOMENTUM_LIMIT_TIME = 300;\nconst MOMENTUM_LIMIT_DISTANCE = 15;\n\nfunction getElementTranslateY(element: HTMLElement | null) {\n if (!element) {\n return 0;\n }\n const style = window.getComputedStyle(element);\n const transform = style.transform || style.webkitTransform;\n // 格式如:matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() );\n const translateY = transform.slice(7, transform.length - 1).split(', ')[5];\n\n return Number(translateY);\n}\n\nfunction isOptionDisabled(option: PickerOption) {\n return isObject(option) && option.disabled;\n}\n \nconst PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {\n const {\n visibleItemCount = 5,\n itemHeight = 30,\n value,\n swipeDuration = 1000,\n labelField = 'text',\n options = [],\n classnames: cx\n } = props;\n\n const root = useRef(null);\n const menuItemRef = useRef(null);\n const wrapper = useRef(null);\n\n const moving = useRef(false);\n const startOffset = useRef(0);\n const transitionEndTrigger = useRef(null);\n const touchStartTime = useRef(0);\n const momentumOffset = useRef(0);\n\n const touch = useTouch();\n const count = options.length;\n const defaultIndex = options.findIndex(item => item === value);\n\n const baseOffset = useMemo(() => {\n // 默认转入第一个选项的位置\n return (itemHeight * (+visibleItemCount - 1)) / 2;\n }, [itemHeight, visibleItemCount]);\n\n const adjustIndex = (index: number) => {\n index = range(index, 0, count);\n if (!options) {\n return;\n }\n\n for (let i = index; i < count; i += 1) {\n if (!isOptionDisabled(options[i])) return i;\n }\n for (let i = index - 1; i >= 0; i -= 1) {\n if (!isOptionDisabled(options[i])) return i;\n }\n\n return null;\n };\n\n const [state, updateState] = useSetState({\n index: adjustIndex(defaultIndex) || 0,\n offset: 0,\n duration: 0,\n options: cloneDeep(options)\n });\n\n /**\n *\n * @param index 索引\n * @param emitChange 是否派发变动消息\n * @param confirm 是否为确认类型,为真时触发value改变\n */\n const setIndex = (index: number, emitChange?: boolean, confirm?: boolean) => {\n index = adjustIndex(index) || 0;\n\n const offset = -index * itemHeight;\n const trigger = () => {\n updateState({index});\n\n if (emitChange && props.onChange) {\n requestAnimationFrame(\n () => {\n props.onChange?.(options[index], index, confirm);\n }\n );\n // setTimeout(() => {\n // props.onChange?.(options[index], index, confirm);\n // }, 0);\n }\n };\n\n // trigger the change event after transitionend when moving\n if (moving.current && offset !== state.offset) {\n //@ts-ignore\n transitionEndTrigger.current = trigger;\n } else {\n trigger();\n }\n updateState({offset});\n };\n\n const setOptions = (options: Array<PickerOption>) => {\n if (JSON.stringify(options) !== JSON.stringify(state.options)) {\n updateState({options});\n const index = options.findIndex(item => item === value) || 0;\n setIndex(index, true, true);\n }\n };\n\n const onClickItem = (index: number) => {\n if (moving.current || props.readonly) {\n return;\n }\n transitionEndTrigger.current = null;\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true, true);\n };\n\n const getOptionText = (option: [] | PickerOption) => {\n if (isObject(option) && labelField in option) {\n //@ts-ignore\n return option[labelField];\n }\n return option;\n };\n\n const getIndexByOffset = (offset: number) =>\n range(Math.round(-offset / itemHeight), 0, count - 1);\n\n const momentum = (distance: number, duration: number) => {\n const speed = Math.abs(distance / duration);\n\n distance = state.offset + (speed / 0.003) * (distance < 0 ? -1 : 1);\n\n const index = getIndexByOffset(distance);\n updateState({duration: +swipeDuration});\n setIndex(index, true);\n };\n\n const stopMomentum = () => {\n moving.current = false;\n updateState({duration: 0});\n\n if (transitionEndTrigger.current) {\n //@ts-ignore\n transitionEndTrigger.current();\n transitionEndTrigger.current = null;\n }\n };\n\n const onTouchStart = (event: any) => {\n if (props.readonly) {\n return;\n }\n\n touch.start(event);\n let {offset} = state;\n\n if (moving.current) {\n const translateY = getElementTranslateY(wrapper.current);\n offset = Math.min(0, translateY - baseOffset);\n startOffset.current = offset;\n } else {\n startOffset.current = offset;\n }\n\n updateState({duration: 0, offset});\n touchStartTime.current = Date.now();\n momentumOffset.current = startOffset.current;\n transitionEndTrigger.current = null;\n };\n\n const onTouchMove = (event: TouchEvent | React.TouchEvent) => {\n if (props.readonly) {\n return;\n }\n\n touch.move(event as TouchEvent);\n\n if (touch.isVertical()) {\n moving.current = true;\n }\n\n const offset = range(\n startOffset.current + touch.deltaY,\n -(count * itemHeight),\n itemHeight\n );\n\n updateState({\n offset\n });\n\n const now = Date.now();\n if (now - touchStartTime.current > MOMENTUM_LIMIT_TIME) {\n touchStartTime.current = now;\n momentumOffset.current = offset;\n }\n };\n\n const onTouchEnd = () => {\n if (props.readonly) {\n return;\n }\n const distance = state.offset - momentumOffset.current;\n const duration = Date.now() - touchStartTime.current;\n\n const allowMomentum =\n duration < MOMENTUM_LIMIT_TIME &&\n Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n\n if (allowMomentum) {\n momentum(distance, duration);\n return;\n }\n\n const index = getIndexByOffset(state.offset);\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true);\n\n // compatible with desktop scenario\n // use setTimeout to skip the click event triggered after touchstart\n setTimeout(() => {\n moving.current = false;\n }, 0);\n };\n\n const renderOptions = () => {\n const style = {\n height: `${itemHeight}px`,\n lineHeight: `${itemHeight}px`\n };\n return state.options.map((option, index: number) => {\n const text: string | PickerOption = getOptionText(option);\n const disabled = isOptionDisabled(option);\n\n const data = {\n role: 'button',\n key: index,\n style,\n tabIndex: disabled ? -1 : 0,\n className: props.classnames(`PickerColumns-columnItem`, {\n 'is-disabled': disabled,\n 'is-selected': index === state.index\n }),\n onClick: () => {\n onClickItem(index);\n }\n };\n \n const childData = {\n className: 'text-ellipsis',\n children: text\n };\n\n return (\n <li {...data} ref={menuItemRef}>\n {props.optionRender ? (\n props.optionRender(option)\n ) : (\n <div {...childData} />\n )}\n </li>\n );\n });\n };\n\n const setValue = (value: string) => {\n const {options} = state;\n for (let i = 0; i < options.length; i += 1) {\n if (options[i] === value) {\n return setIndex(i);\n }\n }\n return null;\n };\n\n const getValue = useCallback<() => PickerOption>(\n () => state.options[state.index],\n [state.index, state.options]\n );\n\n useEffect(() => {\n setIndex(defaultIndex);\n }, [defaultIndex]);\n\n useUpdateEffect(() => {\n setOptions(cloneDeep(options));\n }, [options]);\n\n useImperativeHandle(ref, () => ({\n state,\n setIndex,\n getValue,\n setValue,\n setOptions,\n stopMomentum\n }));\n\n const wrapperStyle = {\n transform: `translate3d(0, ${state.offset + baseOffset}px, 0)`,\n transitionDuration: `${state.duration}ms`,\n transitionProperty: state.duration ? 'all' : 'none'\n };\n return (\n <div\n ref={root}\n className={props.classnames('PickerColumns', props.className)}\n onTouchStart={onTouchStart}\n onTouchMove={onTouchMove}\n onTouchEnd={onTouchEnd}\n onTouchCancel={onTouchEnd}\n >\n <ul\n ref={wrapper}\n style={wrapperStyle}\n className={props.classnames('PickerColumns-columnWrapper')}\n onTransitionEnd={stopMomentum}\n >\n {renderOptions()}\n </ul>\n </div>\n );\n});\n\nPickerColumn.defaultProps = {\n options: [],\n visibleItemCount: 5,\n swipeDuration: 1000,\n itemHeight: 30\n};\n\nexport default themeable(\n uncontrollable(PickerColumn, {\n value: 'onChange'\n })\n);\n\n"
12
12
  ]
13
13
  }
@@ -59,7 +59,7 @@ var Progress = /** @class */ (function (_super) {
59
59
  return undefined;
60
60
  };
61
61
  viewValue = [
62
- react_1.default.createElement("div", { className: cx(prefixCls) },
62
+ react_1.default.createElement("div", { className: cx(prefixCls), key: "circle" },
63
63
  react_1.default.createElement(rc_progress_1.Circle, { percent: value, strokeColor: "", strokeWidth: circleWidth, trailWidth: circleWidth, prefixCls: this.autoClassName(value), gapDegree: getGapDegree(), gapPosition: gapPos }),
64
64
  this.getLabel(prefixCls))
65
65
  ];
@@ -6,8 +6,8 @@
6
6
  "/src/components/Progress.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport cx from 'classnames';\nimport {Circle} from 'rc-progress';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {SchemaClassName} from '../Schema';\ninterface ProgressProps extends ThemeProps {\n type: 'line' | 'circle' | 'dashboard';\n showLabel: boolean;\n value: number;\n stripe?: boolean;\n animate?: boolean;\n map?: Array<string>;\n placeholder?: string;\n format?: (value?: number) => JSX.Element;\n gapDegree?: number;\n gapPosition?: 'top' | 'bottom' | 'left' | 'right';\n strokeWidth?: number;\n classNames?: string;\n progressClassName?: SchemaClassName;\n progressBarClassName?: SchemaClassName;\n classnames: ClassNamesFn;\n}\nexport class Progress extends React.Component<ProgressProps, Object> {\n static defaultProps: Partial<ProgressProps> = {\n type: 'line',\n placeholder: '-',\n progressClassName: '',\n progressBarClassName: '',\n map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],\n showLabel: true\n };\n\n autoClassName(value: number) {\n const map = this.props.map;\n if (!map || !map.length) {\n return '';\n }\n let index = Math.floor((value * map.length) / 100);\n index = Math.max(0, Math.min(map.length - 1, index));\n return map[index];\n }\n\n getLabel(prefixCls: string) {\n const {value, format, showLabel, classnames: cx} = this.props;\n if (!showLabel) {\n return null;\n }\n const textFormatter = format || (value => `${value}%`);\n const content = textFormatter(value);\n return (\n <span className={cx(`${prefixCls}-text`)} key=\"value\">\n {content}\n </span>\n );\n }\n\n render() {\n const {\n classNames,\n progressClassName,\n progressBarClassName,\n type,\n value,\n placeholder,\n stripe,\n animate,\n showLabel,\n gapDegree,\n gapPosition,\n strokeWidth,\n classnames: cx\n } = this.props;\n\n const isLineType = type === 'line';\n const prefixCls = isLineType ? 'Progress-line' : 'Progress-circle';\n\n let viewValue: React.ReactNode = (\n <span className=\"text-muted\">{placeholder}</span>\n );\n\n if (type === 'line') {\n viewValue = [\n <div\n key=\"progress\"\n className={cx(prefixCls, progressClassName, {\n [`${prefixCls}-no-label`]: !showLabel\n })}\n >\n <div className={cx(`${prefixCls}-inter`)}>\n <div\n className={cx(\n `${prefixCls}-bar`,\n progressBarClassName || this.autoClassName(value),\n {[`${prefixCls}-bar--stripe`]: stripe},\n {[`${prefixCls}-bar--animate`]: animate && !stripe},\n {[`${prefixCls}-bar--stripe-animate`]: animate && stripe}\n )}\n title={`${value}%`}\n style={{\n width: `${value}%`\n }}\n />\n </div>\n </div>,\n this.getLabel(prefixCls)\n ];\n } else if (type === 'circle' || type === 'dashboard') {\n const circleWidth = strokeWidth || 6;\n const gapPos = gapPosition || (type === 'dashboard' && 'bottom') || 'top';\n const getGapDegree = () => {\n if (gapDegree || gapDegree === 0) {\n return gapDegree;\n }\n if (type === 'dashboard') {\n return 75;\n }\n return undefined;\n };\n\n viewValue = [\n <div className={cx(prefixCls)}>\n <Circle\n percent={value}\n strokeColor=\"\"\n strokeWidth={circleWidth}\n trailWidth={circleWidth}\n prefixCls={this.autoClassName(value)}\n gapDegree={getGapDegree()}\n gapPosition={gapPos}\n />\n {this.getLabel(prefixCls)}\n </div>\n ];\n }\n\n return <div className={cx('Progress', classNames)}>{viewValue}</div>;\n }\n}\n\nexport default themeable(Progress);\n"
11
+ "import React from 'react';\nimport cx from 'classnames';\nimport {Circle} from 'rc-progress';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {SchemaClassName} from '../Schema';\ninterface ProgressProps extends ThemeProps {\n type: 'line' | 'circle' | 'dashboard';\n showLabel: boolean;\n value: number;\n stripe?: boolean;\n animate?: boolean;\n map?: Array<string>;\n placeholder?: string;\n format?: (value?: number) => JSX.Element;\n gapDegree?: number;\n gapPosition?: 'top' | 'bottom' | 'left' | 'right';\n strokeWidth?: number;\n classNames?: string;\n progressClassName?: SchemaClassName;\n progressBarClassName?: SchemaClassName;\n classnames: ClassNamesFn;\n}\nexport class Progress extends React.Component<ProgressProps, Object> {\n static defaultProps: Partial<ProgressProps> = {\n type: 'line',\n placeholder: '-',\n progressClassName: '',\n progressBarClassName: '',\n map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],\n showLabel: true\n };\n\n autoClassName(value: number) {\n const map = this.props.map;\n if (!map || !map.length) {\n return '';\n }\n let index = Math.floor((value * map.length) / 100);\n index = Math.max(0, Math.min(map.length - 1, index));\n return map[index];\n }\n\n getLabel(prefixCls: string) {\n const {value, format, showLabel, classnames: cx} = this.props;\n if (!showLabel) {\n return null;\n }\n const textFormatter = format || (value => `${value}%`);\n const content = textFormatter(value);\n return (\n <span className={cx(`${prefixCls}-text`)} key=\"value\">\n {content}\n </span>\n );\n }\n\n render() {\n const {\n classNames,\n progressClassName,\n progressBarClassName,\n type,\n value,\n placeholder,\n stripe,\n animate,\n showLabel,\n gapDegree,\n gapPosition,\n strokeWidth,\n classnames: cx\n } = this.props;\n\n const isLineType = type === 'line';\n const prefixCls = isLineType ? 'Progress-line' : 'Progress-circle';\n\n let viewValue: React.ReactNode = (\n <span className=\"text-muted\">{placeholder}</span>\n );\n\n if (type === 'line') {\n viewValue = [\n <div\n key=\"progress\"\n className={cx(prefixCls, progressClassName, {\n [`${prefixCls}-no-label`]: !showLabel\n })}\n >\n <div className={cx(`${prefixCls}-inter`)}>\n <div\n className={cx(\n `${prefixCls}-bar`,\n progressBarClassName || this.autoClassName(value),\n {[`${prefixCls}-bar--stripe`]: stripe},\n {[`${prefixCls}-bar--animate`]: animate && !stripe},\n {[`${prefixCls}-bar--stripe-animate`]: animate && stripe}\n )}\n title={`${value}%`}\n style={{\n width: `${value}%`\n }}\n />\n </div>\n </div>,\n this.getLabel(prefixCls)\n ];\n } else if (type === 'circle' || type === 'dashboard') {\n const circleWidth = strokeWidth || 6;\n const gapPos = gapPosition || (type === 'dashboard' && 'bottom') || 'top';\n const getGapDegree = () => {\n if (gapDegree || gapDegree === 0) {\n return gapDegree;\n }\n if (type === 'dashboard') {\n return 75;\n }\n return undefined;\n };\n\n viewValue = [\n <div className={cx(prefixCls)} key=\"circle\">\n <Circle\n percent={value}\n strokeColor=\"\"\n strokeWidth={circleWidth}\n trailWidth={circleWidth}\n prefixCls={this.autoClassName(value)}\n gapDegree={getGapDegree()}\n gapPosition={gapPos}\n />\n {this.getLabel(prefixCls)}\n </div>\n ];\n }\n\n return <div className={cx('Progress', classNames)}>{viewValue}</div>;\n }\n}\n\nexport default themeable(Progress);\n"
12
12
  ]
13
13
  }