@vtx/components 4.0.0-beta.6 → 4.0.0-beta.7

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 (447) hide show
  1. package/es/index.js +73 -0
  2. package/es/utils/columnSort.js +23 -0
  3. package/es/utils/components/DropdownFooter/index.js +53 -0
  4. package/es/utils/components/DropdownFooter/style.js +25 -0
  5. package/es/utils/components/ErrorBoundary/index.js +53 -0
  6. package/es/utils/components/FieldLabel/index.js +144 -0
  7. package/es/utils/components/FieldLabel/style.js +93 -0
  8. package/es/utils/components/FilterDropdown/index.js +62 -0
  9. package/es/utils/components/FilterDropdown/style.js +26 -0
  10. package/es/utils/components/InlineErrorFormItem/index.js +156 -0
  11. package/es/utils/components/InlineErrorFormItem/style.js +47 -0
  12. package/es/utils/components/LabelIconTip/index.js +68 -0
  13. package/es/utils/components/LabelIconTip/style.js +47 -0
  14. package/es/utils/components/ProFormContext/index.js +41 -0
  15. package/es/utils/conversionMomentValue/index.js +163 -0
  16. package/es/utils/dateArrayFormatter/index.js +36 -0
  17. package/es/utils/filterSpecialCharacters.js +82 -0
  18. package/es/utils/genColumnKey.js +6 -0
  19. package/es/utils/genCopyable/index.js +59 -0
  20. package/es/utils/getComponentProps.js +7 -0
  21. package/es/utils/getFieldPropsOrFormItemProps/index.js +16 -0
  22. package/es/utils/getPlaceholder.js +5 -0
  23. package/es/utils/getToken.js +6 -0
  24. package/es/utils/hooks/useDebounceFn/index.js +71 -0
  25. package/es/utils/hooks/useDebounceValue/index.js +40 -0
  26. package/es/utils/hooks/useDeepCompareEffect/index.js +24 -0
  27. package/es/utils/hooks/useDeepCompareMemo/index.js +15 -0
  28. package/es/utils/hooks/useDocumentTitle/index.js +10 -0
  29. package/es/utils/hooks/useFetchData/index.js +82 -0
  30. package/es/utils/hooks/useForceRender/index.js +18 -0
  31. package/es/utils/hooks/useLatest/index.js +10 -0
  32. package/es/utils/hooks/usePrevious/index.js +8 -0
  33. package/es/utils/hooks/useReactiveRef/index.js +7 -0
  34. package/es/utils/hooks/useRefCallback/index.js +26 -0
  35. package/es/utils/hooks/useRefFunction/index.js +13 -0
  36. package/es/utils/index.js +73 -0
  37. package/es/utils/isBrowser/index.d.ts +9 -0
  38. package/es/utils/isBrowser/index.js +16 -0
  39. package/es/utils/isDeepEqualReact/index.js +95 -0
  40. package/es/utils/isDropdownValueType/index.js +7 -0
  41. package/es/utils/isFunction.js +3 -0
  42. package/es/utils/isImg/index.js +4 -0
  43. package/es/utils/isNil/index.js +3 -0
  44. package/es/utils/isObject/index.js +3 -0
  45. package/es/utils/isObject.js +3 -0
  46. package/es/utils/isUrl/index.js +17 -0
  47. package/es/utils/merge/index.js +36 -0
  48. package/es/utils/nanoid/index.js +29 -0
  49. package/es/utils/omitBoolean/index.js +11 -0
  50. package/es/utils/omitUndefined/index.js +12 -0
  51. package/es/utils/omitUndefinedAndEmptyArr/index.js +14 -0
  52. package/es/utils/parseValueToMoment/index.js +28 -0
  53. package/es/utils/pickProFormItemProps/index.js +15 -0
  54. package/es/utils/pickProProps/index.js +15 -0
  55. package/es/utils/proFieldParsingText/index.js +161 -0
  56. package/es/utils/runFunction/index.js +10 -0
  57. package/es/utils/sortByGivenOrder.js +36 -0
  58. package/es/utils/sortByKeyArrayExtract.js +38 -0
  59. package/es/utils/stringify/index.js +10 -0
  60. package/es/utils/transformKeySubmitValue/index.js +330 -0
  61. package/es/utils/useColSize.js +20 -0
  62. package/es/utils/useEditableArray/index.js +906 -0
  63. package/es/utils/useEditableMap/index.js +214 -0
  64. package/es/utils/useInterval.js +12 -0
  65. package/es/utils/useMediaQuery/index.js +106 -0
  66. package/es/utils/useMediaQuery/query.js +30 -0
  67. package/es/utils/useMountMergeState/index.js +2 -0
  68. package/es/utils/useSet.js +38 -0
  69. package/es/version.js +3 -0
  70. package/es/vtx-color-picker/index.js +70 -0
  71. package/es/vtx-color-picker/style/index.js +30 -0
  72. package/es/vtx-combogrid/Combogrid.js +247 -0
  73. package/es/vtx-combogrid/index.js +121 -0
  74. package/es/vtx-combogrid/style/index.js +42 -0
  75. package/es/vtx-datagrid/Alert/index.js +49 -0
  76. package/es/vtx-datagrid/Alert/style.js +44 -0
  77. package/es/vtx-datagrid/Store/Provide.js +441 -0
  78. package/es/vtx-datagrid/ToolBar/components/ColumnSetting/index.js +526 -0
  79. package/es/vtx-datagrid/ToolBar/components/ColumnSetting/style.js +86 -0
  80. package/es/vtx-datagrid/ToolBar/components/Density/index.js +48 -0
  81. package/es/vtx-datagrid/ToolBar/components/Fullscreen/index.js +77 -0
  82. package/es/vtx-datagrid/ToolBar/components/TableStyle/index.js +71 -0
  83. package/es/vtx-datagrid/ToolBar/index.js +88 -0
  84. package/es/vtx-datagrid/ToolBar/style.js +59 -0
  85. package/es/vtx-datagrid/index.js +362 -0
  86. package/es/vtx-datagrid/renderColumnButtons.js +98 -0
  87. package/es/vtx-datagrid/style/index.js +80 -0
  88. package/es/vtx-datagrid/style/index.less +242 -0
  89. package/es/vtx-date-picker/QdatePicker.js +152 -0
  90. package/es/vtx-date-picker/generatePicker.js +104 -0
  91. package/es/vtx-date-picker/index.js +49 -0
  92. package/es/vtx-date-picker/style/index.js +39 -0
  93. package/es/vtx-date-picker/style/index.less +39 -0
  94. package/es/vtx-ellipsis-text/index.js +52 -0
  95. package/es/vtx-ellipsis-text/style/index.js +29 -0
  96. package/es/vtx-export/index.js +197 -0
  97. package/es/vtx-export/style/index.js +24 -0
  98. package/es/vtx-export-async/ColumnsSelect.js +63 -0
  99. package/es/vtx-export-async/History.js +256 -0
  100. package/es/vtx-export-async/index.js +402 -0
  101. package/es/vtx-export-async/style/index.js +49 -0
  102. package/es/vtx-export-async/util.js +51 -0
  103. package/es/vtx-form-layout/Card.js +74 -0
  104. package/es/vtx-form-layout/Divider.js +22 -0
  105. package/es/vtx-form-layout/FormItem.js +135 -0
  106. package/es/vtx-form-layout/Pane.js +41 -0
  107. package/es/vtx-form-layout/Row.js +19 -0
  108. package/es/vtx-form-layout/context.js +2 -0
  109. package/es/vtx-form-layout/index.js +80 -0
  110. package/es/vtx-form-layout/style/index.js +261 -0
  111. package/es/vtx-icon/index.js +78 -0
  112. package/es/vtx-icon/svg/alignRightOutlined.js +29 -0
  113. package/es/vtx-icon/svg/columnHeightOutlined.js +25 -0
  114. package/es/vtx-icon/svg/downOutlined.js +24 -0
  115. package/es/vtx-icon/svg/fullscreen.js +25 -0
  116. package/es/vtx-icon/svg/redoOutlined.js +29 -0
  117. package/es/vtx-icon/svg/rightOutlined.js +24 -0
  118. package/es/vtx-icon/svg/settingOutlined.js +29 -0
  119. package/es/vtx-image/Image.js +257 -0
  120. package/es/vtx-image/Preview.js +140 -0
  121. package/es/vtx-image/PreviewGroup.js +81 -0
  122. package/es/vtx-image/index.js +4 -0
  123. package/es/vtx-image/style/index.js +91 -0
  124. package/es/vtx-import/index.js +416 -0
  125. package/es/vtx-import/result.js +81 -0
  126. package/es/vtx-import/style/index.js +19 -0
  127. package/es/vtx-import2/CheckResult.js +45 -0
  128. package/es/vtx-import2/Content.js +103 -0
  129. package/es/vtx-import2/DownloadSvg.js +41 -0
  130. package/es/vtx-import2/ImportResult.js +57 -0
  131. package/es/vtx-import2/UploadSvg.js +41 -0
  132. package/es/vtx-import2/index.js +453 -0
  133. package/es/vtx-import2/style/index.js +99 -0
  134. package/es/vtx-input/TextArea/index.js +61 -0
  135. package/es/vtx-input/TextArea/style.js +30 -0
  136. package/es/vtx-input/index.js +92 -0
  137. package/es/vtx-input/style/index.js +24 -0
  138. package/es/vtx-input/useLength.js +21 -0
  139. package/es/vtx-modal/Title.js +34 -0
  140. package/es/vtx-modal/index.js +243 -0
  141. package/es/vtx-modal/style/index.js +109 -0
  142. package/es/vtx-page-layout/Basic.js +28 -0
  143. package/es/vtx-page-layout/Content.js +43 -0
  144. package/es/vtx-page-layout/Pane.js +40 -0
  145. package/es/vtx-page-layout/TabLayout.js +65 -0
  146. package/es/vtx-page-layout/TableLayout.js +163 -0
  147. package/es/vtx-page-layout/TableWrap.js +36 -0
  148. package/es/vtx-page-layout/TreeLayout.js +79 -0
  149. package/es/vtx-page-layout/container.js +68 -0
  150. package/es/vtx-page-layout/index.js +26 -0
  151. package/es/vtx-page-layout/style/index.js +129 -0
  152. package/es/vtx-provider/index.js +315 -0
  153. package/es/vtx-provider/intl.js +140 -0
  154. package/es/vtx-provider/locale/ar_EG.js +71 -0
  155. package/es/vtx-provider/locale/ca_ES.js +71 -0
  156. package/es/vtx-provider/locale/cs_CZ.js +74 -0
  157. package/es/vtx-provider/locale/de_DE.js +71 -0
  158. package/es/vtx-provider/locale/en_GB.js +73 -0
  159. package/es/vtx-provider/locale/en_US.js +181 -0
  160. package/es/vtx-provider/locale/es_ES.js +71 -0
  161. package/es/vtx-provider/locale/fa_IR.js +71 -0
  162. package/es/vtx-provider/locale/fr_FR.js +71 -0
  163. package/es/vtx-provider/locale/he_IL.js +74 -0
  164. package/es/vtx-provider/locale/hr_HR.js +71 -0
  165. package/es/vtx-provider/locale/id_ID.js +71 -0
  166. package/es/vtx-provider/locale/it_IT.js +71 -0
  167. package/es/vtx-provider/locale/ja_JP.js +71 -0
  168. package/es/vtx-provider/locale/ko_KR.js +71 -0
  169. package/es/vtx-provider/locale/mn_MN.js +71 -0
  170. package/es/vtx-provider/locale/ms_MY.js +71 -0
  171. package/es/vtx-provider/locale/nl_NL.js +74 -0
  172. package/es/vtx-provider/locale/pl_PL.js +71 -0
  173. package/es/vtx-provider/locale/pt_BR.js +71 -0
  174. package/es/vtx-provider/locale/ro_RO.js +74 -0
  175. package/es/vtx-provider/locale/ru_RU.js +71 -0
  176. package/es/vtx-provider/locale/sk_SK.js +74 -0
  177. package/es/vtx-provider/locale/sr_RS.js +71 -0
  178. package/es/vtx-provider/locale/sv_SE.js +74 -0
  179. package/es/vtx-provider/locale/th_TH.js +74 -0
  180. package/es/vtx-provider/locale/tr_TR.js +71 -0
  181. package/es/vtx-provider/locale/uk_UA.js +74 -0
  182. package/es/vtx-provider/locale/uz_UZ.js +71 -0
  183. package/es/vtx-provider/locale/vi_VN.js +71 -0
  184. package/es/vtx-provider/locale/zh_CN.js +183 -0
  185. package/es/vtx-provider/locale/zh_HK.js +83 -0
  186. package/es/vtx-provider/locale/zh_TW.js +74 -0
  187. package/es/vtx-provider/typing/layoutToken.js +60 -0
  188. package/es/vtx-provider/useStyle/index.js +106 -0
  189. package/es/vtx-provider/utils/merge.js +27 -0
  190. package/es/vtx-rps-frame/index.js +164 -0
  191. package/es/vtx-rps-frame/style/index.js +26 -0
  192. package/es/vtx-scrollable-row/index.js +183 -0
  193. package/es/vtx-scrollable-row/style/index.js +108 -0
  194. package/es/vtx-search/index.js +350 -0
  195. package/es/vtx-search/style/index.js +94 -0
  196. package/es/vtx-select/index.js +252 -0
  197. package/es/vtx-select/style/index.js +75 -0
  198. package/es/vtx-signature/index.js +119 -0
  199. package/es/vtx-signature/style/index.js +47 -0
  200. package/es/vtx-split-pane/Resizer.js +47 -0
  201. package/es/vtx-split-pane/SplitPane.js +60 -0
  202. package/es/vtx-split-pane/index.js +3 -0
  203. package/es/vtx-split-pane/style/index.js +133 -0
  204. package/es/vtx-statistics-column/Back.js +27 -0
  205. package/es/vtx-statistics-column/Item.js +54 -0
  206. package/es/vtx-statistics-column/Total.js +54 -0
  207. package/es/vtx-statistics-column/context.js +2 -0
  208. package/es/vtx-statistics-column/index.js +54 -0
  209. package/es/vtx-statistics-column/style/index.js +72 -0
  210. package/es/vtx-time-picker/index.js +37 -0
  211. package/es/vtx-time-picker/style/index.js +0 -0
  212. package/es/vtx-tree/index.js +341 -0
  213. package/es/vtx-tree/style/index.js +50 -0
  214. package/es/vtx-tree/utils.js +73 -0
  215. package/es/vtx-tree-select/index.js +290 -0
  216. package/es/vtx-tree-select/style/index.js +72 -0
  217. package/es/vtx-upload/FilePreview.js +111 -0
  218. package/es/vtx-upload/index.js +468 -0
  219. package/es/vtx-upload/style/index.js +83 -0
  220. package/es/vtx-wang-editor/index.js +245 -0
  221. package/es/vtx-wang-editor/style/index.js +33 -0
  222. package/es/vtx-wang-editor/style/index.less +12 -0
  223. package/es/vtx-wang-editor/wangEditorUtil.js +226 -0
  224. package/lib/index.js +363 -0
  225. package/lib/utils/columnSort.js +29 -0
  226. package/lib/utils/components/DropdownFooter/index.js +62 -0
  227. package/lib/utils/components/DropdownFooter/style.js +31 -0
  228. package/lib/utils/components/ErrorBoundary/index.js +59 -0
  229. package/lib/utils/components/FieldLabel/index.js +152 -0
  230. package/lib/utils/components/FieldLabel/style.js +99 -0
  231. package/lib/utils/components/FilterDropdown/index.js +70 -0
  232. package/lib/utils/components/FilterDropdown/style.js +32 -0
  233. package/lib/utils/components/InlineErrorFormItem/index.js +162 -0
  234. package/lib/utils/components/InlineErrorFormItem/style.js +53 -0
  235. package/lib/utils/components/LabelIconTip/index.js +73 -0
  236. package/lib/utils/components/LabelIconTip/style.js +53 -0
  237. package/lib/utils/components/ProFormContext/index.js +48 -0
  238. package/lib/utils/conversionMomentValue/index.js +170 -0
  239. package/lib/utils/dateArrayFormatter/index.js +43 -0
  240. package/lib/utils/filterSpecialCharacters.js +89 -0
  241. package/lib/utils/genColumnKey.js +12 -0
  242. package/lib/utils/genCopyable/index.js +66 -0
  243. package/lib/utils/getComponentProps.js +13 -0
  244. package/lib/utils/getFieldPropsOrFormItemProps/index.js +21 -0
  245. package/lib/utils/getPlaceholder.js +11 -0
  246. package/lib/utils/getToken.js +12 -0
  247. package/lib/utils/hooks/useDebounceFn/index.js +77 -0
  248. package/lib/utils/hooks/useDebounceValue/index.js +45 -0
  249. package/lib/utils/hooks/useDeepCompareEffect/index.js +33 -0
  250. package/lib/utils/hooks/useDeepCompareMemo/index.js +21 -0
  251. package/lib/utils/hooks/useDocumentTitle/index.js +16 -0
  252. package/lib/utils/hooks/useFetchData/index.js +89 -0
  253. package/lib/utils/hooks/useForceRender/index.js +24 -0
  254. package/lib/utils/hooks/useLatest/index.js +15 -0
  255. package/lib/utils/hooks/usePrevious/index.js +14 -0
  256. package/lib/utils/hooks/useReactiveRef/index.js +14 -0
  257. package/lib/utils/hooks/useRefCallback/index.js +31 -0
  258. package/lib/utils/hooks/useRefFunction/index.js +18 -0
  259. package/lib/utils/index.js +436 -0
  260. package/lib/utils/isBrowser/index.d.ts +9 -0
  261. package/lib/utils/isBrowser/index.js +22 -0
  262. package/lib/utils/isDeepEqualReact/index.js +101 -0
  263. package/lib/utils/isDropdownValueType/index.js +13 -0
  264. package/lib/utils/isFunction.js +9 -0
  265. package/lib/utils/isImg/index.js +10 -0
  266. package/lib/utils/isNil/index.js +9 -0
  267. package/lib/utils/isObject/index.js +9 -0
  268. package/lib/utils/isObject.js +9 -0
  269. package/lib/utils/isUrl/index.js +23 -0
  270. package/lib/utils/merge/index.js +41 -0
  271. package/lib/utils/nanoid/index.js +35 -0
  272. package/lib/utils/omitBoolean/index.js +17 -0
  273. package/lib/utils/omitUndefined/index.js +18 -0
  274. package/lib/utils/omitUndefinedAndEmptyArr/index.js +20 -0
  275. package/lib/utils/parseValueToMoment/index.js +35 -0
  276. package/lib/utils/pickProFormItemProps/index.js +21 -0
  277. package/lib/utils/pickProProps/index.js +21 -0
  278. package/lib/utils/proFieldParsingText/index.js +166 -0
  279. package/lib/utils/runFunction/index.js +16 -0
  280. package/lib/utils/sortByGivenOrder.js +42 -0
  281. package/lib/utils/sortByKeyArrayExtract.js +44 -0
  282. package/lib/utils/stringify/index.js +21 -0
  283. package/lib/utils/transformKeySubmitValue/index.js +337 -0
  284. package/lib/utils/useColSize.js +26 -0
  285. package/lib/utils/useEditableArray/index.js +918 -0
  286. package/lib/utils/useEditableMap/index.js +219 -0
  287. package/lib/utils/useInterval.js +18 -0
  288. package/lib/utils/useMediaQuery/index.js +112 -0
  289. package/lib/utils/useMediaQuery/query.js +36 -0
  290. package/lib/utils/useMountMergeState/index.js +12 -0
  291. package/lib/utils/useSet.js +43 -0
  292. package/lib/version.js +9 -0
  293. package/lib/vtx-color-picker/index.js +77 -0
  294. package/lib/vtx-color-picker/style/index.js +36 -0
  295. package/lib/vtx-combogrid/Combogrid.js +255 -0
  296. package/lib/vtx-combogrid/index.js +129 -0
  297. package/lib/vtx-combogrid/style/index.js +48 -0
  298. package/lib/vtx-datagrid/Alert/index.js +57 -0
  299. package/lib/vtx-datagrid/Alert/style.js +50 -0
  300. package/lib/vtx-datagrid/Store/Provide.js +446 -0
  301. package/lib/vtx-datagrid/ToolBar/components/ColumnSetting/index.js +531 -0
  302. package/lib/vtx-datagrid/ToolBar/components/ColumnSetting/style.js +92 -0
  303. package/lib/vtx-datagrid/ToolBar/components/Density/index.js +54 -0
  304. package/lib/vtx-datagrid/ToolBar/components/Fullscreen/index.js +83 -0
  305. package/lib/vtx-datagrid/ToolBar/components/TableStyle/index.js +77 -0
  306. package/lib/vtx-datagrid/ToolBar/index.js +96 -0
  307. package/lib/vtx-datagrid/ToolBar/style.js +65 -0
  308. package/lib/vtx-datagrid/index.js +370 -0
  309. package/lib/vtx-datagrid/renderColumnButtons.js +104 -0
  310. package/lib/vtx-datagrid/style/index.js +86 -0
  311. package/lib/vtx-datagrid/style/index.less +242 -0
  312. package/lib/vtx-date-picker/QdatePicker.js +157 -0
  313. package/lib/vtx-date-picker/generatePicker.js +111 -0
  314. package/lib/vtx-date-picker/index.js +55 -0
  315. package/lib/vtx-date-picker/style/index.js +45 -0
  316. package/lib/vtx-date-picker/style/index.less +39 -0
  317. package/lib/vtx-ellipsis-text/index.js +60 -0
  318. package/lib/vtx-ellipsis-text/style/index.js +35 -0
  319. package/lib/vtx-export/index.js +203 -0
  320. package/lib/vtx-export/style/index.js +30 -0
  321. package/lib/vtx-export-async/ColumnsSelect.js +69 -0
  322. package/lib/vtx-export-async/History.js +264 -0
  323. package/lib/vtx-export-async/index.js +409 -0
  324. package/lib/vtx-export-async/style/index.js +55 -0
  325. package/lib/vtx-export-async/util.js +57 -0
  326. package/lib/vtx-form-layout/Card.js +83 -0
  327. package/lib/vtx-form-layout/Divider.js +31 -0
  328. package/lib/vtx-form-layout/FormItem.js +141 -0
  329. package/lib/vtx-form-layout/Pane.js +50 -0
  330. package/lib/vtx-form-layout/Row.js +26 -0
  331. package/lib/vtx-form-layout/context.js +8 -0
  332. package/lib/vtx-form-layout/index.js +89 -0
  333. package/lib/vtx-form-layout/style/index.js +267 -0
  334. package/lib/vtx-icon/index.js +90 -0
  335. package/lib/vtx-icon/svg/alignRightOutlined.js +34 -0
  336. package/lib/vtx-icon/svg/columnHeightOutlined.js +31 -0
  337. package/lib/vtx-icon/svg/downOutlined.js +30 -0
  338. package/lib/vtx-icon/svg/fullscreen.js +31 -0
  339. package/lib/vtx-icon/svg/redoOutlined.js +34 -0
  340. package/lib/vtx-icon/svg/rightOutlined.js +30 -0
  341. package/lib/vtx-icon/svg/settingOutlined.js +34 -0
  342. package/lib/vtx-image/Image.js +264 -0
  343. package/lib/vtx-image/Preview.js +146 -0
  344. package/lib/vtx-image/PreviewGroup.js +91 -0
  345. package/lib/vtx-image/index.js +31 -0
  346. package/lib/vtx-image/style/index.js +97 -0
  347. package/lib/vtx-import/index.js +424 -0
  348. package/lib/vtx-import/result.js +88 -0
  349. package/lib/vtx-import/style/index.js +25 -0
  350. package/lib/vtx-import2/CheckResult.js +50 -0
  351. package/lib/vtx-import2/Content.js +112 -0
  352. package/lib/vtx-import2/DownloadSvg.js +47 -0
  353. package/lib/vtx-import2/ImportResult.js +62 -0
  354. package/lib/vtx-import2/UploadSvg.js +47 -0
  355. package/lib/vtx-import2/index.js +458 -0
  356. package/lib/vtx-import2/style/index.js +105 -0
  357. package/lib/vtx-input/TextArea/index.js +70 -0
  358. package/lib/vtx-input/TextArea/style.js +36 -0
  359. package/lib/vtx-input/index.js +100 -0
  360. package/lib/vtx-input/style/index.js +30 -0
  361. package/lib/vtx-input/useLength.js +27 -0
  362. package/lib/vtx-modal/Title.js +42 -0
  363. package/lib/vtx-modal/index.js +249 -0
  364. package/lib/vtx-modal/style/index.js +115 -0
  365. package/lib/vtx-page-layout/Basic.js +36 -0
  366. package/lib/vtx-page-layout/Content.js +50 -0
  367. package/lib/vtx-page-layout/Pane.js +47 -0
  368. package/lib/vtx-page-layout/TabLayout.js +70 -0
  369. package/lib/vtx-page-layout/TableLayout.js +172 -0
  370. package/lib/vtx-page-layout/TableWrap.js +43 -0
  371. package/lib/vtx-page-layout/TreeLayout.js +84 -0
  372. package/lib/vtx-page-layout/container.js +74 -0
  373. package/lib/vtx-page-layout/index.js +32 -0
  374. package/lib/vtx-page-layout/style/index.js +136 -0
  375. package/lib/vtx-provider/index.js +351 -0
  376. package/lib/vtx-provider/intl.js +145 -0
  377. package/lib/vtx-provider/locale/ar_EG.js +77 -0
  378. package/lib/vtx-provider/locale/ca_ES.js +77 -0
  379. package/lib/vtx-provider/locale/cs_CZ.js +80 -0
  380. package/lib/vtx-provider/locale/de_DE.js +77 -0
  381. package/lib/vtx-provider/locale/en_GB.js +79 -0
  382. package/lib/vtx-provider/locale/en_US.js +187 -0
  383. package/lib/vtx-provider/locale/es_ES.js +77 -0
  384. package/lib/vtx-provider/locale/fa_IR.js +77 -0
  385. package/lib/vtx-provider/locale/fr_FR.js +77 -0
  386. package/lib/vtx-provider/locale/he_IL.js +80 -0
  387. package/lib/vtx-provider/locale/hr_HR.js +77 -0
  388. package/lib/vtx-provider/locale/id_ID.js +77 -0
  389. package/lib/vtx-provider/locale/it_IT.js +77 -0
  390. package/lib/vtx-provider/locale/ja_JP.js +77 -0
  391. package/lib/vtx-provider/locale/ko_KR.js +77 -0
  392. package/lib/vtx-provider/locale/mn_MN.js +77 -0
  393. package/lib/vtx-provider/locale/ms_MY.js +77 -0
  394. package/lib/vtx-provider/locale/nl_NL.js +80 -0
  395. package/lib/vtx-provider/locale/pl_PL.js +77 -0
  396. package/lib/vtx-provider/locale/pt_BR.js +77 -0
  397. package/lib/vtx-provider/locale/ro_RO.js +80 -0
  398. package/lib/vtx-provider/locale/ru_RU.js +77 -0
  399. package/lib/vtx-provider/locale/sk_SK.js +80 -0
  400. package/lib/vtx-provider/locale/sr_RS.js +77 -0
  401. package/lib/vtx-provider/locale/sv_SE.js +80 -0
  402. package/lib/vtx-provider/locale/th_TH.js +80 -0
  403. package/lib/vtx-provider/locale/tr_TR.js +77 -0
  404. package/lib/vtx-provider/locale/uk_UA.js +80 -0
  405. package/lib/vtx-provider/locale/uz_UZ.js +77 -0
  406. package/lib/vtx-provider/locale/vi_VN.js +77 -0
  407. package/lib/vtx-provider/locale/zh_CN.js +189 -0
  408. package/lib/vtx-provider/locale/zh_HK.js +89 -0
  409. package/lib/vtx-provider/locale/zh_TW.js +80 -0
  410. package/lib/vtx-provider/typing/layoutToken.js +66 -0
  411. package/lib/vtx-provider/useStyle/index.js +112 -0
  412. package/lib/vtx-provider/utils/merge.js +33 -0
  413. package/lib/vtx-rps-frame/index.js +173 -0
  414. package/lib/vtx-rps-frame/style/index.js +32 -0
  415. package/lib/vtx-scrollable-row/index.js +193 -0
  416. package/lib/vtx-scrollable-row/style/index.js +114 -0
  417. package/lib/vtx-search/index.js +355 -0
  418. package/lib/vtx-search/style/index.js +101 -0
  419. package/lib/vtx-select/index.js +259 -0
  420. package/lib/vtx-select/style/index.js +81 -0
  421. package/lib/vtx-signature/index.js +127 -0
  422. package/lib/vtx-signature/style/index.js +53 -0
  423. package/lib/vtx-split-pane/Resizer.js +52 -0
  424. package/lib/vtx-split-pane/SplitPane.js +68 -0
  425. package/lib/vtx-split-pane/index.js +15 -0
  426. package/lib/vtx-split-pane/style/index.js +139 -0
  427. package/lib/vtx-statistics-column/Back.js +36 -0
  428. package/lib/vtx-statistics-column/Item.js +62 -0
  429. package/lib/vtx-statistics-column/Total.js +62 -0
  430. package/lib/vtx-statistics-column/context.js +8 -0
  431. package/lib/vtx-statistics-column/index.js +63 -0
  432. package/lib/vtx-statistics-column/style/index.js +78 -0
  433. package/lib/vtx-time-picker/index.js +45 -0
  434. package/lib/vtx-time-picker/style/index.js +1 -0
  435. package/lib/vtx-tree/index.js +348 -0
  436. package/lib/vtx-tree/style/index.js +56 -0
  437. package/lib/vtx-tree/utils.js +80 -0
  438. package/lib/vtx-tree-select/index.js +296 -0
  439. package/lib/vtx-tree-select/style/index.js +78 -0
  440. package/lib/vtx-upload/FilePreview.js +116 -0
  441. package/lib/vtx-upload/index.js +474 -0
  442. package/lib/vtx-upload/style/index.js +89 -0
  443. package/lib/vtx-wang-editor/index.js +251 -0
  444. package/lib/vtx-wang-editor/style/index.js +39 -0
  445. package/lib/vtx-wang-editor/style/index.less +12 -0
  446. package/lib/vtx-wang-editor/wangEditorUtil.js +236 -0
  447. package/package.json +1 -2
@@ -0,0 +1,104 @@
1
+ var _excluded = ["value", "minDate", "maxDate"];
2
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ 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; }
6
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
9
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
10
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
11
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
14
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
17
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ import React from 'react';
21
+ import dayjs from 'dayjs';
22
+ import PropTypes from 'prop-types';
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ var generatePicker = function generatePicker(Component, _ref) {
25
+ var _class;
26
+ var componentName = _ref.componentName,
27
+ placeholder = _ref.placeholder,
28
+ picker = _ref.picker;
29
+ return _class = /*#__PURE__*/function (_React$Component) {
30
+ _inherits(Hoc, _React$Component);
31
+ var _super = _createSuper(Hoc);
32
+ function Hoc(props) {
33
+ var _this;
34
+ _classCallCheck(this, Hoc);
35
+ _this = _super.call(this, props);
36
+ _defineProperty(_assertThisInitialized(_this), "validiteminDate", function (current) {
37
+ // eslint-disable-next-line no-invalid-this
38
+ var minDate = _this.props.minDate;
39
+ return {
40
+ VtxDatePicker: current < dayjs(minDate).subtract(1, 'day').endOf('day'),
41
+ VtxWeekPicker: current < dayjs(minDate).startOf('week'),
42
+ VtxMonthPicker: current < dayjs(minDate),
43
+ VtxRangePicker: current < dayjs(minDate).subtract(1, 'day').endOf('day')
44
+ }[componentName];
45
+ });
46
+ _defineProperty(_assertThisInitialized(_this), "validitemaxDate", function (current) {
47
+ // eslint-disable-next-line no-invalid-this
48
+ var maxDate = _this.props.maxDate;
49
+ return {
50
+ VtxDatePicker: current >= dayjs(maxDate).add(1, 'day').startOf('day'),
51
+ VtxWeekPicker: current > dayjs(maxDate).endOf('week'),
52
+ VtxMonthPicker: current > dayjs(maxDate).endOf('month'),
53
+ VtxRangePicker: current >= dayjs(maxDate).add(1, 'day').startOf('day')
54
+ }[componentName];
55
+ });
56
+ return _this;
57
+ }
58
+ _createClass(Hoc, [{
59
+ key: "render",
60
+ value: function render() {
61
+ var _this2 = this;
62
+ var _this$props = this.props,
63
+ value = _this$props.value,
64
+ minDate = _this$props.minDate,
65
+ maxDate = _this$props.maxDate,
66
+ rest = _objectWithoutProperties(_this$props, _excluded);
67
+ var disabledDate = function disabledDate() {
68
+ return false;
69
+ };
70
+ if (minDate || maxDate) {
71
+ disabledDate = function disabledDate(current) {
72
+ return !!minDate && _this2.validiteminDate(current) || !!maxDate && _this2.validitemaxDate(current);
73
+ };
74
+ }
75
+ var newValue;
76
+ if (Array.isArray(value)) {
77
+ newValue = value.map(function (d) {
78
+ return dayjs.isDayjs(d) ? d : dayjs(d);
79
+ });
80
+ } else {
81
+ newValue = value ? dayjs.isDayjs(value) ? value : dayjs(value) : null;
82
+ }
83
+ var componentProps = _objectSpread({
84
+ placeholder: placeholder,
85
+ disabledDate: disabledDate,
86
+ picker: picker,
87
+ style: {
88
+ width: '100%'
89
+ }
90
+ }, rest);
91
+ if ('value' in this.props) {
92
+ componentProps.value = newValue;
93
+ }
94
+ return /*#__PURE__*/_jsx(Component, _objectSpread({}, componentProps));
95
+ }
96
+ }]);
97
+ return Hoc;
98
+ }(React.Component), _defineProperty(_class, "propTypes", {
99
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(dayjs), PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.instanceOf(dayjs))]),
100
+ minDate: PropTypes.string,
101
+ maxDate: PropTypes.string
102
+ }), _class;
103
+ };
104
+ export default generatePicker;
@@ -0,0 +1,49 @@
1
+ import { DatePicker } from 'antd';
2
+ import generatePicker from "./generatePicker";
3
+ import QdatePicker from "./QdatePicker";
4
+ var RangePicker = DatePicker.RangePicker;
5
+ var VtxDatePicker = generatePicker(DatePicker, {
6
+ placeholder: '请选择日期',
7
+ componentName: 'VtxDatePicker'
8
+ });
9
+ var VtxWeekPicker = generatePicker(DatePicker, {
10
+ placeholder: '请选择周',
11
+ componentName: 'VtxWeekPicker',
12
+ picker: 'week'
13
+ });
14
+ var VtxMonthPicker = generatePicker(DatePicker, {
15
+ placeholder: '请选择月份',
16
+ componentName: 'VtxMonthPicker',
17
+ picker: 'month'
18
+ });
19
+ var VtxQuarterPicker = generatePicker(DatePicker, {
20
+ placeholder: '请选择季度',
21
+ componentName: 'VtxQuarterPicker',
22
+ picker: 'quarter'
23
+ });
24
+ var VtxYearPicker = generatePicker(DatePicker, {
25
+ placeholder: '请选择年份',
26
+ componentName: 'VtxYearPicker',
27
+ picker: 'year'
28
+ });
29
+ var VtxRangePicker = generatePicker(RangePicker, {
30
+ componentName: 'VtxRangePicker'
31
+ });
32
+ var VtxQdatePicker = generatePicker(QdatePicker, {
33
+ placeholder: '请选择日期'
34
+ });
35
+ VtxWeekPicker.displayName = 'VtxWeekPicker';
36
+ VtxMonthPicker.displayName = 'VtxMonthPicker';
37
+ VtxQuarterPicker.displayName = 'VtxQuarterPicker';
38
+ VtxYearPicker.displayName = 'VtxYearPicker';
39
+ VtxRangePicker.displayName = 'VtxRangePicker';
40
+ VtxQdatePicker.displayName = 'VtxQdatePicker';
41
+ VtxDatePicker.displayName = 'VtxDatePicker';
42
+ VtxDatePicker.VtxWeekPicker = VtxWeekPicker;
43
+ VtxDatePicker.VtxMonthPicker = VtxMonthPicker;
44
+ VtxDatePicker.VtxQuarterPicker = VtxQuarterPicker;
45
+ VtxDatePicker.VtxYearPicker = VtxYearPicker;
46
+ VtxDatePicker.VtxRangePicker = VtxRangePicker;
47
+ VtxDatePicker.VtxQdatePicker = VtxQdatePicker;
48
+ export { VtxDatePicker };
49
+ export default VtxDatePicker;
@@ -0,0 +1,39 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { useStyle as useAntdStyle } from "../../vtx-provider";
8
+ var genVtxDatePickerStyle = function genVtxDatePickerStyle(token) {
9
+ var componentCls = token.componentCls;
10
+ return _defineProperty({}, componentCls, _defineProperty({
11
+ position: 'relative'
12
+ }, "&".concat(componentCls, "-wrap"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
13
+ '.ant-calendar-picker-input': {
14
+ color: 'transparent'
15
+ }
16
+ }, "&".concat(componentCls, "-input-wrap"), {
17
+ position: 'absolute',
18
+ top: '50%',
19
+ left: '12px',
20
+ marginTop: '-16px'
21
+ }), "&".concat(componentCls, "-extra-footer"), {
22
+ textAlign: 'center'
23
+ }), "&".concat(componentCls, "-text-year:hover,&").concat(componentCls, "-text-date:hover,&").concat(componentCls, "-text-month:hover,&").concat(componentCls, "-text-time:hover"), {
24
+ textDecoration: 'underline',
25
+ cursor: 'pointer'
26
+ }), "&".concat(componentCls, "-text-time::before"), {
27
+ content: ' '
28
+ }), "&".concat(componentCls, "-text-month:not(:first-child)::before,&").concat(componentCls, "-text-date:not(:first-child)::before"), {
29
+ cursor: '-'
30
+ })));
31
+ };
32
+ export function useStyle(prefixCls) {
33
+ return useAntdStyle('VtxDatePicker', function (token) {
34
+ var vtxDatePickerToken = _objectSpread(_objectSpread({}, token), {}, {
35
+ componentCls: ".".concat(prefixCls)
36
+ });
37
+ return [genVtxDatePickerStyle(vtxDatePickerToken)];
38
+ });
39
+ }
@@ -0,0 +1,39 @@
1
+ @prefix-cls: vtx-qdate;
2
+
3
+ .@{prefix-cls} {
4
+ &-wrap {
5
+ position: relative;
6
+
7
+ .ant-calendar-picker-input {
8
+ color: transparent;
9
+ }
10
+ }
11
+
12
+ &-input-wrap {
13
+ position: absolute;
14
+ top: 50%;
15
+ left: 12px;
16
+ margin-top: -16px;
17
+ }
18
+
19
+ &-extra-footer {
20
+ text-align: center;
21
+ }
22
+
23
+ &-text-year:hover,
24
+ &-text-date:hover,
25
+ &-text-month:hover,
26
+ &-text-time:hover {
27
+ text-decoration: underline;
28
+ cursor: pointer;
29
+ }
30
+
31
+ &-text-time::before {
32
+ content: ' ';
33
+ }
34
+
35
+ &-text-month:not(:first-child)::before,
36
+ &-text-date:not(:first-child)::before {
37
+ content: '-';
38
+ }
39
+ }
@@ -0,0 +1,52 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import React from 'react';
8
+ import { ConfigProvider, Tooltip } from 'antd';
9
+ import classnames from 'classnames';
10
+ import { useContext } from 'react';
11
+ import { useStyle } from "./style/index";
12
+ import PropTypes from 'prop-types';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ function VtxEllipsisText(props) {
15
+ var text = props.text,
16
+ _props$lineClamp = props.lineClamp,
17
+ lineClamp = _props$lineClamp === void 0 ? 1 : _props$lineClamp,
18
+ _props$tooltip = props.tooltip,
19
+ tooltip = _props$tooltip === void 0 ? {} : _props$tooltip,
20
+ className = props.className,
21
+ style = props.style;
22
+ var _useContext = useContext(ConfigProvider.ConfigContext),
23
+ getPrefixCls = _useContext.getPrefixCls;
24
+ var prefixCls = getPrefixCls('vtx-ellipsis-text');
25
+ var _useStyle = useStyle(prefixCls),
26
+ wrapSSR = _useStyle.wrapSSR,
27
+ hashId = _useStyle.hashId;
28
+ var textStyle = {};
29
+ if (lineClamp > 2) {
30
+ textStyle['WebkitLineClamp'] = lineClamp;
31
+ }
32
+ return wrapSSR( /*#__PURE__*/_jsx(Tooltip, _objectSpread(_objectSpread({
33
+ title: text,
34
+ placement: "topLeft",
35
+ mouseEnterDelay: 0.3
36
+ }, tooltip), {}, {
37
+ children: /*#__PURE__*/_jsx("p", {
38
+ className: classnames(prefixCls, hashId, _defineProperty(_defineProperty({}, "".concat(prefixCls, "--single"), lineClamp < 2), "".concat(prefixCls, "--multi"), lineClamp >= 2), className),
39
+ style: _objectSpread(_objectSpread({}, style), textStyle),
40
+ children: text
41
+ })
42
+ })));
43
+ }
44
+ VtxEllipsisText.propTypes = {
45
+ text: PropTypes.string,
46
+ lineClamp: PropTypes.number,
47
+ tooltip: PropTypes.object,
48
+ className: PropTypes.string,
49
+ style: PropTypes.object
50
+ };
51
+ export { VtxEllipsisText };
52
+ export default VtxEllipsisText;
@@ -0,0 +1,29 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { useStyle as useAntdStyle } from "../../vtx-provider";
8
+ var genVtxEllipsisTextStyle = function genVtxEllipsisTextStyle(token) {
9
+ var componentCls = token.componentCls;
10
+ return _defineProperty({}, componentCls, _defineProperty(_defineProperty({
11
+ margin: 0,
12
+ overflow: 'hidden',
13
+ textOverflow: 'ellipsis'
14
+ }, "&--single", {
15
+ whiteSpace: 'nowrap'
16
+ }), "&--multi", {
17
+ display: '-webkit-box',
18
+ WebkitLineClamp: 2,
19
+ WebkitBoxOrient: 'vertical'
20
+ }));
21
+ };
22
+ export function useStyle(prefixCls) {
23
+ return useAntdStyle('VtxEllipsisText', function (token) {
24
+ var vtxEllipsisTextToken = _objectSpread(_objectSpread({}, token), {}, {
25
+ componentCls: ".".concat(prefixCls)
26
+ });
27
+ return [genVtxEllipsisTextStyle(vtxEllipsisTextToken)];
28
+ });
29
+ }
@@ -0,0 +1,197 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ import React, { forwardRef, useContext, useMemo } from 'react';
14
+ import ReactDOM from 'react-dom';
15
+ import PropTypes from 'prop-types';
16
+ import axios from 'axios';
17
+ import qs from 'querystring';
18
+ import getToken from "../utils/getToken";
19
+ import { DownOutlined, ExportOutlined } from '@ant-design/icons';
20
+ import { getSignature } from '@vtx/utils';
21
+ import { isObject } from "../utils";
22
+ import { useStyle } from "./style/index";
23
+ import { ConfigProvider, message, Spin, Dropdown, Menu, Button } from 'antd';
24
+ import classnames from 'classnames';
25
+ import { useIntl } from "../vtx-provider";
26
+ import { jsx as _jsx } from "react/jsx-runtime";
27
+ import { Fragment as _Fragment } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ var token = getToken();
30
+ // 默认60秒超时
31
+ var SECOND = 60;
32
+ var MILL_SECOND = 1000;
33
+ var VtxExport = function VtxExport(props) {
34
+ var intl = useIntl();
35
+ var _useContext = useContext(ConfigProvider.ConfigContext),
36
+ getPrefixCls = _useContext.getPrefixCls;
37
+ var prefixCls = getPrefixCls('', 'vtx-export');
38
+ var _useStyle = useStyle(prefixCls),
39
+ wrapSSR = _useStyle.wrapSSR,
40
+ hashId = _useStyle.hashId;
41
+ var _props$exportText = props.exportText,
42
+ exportText = _props$exportText === void 0 ? intl.getMessage('export.exportText', '导出') : _props$exportText,
43
+ _props$rowButton = props.rowButton,
44
+ rowButton = _props$rowButton === void 0 ? true : _props$rowButton,
45
+ _props$pageButton = props.pageButton,
46
+ pageButton = _props$pageButton === void 0 ? true : _props$pageButton,
47
+ _props$allButton = props.allButton,
48
+ allButton = _props$allButton === void 0 ? true : _props$allButton,
49
+ downloadURL = props.downloadURL,
50
+ _props$timeout = props.timeout,
51
+ timeout = _props$timeout === void 0 ? SECOND : _props$timeout,
52
+ _props$customEnumText = props.customEnumText,
53
+ customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText,
54
+ _props$headers = props.headers,
55
+ headers = _props$headers === void 0 ? {} : _props$headers;
56
+ var getExportParams = props.getExportParams,
57
+ afterExport = props.afterExport;
58
+
59
+ /* 菜单点击 */
60
+ function exportButtonClick(param) {
61
+ var passVal = typeof getExportParams == 'function' ? getExportParams(param.key) : null;
62
+ if (!downloadURL) {
63
+ return;
64
+ }
65
+ if (!passVal) {
66
+ return;
67
+ }
68
+ downLoadFile(passVal);
69
+ }
70
+
71
+ // eslint-disable-next-line valid-jsdoc
72
+ /**
73
+ * 发送http请求
74
+ * @param {Object} postData api参数
75
+ * @return reponse
76
+ */
77
+ function requestToResponse(postData) {
78
+ var params = {
79
+ url: downloadURL,
80
+ method: 'post',
81
+ timeout: timeout * MILL_SECOND,
82
+ responseType: 'blob',
83
+ headers: _objectSpread(_objectSpread({
84
+ 'Content-Type': 'application/x-www-form-urlencoded',
85
+ Authorization: token ? "Bearer ".concat(token) : ''
86
+ }, headers), getSignature(isObject(postData) ? postData : {}, undefined, isObject(postData) ? undefined : postData)),
87
+ data: (headers === null || headers === void 0 ? void 0 : headers['Content-Type']) === 'application/json' ? postData : qs.stringify(postData)
88
+ };
89
+ return new Promise(function (resolve, reject) {
90
+ axios(params).then(function (res) {
91
+ resolve(res);
92
+ }).catch(function (err) {
93
+ reject(err);
94
+ });
95
+ });
96
+ }
97
+
98
+ /* 下载文件 */
99
+ function downLoadFile(postData) {
100
+ var div = document.createElement('div');
101
+ ReactDOM.render( /*#__PURE__*/_jsx(Spin, {
102
+ spinning: true,
103
+ className: classnames(prefixCls, hashId, 'vtx-spin')
104
+ }), div);
105
+ document.body.appendChild(div);
106
+ requestToResponse(postData).then(function (res) {
107
+ var status = false;
108
+ // 文件存在
109
+ if (res.headers['content-disposition']) {
110
+ var contentDisposition = res.headers['content-disposition'];
111
+ var filename;
112
+ if (contentDisposition.indexOf('filename*=') > -1) {
113
+ filename = decodeURI(contentDisposition.split('filename*=')[1].replace("utf-8'zh_cn'", ''));
114
+ } else {
115
+ filename = decodeURI(contentDisposition.split('filename=')[1]);
116
+ }
117
+ if ('download' in document.createElement('a')) {
118
+ download(res.data, filename);
119
+ status = true;
120
+ } else {
121
+ message.warning(intl.getMessage('fallback.browserNotSupported', '浏览器不支持'));
122
+ }
123
+ }
124
+ // 关闭loading,执行回调
125
+ document.body.removeChild(div);
126
+ if (afterExport && typeof afterExport === 'function') {
127
+ afterExport(status);
128
+ }
129
+ });
130
+ }
131
+ /* 下载并 兼容IE */
132
+ function download(content, filename) {
133
+ var blob = new Blob([content]);
134
+ // IE
135
+ if (window.navigator && window.navigator.msSaveOrOpenBlob) {
136
+ window.navigator.msSaveOrOpenBlob(blob, filename);
137
+ } else {
138
+ downloadByATag(window.URL.createObjectURL(blob), filename);
139
+ }
140
+ }
141
+ /**
142
+ * 通过a标签模拟下载
143
+ * @param {String} href
144
+ * @param {String} filename
145
+ */
146
+ function downloadByATag(href, filename) {
147
+ var a = document.createElement('a');
148
+ a.download = filename;
149
+ a.style.display = 'none';
150
+ a.href = href;
151
+ document.body.appendChild(a);
152
+ a.click();
153
+ a.remove();
154
+ window.URL.revokeObjectURL(href);
155
+ }
156
+ var items = [].concat(_toConsumableArray(rowButton === false ? [] : [{
157
+ key: 'rows',
158
+ label: /*#__PURE__*/_jsx(_Fragment, {
159
+ children: (customEnumText === null || customEnumText === void 0 ? void 0 : customEnumText.selectRowText) || "".concat(intl.getMessage('export.exportText', '导出')).concat(intl.getMessage('export.selectedRows', '选中行'))
160
+ })
161
+ }]), _toConsumableArray(pageButton === false ? [] : [{
162
+ key: 'page',
163
+ label: /*#__PURE__*/_jsx(_Fragment, {
164
+ children: (customEnumText === null || customEnumText === void 0 ? void 0 : customEnumText.selectPageText) || "".concat(intl.getMessage('export.exportText', '导出')).concat(intl.getMessage('export.currentPage', '当前页'))
165
+ })
166
+ }]), _toConsumableArray(allButton === false ? [] : [{
167
+ key: 'all',
168
+ label: /*#__PURE__*/_jsx(_Fragment, {
169
+ children: (customEnumText === null || customEnumText === void 0 ? void 0 : customEnumText.selectAllText) || "".concat(intl.getMessage('export.exportText', '导出')).concat(intl.getMessage('export.all', '全部'))
170
+ })
171
+ }]));
172
+ return wrapSSR( /*#__PURE__*/_jsx(Dropdown, {
173
+ menu: {
174
+ items: items,
175
+ onClick: exportButtonClick
176
+ },
177
+ trigger: ['click'],
178
+ children: /*#__PURE__*/_jsxs(Button, {
179
+ icon: /*#__PURE__*/_jsx(ExportOutlined, {}),
180
+ children: [exportText, " ", /*#__PURE__*/_jsx(DownOutlined, {})]
181
+ })
182
+ }));
183
+ };
184
+ VtxExport.propTypes = {
185
+ exportText: PropTypes.string,
186
+ rowButton: PropTypes.bool,
187
+ pageButton: PropTypes.bool,
188
+ allButton: PropTypes.bool,
189
+ downloadURL: PropTypes.string,
190
+ getExportParams: PropTypes.func,
191
+ afterExport: PropTypes.func,
192
+ timeout: PropTypes.number,
193
+ customEnumText: PropTypes.object,
194
+ headers: PropTypes.object
195
+ };
196
+ export { VtxExport };
197
+ export default VtxExport;
@@ -0,0 +1,24 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { useStyle as useAntdStyle } from "../../vtx-provider";
8
+ var genVtxExportStyle = function genVtxExportStyle(token) {
9
+ var componentCls = token.componentCls;
10
+ return _defineProperty(_defineProperty({}, componentCls, {}), '.vtx-spin', {
11
+ position: 'absolute',
12
+ top: '50%',
13
+ left: '50%',
14
+ transform: 'translate(-50%, -50%)'
15
+ });
16
+ };
17
+ export function useStyle(prefixCls) {
18
+ return useAntdStyle(prefixCls, function (token) {
19
+ var vtxExportToken = _objectSpread(_objectSpread({}, token), {}, {
20
+ componentCls: ".".concat(prefixCls)
21
+ });
22
+ return [genVtxExportStyle(vtxExportToken)];
23
+ });
24
+ }
@@ -0,0 +1,63 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["value", "columns", "onChange", "TextEnum"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ 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; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import React from "react";
11
+ import PropTypes from 'prop-types';
12
+ import { Checkbox } from "antd";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ function ColumnsSelect(props) {
16
+ var _props$value = props.value,
17
+ value = _props$value === void 0 ? [] : _props$value,
18
+ _props$columns = props.columns,
19
+ columns = _props$columns === void 0 ? [] : _props$columns,
20
+ _onChange = props.onChange,
21
+ TextEnum = props.TextEnum,
22
+ rest = _objectWithoutProperties(props, _excluded);
23
+ var data = columns.map(function (item) {
24
+ return {
25
+ label: item.title,
26
+ value: item.key
27
+ };
28
+ });
29
+ return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
30
+ className: "columns-select"
31
+ }, rest), {}, {
32
+ children: [/*#__PURE__*/_jsx("div", {
33
+ className: "columns-select-head",
34
+ children: /*#__PURE__*/_jsx(Checkbox, {
35
+ indeterminate: value.length > 0 && value.length < data.length,
36
+ onChange: function onChange(e) {
37
+ _onChange && _onChange(e.target.checked ? data.map(function (v) {
38
+ return v.value;
39
+ }) : []);
40
+ },
41
+ checked: value.length > 0 && value.length == data.length,
42
+ children: TextEnum.contentAllText
43
+ })
44
+ }), /*#__PURE__*/_jsx("div", {
45
+ className: "columns-select-body",
46
+ children: /*#__PURE__*/_jsx(Checkbox.Group, {
47
+ value: value,
48
+ options: data,
49
+ onChange: function onChange(value) {
50
+ _onChange && _onChange(value);
51
+ }
52
+ })
53
+ })]
54
+ }));
55
+ }
56
+ ColumnsSelect.propTypes = {
57
+ value: PropTypes.array,
58
+ columns: PropTypes.array,
59
+ defaultValue: PropTypes.array,
60
+ onChange: PropTypes.func,
61
+ TextEnum: PropTypes.object
62
+ };
63
+ export default ColumnsSelect;