dcp-design-react 1.7.42

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 (318) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/lib/_utils/cloneElement.d.ts +2 -0
  4. package/lib/_utils/dom.d.ts +75 -0
  5. package/lib/_utils/download.d.ts +7 -0
  6. package/lib/_utils/error.d.ts +2 -0
  7. package/lib/_utils/isDev.d.ts +1 -0
  8. package/lib/_utils/isMobile.d.ts +1 -0
  9. package/lib/_utils/isServer.d.ts +2 -0
  10. package/lib/_utils/prefix.d.ts +1 -0
  11. package/lib/_utils/resize-event.d.ts +10 -0
  12. package/lib/_utils/scrollbar-width.d.ts +1 -0
  13. package/lib/_utils/types.d.ts +39 -0
  14. package/lib/_utils/util.d.ts +27 -0
  15. package/lib/_utils/validators.d.ts +2 -0
  16. package/lib/anchor/index.d.ts +4 -0
  17. package/lib/anchor/src/anchor-item.d.ts +15 -0
  18. package/lib/anchor/src/anchor-nav.d.ts +12 -0
  19. package/lib/anchor/src/anchor.d.ts +61 -0
  20. package/lib/anchor/style/index.less +101 -0
  21. package/lib/antd/Calendar.d.ts +4 -0
  22. package/lib/antd/DatePicker.d.ts +50 -0
  23. package/lib/antd/TimePicker.d.ts +16 -0
  24. package/lib/antd/compact.less +11 -0
  25. package/lib/antd/dayjs.d.ts +1 -0
  26. package/lib/antd/index.d.ts +124 -0
  27. package/lib/antd/index.less +19 -0
  28. package/lib/button/index.d.ts +3 -0
  29. package/lib/button/src/button.d.ts +32 -0
  30. package/lib/button/style/index.less +12 -0
  31. package/lib/collapse/index.d.ts +3 -0
  32. package/lib/collapse/src/Content.d.ts +3 -0
  33. package/lib/collapse/src/_util/motion.less +13 -0
  34. package/lib/collapse/src/_util/motionUtil.d.ts +3 -0
  35. package/lib/collapse/src/collapse.d.ts +18 -0
  36. package/lib/collapse/style/index.less +24 -0
  37. package/lib/config-provider/context.d.ts +10 -0
  38. package/lib/config-provider/index.d.ts +3 -0
  39. package/lib/config-provider/src/config-provider.d.ts +36 -0
  40. package/lib/copy-to-clipboard/index.d.ts +3 -0
  41. package/lib/copy-to-clipboard/src/copy-to-clipboard.d.ts +15 -0
  42. package/lib/copy-to-clipboard/style/index.less +12 -0
  43. package/lib/countup/index.d.ts +3 -0
  44. package/lib/countup/src/countup.d.ts +17 -0
  45. package/lib/countup/style/index.less +22 -0
  46. package/lib/cropper/index.d.ts +3 -0
  47. package/lib/cropper/src/cropper.d.ts +213 -0
  48. package/lib/cropper/style/index.less +13 -0
  49. package/lib/divider/index.d.ts +3 -0
  50. package/lib/divider/src/divider.d.ts +27 -0
  51. package/lib/divider/style/index.less +54 -0
  52. package/lib/download/index.d.ts +3 -0
  53. package/lib/download/src/download.d.ts +54 -0
  54. package/lib/download/style/index.less +12 -0
  55. package/lib/drawer/index.d.ts +3 -0
  56. package/lib/drawer/src/drawer.d.ts +46 -0
  57. package/lib/drawer/style/index.less +82 -0
  58. package/lib/empty/index.d.ts +3 -0
  59. package/lib/empty/src/empty.d.ts +15 -0
  60. package/lib/empty/style/index.less +35 -0
  61. package/lib/form/index.d.ts +4 -0
  62. package/lib/form/src/context.d.ts +9 -0
  63. package/lib/form/src/fields-filter.d.ts +26 -0
  64. package/lib/form/src/form-cascader.d.ts +21 -0
  65. package/lib/form/src/form-checkbox-group.d.ts +19 -0
  66. package/lib/form/src/form-checkbox.d.ts +16 -0
  67. package/lib/form/src/form-city-select.d.ts +10 -0
  68. package/lib/form/src/form-date.d.ts +10 -0
  69. package/lib/form/src/form-divider.d.ts +10 -0
  70. package/lib/form/src/form-immediate.d.ts +20 -0
  71. package/lib/form/src/form-input-number.d.ts +11 -0
  72. package/lib/form/src/form-input.d.ts +11 -0
  73. package/lib/form/src/form-item-view.d.ts +7 -0
  74. package/lib/form/src/form-multiple-search-helper.d.ts +20 -0
  75. package/lib/form/src/form-multiple-tree-table-helper.d.ts +20 -0
  76. package/lib/form/src/form-radio.d.ts +19 -0
  77. package/lib/form/src/form-range-date.d.ts +10 -0
  78. package/lib/form/src/form-range-input-number.d.ts +10 -0
  79. package/lib/form/src/form-range-input.d.ts +10 -0
  80. package/lib/form/src/form-range-search-helper.d.ts +20 -0
  81. package/lib/form/src/form-range-time.d.ts +10 -0
  82. package/lib/form/src/form-rate.d.ts +10 -0
  83. package/lib/form/src/form-region-select.d.ts +10 -0
  84. package/lib/form/src/form-search-helper.d.ts +21 -0
  85. package/lib/form/src/form-select.d.ts +21 -0
  86. package/lib/form/src/form-switch.d.ts +10 -0
  87. package/lib/form/src/form-text-area.d.ts +10 -0
  88. package/lib/form/src/form-time.d.ts +10 -0
  89. package/lib/form/src/form-tinymce.d.ts +10 -0
  90. package/lib/form/src/form-tree-select.d.ts +21 -0
  91. package/lib/form/src/form-tree-table-helper.d.ts +20 -0
  92. package/lib/form/src/form-upload-file.d.ts +10 -0
  93. package/lib/form/src/form-upload-img.d.ts +10 -0
  94. package/lib/form/src/form.d.ts +197 -0
  95. package/lib/form/src/types.d.ts +356 -0
  96. package/lib/form/src/utils.d.ts +57 -0
  97. package/lib/form/style/index.less +352 -0
  98. package/lib/guide-tracker/index.d.ts +3 -0
  99. package/lib/guide-tracker/src/Panel.d.ts +9 -0
  100. package/lib/guide-tracker/src/guideTracker.d.ts +37 -0
  101. package/lib/guide-tracker/src/lib/Highlighter.d.ts +2 -0
  102. package/lib/guide-tracker/src/lib/Overlay.d.ts +36 -0
  103. package/lib/guide-tracker/src/lib/index.d.ts +29 -0
  104. package/lib/guide-tracker/src/lib/utils.d.ts +27 -0
  105. package/lib/guide-tracker/style/index.less +189 -0
  106. package/lib/hoc/outsideClick.d.ts +1 -0
  107. package/lib/hooks/useDebounce.d.ts +3 -0
  108. package/lib/hooks/useEvent.d.ts +2 -0
  109. package/lib/hooks/useForceUpdate.d.ts +1 -0
  110. package/lib/hooks/useLayoutUpdateEffect.d.ts +2 -0
  111. package/lib/hooks/useLocale.d.ts +4 -0
  112. package/lib/hooks/useMergedState.d.ts +8 -0
  113. package/lib/hooks/useOutsideClick.d.ts +2 -0
  114. package/lib/hooks/useResizeObserve.d.ts +5 -0
  115. package/lib/hooks/useSafeState.d.ts +4 -0
  116. package/lib/hooks/useSize.d.ts +9 -0
  117. package/lib/hooks/useUpdateEffect.d.ts +2 -0
  118. package/lib/index.d.ts +127 -0
  119. package/lib/index.esm.js +1 -0
  120. package/lib/index.full.js +1 -0
  121. package/lib/index.js +1 -0
  122. package/lib/locale/index.d.ts +11 -0
  123. package/lib/locale/index.js +44 -0
  124. package/lib/locale/lang/en.d.ts +320 -0
  125. package/lib/locale/lang/en.js +325 -0
  126. package/lib/locale/lang/zh-cn.d.ts +320 -0
  127. package/lib/locale/lang/zh-cn.js +325 -0
  128. package/lib/modal/index.d.ts +3 -0
  129. package/lib/modal/src/modal.d.ts +68 -0
  130. package/lib/modal/style/index.less +95 -0
  131. package/lib/pinyin/core.d.ts +12 -0
  132. package/lib/pinyin/dict.d.ts +31 -0
  133. package/lib/pinyin/index.d.ts +2 -0
  134. package/lib/pinyin/patchers/56l.d.ts +7 -0
  135. package/lib/print/index.d.ts +3 -0
  136. package/lib/print/src/LodopFuncs.d.ts +1 -0
  137. package/lib/print/src/config.d.ts +6 -0
  138. package/lib/print/src/container.d.ts +14 -0
  139. package/lib/print/src/context.d.ts +6 -0
  140. package/lib/print/src/preview.d.ts +61 -0
  141. package/lib/print/src/print.d.ts +37 -0
  142. package/lib/print/src/setting.d.ts +49 -0
  143. package/lib/print/src/utils.d.ts +5 -0
  144. package/lib/print/style/index.less +175 -0
  145. package/lib/qm-design.d.ts +28 -0
  146. package/lib/range-table-helper/index.d.ts +3 -0
  147. package/lib/range-table-helper/src/range-table-helper.d.ts +22 -0
  148. package/lib/range-table-helper/style/index.less +18 -0
  149. package/lib/scrollbar/index.d.ts +3 -0
  150. package/lib/scrollbar/src/context.d.ts +7 -0
  151. package/lib/scrollbar/src/scrollbar.d.ts +28 -0
  152. package/lib/scrollbar/src/thumb.d.ts +15 -0
  153. package/lib/scrollbar/style/index.less +72 -0
  154. package/lib/search-helper/index.d.ts +3 -0
  155. package/lib/search-helper/src/search-helper.d.ts +24 -0
  156. package/lib/search-helper/style/index.less +14 -0
  157. package/lib/search-tree/index.d.ts +3 -0
  158. package/lib/search-tree/src/search-tree.d.ts +57 -0
  159. package/lib/search-tree/style/index.less +34 -0
  160. package/lib/space/index.d.ts +3 -0
  161. package/lib/space/src/space.d.ts +12 -0
  162. package/lib/space/style/index.less +12 -0
  163. package/lib/spin/index.d.ts +3 -0
  164. package/lib/spin/src/spin.d.ts +14 -0
  165. package/lib/spin/style/index.less +16 -0
  166. package/lib/split/index.d.ts +4 -0
  167. package/lib/split/src/context.d.ts +8 -0
  168. package/lib/split/src/resize-bar.d.ts +8 -0
  169. package/lib/split/src/split-pane.d.ts +11 -0
  170. package/lib/split/src/split.d.ts +18 -0
  171. package/lib/split/style/index.less +83 -0
  172. package/lib/style/common.less +8 -0
  173. package/lib/style/compact.css +26706 -0
  174. package/lib/style/compact.less +10 -0
  175. package/lib/style/compact.min.css +1 -0
  176. package/lib/style/index.css +30459 -0
  177. package/lib/style/index.less +39 -0
  178. package/lib/style/index.min.css +1 -0
  179. package/lib/style/mixins/box.less +13 -0
  180. package/lib/style/mixins/clearfix.less +21 -0
  181. package/lib/style/mixins/index.less +11 -0
  182. package/lib/style/mixins/operation-unit.less +24 -0
  183. package/lib/style/mixins/reset.less +34 -0
  184. package/lib/style/mixins/size.less +15 -0
  185. package/lib/style/reset.less +132 -0
  186. package/lib/style/themes/compact.less +19 -0
  187. package/lib/style/themes/default.less +117 -0
  188. package/lib/style/themes/index.less +7 -0
  189. package/lib/style/var.less +9 -0
  190. package/lib/table/index.d.ts +4 -0
  191. package/lib/table/src/alert/index.d.ts +6 -0
  192. package/lib/table/src/body/index.d.ts +8 -0
  193. package/lib/table/src/body/useMergeCell.d.ts +7 -0
  194. package/lib/table/src/body/useValueFormat.d.ts +12 -0
  195. package/lib/table/src/clipboard/index.d.ts +8 -0
  196. package/lib/table/src/clipboard/setting.d.ts +8 -0
  197. package/lib/table/src/column-filter/index.d.ts +7 -0
  198. package/lib/table/src/config/index.d.ts +47 -0
  199. package/lib/table/src/context/index.d.ts +85 -0
  200. package/lib/table/src/edit/InputNumber.d.ts +26 -0
  201. package/lib/table/src/edit/index.d.ts +15 -0
  202. package/lib/table/src/empty/index.d.ts +3 -0
  203. package/lib/table/src/expandable/all.d.ts +6 -0
  204. package/lib/table/src/expandable/index.d.ts +9 -0
  205. package/lib/table/src/export/define.d.ts +8 -0
  206. package/lib/table/src/export/index.d.ts +19 -0
  207. package/lib/table/src/export/setting.d.ts +14 -0
  208. package/lib/table/src/export/useExport.d.ts +13 -0
  209. package/lib/table/src/fast-search/index.d.ts +7 -0
  210. package/lib/table/src/fast-search/setting.d.ts +6 -0
  211. package/lib/table/src/filter/index.d.ts +8 -0
  212. package/lib/table/src/filter-sql/index.d.ts +5 -0
  213. package/lib/table/src/filter-sql/lib/filter_string.d.ts +11 -0
  214. package/lib/table/src/filter-sql/lib/operations.d.ts +8 -0
  215. package/lib/table/src/filter-sql/lib/variables_replacement.d.ts +5 -0
  216. package/lib/table/src/footer/index.d.ts +8 -0
  217. package/lib/table/src/full-screen/index.d.ts +8 -0
  218. package/lib/table/src/group-summary/index.d.ts +7 -0
  219. package/lib/table/src/group-summary/result.d.ts +9 -0
  220. package/lib/table/src/group-summary/setting.d.ts +6 -0
  221. package/lib/table/src/header/index.d.ts +10 -0
  222. package/lib/table/src/hooks/useImperativeMethod.d.ts +49 -0
  223. package/lib/table/src/hooks/useTableCore.d.ts +93 -0
  224. package/lib/table/src/hooks/useTableEffect.d.ts +45 -0
  225. package/lib/table/src/hooks/useTableLayout.d.ts +44 -0
  226. package/lib/table/src/hooks/useTableMemo.d.ts +48 -0
  227. package/lib/table/src/hooks/useTableRef.d.ts +111 -0
  228. package/lib/table/src/hooks/useTableState.d.ts +98 -0
  229. package/lib/table/src/icon/caretdown.d.ts +3 -0
  230. package/lib/table/src/icon/caretup.d.ts +3 -0
  231. package/lib/table/src/icon/filter.d.ts +3 -0
  232. package/lib/table/src/import/SelectFile.d.ts +8 -0
  233. package/lib/table/src/import/index.d.ts +8 -0
  234. package/lib/table/src/import/setting.d.ts +8 -0
  235. package/lib/table/src/manager/index.d.ts +15 -0
  236. package/lib/table/src/pager/index.d.ts +9 -0
  237. package/lib/table/src/print/index.d.ts +8 -0
  238. package/lib/table/src/reload/index.d.ts +7 -0
  239. package/lib/table/src/resizable/index.d.ts +7 -0
  240. package/lib/table/src/select-collection/index.d.ts +8 -0
  241. package/lib/table/src/select-collection/result.d.ts +8 -0
  242. package/lib/table/src/selection/all.d.ts +7 -0
  243. package/lib/table/src/selection/index.d.ts +12 -0
  244. package/lib/table/src/store/index.d.ts +33 -0
  245. package/lib/table/src/super-search/index.d.ts +7 -0
  246. package/lib/table/src/super-search/result.d.ts +6 -0
  247. package/lib/table/src/table/index.d.ts +5 -0
  248. package/lib/table/src/table/props.d.ts +299 -0
  249. package/lib/table/src/table/types.d.ts +444 -0
  250. package/lib/table/src/toolbox/index.d.ts +18 -0
  251. package/lib/table/src/utils/index.d.ts +43 -0
  252. package/lib/table/style/alert.less +34 -0
  253. package/lib/table/style/body.less +77 -0
  254. package/lib/table/style/clipboard.less +29 -0
  255. package/lib/table/style/column-filter.less +94 -0
  256. package/lib/table/style/empty.less +19 -0
  257. package/lib/table/style/expandable.less +64 -0
  258. package/lib/table/style/export.less +26 -0
  259. package/lib/table/style/fast-search.less +110 -0
  260. package/lib/table/style/footer.less +33 -0
  261. package/lib/table/style/full-screen.less +21 -0
  262. package/lib/table/style/group-summary.less +93 -0
  263. package/lib/table/style/header.less +207 -0
  264. package/lib/table/style/import.less +25 -0
  265. package/lib/table/style/index.less +29 -0
  266. package/lib/table/style/pager.less +29 -0
  267. package/lib/table/style/print.less +21 -0
  268. package/lib/table/style/reload.less +21 -0
  269. package/lib/table/style/select-collection.less +21 -0
  270. package/lib/table/style/size.less +88 -0
  271. package/lib/table/style/super-search.less +102 -0
  272. package/lib/table/style/table.less +372 -0
  273. package/lib/table/style/tollbox.less +39 -0
  274. package/lib/table/style/toper.less +31 -0
  275. package/lib/table/style/variable.less +48 -0
  276. package/lib/tabs/index.d.ts +4 -0
  277. package/lib/tabs/src/tab-pane.d.ts +9 -0
  278. package/lib/tabs/src/tabs.d.ts +19 -0
  279. package/lib/tabs/style/index.less +32 -0
  280. package/lib/tinymce/index.d.ts +3 -0
  281. package/lib/tinymce/src/Events.d.ts +85 -0
  282. package/lib/tinymce/src/ScriptLoader.d.ts +13 -0
  283. package/lib/tinymce/src/TinyMCE.d.ts +9 -0
  284. package/lib/tinymce/src/Utils.d.ts +20 -0
  285. package/lib/tinymce/src/components/Editor.d.ts +73 -0
  286. package/lib/tinymce/src/components/EditorPropTypes.d.ts +18 -0
  287. package/lib/tinymce/src/index.d.ts +35 -0
  288. package/lib/tinymce/style/index.less +18 -0
  289. package/lib/tour/index.d.ts +4 -0
  290. package/lib/tour/src/Mask.d.ts +17 -0
  291. package/lib/tour/src/Pause.d.ts +10 -0
  292. package/lib/tour/src/Tour.d.ts +41 -0
  293. package/lib/tour/src/TourStep/DefaultPanel.d.ts +4 -0
  294. package/lib/tour/src/TourStep/index.d.ts +34 -0
  295. package/lib/tour/src/hooks/useTarget.d.ts +14 -0
  296. package/lib/tour/src/placements.d.ts +29 -0
  297. package/lib/tour/src/util.d.ts +5 -0
  298. package/lib/tour/style/index.less +157 -0
  299. package/lib/transition/index.d.ts +3 -0
  300. package/lib/transition/src/tools.d.ts +13 -0
  301. package/lib/transition/src/transition.d.ts +12 -0
  302. package/lib/transition/src/types.d.ts +25 -0
  303. package/lib/transition/src/useTransition.d.ts +2 -0
  304. package/lib/tree-helper/index.d.ts +3 -0
  305. package/lib/tree-helper/src/tree-helper.d.ts +22 -0
  306. package/lib/tree-helper/style/index.less +21 -0
  307. package/lib/tree-table-helper/index.d.ts +3 -0
  308. package/lib/tree-table-helper/src/tree-table-helper.d.ts +31 -0
  309. package/lib/tree-table-helper/style/index.less +24 -0
  310. package/lib/upload-file/index.d.ts +3 -0
  311. package/lib/upload-file/src/upload-file.d.ts +35 -0
  312. package/lib/upload-file/style/index.less +18 -0
  313. package/lib/upload-img/index.d.ts +3 -0
  314. package/lib/upload-img/src/cropper-preview.d.ts +32 -0
  315. package/lib/upload-img/src/upload-img.d.ts +39 -0
  316. package/lib/upload-img/style/index.less +41 -0
  317. package/lib/version/index.d.ts +2 -0
  318. package/package.json +138 -0
@@ -0,0 +1,444 @@
1
+ import React from 'react';
2
+ import type { BuildInPlacements } from 'rc-trigger';
3
+ import type { ComponentSize, CSSProperties, Nullable, IDict, IAuth, AjaxResponse } from '../../../_utils/types';
4
+ import type { IFormData, IFormItem } from '../../../form/src/types';
5
+ export type { ITableContext } from '../context';
6
+ export type IFixed = 'left' | 'right';
7
+ export type IAlign = 'left' | 'center' | 'right';
8
+ export type InsertMode = 'before' | 'after';
9
+ export type IFilterType = 'text' | 'textarea' | 'checkbox' | 'radio' | 'number' | 'date' | 'tree';
10
+ export type ICheckStrategy = 'SHOW_ALL' | 'SHOW_PARENT' | 'SHOW_CHILD';
11
+ export type IEditerType = 'text' | 'textarea' | 'number' | 'select' | 'select-multiple' | 'checkbox' | 'switch' | 'search-helper' | 'search-helper-multiple' | 'tree-helper' | 'tree-helper-multiple' | 'date' | 'datetime' | 'time';
12
+ export type ISelectionType = 'checkbox' | 'radio';
13
+ export type IRecord<T = any> = {
14
+ [key: string]: T;
15
+ };
16
+ export type getRowKeyType = (row: IRecord, index: number) => string | number;
17
+ export type IRowKey = ReturnType<getRowKeyType>;
18
+ export declare const DEFAULT_DISTANCE = 10;
19
+ export declare const DEFAULT_TRUE_VALUE = "1";
20
+ export declare const DEFAULT_FALSE_VALUE = "0";
21
+ export declare const EMPTY_MIN_HEIGHT = 100;
22
+ export declare const MIN_POPPER_WIDTH = 150;
23
+ export declare const DATE_FORMAT = "YYYY-MM-DD";
24
+ export declare const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
25
+ export declare const TIME_FORMAT = "HH:mm:ss";
26
+ export declare const DEFAULT_FILENAME_FORMAT = "YYYYMMDDHHmmss";
27
+ export declare const BUILT_IN_PLACEMENTS: BuildInPlacements;
28
+ export type IClicked = [IRowKey, string] | [];
29
+ export type IRowColSpan = {
30
+ rowSpan: number;
31
+ colSpan: number;
32
+ };
33
+ export type IMergeCell = {
34
+ row: number;
35
+ col: number;
36
+ rowSpan: number;
37
+ colSpan: number;
38
+ };
39
+ export declare enum EAlign {
40
+ left = "flex-start",
41
+ right = "flex-end"
42
+ }
43
+ export type IFormatType = 'date' | 'datetime' | 'dateShortTime' | 'percent' | 'finance' | 'secret-name' | 'secret-phone' | 'secret-IDnumber' | 'secret-bankNumber';
44
+ export type IPaginationConfig = {
45
+ current?: number;
46
+ pageSize?: number;
47
+ total?: number;
48
+ pageSizeOptions?: number[];
49
+ showSizeChanger?: boolean;
50
+ showQuickJumper?: boolean;
51
+ };
52
+ export type IPagination = Required<Pick<IPaginationConfig, 'current' | 'pageSize' | 'total'>>;
53
+ export type IRule = {
54
+ required?: boolean;
55
+ message?: string;
56
+ validator?: (value: unknown) => boolean;
57
+ };
58
+ export type IFieldAuthItem = {
59
+ visible: number;
60
+ disabled?: number;
61
+ secretName?: string;
62
+ };
63
+ export type IValidItem = {
64
+ rowKey: IRowKey;
65
+ dataIndex: string;
66
+ text: string;
67
+ };
68
+ export type IFilter = {
69
+ [key: string]: Record<string, any>;
70
+ };
71
+ export type ISorter = {
72
+ [key: string]: Nullable<string>;
73
+ };
74
+ export type ISummaries = {
75
+ [key: string]: number;
76
+ };
77
+ export type ISuperFilter = {
78
+ type: string;
79
+ bracketLeft: string;
80
+ fieldName: string;
81
+ expression: string;
82
+ value: unknown;
83
+ bracketRight: string;
84
+ logic: string;
85
+ };
86
+ export type IEditerReturn = {
87
+ type: IEditerType;
88
+ items?: Array<IDict>;
89
+ editable?: boolean;
90
+ disabled?: boolean;
91
+ extra?: {
92
+ maxLength?: number;
93
+ showCount?: boolean;
94
+ max?: number;
95
+ min?: number;
96
+ stringMode?: boolean;
97
+ trueValue?: string | number;
98
+ falseValue?: string | number;
99
+ minDateTime?: string;
100
+ maxDateTime?: string;
101
+ format?: string;
102
+ prefix?: React.ReactNode;
103
+ suffix?: React.ReactNode;
104
+ placeholder?: string;
105
+ readOnly?: boolean;
106
+ disabled?: boolean;
107
+ filterable?: boolean;
108
+ allowClear?: boolean;
109
+ listHeight?: number;
110
+ collapseTags?: boolean;
111
+ maxTagTextLength?: number;
112
+ cornerSign?: boolean;
113
+ password?: boolean;
114
+ disabledColor?: string;
115
+ disabledBackgroundColor?: string;
116
+ autoSize?: {
117
+ minRows?: number;
118
+ maxRows?: number;
119
+ };
120
+ };
121
+ helper?: {
122
+ filters?: IFormItem[];
123
+ table?: {
124
+ fetch?: IFetch;
125
+ columns?: IColumn[];
126
+ rowKey?: ((row: IRecord, index: number) => IRowKey) | IRowKey;
127
+ webPagination?: boolean;
128
+ };
129
+ tree?: {
130
+ fetch?: IFetch & {
131
+ valueKey?: string;
132
+ textKey?: string;
133
+ };
134
+ asyncLoad?: boolean;
135
+ checkStrictly?: boolean;
136
+ checkStrategy?: ICheckStrategy;
137
+ defaultExpandAll?: boolean;
138
+ };
139
+ width?: number | string;
140
+ initialValue?: IFormData;
141
+ onlySelect?: boolean;
142
+ autoQueryAssign?: boolean;
143
+ closeRemoteMatch?: boolean;
144
+ combinedDataIndex?: string;
145
+ fieldAliasMap?: (() => Record<string, string>) | Record<string, string>;
146
+ filterAliasMap?: (() => string[]) | string[];
147
+ beforeOpen?: (value: Record<string, string | number>, row: IRecord, column: IColumn) => void | Promise<void> | boolean;
148
+ closed?: (rowData: Record<string, any>) => void;
149
+ };
150
+ rules?: IRule[];
151
+ onInput?: (value: Record<string, string | number>) => void;
152
+ onChange?: (value: Record<string, string | number | Array<string | number>>, record: IRecord, shRecords?: IRecord[]) => void;
153
+ onEnter?: (value: Record<string, string | number | Array<string | number>>, record: IRecord) => void;
154
+ onBlur?: (value: Record<string, string | number | Array<string | number>>, record: IRecord) => void;
155
+ onClick?: (event: React.MouseEvent<HTMLInputElement>) => void;
156
+ };
157
+ export type IFetchFn = (params?: Record<string, unknown>) => Promise<AjaxResponse>;
158
+ export type IFetchParams = Record<string, any>;
159
+ export type IFetch = {
160
+ api: IFetchFn;
161
+ params?: IFetchParams;
162
+ formatter?: (params: IFetchParams) => IFetchParams;
163
+ beforeFetch?: (params: IFetchParams) => boolean;
164
+ afterFetch?: (records: IRecord[]) => IRecord[];
165
+ stopToFirst?: boolean;
166
+ dataKey?: string;
167
+ callback?: (resData: AjaxResponse['data'], response?: AjaxResponse) => void;
168
+ };
169
+ export type IRowSelection = {
170
+ type: ISelectionType;
171
+ defaultSelectedRowKeys?: IRowKey[];
172
+ selectedRowKeys?: IRowKey[];
173
+ hideSelectAll?: boolean;
174
+ checkStrictly?: boolean;
175
+ filterable?: boolean;
176
+ selectByClickRow?: boolean;
177
+ selectFirstRowOnChange?: boolean;
178
+ clearableAfterFetched?: boolean;
179
+ selectAllOnCurrentPage?: boolean;
180
+ fetchSelectedRows?: {
181
+ api: IFetchFn;
182
+ params?: IFetchParams;
183
+ dataKey?: string;
184
+ };
185
+ fetchAllRowKeys?: {
186
+ api: IFetchFn;
187
+ params?: IFetchParams;
188
+ dataKey?: string;
189
+ };
190
+ disabled?: (row: IRecord) => boolean;
191
+ onChange?: (rowKeys: IRowKey[], selectedRows: IRecord[]) => void;
192
+ onSelect?: (selected: boolean, record: IRecord, rowKeys: IRowKey[]) => void;
193
+ onSelectAll?: (selected: boolean, rowKeys: IRowKey[]) => void;
194
+ };
195
+ export type IRowHighlight = {
196
+ currentRowKey?: IRowKey;
197
+ disabled?: (row: IRecord) => boolean;
198
+ onChange?: (rowKey: IRowKey, row: IRecord) => void;
199
+ };
200
+ export type ITreeConfig = {
201
+ virtual?: boolean;
202
+ expandIconColumn?: string;
203
+ };
204
+ export type IExpandable = {
205
+ defaultExpandAllRows?: boolean;
206
+ defaultExpandedRowKeys?: IRowKey[];
207
+ expandedRowKeys?: IRowKey[];
208
+ hideExpandAll?: boolean;
209
+ rowExpandable?: (row: IRecord) => boolean;
210
+ expandedRowClassName?: string;
211
+ expandedRowRender?: (row: IRecord, rowIndex: number) => React.ReactNode;
212
+ onExpand?: (expand: boolean, row: IRecord) => void;
213
+ onChange?: (expandedKeys: IRowKey[], expandedRows: IRecord[]) => void;
214
+ };
215
+ export type ISummation = {
216
+ groupItems?: Array<{
217
+ dataIndex: string;
218
+ titleIndex?: string;
219
+ color?: string;
220
+ backgroundColor?: string;
221
+ }>;
222
+ fetch?: {
223
+ api: IFetchFn;
224
+ params?: IFetchParams;
225
+ dataKey?: string;
226
+ };
227
+ onChange?: (summationRows: Record<string, number | string>[]) => void;
228
+ };
229
+ export type IExportExcel = {
230
+ fileName?: string;
231
+ fetch?: {
232
+ api: IFetchFn;
233
+ params?: IFetchParams;
234
+ };
235
+ beforeExport?: (records: IRecord[]) => IRecord[];
236
+ cellStyle?: boolean;
237
+ hideIcon?: boolean;
238
+ };
239
+ export type ITablePrint = {
240
+ showLogo?: boolean;
241
+ };
242
+ export type IAuthConfig = {
243
+ fetch?: {
244
+ api: IFetchFn;
245
+ params?: IFetchParams;
246
+ dataKey?: string;
247
+ };
248
+ fieldList?: IAuth[];
249
+ isExport?: number;
250
+ isImport?: number;
251
+ isPrint?: number;
252
+ };
253
+ export type IAlertConfig = {
254
+ position?: 'top' | 'bottom';
255
+ hideAlert?: boolean;
256
+ hideClearButton?: boolean;
257
+ };
258
+ export type IColumn = {
259
+ dataIndex: string;
260
+ title: string;
261
+ description?: string;
262
+ colSpan?: number;
263
+ rowSpan?: number;
264
+ width?: number;
265
+ minWidth?: number;
266
+ renderWidth?: number;
267
+ fixed?: IFixed;
268
+ align?: IAlign;
269
+ theadAlign?: IAlign;
270
+ printFixed?: boolean;
271
+ hidden?: boolean;
272
+ noAuth?: boolean;
273
+ noFixed?: boolean;
274
+ ellipsis?: boolean;
275
+ className?: string;
276
+ theadClassName?: string;
277
+ children?: Array<IColumn> | Nullable<undefined>;
278
+ sorter?: boolean | ((a: IRecord, b: IRecord) => boolean);
279
+ filter?: {
280
+ type: IFilterType;
281
+ items?: Array<IDict>;
282
+ style?: CSSProperties;
283
+ };
284
+ precision?: number;
285
+ displayPrecision?: number;
286
+ formatType?: IFormatType;
287
+ required?: boolean;
288
+ canCopy?: boolean;
289
+ editRender?: (row: IRecord, column: IColumn) => IEditerReturn;
290
+ dictItems?: Array<IDict>;
291
+ summation?: {
292
+ sumBySelection?: boolean;
293
+ displayWhenNotSelect?: boolean;
294
+ dataKey?: string;
295
+ unit?: string;
296
+ render?: (tableData: IRecord[]) => React.ReactNode;
297
+ };
298
+ groupSummary?: {
299
+ dataKey?: string;
300
+ unit?: string;
301
+ render?: () => React.ReactNode;
302
+ };
303
+ headRender?: (column: IColumn, tableData: IRecord[]) => React.ReactNode;
304
+ render?: (text: string | number, row: IRecord, column: IColumn, rowIndex: number, columnIndex: number) => React.ReactNode | string | number;
305
+ };
306
+ export type IDerivedColumn = IColumn & {
307
+ type?: string;
308
+ level?: number;
309
+ parentDataIndex?: string;
310
+ };
311
+ export type IDerivedRowKey = {
312
+ level: number;
313
+ rowKey: IRowKey;
314
+ rowKeyPath: string;
315
+ indexPath: string;
316
+ parentRowKey?: IRowKey;
317
+ children?: IDerivedRowKey[];
318
+ };
319
+ export type ITableProps = {
320
+ columns: IColumn[];
321
+ columnsChange?: (columns: IColumn[]) => void;
322
+ dataSource?: IRecord[];
323
+ rowKey: ((row: IRecord, index: number) => IRowKey) | IRowKey;
324
+ size?: ComponentSize;
325
+ height?: number | string;
326
+ minHeight?: number | string;
327
+ maxHeight?: number | string;
328
+ border?: boolean;
329
+ stripe?: boolean;
330
+ fetch?: IFetch;
331
+ loading?: boolean;
332
+ resizable?: boolean;
333
+ uniqueKey?: string;
334
+ customClass?: string;
335
+ showHeader?: boolean;
336
+ ellipsis?: boolean;
337
+ nativeScrollBar?: boolean;
338
+ rowStyle?: CSSProperties | ((row: IRecord, rowIndex: number) => CSSProperties);
339
+ cellStyle?: CSSProperties | ((row: IRecord, column: IColumn, rowIndex: number, columnIndex: number) => CSSProperties);
340
+ mergeCells?: IMergeCell[];
341
+ spanMethod?: (options: {
342
+ row: IRecord;
343
+ column: IColumn;
344
+ rowIndex: number;
345
+ columnIndex: number;
346
+ tableData: IRecord[];
347
+ }) => IRowColSpan | [number, number];
348
+ dragMergeCell?: boolean;
349
+ rowDraggable?: boolean;
350
+ initialSorter?: ISorter;
351
+ initialFilter?: IFilter;
352
+ rowSelection?: IRowSelection;
353
+ rowHighlight?: IRowHighlight;
354
+ treeConfig?: ITreeConfig;
355
+ expandable?: IExpandable;
356
+ summation?: ISummation;
357
+ footRender?: (flattenColumns: IColumn[], tableData: IRecord[]) => React.ReactNode;
358
+ multipleSort?: boolean;
359
+ ignorePageIndex?: boolean;
360
+ scrollPagination?: boolean;
361
+ webPagination?: boolean;
362
+ paginationConfig?: IPaginationConfig;
363
+ topSpaceAlign?: IAlign;
364
+ exportExcel?: IExportExcel;
365
+ tablePrint?: ITablePrint;
366
+ authConfig?: IAuthConfig;
367
+ infoBarConfig?: IAlertConfig;
368
+ /** @deprecated use `infoBarConfig` instead, and it will be deprecated in the next major version */
369
+ showAlert?: boolean;
370
+ /** @deprecated use `infoBarConfig` instead, and it will be deprecated in the next major version */
371
+ alertPosition?: 'top' | 'bottom';
372
+ beforeClipboard?: (records: string[][], columnKeys: string[]) => string[][] | Promise<string[][]>;
373
+ beforeTableImport?: (records: IRecord[]) => IRecord[] | Promise<IRecord[]>;
374
+ showFullScreen?: boolean;
375
+ showRefresh?: boolean;
376
+ showTableImport?: boolean;
377
+ showClipboard?: boolean;
378
+ showSelectCollection?: boolean;
379
+ showSuperSearch?: boolean;
380
+ showFastSearch?: boolean;
381
+ showGroupSummary?: boolean;
382
+ showToolBox?: boolean;
383
+ showColumnDefine?: boolean;
384
+ showTableInfo?: boolean;
385
+ children?: React.ReactNode;
386
+ onlyShowIcon?: boolean;
387
+ onChange?: (pagination: IPagination, filters: IFilter, sorter: ISorter, superFilters: ISuperFilter[], extra: {
388
+ currentDataSource: IRecord[];
389
+ }) => void;
390
+ onDataChange?: (tableData: IRecord[]) => void;
391
+ onDataLoad?: (tableData: IRecord[]) => void;
392
+ onRowClick?: (row: IRecord, column: IColumn, event: React.MouseEvent<HTMLTableCellElement>) => void;
393
+ onRowDblclick?: (row: IRecord, column: IColumn, event: React.MouseEvent<HTMLTableCellElement>) => void;
394
+ onRowContextmenu?: (row: IRecord, column: IColumn, event: React.MouseEvent<HTMLTableCellElement>) => void;
395
+ onRowEnter?: (row: IRecord, event: KeyboardEvent) => void;
396
+ onScrollEnd?: (event: React.MouseEvent<HTMLDivElement>) => void;
397
+ onFetchError?: (error: any) => void;
398
+ onMergeChange?: (cells: IMergeCell[]) => void;
399
+ };
400
+ export type TableRef = {
401
+ CALCULATE_HEIGHT: () => void;
402
+ DO_REFRESH: (cb: () => void) => Promise<void>;
403
+ GET_LOG: () => {
404
+ required: IValidItem[];
405
+ validate: IValidItem[];
406
+ inserted: IRecord[];
407
+ updated: IRecord[];
408
+ removed: IRecord[];
409
+ };
410
+ GET_FETCH_PARAMS: () => IFetchParams;
411
+ CLEAR_TABLE_DATA: () => void;
412
+ CLEAR_LOG: () => void;
413
+ CREATE_FOCUS: (rowKey: IRowKey, dataIndex: string) => void;
414
+ FORCE_UPDATE: () => void;
415
+ DO_EXPORT: () => void;
416
+ SCROLL_TO_RECORD: (rowKey: IRowKey) => void;
417
+ SCROLL_TO_COLUMN: (dataIndex: string) => void;
418
+ SET_SELECTION: (rowKeys: IRowKey[], isHandleChange?: boolean) => void;
419
+ SET_SELECTION_ROWS: (records: IRecord[]) => void;
420
+ SET_TABLE_DATA: (records: IRecord[]) => void;
421
+ SET_TABLE_COLUMN: (dataIndex: string, option: Record<string, any>, forceUpdate?: boolean) => void;
422
+ DEFINE_INITIAL_COLUMNS: (columns: IColumn[]) => void;
423
+ INSERT_RECORDS: <T extends IRecord>(records: T | T[], option?: {
424
+ mode?: InsertMode;
425
+ parentRowKey?: IRowKey;
426
+ }) => void;
427
+ REMOVE_RECORDS: <T extends IRecord | IRowKey>(records: T | T[]) => void;
428
+ VALIDATE_FIELDS: (rowKeys?: IRowKey[], dataIndexes?: string[]) => {
429
+ required: IValidItem[];
430
+ validate: IValidItem[];
431
+ };
432
+ };
433
+ export type TableBodyRef = {
434
+ renderCellTitle: (column: IColumn, row: IRecord, rowIndex: number, columnIndex: number) => string;
435
+ setClickedValues: (clicked: IClicked) => void;
436
+ createFocus: (rowKey: IRowKey, dataIndex: string) => void;
437
+ forceUpdate: () => void;
438
+ };
439
+ export type ToolBoxRef = {
440
+ exportHandle: () => void;
441
+ };
442
+ export type ToolMethodRef = {
443
+ clickHandle: () => void;
444
+ };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { IColumn, ToolBoxRef } from '../table/types';
3
+ type IToolBoxProps = {
4
+ tableColumns: IColumn[];
5
+ showFullScreen?: boolean;
6
+ showReload?: boolean;
7
+ showPrint?: boolean;
8
+ showImport?: boolean;
9
+ showExport?: boolean;
10
+ showClipboard?: boolean;
11
+ showCollection?: boolean;
12
+ showFastSearch?: boolean;
13
+ showSuperSearch?: boolean;
14
+ showGroupSummary?: boolean;
15
+ showToolBox?: boolean;
16
+ };
17
+ declare const ToolBox: React.ForwardRefExoticComponent<IToolBoxProps & React.RefAttributes<ToolBoxRef>>;
18
+ export default ToolBox;
@@ -0,0 +1,43 @@
1
+ import dayjs, { Dayjs } from 'dayjs';
2
+ import { hasOwn } from '../../../_utils/util';
3
+ import type { IColumn, IDerivedRowKey, IRecord, IRowKey, ISorter } from '../table/types';
4
+ import type { Nullable, AnyObject, JSXElement } from '../../../_utils/types';
5
+ export { hasOwn };
6
+ export declare const columnsFlatMap: (columns: IColumn[]) => IColumn[];
7
+ export declare const createFilterColumns: (columns: IColumn[]) => IColumn[];
8
+ export declare const getAllColumns: (columns: IColumn[]) => IColumn[];
9
+ export declare const mapTableColumns: (columns: IColumn[], callback?: ((column: IColumn) => void) | undefined) => IColumn[];
10
+ export declare const deepFindColumn: (columns: IColumn[], mark: string) => Nullable<IColumn>;
11
+ export declare const findFirstColumn: (column: IColumn) => IColumn;
12
+ export declare const findLastColumn: (column: IColumn) => IColumn;
13
+ export declare const filterTableColumns: (columns: IColumn[], marks: string[]) => IColumn[];
14
+ export declare const deepFindRowKey: (rowKeys: IDerivedRowKey[], mark: IRowKey) => Nullable<IDerivedRowKey>;
15
+ export declare const tableDataFlatMap: (list: IRecord[]) => IRecord[];
16
+ export declare const getAllTableData: (list: IRecord[]) => IRecord[];
17
+ export declare const convertToRows: (columns: IColumn[]) => IColumn[][];
18
+ export declare const getNodeOffset: (el: Nullable<HTMLElement>, container: HTMLElement, rest?: {
19
+ left: number;
20
+ top: number;
21
+ }) => any;
22
+ export declare const parseHeight: (height: number | string) => Nullable<number | string>;
23
+ export declare const difference: <T extends AnyObject<any>>(obj: T, base: T) => T;
24
+ export declare const isArrayContain: (targetArr: unknown[], arr: unknown[]) => boolean;
25
+ export declare const getCellValue: (record: IRecord, dataIndex: string) => any;
26
+ export declare const setCellValue: (record: IRecord, dataIndex: string, val: unknown, precision?: number) => void;
27
+ export declare const getSplitValue: (record: IRecord, key: string) => string;
28
+ export declare const setSplitValue: (record: IRecord, key: string, val: string, precision?: number) => void;
29
+ export declare const formatNumber: (value: string | number) => string;
30
+ export declare const validateNumber: (val: string) => boolean;
31
+ export declare const stringToNumber: (input: string) => number | '';
32
+ export declare const getDate: (dateString: string | undefined, format: string) => dayjs.Dayjs | null;
33
+ export declare const formatDate: (date: Dayjs | null, format: string) => string;
34
+ export declare const createUidKey: (prefix?: string) => string;
35
+ export declare const getVNodeText: <T extends string | number>(val: JSXElement | T) => T[];
36
+ export declare const getGroupValidData: (list: IRecord[]) => IRecord<any>[];
37
+ export declare const createOrderBy: (sorter: ISorter) => string;
38
+ export declare const createWhereSQL: (filters: any, showType?: boolean) => string;
39
+ export declare const groupByProps: (array?: IRecord[], props?: string[]) => any[][];
40
+ export declare const deepGetRowkey: (arr: any[], value: IRowKey) => IRowKey[] | undefined;
41
+ export declare const deepFindRecord: (arr: IRecord[], fn: (node: IRecord) => boolean) => Nullable<IRecord>;
42
+ export declare const deepTreeFilter: (tree: any[], fn: (node: unknown) => boolean) => any[];
43
+ export declare const flatToTree: (list: any[], id: string, pid: string) => any[];
@@ -0,0 +1,34 @@
1
+ /*
2
+ * @Author: 焦质晔
3
+ * @Date: 2020-03-18 10:26:46
4
+ * @Last Modified by: 焦质晔
5
+ * @Last Modified time: 2021-12-28 21:55:44
6
+ */
7
+ @prefix-table: ~'@{qm-prefix}-table';
8
+
9
+ .@{prefix-table}__alert {
10
+ display: flex;
11
+ align-items: center;
12
+ position: relative;
13
+ margin-right: @v-module-distance;
14
+ padding: 0 6px 0 30px;
15
+ border: 1px solid @v-table-border-color;
16
+ border-radius: @v-border-radius;
17
+ background-color: @v-table-header-background-color;
18
+ .box-sizing-content();
19
+ .icon {
20
+ position: absolute;
21
+ left: @v-module-distance;
22
+ line-height: 1;
23
+ font-size: 1.05em;
24
+ color: @v-primary-color;
25
+ }
26
+ em {
27
+ display: inline-block;
28
+ color: @v-primary-color;
29
+ padding: 0 @v-module-distance;
30
+ margin-right: -5px;
31
+ font-style: normal;
32
+ cursor: pointer;
33
+ }
34
+ }
@@ -0,0 +1,77 @@
1
+ /*
2
+ * @Author: 焦质晔
3
+ * @Date: 2020-02-28 22:13:54
4
+ * @Last Modified by: 焦质晔
5
+ * @Last Modified time: 2023-10-15 12:47:18
6
+ */
7
+ .body--column {
8
+ .cell--edit {
9
+ margin: 0 -1 * (@v-module-distance - 1px);
10
+ // placeholder
11
+ input::placeholder {
12
+ text-align: left;
13
+ }
14
+ // search
15
+ .ant-input-search {
16
+ width: calc(100% + 1px);
17
+ & > .ant-input-group > .ant-input-group-addon {
18
+ line-height: 1;
19
+ }
20
+ }
21
+ // search-helper-multiple
22
+ .search-helper-multiple {
23
+ .ant-input-group > .ant-select:first-child {
24
+ z-index: 1;
25
+ .ant-select-selector {
26
+ border-top-right-radius: 0;
27
+ border-bottom-right-radius: 0;
28
+ }
29
+ }
30
+ .ant-select-multiple {
31
+ .ant-select-selection-overflow-item-rest {
32
+ pointer-events: none;
33
+ }
34
+ }
35
+ }
36
+ // textArea
37
+ textarea[class='ant-input'] {
38
+ resize: none;
39
+ }
40
+ &.is-error {
41
+ position: relative;
42
+ .ant-input,
43
+ .ant-input-affix-wrapper {
44
+ border-color: @v-danger-color;
45
+ box-shadow: none;
46
+ z-index: 1;
47
+ }
48
+ .ant-input-search {
49
+ & + .cell-error {
50
+ right: 38px;
51
+ }
52
+ }
53
+ .cell-error {
54
+ position: absolute;
55
+ top: calc(50% - 9px);
56
+ font-size: @v-font-size-small;
57
+ color: @v-danger-color;
58
+ right: 8px;
59
+ pointer-events: none;
60
+ z-index: 1;
61
+ }
62
+ }
63
+ }
64
+ &.col--center {
65
+ .cell--edit .ant-input {
66
+ text-align: center;
67
+ }
68
+ }
69
+ &.col--right {
70
+ .cell--edit .ant-input {
71
+ text-align: right;
72
+ }
73
+ }
74
+ &.selected {
75
+ background-color: @v-table-row-selected-background-color !important;
76
+ }
77
+ }
@@ -0,0 +1,29 @@
1
+ /*
2
+ * @Author: 焦质晔
3
+ * @Date: 2020-03-26 11:26:46
4
+ * @Last Modified by: 焦质晔
5
+ * @Last Modified time: 2022-05-17 14:16:51
6
+ */
7
+ @prefix-table: ~'@{qm-prefix}-table';
8
+
9
+ .@{prefix-table}-clipboard {
10
+ display: inline-block;
11
+ padding: 5px 3px;
12
+ line-height: 1;
13
+ cursor: pointer;
14
+ transition: all 0.3s ease;
15
+ .icon {
16
+ font-size: 1.05em;
17
+ }
18
+ &:hover {
19
+ color: @v-primary-color;
20
+ }
21
+ &__setting {
22
+ .info {
23
+ padding-left: 20px;
24
+ margin-bottom: 6px;
25
+ font-size: @v-font-size-small;
26
+ color: @v-font-secondary-dark-color;
27
+ }
28
+ }
29
+ }