naive-ui 2.20.3 → 2.21.0

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 (332) hide show
  1. package/es/_internal/select-menu/src/SelectMenu.d.ts +3 -0
  2. package/es/_internal/selection/src/Selection.d.ts +3 -0
  3. package/es/_internal/suffix/src/Suffix.d.ts +4 -1
  4. package/es/_internal/suffix/src/Suffix.js +4 -1
  5. package/es/_styles/common/dark.js +1 -1
  6. package/es/_styles/common/light.d.ts +3 -0
  7. package/es/_styles/common/light.js +5 -2
  8. package/es/_styles/global/index.cssr.js +9 -4
  9. package/es/_styles/transitions/icon-switch.cssr.js +6 -2
  10. package/es/_utils/naive/extract-public-props.d.ts +1 -1
  11. package/es/alert/src/Alert.d.ts +3 -0
  12. package/es/auto-complete/src/AutoComplete.d.ts +8 -1
  13. package/es/auto-complete/src/AutoComplete.js +2 -2
  14. package/es/avatar/src/Avatar.d.ts +8 -1
  15. package/es/avatar/src/Avatar.js +41 -9
  16. package/es/avatar/src/styles/index.cssr.js +2 -2
  17. package/es/button/src/Button.d.ts +149 -52
  18. package/es/button/src/Button.js +128 -56
  19. package/es/button/src/interface.d.ts +1 -1
  20. package/es/button/styles/dark.js +3 -0
  21. package/es/button/styles/light.d.ts +14 -5
  22. package/es/button/styles/light.js +10 -3
  23. package/es/calendar/src/Calendar.d.ts +143 -50
  24. package/es/calendar/styles/light.d.ts +14 -5
  25. package/es/card/src/Card.d.ts +3 -0
  26. package/es/cascader/src/Cascader.d.ts +3 -0
  27. package/es/cascader/src/CascaderOption.d.ts +3 -0
  28. package/es/cascader/src/CascaderSelectMenu.d.ts +3 -0
  29. package/es/cascader/src/CascaderSubmenu.d.ts +3 -0
  30. package/es/checkbox/src/Checkbox.d.ts +8 -5
  31. package/es/checkbox/src/Checkbox.js +3 -3
  32. package/es/collapse/src/Collapse.d.ts +3 -0
  33. package/es/color-picker/src/ColorInputUnit.d.ts +17 -5
  34. package/es/color-picker/src/ColorPicker.d.ts +126 -45
  35. package/es/color-picker/styles/light.d.ts +14 -5
  36. package/es/data-table/src/DataTable.d.ts +183 -51
  37. package/es/data-table/src/DataTable.js +11 -6
  38. package/es/data-table/src/HeaderButton/FilterButton.d.ts +20 -5
  39. package/es/data-table/src/HeaderButton/FilterMenu.d.ts +20 -5
  40. package/es/data-table/src/TableParts/Body.d.ts +25 -6
  41. package/es/data-table/src/TableParts/Body.js +60 -22
  42. package/es/data-table/src/TableParts/BodyCheckbox.js +1 -1
  43. package/es/data-table/src/TableParts/Cell.d.ts +40 -10
  44. package/es/data-table/src/TableParts/Header.d.ts +20 -5
  45. package/es/data-table/src/TableParts/Header.js +1 -1
  46. package/es/data-table/src/interface.d.ts +4 -1
  47. package/es/data-table/src/styles/index.cssr.js +8 -9
  48. package/es/data-table/styles/light.d.ts +20 -5
  49. package/es/data-table/styles/light.js +3 -3
  50. package/es/date-picker/src/DatePicker.d.ts +298 -105
  51. package/es/date-picker/src/panel/date.d.ts +45 -15
  52. package/es/date-picker/src/panel/daterange.d.ts +45 -15
  53. package/es/date-picker/src/panel/datetime.d.ts +45 -15
  54. package/es/date-picker/src/panel/datetimerange.d.ts +45 -15
  55. package/es/date-picker/src/panel/month.d.ts +45 -15
  56. package/es/date-picker/src/panel/use-calendar.d.ts +45 -15
  57. package/es/date-picker/src/panel/use-dual-calendar.d.ts +45 -15
  58. package/es/date-picker/src/panel/use-panel-common.d.ts +45 -15
  59. package/es/date-picker/styles/light.d.ts +28 -10
  60. package/es/dialog/src/Dialog.d.ts +101 -35
  61. package/es/dialog/styles/light.d.ts +14 -5
  62. package/es/drawer/src/Drawer.d.ts +3 -0
  63. package/es/drawer/src/DrawerBodyWrapper.d.ts +3 -0
  64. package/es/drawer/src/DrawerContent.d.ts +3 -0
  65. package/es/dropdown/index.d.ts +1 -1
  66. package/es/dropdown/src/Dropdown.d.ts +5 -2
  67. package/es/dropdown/src/DropdownGroup.d.ts +2 -3
  68. package/es/dropdown/src/DropdownMenu.d.ts +3 -4
  69. package/es/dropdown/src/DropdownMenu.js +5 -4
  70. package/es/dropdown/src/DropdownOption.d.ts +3 -4
  71. package/es/dropdown/src/DropdownOption.js +2 -2
  72. package/es/dropdown/src/DropdownRenderOption.d.ts +2 -3
  73. package/es/dropdown/src/interface.d.ts +9 -30
  74. package/es/dropdown/src/utils.d.ts +1 -0
  75. package/es/dropdown/src/utils.js +10 -0
  76. package/es/dynamic-input/src/DynamicInput.d.ts +143 -50
  77. package/es/dynamic-input/src/InputPreset.d.ts +17 -5
  78. package/es/dynamic-input/src/PairPreset.d.ts +17 -5
  79. package/es/dynamic-input/styles/light.d.ts +14 -5
  80. package/es/dynamic-tags/src/DynamicTags.d.ts +144 -50
  81. package/es/dynamic-tags/styles/light.d.ts +14 -5
  82. package/es/ellipsis/src/Ellipsis.d.ts +3 -0
  83. package/es/global-style/src/GlobalStyle.js +2 -0
  84. package/es/input/src/Input.d.ts +4 -0
  85. package/es/input/src/Input.js +6 -0
  86. package/es/input/src/interface.d.ts +1 -0
  87. package/es/input-number/src/InputNumber.d.ts +144 -50
  88. package/es/input-number/styles/light.d.ts +14 -5
  89. package/es/layout/src/Layout.d.ts +6 -0
  90. package/es/layout/src/LayoutContent.d.ts +3 -0
  91. package/es/layout/src/LayoutSider.d.ts +3 -0
  92. package/es/log/src/Log.d.ts +3 -0
  93. package/es/mention/src/Mention.d.ts +4 -0
  94. package/es/menu/index.d.ts +1 -1
  95. package/es/menu/src/Menu.d.ts +19 -6
  96. package/es/menu/src/Menu.js +2 -1
  97. package/es/menu/src/MenuDivider.d.ts +2 -0
  98. package/es/menu/src/MenuDivider.js +11 -0
  99. package/es/menu/src/MenuOption.d.ts +8 -1
  100. package/es/menu/src/MenuOptionContent.d.ts +4 -1
  101. package/es/menu/src/Submenu.d.ts +18 -16
  102. package/es/menu/src/interface.d.ts +23 -4
  103. package/es/menu/src/styles/index.cssr.js +6 -1
  104. package/es/menu/src/utils.d.ts +4 -2
  105. package/es/menu/src/utils.js +16 -2
  106. package/es/menu/styles/light.d.ts +2 -0
  107. package/es/menu/styles/light.js +3 -2
  108. package/es/modal/src/BodyWrapper.d.ts +31 -10
  109. package/es/modal/src/Modal.d.ts +168 -60
  110. package/es/modal/styles/light.d.ts +14 -5
  111. package/es/notification/src/NotificationContainer.d.ts +3 -0
  112. package/es/pagination/src/Pagination.d.ts +4 -0
  113. package/es/popconfirm/src/Popconfirm.d.ts +143 -50
  114. package/es/popconfirm/styles/light.d.ts +14 -5
  115. package/es/popselect/src/Popselect.d.ts +3 -0
  116. package/es/popselect/src/PopselectPanel.d.ts +3 -0
  117. package/es/radio/src/Radio.d.ts +3 -0
  118. package/es/radio/src/RadioButton.d.ts +3 -0
  119. package/es/radio/src/use-radio.d.ts +2 -0
  120. package/es/radio/src/use-radio.js +6 -3
  121. package/es/select/src/Select.d.ts +3 -0
  122. package/es/slider/src/Slider.d.ts +70 -91
  123. package/es/slider/src/Slider.js +326 -583
  124. package/es/slider/src/interface.d.ts +1 -1
  125. package/es/slider/src/styles/index.cssr.js +86 -16
  126. package/es/slider/src/utils.d.ts +10 -1
  127. package/es/slider/src/utils.js +9 -0
  128. package/es/slider/styles/_common.d.ts +1 -0
  129. package/es/slider/styles/_common.js +1 -0
  130. package/es/slider/styles/light.d.ts +1 -0
  131. package/es/space/src/Space.js +2 -0
  132. package/es/steps/src/Step.js +1 -1
  133. package/es/table/src/Table.d.ts +35 -0
  134. package/es/table/src/Table.js +8 -4
  135. package/es/table/src/styles/index.cssr.js +1 -1
  136. package/es/table/styles/light.d.ts +3 -0
  137. package/es/table/styles/light.js +2 -2
  138. package/es/tabs/index.d.ts +2 -0
  139. package/es/tabs/index.js +1 -0
  140. package/es/tabs/src/Tab.d.ts +35 -18
  141. package/es/tabs/src/Tab.js +11 -12
  142. package/es/tabs/src/Tabs.js +58 -18
  143. package/es/tag/src/Tag.d.ts +8 -3
  144. package/es/tag/src/Tag.js +10 -2
  145. package/es/tag/src/styles/index.cssr.js +10 -5
  146. package/es/tag/src/styles/rtl.cssr.js +7 -1
  147. package/es/theme-editor/src/ThemeEditor.d.ts +3 -0
  148. package/es/time-picker/src/Panel.d.ts +17 -5
  149. package/es/time-picker/src/TimePicker.d.ts +144 -50
  150. package/es/time-picker/styles/light.d.ts +14 -5
  151. package/es/tooltip/src/Tooltip.d.ts +3 -0
  152. package/es/transfer/src/Transfer.d.ts +143 -50
  153. package/es/transfer/src/TransferFilter.d.ts +17 -5
  154. package/es/transfer/src/TransferList.d.ts +17 -5
  155. package/es/transfer/src/TransferListItem.d.ts +17 -5
  156. package/es/transfer/styles/light.d.ts +14 -5
  157. package/es/tree/src/Tree.d.ts +3 -0
  158. package/es/tree/src/TreeNodeCheckbox.d.ts +3 -0
  159. package/es/tree-select/src/TreeSelect.d.ts +3 -0
  160. package/es/upload/src/Upload.d.ts +143 -50
  161. package/es/upload/src/UploadFile.d.ts +18 -6
  162. package/es/upload/src/UploadProgress.d.ts +17 -5
  163. package/es/upload/styles/light.d.ts +14 -5
  164. package/es/version.d.ts +1 -1
  165. package/es/version.js +1 -1
  166. package/lib/_internal/select-menu/src/SelectMenu.d.ts +3 -0
  167. package/lib/_internal/selection/src/Selection.d.ts +3 -0
  168. package/lib/_internal/suffix/src/Suffix.d.ts +4 -1
  169. package/lib/_internal/suffix/src/Suffix.js +4 -1
  170. package/lib/_styles/common/dark.js +1 -1
  171. package/lib/_styles/common/light.d.ts +3 -0
  172. package/lib/_styles/common/light.js +5 -2
  173. package/lib/_styles/global/index.cssr.js +10 -5
  174. package/lib/_styles/transitions/icon-switch.cssr.js +7 -2
  175. package/lib/_utils/naive/extract-public-props.d.ts +1 -1
  176. package/lib/alert/src/Alert.d.ts +3 -0
  177. package/lib/auto-complete/src/AutoComplete.d.ts +8 -1
  178. package/lib/auto-complete/src/AutoComplete.js +2 -2
  179. package/lib/avatar/src/Avatar.d.ts +8 -1
  180. package/lib/avatar/src/Avatar.js +40 -8
  181. package/lib/avatar/src/styles/index.cssr.js +2 -2
  182. package/lib/button/src/Button.d.ts +149 -52
  183. package/lib/button/src/Button.js +126 -54
  184. package/lib/button/src/interface.d.ts +1 -1
  185. package/lib/button/styles/dark.js +3 -0
  186. package/lib/button/styles/light.d.ts +14 -5
  187. package/lib/button/styles/light.js +10 -3
  188. package/lib/calendar/src/Calendar.d.ts +143 -50
  189. package/lib/calendar/styles/light.d.ts +14 -5
  190. package/lib/card/src/Card.d.ts +3 -0
  191. package/lib/cascader/src/Cascader.d.ts +3 -0
  192. package/lib/cascader/src/CascaderOption.d.ts +3 -0
  193. package/lib/cascader/src/CascaderSelectMenu.d.ts +3 -0
  194. package/lib/cascader/src/CascaderSubmenu.d.ts +3 -0
  195. package/lib/checkbox/src/Checkbox.d.ts +8 -5
  196. package/lib/checkbox/src/Checkbox.js +3 -3
  197. package/lib/collapse/src/Collapse.d.ts +3 -0
  198. package/lib/color-picker/src/ColorInputUnit.d.ts +17 -5
  199. package/lib/color-picker/src/ColorPicker.d.ts +126 -45
  200. package/lib/color-picker/styles/light.d.ts +14 -5
  201. package/lib/data-table/src/DataTable.d.ts +183 -51
  202. package/lib/data-table/src/DataTable.js +11 -6
  203. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +20 -5
  204. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +20 -5
  205. package/lib/data-table/src/TableParts/Body.d.ts +25 -6
  206. package/lib/data-table/src/TableParts/Body.js +60 -22
  207. package/lib/data-table/src/TableParts/BodyCheckbox.js +1 -1
  208. package/lib/data-table/src/TableParts/Cell.d.ts +40 -10
  209. package/lib/data-table/src/TableParts/Header.d.ts +20 -5
  210. package/lib/data-table/src/TableParts/Header.js +1 -1
  211. package/lib/data-table/src/interface.d.ts +4 -1
  212. package/lib/data-table/src/styles/index.cssr.js +8 -9
  213. package/lib/data-table/styles/light.d.ts +20 -5
  214. package/lib/data-table/styles/light.js +3 -3
  215. package/lib/date-picker/src/DatePicker.d.ts +298 -105
  216. package/lib/date-picker/src/panel/date.d.ts +45 -15
  217. package/lib/date-picker/src/panel/daterange.d.ts +45 -15
  218. package/lib/date-picker/src/panel/datetime.d.ts +45 -15
  219. package/lib/date-picker/src/panel/datetimerange.d.ts +45 -15
  220. package/lib/date-picker/src/panel/month.d.ts +45 -15
  221. package/lib/date-picker/src/panel/use-calendar.d.ts +45 -15
  222. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +45 -15
  223. package/lib/date-picker/src/panel/use-panel-common.d.ts +45 -15
  224. package/lib/date-picker/styles/light.d.ts +28 -10
  225. package/lib/dialog/src/Dialog.d.ts +101 -35
  226. package/lib/dialog/styles/light.d.ts +14 -5
  227. package/lib/drawer/src/Drawer.d.ts +3 -0
  228. package/lib/drawer/src/DrawerBodyWrapper.d.ts +3 -0
  229. package/lib/drawer/src/DrawerContent.d.ts +3 -0
  230. package/lib/dropdown/index.d.ts +1 -1
  231. package/lib/dropdown/src/Dropdown.d.ts +5 -2
  232. package/lib/dropdown/src/DropdownGroup.d.ts +2 -3
  233. package/lib/dropdown/src/DropdownMenu.d.ts +3 -4
  234. package/lib/dropdown/src/DropdownMenu.js +5 -4
  235. package/lib/dropdown/src/DropdownOption.d.ts +3 -4
  236. package/lib/dropdown/src/DropdownOption.js +1 -1
  237. package/lib/dropdown/src/DropdownRenderOption.d.ts +2 -3
  238. package/lib/dropdown/src/interface.d.ts +9 -30
  239. package/lib/dropdown/src/utils.d.ts +1 -0
  240. package/lib/dropdown/src/utils.js +12 -1
  241. package/lib/dynamic-input/src/DynamicInput.d.ts +143 -50
  242. package/lib/dynamic-input/src/InputPreset.d.ts +17 -5
  243. package/lib/dynamic-input/src/PairPreset.d.ts +17 -5
  244. package/lib/dynamic-input/styles/light.d.ts +14 -5
  245. package/lib/dynamic-tags/src/DynamicTags.d.ts +144 -50
  246. package/lib/dynamic-tags/styles/light.d.ts +14 -5
  247. package/lib/ellipsis/src/Ellipsis.d.ts +3 -0
  248. package/lib/global-style/src/GlobalStyle.js +2 -0
  249. package/lib/input/src/Input.d.ts +4 -0
  250. package/lib/input/src/Input.js +6 -0
  251. package/lib/input/src/interface.d.ts +1 -0
  252. package/lib/input-number/src/InputNumber.d.ts +144 -50
  253. package/lib/input-number/styles/light.d.ts +14 -5
  254. package/lib/layout/src/Layout.d.ts +6 -0
  255. package/lib/layout/src/LayoutContent.d.ts +3 -0
  256. package/lib/layout/src/LayoutSider.d.ts +3 -0
  257. package/lib/log/src/Log.d.ts +3 -0
  258. package/lib/mention/src/Mention.d.ts +4 -0
  259. package/lib/menu/index.d.ts +1 -1
  260. package/lib/menu/src/Menu.d.ts +19 -6
  261. package/lib/menu/src/Menu.js +2 -1
  262. package/lib/menu/src/MenuDivider.d.ts +2 -0
  263. package/lib/menu/src/MenuDivider.js +13 -0
  264. package/lib/menu/src/MenuOption.d.ts +8 -1
  265. package/lib/menu/src/MenuOptionContent.d.ts +4 -1
  266. package/lib/menu/src/Submenu.d.ts +18 -16
  267. package/lib/menu/src/interface.d.ts +23 -4
  268. package/lib/menu/src/styles/index.cssr.js +6 -1
  269. package/lib/menu/src/utils.d.ts +4 -2
  270. package/lib/menu/src/utils.js +22 -3
  271. package/lib/menu/styles/light.d.ts +2 -0
  272. package/lib/menu/styles/light.js +3 -2
  273. package/lib/modal/src/BodyWrapper.d.ts +31 -10
  274. package/lib/modal/src/Modal.d.ts +168 -60
  275. package/lib/modal/styles/light.d.ts +14 -5
  276. package/lib/notification/src/NotificationContainer.d.ts +3 -0
  277. package/lib/pagination/src/Pagination.d.ts +4 -0
  278. package/lib/popconfirm/src/Popconfirm.d.ts +143 -50
  279. package/lib/popconfirm/styles/light.d.ts +14 -5
  280. package/lib/popselect/src/Popselect.d.ts +3 -0
  281. package/lib/popselect/src/PopselectPanel.d.ts +3 -0
  282. package/lib/radio/src/Radio.d.ts +3 -0
  283. package/lib/radio/src/RadioButton.d.ts +3 -0
  284. package/lib/radio/src/use-radio.d.ts +2 -0
  285. package/lib/radio/src/use-radio.js +6 -3
  286. package/lib/select/src/Select.d.ts +3 -0
  287. package/lib/slider/src/Slider.d.ts +70 -91
  288. package/lib/slider/src/Slider.js +324 -581
  289. package/lib/slider/src/interface.d.ts +1 -1
  290. package/lib/slider/src/styles/index.cssr.js +86 -16
  291. package/lib/slider/src/utils.d.ts +10 -1
  292. package/lib/slider/src/utils.js +11 -1
  293. package/lib/slider/styles/_common.d.ts +1 -0
  294. package/lib/slider/styles/_common.js +1 -0
  295. package/lib/slider/styles/light.d.ts +1 -0
  296. package/lib/space/src/Space.js +2 -0
  297. package/lib/steps/src/Step.js +1 -1
  298. package/lib/table/src/Table.d.ts +35 -0
  299. package/lib/table/src/Table.js +8 -4
  300. package/lib/table/src/styles/index.cssr.js +1 -1
  301. package/lib/table/styles/light.d.ts +3 -0
  302. package/lib/table/styles/light.js +2 -2
  303. package/lib/tabs/index.d.ts +2 -0
  304. package/lib/tabs/index.js +3 -1
  305. package/lib/tabs/src/Tab.d.ts +35 -18
  306. package/lib/tabs/src/Tab.js +10 -11
  307. package/lib/tabs/src/Tabs.js +57 -17
  308. package/lib/tag/src/Tag.d.ts +8 -3
  309. package/lib/tag/src/Tag.js +10 -1
  310. package/lib/tag/src/styles/index.cssr.js +10 -5
  311. package/lib/tag/src/styles/rtl.cssr.js +7 -1
  312. package/lib/theme-editor/src/ThemeEditor.d.ts +3 -0
  313. package/lib/time-picker/src/Panel.d.ts +17 -5
  314. package/lib/time-picker/src/TimePicker.d.ts +144 -50
  315. package/lib/time-picker/styles/light.d.ts +14 -5
  316. package/lib/tooltip/src/Tooltip.d.ts +3 -0
  317. package/lib/transfer/src/Transfer.d.ts +143 -50
  318. package/lib/transfer/src/TransferFilter.d.ts +17 -5
  319. package/lib/transfer/src/TransferList.d.ts +17 -5
  320. package/lib/transfer/src/TransferListItem.d.ts +17 -5
  321. package/lib/transfer/styles/light.d.ts +14 -5
  322. package/lib/tree/src/Tree.d.ts +3 -0
  323. package/lib/tree/src/TreeNodeCheckbox.d.ts +3 -0
  324. package/lib/tree-select/src/TreeSelect.d.ts +3 -0
  325. package/lib/upload/src/Upload.d.ts +143 -50
  326. package/lib/upload/src/UploadFile.d.ts +18 -6
  327. package/lib/upload/src/UploadProgress.d.ts +17 -5
  328. package/lib/upload/styles/light.d.ts +14 -5
  329. package/lib/version.d.ts +1 -1
  330. package/lib/version.js +1 -1
  331. package/package.json +3 -3
  332. package/web-types.json +146 -9
@@ -1,4 +1,4 @@
1
- import { h, ref, defineComponent, computed, provide, watch, toRef, nextTick, withDirectives, vShow, watchEffect } from 'vue';
1
+ import { h, ref, defineComponent, computed, provide, watch, toRef, nextTick, withDirectives, vShow, watchEffect, cloneVNode } from 'vue';
2
2
  import { VResizeObserver, VXScroll } from 'vueuc';
3
3
  import { throttle } from 'lodash-es';
4
4
  import { useCompitable, onFontsReady, useMergedState } from 'vooks';
@@ -285,11 +285,17 @@ export default defineComponent({
285
285
  },
286
286
  render() {
287
287
  const { mergedClsPrefix, type, addTabFixed, addable, mergedSize, $slots: { default: defaultSlot, prefix: prefixSlot, suffix: suffixSlot } } = this;
288
- const children = defaultSlot
288
+ const tabPaneChildren = defaultSlot
289
289
  ? flatten(defaultSlot()).filter((v) => {
290
290
  return v.type.__TAB_PANE__ === true;
291
291
  })
292
292
  : [];
293
+ const tabChildren = defaultSlot
294
+ ? flatten(defaultSlot()).filter((v) => {
295
+ return v.type.__TAB__ === true;
296
+ })
297
+ : [];
298
+ const showPane = !tabChildren.length;
293
299
  const prefix = prefixSlot ? prefixSlot() : null;
294
300
  const suffix = suffixSlot ? suffixSlot() : null;
295
301
  const isCard = type === 'card';
@@ -310,27 +316,48 @@ export default defineComponent({
310
316
  `${mergedClsPrefix}-tabs-nav`
311
317
  ] },
312
318
  prefix ? (h("div", { class: `${mergedClsPrefix}-tabs-nav__prefix` }, prefix)) : null,
313
- isSegment ? (h("div", { class: `${mergedClsPrefix}-tabs-rail` }, children.map((tabPaneVNode, index) => {
314
- return (h(Tab, Object.assign({}, tabPaneVNode.props, { leftPadded: index !== 0 }), tabPaneVNode.children
315
- ? {
316
- default: tabPaneVNode.children.tab
319
+ isSegment ? (h("div", { class: `${mergedClsPrefix}-tabs-rail` }, showPane
320
+ ? tabPaneChildren.map((tabPaneVNode, index) => {
321
+ return (h(Tab, Object.assign({}, tabPaneVNode.props, { internalLeftPadded: index !== 0 }), tabPaneVNode.children
322
+ ? {
323
+ default: tabPaneVNode.children.tab
324
+ }
325
+ : undefined));
326
+ })
327
+ : tabChildren.map((tabVNode, index) => {
328
+ if (index === 0) {
329
+ return tabVNode;
330
+ }
331
+ else {
332
+ return createLeftPaddedTabVNode(tabVNode);
317
333
  }
318
- : undefined));
319
- }))) : (h(VResizeObserver, { onResize: this.handleNavResize }, {
334
+ }))) : (h(VResizeObserver, { onResize: this.handleNavResize }, {
320
335
  default: () => (h("div", { class: `${mergedClsPrefix}-tabs-nav-scroll-wrapper`, ref: "scrollWrapperElRef" },
321
336
  h(VXScroll, { ref: "xScrollInstRef", onScroll: this.handleScroll }, {
322
337
  default: () => {
323
338
  const rawWrappedTabs = (h("div", { style: this.tabWrapperStyle, class: `${mergedClsPrefix}-tabs-wrapper` },
324
339
  mergedJustifyContent ? null : (h("div", { class: `${mergedClsPrefix}-tabs-scroll-padding`, style: { width: `${this.tabsPadding}px` } })),
325
- children.map((tabPaneVNode, index) => {
326
- return (h(Tab, Object.assign({}, tabPaneVNode.props, { leftPadded: index !== 0 && !mergedJustifyContent }), tabPaneVNode.children
327
- ? {
328
- default: tabPaneVNode.children.tab
340
+ showPane
341
+ ? tabPaneChildren.map((tabPaneVNode, index) => {
342
+ return (h(Tab, Object.assign({}, tabPaneVNode.props, { internalLeftPadded: index !== 0 && !mergedJustifyContent }), tabPaneVNode.children
343
+ ? {
344
+ default: tabPaneVNode.children.tab
345
+ }
346
+ : undefined));
347
+ })
348
+ : tabChildren.map((tabVNode, index) => {
349
+ if (index !== 0 &&
350
+ !mergedJustifyContent) {
351
+ return createLeftPaddedTabVNode(tabVNode);
329
352
  }
330
- : undefined));
331
- }),
353
+ else {
354
+ return tabVNode;
355
+ }
356
+ }),
332
357
  !addTabFixed && addable && isCard
333
- ? createAddTag(addable, children.length !== 0)
358
+ ? createAddTag(addable, (showPane
359
+ ? tabPaneChildren.length
360
+ : tabChildren.length) !== 0)
334
361
  : null,
335
362
  mergedJustifyContent ? null : (h("div", { class: `${mergedClsPrefix}-tabs-scroll-padding`, style: { width: `${this.tabsPadding}px` } }))));
336
363
  let wrappedTabs = rawWrappedTabs;
@@ -350,7 +377,8 @@ export default defineComponent({
350
377
  ? createAddTag(addable, true)
351
378
  : null,
352
379
  suffix ? (h("div", { class: `${mergedClsPrefix}-tabs-nav__suffix` }, suffix)) : null),
353
- filterMapTabPanes(children, this.mergedValue, this.renderedNames)));
380
+ showPane &&
381
+ filterMapTabPanes(tabPaneChildren, this.mergedValue, this.renderedNames)));
354
382
  }
355
383
  });
356
384
  function filterMapTabPanes(tabPaneVNodes, value, renderedNames) {
@@ -374,6 +402,18 @@ function filterMapTabPanes(tabPaneVNodes, value, renderedNames) {
374
402
  });
375
403
  return children;
376
404
  }
377
- function createAddTag(addable, leftPadded) {
378
- return (h(Tab, { ref: "addTabInstRef", key: "__addable", name: "__addable", addable: true, leftPadded: leftPadded, disabled: typeof addable === 'object' && addable.disabled }));
405
+ function createAddTag(addable, internalLeftPadded) {
406
+ return (h(Tab, { ref: "addTabInstRef", key: "__addable", name: "__addable", internalAddable: true, internalLeftPadded: internalLeftPadded, disabled: typeof addable === 'object' && addable.disabled }));
407
+ }
408
+ function createLeftPaddedTabVNode(tabVNode) {
409
+ const modifiedVNode = cloneVNode(tabVNode);
410
+ if (modifiedVNode.props) {
411
+ modifiedVNode.props.internalLeftPadded = true;
412
+ }
413
+ else {
414
+ modifiedVNode.props = {
415
+ internalLeftPadded: true
416
+ };
417
+ }
418
+ return modifiedVNode;
379
419
  }
@@ -1,4 +1,4 @@
1
- import { PropType } from 'vue';
1
+ import { PropType, InjectionKey, Ref } from 'vue';
2
2
  import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
3
3
  export interface TagPublicMethods {
4
4
  setTextContent: (textContent: string) => void;
@@ -226,6 +226,10 @@ declare const tagProps: {
226
226
  closeMarginRtl: string;
227
227
  }, any>>>;
228
228
  };
229
+ interface TagInjection {
230
+ roundRef: Ref<boolean>;
231
+ }
232
+ export declare const tagInjectionKey: InjectionKey<TagInjection>;
229
233
  export declare type TagProps = ExtractPublicPropTypes<typeof tagProps>;
230
234
  declare const _default: import("vue").DefineComponent<{
231
235
  bordered: {
@@ -447,13 +451,14 @@ declare const _default: import("vue").DefineComponent<{
447
451
  closeMarginRtl: string;
448
452
  }, any>>>;
449
453
  }, {
450
- rtlEnabled: import("vue").Ref<import("../../config-provider/src/internal-interface").RtlItem | undefined> | undefined;
454
+ rtlEnabled: Ref<import("../../config-provider/src/internal-interface").RtlItem | undefined> | undefined;
451
455
  mergedClsPrefix: import("vue").ComputedRef<string>;
452
- contentRef: import("vue").Ref<HTMLElement | null>;
456
+ contentRef: Ref<HTMLElement | null>;
453
457
  mergedBordered: import("vue").ComputedRef<boolean>;
454
458
  handleClick: (e: MouseEvent) => void;
455
459
  handleCloseClick: (e: MouseEvent) => void;
456
460
  cssVars: import("vue").ComputedRef<{
461
+ '--avatar-size-override': string;
457
462
  '--bezier': string;
458
463
  '--border-radius': string;
459
464
  '--border': string;
package/es/tag/src/Tag.js CHANGED
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, computed, ref } from 'vue';
1
+ import { h, defineComponent, computed, ref, provide, toRef } from 'vue';
2
2
  import { useConfig, useTheme } from '../../_mixins';
3
3
  import { NBaseClose } from '../../_internal';
4
4
  import { warn, createKey, call } from '../../_utils';
@@ -23,6 +23,7 @@ const tagProps = Object.assign(Object.assign(Object.assign({}, useTheme.props),
23
23
  },
24
24
  default: undefined
25
25
  } });
26
+ export const tagInjectionKey = Symbol('tag');
26
27
  export default defineComponent({
27
28
  name: 'Tag',
28
29
  props: tagProps,
@@ -30,6 +31,9 @@ export default defineComponent({
30
31
  const contentRef = ref(null);
31
32
  const { mergedBorderedRef, mergedClsPrefixRef, NConfigProvider } = useConfig(props);
32
33
  const themeRef = useTheme('Tag', 'Tag', style, tagLight, props, mergedClsPrefixRef);
34
+ provide(tagInjectionKey, {
35
+ roundRef: toRef(props, 'round')
36
+ });
33
37
  function handleClick(e) {
34
38
  if (!props.disabled) {
35
39
  if (props.checkable) {
@@ -67,6 +71,7 @@ export default defineComponent({
67
71
  const { type, size, color: { color, textColor } = {} } = props;
68
72
  const { common: { cubicBezierEaseInOut }, self: { padding, closeMargin, closeMarginRtl, borderRadius, opacityDisabled, textColorCheckable, textColorHoverCheckable, textColorPressedCheckable, textColorChecked, colorCheckable, colorHoverCheckable, colorPressedCheckable, colorChecked, colorCheckedHover, colorCheckedPressed, [createKey('closeSize', size)]: closeSize, [createKey('fontSize', size)]: fontSize, [createKey('height', size)]: height, [createKey('color', type)]: typedColor, [createKey('textColor', type)]: typeTextColor, [createKey('border', type)]: border, [createKey('closeColor', type)]: closeColor, [createKey('closeColorHover', type)]: closeColorHover, [createKey('closeColorPressed', type)]: closeColorPressed } } = themeRef.value;
69
73
  return {
74
+ '--avatar-size-override': `calc(${height} - 8px)`,
70
75
  '--bezier': cubicBezierEaseInOut,
71
76
  '--border-radius': borderRadius,
72
77
  '--border': border,
@@ -96,7 +101,7 @@ export default defineComponent({
96
101
  }) });
97
102
  },
98
103
  render() {
99
- const { mergedClsPrefix, rtlEnabled, color: { borderColor } = {} } = this;
104
+ const { mergedClsPrefix, rtlEnabled, color: { borderColor } = {}, $slots } = this;
100
105
  return (h("div", { class: [
101
106
  `${mergedClsPrefix}-tag`,
102
107
  {
@@ -107,6 +112,9 @@ export default defineComponent({
107
112
  [`${mergedClsPrefix}-tag--round`]: this.round
108
113
  }
109
114
  ], style: this.cssVars, onClick: this.handleClick, onMouseenter: this.onMouseenter, onMouseleave: this.onMouseleave },
115
+ $slots.avatar && (h("div", { class: `${mergedClsPrefix}-tag__avatar` }, {
116
+ default: $slots.avatar
117
+ })),
110
118
  h("span", { class: `${mergedClsPrefix}-tag__content`, ref: "contentRef" }, this.$slots),
111
119
  !this.checkable && this.closable ? (h(NBaseClose, { clsPrefix: mergedClsPrefix, class: `${mergedClsPrefix}-tag__close`, disabled: this.disabled, onClick: this.handleCloseClick })) : null,
112
120
  !this.checkable && this.mergedBordered ? (h("div", { class: `${mergedClsPrefix}-tag__border`, style: { borderColor } })) : null));
@@ -42,7 +42,7 @@ export default cB('tag', `
42
42
  color .3s var(--bezier),
43
43
  box-shadow .3s var(--bezier),
44
44
  opacity .3s var(--bezier);
45
- line-height: 1.5;
45
+ line-height: 1;
46
46
  height: var(--height);
47
47
  font-size: var(--font-size);
48
48
  `, [cE('border', `
@@ -55,6 +55,9 @@ export default cB('tag', `
55
55
  border-radius: inherit;
56
56
  border: var(--border);
57
57
  transition: border-color .3s var(--bezier);
58
+ `), cE('avatar', `
59
+ display: flex;
60
+ margin-right: 6px;
58
61
  `), cE('close', `
59
62
  font-size: var(--close-size);
60
63
  margin: var(--close-margin);
@@ -63,10 +66,12 @@ export default cB('tag', `
63
66
  `), cM('round', `
64
67
  padding: 0 calc(var(--height) / 2);
65
68
  border-radius: calc(var(--height) / 2);
66
- `), cM('disabled', {
67
- cursor: 'not-allowed !important',
68
- opacity: 'var(--opacity-disabled)'
69
- }), cM('checkable', `
69
+ `, [cE('avatar', `
70
+ margin-left: calc((var(--height) - 8px) / -2);
71
+ `)]), cM('disabled', `
72
+ cursor: not-allowed !important;
73
+ opacity: var(--opacity-disabled);
74
+ `), cM('checkable', `
70
75
  cursor: pointer;
71
76
  box-shadow: none;
72
77
  color: var(--text-color-checkable);
@@ -3,4 +3,10 @@ export default cB('tag', [cM('rtl', `
3
3
  direction: rtl;
4
4
  `, [cE('close', `
5
5
  margin: var(--close-margin-rtl);
6
- `)])]);
6
+ `), cE('avatar', `
7
+ margin-left: 6px;
8
+ margin-right: 0;
9
+ `), cM('round', [cE('avatar', {
10
+ marginLeft: '6px',
11
+ marginRight: '-5px'
12
+ })])])]);
@@ -82,6 +82,9 @@ declare const _default: import("vue").DefineComponent<{}, {
82
82
  pressedColor: string;
83
83
  opacityDisabled: string;
84
84
  inputColorDisabled: string;
85
+ buttonColor2: string;
86
+ buttonColor2Hover: string;
87
+ buttonColor2Pressed: string;
85
88
  boxShadow1: string;
86
89
  boxShadow2: string;
87
90
  boxShadow3: string;
@@ -149,6 +149,9 @@ declare const _default: import("vue").DefineComponent<{
149
149
  pressedColor: string;
150
150
  opacityDisabled: string;
151
151
  inputColorDisabled: string;
152
+ buttonColor2: string;
153
+ buttonColor2Hover: string;
154
+ buttonColor2Pressed: string;
152
155
  boxShadow1: string;
153
156
  boxShadow2: string;
154
157
  boxShadow3: string;
@@ -212,20 +215,30 @@ declare const _default: import("vue").DefineComponent<{
212
215
  fontSizeMedium: string;
213
216
  fontSizeLarge: string;
214
217
  opacityDisabled: string;
218
+ colorOpacitySecondary: number;
219
+ colorOpacitySecondaryHover: number;
220
+ colorOpacitySecondaryPressed: number;
221
+ colorSecondary: string;
222
+ colorSecondaryHover: string;
223
+ colorSecondaryPressed: string;
224
+ colorTertiary: string;
225
+ colorTertiaryHover: string;
226
+ colorTertiaryPressed: string;
227
+ colorQuaternary: string;
228
+ colorQuaternaryHover: string;
229
+ colorQuaternaryPressed: string;
215
230
  color: string;
216
231
  colorHover: string;
217
232
  colorPressed: string;
218
233
  colorFocus: string;
219
234
  colorDisabled: string;
220
235
  textColor: string;
236
+ textColorTertiary: string;
221
237
  textColorHover: string;
222
238
  textColorPressed: string;
223
239
  textColorFocus: string;
224
240
  textColorDisabled: string;
225
241
  textColorText: string;
226
- textColorTextDepth1: string;
227
- textColorTextDepth2: string;
228
- textColorTextDepth3: string;
229
242
  textColorTextHover: string;
230
243
  textColorTextPressed: string;
231
244
  textColorTextFocus: string;
@@ -372,9 +385,8 @@ declare const _default: import("vue").DefineComponent<{
372
385
  borderDisabledError: string;
373
386
  rippleColorError: string;
374
387
  waveOpacity: string;
375
- fontWeightText: string;
376
388
  fontWeight: string;
377
- fontWeighGhost: string;
389
+ fontWeightStrong: string;
378
390
  paddingTiny: string;
379
391
  paddingSmall: string;
380
392
  paddingMedium: string;