@vtx/components 3.1.0 → 3.1.4

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 (184) hide show
  1. package/CHANGELOG.md +163 -114
  2. package/README.md +19 -19
  3. package/lib/_util/filterSpecialCharacters.js +6 -6
  4. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  5. package/lib/_util/getComponentProps.js.map +1 -1
  6. package/lib/_util/getUrlParam.js.map +1 -1
  7. package/lib/_util/isFunction.js.map +1 -1
  8. package/lib/_util/isObject.js.map +1 -1
  9. package/lib/_util/useColSize.js.map +1 -1
  10. package/lib/_util/useInterval.js.map +1 -1
  11. package/lib/_util/useSet.js.map +1 -1
  12. package/lib/config.js.map +1 -1
  13. package/lib/index.js.map +1 -1
  14. package/lib/vtx-color-picker/index.js +1 -1
  15. package/lib/vtx-color-picker/index.js.map +1 -1
  16. package/lib/vtx-color-picker/style/css.js.map +1 -1
  17. package/lib/vtx-color-picker/style/index.js.map +1 -1
  18. package/lib/vtx-color-picker/style/index.less +12 -12
  19. package/lib/vtx-combogrid/Combogrid.js +1 -1
  20. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  21. package/lib/vtx-combogrid/index.js +1 -1
  22. package/lib/vtx-combogrid/index.js.map +1 -1
  23. package/lib/vtx-combogrid/style/css.js.map +1 -1
  24. package/lib/vtx-combogrid/style/index.js.map +1 -1
  25. package/lib/vtx-combogrid/style/index.less +29 -29
  26. package/lib/vtx-datagrid/Alert.js.map +1 -1
  27. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  28. package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
  29. package/lib/vtx-datagrid/index.js +1 -1
  30. package/lib/vtx-datagrid/index.js.map +1 -1
  31. package/lib/vtx-datagrid/renderColumnButtons.js +1 -1
  32. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  33. package/lib/vtx-datagrid/style/css.js.map +1 -1
  34. package/lib/vtx-datagrid/style/index.js.map +1 -1
  35. package/lib/vtx-datagrid/style/index.less +166 -163
  36. package/lib/vtx-date-picker/QdatePicker.js +1 -1
  37. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  38. package/lib/vtx-date-picker/generatePicker.js +2 -2
  39. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  40. package/lib/vtx-date-picker/index.js.map +1 -1
  41. package/lib/vtx-date-picker/style/css.js.map +1 -1
  42. package/lib/vtx-date-picker/style/index.js.map +1 -1
  43. package/lib/vtx-date-picker/style/index.less +38 -38
  44. package/lib/vtx-editor/index.js +1 -1
  45. package/lib/vtx-editor/index.js.map +1 -1
  46. package/lib/vtx-editor/style/css.js.map +1 -1
  47. package/lib/vtx-editor/style/index.js.map +1 -1
  48. package/lib/vtx-editor/style/index.less +8 -8
  49. package/lib/vtx-ellipsis-text/index.js +1 -1
  50. package/lib/vtx-ellipsis-text/index.js.map +1 -1
  51. package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
  52. package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
  53. package/lib/vtx-ellipsis-text/style/index.less +13 -13
  54. package/lib/vtx-export/index.js +8 -8
  55. package/lib/vtx-export/index.js.map +1 -1
  56. package/lib/vtx-export/style/css.js.map +1 -1
  57. package/lib/vtx-export/style/index.js.map +1 -1
  58. package/lib/vtx-export/style/index.less +6 -6
  59. package/lib/vtx-form-layout/Card.js.map +1 -1
  60. package/lib/vtx-form-layout/Divider.js.map +1 -1
  61. package/lib/vtx-form-layout/FormItem.js +1 -1
  62. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  63. package/lib/vtx-form-layout/Pane.js.map +1 -1
  64. package/lib/vtx-form-layout/Row.js.map +1 -1
  65. package/lib/vtx-form-layout/context.js.map +1 -1
  66. package/lib/vtx-form-layout/demo/Modal.css +3 -3
  67. package/lib/vtx-form-layout/demo/Modal.less +43 -41
  68. package/lib/vtx-form-layout/index.js.map +1 -1
  69. package/lib/vtx-form-layout/style/css.js.map +1 -1
  70. package/lib/vtx-form-layout/style/index.css +4 -0
  71. package/lib/vtx-form-layout/style/index.js.map +1 -1
  72. package/lib/vtx-form-layout/style/index.less +211 -207
  73. package/lib/vtx-image/Image.js.map +1 -1
  74. package/lib/vtx-image/Preview.js.map +1 -1
  75. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  76. package/lib/vtx-image/index.js.map +1 -1
  77. package/lib/vtx-image/style/css.js.map +1 -1
  78. package/lib/vtx-image/style/index.css +1 -1
  79. package/lib/vtx-image/style/index.js.map +1 -1
  80. package/lib/vtx-image/style/index.less +63 -48
  81. package/lib/vtx-import/index.js +1 -3
  82. package/lib/vtx-import/index.js.map +1 -1
  83. package/lib/vtx-import/result.js +1 -1
  84. package/lib/vtx-import/result.js.map +1 -1
  85. package/lib/vtx-import/style/css.js +2 -0
  86. package/lib/vtx-import/style/css.js.map +1 -1
  87. package/lib/vtx-import/style/index.css +3 -0
  88. package/lib/vtx-import/style/index.js +2 -0
  89. package/lib/vtx-import/style/index.js.map +1 -1
  90. package/lib/vtx-import/style/index.less +8 -0
  91. package/lib/vtx-input/TextArea.js +1 -1
  92. package/lib/vtx-input/TextArea.js.map +1 -1
  93. package/lib/vtx-input/index.js +1 -1
  94. package/lib/vtx-input/index.js.map +1 -1
  95. package/lib/vtx-input/style/css.js.map +1 -1
  96. package/lib/vtx-input/style/index.js.map +1 -1
  97. package/lib/vtx-input/style/index.less +24 -24
  98. package/lib/vtx-input/useLength.js.map +1 -1
  99. package/lib/vtx-modal/Title.js.map +1 -1
  100. package/lib/vtx-modal/index.js +2 -2
  101. package/lib/vtx-modal/index.js.map +1 -1
  102. package/lib/vtx-modal/style/css.js.map +1 -1
  103. package/lib/vtx-modal/style/index.css +6 -2
  104. package/lib/vtx-modal/style/index.js.map +1 -1
  105. package/lib/vtx-modal/style/index.less +95 -85
  106. package/lib/vtx-page-layout/Basic.js +2 -2
  107. package/lib/vtx-page-layout/Basic.js.map +1 -1
  108. package/lib/vtx-page-layout/Content.js.map +1 -1
  109. package/lib/vtx-page-layout/Pane.js.map +1 -1
  110. package/lib/vtx-page-layout/TableLayout.js +10 -10
  111. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  112. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  113. package/lib/vtx-page-layout/container.js +3 -3
  114. package/lib/vtx-page-layout/container.js.map +1 -1
  115. package/lib/vtx-page-layout/index.js.map +1 -1
  116. package/lib/vtx-page-layout/style/css.js.map +1 -1
  117. package/lib/vtx-page-layout/style/index.js.map +1 -1
  118. package/lib/vtx-page-layout/style/index.less +138 -138
  119. package/lib/vtx-rps-frame/index.js.map +1 -1
  120. package/lib/vtx-rps-frame/style/css.js.map +1 -1
  121. package/lib/vtx-rps-frame/style/index.js.map +1 -1
  122. package/lib/vtx-rps-frame/style/index.less +8 -8
  123. package/lib/vtx-scrollable-row/index.js.map +1 -1
  124. package/lib/vtx-scrollable-row/style/css.js.map +1 -1
  125. package/lib/vtx-scrollable-row/style/index.js.map +1 -1
  126. package/lib/vtx-scrollable-row/style/index.less +113 -113
  127. package/lib/vtx-search/VtxCol.js.map +1 -1
  128. package/lib/vtx-search/VtxRow.js.map +1 -1
  129. package/lib/vtx-search/index.js.map +1 -1
  130. package/lib/vtx-search/style/css.js.map +1 -1
  131. package/lib/vtx-search/style/index.js.map +1 -1
  132. package/lib/vtx-search/style/index.less +83 -83
  133. package/lib/vtx-search-map-input/index.js +1 -1
  134. package/lib/vtx-search-map-input/index.js.map +1 -1
  135. package/lib/vtx-search-map-input/style/css.js.map +1 -1
  136. package/lib/vtx-search-map-input/style/index.js.map +1 -1
  137. package/lib/vtx-select/index.js +1 -1
  138. package/lib/vtx-select/index.js.map +1 -1
  139. package/lib/vtx-select/style/css.js.map +1 -1
  140. package/lib/vtx-select/style/index.js.map +1 -1
  141. package/lib/vtx-select/style/index.less +68 -68
  142. package/lib/vtx-signature/index.js.map +1 -1
  143. package/lib/vtx-signature/style/css.js.map +1 -1
  144. package/lib/vtx-signature/style/index.js.map +1 -1
  145. package/lib/vtx-signature/style/index.less +33 -33
  146. package/lib/vtx-split-pane/Pane.js.map +1 -1
  147. package/lib/vtx-split-pane/Resizer.js +1 -1
  148. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  149. package/lib/vtx-split-pane/SplitPane.js +4 -4
  150. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  151. package/lib/vtx-split-pane/index.js.map +1 -1
  152. package/lib/vtx-split-pane/style/css.js.map +1 -1
  153. package/lib/vtx-split-pane/style/index.js.map +1 -1
  154. package/lib/vtx-split-pane/style/index.less +60 -60
  155. package/lib/vtx-statistics-column/Back.js +1 -1
  156. package/lib/vtx-statistics-column/Back.js.map +1 -1
  157. package/lib/vtx-statistics-column/Item.js.map +1 -1
  158. package/lib/vtx-statistics-column/Total.js.map +1 -1
  159. package/lib/vtx-statistics-column/context.js.map +1 -1
  160. package/lib/vtx-statistics-column/index.js.map +1 -1
  161. package/lib/vtx-statistics-column/style/css.js.map +1 -1
  162. package/lib/vtx-statistics-column/style/index.js.map +1 -1
  163. package/lib/vtx-statistics-column/style/index.less +59 -59
  164. package/lib/vtx-time-picker/index.js +1 -1
  165. package/lib/vtx-time-picker/index.js.map +1 -1
  166. package/lib/vtx-time-picker/style/css.js.map +1 -1
  167. package/lib/vtx-time-picker/style/index.js.map +1 -1
  168. package/lib/vtx-upload/FilePreview.js.map +1 -1
  169. package/lib/vtx-upload/index.js +2 -2
  170. package/lib/vtx-upload/index.js.map +1 -1
  171. package/lib/vtx-upload/style/css.js.map +1 -1
  172. package/lib/vtx-upload/style/index.js.map +1 -1
  173. package/lib/vtx-upload/style/index.less +61 -61
  174. package/lib/vtx-ztree/index.js +4 -4
  175. package/lib/vtx-ztree/index.js.map +1 -1
  176. package/lib/vtx-ztree/style/css.js.map +1 -1
  177. package/lib/vtx-ztree/style/index.js.map +1 -1
  178. package/lib/vtx-ztree/style/index.less +30 -30
  179. package/lib/vtx-ztree-select/index.js +2 -2
  180. package/lib/vtx-ztree-select/index.js.map +1 -1
  181. package/lib/vtx-ztree-select/style/css.js.map +1 -1
  182. package/lib/vtx-ztree-select/style/index.js.map +1 -1
  183. package/lib/vtx-ztree-select/style/index.less +74 -74
  184. package/package.json +123 -122
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-image/Preview.jsx"],"names":["VIEWER","GALLERY","checkMode","x","mode","Array","isArray","len","length","Preview","props","container","setContainer","viewer","setViewer","photo","index","visible","onClose","onIndexChange","options","viewerOption","button","navbar","title","toolbar","tooltip","movable","zoomable","rotatable","scalable","transition","document","createElement","Viewer","url","image","src","hidden","view","e","detail","destroy","childNodes","innerHTML","newIndex","alt","imgElem","appendChild","ulElem","map","item","liElem","update","propTypes","PropTypes","oneOfType","object","array","number","bool","func"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport Viewer from 'viewerjs';\nimport PropTypes from 'prop-types';\n\nimport isObject from '../_util/isObject';\n\n// 单张\nconst VIEWER = 'viewer';\n// 多张\nconst GALLERY = 'gallery';\nfunction checkMode(x) {\n let mode = '';\n if (isObject(x)) {\n mode = VIEWER;\n }\n if (Array.isArray(x)) {\n const len = x.length;\n mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;\n }\n return mode;\n}\n\nexport default function Preview(props) {\n const [container, setContainer] = useState();\n const [viewer, setViewer] = useState();\n const { photo, index, visible, onClose, onIndexChange, options } = props;\n\n // let container;\n useEffect(() => {\n const viewerOption = {\n button: true, // 显示右上角关闭按钮\n navbar: false, // 显示缩略图导航\n title: true, // 显示当前图片的标题(现实 alt 属性及图片尺寸)\n toolbar: true, // 是否显示工具栏\n tooltip: true, // 显示缩放百分比\n movable: true, // 图片是否可移动\n zoomable: true, // 图片是否可缩放\n rotatable: true, // 图片是否可旋转\n scalable: true, // 图片是否可翻转\n transition: true, // 使用 CSS3 过度\n ...options,\n };\n\n const container = document.createElement('div');\n const viewer = new Viewer(container, {\n url(image) {\n return image.src;\n },\n // 关闭后\n hidden() {\n onClose && onClose();\n },\n view(e) {\n onIndexChange && onIndexChange(e.detail.index);\n },\n ...viewerOption,\n });\n setContainer(container);\n setViewer(viewer);\n return () => {\n viewer && viewer.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (visible) {\n if (container.childNodes.length > 0) {\n container.innerHTML = '';\n }\n const mode = checkMode(photo);\n let newIndex = index;\n // 单张\n if (mode === VIEWER) {\n newIndex = 0;\n const { src, alt } = isObject(photo) ? photo : photo[0];\n const imgElem = document.createElement('img');\n imgElem.src = src;\n imgElem.alt = alt;\n container.appendChild(imgElem);\n }\n // 多张\n if (mode === GALLERY) {\n const len = photo.length - 1;\n newIndex = index < 0 ? 0 : index;\n newIndex = index > len ? len : index;\n const ulElem = document.createElement('ul');\n photo.map(item => {\n const liElem = document.createElement('li');\n const imgElem = document.createElement('img');\n imgElem.src = item.src;\n imgElem.alt = item.alt;\n liElem.appendChild(imgElem);\n ulElem.appendChild(liElem);\n });\n container.appendChild(ulElem);\n }\n viewer.update();\n viewer.view(newIndex);\n }\n }, [visible]);\n\n return <></>;\n}\n\nPreview.propTypes = {\n photo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n index: PropTypes.number,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onIndexChange: PropTypes.func,\n options: PropTypes.object,\n};\n"],"file":"Preview.js"}
1
+ {"version":3,"file":"Preview.js","names":["VIEWER","GALLERY","checkMode","x","mode","isObject","Array","isArray","len","length","Preview","props","useState","container","setContainer","viewer","setViewer","photo","index","visible","onClose","onIndexChange","options","useEffect","viewerOption","button","navbar","title","toolbar","tooltip","movable","zoomable","rotatable","scalable","transition","document","createElement","Viewer","url","image","src","hidden","view","e","detail","destroy","childNodes","innerHTML","newIndex","alt","imgElem","appendChild","ulElem","map","item","liElem","update","propTypes","PropTypes","oneOfType","object","array","number","bool","func"],"sources":["vtx-image/Preview.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport Viewer from 'viewerjs';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport isObject from '../_util/isObject';\r\n\r\n// 单张\r\nconst VIEWER = 'viewer';\r\n// 多张\r\nconst GALLERY = 'gallery';\r\nfunction checkMode(x) {\r\n let mode = '';\r\n if (isObject(x)) {\r\n mode = VIEWER;\r\n }\r\n if (Array.isArray(x)) {\r\n const len = x.length;\r\n mode = len == 0 ? '' : len == 1 ? VIEWER : GALLERY;\r\n }\r\n return mode;\r\n}\r\n\r\nexport default function Preview(props) {\r\n const [container, setContainer] = useState();\r\n const [viewer, setViewer] = useState();\r\n const { photo, index, visible, onClose, onIndexChange, options } = props;\r\n\r\n // let container;\r\n useEffect(() => {\r\n const viewerOption = {\r\n button: true, // 显示右上角关闭按钮\r\n navbar: false, // 显示缩略图导航\r\n title: true, // 显示当前图片的标题(现实 alt 属性及图片尺寸)\r\n toolbar: true, // 是否显示工具栏\r\n tooltip: true, // 显示缩放百分比\r\n movable: true, // 图片是否可移动\r\n zoomable: true, // 图片是否可缩放\r\n rotatable: true, // 图片是否可旋转\r\n scalable: true, // 图片是否可翻转\r\n transition: true, // 使用 CSS3 过度\r\n ...options,\r\n };\r\n\r\n const container = document.createElement('div');\r\n const viewer = new Viewer(container, {\r\n url(image) {\r\n return image.src;\r\n },\r\n // 关闭后\r\n hidden() {\r\n onClose && onClose();\r\n },\r\n view(e) {\r\n onIndexChange && onIndexChange(e.detail.index);\r\n },\r\n ...viewerOption,\r\n });\r\n setContainer(container);\r\n setViewer(viewer);\r\n return () => {\r\n viewer && viewer.destroy();\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (visible) {\r\n if (container.childNodes.length > 0) {\r\n container.innerHTML = '';\r\n }\r\n const mode = checkMode(photo);\r\n let newIndex = index;\r\n // 单张\r\n if (mode === VIEWER) {\r\n newIndex = 0;\r\n const { src, alt } = isObject(photo) ? photo : photo[0];\r\n const imgElem = document.createElement('img');\r\n imgElem.src = src;\r\n imgElem.alt = alt;\r\n container.appendChild(imgElem);\r\n }\r\n // 多张\r\n if (mode === GALLERY) {\r\n const len = photo.length - 1;\r\n newIndex = index < 0 ? 0 : index;\r\n newIndex = index > len ? len : index;\r\n const ulElem = document.createElement('ul');\r\n photo.map(item => {\r\n const liElem = document.createElement('li');\r\n const imgElem = document.createElement('img');\r\n imgElem.src = item.src;\r\n imgElem.alt = item.alt;\r\n liElem.appendChild(imgElem);\r\n ulElem.appendChild(liElem);\r\n });\r\n container.appendChild(ulElem);\r\n }\r\n viewer.update();\r\n viewer.view(newIndex);\r\n }\r\n }, [visible]);\r\n\r\n return <></>;\r\n}\r\n\r\nPreview.propTypes = {\r\n photo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n index: PropTypes.number,\r\n visible: PropTypes.bool,\r\n onClose: PropTypes.func,\r\n onIndexChange: PropTypes.func,\r\n options: PropTypes.object,\r\n};\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-image/PreviewGroup.jsx"],"names":["context","React","createContext","Provider","PreviewGroup","props","photo","setPhoto","current","setCurrent","visible","setVisible","onIndexChange","registerImage","src","alt","id","oldPhoto","newPhoto","index","findIndex","item","push","isPreviewGroup","setShowPreview","children","propTypes","PropTypes","node","func"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,OAAO,gBAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAhB;;;AACP,IAAQC,QAAR,GAAqBH,OAArB,CAAQG,QAAR;;AAEe,SAASC,YAAT,CAAsBC,KAAtB,EAA6B;AACxC,kBAA0B,qBAAS,EAAT,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,mBAA8B,qBAAS,CAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAA8B,qBAAS,KAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAEA,MAAQC,aAAR,GAA0BP,KAA1B,CAAQO,aAAR;;AAEA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAsB;AAAA,QAAnBC,GAAmB,QAAnBA,GAAmB;AAAA,QAAdC,GAAc,QAAdA,GAAc;AAAA,QAATC,EAAS,QAATA,EAAS;AACxCT,IAAAA,QAAQ,CAAC,UAAAU,QAAQ,EAAI;AACjB,UAAMC,QAAQ,sBAAOD,QAAP,CAAd;;AACA,UAAME,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAC,IAAI;AAAA,eAAIA,IAAI,CAACL,EAAL,KAAYA,EAAhB;AAAA,OAAvB,CAAd;;AACA,UAAIG,KAAK,GAAG,CAAZ,EAAe;AACXD,QAAAA,QAAQ,CAACI,IAAT,CAAc;AAAER,UAAAA,GAAG,EAAHA,GAAF;AAAOC,UAAAA,GAAG,EAAHA,GAAP;AAAYC,UAAAA,EAAE,EAAFA;AAAZ,SAAd;AACH,OAFD,MAEO;AACHE,QAAAA,QAAQ,CAACC,KAAD,CAAR,GAAkB;AAAEL,UAAAA,GAAG,EAAHA,GAAF;AAAOC,UAAAA,GAAG,EAAHA,GAAP;AAAYC,UAAAA,EAAE,EAAFA;AAAZ,SAAlB;AACH;;AACD,aAAOE,QAAP;AACH,KATO,CAAR;AAUH,GAXD;;AAaA,sBACI,gCAAC,QAAD;AACI,IAAA,KAAK,EAAE;AACHK,MAAAA,cAAc,EAAE,IADb;AAEHf,MAAAA,OAAO,EAAPA,OAFG;AAGHC,MAAAA,UAAU,EAAVA,UAHG;AAIHe,MAAAA,cAAc,EAAEb,UAJb;AAKHE,MAAAA,aAAa,EAAbA;AALG;AADX,KASKR,KAAK,CAACoB,QATX,eAUI,gCAAC,mBAAD;AACI,IAAA,OAAO,EAAEf,OADb;AAEI,IAAA,KAAK,EAAEJ,KAAK,CAACc,SAAN,CAAgB,UAAAC,IAAI;AAAA,aAAIA,IAAI,CAACL,EAAL,KAAYR,OAAhB;AAAA,KAApB,CAFX;AAGI,IAAA,KAAK,EAAEF,KAHX;AAII,IAAA,OAAO,EAAE;AAAA,aAAMK,UAAU,CAAC,KAAD,CAAhB;AAAA,KAJb;AAKI,IAAA,aAAa,EAAEC;AALnB,IAVJ,CADJ;AAoBH;;AAEDR,YAAY,CAACsB,SAAb,GAAyB;AACrBD,EAAAA,QAAQ,EAAEE,sBAAUC,IADC;AAErBhB,EAAAA,aAAa,EAAEe,sBAAUE;AAFJ,CAAzB","sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Preview from './Preview';\n\nexport const context = React.createContext({});\nconst { Provider } = context;\n\nexport default function PreviewGroup(props) {\n const [photo, setPhoto] = useState([]);\n const [current, setCurrent] = useState(0);\n const [visible, setVisible] = useState(false);\n\n const { onIndexChange } = props;\n\n const registerImage = ({ src, alt, id }) => {\n setPhoto(oldPhoto => {\n const newPhoto = [...oldPhoto];\n const index = oldPhoto.findIndex(item => item.id === id);\n if (index < 0) {\n newPhoto.push({ src, alt, id });\n } else {\n newPhoto[index] = { src, alt, id };\n }\n return newPhoto;\n });\n };\n\n return (\n <Provider\n value={{\n isPreviewGroup: true,\n current,\n setCurrent,\n setShowPreview: setVisible,\n registerImage,\n }}\n >\n {props.children}\n <Preview\n visible={visible}\n index={photo.findIndex(item => item.id === current)}\n photo={photo}\n onClose={() => setVisible(false)}\n onIndexChange={onIndexChange}\n />\n </Provider>\n );\n}\n\nPreviewGroup.propTypes = {\n children: PropTypes.node,\n onIndexChange: PropTypes.func,\n};\n"],"file":"PreviewGroup.js"}
1
+ {"version":3,"file":"PreviewGroup.js","names":["context","React","createContext","Provider","PreviewGroup","props","useState","photo","setPhoto","current","setCurrent","visible","setVisible","onIndexChange","registerImage","src","alt","id","oldPhoto","newPhoto","index","findIndex","item","push","isPreviewGroup","setShowPreview","children","propTypes","PropTypes","node","func"],"sources":["vtx-image/PreviewGroup.jsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Preview from './Preview';\r\n\r\nexport const context = React.createContext({});\r\nconst { Provider } = context;\r\n\r\nexport default function PreviewGroup(props) {\r\n const [photo, setPhoto] = useState([]);\r\n const [current, setCurrent] = useState(0);\r\n const [visible, setVisible] = useState(false);\r\n\r\n const { onIndexChange } = props;\r\n\r\n const registerImage = ({ src, alt, id }) => {\r\n setPhoto(oldPhoto => {\r\n const newPhoto = [...oldPhoto];\r\n const index = oldPhoto.findIndex(item => item.id === id);\r\n if (index < 0) {\r\n newPhoto.push({ src, alt, id });\r\n } else {\r\n newPhoto[index] = { src, alt, id };\r\n }\r\n return newPhoto;\r\n });\r\n };\r\n\r\n return (\r\n <Provider\r\n value={{\r\n isPreviewGroup: true,\r\n current,\r\n setCurrent,\r\n setShowPreview: setVisible,\r\n registerImage,\r\n }}\r\n >\r\n {props.children}\r\n <Preview\r\n visible={visible}\r\n index={photo.findIndex(item => item.id === current)}\r\n photo={photo}\r\n onClose={() => setVisible(false)}\r\n onIndexChange={onIndexChange}\r\n />\r\n </Provider>\r\n );\r\n}\r\n\r\nPreviewGroup.propTypes = {\r\n children: PropTypes.node,\r\n onIndexChange: PropTypes.func,\r\n};\r\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,OAAO,gBAAGC,iBAAA,CAAMC,aAAN,CAAoB,EAApB,CAAhB;;;AACP,IAAQC,QAAR,GAAqBH,OAArB,CAAQG,QAAR;;AAEe,SAASC,YAAT,CAAsBC,KAAtB,EAA6B;EACxC,gBAA0B,IAAAC,eAAA,EAAS,EAAT,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EACA,iBAA8B,IAAAF,eAAA,EAAS,CAAT,CAA9B;EAAA;EAAA,IAAOG,OAAP;EAAA,IAAgBC,UAAhB;;EACA,iBAA8B,IAAAJ,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOK,OAAP;EAAA,IAAgBC,UAAhB;;EAEA,IAAQC,aAAR,GAA0BR,KAA1B,CAAQQ,aAAR;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAsB;IAAA,IAAnBC,GAAmB,QAAnBA,GAAmB;IAAA,IAAdC,GAAc,QAAdA,GAAc;IAAA,IAATC,EAAS,QAATA,EAAS;IACxCT,QAAQ,CAAC,UAAAU,QAAQ,EAAI;MACjB,IAAMC,QAAQ,sBAAOD,QAAP,CAAd;;MACA,IAAME,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACL,EAAL,KAAYA,EAAhB;MAAA,CAAvB,CAAd;;MACA,IAAIG,KAAK,GAAG,CAAZ,EAAe;QACXD,QAAQ,CAACI,IAAT,CAAc;UAAER,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAd;MACH,CAFD,MAEO;QACHE,QAAQ,CAACC,KAAD,CAAR,GAAkB;UAAEL,GAAG,EAAHA,GAAF;UAAOC,GAAG,EAAHA,GAAP;UAAYC,EAAE,EAAFA;QAAZ,CAAlB;MACH;;MACD,OAAOE,QAAP;IACH,CATO,CAAR;EAUH,CAXD;;EAaA,oBACI,gCAAC,QAAD;IACI,KAAK,EAAE;MACHK,cAAc,EAAE,IADb;MAEHf,OAAO,EAAPA,OAFG;MAGHC,UAAU,EAAVA,UAHG;MAIHe,cAAc,EAAEb,UAJb;MAKHE,aAAa,EAAbA;IALG;EADX,GASKT,KAAK,CAACqB,QATX,eAUI,gCAAC,mBAAD;IACI,OAAO,EAAEf,OADb;IAEI,KAAK,EAAEJ,KAAK,CAACc,SAAN,CAAgB,UAAAC,IAAI;MAAA,OAAIA,IAAI,CAACL,EAAL,KAAYR,OAAhB;IAAA,CAApB,CAFX;IAGI,KAAK,EAAEF,KAHX;IAII,OAAO,EAAE;MAAA,OAAMK,UAAU,CAAC,KAAD,CAAhB;IAAA,CAJb;IAKI,aAAa,EAAEC;EALnB,EAVJ,CADJ;AAoBH;;AAEDT,YAAY,CAACuB,SAAb,GAAyB;EACrBD,QAAQ,EAAEE,qBAAA,CAAUC,IADC;EAErBhB,aAAa,EAAEe,qBAAA,CAAUE;AAFJ,CAAzB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-image/index.jsx"],"names":["Image"],"mappings":";;;;;;;;;;AAAA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;eACeA,iB","sourcesContent":["import Image from './Image';\n\nexport * from './Image';\nexport default Image;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["Image"],"sources":["vtx-image/index.jsx"],"sourcesContent":["import Image from './Image';\r\n\r\nexport * from './Image';\r\nexport default Image;\r\n"],"mappings":";;;;;;;;;;AAAA;;AAEA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;eACeA,iB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-image/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"file":"css.js"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\r\nimport 'viewerjs/dist/viewer.css';\r\n"],"mappings":";;AAAA;;AACA"}
@@ -42,5 +42,5 @@
42
42
  -ms-transform: translate(-50%, -50%);
43
43
  -webkit-transform: translate(-50%, -50%);
44
44
  transform: translate(-50%, -50%);
45
- color: #e9e9e9;
45
+ color: rgba(0, 0, 0, 0.45);
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-image/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\r\nimport 'viewerjs/dist/viewer.css';\r\n"],"mappings":";;AAAA;;AACA"}
@@ -1,48 +1,63 @@
1
- @import (reference) '~antd/lib/style/themes/index.less';
2
-
3
- @prefix-cls: vtx-image;
4
- @min-height: 36px;
5
- @aspectFit-background: #595959;
6
-
7
- .center {
8
- position: absolute;
9
- top: 50%;
10
- left: 50%;
11
- -ms-transform: translate(-50%, -50%);
12
- -o-transform: translate(-50%, -50%);
13
- -moz-transform: translate(-50%, -50%);
14
- -webkit-transform: translate(-50%, -50%);
15
- transform: translate(-50%, -50%);
16
- }
17
-
18
- .@{prefix-cls} {
19
- &-aspectFit {
20
- position: relative;
21
- height: 100%;
22
- min-height: @min-height;
23
- background: @aspectFit-background;
24
- img {
25
- .center();
26
- max-width: 100%;
27
- max-height: 100%;
28
- }
29
- }
30
- &-preview {
31
- img {
32
- cursor: pointer;
33
- }
34
- }
35
- &-nodata,
36
- &-error {
37
- position: relative;
38
- height: 100%;
39
- min-height: @min-height;
40
- background: #fbfbfb;
41
- border: @border-width-base @border-style-base @border-color-split;
42
- cursor: default;
43
- p {
44
- .center();
45
- color: #e9e9e9;
46
- }
47
- }
48
- }
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
3
+ @prefix-cls: vtx-image;
4
+ @min-height: 36px;
5
+ @aspectFit-background: #595959;
6
+
7
+ .center {
8
+ position: absolute;
9
+ top: 50%;
10
+ left: 50%;
11
+ -ms-transform: translate(-50%, -50%);
12
+ -o-transform: translate(-50%, -50%);
13
+ -moz-transform: translate(-50%, -50%);
14
+ -webkit-transform: translate(-50%, -50%);
15
+ transform: translate(-50%, -50%);
16
+ }
17
+
18
+ .@{prefix-cls} {
19
+ &-aspectFit {
20
+ position: relative;
21
+ height: 100%;
22
+ min-height: @min-height;
23
+ background: @aspectFit-background;
24
+ img {
25
+ .center();
26
+ max-width: 100%;
27
+ max-height: 100%;
28
+ }
29
+ }
30
+ &-preview {
31
+ img {
32
+ cursor: pointer;
33
+ }
34
+ }
35
+ &-nodata,
36
+ &-error {
37
+ position: relative;
38
+ height: 100%;
39
+ min-height: @min-height;
40
+ background: @table-expanded-row-bg;
41
+ border: @border-width-base @border-style-base @border-color-split;
42
+ cursor: default;
43
+ p {
44
+ .center();
45
+ color: @text-color-secondary;
46
+ }
47
+ }
48
+ }
49
+ .@{prefix-cls} when(@theme=dark) {
50
+ &-nodata,
51
+ &-error {
52
+ position: relative;
53
+ height: 100%;
54
+ min-height: @min-height;
55
+ background: @aspectFit-background;
56
+ border: @border-width-base @border-style-base @border-color-split;
57
+ cursor: default;
58
+ p {
59
+ .center();
60
+ color: @text-color-secondary;
61
+ }
62
+ }
63
+ }
@@ -142,9 +142,7 @@ function VtxImport(props) {
142
142
  uploadURL = props.uploadURL,
143
143
  afterUpload = props.afterUpload;
144
144
  var modalProps = {
145
- bodyStyle: {
146
- backgroundColor: '#f8f8f8'
147
- },
145
+ className: 'vtx-import-modal',
148
146
  visible: state.visible,
149
147
  title: '导入',
150
148
  onCancel: function onCancel() {
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/index.jsx"],"names":["token","VtxImport","props","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","bodyStyle","backgroundColor","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxImportResult from './result';\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\nconst { token } = getUrlParam();\nfunction VtxImport(props) {\n const [state, setState] = useSet({\n fileForm: null, // form表单\n fileInput: null, // 保存上传的文件\n iframe: null, // form表单提交之后跳转的\n useFormData: window.FormData ? true : false, // 是否查看\n uploading: false, // 表单提交的状态\n visible: props.visible || false,\n fileKey: props.fileKey || 'file',\n accept:\n props.accept ||\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\n resultVisible: false, // 导入结果查看弹窗\n resultData: [], // 导入结果查看\n modalWidth: props.modalWidth || 800,\n columns: props.columns || [\n {\n title: '行号',\n dataIndex: 'lineNum',\n key: 'lineNum',\n },\n {\n title: '错误说明',\n dataIndex: 'messages',\n key: 'messages',\n },\n ],\n });\n // 获取上传地址(拼接参数)\n const getPostURL = () => {\n const postUrl = props.uploadURL;\n const postData = props.postData || {};\n const postArray = [];\n for (const k in postData) {\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\n }\n }\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\n };\n const closeModal = () => {\n state.fileInput.value = '';\n if (typeof props.close === 'function') {\n props.close();\n } else {\n setState({\n visible: !state.visible,\n });\n }\n };\n // 上传之后的回调 - 展示报错信息\n const uploadSuccess = data => {\n state.fileInput.value = '';\n setState({\n uploading: false,\n });\n if (typeof props.afterUpload === 'function') {\n afterUpload(data);\n }\n const parseData = JSON.parse(data);\n if (Array.isArray(parseData?.data)) {\n setState({\n resultVisible: true,\n resultData: parseData.data\n .map((item, index) => ({\n ...item,\n key: index,\n messages: item.messages.join(','),\n }))\n .filter(item => item.messages.length !== 0),\n });\n } else {\n // 新增其他错误提示\n if (parseData.result !== 0) {\n message.error(parseData?.msg || '服务器异常');\n }\n }\n };\n const { templateURL, uploadURL, afterUpload } = props;\n const modalProps = {\n bodyStyle: {\n backgroundColor: '#f8f8f8',\n },\n visible: state.visible,\n title: '导入',\n onCancel: () => closeModal(),\n maskClosable: false,\n footer: [\n templateURL ? (\n <Button\n key=\"downloadTemple\"\n onClick={() => {\n window.open(templateURL);\n }}\n >\n 下载模板\n </Button>\n ) : null,\n <Button\n key=\"uploadSubmit\"\n type=\"primary\"\n loading={state.uploading}\n onClick={() => {\n const postUrl = getPostURL();\n if (state.fileInput.value) {\n setState({\n uploading: true,\n });\n if (state.useFormData) {\n const request = new XMLHttpRequest();\n request.open('POST', postUrl);\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\n request.setRequestHeader('access_token', token ? `${token}` : '');\n request.onreadystatechange = e => {\n if (e.target.readyState == 4) {\n uploadSuccess(e.target.response);\n }\n };\n const fmd = new FormData();\n fmd.append(state.fileKey, state.fileInput.files[0]);\n request.send(fmd);\n }\n } else {\n message.info('请选择需要上传的文件');\n }\n }}\n >\n 上传\n </Button>,\n <Button\n key=\"closeWindow\"\n onClick={() => {\n closeModal();\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const resultProps = {\n visible: state.resultVisible,\n dataSource: state.resultData,\n columns: state.columns,\n hideVisible: () => {\n setState({\n resultVisible: false,\n });\n },\n modalWidth: state.modalWidth,\n };\n return (\n <Modal {...modalProps}>\n {props.children}\n <form\n encType=\"multipart/form-data\"\n method=\"post\"\n target=\"tmp\"\n action={uploadURL}\n ref={dom => {\n if (dom) state.fileForm = dom;\n }}\n >\n <input\n type=\"file\"\n name={state.fileKey}\n accept={state.accept}\n ref={dom => {\n if (dom) state.fileInput = dom;\n }}\n />\n </form>\n <iframe\n name=\"tmp\"\n style={{ display: 'none' }}\n ref={dom => {\n if (dom) state.iframe = dom;\n }}\n ></iframe>\n {state.resultVisible && <VtxImportResult {...resultProps} />}\n </Modal>\n );\n}\nVtxImport.propTypes = {\n visible: PropTypes.bool,\n templateURL: PropTypes.string,\n uploadURL: PropTypes.string,\n postData: PropTypes.object,\n fileKey: PropTypes.string,\n accept: PropTypes.string,\n close: PropTypes.func,\n afterUpload: PropTypes.func,\n modalWidth: PropTypes.number,\n columns: PropTypes.array,\n children: PropTypes.object,\n};\nexport default VtxImport;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["getUrlParam","token","VtxImport","props","useSet","fileForm","fileInput","iframe","useFormData","window","FormData","uploading","visible","fileKey","accept","resultVisible","resultData","modalWidth","columns","title","dataIndex","key","state","setState","getPostURL","postUrl","uploadURL","postData","postArray","k","undefined","push","encodeURIComponent","length","join","closeModal","value","close","uploadSuccess","data","afterUpload","parseData","JSON","parse","Array","isArray","map","item","index","messages","filter","result","message","error","msg","templateURL","modalProps","className","onCancel","maskClosable","footer","open","request","XMLHttpRequest","setRequestHeader","onreadystatechange","e","target","readyState","response","fmd","append","files","send","info","resultProps","dataSource","hideVisible","children","dom","display","propTypes","PropTypes","bool","string","object","func","number","array"],"sources":["vtx-import/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport Modal from 'antd/lib/modal';\r\nimport Button from 'antd/lib/button';\r\nimport message from 'antd/lib/message';\r\nimport PropTypes from 'prop-types';\r\nimport useSet from '../_util/useSet';\r\nimport VtxImportResult from './result';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\r\nconst { token } = getUrlParam();\r\nfunction VtxImport(props) {\r\n const [state, setState] = useSet({\r\n fileForm: null, // form表单\r\n fileInput: null, // 保存上传的文件\r\n iframe: null, // form表单提交之后跳转的\r\n useFormData: window.FormData ? true : false, // 是否查看\r\n uploading: false, // 表单提交的状态\r\n visible: props.visible || false,\r\n fileKey: props.fileKey || 'file',\r\n accept:\r\n props.accept ||\r\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\r\n resultVisible: false, // 导入结果查看弹窗\r\n resultData: [], // 导入结果查看\r\n modalWidth: props.modalWidth || 800,\r\n columns: props.columns || [\r\n {\r\n title: '行号',\r\n dataIndex: 'lineNum',\r\n key: 'lineNum',\r\n },\r\n {\r\n title: '错误说明',\r\n dataIndex: 'messages',\r\n key: 'messages',\r\n },\r\n ],\r\n });\r\n // 获取上传地址(拼接参数)\r\n const getPostURL = () => {\r\n const postUrl = props.uploadURL;\r\n const postData = props.postData || {};\r\n const postArray = [];\r\n for (const k in postData) {\r\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\r\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\r\n }\r\n }\r\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\r\n };\r\n const closeModal = () => {\r\n state.fileInput.value = '';\r\n if (typeof props.close === 'function') {\r\n props.close();\r\n } else {\r\n setState({\r\n visible: !state.visible,\r\n });\r\n }\r\n };\r\n // 上传之后的回调 - 展示报错信息\r\n const uploadSuccess = data => {\r\n state.fileInput.value = '';\r\n setState({\r\n uploading: false,\r\n });\r\n if (typeof props.afterUpload === 'function') {\r\n afterUpload(data);\r\n }\r\n const parseData = JSON.parse(data);\r\n if (Array.isArray(parseData?.data)) {\r\n setState({\r\n resultVisible: true,\r\n resultData: parseData.data\r\n .map((item, index) => ({\r\n ...item,\r\n key: index,\r\n messages: item.messages.join(','),\r\n }))\r\n .filter(item => item.messages.length !== 0),\r\n });\r\n } else {\r\n // 新增其他错误提示\r\n if (parseData.result !== 0) {\r\n message.error(parseData?.msg || '服务器异常');\r\n }\r\n }\r\n };\r\n const { templateURL, uploadURL, afterUpload } = props;\r\n const modalProps = {\r\n className: 'vtx-import-modal',\r\n visible: state.visible,\r\n title: '导入',\r\n onCancel: () => closeModal(),\r\n maskClosable: false,\r\n footer: [\r\n templateURL ? (\r\n <Button\r\n key=\"downloadTemple\"\r\n onClick={() => {\r\n window.open(templateURL);\r\n }}\r\n >\r\n 下载模板\r\n </Button>\r\n ) : null,\r\n <Button\r\n key=\"uploadSubmit\"\r\n type=\"primary\"\r\n loading={state.uploading}\r\n onClick={() => {\r\n const postUrl = getPostURL();\r\n if (state.fileInput.value) {\r\n setState({\r\n uploading: true,\r\n });\r\n if (state.useFormData) {\r\n const request = new XMLHttpRequest();\r\n request.open('POST', postUrl);\r\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\r\n request.setRequestHeader('access_token', token ? `${token}` : '');\r\n request.onreadystatechange = e => {\r\n if (e.target.readyState == 4) {\r\n uploadSuccess(e.target.response);\r\n }\r\n };\r\n const fmd = new FormData();\r\n fmd.append(state.fileKey, state.fileInput.files[0]);\r\n request.send(fmd);\r\n }\r\n } else {\r\n message.info('请选择需要上传的文件');\r\n }\r\n }}\r\n >\r\n 上传\r\n </Button>,\r\n <Button\r\n key=\"closeWindow\"\r\n onClick={() => {\r\n closeModal();\r\n }}\r\n >\r\n 关闭\r\n </Button>,\r\n ],\r\n };\r\n const resultProps = {\r\n visible: state.resultVisible,\r\n dataSource: state.resultData,\r\n columns: state.columns,\r\n hideVisible: () => {\r\n setState({\r\n resultVisible: false,\r\n });\r\n },\r\n modalWidth: state.modalWidth,\r\n };\r\n return (\r\n <Modal {...modalProps}>\r\n {props.children}\r\n <form\r\n encType=\"multipart/form-data\"\r\n method=\"post\"\r\n target=\"tmp\"\r\n action={uploadURL}\r\n ref={dom => {\r\n if (dom) state.fileForm = dom;\r\n }}\r\n >\r\n <input\r\n type=\"file\"\r\n name={state.fileKey}\r\n accept={state.accept}\r\n ref={dom => {\r\n if (dom) state.fileInput = dom;\r\n }}\r\n />\r\n </form>\r\n <iframe\r\n name=\"tmp\"\r\n style={{ display: 'none' }}\r\n ref={dom => {\r\n if (dom) state.iframe = dom;\r\n }}\r\n ></iframe>\r\n {state.resultVisible && <VtxImportResult {...resultProps} />}\r\n </Modal>\r\n );\r\n}\r\nVtxImport.propTypes = {\r\n visible: PropTypes.bool,\r\n templateURL: PropTypes.string,\r\n uploadURL: PropTypes.string,\r\n postData: PropTypes.object,\r\n fileKey: PropTypes.string,\r\n accept: PropTypes.string,\r\n close: PropTypes.func,\r\n afterUpload: PropTypes.func,\r\n modalWidth: PropTypes.number,\r\n columns: PropTypes.array,\r\n children: PropTypes.object,\r\n};\r\nexport default VtxImport;\r\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ var _vtxDatagrid = _interopRequireDefault(require("../vtx-datagrid"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
21
 
22
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
23
 
24
24
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
25
 
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/result.jsx"],"names":["VtxImportResult","props","visible","dataSource","columns","modalWidth","state","modalProps","bodyStyle","backgroundColor","title","onCancel","hideVisible","width","maskClosable","footer","newTableProps","startIndex","size","headFootHeight","pagination","autoFit","maxHeight","overflow","propTypes","PropTypes","bool","array","number","func"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AAEA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;AAC5B,gBAAgB,yBAAO;AACnBC,IAAAA,OAAO,EAAED,KAAK,CAACC,OAAN,IAAiB,KADP;AAEnBC,IAAAA,UAAU,EAAEF,KAAK,CAACE,UAAN,IAAoB,EAFb;AAGnBC,IAAAA,OAAO,EAAEH,KAAK,CAACG,OAHI;AAInBC,IAAAA,UAAU,EAAEJ,KAAK,CAACI;AAJC,GAAP,CAAhB;AAAA;AAAA,MAAOC,KAAP;;AAMA,MAAMC,UAAU,GAAG;AACfC,IAAAA,SAAS,EAAE;AACPC,MAAAA,eAAe,EAAE;AADV,KADI;AAIfP,IAAAA,OAAO,EAAEI,KAAK,CAACJ,OAJA;AAKfQ,IAAAA,KAAK,EAAE,MALQ;AAMfC,IAAAA,QAAQ,EAAE,oBAAM;AACZ,UAAI,OAAOV,KAAK,CAACW,WAAb,KAA6B,UAAjC,EAA6C;AACzCX,QAAAA,KAAK,CAACW,WAAN;AACH;AACJ,KAVc;AAWfC,IAAAA,KAAK,EAAEP,KAAK,CAACD,UAXE;AAYfS,IAAAA,YAAY,EAAE,KAZC;AAafC,IAAAA,MAAM,EAAE,cACJ,gCAAC,kBAAD;AACI,MAAA,GAAG,EAAC,aADR;AAEI,MAAA,OAAO,EAAE,mBAAM;AACX,YAAI,OAAOd,KAAK,CAACW,WAAb,KAA6B,UAAjC,EAA6C;AACzCX,UAAAA,KAAK,CAACW,WAAN;AACH;AACJ;AANL,sBADI;AAbO,GAAnB;AA0BA,MAAMI,aAAa,GAAG;AAClBZ,IAAAA,OAAO,EAAEE,KAAK,CAACF,OADG;AAElBD,IAAAA,UAAU,EAAEG,KAAK,CAACH,UAFA;AAGlBc,IAAAA,UAAU,EAAE,CAHM;AAIlBC,IAAAA,IAAI,EAAE,OAJY;AAKlBC,IAAAA,cAAc,EAAE,EALE;AAMlBC,IAAAA,UAAU,EAAE,KANM;AAOlBC,IAAAA,OAAO,EAAE;AAPS,GAAtB;AASA,sBACI,gCAAC,iBAAD,EAAWd,UAAX,eACI;AAAK,IAAA,KAAK,EAAE;AAAEe,MAAAA,SAAS,EAAE,GAAb;AAAkBT,MAAAA,KAAK,EAAE,MAAzB;AAAiCU,MAAAA,QAAQ,EAAE;AAA3C;AAAZ,kBACI,gCAAC,uBAAD;AAAa,IAAA,OAAO,EAAE;AAAtB,KAAiCP,aAAjC,EADJ,CADJ,CADJ;AAOH;;AACDhB,eAAe,CAACwB,SAAhB,GAA4B;AACxBtB,EAAAA,OAAO,EAAEuB,sBAAUC,IADK;AAExBvB,EAAAA,UAAU,EAAEsB,sBAAUE,KAFE;AAGxBvB,EAAAA,OAAO,EAAEqB,sBAAUE,KAHK;AAIxBtB,EAAAA,UAAU,EAAEoB,sBAAUG,MAJE;AAKxBhB,EAAAA,WAAW,EAAEa,sBAAUI;AALC,CAA5B;eAOe7B,e","sourcesContent":["import React from 'react';\nimport Modal from 'antd/lib/modal';\nimport Button from 'antd/lib/button';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport VtxDatagrid from '../vtx-datagrid';\n\nfunction VtxImportResult(props) {\n const [state] = useSet({\n visible: props.visible || false,\n dataSource: props.dataSource || [],\n columns: props.columns,\n modalWidth: props.modalWidth,\n });\n const modalProps = {\n bodyStyle: {\n backgroundColor: '#f8f8f8',\n },\n visible: state.visible,\n title: '导入结果',\n onCancel: () => {\n if (typeof props.hideVisible === 'function') {\n props.hideVisible();\n }\n },\n width: state.modalWidth,\n maskClosable: false,\n footer: [\n <Button\n key=\"closeWindow\"\n onClick={() => {\n if (typeof props.hideVisible === 'function') {\n props.hideVisible();\n }\n }}\n >\n 关闭\n </Button>,\n ],\n };\n const newTableProps = {\n columns: state.columns,\n dataSource: state.dataSource,\n startIndex: 1,\n size: 'small',\n headFootHeight: 50,\n pagination: false,\n autoFit: false,\n };\n return (\n <Modal {...modalProps}>\n <div style={{ maxHeight: 600, width: '100%', overflow: 'auto' }}>\n <VtxDatagrid toolbar={false} {...newTableProps} />\n </div>\n </Modal>\n );\n}\nVtxImportResult.propTypes = {\n visible: PropTypes.bool,\n dataSource: PropTypes.array,\n columns: PropTypes.array,\n modalWidth: PropTypes.number,\n hideVisible: PropTypes.func,\n};\nexport default VtxImportResult;\n"],"file":"result.js"}
1
+ {"version":3,"file":"result.js","names":["VtxImportResult","props","useSet","visible","dataSource","columns","modalWidth","state","modalProps","bodyStyle","backgroundColor","title","onCancel","hideVisible","width","maskClosable","footer","newTableProps","startIndex","size","headFootHeight","pagination","autoFit","maxHeight","overflow","propTypes","PropTypes","bool","array","number","func"],"sources":["vtx-import/result.jsx"],"sourcesContent":["import React from 'react';\r\nimport Modal from 'antd/lib/modal';\r\nimport Button from 'antd/lib/button';\r\nimport PropTypes from 'prop-types';\r\nimport useSet from '../_util/useSet';\r\nimport VtxDatagrid from '../vtx-datagrid';\r\n\r\nfunction VtxImportResult(props) {\r\n const [state] = useSet({\r\n visible: props.visible || false,\r\n dataSource: props.dataSource || [],\r\n columns: props.columns,\r\n modalWidth: props.modalWidth,\r\n });\r\n const modalProps = {\r\n bodyStyle: {\r\n backgroundColor: '#f8f8f8',\r\n },\r\n visible: state.visible,\r\n title: '导入结果',\r\n onCancel: () => {\r\n if (typeof props.hideVisible === 'function') {\r\n props.hideVisible();\r\n }\r\n },\r\n width: state.modalWidth,\r\n maskClosable: false,\r\n footer: [\r\n <Button\r\n key=\"closeWindow\"\r\n onClick={() => {\r\n if (typeof props.hideVisible === 'function') {\r\n props.hideVisible();\r\n }\r\n }}\r\n >\r\n 关闭\r\n </Button>,\r\n ],\r\n };\r\n const newTableProps = {\r\n columns: state.columns,\r\n dataSource: state.dataSource,\r\n startIndex: 1,\r\n size: 'small',\r\n headFootHeight: 50,\r\n pagination: false,\r\n autoFit: false,\r\n };\r\n return (\r\n <Modal {...modalProps}>\r\n <div style={{ maxHeight: 600, width: '100%', overflow: 'auto' }}>\r\n <VtxDatagrid toolbar={false} {...newTableProps} />\r\n </div>\r\n </Modal>\r\n );\r\n}\r\nVtxImportResult.propTypes = {\r\n visible: PropTypes.bool,\r\n dataSource: PropTypes.array,\r\n columns: PropTypes.array,\r\n modalWidth: PropTypes.number,\r\n hideVisible: PropTypes.func,\r\n};\r\nexport default VtxImportResult;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AAEA,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;EAC5B,cAAgB,IAAAC,mBAAA,EAAO;IACnBC,OAAO,EAAEF,KAAK,CAACE,OAAN,IAAiB,KADP;IAEnBC,UAAU,EAAEH,KAAK,CAACG,UAAN,IAAoB,EAFb;IAGnBC,OAAO,EAAEJ,KAAK,CAACI,OAHI;IAInBC,UAAU,EAAEL,KAAK,CAACK;EAJC,CAAP,CAAhB;EAAA;EAAA,IAAOC,KAAP;;EAMA,IAAMC,UAAU,GAAG;IACfC,SAAS,EAAE;MACPC,eAAe,EAAE;IADV,CADI;IAIfP,OAAO,EAAEI,KAAK,CAACJ,OAJA;IAKfQ,KAAK,EAAE,MALQ;IAMfC,QAAQ,EAAE,oBAAM;MACZ,IAAI,OAAOX,KAAK,CAACY,WAAb,KAA6B,UAAjC,EAA6C;QACzCZ,KAAK,CAACY,WAAN;MACH;IACJ,CAVc;IAWfC,KAAK,EAAEP,KAAK,CAACD,UAXE;IAYfS,YAAY,EAAE,KAZC;IAafC,MAAM,EAAE,cACJ,gCAAC,kBAAD;MACI,GAAG,EAAC,aADR;MAEI,OAAO,EAAE,mBAAM;QACX,IAAI,OAAOf,KAAK,CAACY,WAAb,KAA6B,UAAjC,EAA6C;UACzCZ,KAAK,CAACY,WAAN;QACH;MACJ;IANL,kBADI;EAbO,CAAnB;EA0BA,IAAMI,aAAa,GAAG;IAClBZ,OAAO,EAAEE,KAAK,CAACF,OADG;IAElBD,UAAU,EAAEG,KAAK,CAACH,UAFA;IAGlBc,UAAU,EAAE,CAHM;IAIlBC,IAAI,EAAE,OAJY;IAKlBC,cAAc,EAAE,EALE;IAMlBC,UAAU,EAAE,KANM;IAOlBC,OAAO,EAAE;EAPS,CAAtB;EASA,oBACI,gCAAC,iBAAD,EAAWd,UAAX,eACI;IAAK,KAAK,EAAE;MAAEe,SAAS,EAAE,GAAb;MAAkBT,KAAK,EAAE,MAAzB;MAAiCU,QAAQ,EAAE;IAA3C;EAAZ,gBACI,gCAAC,uBAAD;IAAa,OAAO,EAAE;EAAtB,GAAiCP,aAAjC,EADJ,CADJ,CADJ;AAOH;;AACDjB,eAAe,CAACyB,SAAhB,GAA4B;EACxBtB,OAAO,EAAEuB,qBAAA,CAAUC,IADK;EAExBvB,UAAU,EAAEsB,qBAAA,CAAUE,KAFE;EAGxBvB,OAAO,EAAEqB,qBAAA,CAAUE,KAHK;EAIxBtB,UAAU,EAAEoB,qBAAA,CAAUG,MAJE;EAKxBhB,WAAW,EAAEa,qBAAA,CAAUI;AALC,CAA5B;eAOe9B,e"}
@@ -5,4 +5,6 @@ require("antd/lib/modal/style/css");
5
5
  require("antd/lib/button/style/css");
6
6
 
7
7
  require("antd/lib/message/style/css");
8
+
9
+ require("./index.css");
8
10
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\n"],"file":"css.js"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["vtx-import/style/index.js"],"sourcesContent":["import 'antd/lib/modal/style';\r\nimport 'antd/lib/button/style';\r\nimport 'antd/lib/message/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA"}
@@ -0,0 +1,3 @@
1
+ .vtx-datagrid-modal {
2
+ background-color: '#f8f8f8';
3
+ }
@@ -5,4 +5,6 @@ require("antd/lib/modal/style");
5
5
  require("antd/lib/button/style");
6
6
 
7
7
  require("antd/lib/message/style");
8
+
9
+ require("./index.less");
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-import/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport 'antd/lib/button/style';\nimport 'antd/lib/message/style';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["vtx-import/style/index.js"],"sourcesContent":["import 'antd/lib/modal/style';\r\nimport 'antd/lib/button/style';\r\nimport 'antd/lib/message/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA"}
@@ -0,0 +1,8 @@
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+ @prefix-cls: vtx-datagrid;
3
+
4
+ .@{prefix-cls} when(@theme=default) {
5
+ &-modal {
6
+ background-color: '#f8f8f8';
7
+ }
8
+ }
@@ -23,7 +23,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
27
 
28
28
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
29
 
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-input/TextArea.jsx"],"names":["TextArea","props","ref","maxLength","showCount","placeholder","rest","len","value","render","propTypes","PropTypes","number","string","bool"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAQ,gBAAG,uBAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;AACxC,yBAA4ED,KAA5E,CAAQE,SAAR;AAAA,MAAQA,SAAR,iCAAoB,GAApB;AAAA,yBAA4EF,KAA5E,CAAyBG,SAAzB;AAAA,MAAyBA,SAAzB,iCAAqC,IAArC;AAAA,2BAA4EH,KAA5E,CAA2CI,WAA3C;AAAA,MAA2CA,WAA3C,mCAAyD,KAAzD;AAAA,MAAmEC,IAAnE,4BAA4EL,KAA5E;;AACA,MAAMM,GAAG,GAAG,2BAAUN,KAAK,CAACO,KAAhB,EAAuB;AAAEJ,IAAAA,SAAS,EAATA;AAAF,GAAvB,CAAZ;;AAEA,MAAIK,MAAM,gBACN,gCAAC,iBAAD,CAAO,QAAP;AAAgB,IAAA,WAAW,EAAEJ,WAA7B;AAA0C,IAAA,SAAS,EAAEF;AAArD,KAAoEG,IAApE;AAA0E,IAAA,GAAG,EAAEJ;AAA/E,KADJ;;AAIAE,EAAAA,SAAS,IACL,WAAWH,KADf,KAEKQ,MAAM,gBACH;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAoC,4BAAeF,GAAf,cAAsBJ,SAAtB;AAApC,KACKM,MADL,CAHR;AAOA,SAAOA,MAAP;AACH,CAhBgB,CAAjB;eAkBeT,Q;;AAEfA,QAAQ,CAACU,SAAT,GAAqB;AACjBP,EAAAA,SAAS,EAAEQ,sBAAUC,MADJ;AAEjBJ,EAAAA,KAAK,EAAEG,sBAAUE,MAFA;AAGjBT,EAAAA,SAAS,EAAEO,sBAAUG,IAHJ;AAIjBT,EAAAA,WAAW,EAAEM,sBAAUE;AAJN,CAArB","sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Input from 'antd/lib/input';\nimport useLength from './useLength';\n\nconst TextArea = forwardRef((props, ref) => {\n const { maxLength = 200, showCount = true, placeholder = '请输入', ...rest } = props;\n const len = useLength(props.value, { showCount });\n\n let render = (\n <Input.TextArea placeholder={placeholder} maxLength={maxLength} {...rest} ref={ref} />\n );\n\n showCount &&\n 'value' in props &&\n (render = (\n <div className=\"vtx-input-textarea\" data-count={`${len}/${maxLength}`}>\n {render}\n </div>\n ));\n return render;\n});\n\nexport default TextArea;\n\nTextArea.propTypes = {\n maxLength: PropTypes.number,\n value: PropTypes.string,\n showCount: PropTypes.bool,\n placeholder: PropTypes.string,\n};\n"],"file":"TextArea.js"}
1
+ {"version":3,"file":"TextArea.js","names":["TextArea","forwardRef","props","ref","maxLength","showCount","placeholder","rest","len","useLength","value","render","propTypes","PropTypes","number","string","bool"],"sources":["vtx-input/TextArea.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Input from 'antd/lib/input';\r\nimport useLength from './useLength';\r\n\r\nconst TextArea = forwardRef((props, ref) => {\r\n const { maxLength = 200, showCount = true, placeholder = '请输入', ...rest } = props;\r\n const len = useLength(props.value, { showCount });\r\n\r\n let render = (\r\n <Input.TextArea placeholder={placeholder} maxLength={maxLength} {...rest} ref={ref} />\r\n );\r\n\r\n showCount &&\r\n 'value' in props &&\r\n (render = (\r\n <div className=\"vtx-input-textarea\" data-count={`${len}/${maxLength}`}>\r\n {render}\r\n </div>\r\n ));\r\n return render;\r\n});\r\n\r\nexport default TextArea;\r\n\r\nTextArea.propTypes = {\r\n maxLength: PropTypes.number,\r\n value: PropTypes.string,\r\n showCount: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n};\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAQ,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EACxC,uBAA4ED,KAA5E,CAAQE,SAAR;EAAA,IAAQA,SAAR,iCAAoB,GAApB;EAAA,uBAA4EF,KAA5E,CAAyBG,SAAzB;EAAA,IAAyBA,SAAzB,iCAAqC,IAArC;EAAA,yBAA4EH,KAA5E,CAA2CI,WAA3C;EAAA,IAA2CA,WAA3C,mCAAyD,KAAzD;EAAA,IAAmEC,IAAnE,4BAA4EL,KAA5E;;EACA,IAAMM,GAAG,GAAG,IAAAC,qBAAA,EAAUP,KAAK,CAACQ,KAAhB,EAAuB;IAAEL,SAAS,EAATA;EAAF,CAAvB,CAAZ;;EAEA,IAAIM,MAAM,gBACN,gCAAC,iBAAD,CAAO,QAAP;IAAgB,WAAW,EAAEL,WAA7B;IAA0C,SAAS,EAAEF;EAArD,GAAoEG,IAApE;IAA0E,GAAG,EAAEJ;EAA/E,GADJ;;EAIAE,SAAS,IACL,WAAWH,KADf,KAEKS,MAAM,gBACH;IAAK,SAAS,EAAC,oBAAf;IAAoC,wBAAeH,GAAf,cAAsBJ,SAAtB;EAApC,GACKO,MADL,CAHR;EAOA,OAAOA,MAAP;AACH,CAhBgB,CAAjB;eAkBeX,Q;;AAEfA,QAAQ,CAACY,SAAT,GAAqB;EACjBR,SAAS,EAAES,qBAAA,CAAUC,MADJ;EAEjBJ,KAAK,EAAEG,qBAAA,CAAUE,MAFA;EAGjBV,SAAS,EAAEQ,qBAAA,CAAUG,IAHJ;EAIjBV,WAAW,EAAEO,qBAAA,CAAUE;AAJN,CAArB"}
@@ -31,7 +31,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
31
31
 
32
32
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
33
 
34
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
34
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
35
35
 
36
36
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-input/index.jsx"],"names":["VtxInput","props","ref","showCount","maxLength","specialCharactersFilter","trim","onChange","onBlur","placeholder","rest","len","value","newProps","e","target","$e","suffix","propTypes","PropTypes","number","string","bool","func","oneOfType","object","Search","Input","Group","Password","TextArea"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAQ,gBAAG,uBAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;AACxC,MACIC,SADJ,GASIF,KATJ,CACIE,SADJ;AAAA,yBASIF,KATJ,CAEIG,SAFJ;AAAA,MAEIA,SAFJ,iCAEgB,EAFhB;AAAA,8BASIH,KATJ,CAGII,uBAHJ;AAAA,MAGIA,uBAHJ,sCAG8B,IAH9B;AAAA,oBASIJ,KATJ,CAIIK,IAJJ;AAAA,MAIIA,IAJJ,4BAIW,IAJX;AAAA,MAKIC,QALJ,GASIN,KATJ,CAKIM,QALJ;AAAA,MAMIC,OANJ,GASIP,KATJ,CAMIO,MANJ;AAAA,2BASIP,KATJ,CAOIQ,WAPJ;AAAA,MAOIA,WAPJ,mCAOkB,KAPlB;AAAA,MAQOC,IARP,4BASIT,KATJ;;AAWA,MAAMU,GAAG,GAAG,2BAAUV,KAAK,CAACW,KAAhB,EAAuB;AAAET,IAAAA,SAAS,EAATA;AAAF,GAAvB,CAAZ;;AAEA,MAAIU,QAAQ;AACRX,IAAAA,GAAG,EAAHA,GADQ;AAERE,IAAAA,SAAS,EAATA,SAFQ;AAGRK,IAAAA,WAAW,EAAXA,WAHQ;AAIRD,IAAAA,MAJQ,kBAIDM,CAJC,EAIE;AACN,UAAIF,KAAK,GAAGE,CAAC,CAACC,MAAF,CAASH,KAArB;AACA,UAAII,EAAE,GAAGF,CAAT;;AACA,UAAIR,IAAJ,EAAU;AACNM,QAAAA,KAAK,GAAGA,KAAK,CAACN,IAAN,EAAR;AACH;;AACD,UAAID,uBAAuB,IAAIO,KAA/B,EAAsC;AAClCI,QAAAA,EAAE,GAAG,wBAAUF,CAAV,CAAL;AACAE,QAAAA,EAAE,CAACD,MAAH,CAAUH,KAAV,GAAkB,yCACdA,KADc,EAEd,mCAAkBP,uBAAlB,CAFc,CAAlB;AAIAE,QAAAA,QAAQ,IAAIA,QAAQ,CAACS,EAAD,CAApB;AACH;;AACDR,MAAAA,OAAM,IAAIA,OAAM,CAACQ,EAAD,CAAhB;AACH,KAnBO;AAoBRT,IAAAA,QAAQ,EAARA;AApBQ,KAqBLG,IArBK,CAAZ;;AAwBAP,EAAAA,SAAS,IACL,WAAWF,KADf,KAEKY,QAAQ;AACLI,IAAAA,MAAM,YAAKN,GAAL,cAAYP,SAAZ;AADD,KAEFS,QAFE,CAFb;AAOA,sBAAO,gCAAC,iBAAD,eAAWA,QAAX;AAAqB,IAAA,YAAY,EAAC;AAAlC,KAAP;AACH,CA9CgB,CAAjB;AAgDAb,QAAQ,CAACkB,SAAT,GAAqB;AACjBd,EAAAA,SAAS,EAAEe,sBAAUC,MADJ;AAEjBR,EAAAA,KAAK,EAAEO,sBAAUE,MAFA;AAGjBlB,EAAAA,SAAS,EAAEgB,sBAAUG,IAHJ;AAIjBf,EAAAA,QAAQ,EAAEY,sBAAUI,IAJH;AAKjBf,EAAAA,MAAM,EAAEW,sBAAUI,IALD;AAMjBd,EAAAA,WAAW,EAAEU,sBAAUE,MANN;AAOjBf,EAAAA,IAAI,EAAEa,sBAAUG,IAPC;AAQjBjB,EAAAA,uBAAuB,EAAEc,sBAAUK,SAAV,CAAoB,CAACL,sBAAUG,IAAX,EAAiBH,sBAAUM,MAA3B,CAApB;AARR,CAArB;AAWAzB,QAAQ,CAAC0B,MAAT,GAAkBC,kBAAMD,MAAxB;AACA1B,QAAQ,CAAC4B,KAAT,GAAiBD,kBAAMC,KAAvB;AACA5B,QAAQ,CAAC6B,QAAT,GAAoBF,kBAAME,QAA1B;AACA7B,QAAQ,CAAC8B,QAAT,GAAoBA,oBAApB;eAEe9B,Q","sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Input from 'antd/lib/input';\nimport cloneDeep from 'lodash.clonedeep';\nimport TextArea from './TextArea';\nimport useLength from './useLength';\nimport getComponentProps from '../_util/getComponentProps';\nimport filterSpecialCharacters from '../_util/filterSpecialCharacters';\n\nconst VtxInput = forwardRef((props, ref) => {\n const {\n showCount,\n maxLength = 32,\n specialCharactersFilter = true,\n trim = true,\n onChange,\n onBlur,\n placeholder = '请输入',\n ...rest\n } = props;\n\n const len = useLength(props.value, { showCount });\n\n let newProps = {\n ref,\n maxLength,\n placeholder,\n onBlur(e) {\n let value = e.target.value;\n let $e = e;\n if (trim) {\n value = value.trim();\n }\n if (specialCharactersFilter && value) {\n $e = cloneDeep(e);\n $e.target.value = filterSpecialCharacters(\n value,\n getComponentProps(specialCharactersFilter),\n );\n onChange && onChange($e);\n }\n onBlur && onBlur($e);\n },\n onChange,\n ...rest,\n };\n\n showCount &&\n 'value' in props &&\n (newProps = {\n suffix: `${len}/${maxLength}`,\n ...newProps,\n });\n\n return <Input {...newProps} autoComplete=\"off\" />;\n});\n\nVtxInput.propTypes = {\n maxLength: PropTypes.number,\n value: PropTypes.string,\n showCount: PropTypes.bool,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n placeholder: PropTypes.string,\n trim: PropTypes.bool,\n specialCharactersFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n};\n\nVtxInput.Search = Input.Search;\nVtxInput.Group = Input.Group;\nVtxInput.Password = Input.Password;\nVtxInput.TextArea = TextArea;\n\nexport default VtxInput;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["VtxInput","forwardRef","props","ref","showCount","maxLength","specialCharactersFilter","trim","onChange","onBlur","placeholder","rest","len","useLength","value","newProps","e","target","$e","cloneDeep","filterSpecialCharacters","getComponentProps","suffix","propTypes","PropTypes","number","string","bool","func","oneOfType","object","Search","Input","Group","Password","TextArea"],"sources":["vtx-input/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Input from 'antd/lib/input';\r\nimport cloneDeep from 'lodash.clonedeep';\r\nimport TextArea from './TextArea';\r\nimport useLength from './useLength';\r\nimport getComponentProps from '../_util/getComponentProps';\r\nimport filterSpecialCharacters from '../_util/filterSpecialCharacters';\r\n\r\nconst VtxInput = forwardRef((props, ref) => {\r\n const {\r\n showCount,\r\n maxLength = 32,\r\n specialCharactersFilter = true,\r\n trim = true,\r\n onChange,\r\n onBlur,\r\n placeholder = '请输入',\r\n ...rest\r\n } = props;\r\n\r\n const len = useLength(props.value, { showCount });\r\n\r\n let newProps = {\r\n ref,\r\n maxLength,\r\n placeholder,\r\n onBlur(e) {\r\n let value = e.target.value;\r\n let $e = e;\r\n if (trim) {\r\n value = value.trim();\r\n }\r\n if (specialCharactersFilter && value) {\r\n $e = cloneDeep(e);\r\n $e.target.value = filterSpecialCharacters(\r\n value,\r\n getComponentProps(specialCharactersFilter),\r\n );\r\n onChange && onChange($e);\r\n }\r\n onBlur && onBlur($e);\r\n },\r\n onChange,\r\n ...rest,\r\n };\r\n\r\n showCount &&\r\n 'value' in props &&\r\n (newProps = {\r\n suffix: `${len}/${maxLength}`,\r\n ...newProps,\r\n });\r\n\r\n return <Input {...newProps} autoComplete=\"off\" />;\r\n});\r\n\r\nVtxInput.propTypes = {\r\n maxLength: PropTypes.number,\r\n value: PropTypes.string,\r\n showCount: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n trim: PropTypes.bool,\r\n specialCharactersFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n};\r\n\r\nVtxInput.Search = Input.Search;\r\nVtxInput.Group = Input.Group;\r\nVtxInput.Password = Input.Password;\r\nVtxInput.TextArea = TextArea;\r\n\r\nexport default VtxInput;\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAQ,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EACxC,IACIC,SADJ,GASIF,KATJ,CACIE,SADJ;EAAA,uBASIF,KATJ,CAEIG,SAFJ;EAAA,IAEIA,SAFJ,iCAEgB,EAFhB;EAAA,4BASIH,KATJ,CAGII,uBAHJ;EAAA,IAGIA,uBAHJ,sCAG8B,IAH9B;EAAA,kBASIJ,KATJ,CAIIK,IAJJ;EAAA,IAIIA,IAJJ,4BAIW,IAJX;EAAA,IAKIC,QALJ,GASIN,KATJ,CAKIM,QALJ;EAAA,IAMIC,OANJ,GASIP,KATJ,CAMIO,MANJ;EAAA,yBASIP,KATJ,CAOIQ,WAPJ;EAAA,IAOIA,WAPJ,mCAOkB,KAPlB;EAAA,IAQOC,IARP,4BASIT,KATJ;;EAWA,IAAMU,GAAG,GAAG,IAAAC,qBAAA,EAAUX,KAAK,CAACY,KAAhB,EAAuB;IAAEV,SAAS,EAATA;EAAF,CAAvB,CAAZ;;EAEA,IAAIW,QAAQ;IACRZ,GAAG,EAAHA,GADQ;IAERE,SAAS,EAATA,SAFQ;IAGRK,WAAW,EAAXA,WAHQ;IAIRD,MAJQ,kBAIDO,CAJC,EAIE;MACN,IAAIF,KAAK,GAAGE,CAAC,CAACC,MAAF,CAASH,KAArB;MACA,IAAII,EAAE,GAAGF,CAAT;;MACA,IAAIT,IAAJ,EAAU;QACNO,KAAK,GAAGA,KAAK,CAACP,IAAN,EAAR;MACH;;MACD,IAAID,uBAAuB,IAAIQ,KAA/B,EAAsC;QAClCI,EAAE,GAAG,IAAAC,kBAAA,EAAUH,CAAV,CAAL;QACAE,EAAE,CAACD,MAAH,CAAUH,KAAV,GAAkB,IAAAM,mCAAA,EACdN,KADc,EAEd,IAAAO,6BAAA,EAAkBf,uBAAlB,CAFc,CAAlB;QAIAE,QAAQ,IAAIA,QAAQ,CAACU,EAAD,CAApB;MACH;;MACDT,OAAM,IAAIA,OAAM,CAACS,EAAD,CAAhB;IACH,CAnBO;IAoBRV,QAAQ,EAARA;EApBQ,GAqBLG,IArBK,CAAZ;;EAwBAP,SAAS,IACL,WAAWF,KADf,KAEKa,QAAQ;IACLO,MAAM,YAAKV,GAAL,cAAYP,SAAZ;EADD,GAEFU,QAFE,CAFb;EAOA,oBAAO,gCAAC,iBAAD,eAAWA,QAAX;IAAqB,YAAY,EAAC;EAAlC,GAAP;AACH,CA9CgB,CAAjB;AAgDAf,QAAQ,CAACuB,SAAT,GAAqB;EACjBlB,SAAS,EAAEmB,qBAAA,CAAUC,MADJ;EAEjBX,KAAK,EAAEU,qBAAA,CAAUE,MAFA;EAGjBtB,SAAS,EAAEoB,qBAAA,CAAUG,IAHJ;EAIjBnB,QAAQ,EAAEgB,qBAAA,CAAUI,IAJH;EAKjBnB,MAAM,EAAEe,qBAAA,CAAUI,IALD;EAMjBlB,WAAW,EAAEc,qBAAA,CAAUE,MANN;EAOjBnB,IAAI,EAAEiB,qBAAA,CAAUG,IAPC;EAQjBrB,uBAAuB,EAAEkB,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUG,IAAX,EAAiBH,qBAAA,CAAUM,MAA3B,CAApB;AARR,CAArB;AAWA9B,QAAQ,CAAC+B,MAAT,GAAkBC,iBAAA,CAAMD,MAAxB;AACA/B,QAAQ,CAACiC,KAAT,GAAiBD,iBAAA,CAAMC,KAAvB;AACAjC,QAAQ,CAACkC,QAAT,GAAoBF,iBAAA,CAAME,QAA1B;AACAlC,QAAQ,CAACmC,QAAT,GAAoBA,oBAApB;eAEenC,Q"}
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-input/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/input/style';\nimport './index.less';\n"],"file":"css.js"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["vtx-input/style/index.js"],"sourcesContent":["import 'antd/lib/input/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-input/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/input/style';\nimport './index.less';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["vtx-input/style/index.js"],"sourcesContent":["import 'antd/lib/input/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA"}
@@ -1,24 +1,24 @@
1
- @import (reference) '~antd/lib/style/themes/index.less';
2
-
3
- .vtx-input-textarea {
4
- position: relative;
5
- &::after {
6
- position: absolute;
7
- right: 12px;
8
- bottom: 8px;
9
- color: @text-color-secondary;
10
- line-height: @line-height-base;
11
- white-space: nowrap;
12
- content: attr(data-count);
13
- pointer-events: none;
14
- }
15
- }
16
- .ant-input {
17
- resize: none;
18
- }
19
- .ant-input-affix-wrapper .ant-input-suffix {
20
- color: @text-color-secondary;
21
- }
22
- .ant-input-affix-wrapper .ant-input:not(:last-child) {
23
- padding-right: 48px;
24
- }
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
3
+ .vtx-input-textarea {
4
+ position: relative;
5
+ &::after {
6
+ position: absolute;
7
+ right: 12px;
8
+ bottom: 8px;
9
+ color: @text-color-secondary;
10
+ line-height: @line-height-base;
11
+ white-space: nowrap;
12
+ content: attr(data-count);
13
+ pointer-events: none;
14
+ }
15
+ }
16
+ .ant-input {
17
+ resize: none;
18
+ }
19
+ .ant-input-affix-wrapper .ant-input-suffix {
20
+ color: @text-color-secondary;
21
+ }
22
+ .ant-input-affix-wrapper .ant-input:not(:last-child) {
23
+ padding-right: 48px;
24
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-input/useLength.js"],"names":["useLength","val","showCount","len","setLen","String","length"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,GAAkC;AAAA,MAAjCC,GAAiC,uEAA3B,EAA2B;;AAAA,iFAAP,EAAO;AAAA,MAArBC,SAAqB,QAArBA,SAAqB;;AAChD,kBAAsB,qBAAS,CAAT,CAAtB;AAAA;AAAA,MAAOC,GAAP;AAAA,MAAYC,MAAZ;;AACA,wBAAU,YAAM;AACZF,IAAAA,SAAS,IAAIE,MAAM,CAACC,MAAM,CAACJ,GAAD,aAACA,GAAD,cAACA,GAAD,GAAQ,EAAR,CAAN,CAAkBK,MAAnB,CAAnB;AACH,GAFD,EAEG,CAACL,GAAD,CAFH;AAGA,SAAOE,GAAP;AACH,CAND;;eAQeH,S","sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useLength = (val = '', { showCount } = {}) => {\n const [len, setLen] = useState(0);\n useEffect(() => {\n showCount && setLen(String(val ?? '').length);\n }, [val]);\n return len;\n};\n\nexport default useLength;\n"],"file":"useLength.js"}
1
+ {"version":3,"file":"useLength.js","names":["useLength","val","showCount","useState","len","setLen","useEffect","String","length"],"sources":["vtx-input/useLength.js"],"sourcesContent":["import { useState, useEffect } from 'react';\r\n\r\nconst useLength = (val = '', { showCount } = {}) => {\r\n const [len, setLen] = useState(0);\r\n useEffect(() => {\r\n showCount && setLen(String(val ?? '').length);\r\n }, [val]);\r\n return len;\r\n};\r\n\r\nexport default useLength;\r\n"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,GAAkC;EAAA,IAAjCC,GAAiC,uEAA3B,EAA2B;;EAAA,+EAAP,EAAO;EAAA,IAArBC,SAAqB,QAArBA,SAAqB;;EAChD,gBAAsB,IAAAC,eAAA,EAAS,CAAT,CAAtB;EAAA;EAAA,IAAOC,GAAP;EAAA,IAAYC,MAAZ;;EACA,IAAAC,gBAAA,EAAU,YAAM;IACZJ,SAAS,IAAIG,MAAM,CAACE,MAAM,CAACN,GAAD,aAACA,GAAD,cAACA,GAAD,GAAQ,EAAR,CAAN,CAAkBO,MAAnB,CAAnB;EACH,CAFD,EAEG,CAACP,GAAD,CAFH;EAGA,OAAOG,GAAP;AACH,CAND;;eAQeJ,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-modal/Title.jsx"],"names":["Title","props","text","subtitle","propTypes","PropTypes","oneOfType","string","node"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,SAASA,KAAT,CAAeC,KAAf,EAAsB;AAClB,MAAQC,IAAR,GAA2BD,KAA3B,CAAQC,IAAR;AAAA,MAAcC,QAAd,GAA2BF,KAA3B,CAAcE,QAAd;AACA,sBACI;AAAK,IAAA,SAAS,EAAC;AAAf,kBACI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAyCD,IAAzC,CADJ,EAEKC,QAAQ,iBAAI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAA6CA,QAA7C,CAFjB,CADJ;AAMH;;AAEDH,KAAK,CAACI,SAAN,GAAkB;AACdF,EAAAA,IAAI,EAAEG,sBAAUC,SAAV,CAAoB,CAACD,sBAAUE,MAAX,EAAmBF,sBAAUG,IAA7B,CAApB,CADQ;AAEdL,EAAAA,QAAQ,EAAEE,sBAAUC,SAAV,CAAoB,CAACD,sBAAUE,MAAX,EAAmBF,sBAAUG,IAA7B,CAApB;AAFI,CAAlB;eAKeR,K","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Title(props) {\n const { text, subtitle } = props;\n return (\n <div className=\"vtx-modal-header-title\">\n <span className=\"vtx-modal-header-text\">{text}</span>\n {subtitle && <span className=\"vtx-modal-header-subtitle\">{subtitle}</span>}\n </div>\n );\n}\n\nTitle.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n subtitle: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nexport default Title;\n"],"file":"Title.js"}
1
+ {"version":3,"file":"Title.js","names":["Title","props","text","subtitle","propTypes","PropTypes","oneOfType","string","node"],"sources":["vtx-modal/Title.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction Title(props) {\r\n const { text, subtitle } = props;\r\n return (\r\n <div className=\"vtx-modal-header-title\">\r\n <span className=\"vtx-modal-header-text\">{text}</span>\r\n {subtitle && <span className=\"vtx-modal-header-subtitle\">{subtitle}</span>}\r\n </div>\r\n );\r\n}\r\n\r\nTitle.propTypes = {\r\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n subtitle: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n};\r\n\r\nexport default Title;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,SAASA,KAAT,CAAeC,KAAf,EAAsB;EAClB,IAAQC,IAAR,GAA2BD,KAA3B,CAAQC,IAAR;EAAA,IAAcC,QAAd,GAA2BF,KAA3B,CAAcE,QAAd;EACA,oBACI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,GAAyCD,IAAzC,CADJ,EAEKC,QAAQ,iBAAI;IAAM,SAAS,EAAC;EAAhB,GAA6CA,QAA7C,CAFjB,CADJ;AAMH;;AAEDH,KAAK,CAACI,SAAN,GAAkB;EACdF,IAAI,EAAEG,qBAAA,CAAUC,SAAV,CAAoB,CAACD,qBAAA,CAAUE,MAAX,EAAmBF,qBAAA,CAAUG,IAA7B,CAApB,CADQ;EAEdL,QAAQ,EAAEE,qBAAA,CAAUC,SAAV,CAAoB,CAACD,qBAAA,CAAUE,MAAX,EAAmBF,qBAAA,CAAUG,IAA7B,CAApB;AAFI,CAAlB;eAKeR,K"}
@@ -162,8 +162,8 @@ function VtxModal(props) {
162
162
  setFullScreen(initFullScreen);
163
163
  }
164
164
  };
165
- /*
166
- *重写title,加入对话框全屏功能
165
+ /*
166
+ *重写title,加入对话框全屏功能
167
167
  */
168
168
 
169
169