tntd 3.0.0-beta → 3.0.0-beta.10

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 (289) hide show
  1. package/es/alert/alert.js +5 -4
  2. package/es/alert/alert.js.map +1 -1
  3. package/es/array-input/1.png +1 -0
  4. package/es/array-input/111.gif +0 -0
  5. package/es/breadcrumb/style/index.less +2 -1
  6. package/es/button/button.less +17 -12
  7. package/es/cascader/cascader.js +30 -0
  8. package/es/cascader/cascader.js.map +1 -0
  9. package/es/cascader/cascader.less +16 -0
  10. package/es/cascader/index.js +3 -6
  11. package/es/cascader/index.js.map +1 -1
  12. package/es/cascader/style/index.less +2 -2
  13. package/es/check-card/index.js +2 -3
  14. package/es/check-card/index.js.map +1 -1
  15. package/es/checkbox/checkbox.js +5 -5
  16. package/es/checkbox/checkbox.js.map +1 -1
  17. package/es/collapse/collapse.less +3 -3
  18. package/es/collapse/style/index.less +2 -1
  19. package/es/color-picker/ColorPicker.js +4 -6
  20. package/es/color-picker/ColorPicker.js.map +1 -1
  21. package/es/date-picker/style/Picker.less +2 -1
  22. package/es/drawer/drawer.js +26 -22
  23. package/es/drawer/drawer.js.map +1 -1
  24. package/es/drawer/index.less +5 -2
  25. package/es/dropdown/style/index.less +2 -1
  26. package/es/form/form.js +5 -3
  27. package/es/form/form.js.map +1 -1
  28. package/es/handle/index.js +9 -6
  29. package/es/handle/index.js.map +1 -1
  30. package/es/handle/index.less +16 -0
  31. package/es/icon/index.js +2 -3
  32. package/es/icon/index.js.map +1 -1
  33. package/es/icon/style/index.js +2 -1
  34. package/es/icon/style/index.js.map +1 -1
  35. package/es/icon/style/style.less +3 -1
  36. package/es/index.js +4 -0
  37. package/es/index.js.map +1 -1
  38. package/es/input/style/mixin.less +1 -2
  39. package/es/locale/en_US.js +3 -0
  40. package/es/locale/en_US.js.map +1 -1
  41. package/es/locale/zh_CN.js +3 -0
  42. package/es/locale/zh_CN.js.map +1 -1
  43. package/es/modal/style/confirm.less +1 -1
  44. package/es/modal/style/modal.less +5 -1
  45. package/es/notification/style/index.less +4 -2
  46. package/es/page-container/index.js +13 -0
  47. package/es/page-container/index.js.map +1 -0
  48. package/es/page-container/index.less +38 -0
  49. package/es/page-loading/index.js +29 -0
  50. package/es/page-loading/index.js.map +1 -0
  51. package/es/page-loading/index.less +38 -0
  52. package/es/page-loading/loading.gif +0 -0
  53. package/es/popconfirm/index.less +10 -4
  54. package/es/popconfirm/popconfirm.js +6 -3
  55. package/es/popconfirm/popconfirm.js.map +1 -1
  56. package/es/popover/index.less +6 -0
  57. package/es/popover/popover.js +4 -3
  58. package/es/popover/popover.js.map +1 -1
  59. package/es/popover/style/index.less +2 -1
  60. package/es/query-form/Field/Composition/FieldPopover.js +70 -46
  61. package/es/query-form/Field/Composition/FieldPopover.js.map +1 -1
  62. package/es/query-form/Field/Composition/Select.js +8 -12
  63. package/es/query-form/Field/Composition/Select.js.map +1 -1
  64. package/es/query-form/Field/Composition/index.js +70 -53
  65. package/es/query-form/Field/Composition/index.js.map +1 -1
  66. package/es/query-form/Field/Composition/index.less +13 -5
  67. package/es/query-form/Field/SelectInput.js +22 -4
  68. package/es/query-form/Field/SelectInput.js.map +1 -1
  69. package/es/query-form/Field/fieldsMap.js +2 -2
  70. package/es/query-form/Field/fieldsMap.js.map +1 -1
  71. package/es/query-form/Field/index.js +1 -0
  72. package/es/query-form/Field/index.js.map +1 -1
  73. package/es/query-form/index.js +11 -5
  74. package/es/query-form/index.js.map +1 -1
  75. package/es/query-list-scene/index.less +3 -3
  76. package/es/radio/radio.js +4 -4
  77. package/es/radio/radio.js.map +1 -1
  78. package/es/select/select.less +3 -1
  79. package/es/select/style/index.less +2 -1
  80. package/es/style/mixins/iconfont.less +3 -2
  81. package/es/style/themes/default.less +7 -6
  82. package/es/table/style/index.less +34 -12
  83. package/es/table/style/size.less +4 -4
  84. package/es/table/table.js +1 -1
  85. package/es/table/table.js.map +1 -1
  86. package/es/table/table.less +2 -1
  87. package/es/table-container/index.js +15 -0
  88. package/es/table-container/index.js.map +1 -0
  89. package/es/table-container/index.less +16 -0
  90. package/es/tabs/tabs.less +23 -25
  91. package/es/tabs-container/index.js +13 -0
  92. package/es/tabs-container/index.js.map +1 -0
  93. package/es/tabs-container/index.less +51 -0
  94. package/es/tag/index.js +1 -1
  95. package/es/tag/index.js.map +1 -1
  96. package/es/tag/tag.less +3 -2
  97. package/es/time-picker/style/index.less +2 -1
  98. package/es/timeline/style/index.less +1 -1
  99. package/es/tntd-action/Action.js +2 -1
  100. package/es/tntd-action/Action.js.map +1 -1
  101. package/es/tntd-action/index.js +5 -5
  102. package/es/tntd-action/index.js.map +1 -1
  103. package/es/tntd-action/index.less +17 -0
  104. package/es/tntd-cascader/AntdCascader/component/getIcons.js +7 -8
  105. package/es/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -1
  106. package/es/tntd-cascader/AntdCascader/index.js +4 -5
  107. package/es/tntd-cascader/AntdCascader/index.js.map +1 -1
  108. package/es/tntd-rc-select/_util/getIcons.js +7 -8
  109. package/es/tntd-rc-select/_util/getIcons.js.map +1 -1
  110. package/es/tntd-select/index.js +4 -5
  111. package/es/tntd-select/index.js.map +1 -1
  112. package/es/tntd-select/index.less +7 -0
  113. package/es/tooltip/index.less +5 -0
  114. package/es/tooltip/tooltip.js +4 -3
  115. package/es/tooltip/tooltip.js.map +1 -1
  116. package/lib/alert/alert.d.ts.map +1 -1
  117. package/lib/alert/alert.js +4 -3
  118. package/lib/alert/alert.js.map +1 -1
  119. package/lib/array-input/1.png +1 -0
  120. package/lib/array-input/111.gif +0 -0
  121. package/lib/breadcrumb/style/index.less +2 -1
  122. package/lib/button/button.less +17 -12
  123. package/lib/cascader/cascader.d.ts +10 -0
  124. package/lib/cascader/cascader.d.ts.map +1 -0
  125. package/lib/cascader/cascader.js +49 -0
  126. package/lib/cascader/cascader.js.map +1 -0
  127. package/lib/cascader/cascader.less +16 -0
  128. package/lib/cascader/index.d.ts +3 -7
  129. package/lib/cascader/index.d.ts.map +1 -1
  130. package/lib/cascader/index.js +5 -10
  131. package/lib/cascader/index.js.map +1 -1
  132. package/lib/cascader/style/index.less +2 -2
  133. package/lib/check-card/index.js +1 -2
  134. package/lib/check-card/index.js.map +1 -1
  135. package/lib/checkbox/checkbox.d.ts +2 -2
  136. package/lib/checkbox/checkbox.d.ts.map +1 -1
  137. package/lib/checkbox/checkbox.js +5 -5
  138. package/lib/checkbox/checkbox.js.map +1 -1
  139. package/lib/collapse/collapse.less +3 -3
  140. package/lib/collapse/style/index.less +2 -1
  141. package/lib/color-picker/ColorPicker.d.ts.map +1 -1
  142. package/lib/color-picker/ColorPicker.js +2 -4
  143. package/lib/color-picker/ColorPicker.js.map +1 -1
  144. package/lib/date-picker/style/Picker.less +2 -1
  145. package/lib/drawer/drawer.d.ts +3 -0
  146. package/lib/drawer/drawer.d.ts.map +1 -1
  147. package/lib/drawer/drawer.js +27 -22
  148. package/lib/drawer/drawer.js.map +1 -1
  149. package/lib/drawer/index.less +5 -2
  150. package/lib/dropdown/style/index.less +2 -1
  151. package/lib/form/form.js +5 -3
  152. package/lib/form/form.js.map +1 -1
  153. package/lib/handle/index.d.ts.map +1 -1
  154. package/lib/handle/index.js +15 -10
  155. package/lib/handle/index.js.map +1 -1
  156. package/lib/handle/index.less +16 -0
  157. package/lib/icon/index.d.ts +1 -1
  158. package/lib/icon/index.d.ts.map +1 -1
  159. package/lib/icon/index.js +2 -2
  160. package/lib/icon/index.js.map +1 -1
  161. package/lib/icon/style/index.d.ts +1 -0
  162. package/lib/icon/style/index.d.ts.map +1 -1
  163. package/lib/icon/style/index.js +2 -1
  164. package/lib/icon/style/index.js.map +1 -1
  165. package/lib/icon/style/style.less +3 -1
  166. package/lib/index.d.ts +4 -0
  167. package/lib/index.d.ts.map +1 -1
  168. package/lib/index.js +28 -0
  169. package/lib/index.js.map +1 -1
  170. package/lib/input/style/mixin.less +1 -2
  171. package/lib/locale/default.d.ts +3 -0
  172. package/lib/locale/default.d.ts.map +1 -1
  173. package/lib/locale/en_US.d.ts +3 -0
  174. package/lib/locale/en_US.d.ts.map +1 -1
  175. package/lib/locale/en_US.js +3 -0
  176. package/lib/locale/en_US.js.map +1 -1
  177. package/lib/locale/zh_CN.d.ts +3 -0
  178. package/lib/locale/zh_CN.d.ts.map +1 -1
  179. package/lib/locale/zh_CN.js +3 -0
  180. package/lib/locale/zh_CN.js.map +1 -1
  181. package/lib/modal/style/confirm.less +1 -1
  182. package/lib/modal/style/modal.less +5 -1
  183. package/lib/notification/style/index.less +4 -2
  184. package/lib/page-container/index.d.ts +4 -0
  185. package/lib/page-container/index.d.ts.map +1 -0
  186. package/lib/page-container/index.js +22 -0
  187. package/lib/page-container/index.js.map +1 -0
  188. package/lib/page-container/index.less +38 -0
  189. package/lib/page-loading/index.d.ts +4 -0
  190. package/lib/page-loading/index.d.ts.map +1 -0
  191. package/lib/page-loading/index.js +34 -0
  192. package/lib/page-loading/index.js.map +1 -0
  193. package/lib/page-loading/index.less +38 -0
  194. package/lib/page-loading/loading.gif +0 -0
  195. package/lib/popconfirm/index.less +10 -4
  196. package/lib/popconfirm/popconfirm.d.ts +3 -1
  197. package/lib/popconfirm/popconfirm.d.ts.map +1 -1
  198. package/lib/popconfirm/popconfirm.js +5 -2
  199. package/lib/popconfirm/popconfirm.js.map +1 -1
  200. package/lib/popover/index.less +6 -0
  201. package/lib/popover/popover.d.ts +1 -0
  202. package/lib/popover/popover.d.ts.map +1 -1
  203. package/lib/popover/popover.js +4 -2
  204. package/lib/popover/popover.js.map +1 -1
  205. package/lib/popover/style/index.less +2 -1
  206. package/lib/query-form/Field/Composition/FieldPopover.d.ts +7 -5
  207. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -1
  208. package/lib/query-form/Field/Composition/FieldPopover.js +107 -79
  209. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -1
  210. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -1
  211. package/lib/query-form/Field/Composition/Select.js +8 -12
  212. package/lib/query-form/Field/Composition/Select.js.map +1 -1
  213. package/lib/query-form/Field/Composition/index.d.ts +1 -1
  214. package/lib/query-form/Field/Composition/index.js +72 -60
  215. package/lib/query-form/Field/Composition/index.js.map +1 -1
  216. package/lib/query-form/Field/Composition/index.less +13 -5
  217. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  218. package/lib/query-form/Field/SelectInput.js +15 -3
  219. package/lib/query-form/Field/SelectInput.js.map +1 -1
  220. package/lib/query-form/Field/fieldsMap.d.ts +6 -3
  221. package/lib/query-form/Field/fieldsMap.js +2 -2
  222. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  223. package/lib/query-form/Field/index.d.ts.map +1 -1
  224. package/lib/query-form/Field/index.js +1 -0
  225. package/lib/query-form/Field/index.js.map +1 -1
  226. package/lib/query-form/index.d.ts.map +1 -1
  227. package/lib/query-form/index.js +11 -5
  228. package/lib/query-form/index.js.map +1 -1
  229. package/lib/query-list-scene/index.less +3 -3
  230. package/lib/radio/radio.d.ts +2 -2
  231. package/lib/radio/radio.d.ts.map +1 -1
  232. package/lib/radio/radio.js +4 -4
  233. package/lib/radio/radio.js.map +1 -1
  234. package/lib/select/select.less +3 -1
  235. package/lib/select/style/index.less +2 -1
  236. package/lib/style/mixins/iconfont.less +3 -2
  237. package/lib/style/themes/default.less +7 -6
  238. package/lib/table/style/index.less +34 -12
  239. package/lib/table/style/size.less +4 -4
  240. package/lib/table/table.js +1 -2
  241. package/lib/table/table.js.map +1 -1
  242. package/lib/table/table.less +2 -1
  243. package/lib/table-container/index.d.ts +3 -0
  244. package/lib/table-container/index.d.ts.map +1 -0
  245. package/lib/table-container/index.js +25 -0
  246. package/lib/table-container/index.js.map +1 -0
  247. package/lib/table-container/index.less +16 -0
  248. package/lib/tabs/tabs.less +23 -25
  249. package/lib/tabs-container/index.d.ts +4 -0
  250. package/lib/tabs-container/index.d.ts.map +1 -0
  251. package/lib/tabs-container/index.js +22 -0
  252. package/lib/tabs-container/index.js.map +1 -0
  253. package/lib/tabs-container/index.less +51 -0
  254. package/lib/tag/index.js +1 -1
  255. package/lib/tag/index.js.map +1 -1
  256. package/lib/tag/tag.less +3 -2
  257. package/lib/time-picker/style/index.less +2 -1
  258. package/lib/timeline/style/index.less +1 -1
  259. package/lib/tntd-action/Action.js +2 -1
  260. package/lib/tntd-action/Action.js.map +1 -1
  261. package/lib/tntd-action/index.js +6 -8
  262. package/lib/tntd-action/index.js.map +1 -1
  263. package/lib/tntd-action/index.less +17 -0
  264. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +2 -3
  265. package/lib/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -1
  266. package/lib/tntd-cascader/AntdCascader/index.d.ts.map +1 -1
  267. package/lib/tntd-cascader/AntdCascader/index.js +1 -2
  268. package/lib/tntd-cascader/AntdCascader/index.js.map +1 -1
  269. package/lib/tntd-rc-select/_util/getIcons.js +2 -3
  270. package/lib/tntd-rc-select/_util/getIcons.js.map +1 -1
  271. package/lib/tntd-select/index.d.ts.map +1 -1
  272. package/lib/tntd-select/index.js +4 -5
  273. package/lib/tntd-select/index.js.map +1 -1
  274. package/lib/tntd-select/index.less +7 -0
  275. package/lib/tooltip/index.less +5 -0
  276. package/lib/tooltip/tooltip.d.ts +1 -0
  277. package/lib/tooltip/tooltip.d.ts.map +1 -1
  278. package/lib/tooltip/tooltip.js +4 -2
  279. package/lib/tooltip/tooltip.js.map +1 -1
  280. package/package.json +3 -4
  281. package/themes/common/css2.x.css +35 -0
  282. package/themes/common/css3.x.css +35 -0
  283. package/themes/default/colors.less +4 -4
  284. package/themes/default/colorsVar.less +3 -3
  285. package/themes/default/lessToCssVar.less +39 -0
  286. package/themes/default/lessVars2.x.less +4 -4
  287. package/themes/default/lessVars3.x.less +0 -2
  288. package/themes/default/variables.less +7 -6
  289. package/themes/default/variablesVar.less +65 -40
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\n\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin';\nimport DropDownWrap from './DropDownWrap'\nimport { capitalizeFirstLetter } from '../utils'\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n const selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n \n this.setState(\n {\n children: arr || [],\n filterChildren: null\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0;\n this.scrollEle && this.scrollEle.scrollTo(0, 0);\n this.setSuperDrowDownMenu(true);\n }\n this.formulaWidth();\n if (!this.inputEle) {\n this.removeEvent();\n this.addEvent();\n }\n }\n }\n );\n\n\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault();\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown',this.preventEvent, false);\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDrowDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDrowDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown',this.preventEvent,false);\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, ...props } = this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if(_props.loading) {\n return (\n <Spin size=\"small\" style={{ marginLeft: 8 }} />\n )\n }\n if (this.allList.length === 0) {\n return (\n <div style={{ padding: '5px 12px' }}>\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nSuperSelect.Option = Option\n\nexport default SuperSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport Empty from '../empty';\nimport Select from '../select';\nimport Spin from '../spin';\nimport { capitalizeFirstLetter } from '../utils';\nimport DropDownWrap from './DropDownWrap';\nimport './index.less';\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n const selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n \n this.setState(\n {\n children: arr || [],\n filterChildren: null\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0;\n this.scrollEle && this.scrollEle.scrollTo(0, 0);\n this.setSuperDrowDownMenu(true);\n }\n this.formulaWidth();\n if (!this.inputEle) {\n this.removeEvent();\n this.addEvent();\n }\n }\n }\n );\n\n\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault();\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown',this.preventEvent, false);\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDrowDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDrowDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown',this.preventEvent,false);\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, ...props } = this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(props?.placeholder, props?.capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if(_props.loading) {\n return (\n <Spin size=\"small\" style={{ marginLeft: 8 }} />\n )\n }\n if (this.allList.length === 0) {\n return (\n <div className='tntd-select-empty-container' >\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nSuperSelect.Option = Option\n\nexport default SuperSelect\n"]}
@@ -0,0 +1,7 @@
1
+ .tntd-select-empty-container {
2
+ padding: 5px 12px;
3
+
4
+ & > .ant-empty > .ant-empty-image > svg {
5
+ width: 100%;
6
+ }
7
+ }
@@ -20,5 +20,10 @@
20
20
  &-arrow {
21
21
  border-radius: 1px;
22
22
  }
23
+ }
23
24
 
25
+ .@{tooltip-prefix-cls}-arrow-hidden {
26
+ .@{tooltip-prefix-cls}-arrow {
27
+ display: none;
28
+ }
24
29
  }
@@ -3,6 +3,7 @@ import type { TooltipProps } from 'antd/lib/tooltip';
3
3
  export * from 'antd/lib/tooltip';
4
4
  declare const Tooltip: React.FC<TooltipProps & {
5
5
  theme?: string;
6
+ hiddenArrow?: boolean;
6
7
  }>;
7
8
  export default Tooltip;
8
9
  //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAKnD,cAAc,iBAAiB,CAAA;AAK/B,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsBxD,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAKnD,cAAc,iBAAiB,CAAA;AAK/B,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAuB/E,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -39,12 +39,14 @@ var Tooltip = function Tooltip(props) {
39
39
  var overlayClassName = props.overlayClassName,
40
40
  _props$theme = props.theme,
41
41
  theme = _props$theme === void 0 ? '' : _props$theme,
42
- restProps = __rest(props, ["overlayClassName", "theme"]);
42
+ _props$hiddenArrow = props.hiddenArrow,
43
+ hiddenArrow = _props$hiddenArrow === void 0 ? false : _props$hiddenArrow,
44
+ restProps = __rest(props, ["overlayClassName", "theme", "hiddenArrow"]);
43
45
  return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
44
46
  var getPrefixCls = _ref.getPrefixCls;
45
47
  var prefixCls = getPrefixCls('tooltip');
46
48
  return _react["default"].createElement(_tooltip["default"], Object.assign({
47
- overlayClassName: (0, _classnames["default"])(prefixCls, 'tnt-tooltip', themeMap(prefixCls, theme), overlayClassName)
49
+ overlayClassName: (0, _classnames["default"])(prefixCls, 'tnt-tooltip', themeMap(prefixCls, theme), hiddenArrow ? prefixCls + '-arrow-hidden' : '', overlayClassName)
48
50
  }, restProps));
49
51
  });
50
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/tooltip/tooltip.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AAEzB,6DAAwD;AACxD,8DAAyC;AACzC,4DAAmC;AAEnC,kDAA+B;AAC/B,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE;IACzD,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,OAAO,GAAgD,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,EAAE,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAtD,6BAA8C,CAAQ,CAAA;IAE5D,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAEzC,OAAO,CACL,8BAAC,iBAAW,kBACV,gBAAgB,EAAE,IAAA,oBAAU,EAC1B,SAAS,EACT,aAAa,EACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1B,gBAAgB,CACjB,IACG,SAAS,EACb,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\nimport type { TooltipProps } from 'antd/lib/tooltip'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport AntdTooltip from 'antd/lib/tooltip'\nimport classNames from 'classnames'\n\nexport * from 'antd/lib/tooltip'\nconst themeMap = (prefixCls: string, themeColor: string) => {\n return `${prefixCls}-${themeColor}`\n}\n\nconst Tooltip: React.FC<TooltipProps & { theme?: string }> = (props) => {\n const { overlayClassName, theme = '', ...restProps } = props\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('tooltip')\n\n return (\n <AntdTooltip\n overlayClassName={classNames(\n prefixCls,\n 'tnt-tooltip',\n themeMap(prefixCls, theme),\n overlayClassName\n )}\n {...restProps}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nexport default Tooltip\n"]}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/tooltip/tooltip.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AAEzB,6DAAwD;AACxD,8DAAyC;AACzC,4DAAmC;AAEnC,kDAA+B;AAC/B,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE;IACzD,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,OAAO,GAAuE,CAAC,KAAK,EAAE,EAAE;IAC5F,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3E,4CAAmE,CAAQ,CAAA;IAEjF,OAAO,CACL,8BAAC,gCAAc,QACZ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAEzC,OAAO,CACL,8BAAC,iBAAW,kBACV,gBAAgB,EAAE,IAAA,oBAAU,EAC1B,SAAS,EACT,aAAa,EACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1B,WAAW,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,EAC9C,gBAAgB,CACjB,IACG,SAAS,EACb,CACH,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\nimport type { TooltipProps } from 'antd/lib/tooltip'\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport AntdTooltip from 'antd/lib/tooltip'\nimport classNames from 'classnames'\n\nexport * from 'antd/lib/tooltip'\nconst themeMap = (prefixCls: string, themeColor: string) => {\n return `${prefixCls}-${themeColor}`\n}\n\nconst Tooltip: React.FC<TooltipProps & { theme?: string; hiddenArrow?: boolean }> = (props) => {\n const { overlayClassName, theme = '', hiddenArrow = false, ...restProps } = props\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('tooltip')\n\n return (\n <AntdTooltip\n overlayClassName={classNames(\n prefixCls,\n 'tnt-tooltip',\n themeMap(prefixCls, theme),\n hiddenArrow ? prefixCls + '-arrow-hidden' : '',\n overlayClassName\n )}\n {...restProps}\n />\n )\n }}\n </ConfigConsumer>\n )\n}\n\nexport default Tooltip\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "3.0.0-beta",
3
+ "version": "3.0.0-beta.10",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "start": "heft start --storybook",
@@ -15,9 +15,8 @@
15
15
  "test:watch": "heft test --watch --clean"
16
16
  },
17
17
  "dependencies": {
18
- "@icon-park/react": "^1.3.5",
19
18
  "@stellaris/hooks": "~0.4.6",
20
- "classnames": "~2.3.1",
19
+ "classnames": "^2.2.6",
21
20
  "@tntx/logo-icon": "~1.0.4",
22
21
  "delete-all-cookies": "~0.3.0",
23
22
  "styled-components": "^5.3.0",
@@ -37,7 +36,7 @@
37
36
  "rc-segmented": "~2.2.2",
38
37
  "rc-field-form": "~1.34.0",
39
38
  "scroll-into-view-if-needed": "^2.2.25",
40
- "@tntd/icons": "^1.0.0",
39
+ "@tntd/icons": "^1.0.5",
41
40
  "@ant-design/colors": "^3.1.0"
42
41
  },
43
42
  "devDependencies": {
@@ -151,4 +151,39 @@
151
151
  --bg-color-spotilight-tint-50: var(--text-color-tint-50);
152
152
  --size-step-base: 4;
153
153
  --size-step-unit: 4;
154
+
155
+ --heading-1-size: calc(var(--font-size-base) * 2.71);
156
+ --heading-2-size: calc(var(--font-size-base) * 2.14);
157
+ --heading-3-size: calc(var(--font-size-base) * 1.71);
158
+ --heading-4-size: calc(var(--font-size-base) * 1.42);
159
+ --line-height-base: 1.5;
160
+ --line-height-sm: 1.6666666;
161
+ --line-height-lg: 1.5;
162
+ --line-height-xl: 28 / 20;
163
+ --heading-1-line-height: 40 / 32;
164
+ --heading-2-line-height: 32 / 24;
165
+ --heading-3-line-height: 26 / 18;
166
+ --heading-4-line-height: 24 / 16;
167
+ --border-radius-base: 2px;
168
+ --border-radius-sm: 2px;
169
+ --border-radius-xs: 4px;
170
+ --border-radius-lg: 20px;
171
+ --padding-xxs: 4px;
172
+ --padding-base: 16px;
173
+ --padding-xxl: 48px;
174
+ --padding-xl: 32px;
175
+ --padding-lg: 20px;
176
+ --padding-md: 12px;
177
+ --padding-sm: 10px;
178
+ --padding-xs: 8px;
179
+ --margin-xxs: 4px;
180
+ --margin-xs: 8px;
181
+ --margin-sm: 12px;
182
+ --margin-base: 16px;
183
+ --margin-md: 20px;
184
+ --margin-lg: 24px;
185
+ --margin-xl: 32px;
186
+ --margin-xxl: 48px;
187
+ --box-shadow-md: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
188
+ --box-shadow-lg: 0px 0px 25px 0px rgba(0, 0, 0, 0.1), 0px 0px 5px -5px rgba(0, 0, 0, 0.05);
154
189
  }
@@ -151,4 +151,39 @@
151
151
  --bg-color-spotilight-tint-50: var(--text-color-tint-50);
152
152
  --size-step-base: 4;
153
153
  --size-step-unit: 4;
154
+
155
+ --heading-1-size: 32px;
156
+ --heading-2-size: 24px;
157
+ --heading-3-size: 18px;
158
+ --heading-4-size: 16px;
159
+ --line-height-base: 22 / 14;
160
+ --line-height-sm: 20 / 12;
161
+ --line-height-lg: 24 / 16;
162
+ --line-height-xl: 28 / 20;
163
+ --heading-1-line-height: 40 / 32;
164
+ --heading-2-line-height: 32 / 24;
165
+ --heading-3-line-height: 26 / 18;
166
+ --heading-4-line-height: 24 / 16;
167
+ --border-radius-base: 8px;
168
+ --border-radius-sm: 4px;
169
+ --border-radius-xs: 2px;
170
+ --border-radius-lg: 16px;
171
+ --padding-xxs: 4px;
172
+ --padding-base: 16px;
173
+ --padding-xxl: 48px;
174
+ --padding-xl: 32px;
175
+ --padding-lg: 24px;
176
+ --padding-md: 20px;
177
+ --padding-sm: 12px;
178
+ --padding-xs: 8px;
179
+ --margin-xxs: 4px;
180
+ --margin-xs: 8px;
181
+ --margin-sm: 12px;
182
+ --margin-base: 16px;
183
+ --margin-md: 20px;
184
+ --margin-lg: 24px;
185
+ --margin-xl: 32px;
186
+ --margin-xxl: 48px;
187
+ --box-shadow-md: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
188
+ --box-shadow-lg: 0px 0px 25px 0px rgba(0, 0, 0, 0.1), 0px 0px 5px -5px rgba(0, 0, 0, 0.05);
154
189
  }
@@ -1,18 +1,18 @@
1
1
  @import '../utils/colorPalette';
2
- @blue-6-hover: #005df4;
2
+ @blue-6-hover: #3b8cff;
3
3
  @blue-6: #126bfb;
4
4
  @purple-6: #722ed1;
5
5
  @cyan-6: #13c2c2;
6
- @green-6: #56bb52;
6
+ @green-6: #07c790;
7
7
  @magenta-6: #eb2f96;
8
8
  @pink-6: #eb2f96;
9
- @red-6: #d96156;
9
+ @red-6: #ef4444;
10
10
  @orange-6: #fa8c16;
11
11
  @yellow-6: #fadb14;
12
12
  @volcano-6: #fa541c;
13
13
  @geekblue-6: #2f54eb;
14
14
  @lime-6: #a0d911;
15
- @gold-6: #ff9845;
15
+ @gold-6: #f7b035;
16
16
 
17
17
  // 线条显色
18
18
  @grey-d: #c9d2dd;
@@ -1,5 +1,5 @@
1
1
  @import '../utils/colorPalette';
2
- @blue-6-hover: #005df4;
2
+ @blue-6-hover: var(--blue-5);
3
3
  @blue-6: var(--blue-6); // #126bfb;
4
4
  @purple-6: var(--purple-6); // #722ed1;
5
5
  @cyan-6: var(--cyan-6); //#13c2c2;
@@ -19,9 +19,9 @@
19
19
  @grey-split: #e1e6ee; // 分割线 常用于表格、collapse
20
20
 
21
21
  // 背景色
22
- @bg-disabled: var(--fill-color-tertiary);
22
+ @bg-disabled: #f1f2f5;
23
23
  @bg-grey-default: #f1f2f5;
24
- @bg-grey-first: #fafafa;
24
+ @bg-grey-first: #f8f9fb;
25
25
  @bg-grey-second: #f3f4f6;
26
26
 
27
27
  // color palettes
@@ -125,3 +125,42 @@
125
125
  @gold-10: var(--gold-10);
126
126
  @white: var(--white);
127
127
  @text-color: var(--text-color);
128
+
129
+ /** 非颜色变量(这些变量暂时不用,直接用lessVars3.x.less) */
130
+ // @font-size-base: var(--font-size-base);
131
+ // @heading-1-size: var(--heading-1-size);
132
+ // @heading-2-size: var(--heading-2-size);
133
+ // @heading-3-size: var(--heading-3-size);
134
+ // @heading-4-size: var(--heading-4-size);
135
+ // @line-height-sm: var(--line-height-sm);
136
+ // @line-height-lg: var(--line-height-lg);
137
+ // @line-height-xl: var(--line-height-xl);
138
+ // @heading-1-line-height: var(--heading-1-line-height);
139
+ // @heading-2-line-height: var(--heading-2-line-height);
140
+ // @heading-3-line-height: var(--heading-3-line-height);
141
+ // @heading-4-line-height: var(--heading-4-line-height);
142
+ @border-radius-base: var(--border-radius-base);
143
+ @border-radius-sm: var(--border-radius-sm);
144
+ @border-radius-xs: var(--border-radius-xs);
145
+ @border-radius-lg: var(--border-radius-lg);
146
+ // @padding-xxs: var(--padding-xxs);
147
+ // @padding-base: var(--padding-base);
148
+ // @padding-xxl: var(--padding-xxl);
149
+ // @padding-xl: var(--padding-xl);
150
+ // @padding-lg: var(--padding-lg);
151
+ // @padding-md: var(--padding-md);
152
+ // @margin-xxs: var(--margin-xxs);
153
+ // @margin-xs: var(--margin-xs);
154
+ // @margin-sm: var(--margin-sm);
155
+ // @margin-base: var(--margin-base);
156
+ // @margin-md: var(--margin-md);
157
+ // @margin-lg: var(--margin-lg);
158
+ // @margin-xl: var(--margin-xl);
159
+ // @margin-xxl: var(--margin-xxl);
160
+ // @box-shadow-md: var(--box-shadow-md);
161
+ // @box-shadow-lg: var(--box-shadow-lg);
162
+
163
+ /** 这几个变量涉及到计算,所以不能变成css变量 */
164
+ @padding-sm: 12px;
165
+ @padding-xs: 8px;
166
+ @line-height-base: 22 / 14;
@@ -10,10 +10,10 @@
10
10
  @heading-2-line-height: 32 / 24;
11
11
  @heading-3-line-height: 26 / 18;
12
12
  @heading-4-line-height: 24 / 16;
13
- @border-radius-base: 8px;
14
- @border-radius-sm: 2px;
15
- @border-radius-xs: 4px;
16
- @border-radius-lg: 20px;
13
+ // @border-radius-base: 2px;
14
+ // @border-radius-sm: 2px;
15
+ // @border-radius-xs: 4px;
16
+ // @border-radius-lg: 20px;
17
17
  @padding-xxs: 4px;
18
18
  @padding-base: 16px;
19
19
  @padding-xxl: 48px;
@@ -32,5 +32,3 @@
32
32
  @margin-xxl: 48px;
33
33
  @box-shadow-md: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
34
34
  @box-shadow-lg: 0px 0px 25px 0px rgba(0, 0, 0, 0.1), 0px 0px 5px -5px rgba(0, 0, 0, 0.05);
35
-
36
-
@@ -1,6 +1,6 @@
1
1
  /* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
2
- @import './colors';
3
- @import './lessVars2.x.less';
2
+ @import './colors.less';
3
+ @import './lessVars3.x.less';
4
4
 
5
5
  // The prefix to use on all css classes from ant.
6
6
  @ant-prefix: ant;
@@ -47,7 +47,7 @@
47
47
  'Segoe UI Emoji', 'Segoe UI Symbol';
48
48
  @code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
49
49
  @text-color: #17233d; //fade(@black, 65%);
50
- @text-color-secondary: var(--text-color-secondary); //fade(@black, 45%);
50
+ @text-color-secondary: #454f64; //fade(@black, 45%);
51
51
  @text-color-inverse: @white;
52
52
  @icon-color: inherit;
53
53
  @icon-color-hover: fade(@black, 75%);
@@ -247,7 +247,7 @@
247
247
 
248
248
  // Grid system
249
249
  @grid-columns: 24;
250
- @grid-gutter-width: 0;
250
+ @grid-gutter-width: 0px;
251
251
 
252
252
  // Layout
253
253
  @layout-body-background: #f0f2f5;
@@ -412,7 +412,7 @@
412
412
  @table-header-color: @text-color; //@heading-color;
413
413
  @table-header-sort-bg: @background-color-base;
414
414
  @table-body-sort-bg: rgba(0, 0, 0, 0.01);
415
- @table-row-hover-bg: @primary-1;
415
+ @table-row-hover-bg: #fff;
416
416
  @table-selected-row-color: inherit;
417
417
  @table-selected-row-bg: @primary-1;
418
418
  @table-expanded-row-bg: #fbfbfb;
@@ -522,7 +522,7 @@
522
522
  // ---
523
523
  @switch-height: 24px;
524
524
  @switch-sm-height: 20px;
525
- @switch-sm-checked-margin-left: -(@switch-sm-height - 3px);
525
+ @switch-sm-checked-margin-left: 3px - @switch-sm-height;
526
526
  @switch-disabled-opacity: 0.4;
527
527
  @switch-color: @primary-color;
528
528
  @switch-shadow-color: fade(#00230b, 20%);
@@ -692,5 +692,6 @@
692
692
  @fill-color-quaternary: #f8f9fb;
693
693
  @bg-color-quaternary: #f8f9fb;
694
694
  @bg-color-spotilight: #17233d;
695
+ @bg-color-spotilight-tint-50: #8b919e;
695
696
  @size-step-base: 4;
696
697
  @size-step-unit: 4;