amis 1.8.0-beta.5 → 1.8.0-beta.9

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 (273) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/actions/PageAction.d.ts +32 -0
  4. package/lib/actions/PageAction.js +72 -0
  5. package/lib/actions/PageAction.js.map +13 -0
  6. package/lib/actions/index.d.ts +1 -0
  7. package/lib/actions/index.js +1 -0
  8. package/lib/actions/index.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +84 -84
  10. package/lib/components/Cascader.d.ts +2 -0
  11. package/lib/components/Cascader.js +28 -12
  12. package/lib/components/Cascader.js.map +2 -2
  13. package/lib/components/Checkbox.js +2 -2
  14. package/lib/components/Checkbox.js.map +2 -2
  15. package/lib/components/Collapse.d.ts +20 -20
  16. package/lib/components/DatePicker.d.ts +84 -84
  17. package/lib/components/DatePicker.js +5 -5
  18. package/lib/components/DatePicker.js.map +2 -2
  19. package/lib/components/Drawer.js +1 -1
  20. package/lib/components/Drawer.js.map +2 -2
  21. package/lib/components/ListGroup.d.ts +21 -21
  22. package/lib/components/Modal.js +1 -1
  23. package/lib/components/Modal.js.map +2 -2
  24. package/lib/components/Overlay.d.ts +1 -0
  25. package/lib/components/Overlay.js +4 -3
  26. package/lib/components/Overlay.js.map +2 -2
  27. package/lib/components/PullRefresh.d.ts +86 -0
  28. package/lib/components/PullRefresh.js +135 -0
  29. package/lib/components/PullRefresh.js.map +13 -0
  30. package/lib/components/Spinner.d.ts +200 -107
  31. package/lib/components/Spinner.js +30 -26
  32. package/lib/components/Spinner.js.map +2 -2
  33. package/lib/components/Tooltip.d.ts +4 -0
  34. package/lib/components/Tooltip.js +6 -4
  35. package/lib/components/Tooltip.js.map +2 -2
  36. package/lib/components/TooltipWrapper.d.ts +60 -4
  37. package/lib/components/TooltipWrapper.js +27 -8
  38. package/lib/components/TooltipWrapper.js.map +2 -2
  39. package/lib/components/Transfer.d.ts +84 -84
  40. package/lib/components/TransferDropDown.d.ts +84 -84
  41. package/lib/components/Tree.d.ts +87 -85
  42. package/lib/components/Tree.js +13 -5
  43. package/lib/components/Tree.js.map +2 -2
  44. package/lib/components/TreeSelection.d.ts +84 -84
  45. package/lib/components/calendar/TimeView.d.ts +1 -0
  46. package/lib/components/calendar/TimeView.js +7 -0
  47. package/lib/components/calendar/TimeView.js.map +2 -2
  48. package/lib/components/condition-builder/Expression.d.ts +1 -0
  49. package/lib/components/condition-builder/Expression.js +4 -4
  50. package/lib/components/condition-builder/Expression.js.map +2 -2
  51. package/lib/components/condition-builder/Field.d.ts +1 -0
  52. package/lib/components/condition-builder/Field.js +3 -2
  53. package/lib/components/condition-builder/Field.js.map +2 -2
  54. package/lib/components/condition-builder/Group.d.ts +1 -0
  55. package/lib/components/condition-builder/Group.js +2 -2
  56. package/lib/components/condition-builder/Group.js.map +2 -2
  57. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  58. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  59. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  60. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  61. package/lib/components/condition-builder/InputSwitch.js +2 -2
  62. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  63. package/lib/components/condition-builder/Item.d.ts +1 -0
  64. package/lib/components/condition-builder/Item.js +9 -8
  65. package/lib/components/condition-builder/Item.js.map +2 -2
  66. package/lib/components/condition-builder/Value.d.ts +1 -0
  67. package/lib/components/condition-builder/Value.js +5 -5
  68. package/lib/components/condition-builder/Value.js.map +2 -2
  69. package/lib/components/condition-builder/index.d.ts +1 -0
  70. package/lib/components/condition-builder/index.js +2 -2
  71. package/lib/components/condition-builder/index.js.map +2 -2
  72. package/lib/components/formula/Editor.d.ts +87 -85
  73. package/lib/components/formula/Editor.js +10 -6
  74. package/lib/components/formula/Editor.js.map +2 -2
  75. package/lib/components/formula/Picker.js +3 -1
  76. package/lib/components/formula/Picker.js.map +2 -2
  77. package/lib/index.js +1 -1
  78. package/lib/locale/de-DE.js +5 -1
  79. package/lib/locale/de-DE.js.map +2 -2
  80. package/lib/locale/en-US.js +5 -1
  81. package/lib/locale/en-US.js.map +2 -2
  82. package/lib/locale/zh-CN.js +5 -1
  83. package/lib/locale/zh-CN.js.map +2 -2
  84. package/lib/renderers/CRUD.js +1 -1
  85. package/lib/renderers/CRUD.js.map +2 -2
  86. package/lib/renderers/Form/Combo.d.ts +2 -1
  87. package/lib/renderers/Form/Combo.js +51 -14
  88. package/lib/renderers/Form/Combo.js.map +2 -2
  89. package/lib/renderers/Form/DiffEditor.d.ts +1 -0
  90. package/lib/renderers/Form/InputCity.d.ts +84 -84
  91. package/lib/renderers/Form/InputDate.js +10 -3
  92. package/lib/renderers/Form/InputDate.js.map +2 -2
  93. package/lib/renderers/Form/InputDateRange.js +12 -3
  94. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  95. package/lib/renderers/Form/InputFile.js +13 -5
  96. package/lib/renderers/Form/InputFile.js.map +2 -2
  97. package/lib/renderers/Form/InputImage.js +12 -4
  98. package/lib/renderers/Form/InputImage.js.map +2 -2
  99. package/lib/renderers/Form/InputMonthRange.js +5 -1
  100. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  101. package/lib/renderers/Form/InputText.js +8 -4
  102. package/lib/renderers/Form/InputText.js.map +2 -2
  103. package/lib/renderers/Form/InputTree.d.ts +5 -0
  104. package/lib/renderers/Form/InputTree.js +51 -2
  105. package/lib/renderers/Form/InputTree.js.map +2 -2
  106. package/lib/renderers/Form/Item.d.ts +68 -70
  107. package/lib/renderers/Form/Item.js.map +2 -2
  108. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  109. package/lib/renderers/Form/NestedSelect.js +14 -5
  110. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  111. package/lib/renderers/Form/Options.js +61 -27
  112. package/lib/renderers/Form/Options.js.map +2 -2
  113. package/lib/renderers/Form/Select.js +4 -2
  114. package/lib/renderers/Form/Select.js.map +2 -2
  115. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  116. package/lib/renderers/Form/TreeSelect.js +56 -10
  117. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  118. package/lib/renderers/Form/wrapControl.js +3 -3
  119. package/lib/renderers/Form/wrapControl.js.map +2 -2
  120. package/lib/renderers/Nav.d.ts +82 -67
  121. package/lib/renderers/Nav.js +47 -11
  122. package/lib/renderers/Nav.js.map +2 -2
  123. package/lib/renderers/Page.d.ts +20 -0
  124. package/lib/renderers/Page.js +51 -14
  125. package/lib/renderers/Page.js.map +2 -2
  126. package/lib/renderers/Service.d.ts +2 -0
  127. package/lib/renderers/Service.js +52 -20
  128. package/lib/renderers/Service.js.map +2 -2
  129. package/lib/renderers/Spinner.d.ts +58 -2
  130. package/lib/renderers/Spinner.js +8 -1
  131. package/lib/renderers/Spinner.js.map +2 -2
  132. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  133. package/lib/renderers/Table/ColumnToggler.js +11 -6
  134. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  135. package/lib/renderers/Table/TableCell.js +27 -1
  136. package/lib/renderers/Table/TableCell.js.map +2 -2
  137. package/lib/renderers/Table/index.d.ts +1 -0
  138. package/lib/renderers/Table/index.js +19 -11
  139. package/lib/renderers/Table/index.js.map +2 -2
  140. package/lib/renderers/TooltipWrapper.d.ts +31 -6
  141. package/lib/renderers/TooltipWrapper.js +18 -8
  142. package/lib/renderers/TooltipWrapper.js.map +2 -2
  143. package/lib/renderers/Wizard.js +23 -14
  144. package/lib/renderers/Wizard.js.map +2 -2
  145. package/lib/store/crud.js +23 -13
  146. package/lib/store/crud.js.map +2 -2
  147. package/lib/themes/ang-ie11.css +313 -100
  148. package/lib/themes/ang.css +322 -103
  149. package/lib/themes/ang.css.map +1 -1
  150. package/lib/themes/antd-ie11.css +429 -216
  151. package/lib/themes/antd.css +323 -104
  152. package/lib/themes/antd.css.map +1 -1
  153. package/lib/themes/cxd-ie11.css +424 -211
  154. package/lib/themes/cxd.css +324 -105
  155. package/lib/themes/cxd.css.map +1 -1
  156. package/lib/themes/dark-ie11.css +313 -100
  157. package/lib/themes/dark.css +322 -103
  158. package/lib/themes/dark.css.map +1 -1
  159. package/lib/themes/default-ie11.css +424 -211
  160. package/lib/themes/default.css +324 -105
  161. package/lib/themes/default.css.map +1 -1
  162. package/lib/types.d.ts +3 -1
  163. package/lib/types.js.map +1 -1
  164. package/lib/utils/ColorScale.d.ts +19 -0
  165. package/lib/utils/ColorScale.js +104 -0
  166. package/lib/utils/ColorScale.js.map +13 -0
  167. package/lib/utils/api.js +20 -4
  168. package/lib/utils/api.js.map +2 -2
  169. package/lib/utils/dom.d.ts +1 -1
  170. package/lib/utils/dom.js +7 -5
  171. package/lib/utils/dom.js.map +2 -2
  172. package/package.json +3 -2
  173. package/schema.json +29645 -29137
  174. package/scss/_properties.scss +33 -15
  175. package/scss/components/_column-toggler.scss +21 -11
  176. package/scss/components/_formula.scss +1 -1
  177. package/scss/components/_nav.scss +51 -6
  178. package/scss/components/_pull-refresh.scss +25 -0
  179. package/scss/components/_spinner.scss +134 -56
  180. package/scss/components/_tooltip.scss +4 -9
  181. package/scss/components/form/_checks.scss +1 -0
  182. package/scss/components/form/_combo.scss +13 -1
  183. package/scss/components/form/_date-range.scss +11 -2
  184. package/scss/components/form/_date.scss +11 -0
  185. package/scss/components/form/_file.scss +4 -0
  186. package/scss/components/form/_form.scss +15 -8
  187. package/scss/components/form/_transfer.scss +3 -2
  188. package/scss/themes/_antd-variables.scss +1 -1
  189. package/scss/themes/_common.scss +1 -0
  190. package/scss/themes/_cxd-variables.scss +2 -2
  191. package/sdk/ang-ie11.css +286 -80
  192. package/sdk/ang.css +294 -82
  193. package/sdk/antd-ie11.css +402 -196
  194. package/sdk/antd.css +295 -83
  195. package/sdk/barcode.js +51 -51
  196. package/sdk/charts.js +14 -14
  197. package/sdk/codemirror.js +7 -7
  198. package/sdk/color-picker.js +65 -65
  199. package/sdk/cropperjs.js +2 -2
  200. package/sdk/cxd-ie11.css +397 -191
  201. package/sdk/cxd.css +296 -84
  202. package/sdk/dark-ie11.css +286 -80
  203. package/sdk/dark.css +294 -82
  204. package/sdk/exceljs.js +1 -1
  205. package/sdk/locale/de-DE.js +5 -1
  206. package/sdk/markdown.js +69 -69
  207. package/sdk/papaparse.js +1 -1
  208. package/sdk/renderers/Form/CityDB.js +1 -1
  209. package/sdk/rest.js +17 -17
  210. package/sdk/rich-text.js +62 -62
  211. package/sdk/sdk-ie11.css +397 -191
  212. package/sdk/sdk.css +296 -84
  213. package/sdk/sdk.js +1300 -1260
  214. package/sdk/thirds/hls.js/hls.js +1 -1
  215. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  216. package/sdk/tinymce.js +57 -57
  217. package/src/Schema.ts +10 -0
  218. package/src/actions/PageAction.ts +62 -0
  219. package/src/actions/index.ts +1 -0
  220. package/src/components/Cascader.tsx +37 -11
  221. package/src/components/Checkbox.tsx +1 -1
  222. package/src/components/DatePicker.tsx +7 -5
  223. package/src/components/Drawer.tsx +1 -0
  224. package/src/components/Modal.tsx +1 -0
  225. package/src/components/Overlay.tsx +6 -3
  226. package/src/components/PullRefresh.tsx +197 -0
  227. package/src/components/Spinner.tsx +77 -42
  228. package/src/components/Tooltip.tsx +12 -3
  229. package/src/components/TooltipWrapper.tsx +120 -33
  230. package/src/components/Tree.tsx +19 -5
  231. package/src/components/calendar/TimeView.tsx +12 -0
  232. package/src/components/condition-builder/Expression.tsx +6 -1
  233. package/src/components/condition-builder/Field.tsx +5 -1
  234. package/src/components/condition-builder/Group.tsx +4 -1
  235. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  236. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  237. package/src/components/condition-builder/Item.tsx +28 -4
  238. package/src/components/condition-builder/Value.tsx +7 -1
  239. package/src/components/condition-builder/index.tsx +4 -2
  240. package/src/components/formula/Editor.tsx +20 -15
  241. package/src/components/formula/Picker.tsx +9 -5
  242. package/src/locale/de-DE.ts +5 -1
  243. package/src/locale/en-US.ts +5 -1
  244. package/src/locale/zh-CN.ts +5 -1
  245. package/src/renderers/CRUD.tsx +1 -1
  246. package/src/renderers/Form/Combo.tsx +102 -46
  247. package/src/renderers/Form/InputDate.tsx +18 -4
  248. package/src/renderers/Form/InputDateRange.tsx +19 -2
  249. package/src/renderers/Form/InputFile.tsx +16 -4
  250. package/src/renderers/Form/InputImage.tsx +15 -3
  251. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  252. package/src/renderers/Form/InputText.tsx +14 -2
  253. package/src/renderers/Form/InputTree.tsx +40 -2
  254. package/src/renderers/Form/Item.tsx +6 -0
  255. package/src/renderers/Form/NestedSelect.tsx +23 -4
  256. package/src/renderers/Form/Options.tsx +26 -7
  257. package/src/renderers/Form/Select.tsx +5 -3
  258. package/src/renderers/Form/TreeSelect.tsx +47 -9
  259. package/src/renderers/Form/wrapControl.tsx +2 -2
  260. package/src/renderers/Nav.tsx +230 -32
  261. package/src/renderers/Page.tsx +89 -33
  262. package/src/renderers/Service.tsx +62 -27
  263. package/src/renderers/Spinner.tsx +85 -3
  264. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  265. package/src/renderers/Table/TableCell.tsx +39 -1
  266. package/src/renderers/Table/index.tsx +34 -21
  267. package/src/renderers/TooltipWrapper.tsx +64 -28
  268. package/src/renderers/Wizard.tsx +36 -25
  269. package/src/store/crud.ts +10 -0
  270. package/src/types.ts +4 -0
  271. package/src/utils/ColorScale.ts +138 -0
  272. package/src/utils/api.ts +26 -4
  273. package/src/utils/dom.tsx +7 -6
@@ -94,7 +94,7 @@ var Modal = /** @class */ (function (_super) {
94
94
  Modal.prototype.render = function () {
95
95
  var _this = this;
96
96
  var _a = this.props, className = _a.className, contentClassName = _a.contentClassName, children = _a.children, container = _a.container, show = _a.show, size = _a.size, overlay = _a.overlay, cx = _a.classnames;
97
- return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: show, timeout: 500, onEnter: this.handleEnter, onExited: this.handleExited, onEntered: this.handleEntered }, function (status) {
97
+ return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, appear: true, in: show, timeout: 500, onEnter: this.handleEnter, onExited: this.handleExited, onEntered: this.handleEntered }, function (status) {
98
98
  var _a;
99
99
  return (react_1.default.createElement(Portal_1.default, { container: container },
100
100
  react_1.default.createElement("div", { ref: _this.modalRef, role: "dialog", className: cx("amis-dialog-widget Modal", (_a = {},
@@ -6,8 +6,8 @@
6
6
  "/src/components/Modal.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Modal\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport Portal from 'react-overlays/Portal';\nimport {current, addModal, removeModal} from './ModalManager';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable} from '../locale';\nimport {autobind, getScrollbarWidth} from '../utils/helper';\n\nexport interface ModalProps extends ThemeProps, LocaleProps {\n className?: string;\n contentClassName?: string;\n size?: any;\n overlay?: boolean;\n onHide: (e: any) => void;\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n container?: any;\n show?: boolean;\n disabled?: boolean;\n onExited?: () => void;\n onEntered?: () => void;\n}\nexport interface ModalState {}\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\nexport class Modal extends React.Component<ModalProps, ModalState> {\n static defaultProps = {\n container: document.body,\n size: '',\n overlay: true\n };\n\n isRootClosed = false;\n modalDom: HTMLElement;\n\n static Header = themeable(\n localeable(\n ({\n classnames: cx,\n className,\n showCloseButton,\n onClose,\n children,\n classPrefix,\n translate: __,\n ...rest\n }: ThemeProps &\n LocaleProps & {\n className?: string;\n showCloseButton?: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-header', className)}>\n {showCloseButton !== false ? (\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n onClick={onClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {children}\n </div>\n )\n )\n );\n\n static Title = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-title', className)}>\n {children}\n </div>\n )\n );\n\n static Body = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-body', className)}>\n {children}\n </div>\n )\n );\n\n static Footer = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-footer', className)}>\n {children}\n </div>\n )\n );\n\n componentDidMount() {\n if (this.props.show) {\n this.handleEnter();\n this.handleEntered();\n }\n\n document.body.addEventListener('click', this.handleRootClickCapture, true);\n document.body.addEventListener('click', this.handleRootClick);\n }\n\n componentWillUnmount() {\n if (this.props.show) {\n this.handleExited();\n }\n\n document.body.removeEventListener('click', this.handleRootClick);\n document.body.removeEventListener(\n 'click',\n this.handleRootClickCapture,\n true\n );\n }\n\n handleEnter = () => {\n document.body.classList.add(`is-modalOpened`);\n if (\n window.innerWidth - document.documentElement.clientWidth > 0 ||\n document.body.scrollHeight > document.body.clientHeight\n ) {\n const scrollbarWidth = getScrollbarWidth();\n document.body.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n };\n\n handleEntered = () => {\n const onEntered = this.props.onEntered;\n\n onEntered && onEntered();\n };\n handleExited = () => {\n const onExited = this.props.onExited;\n onExited && onExited();\n setTimeout(() => {\n if (!document.querySelector('.amis-dialog-widget')) {\n document.body.classList.remove(`is-modalOpened`);\n document.body.style.width = '';\n }\n }, 200);\n };\n\n modalRef = (ref: any) => {\n this.modalDom = ref;\n const {classPrefix: ns} = this.props;\n if (ref) {\n addModal(this);\n (ref as HTMLElement).classList.add(`${ns}Modal--${current()}th`);\n } else {\n removeModal(this);\n }\n };\n\n @autobind\n handleRootClickCapture(e: MouseEvent) {\n const target = e.target as HTMLElement;\n const {closeOnOutside, classPrefix: ns} = this.props;\n const isLeftButton =\n (e.button === 1 && window.event !== null) || e.button === 0;\n\n this.isRootClosed = !!(\n isLeftButton &&\n closeOnOutside &&\n target &&\n this.modalDom &&\n ((!this.modalDom.contains(target) && !target.closest('[role=dialog]')) ||\n (target.matches(`.${ns}Modal`) && target === this.modalDom))\n ); // 干脆过滤掉来自弹框里面的点击\n }\n\n @autobind\n handleRootClick(e: MouseEvent) {\n const {onHide} = this.props;\n this.isRootClosed && !e.defaultPrevented && onHide(e);\n }\n\n render() {\n const {\n className,\n contentClassName,\n children,\n container,\n show,\n size,\n overlay,\n classnames: cx\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n in={show}\n timeout={500}\n onEnter={this.handleEnter}\n onExited={this.handleExited}\n onEntered={this.handleEntered}\n >\n {(status: string) => (\n <Portal container={container}>\n <div\n ref={this.modalRef}\n role=\"dialog\"\n className={cx(\n `amis-dialog-widget Modal`,\n {\n [`Modal--${size}`]: size\n },\n className\n )}\n >\n {overlay ? (\n <div className={cx(`Modal-overlay`, fadeStyles[status])} />\n ) : null}\n <div\n className={cx(\n `Modal-content`,\n contentClassName,\n fadeStyles[status]\n )}\n >\n {status === EXITED ? null : children}\n </div>\n </div>\n </Portal>\n )}\n </Transition>\n );\n }\n}\n\nconst FinalModal = themeable(localeable(Modal));\n\nexport default FinalModal as typeof FinalModal & {\n Header: typeof Modal.Header;\n Title: typeof Modal.Title;\n Body: typeof Modal.Body;\n Footer: typeof Modal.Footer;\n};\n"
11
+ "/**\n * @file Modal\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport Portal from 'react-overlays/Portal';\nimport {current, addModal, removeModal} from './ModalManager';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable} from '../locale';\nimport {autobind, getScrollbarWidth} from '../utils/helper';\n\nexport interface ModalProps extends ThemeProps, LocaleProps {\n className?: string;\n contentClassName?: string;\n size?: any;\n overlay?: boolean;\n onHide: (e: any) => void;\n closeOnEsc?: boolean;\n closeOnOutside?: boolean;\n container?: any;\n show?: boolean;\n disabled?: boolean;\n onExited?: () => void;\n onEntered?: () => void;\n}\nexport interface ModalState {}\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\nexport class Modal extends React.Component<ModalProps, ModalState> {\n static defaultProps = {\n container: document.body,\n size: '',\n overlay: true\n };\n\n isRootClosed = false;\n modalDom: HTMLElement;\n\n static Header = themeable(\n localeable(\n ({\n classnames: cx,\n className,\n showCloseButton,\n onClose,\n children,\n classPrefix,\n translate: __,\n ...rest\n }: ThemeProps &\n LocaleProps & {\n className?: string;\n showCloseButton?: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-header', className)}>\n {showCloseButton !== false ? (\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n onClick={onClose}\n className={cx('Modal-close')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {children}\n </div>\n )\n )\n );\n\n static Title = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-title', className)}>\n {children}\n </div>\n )\n );\n\n static Body = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-body', className)}>\n {children}\n </div>\n )\n );\n\n static Footer = themeable(\n ({\n classnames: cx,\n className,\n children,\n classPrefix,\n ...rest\n }: ThemeProps & {\n className?: string;\n children?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>) => (\n <div {...rest} className={cx('Modal-footer', className)}>\n {children}\n </div>\n )\n );\n\n componentDidMount() {\n if (this.props.show) {\n this.handleEnter();\n this.handleEntered();\n }\n\n document.body.addEventListener('click', this.handleRootClickCapture, true);\n document.body.addEventListener('click', this.handleRootClick);\n }\n\n componentWillUnmount() {\n if (this.props.show) {\n this.handleExited();\n }\n\n document.body.removeEventListener('click', this.handleRootClick);\n document.body.removeEventListener(\n 'click',\n this.handleRootClickCapture,\n true\n );\n }\n\n handleEnter = () => {\n document.body.classList.add(`is-modalOpened`);\n if (\n window.innerWidth - document.documentElement.clientWidth > 0 ||\n document.body.scrollHeight > document.body.clientHeight\n ) {\n const scrollbarWidth = getScrollbarWidth();\n document.body.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n };\n\n handleEntered = () => {\n const onEntered = this.props.onEntered;\n\n onEntered && onEntered();\n };\n handleExited = () => {\n const onExited = this.props.onExited;\n onExited && onExited();\n setTimeout(() => {\n if (!document.querySelector('.amis-dialog-widget')) {\n document.body.classList.remove(`is-modalOpened`);\n document.body.style.width = '';\n }\n }, 200);\n };\n\n modalRef = (ref: any) => {\n this.modalDom = ref;\n const {classPrefix: ns} = this.props;\n if (ref) {\n addModal(this);\n (ref as HTMLElement).classList.add(`${ns}Modal--${current()}th`);\n } else {\n removeModal(this);\n }\n };\n\n @autobind\n handleRootClickCapture(e: MouseEvent) {\n const target = e.target as HTMLElement;\n const {closeOnOutside, classPrefix: ns} = this.props;\n const isLeftButton =\n (e.button === 1 && window.event !== null) || e.button === 0;\n\n this.isRootClosed = !!(\n isLeftButton &&\n closeOnOutside &&\n target &&\n this.modalDom &&\n ((!this.modalDom.contains(target) && !target.closest('[role=dialog]')) ||\n (target.matches(`.${ns}Modal`) && target === this.modalDom))\n ); // 干脆过滤掉来自弹框里面的点击\n }\n\n @autobind\n handleRootClick(e: MouseEvent) {\n const {onHide} = this.props;\n this.isRootClosed && !e.defaultPrevented && onHide(e);\n }\n\n render() {\n const {\n className,\n contentClassName,\n children,\n container,\n show,\n size,\n overlay,\n classnames: cx\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n appear\n in={show}\n timeout={500}\n onEnter={this.handleEnter}\n onExited={this.handleExited}\n onEntered={this.handleEntered}\n >\n {(status: string) => (\n <Portal container={container}>\n <div\n ref={this.modalRef}\n role=\"dialog\"\n className={cx(\n `amis-dialog-widget Modal`,\n {\n [`Modal--${size}`]: size\n },\n className\n )}\n >\n {overlay ? (\n <div className={cx(`Modal-overlay`, fadeStyles[status])} />\n ) : null}\n <div\n className={cx(\n `Modal-content`,\n contentClassName,\n fadeStyles[status]\n )}\n >\n {status === EXITED ? null : children}\n </div>\n </div>\n </Portal>\n )}\n </Transition>\n );\n }\n}\n\nconst FinalModal = themeable(localeable(Modal));\n\nexport default FinalModal as typeof FinalModal & {\n Header: typeof Modal.Header;\n Title: typeof Modal.Title;\n Body: typeof Modal.Body;\n Footer: typeof Modal.Footer;\n};\n"
12
12
  ]
13
13
  }
@@ -15,6 +15,7 @@ interface OverlayProps {
15
15
  container?: React.ReactNode | Function;
16
16
  target?: React.ReactNode | Function;
17
17
  watchTargetSizeChange?: boolean;
18
+ offset?: [number, number];
18
19
  onEnter?(node: HTMLElement): any;
19
20
  onEntering?(node: HTMLElement): any;
20
21
  onEntered?(node: HTMLElement): any;
@@ -82,7 +82,7 @@ var Position = /** @class */ (function (_super) {
82
82
  }));
83
83
  }
84
84
  }
85
- this.setState((0, dom_1.calculatePosition)(this.props.placement, overlay, target, container, this.props.containerPadding));
85
+ this.setState((0, dom_1.calculatePosition)(this.props.placement, overlay, target, container, this.props.containerPadding, this.props.offset));
86
86
  };
87
87
  Position.prototype.componentDidMount = function () {
88
88
  this.updatePosition(this.getTarget());
@@ -149,7 +149,7 @@ var Overlay = /** @class */ (function (_super) {
149
149
  }
150
150
  };
151
151
  Overlay.prototype.render = function () {
152
- var _a = this.props, container = _a.container, containerPadding = _a.containerPadding, target = _a.target, placement = _a.placement, shouldUpdatePosition = _a.shouldUpdatePosition, rootClose = _a.rootClose, children = _a.children, watchTargetSizeChange = _a.watchTargetSizeChange, Transition = _a.transition, props = (0, tslib_1.__rest)(_a, ["container", "containerPadding", "target", "placement", "shouldUpdatePosition", "rootClose", "children", "watchTargetSizeChange", "transition"]);
152
+ var _a = this.props, container = _a.container, containerPadding = _a.containerPadding, target = _a.target, placement = _a.placement, shouldUpdatePosition = _a.shouldUpdatePosition, rootClose = _a.rootClose, children = _a.children, watchTargetSizeChange = _a.watchTargetSizeChange, Transition = _a.transition, offset = _a.offset, props = (0, tslib_1.__rest)(_a, ["container", "containerPadding", "target", "placement", "shouldUpdatePosition", "rootClose", "children", "watchTargetSizeChange", "transition", "offset"]);
153
153
  var mountOverlay = props.show || (Transition && !this.state.exited);
154
154
  if (!mountOverlay) {
155
155
  // Don't bother showing anything if we don't have to.
@@ -165,7 +165,8 @@ var Overlay = /** @class */ (function (_super) {
165
165
  containerPadding: containerPadding,
166
166
  target: target,
167
167
  placement: placement,
168
- shouldUpdatePosition: shouldUpdatePosition
168
+ shouldUpdatePosition: shouldUpdatePosition,
169
+ offset: offset
169
170
  }, { ref: this.positionRef }), child));
170
171
  if (Transition) {
171
172
  var onExit = props.onExit, onExiting = props.onExiting, onEnter = props.onEnter, onEntering = props.onEntering, onEntered = props.onEntered;
@@ -6,8 +6,8 @@
6
6
  "/src/components/Overlay.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Overlay\n * @description\n * @author fex\n */\n\nimport Portal from 'react-overlays/Portal';\nimport classNames from 'classnames';\nimport ReactDOM, {findDOMNode} from 'react-dom';\nimport React, {cloneElement} from 'react';\nimport {calculatePosition, getContainer, ownerDocument} from '../utils/dom';\nimport {autobind, getScrollParent, noop} from '../utils/helper';\nimport {resizeSensor, getComputedStyle} from '../utils/resize-sensor';\nimport {RootClose} from '../utils/RootClose';\n\nfunction onScroll(elem: HTMLElement, callback: () => void) {\n const handler = () => {\n requestAnimationFrame(callback);\n };\n elem.addEventListener('scroll', handler);\n return function () {\n elem.removeEventListener('scroll', handler);\n };\n}\n\nclass Position extends React.Component<any, any> {\n props: any;\n _lastTarget: any;\n resizeDispose: Array<() => void>;\n watchedTarget: any;\n setState: (state: any) => void;\n\n static defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n };\n\n constructor(props: any) {\n super(props);\n\n this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n this._lastTarget = null;\n }\n\n updatePosition(target: any) {\n this._lastTarget = target;\n\n if (!target) {\n return this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n }\n\n const watchTargetSizeChange = this.props.watchTargetSizeChange;\n const overlay = findDOMNode(this as any) as HTMLElement;\n const container = getContainer(\n this.props.container,\n ownerDocument(this).body\n );\n\n if (\n (!this.watchedTarget || this.watchedTarget !== target) &&\n getComputedStyle(target, 'position') !== 'static'\n ) {\n this.resizeDispose?.forEach(fn => fn());\n this.watchedTarget = target;\n this.resizeDispose = [\n watchTargetSizeChange !== false\n ? resizeSensor(target, () => this.updatePosition(target))\n : noop,\n resizeSensor(overlay, () => this.updatePosition(target))\n ];\n\n const scrollParent = getScrollParent(target);\n if (scrollParent && container.contains(scrollParent)) {\n this.resizeDispose.push(\n onScroll(scrollParent, () => {\n this.updatePosition(target);\n })\n );\n }\n }\n\n this.setState(\n calculatePosition(\n this.props.placement,\n overlay,\n target,\n container,\n this.props.containerPadding\n )\n );\n }\n\n componentDidMount() {\n this.updatePosition(this.getTarget());\n }\n\n getTarget = () => {\n const {target} = this.props;\n const targetElement = typeof target === 'function' ? target() : target;\n return (targetElement && ReactDOM.findDOMNode(targetElement)) || null;\n };\n\n componentDidUpdate(prevProps: any) {\n this.maybeUpdatePosition(this.props.placement !== prevProps.placement);\n }\n\n maybeUpdatePosition = (placementChanged: any) => {\n const target = this.getTarget();\n\n if (\n !this.props.shouldUpdatePosition &&\n target === this._lastTarget &&\n !placementChanged\n ) {\n return;\n }\n\n this.updatePosition(target);\n };\n\n componentWillUnmount() {\n this.resizeDispose?.forEach(fn => fn());\n }\n\n render() {\n const {children, className, ...props} = this.props;\n const {positionLeft, positionTop, ...arrowPosition} = this.state;\n\n // These should not be forwarded to the child.\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n const child = React.Children.only(children);\n return cloneElement(child, {\n ...props,\n ...arrowPosition,\n // FIXME: Don't forward `positionLeft` and `positionTop` via both props\n // and `props.style`.\n positionLeft,\n positionTop,\n className: classNames(className, child.props.className),\n style: {\n ...child.props.style,\n left: positionLeft,\n top: positionTop\n }\n });\n }\n}\n\ninterface OverlayProps {\n placement?: string;\n show?: boolean;\n transition?: React.ElementType;\n containerPadding?: number;\n shouldUpdatePosition?: boolean;\n rootClose?: boolean;\n onHide?(props: any, ...args: any[]): any;\n container?: React.ReactNode | Function;\n target?: React.ReactNode | Function;\n watchTargetSizeChange?: boolean;\n\n onEnter?(node: HTMLElement): any;\n onEntering?(node: HTMLElement): any;\n onEntered?(node: HTMLElement): any;\n onExit?(node: HTMLElement): any;\n onExiting?(node: HTMLElement): any;\n onExited?(node: HTMLElement): any;\n}\ninterface OverlayState {\n exited: boolean;\n}\nexport default class Overlay extends React.Component<\n OverlayProps,\n OverlayState\n> {\n static defaultProps = {\n placement: 'auto'\n };\n constructor(props: OverlayProps) {\n super(props as any);\n\n this.state = {\n exited: !props.show\n };\n }\n\n position: any = null;\n positionRef = (position: any) => {\n this.position = position;\n };\n\n updatePosition() {\n this.position?.maybeUpdatePosition(true);\n }\n\n componentDidUpdate(prevProps: OverlayProps) {\n const props = this.props;\n if (prevProps.show !== props.show && props.show) {\n this.setState({exited: false});\n } else if (props.transition !== prevProps.transition && !props.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({exited: true});\n }\n }\n\n @autobind\n onHiddenListener(node: HTMLElement) {\n this.setState({exited: true});\n\n if (this.props.onExited) {\n this.props.onExited(node);\n }\n }\n\n render() {\n const {\n container,\n containerPadding,\n target,\n placement,\n shouldUpdatePosition,\n rootClose,\n children,\n watchTargetSizeChange,\n transition: Transition,\n ...props\n } = this.props;\n\n const mountOverlay = props.show || (Transition && !this.state.exited);\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n let child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = (\n // @ts-ignore\n <Position\n {...{\n container,\n containerPadding,\n target,\n placement,\n shouldUpdatePosition\n }}\n ref={this.positionRef}\n >\n {child}\n </Position>\n );\n\n if (Transition) {\n let {onExit, onExiting, onEnter, onEntering, onEntered} = props;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n child = (\n <Transition\n in={props.show}\n appear\n onExit={onExit}\n onExiting={onExiting}\n onExited={this.onHiddenListener}\n onEnter={onEnter}\n onEntering={onEntering}\n onEntered={onEntered}\n >\n {child}\n </Transition>\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n return (\n // @ts-ignore\n <Portal container={container}>\n <RootClose onRootClose={props.onHide}>\n {(ref: any) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n ref: ref\n });\n }\n\n return <div ref={ref}>{child}</div>;\n }}\n </RootClose>\n </Portal>\n );\n }\n\n // @ts-ignore\n return <Portal container={container}>{child}</Portal>;\n }\n}\n"
11
+ "/**\n * @file Overlay\n * @description\n * @author fex\n */\n\nimport Portal from 'react-overlays/Portal';\nimport classNames from 'classnames';\nimport ReactDOM, {findDOMNode} from 'react-dom';\nimport React, {cloneElement} from 'react';\nimport {calculatePosition, getContainer, ownerDocument} from '../utils/dom';\nimport {autobind, getScrollParent, noop} from '../utils/helper';\nimport {resizeSensor, getComputedStyle} from '../utils/resize-sensor';\nimport {RootClose} from '../utils/RootClose';\n\nfunction onScroll(elem: HTMLElement, callback: () => void) {\n const handler = () => {\n requestAnimationFrame(callback);\n };\n elem.addEventListener('scroll', handler);\n return function () {\n elem.removeEventListener('scroll', handler);\n };\n}\n\nclass Position extends React.Component<any, any> {\n props: any;\n _lastTarget: any;\n resizeDispose: Array<() => void>;\n watchedTarget: any;\n setState: (state: any) => void;\n\n static defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n };\n\n constructor(props: any) {\n super(props);\n\n this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n this._lastTarget = null;\n }\n\n updatePosition(target: any) {\n this._lastTarget = target;\n\n if (!target) {\n return this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n }\n\n const watchTargetSizeChange = this.props.watchTargetSizeChange;\n const overlay = findDOMNode(this as any) as HTMLElement;\n const container = getContainer(\n this.props.container,\n ownerDocument(this).body\n );\n\n if (\n (!this.watchedTarget || this.watchedTarget !== target) &&\n getComputedStyle(target, 'position') !== 'static'\n ) {\n this.resizeDispose?.forEach(fn => fn());\n this.watchedTarget = target;\n this.resizeDispose = [\n watchTargetSizeChange !== false\n ? resizeSensor(target, () => this.updatePosition(target))\n : noop,\n resizeSensor(overlay, () => this.updatePosition(target))\n ];\n\n const scrollParent = getScrollParent(target);\n if (scrollParent && container.contains(scrollParent)) {\n this.resizeDispose.push(\n onScroll(scrollParent, () => {\n this.updatePosition(target);\n })\n );\n }\n }\n\n this.setState(\n calculatePosition(\n this.props.placement,\n overlay,\n target,\n container,\n this.props.containerPadding,\n this.props.offset\n )\n );\n }\n\n componentDidMount() {\n this.updatePosition(this.getTarget());\n }\n\n getTarget = () => {\n const {target} = this.props;\n const targetElement = typeof target === 'function' ? target() : target;\n return (targetElement && ReactDOM.findDOMNode(targetElement)) || null;\n };\n\n componentDidUpdate(prevProps: any) {\n this.maybeUpdatePosition(this.props.placement !== prevProps.placement);\n }\n\n maybeUpdatePosition = (placementChanged: any) => {\n const target = this.getTarget();\n\n if (\n !this.props.shouldUpdatePosition &&\n target === this._lastTarget &&\n !placementChanged\n ) {\n return;\n }\n\n this.updatePosition(target);\n };\n\n componentWillUnmount() {\n this.resizeDispose?.forEach(fn => fn());\n }\n\n render() {\n const {children, className, ...props} = this.props;\n const {positionLeft, positionTop, ...arrowPosition} = this.state;\n\n // These should not be forwarded to the child.\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n const child = React.Children.only(children);\n return cloneElement(child, {\n ...props,\n ...arrowPosition,\n // FIXME: Don't forward `positionLeft` and `positionTop` via both props\n // and `props.style`.\n positionLeft,\n positionTop,\n className: classNames(className, child.props.className),\n style: {\n ...child.props.style,\n left: positionLeft,\n top: positionTop\n }\n });\n }\n}\n\ninterface OverlayProps {\n placement?: string;\n show?: boolean;\n transition?: React.ElementType;\n containerPadding?: number;\n shouldUpdatePosition?: boolean;\n rootClose?: boolean;\n onHide?(props: any, ...args: any[]): any;\n container?: React.ReactNode | Function;\n target?: React.ReactNode | Function;\n watchTargetSizeChange?: boolean;\n offset?: [number, number];\n onEnter?(node: HTMLElement): any;\n onEntering?(node: HTMLElement): any;\n onEntered?(node: HTMLElement): any;\n onExit?(node: HTMLElement): any;\n onExiting?(node: HTMLElement): any;\n onExited?(node: HTMLElement): any;\n}\ninterface OverlayState {\n exited: boolean;\n}\nexport default class Overlay extends React.Component<\n OverlayProps,\n OverlayState\n> {\n static defaultProps = {\n placement: 'auto'\n };\n constructor(props: OverlayProps) {\n super(props as any);\n\n this.state = {\n exited: !props.show\n };\n }\n\n position: any = null;\n positionRef = (position: any) => {\n this.position = position;\n };\n\n updatePosition() {\n this.position?.maybeUpdatePosition(true);\n }\n\n componentDidUpdate(prevProps: OverlayProps) {\n const props = this.props;\n if (prevProps.show !== props.show && props.show) {\n this.setState({exited: false});\n } else if (props.transition !== prevProps.transition && !props.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({exited: true});\n }\n }\n\n @autobind\n onHiddenListener(node: HTMLElement) {\n this.setState({exited: true});\n\n if (this.props.onExited) {\n this.props.onExited(node);\n }\n }\n\n render() {\n const {\n container,\n containerPadding,\n target,\n placement,\n shouldUpdatePosition,\n rootClose,\n children,\n watchTargetSizeChange,\n transition: Transition,\n offset,\n ...props\n } = this.props;\n\n const mountOverlay = props.show || (Transition && !this.state.exited);\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n let child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = (\n // @ts-ignore\n <Position\n {...{\n container,\n containerPadding,\n target,\n placement,\n shouldUpdatePosition,\n offset\n }}\n ref={this.positionRef}\n >\n {child}\n </Position>\n );\n\n if (Transition) {\n let {onExit, onExiting, onEnter, onEntering, onEntered} = props;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n child = (\n <Transition\n in={props.show}\n appear\n onExit={onExit}\n onExiting={onExiting}\n onExited={this.onHiddenListener}\n onEnter={onEnter}\n onEntering={onEntering}\n onEntered={onEntered}\n >\n {child}\n </Transition>\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n return (\n // @ts-ignore\n <Portal container={container}>\n <RootClose onRootClose={props.onHide}>\n {(ref: any) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n ref: ref\n });\n }\n\n return <div ref={ref}>{child}</div>;\n }}\n </RootClose>\n </Portal>\n );\n }\n\n // @ts-ignore\n return <Portal container={container}>{child}</Portal>;\n }\n}\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @file PullRefresh.tsx
3
+ * @description 下拉刷新
4
+ * @author hongyang03
5
+ */
6
+ /// <reference types="hoist-non-react-statics" />
7
+ import React from 'react';
8
+ import { ClassNamesFn } from '../theme';
9
+ import { TranslateFn } from '../locale';
10
+ export interface PullRefreshProps {
11
+ classnames: ClassNamesFn;
12
+ classPrefix: string;
13
+ translate: TranslateFn;
14
+ disabled?: boolean;
15
+ pullingText?: string;
16
+ loosingText?: string;
17
+ loadingText?: string;
18
+ successText?: string;
19
+ onRefresh?: () => void;
20
+ loading?: boolean;
21
+ successDuration?: number;
22
+ loadingDuration?: number;
23
+ }
24
+ declare type statusText = 'normal' | 'pulling' | 'loosing' | 'success' | 'loading';
25
+ export interface PullRefreshState {
26
+ status: statusText;
27
+ offsetY: number;
28
+ }
29
+ declare const _default: {
30
+ new (props: (Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps) | Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>): {
31
+ render(): JSX.Element;
32
+ context: any;
33
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
34
+ forceUpdate(callback?: (() => void) | undefined): void;
35
+ readonly props: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
36
+ children?: React.ReactNode;
37
+ }>;
38
+ state: Readonly<{}>;
39
+ refs: {
40
+ [key: string]: React.ReactInstance;
41
+ };
42
+ componentDidMount?(): void;
43
+ shouldComponentUpdate?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
44
+ componentWillUnmount?(): void;
45
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
46
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
47
+ componentDidUpdate?(prevProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
48
+ componentWillMount?(): void;
49
+ UNSAFE_componentWillMount?(): void;
50
+ componentWillReceiveProps?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
51
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
52
+ componentWillUpdate?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
53
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
54
+ };
55
+ new (props: Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps, context: any): {
56
+ render(): JSX.Element;
57
+ context: any;
58
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
59
+ forceUpdate(callback?: (() => void) | undefined): void;
60
+ readonly props: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
61
+ children?: React.ReactNode;
62
+ }>;
63
+ state: Readonly<{}>;
64
+ refs: {
65
+ [key: string]: React.ReactInstance;
66
+ };
67
+ componentDidMount?(): void;
68
+ shouldComponentUpdate?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
69
+ componentWillUnmount?(): void;
70
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
71
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
72
+ componentDidUpdate?(prevProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
73
+ componentWillMount?(): void;
74
+ UNSAFE_componentWillMount?(): void;
75
+ componentWillReceiveProps?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
76
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
77
+ componentWillUpdate?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
78
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<PullRefreshProps & React.RefAttributes<{}>, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
79
+ };
80
+ displayName: string;
81
+ contextType: React.Context<string>;
82
+ ComposedComponent: React.ComponentType<React.ForwardRefExoticComponent<PullRefreshProps & React.RefAttributes<{}>>>;
83
+ } & import("hoist-non-react-statics").NonReactStatics<React.ForwardRefExoticComponent<PullRefreshProps & React.RefAttributes<{}>>, {}> & {
84
+ ComposedComponent: React.ForwardRefExoticComponent<PullRefreshProps & React.RefAttributes<{}>>;
85
+ };
86
+ export default _default;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * @file PullRefresh.tsx
4
+ * @description 下拉刷新
5
+ * @author hongyang03
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ var tslib_1 = require("tslib");
9
+ var react_1 = tslib_1.__importStar(require("react"));
10
+ var theme_1 = require("../theme");
11
+ var hooks_1 = require("../hooks");
12
+ var use_touch_1 = (0, tslib_1.__importDefault)(require("../hooks/use-touch"));
13
+ var icons_1 = require("./icons");
14
+ var defaultProps = {
15
+ successDuration: 0,
16
+ loadingDuration: 0
17
+ };
18
+ var defaultHeaderHeight = 28;
19
+ var PullRefresh = (0, react_1.forwardRef)(function (props, ref) {
20
+ var cx = props.classnames, __ = props.translate, children = props.children, successDuration = props.successDuration, loadingDuration = props.loadingDuration;
21
+ var refreshText = {
22
+ pullingText: __('pullRefresh.pullingText'),
23
+ loosingText: __('pullRefresh.loosingText'),
24
+ loadingText: __('pullRefresh.loadingText'),
25
+ successText: __('pullRefresh.successText')
26
+ };
27
+ var touch = (0, use_touch_1.default)();
28
+ (0, react_1.useEffect)(function () {
29
+ if (props.loading === false) {
30
+ loadSuccess();
31
+ }
32
+ }, [props.loading]);
33
+ var _a = (0, hooks_1.useSetState)({
34
+ status: 'normal',
35
+ offsetY: 0
36
+ }), state = _a[0], updateState = _a[1];
37
+ var isTouchable = function () {
38
+ return (!props.disabled &&
39
+ state.status !== 'loading' &&
40
+ state.status !== 'success');
41
+ };
42
+ var ease = function (distance) {
43
+ var pullDistance = defaultHeaderHeight;
44
+ if (distance > pullDistance) {
45
+ if (distance < pullDistance * 2) {
46
+ distance = pullDistance + (distance - pullDistance) / 2;
47
+ }
48
+ else {
49
+ distance = pullDistance * 1.5 + (distance - pullDistance * 2) / 4;
50
+ }
51
+ }
52
+ return Math.round(distance);
53
+ };
54
+ var setStatus = function (distance, isLoading) {
55
+ var pullDistance = defaultHeaderHeight;
56
+ var status = 'normal';
57
+ if (isLoading) {
58
+ status = 'loading';
59
+ }
60
+ else if (distance === 0) {
61
+ status = 'normal';
62
+ }
63
+ else if (distance < pullDistance) {
64
+ status = 'pulling';
65
+ }
66
+ else {
67
+ status = 'loosing';
68
+ }
69
+ updateState({ offsetY: distance, status: status });
70
+ };
71
+ var loadSuccess = function () {
72
+ if (!successDuration) {
73
+ setStatus(0);
74
+ return;
75
+ }
76
+ updateState({ status: 'success' });
77
+ setTimeout(function () {
78
+ setStatus(0);
79
+ }, successDuration);
80
+ };
81
+ var onTouchStart = function (event) {
82
+ event.stopPropagation();
83
+ if (isTouchable() && state.offsetY === 0) {
84
+ touch.start(event);
85
+ updateState({});
86
+ }
87
+ };
88
+ var onTouchMove = function (event) {
89
+ event.stopPropagation();
90
+ if (isTouchable()) {
91
+ touch.move(event);
92
+ updateState({});
93
+ if (touch.isVertical() && touch.deltaY > 0) {
94
+ setStatus(ease(touch.deltaY));
95
+ }
96
+ }
97
+ return false;
98
+ };
99
+ var onTouchEnd = function (event) {
100
+ event.stopPropagation();
101
+ if (isTouchable() && state.offsetY > 0) {
102
+ if (state.status === 'loosing') {
103
+ if (loadingDuration) {
104
+ setStatus(defaultHeaderHeight, true);
105
+ }
106
+ else {
107
+ setStatus(0);
108
+ }
109
+ props.onRefresh && props.onRefresh();
110
+ }
111
+ else {
112
+ setStatus(0);
113
+ }
114
+ }
115
+ };
116
+ var transformStyle = {
117
+ transform: "translate3d(0, ".concat(state.offsetY, "px, 0)"),
118
+ touchAction: 'none'
119
+ };
120
+ var getStatusText = function (status) {
121
+ if (status === 'normal') {
122
+ return '';
123
+ }
124
+ return props["".concat(status, "Text")] || refreshText["".concat(status, "Text")];
125
+ };
126
+ return (react_1.default.createElement("div", { className: cx('PullRefresh'), onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onTouchEnd, onTouchCancel: onTouchEnd },
127
+ react_1.default.createElement("div", { className: cx('PullRefresh-wrap'), style: transformStyle },
128
+ react_1.default.createElement("div", { className: cx('PullRefresh-header') },
129
+ state.status === 'loading' && (react_1.default.createElement(icons_1.Icon, { icon: "loading-outline", className: "icon loading-icon" })),
130
+ getStatusText(state.status)),
131
+ children)));
132
+ });
133
+ PullRefresh.defaultProps = defaultProps;
134
+ exports.default = (0, theme_1.themeable)(PullRefresh);
135
+ //# sourceMappingURL=./components/PullRefresh.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "PullRefresh.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/PullRefresh.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * @file PullRefresh.tsx\n * @description 下拉刷新\n * @author hongyang03\n */\n\nimport React, {forwardRef, useEffect} from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport {useSetState} from '../hooks';\nimport useTouch from '../hooks/use-touch';\nimport {Icon} from './icons';\nimport {TranslateFn} from '../locale';\n\nexport interface PullRefreshProps {\n classnames: ClassNamesFn;\n classPrefix: string;\n translate: TranslateFn;\n disabled?: boolean;\n pullingText?: string;\n loosingText?: string;\n loadingText?: string;\n successText?: string;\n onRefresh?: () => void;\n loading?: boolean;\n successDuration?: number;\n loadingDuration?: number;\n}\n\ntype statusText = 'normal' | 'pulling' | 'loosing' | 'success' | 'loading';\n\nexport interface PullRefreshState {\n status: statusText;\n offsetY: number;\n}\n\nconst defaultProps = {\n successDuration: 0,\n loadingDuration: 0\n};\n\nconst defaultHeaderHeight = 28;\n\nconst PullRefresh = forwardRef<{}, PullRefreshProps>((props, ref) => {\n const {\n classnames: cx,\n translate: __,\n children,\n successDuration,\n loadingDuration\n } = props;\n\n const refreshText = {\n pullingText: __('pullRefresh.pullingText'),\n loosingText: __('pullRefresh.loosingText'),\n loadingText: __('pullRefresh.loadingText'),\n successText: __('pullRefresh.successText')\n };\n\n const touch = useTouch();\n\n useEffect(() => {\n if (props.loading === false) {\n loadSuccess();\n }\n }, [props.loading]);\n\n const [state, updateState] = useSetState({\n status: 'normal',\n offsetY: 0\n } as PullRefreshState);\n\n const isTouchable = () => {\n return (\n !props.disabled &&\n state.status !== 'loading' &&\n state.status !== 'success'\n );\n };\n\n const ease = (distance: number) => {\n const pullDistance = defaultHeaderHeight;\n\n if (distance > pullDistance) {\n if (distance < pullDistance * 2) {\n distance = pullDistance + (distance - pullDistance) / 2;\n } else {\n distance = pullDistance * 1.5 + (distance - pullDistance * 2) / 4;\n }\n }\n\n return Math.round(distance);\n };\n\n const setStatus = (distance: number, isLoading?: boolean) => {\n const pullDistance = defaultHeaderHeight;\n let status: statusText = 'normal';\n\n if (isLoading) {\n status = 'loading';\n } else if (distance === 0) {\n status = 'normal';\n } else if (distance < pullDistance) {\n status = 'pulling';\n } else {\n status = 'loosing';\n }\n\n updateState({offsetY: distance, status});\n };\n\n const loadSuccess = () => {\n if (!successDuration) {\n setStatus(0);\n return;\n }\n updateState({status: 'success'});\n\n setTimeout(() => {\n setStatus(0);\n }, successDuration);\n };\n\n const onTouchStart = (event: any) => {\n event.stopPropagation();\n\n if (isTouchable() && state.offsetY === 0) {\n touch.start(event);\n updateState({});\n }\n };\n\n const onTouchMove = (event: any) => {\n event.stopPropagation();\n\n if (isTouchable()) {\n touch.move(event);\n updateState({});\n if (touch.isVertical() && touch.deltaY > 0) {\n setStatus(ease(touch.deltaY));\n }\n }\n return false;\n };\n\n const onTouchEnd = (event: any) => {\n event.stopPropagation();\n\n if (isTouchable() && state.offsetY > 0) {\n if (state.status === 'loosing') {\n if (loadingDuration) {\n setStatus(defaultHeaderHeight, true);\n } else {\n setStatus(0);\n }\n props.onRefresh && props.onRefresh();\n } else {\n setStatus(0);\n }\n }\n };\n\n const transformStyle = {\n transform: `translate3d(0, ${state.offsetY}px, 0)`,\n touchAction: 'none'\n };\n\n const getStatusText = (status: statusText) => {\n if (status === 'normal') {\n return '';\n }\n return props[`${status}Text`] || refreshText[`${status}Text`];\n };\n\n return (\n <div\n className={cx('PullRefresh')}\n onTouchStart={onTouchStart}\n onTouchMove={onTouchMove}\n onTouchEnd={onTouchEnd}\n onTouchCancel={onTouchEnd}\n >\n <div className={cx('PullRefresh-wrap')} style={transformStyle}>\n <div className={cx('PullRefresh-header')}>\n {state.status === 'loading' && (\n <Icon icon=\"loading-outline\" className=\"icon loading-icon\" />\n )}\n {getStatusText(state.status)}\n </div>\n {children}\n </div>\n </div>\n );\n});\n\nPullRefresh.defaultProps = defaultProps;\n\nexport default themeable(PullRefresh);\n"
12
+ ]
13
+ }