@vtx/components 3.1.12 → 3.1.13

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 (171) hide show
  1. package/CHANGELOG.md +1137 -0
  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/style/index.less +2 -2
  15. package/lib/style/themes/compact.less +1 -1
  16. package/lib/style/themes/dark.less +9 -9
  17. package/lib/style/themes/default.less +7 -7
  18. package/lib/style/themes/index.less +1 -1
  19. package/lib/style/themes/variable.less +5 -5
  20. package/lib/vtx-color-picker/index.js.map +1 -1
  21. package/lib/vtx-color-picker/style/css.js.map +1 -1
  22. package/lib/vtx-color-picker/style/index.js.map +1 -1
  23. package/lib/vtx-color-picker/style/index.less +12 -12
  24. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  25. package/lib/vtx-combogrid/index.js.map +1 -1
  26. package/lib/vtx-combogrid/style/css.js.map +1 -1
  27. package/lib/vtx-combogrid/style/index.js.map +1 -1
  28. package/lib/vtx-combogrid/style/index.less +29 -29
  29. package/lib/vtx-datagrid/Alert.js.map +1 -1
  30. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  31. package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
  32. package/lib/vtx-datagrid/index.js.map +1 -1
  33. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  34. package/lib/vtx-datagrid/style/css.js.map +1 -1
  35. package/lib/vtx-datagrid/style/index.js.map +1 -1
  36. package/lib/vtx-datagrid/style/index.less +212 -212
  37. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  38. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  39. package/lib/vtx-date-picker/index.js.map +1 -1
  40. package/lib/vtx-date-picker/style/css.js.map +1 -1
  41. package/lib/vtx-date-picker/style/index.js.map +1 -1
  42. package/lib/vtx-date-picker/style/index.less +39 -39
  43. package/lib/vtx-editor/index.js.map +1 -1
  44. package/lib/vtx-editor/style/css.js.map +1 -1
  45. package/lib/vtx-editor/style/index.js.map +1 -1
  46. package/lib/vtx-editor/style/index.less +8 -8
  47. package/lib/vtx-ellipsis-text/index.js.map +1 -1
  48. package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
  49. package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
  50. package/lib/vtx-ellipsis-text/style/index.less +13 -13
  51. package/lib/vtx-export/index.js +8 -8
  52. package/lib/vtx-export/index.js.map +1 -1
  53. package/lib/vtx-export/style/css.js.map +1 -1
  54. package/lib/vtx-export/style/index.js.map +1 -1
  55. package/lib/vtx-export/style/index.less +6 -6
  56. package/lib/vtx-form-layout/Card.js.map +1 -1
  57. package/lib/vtx-form-layout/Divider.js.map +1 -1
  58. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  59. package/lib/vtx-form-layout/Pane.js.map +1 -1
  60. package/lib/vtx-form-layout/Row.js.map +1 -1
  61. package/lib/vtx-form-layout/context.js.map +1 -1
  62. package/lib/vtx-form-layout/demo/Modal.less +43 -43
  63. package/lib/vtx-form-layout/index.js.map +1 -1
  64. package/lib/vtx-form-layout/style/css.js.map +1 -1
  65. package/lib/vtx-form-layout/style/index.css +1 -1
  66. package/lib/vtx-form-layout/style/index.js.map +1 -1
  67. package/lib/vtx-form-layout/style/index.less +213 -211
  68. package/lib/vtx-image/Image.js.map +1 -1
  69. package/lib/vtx-image/Preview.js.map +1 -1
  70. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  71. package/lib/vtx-image/index.js.map +1 -1
  72. package/lib/vtx-image/style/css.js.map +1 -1
  73. package/lib/vtx-image/style/index.js.map +1 -1
  74. package/lib/vtx-image/style/index.less +63 -63
  75. package/lib/vtx-import/index.js.map +1 -1
  76. package/lib/vtx-import/result.js.map +1 -1
  77. package/lib/vtx-import/style/css.js.map +1 -1
  78. package/lib/vtx-import/style/index.js.map +1 -1
  79. package/lib/vtx-import/style/index.less +8 -8
  80. package/lib/vtx-import2/CheckResult.js.map +1 -1
  81. package/lib/vtx-import2/Content.js.map +1 -1
  82. package/lib/vtx-import2/DownloadSvg.js.map +1 -1
  83. package/lib/vtx-import2/ImportResult.js.map +1 -1
  84. package/lib/vtx-import2/UploadSvg.js.map +1 -1
  85. package/lib/vtx-import2/index.js.map +1 -1
  86. package/lib/vtx-import2/style/css.js.map +1 -1
  87. package/lib/vtx-import2/style/index.js.map +1 -1
  88. package/lib/vtx-import2/style/index.less +102 -102
  89. package/lib/vtx-input/TextArea.js.map +1 -1
  90. package/lib/vtx-input/index.js.map +1 -1
  91. package/lib/vtx-input/style/css.js.map +1 -1
  92. package/lib/vtx-input/style/index.js.map +1 -1
  93. package/lib/vtx-input/style/index.less +24 -24
  94. package/lib/vtx-input/useLength.js.map +1 -1
  95. package/lib/vtx-modal/Title.js.map +1 -1
  96. package/lib/vtx-modal/index.js +2 -2
  97. package/lib/vtx-modal/index.js.map +1 -1
  98. package/lib/vtx-modal/style/css.js.map +1 -1
  99. package/lib/vtx-modal/style/index.js.map +1 -1
  100. package/lib/vtx-modal/style/index.less +95 -95
  101. package/lib/vtx-page-layout/Basic.js +2 -2
  102. package/lib/vtx-page-layout/Basic.js.map +1 -1
  103. package/lib/vtx-page-layout/Content.js.map +1 -1
  104. package/lib/vtx-page-layout/Pane.js.map +1 -1
  105. package/lib/vtx-page-layout/TableLayout.js +10 -10
  106. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  107. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  108. package/lib/vtx-page-layout/container.js.map +1 -1
  109. package/lib/vtx-page-layout/index.js.map +1 -1
  110. package/lib/vtx-page-layout/style/css.js.map +1 -1
  111. package/lib/vtx-page-layout/style/index.js.map +1 -1
  112. package/lib/vtx-page-layout/style/index.less +138 -138
  113. package/lib/vtx-rps-frame/index.js.map +1 -1
  114. package/lib/vtx-rps-frame/style/css.js.map +1 -1
  115. package/lib/vtx-rps-frame/style/index.js.map +1 -1
  116. package/lib/vtx-rps-frame/style/index.less +8 -8
  117. package/lib/vtx-scrollable-row/index.js.map +1 -1
  118. package/lib/vtx-scrollable-row/style/css.js.map +1 -1
  119. package/lib/vtx-scrollable-row/style/index.js.map +1 -1
  120. package/lib/vtx-scrollable-row/style/index.less +113 -113
  121. package/lib/vtx-search/VtxCol.js.map +1 -1
  122. package/lib/vtx-search/VtxRow.js.map +1 -1
  123. package/lib/vtx-search/index.js.map +1 -1
  124. package/lib/vtx-search/style/css.js.map +1 -1
  125. package/lib/vtx-search/style/index.js.map +1 -1
  126. package/lib/vtx-search/style/index.less +83 -83
  127. package/lib/vtx-search-map-input/index.js.map +1 -1
  128. package/lib/vtx-search-map-input/style/css.js.map +1 -1
  129. package/lib/vtx-search-map-input/style/index.js.map +1 -1
  130. package/lib/vtx-select/index.js.map +1 -1
  131. package/lib/vtx-select/style/css.js.map +1 -1
  132. package/lib/vtx-select/style/index.js.map +1 -1
  133. package/lib/vtx-select/style/index.less +68 -68
  134. package/lib/vtx-signature/index.js.map +1 -1
  135. package/lib/vtx-signature/style/css.js.map +1 -1
  136. package/lib/vtx-signature/style/index.js.map +1 -1
  137. package/lib/vtx-signature/style/index.less +33 -33
  138. package/lib/vtx-split-pane/Pane.js.map +1 -1
  139. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  140. package/lib/vtx-split-pane/SplitPane.js +4 -4
  141. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  142. package/lib/vtx-split-pane/index.js.map +1 -1
  143. package/lib/vtx-split-pane/style/css.js.map +1 -1
  144. package/lib/vtx-split-pane/style/index.js.map +1 -1
  145. package/lib/vtx-split-pane/style/index.less +76 -76
  146. package/lib/vtx-statistics-column/Back.js.map +1 -1
  147. package/lib/vtx-statistics-column/Item.js.map +1 -1
  148. package/lib/vtx-statistics-column/Total.js.map +1 -1
  149. package/lib/vtx-statistics-column/context.js.map +1 -1
  150. package/lib/vtx-statistics-column/index.js.map +1 -1
  151. package/lib/vtx-statistics-column/style/css.js.map +1 -1
  152. package/lib/vtx-statistics-column/style/index.js.map +1 -1
  153. package/lib/vtx-statistics-column/style/index.less +59 -59
  154. package/lib/vtx-time-picker/index.js.map +1 -1
  155. package/lib/vtx-time-picker/style/css.js.map +1 -1
  156. package/lib/vtx-time-picker/style/index.js.map +1 -1
  157. package/lib/vtx-upload/FilePreview.js.map +1 -1
  158. package/lib/vtx-upload/index.js.map +1 -1
  159. package/lib/vtx-upload/style/css.js.map +1 -1
  160. package/lib/vtx-upload/style/index.js.map +1 -1
  161. package/lib/vtx-upload/style/index.less +61 -61
  162. package/lib/vtx-ztree/index.js +2 -2
  163. package/lib/vtx-ztree/index.js.map +1 -1
  164. package/lib/vtx-ztree/style/css.js.map +1 -1
  165. package/lib/vtx-ztree/style/index.js.map +1 -1
  166. package/lib/vtx-ztree/style/index.less +45 -45
  167. package/lib/vtx-ztree-select/index.js.map +1 -1
  168. package/lib/vtx-ztree-select/style/css.js.map +1 -1
  169. package/lib/vtx-ztree-select/style/index.js.map +1 -1
  170. package/lib/vtx-ztree-select/style/index.less +74 -74
  171. package/package.json +123 -123
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxFormLayout","props","cols","labelColSpan","mode","layout","card","skeleton","store","defaultSkeleton","loading","title","paragraph","width","rows","classnames","merge","children","propTypes","PropTypes","number","oneOf","node","bool","object","Row","FormItem","Card","Pane","Divider"],"sources":["vtx-form-layout/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport merge from 'lodash.merge';\nimport Skeleton from 'antd/lib/skeleton';\nimport Row from './Row';\nimport FormItem from './FormItem';\nimport Card from './Card';\nimport Pane from './Pane';\nimport Divider from './Divider';\nimport { StoreCtx } from './context';\n\nfunction VtxFormLayout(props) {\n const { cols = 2, labelColSpan = 8, mode, layout = 'vertical', card, skeleton } = props;\n const store = {\n cols,\n labelColSpan,\n mode,\n layout,\n };\n const defaultSkeleton = {\n loading: false,\n title: false,\n paragraph: {\n width: '100%',\n rows: 4,\n },\n };\n return (\n <StoreCtx.Provider value={store}>\n <div\n className={classnames('vtx-form-layout', {\n 'vtx-form-layout-vertical': layout === 'vertical' && mode !== 'view',\n 'vtx-form-layout-view': mode === 'view',\n 'vtx-form-layout-has-card': card,\n })}\n >\n <Skeleton {...merge(defaultSkeleton, skeleton)}>{props.children}</Skeleton>\n </div>\n </StoreCtx.Provider>\n );\n}\n\nVtxFormLayout.propTypes = {\n cols: PropTypes.number,\n labelColSpan: PropTypes.number,\n mode: PropTypes.oneOf(['view']),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n children: PropTypes.node,\n card: PropTypes.bool,\n skeleton: PropTypes.object,\n};\n\nVtxFormLayout.Row = Row;\nVtxFormLayout.FormItem = FormItem;\nVtxFormLayout.Card = Card;\nVtxFormLayout.Pane = Pane;\nVtxFormLayout.Divider = Divider;\n\nexport default VtxFormLayout;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;EAC1B,kBAAkFA,KAAlF,CAAQC,IAAR;EAAA,IAAQA,IAAR,4BAAe,CAAf;EAAA,0BAAkFD,KAAlF,CAAkBE,YAAlB;EAAA,IAAkBA,YAAlB,oCAAiC,CAAjC;EAAA,IAAoCC,IAApC,GAAkFH,KAAlF,CAAoCG,IAApC;EAAA,oBAAkFH,KAAlF,CAA0CI,MAA1C;EAAA,IAA0CA,MAA1C,8BAAmD,UAAnD;EAAA,IAA+DC,IAA/D,GAAkFL,KAAlF,CAA+DK,IAA/D;EAAA,IAAqEC,QAArE,GAAkFN,KAAlF,CAAqEM,QAArE;EACA,IAAMC,KAAK,GAAG;IACVN,IAAI,EAAJA,IADU;IAEVC,YAAY,EAAZA,YAFU;IAGVC,IAAI,EAAJA,IAHU;IAIVC,MAAM,EAANA;EAJU,CAAd;EAMA,IAAMI,eAAe,GAAG;IACpBC,OAAO,EAAE,KADW;IAEpBC,KAAK,EAAE,KAFa;IAGpBC,SAAS,EAAE;MACPC,KAAK,EAAE,MADA;MAEPC,IAAI,EAAE;IAFC;EAHS,CAAxB;EAQA,oBACI,gCAAC,iBAAD,CAAU,QAAV;IAAmB,KAAK,EAAEN;EAA1B,gBACI;IACI,SAAS,EAAE,IAAAO,sBAAA,EAAW,iBAAX,EAA8B;MACrC,4BAA4BV,MAAM,KAAK,UAAX,IAAyBD,IAAI,KAAK,MADzB;MAErC,wBAAwBA,IAAI,KAAK,MAFI;MAGrC,4BAA4BE;IAHS,CAA9B;EADf,gBAOI,gCAAC,oBAAD,EAAc,IAAAU,kBAAA,EAAMP,eAAN,EAAuBF,QAAvB,CAAd,EAAiDN,KAAK,CAACgB,QAAvD,CAPJ,CADJ,CADJ;AAaH;;AAEDjB,aAAa,CAACkB,SAAd,GAA0B;EACtBhB,IAAI,EAAEiB,qBAAA,CAAUC,MADM;EAEtBjB,YAAY,EAAEgB,qBAAA,CAAUC,MAFF;EAGtBhB,IAAI,EAAEe,qBAAA,CAAUE,KAAV,CAAgB,CAAC,MAAD,CAAhB,CAHgB;EAItBhB,MAAM,EAAEc,qBAAA,CAAUE,KAAV,CAAgB,CAAC,YAAD,EAAe,UAAf,CAAhB,CAJc;EAKtBJ,QAAQ,EAAEE,qBAAA,CAAUG,IALE;EAMtBhB,IAAI,EAAEa,qBAAA,CAAUI,IANM;EAOtBhB,QAAQ,EAAEY,qBAAA,CAAUK;AAPE,CAA1B;AAUAxB,aAAa,CAACyB,GAAd,GAAoBA,eAApB;AACAzB,aAAa,CAAC0B,QAAd,GAAyBA,oBAAzB;AACA1B,aAAa,CAAC2B,IAAd,GAAqBA,gBAArB;AACA3B,aAAa,CAAC4B,IAAd,GAAqBA,gBAArB;AACA5B,aAAa,CAAC6B,OAAd,GAAwBA,mBAAxB;eAEe7B,a"}
1
+ {"version":3,"file":"index.js","names":["VtxFormLayout","props","cols","labelColSpan","mode","layout","card","skeleton","store","defaultSkeleton","loading","title","paragraph","width","rows","classnames","merge","children","propTypes","PropTypes","number","oneOf","node","bool","object","Row","FormItem","Card","Pane","Divider"],"sources":["vtx-form-layout/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport merge from 'lodash.merge';\r\nimport Skeleton from 'antd/lib/skeleton';\r\nimport Row from './Row';\r\nimport FormItem from './FormItem';\r\nimport Card from './Card';\r\nimport Pane from './Pane';\r\nimport Divider from './Divider';\r\nimport { StoreCtx } from './context';\r\n\r\nfunction VtxFormLayout(props) {\r\n const { cols = 2, labelColSpan = 8, mode, layout = 'vertical', card, skeleton } = props;\r\n const store = {\r\n cols,\r\n labelColSpan,\r\n mode,\r\n layout,\r\n };\r\n const defaultSkeleton = {\r\n loading: false,\r\n title: false,\r\n paragraph: {\r\n width: '100%',\r\n rows: 4,\r\n },\r\n };\r\n return (\r\n <StoreCtx.Provider value={store}>\r\n <div\r\n className={classnames('vtx-form-layout', {\r\n 'vtx-form-layout-vertical': layout === 'vertical' && mode !== 'view',\r\n 'vtx-form-layout-view': mode === 'view',\r\n 'vtx-form-layout-has-card': card,\r\n })}\r\n >\r\n <Skeleton {...merge(defaultSkeleton, skeleton)}>{props.children}</Skeleton>\r\n </div>\r\n </StoreCtx.Provider>\r\n );\r\n}\r\n\r\nVtxFormLayout.propTypes = {\r\n cols: PropTypes.number,\r\n labelColSpan: PropTypes.number,\r\n mode: PropTypes.oneOf(['view']),\r\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\r\n children: PropTypes.node,\r\n card: PropTypes.bool,\r\n skeleton: PropTypes.object,\r\n};\r\n\r\nVtxFormLayout.Row = Row;\r\nVtxFormLayout.FormItem = FormItem;\r\nVtxFormLayout.Card = Card;\r\nVtxFormLayout.Pane = Pane;\r\nVtxFormLayout.Divider = Divider;\r\n\r\nexport default VtxFormLayout;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;EAC1B,kBAAkFA,KAAlF,CAAQC,IAAR;EAAA,IAAQA,IAAR,4BAAe,CAAf;EAAA,0BAAkFD,KAAlF,CAAkBE,YAAlB;EAAA,IAAkBA,YAAlB,oCAAiC,CAAjC;EAAA,IAAoCC,IAApC,GAAkFH,KAAlF,CAAoCG,IAApC;EAAA,oBAAkFH,KAAlF,CAA0CI,MAA1C;EAAA,IAA0CA,MAA1C,8BAAmD,UAAnD;EAAA,IAA+DC,IAA/D,GAAkFL,KAAlF,CAA+DK,IAA/D;EAAA,IAAqEC,QAArE,GAAkFN,KAAlF,CAAqEM,QAArE;EACA,IAAMC,KAAK,GAAG;IACVN,IAAI,EAAJA,IADU;IAEVC,YAAY,EAAZA,YAFU;IAGVC,IAAI,EAAJA,IAHU;IAIVC,MAAM,EAANA;EAJU,CAAd;EAMA,IAAMI,eAAe,GAAG;IACpBC,OAAO,EAAE,KADW;IAEpBC,KAAK,EAAE,KAFa;IAGpBC,SAAS,EAAE;MACPC,KAAK,EAAE,MADA;MAEPC,IAAI,EAAE;IAFC;EAHS,CAAxB;EAQA,oBACI,gCAAC,iBAAD,CAAU,QAAV;IAAmB,KAAK,EAAEN;EAA1B,gBACI;IACI,SAAS,EAAE,IAAAO,sBAAA,EAAW,iBAAX,EAA8B;MACrC,4BAA4BV,MAAM,KAAK,UAAX,IAAyBD,IAAI,KAAK,MADzB;MAErC,wBAAwBA,IAAI,KAAK,MAFI;MAGrC,4BAA4BE;IAHS,CAA9B;EADf,gBAOI,gCAAC,oBAAD,EAAc,IAAAU,kBAAA,EAAMP,eAAN,EAAuBF,QAAvB,CAAd,EAAiDN,KAAK,CAACgB,QAAvD,CAPJ,CADJ,CADJ;AAaH;;AAEDjB,aAAa,CAACkB,SAAd,GAA0B;EACtBhB,IAAI,EAAEiB,qBAAA,CAAUC,MADM;EAEtBjB,YAAY,EAAEgB,qBAAA,CAAUC,MAFF;EAGtBhB,IAAI,EAAEe,qBAAA,CAAUE,KAAV,CAAgB,CAAC,MAAD,CAAhB,CAHgB;EAItBhB,MAAM,EAAEc,qBAAA,CAAUE,KAAV,CAAgB,CAAC,YAAD,EAAe,UAAf,CAAhB,CAJc;EAKtBJ,QAAQ,EAAEE,qBAAA,CAAUG,IALE;EAMtBhB,IAAI,EAAEa,qBAAA,CAAUI,IANM;EAOtBhB,QAAQ,EAAEY,qBAAA,CAAUK;AAPE,CAA1B;AAUAxB,aAAa,CAACyB,GAAd,GAAoBA,eAApB;AACAzB,aAAa,CAAC0B,QAAd,GAAyBA,oBAAzB;AACA1B,aAAa,CAAC2B,IAAd,GAAqBA,gBAArB;AACA3B,aAAa,CAAC4B,IAAd,GAAqBA,gBAArB;AACA5B,aAAa,CAAC6B,OAAd,GAAwBA,mBAAxB;eAEe7B,a"}
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["vtx-form-layout/style/index.js"],"sourcesContent":["import 'antd/lib/row/style';\nimport 'antd/lib/col/style';\nimport 'antd/lib/form/style';\nimport 'antd/lib/tooltip/style';\nimport 'antd/lib/card/style';\nimport 'antd/lib/divider/style';\nimport 'antd/lib/skeleton/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["vtx-form-layout/style/index.js"],"sourcesContent":["import 'antd/lib/row/style';\r\nimport 'antd/lib/col/style';\r\nimport 'antd/lib/form/style';\r\nimport 'antd/lib/tooltip/style';\r\nimport 'antd/lib/card/style';\r\nimport 'antd/lib/divider/style';\r\nimport 'antd/lib/skeleton/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
@@ -17,7 +17,7 @@
17
17
  .vtx-form-layout .vtx-form-item .ant-form-item-label label::after {
18
18
  content: '';
19
19
  }
20
- .vtx-form-layout .vtx-form-item-vertical {
20
+ .vtx-form-layout .vtx-form-item-vertical .ant-form-item-row {
21
21
  -webkit-box-orient: vertical;
22
22
  -webkit-box-direction: normal;
23
23
  -ms-flex-direction: column;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["vtx-form-layout/style/index.js"],"sourcesContent":["import 'antd/lib/row/style';\nimport 'antd/lib/col/style';\nimport 'antd/lib/form/style';\nimport 'antd/lib/tooltip/style';\nimport 'antd/lib/card/style';\nimport 'antd/lib/divider/style';\nimport 'antd/lib/skeleton/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["vtx-form-layout/style/index.js"],"sourcesContent":["import 'antd/lib/row/style';\r\nimport 'antd/lib/col/style';\r\nimport 'antd/lib/form/style';\r\nimport 'antd/lib/tooltip/style';\r\nimport 'antd/lib/card/style';\r\nimport 'antd/lib/divider/style';\r\nimport 'antd/lib/skeleton/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
@@ -1,211 +1,213 @@
1
- @import (reference) '~antd/lib/style/themes/index.less';
2
-
3
- @view-item-margin-bottom: 16px;
4
-
5
- .vtx-form-layout {
6
- position: relative;
7
- display: flex;
8
- flex-flow: row wrap;
9
- width: 100%;
10
- padding: 0 @padding-lg;
11
- overflow: hidden;
12
- .vtx-form-item {
13
- .ant-form-item-label {
14
- text-overflow: ellipsis;
15
- label::after {
16
- content: '';
17
- }
18
- }
19
- &-vertical {
20
- flex-direction: column;
21
- .ant-form-item-label,
22
- .ant-form-item-control {
23
- line-height: @line-height-base;
24
- }
25
- .ant-form-item-label {
26
- margin-bottom: 8px;
27
- padding: 0 !important;
28
- white-space: initial;
29
- text-align: left;
30
- label {
31
- height: auto;
32
- }
33
- }
34
- }
35
- .ant-form-item-explain {
36
- font-size: @font-size-sm;
37
- }
38
- &--inline {
39
- flex: none;
40
- flex-direction: row;
41
- flex-wrap: nowrap;
42
- margin-right: 16px;
43
- margin-bottom: @view-item-margin-bottom !important;
44
- row-gap: 0;
45
- .ant-form-item-control-input {
46
- min-height: auto;
47
- }
48
- .ant-form-item-label {
49
- flex: none;
50
- margin-bottom: 0;
51
- & > label {
52
- height: auto;
53
- color: @text-color;
54
- }
55
- label::after {
56
- content: ':';
57
- }
58
- }
59
- }
60
- &--view {
61
- .ant-form-item-label,
62
- .ant-form-item-control {
63
- line-height: @line-height-base;
64
- }
65
- .ant-form-item-label {
66
- & > label {
67
- height: auto;
68
- color: @text-color;
69
- }
70
- label::after {
71
- content: ':';
72
- }
73
- }
74
- .ant-form-item-control {
75
- color: @text-color;
76
- .ant-form-item-control-input {
77
- min-height: auto;
78
- }
79
- }
80
- }
81
- }
82
- .vtx-form-item-col {
83
- .ant-form-item {
84
- margin-bottom: 20px;
85
- }
86
- .vtx-form-item--view {
87
- margin-bottom: 0;
88
- }
89
- .ant-form-item-with-help {
90
- margin-bottom: 0;
91
- }
92
- .ant-form-item-explain {
93
- min-height: 20px;
94
- }
95
- }
96
- .vtx-form-card {
97
- position: relative;
98
- width: 100%;
99
- overflow: hidden;
100
- &-expand-icon {
101
- color: fade(@text-color, 75%);
102
- transition: transform 0.24s, -webkit-transform 0.24s;
103
- }
104
- .ant-card-body {
105
- padding: 0;
106
- }
107
- .ant-card-head-wrapper,
108
- .ant-card-head-title {
109
- line-height: 1;
110
- }
111
- &-content {
112
- display: flex;
113
- flex-flow: row wrap;
114
- padding: 20px 24px;
115
- padding-bottom: 0;
116
- &::after {
117
- clear: both;
118
- }
119
- &::before,
120
- &::after {
121
- display: table;
122
- content: '';
123
- }
124
- }
125
- &-content-hide {
126
- display: none;
127
- }
128
- }
129
- .vtx-form-card + .vtx-form-card {
130
- margin-top: 20px;
131
- }
132
- .vtx-form-pane {
133
- position: relative;
134
- box-sizing: border-box;
135
- width: 100%;
136
- &::after {
137
- clear: both;
138
- }
139
- &::before,
140
- &::after {
141
- display: table;
142
- content: '';
143
- }
144
- &-title {
145
- margin-bottom: 16px;
146
- overflow: hidden;
147
- color: @text-color;
148
- font-weight: 500;
149
- line-height: @line-height-base;
150
- list-style: none;
151
- }
152
- &-content {
153
- display: flex;
154
- flex-flow: row wrap;
155
- &::after {
156
- clear: both;
157
- }
158
- &::before,
159
- &::after {
160
- display: table;
161
- content: '';
162
- }
163
- }
164
- }
165
- .vtx-form-divider {
166
- margin: 0;
167
- margin-bottom: 20px;
168
- &--small {
169
- margin-bottom: 16px;
170
- }
171
- }
172
- .vtx-form-tabs {
173
- width: 100%;
174
- .ant-tabs-bar {
175
- padding-right: @padding-sm;
176
- padding-left: @padding-sm;
177
- border-bottom: none;
178
- }
179
- .ant-tabs-tab {
180
- padding: 5px 0 10px 0;
181
- }
182
- }
183
- &-vertical {
184
- padding: 0 @padding-sm;
185
- .vtx-form-item-col {
186
- padding-right: @padding-sm;
187
- padding-left: @padding-sm;
188
- }
189
- .vtx-form-card-content {
190
- padding: 20px @padding-sm;
191
- padding-bottom: 0;
192
- }
193
- .vtx-form-pane-title {
194
- padding: 0 @padding-sm;
195
- }
196
- }
197
- &-has-card {
198
- padding: 0;
199
- .vtx-form-tabs .ant-tabs-bar {
200
- padding: 0 @padding-lg;
201
- }
202
- }
203
- &-view {
204
- .vtx-form-item-col {
205
- margin-bottom: @view-item-margin-bottom;
206
- }
207
- .vtx-form-divider {
208
- margin-bottom: @view-item-margin-bottom;
209
- }
210
- }
211
- }
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
3
+ @view-item-margin-bottom: 16px;
4
+
5
+ .vtx-form-layout {
6
+ position: relative;
7
+ display: flex;
8
+ flex-flow: row wrap;
9
+ width: 100%;
10
+ padding: 0 @padding-lg;
11
+ overflow: hidden;
12
+ .vtx-form-item {
13
+ .ant-form-item-label {
14
+ text-overflow: ellipsis;
15
+ label::after {
16
+ content: '';
17
+ }
18
+ }
19
+ &-vertical {
20
+ .ant-form-item-row {
21
+ flex-direction: column;
22
+ }
23
+ .ant-form-item-label,
24
+ .ant-form-item-control {
25
+ line-height: @line-height-base;
26
+ }
27
+ .ant-form-item-label {
28
+ margin-bottom: 8px;
29
+ padding: 0 !important;
30
+ white-space: initial;
31
+ text-align: left;
32
+ label {
33
+ height: auto;
34
+ }
35
+ }
36
+ }
37
+ .ant-form-item-explain {
38
+ font-size: @font-size-sm;
39
+ }
40
+ &--inline {
41
+ flex: none;
42
+ flex-direction: row;
43
+ flex-wrap: nowrap;
44
+ margin-right: 16px;
45
+ margin-bottom: @view-item-margin-bottom !important;
46
+ row-gap: 0;
47
+ .ant-form-item-control-input {
48
+ min-height: auto;
49
+ }
50
+ .ant-form-item-label {
51
+ flex: none;
52
+ margin-bottom: 0;
53
+ & > label {
54
+ height: auto;
55
+ color: @text-color;
56
+ }
57
+ label::after {
58
+ content: ':';
59
+ }
60
+ }
61
+ }
62
+ &--view {
63
+ .ant-form-item-label,
64
+ .ant-form-item-control {
65
+ line-height: @line-height-base;
66
+ }
67
+ .ant-form-item-label {
68
+ & > label {
69
+ height: auto;
70
+ color: @text-color;
71
+ }
72
+ label::after {
73
+ content: ':';
74
+ }
75
+ }
76
+ .ant-form-item-control {
77
+ color: @text-color;
78
+ .ant-form-item-control-input {
79
+ min-height: auto;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ .vtx-form-item-col {
85
+ .ant-form-item {
86
+ margin-bottom: 20px;
87
+ }
88
+ .vtx-form-item--view {
89
+ margin-bottom: 0;
90
+ }
91
+ .ant-form-item-with-help {
92
+ margin-bottom: 0;
93
+ }
94
+ .ant-form-item-explain {
95
+ min-height: 20px;
96
+ }
97
+ }
98
+ .vtx-form-card {
99
+ position: relative;
100
+ width: 100%;
101
+ overflow: hidden;
102
+ &-expand-icon {
103
+ color: fade(@text-color, 75%);
104
+ transition: transform 0.24s, -webkit-transform 0.24s;
105
+ }
106
+ .ant-card-body {
107
+ padding: 0;
108
+ }
109
+ .ant-card-head-wrapper,
110
+ .ant-card-head-title {
111
+ line-height: 1;
112
+ }
113
+ &-content {
114
+ display: flex;
115
+ flex-flow: row wrap;
116
+ padding: 20px 24px;
117
+ padding-bottom: 0;
118
+ &::after {
119
+ clear: both;
120
+ }
121
+ &::before,
122
+ &::after {
123
+ display: table;
124
+ content: '';
125
+ }
126
+ }
127
+ &-content-hide {
128
+ display: none;
129
+ }
130
+ }
131
+ .vtx-form-card + .vtx-form-card {
132
+ margin-top: 20px;
133
+ }
134
+ .vtx-form-pane {
135
+ position: relative;
136
+ box-sizing: border-box;
137
+ width: 100%;
138
+ &::after {
139
+ clear: both;
140
+ }
141
+ &::before,
142
+ &::after {
143
+ display: table;
144
+ content: '';
145
+ }
146
+ &-title {
147
+ margin-bottom: 16px;
148
+ overflow: hidden;
149
+ color: @text-color;
150
+ font-weight: 500;
151
+ line-height: @line-height-base;
152
+ list-style: none;
153
+ }
154
+ &-content {
155
+ display: flex;
156
+ flex-flow: row wrap;
157
+ &::after {
158
+ clear: both;
159
+ }
160
+ &::before,
161
+ &::after {
162
+ display: table;
163
+ content: '';
164
+ }
165
+ }
166
+ }
167
+ .vtx-form-divider {
168
+ margin: 0;
169
+ margin-bottom: 20px;
170
+ &--small {
171
+ margin-bottom: 16px;
172
+ }
173
+ }
174
+ .vtx-form-tabs {
175
+ width: 100%;
176
+ .ant-tabs-bar {
177
+ padding-right: @padding-sm;
178
+ padding-left: @padding-sm;
179
+ border-bottom: none;
180
+ }
181
+ .ant-tabs-tab {
182
+ padding: 5px 0 10px 0;
183
+ }
184
+ }
185
+ &-vertical {
186
+ padding: 0 @padding-sm;
187
+ .vtx-form-item-col {
188
+ padding-right: @padding-sm;
189
+ padding-left: @padding-sm;
190
+ }
191
+ .vtx-form-card-content {
192
+ padding: 20px @padding-sm;
193
+ padding-bottom: 0;
194
+ }
195
+ .vtx-form-pane-title {
196
+ padding: 0 @padding-sm;
197
+ }
198
+ }
199
+ &-has-card {
200
+ padding: 0;
201
+ .vtx-form-tabs .ant-tabs-bar {
202
+ padding: 0 @padding-lg;
203
+ }
204
+ }
205
+ &-view {
206
+ .vtx-form-item-col {
207
+ margin-bottom: @view-item-margin-bottom;
208
+ }
209
+ .vtx-form-divider {
210
+ margin-bottom: @view-item-margin-bottom;
211
+ }
212
+ }
213
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","useSet","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","useContext","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","useEffect","id","imgProps","onError","imgRender","classnames","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"sources":["vtx-image/Image.jsx"],"sourcesContent":["import React, { useEffect, useContext } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Preview from './Preview';\nimport PreviewGroup, { context } from './PreviewGroup';\nimport useSet from '../_util/useSet';\n\nlet defaultEmptyImageSrc = '';\nlet defaultErrorImageSrc = '';\nlet defaultEmptyText = '暂无图片';\nlet defaultErrorText = '图片出错';\n\nlet uuid = 0;\n\nfunction VtxImage(props) {\n const [currentId] = React.useState(() => {\n uuid += 1;\n return uuid;\n });\n\n const [state, setState] = useSet({\n isError: false, // 图片是否加载失败\n isEmptyImageError: false, // 空白图片是否加载失败\n isErrorImageError: false, // 报错图片是否加载失败\n viewerVisible: false, // 是否查看\n visible: false,\n photo: undefined,\n });\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\n\n const {\n prefixCls = 'vtx-image',\n preview = true,\n className,\n style,\n src,\n thumb,\n alt,\n emptyImageSrc = defaultEmptyImageSrc,\n errorImageSrc = defaultErrorImageSrc,\n emptyText = defaultEmptyText,\n errorText = defaultErrorText,\n onClick,\n aspectFit,\n } = props;\n\n const {\n isPreviewGroup,\n setCurrent,\n setShowPreview: setGroupShowPreview,\n registerImage,\n } = useContext(context);\n\n useEffect(() => {\n setState({\n isError: false,\n });\n if (isPreviewGroup && preview) {\n registerImage({ id: currentId, src, alt });\n }\n }, [src]);\n\n // 图片props属性\n const imgProps = {\n src: thumb || src,\n className,\n style,\n alt,\n onClick: () => {\n if (!src || isError) {\n return null;\n }\n onClick && onClick();\n if (preview) {\n if (isPreviewGroup) {\n setCurrent(currentId);\n setGroupShowPreview(true);\n } else {\n setState({\n visible: true,\n photo: {\n src,\n alt,\n },\n });\n }\n }\n },\n onError: () => {\n setState({\n isError: true,\n });\n },\n };\n\n // 无图片\n if (!src) {\n // 有替代图片\n if (emptyImageSrc && !isEmptyImageError) {\n imgProps.src = emptyImageSrc;\n imgProps.onError = () => {\n setState({ isEmptyImageError: true });\n };\n } else {\n // 没有替代图片或替代图片无法加载\n return (\n <div className={`${prefixCls}-nodata`} style={style}>\n <p>{emptyText}</p>\n </div>\n );\n }\n }\n\n // 图片出错\n if (isError) {\n if (errorImageSrc && !isErrorImageError) {\n imgProps['data-error-img'] = src;\n imgProps.src = errorImageSrc;\n imgProps.onError = () => {\n setState({ isErrorImageError: true });\n };\n } else {\n // 无法加载报错图片\n return (\n <div className={`${prefixCls}-error`} data-error-img={src} style={style}>\n <p>{errorText}</p>\n </div>\n );\n }\n }\n\n let imgRender = <img {...imgProps} />;\n // 缩放\n if (src && !isError && aspectFit) {\n imgRender = (\n <div\n className={classnames(`${prefixCls}-aspectFit`, {\n [`${prefixCls}-preview`]: preview,\n })}\n >\n <img {...imgProps} />\n </div>\n );\n }\n return (\n <>\n {imgRender}\n {!isPreviewGroup && preview && (\n <Preview\n visible={visible}\n photo={photo}\n onClose={() => setState({ visible: false })}\n />\n )}\n </>\n );\n}\n\nVtxImage.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n preview: PropTypes.bool,\n src: PropTypes.string,\n thumb: PropTypes.string,\n alt: PropTypes.string,\n emptyImageSrc: PropTypes.string,\n errorImageSrc: PropTypes.string,\n emptyText: PropTypes.string,\n errorText: PropTypes.string,\n onClick: PropTypes.func,\n aspectFit: PropTypes.bool,\n};\n\nVtxImage.setImageConfig = setImageConfig;\n\nfunction setImageConfig(options) {\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\n\n if (emptyImageSrc !== undefined) {\n defaultEmptyImageSrc = emptyImageSrc;\n }\n if (errorImageSrc !== undefined) {\n defaultErrorImageSrc = errorImageSrc;\n }\n if (emptyText !== undefined) {\n defaultEmptyText = emptyText;\n }\n if (errorText !== undefined) {\n defaultErrorText = errorText;\n }\n}\n\nVtxImage.PreviewGroup = PreviewGroup;\nVtxImage.VtxImagePreview = Preview;\n\nexport default VtxImage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","names":["defaultEmptyImageSrc","defaultErrorImageSrc","defaultEmptyText","defaultErrorText","uuid","VtxImage","props","React","useState","currentId","useSet","isError","isEmptyImageError","isErrorImageError","viewerVisible","visible","photo","undefined","state","setState","prefixCls","preview","className","style","src","thumb","alt","emptyImageSrc","errorImageSrc","emptyText","errorText","onClick","aspectFit","useContext","context","isPreviewGroup","setCurrent","setGroupShowPreview","setShowPreview","registerImage","useEffect","id","imgProps","onError","imgRender","classnames","propTypes","PropTypes","string","object","bool","func","setImageConfig","options","PreviewGroup","VtxImagePreview","Preview"],"sources":["vtx-image/Image.jsx"],"sourcesContent":["import React, { useEffect, useContext } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Preview from './Preview';\r\nimport PreviewGroup, { context } from './PreviewGroup';\r\nimport useSet from '../_util/useSet';\r\n\r\nlet defaultEmptyImageSrc = '';\r\nlet defaultErrorImageSrc = '';\r\nlet defaultEmptyText = '暂无图片';\r\nlet defaultErrorText = '图片出错';\r\n\r\nlet uuid = 0;\r\n\r\nfunction VtxImage(props) {\r\n const [currentId] = React.useState(() => {\r\n uuid += 1;\r\n return uuid;\r\n });\r\n\r\n const [state, setState] = useSet({\r\n isError: false, // 图片是否加载失败\r\n isEmptyImageError: false, // 空白图片是否加载失败\r\n isErrorImageError: false, // 报错图片是否加载失败\r\n viewerVisible: false, // 是否查看\r\n visible: false,\r\n photo: undefined,\r\n });\r\n const { isError, isEmptyImageError, isErrorImageError, visible, photo } = state;\r\n\r\n const {\r\n prefixCls = 'vtx-image',\r\n preview = true,\r\n className,\r\n style,\r\n src,\r\n thumb,\r\n alt,\r\n emptyImageSrc = defaultEmptyImageSrc,\r\n errorImageSrc = defaultErrorImageSrc,\r\n emptyText = defaultEmptyText,\r\n errorText = defaultErrorText,\r\n onClick,\r\n aspectFit,\r\n } = props;\r\n\r\n const {\r\n isPreviewGroup,\r\n setCurrent,\r\n setShowPreview: setGroupShowPreview,\r\n registerImage,\r\n } = useContext(context);\r\n\r\n useEffect(() => {\r\n setState({\r\n isError: false,\r\n });\r\n if (isPreviewGroup && preview) {\r\n registerImage({ id: currentId, src, alt });\r\n }\r\n }, [src]);\r\n\r\n // 图片props属性\r\n const imgProps = {\r\n src: thumb || src,\r\n className,\r\n style,\r\n alt,\r\n onClick: () => {\r\n if (!src || isError) {\r\n return null;\r\n }\r\n onClick && onClick();\r\n if (preview) {\r\n if (isPreviewGroup) {\r\n setCurrent(currentId);\r\n setGroupShowPreview(true);\r\n } else {\r\n setState({\r\n visible: true,\r\n photo: {\r\n src,\r\n alt,\r\n },\r\n });\r\n }\r\n }\r\n },\r\n onError: () => {\r\n setState({\r\n isError: true,\r\n });\r\n },\r\n };\r\n\r\n // 无图片\r\n if (!src) {\r\n // 有替代图片\r\n if (emptyImageSrc && !isEmptyImageError) {\r\n imgProps.src = emptyImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isEmptyImageError: true });\r\n };\r\n } else {\r\n // 没有替代图片或替代图片无法加载\r\n return (\r\n <div className={`${prefixCls}-nodata`} style={style}>\r\n <p>{emptyText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n // 图片出错\r\n if (isError) {\r\n if (errorImageSrc && !isErrorImageError) {\r\n imgProps['data-error-img'] = src;\r\n imgProps.src = errorImageSrc;\r\n imgProps.onError = () => {\r\n setState({ isErrorImageError: true });\r\n };\r\n } else {\r\n // 无法加载报错图片\r\n return (\r\n <div className={`${prefixCls}-error`} data-error-img={src} style={style}>\r\n <p>{errorText}</p>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n let imgRender = <img {...imgProps} />;\r\n // 缩放\r\n if (src && !isError && aspectFit) {\r\n imgRender = (\r\n <div\r\n className={classnames(`${prefixCls}-aspectFit`, {\r\n [`${prefixCls}-preview`]: preview,\r\n })}\r\n >\r\n <img {...imgProps} />\r\n </div>\r\n );\r\n }\r\n return (\r\n <>\r\n {imgRender}\r\n {!isPreviewGroup && preview && (\r\n <Preview\r\n visible={visible}\r\n photo={photo}\r\n onClose={() => setState({ visible: false })}\r\n />\r\n )}\r\n </>\r\n );\r\n}\r\n\r\nVtxImage.propTypes = {\r\n prefixCls: PropTypes.string,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n preview: PropTypes.bool,\r\n src: PropTypes.string,\r\n thumb: PropTypes.string,\r\n alt: PropTypes.string,\r\n emptyImageSrc: PropTypes.string,\r\n errorImageSrc: PropTypes.string,\r\n emptyText: PropTypes.string,\r\n errorText: PropTypes.string,\r\n onClick: PropTypes.func,\r\n aspectFit: PropTypes.bool,\r\n};\r\n\r\nVtxImage.setImageConfig = setImageConfig;\r\n\r\nfunction setImageConfig(options) {\r\n const { emptyImageSrc, errorImageSrc, emptyText, errorText } = options;\r\n\r\n if (emptyImageSrc !== undefined) {\r\n defaultEmptyImageSrc = emptyImageSrc;\r\n }\r\n if (errorImageSrc !== undefined) {\r\n defaultErrorImageSrc = errorImageSrc;\r\n }\r\n if (emptyText !== undefined) {\r\n defaultEmptyText = emptyText;\r\n }\r\n if (errorText !== undefined) {\r\n defaultErrorText = errorText;\r\n }\r\n}\r\n\r\nVtxImage.PreviewGroup = PreviewGroup;\r\nVtxImage.VtxImagePreview = Preview;\r\n\r\nexport default VtxImage;\r\n"],"mappings":"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"}
@@ -1 +1 @@
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';\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"],"mappings":"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"}
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,"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';\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"],"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
+ {"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,"file":"index.js","names":["Image"],"sources":["vtx-image/index.jsx"],"sourcesContent":["import Image from './Image';\n\nexport * from './Image';\nexport default Image;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;eACeA,iB"}
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,"file":"css.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"mappings":";;AAAA;;AACA"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["vtx-image/style/index.js"],"sourcesContent":["import './index.less';\nimport 'viewerjs/dist/viewer.css';\n"],"mappings":";;AAAA;;AACA"}
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"}