naive-ui 2.25.3 → 2.25.6

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 (350) hide show
  1. package/es/_internal/scrollbar/src/ScrollBar.d.ts +1 -0
  2. package/es/_internal/select-menu/src/SelectMenu.d.ts +1 -0
  3. package/es/_mixins/use-css-vars-class.js +2 -1
  4. package/es/button/src/styles/button-rtl.cssr.js +2 -2
  5. package/es/cascader/src/Cascader.d.ts +10 -0
  6. package/es/cascader/src/CascaderMenu.d.ts +1 -0
  7. package/es/cascader/src/CascaderOption.d.ts +1 -0
  8. package/es/cascader/src/CascaderSelectMenu.d.ts +1 -0
  9. package/es/cascader/src/CascaderSubmenu.d.ts +2 -0
  10. package/es/cascader/styles/light.d.ts +1 -0
  11. package/es/checkbox/src/Checkbox.d.ts +12 -0
  12. package/es/checkbox/src/Checkbox.js +14 -7
  13. package/es/checkbox/src/styles/index.cssr.js +16 -8
  14. package/es/checkbox/src/styles/rtl.cssr.d.ts +2 -0
  15. package/es/checkbox/src/styles/rtl.cssr.js +4 -0
  16. package/es/checkbox/styles/index.d.ts +1 -0
  17. package/es/checkbox/styles/index.js +1 -0
  18. package/es/checkbox/styles/light.d.ts +1 -0
  19. package/es/checkbox/styles/light.js +2 -2
  20. package/es/checkbox/styles/rtl.d.ts +2 -0
  21. package/es/checkbox/styles/rtl.js +5 -0
  22. package/es/code/src/Code.js +3 -1
  23. package/es/collapse/src/Collapse.d.ts +1 -0
  24. package/es/collapse/src/Collapse.js +9 -2
  25. package/es/collapse/src/CollapseItem.d.ts +1 -0
  26. package/es/collapse/src/CollapseItem.js +8 -3
  27. package/es/collapse/src/styles/rtl.cssr.d.ts +2 -0
  28. package/es/collapse/src/styles/rtl.cssr.js +15 -0
  29. package/es/collapse/styles/index.d.ts +1 -0
  30. package/es/collapse/styles/index.js +1 -0
  31. package/es/collapse/styles/rtl.d.ts +2 -0
  32. package/es/collapse/styles/rtl.js +5 -0
  33. package/es/collapse-transition/src/CollapseTransition.d.ts +3 -1
  34. package/es/collapse-transition/src/CollapseTransition.js +27 -14
  35. package/es/config-provider/src/ConfigProvider.js +6 -0
  36. package/es/config-provider/src/internal-interface.d.ts +1 -0
  37. package/es/data-table/src/DataTable.d.ts +20 -0
  38. package/es/data-table/src/HeaderButton/FilterButton.d.ts +2 -0
  39. package/es/data-table/src/HeaderButton/FilterMenu.d.ts +2 -0
  40. package/es/data-table/src/TableParts/Body.d.ts +3 -0
  41. package/es/data-table/src/TableParts/Cell.d.ts +4 -0
  42. package/es/data-table/src/TableParts/Header.d.ts +2 -0
  43. package/es/data-table/styles/light.d.ts +2 -0
  44. package/es/date-picker/src/DatePicker.d.ts +7 -2
  45. package/es/date-picker/src/DatePicker.js +80 -68
  46. package/es/date-picker/src/panel/date.d.ts +6 -0
  47. package/es/date-picker/src/panel/date.js +7 -2
  48. package/es/date-picker/src/panel/daterange.d.ts +4 -0
  49. package/es/date-picker/src/panel/daterange.js +7 -2
  50. package/es/date-picker/src/panel/datetime.d.ts +6 -0
  51. package/es/date-picker/src/panel/datetime.js +7 -2
  52. package/es/date-picker/src/panel/datetimerange.d.ts +4 -0
  53. package/es/date-picker/src/panel/datetimerange.js +7 -2
  54. package/es/date-picker/src/panel/month.d.ts +6 -0
  55. package/es/date-picker/src/panel/month.js +4 -2
  56. package/es/date-picker/src/panel/panelHeader.d.ts +10 -0
  57. package/es/date-picker/src/panel/use-calendar.d.ts +4 -0
  58. package/es/date-picker/src/panel/use-dual-calendar.d.ts +2 -0
  59. package/es/date-picker/src/panel/use-panel-common.d.ts +2 -0
  60. package/es/date-picker/src/panel/use-panel-common.js +3 -1
  61. package/es/drawer/src/Drawer.d.ts +3 -1
  62. package/es/drawer/src/Drawer.js +39 -27
  63. package/es/dropdown/src/Dropdown.d.ts +7 -5
  64. package/es/dropdown/src/Dropdown.js +59 -52
  65. package/es/dynamic-input/src/DynamicInput.d.ts +3 -1
  66. package/es/dynamic-input/src/DynamicInput.js +17 -10
  67. package/es/form/src/FormItem.d.ts +3 -1
  68. package/es/form/src/FormItem.js +40 -33
  69. package/es/form/src/FormItemRow.js +1 -1
  70. package/es/gradient-text/src/GradientText.d.ts +3 -1
  71. package/es/gradient-text/src/GradientText.js +23 -15
  72. package/es/icon/src/Icon.d.ts +3 -5
  73. package/es/icon/src/Icon.js +29 -19
  74. package/es/image/src/ImagePreview.d.ts +3 -1
  75. package/es/image/src/ImagePreview.js +28 -15
  76. package/es/input/src/Input.d.ts +4 -1
  77. package/es/input/src/Input.js +27 -6
  78. package/es/input/src/InputGroupLabel.d.ts +3 -1
  79. package/es/input/src/InputGroupLabel.js +26 -19
  80. package/es/input/src/styles/input.cssr.js +1 -0
  81. package/es/input/src/styles/rtl.cssr.d.ts +2 -0
  82. package/es/input/src/styles/rtl.cssr.js +16 -0
  83. package/es/input/styles/index.d.ts +1 -0
  84. package/es/input/styles/index.js +1 -0
  85. package/es/input/styles/rtl.d.ts +2 -0
  86. package/es/input/styles/rtl.js +5 -0
  87. package/es/input-number/src/InputNumber.d.ts +1 -0
  88. package/es/input-number/src/InputNumber.js +8 -3
  89. package/es/input-number/src/styles/rtl.cssr.d.ts +2 -0
  90. package/es/input-number/src/styles/rtl.cssr.js +4 -0
  91. package/es/input-number/styles/index.d.ts +1 -0
  92. package/es/input-number/styles/index.js +1 -0
  93. package/es/input-number/styles/rtl.d.ts +2 -0
  94. package/es/input-number/styles/rtl.js +8 -0
  95. package/es/layout/src/Layout.d.ts +2 -0
  96. package/es/layout/src/LayoutContent.d.ts +1 -0
  97. package/es/layout/src/LayoutSider.d.ts +1 -0
  98. package/es/legacy-grid/src/styles/index.cssr.js +1 -1
  99. package/es/list/src/List.d.ts +3 -1
  100. package/es/list/src/List.js +27 -19
  101. package/es/loading-bar/src/LoadingBar.d.ts +3 -1
  102. package/es/loading-bar/src/LoadingBar.js +29 -15
  103. package/es/log/src/Log.d.ts +1 -0
  104. package/es/mention/src/Mention.d.ts +3 -1
  105. package/es/mention/src/Mention.js +20 -10
  106. package/es/message/src/Message.d.ts +12 -24
  107. package/es/message/src/Message.js +57 -40
  108. package/es/message/src/MessageEnvironment.d.ts +9 -0
  109. package/es/message/src/MessageEnvironment.js +1 -1
  110. package/es/message/src/MessageProvider.d.ts +67 -0
  111. package/es/message/src/MessageProvider.js +3 -0
  112. package/es/message/src/message-props.d.ts +4 -0
  113. package/es/message/src/message-props.js +4 -0
  114. package/es/message/src/styles/index.cssr.js +2 -1
  115. package/es/message/src/types.d.ts +3 -1
  116. package/es/message/styles/light.d.ts +7 -0
  117. package/es/message/styles/light.js +1 -1
  118. package/es/modal/src/BodyWrapper.d.ts +1 -0
  119. package/es/notification/src/Notification.d.ts +3 -1
  120. package/es/notification/src/Notification.js +44 -32
  121. package/es/notification/src/NotificationProvider.d.ts +1 -0
  122. package/es/notification/src/NotificationProvider.js +1 -0
  123. package/es/popconfirm/src/Popconfirm.d.ts +3 -2
  124. package/es/popconfirm/src/Popconfirm.js +2 -1
  125. package/es/popconfirm/src/PopconfirmPanel.d.ts +3 -1
  126. package/es/popconfirm/src/PopconfirmPanel.js +32 -25
  127. package/es/popconfirm/src/interface.d.ts +2 -0
  128. package/es/popover/src/PopoverBody.d.ts +4 -0
  129. package/es/popover/src/PopoverBody.js +3 -2
  130. package/es/popover/src/styles/index.cssr.js +49 -29
  131. package/es/radio/src/Radio.d.ts +7 -0
  132. package/es/radio/src/Radio.js +14 -7
  133. package/es/radio/src/RadioGroup.d.ts +9 -0
  134. package/es/radio/src/styles/radio.cssr.js +16 -9
  135. package/es/radio/styles/dark.js +2 -2
  136. package/es/radio/styles/light.d.ts +1 -0
  137. package/es/radio/styles/light.js +2 -2
  138. package/es/scrollbar/src/ScrollBar.d.ts +1 -0
  139. package/es/select/src/Select.d.ts +3 -1
  140. package/es/select/src/Select.js +31 -23
  141. package/es/slider/src/Slider.d.ts +6 -2
  142. package/es/slider/src/Slider.js +74 -51
  143. package/es/steps/src/Step.d.ts +3 -1
  144. package/es/steps/src/Step.js +32 -20
  145. package/es/styles.d.ts +4 -4
  146. package/es/styles.js +4 -4
  147. package/es/tabs/src/styles/index.cssr.js +2 -0
  148. package/es/time-picker/src/Panel.js +4 -4
  149. package/es/time-picker/src/TimePicker.d.ts +12 -4
  150. package/es/time-picker/src/TimePicker.js +90 -35
  151. package/es/timeline/src/Timeline.d.ts +9 -9
  152. package/es/timeline/src/TimelineItem.d.ts +4 -2
  153. package/es/timeline/src/TimelineItem.js +34 -20
  154. package/es/timeline/styles/_common.d.ts +1 -1
  155. package/es/timeline/styles/_common.js +1 -1
  156. package/es/timeline/styles/light.d.ts +1 -1
  157. package/es/transfer/src/Transfer.d.ts +10 -0
  158. package/es/transfer/src/TransferFilter.d.ts +1 -0
  159. package/es/transfer/src/TransferList.d.ts +2 -0
  160. package/es/transfer/src/TransferListItem.d.ts +1 -0
  161. package/es/transfer/styles/light.d.ts +1 -0
  162. package/es/tree/src/Tree.d.ts +16 -3
  163. package/es/tree/src/Tree.js +50 -28
  164. package/es/tree/src/TreeNodeCheckbox.d.ts +1 -0
  165. package/es/tree/styles/light.d.ts +1 -0
  166. package/es/tree-select/src/TreeSelect.d.ts +23 -10
  167. package/es/tree-select/src/TreeSelect.js +26 -17
  168. package/es/tree-select/styles/light.d.ts +1 -0
  169. package/es/upload/src/Upload.d.ts +3 -1
  170. package/es/upload/src/Upload.js +23 -13
  171. package/es/upload/src/UploadFileList.js +8 -3
  172. package/es/upload/src/interface.d.ts +3 -1
  173. package/es/version.d.ts +1 -1
  174. package/es/version.js +1 -1
  175. package/lib/_internal/scrollbar/src/ScrollBar.d.ts +1 -0
  176. package/lib/_internal/select-menu/src/SelectMenu.d.ts +1 -0
  177. package/lib/_mixins/use-css-vars-class.js +2 -1
  178. package/lib/button/src/styles/button-rtl.cssr.js +2 -2
  179. package/lib/cascader/src/Cascader.d.ts +10 -0
  180. package/lib/cascader/src/CascaderMenu.d.ts +1 -0
  181. package/lib/cascader/src/CascaderOption.d.ts +1 -0
  182. package/lib/cascader/src/CascaderSelectMenu.d.ts +1 -0
  183. package/lib/cascader/src/CascaderSubmenu.d.ts +2 -0
  184. package/lib/cascader/styles/light.d.ts +1 -0
  185. package/lib/checkbox/src/Checkbox.d.ts +12 -0
  186. package/lib/checkbox/src/Checkbox.js +14 -7
  187. package/lib/checkbox/src/styles/index.cssr.js +16 -8
  188. package/lib/checkbox/src/styles/rtl.cssr.d.ts +2 -0
  189. package/lib/checkbox/src/styles/rtl.cssr.js +11 -0
  190. package/lib/checkbox/styles/index.d.ts +1 -0
  191. package/lib/checkbox/styles/index.js +3 -1
  192. package/lib/checkbox/styles/light.d.ts +1 -0
  193. package/lib/checkbox/styles/light.js +2 -2
  194. package/lib/checkbox/styles/rtl.d.ts +2 -0
  195. package/lib/checkbox/styles/rtl.js +11 -0
  196. package/lib/code/src/Code.js +3 -1
  197. package/lib/collapse/src/Collapse.d.ts +1 -0
  198. package/lib/collapse/src/Collapse.js +9 -2
  199. package/lib/collapse/src/CollapseItem.d.ts +1 -0
  200. package/lib/collapse/src/CollapseItem.js +7 -2
  201. package/lib/collapse/src/styles/rtl.cssr.d.ts +2 -0
  202. package/lib/collapse/src/styles/rtl.cssr.js +22 -0
  203. package/lib/collapse/styles/index.d.ts +1 -0
  204. package/lib/collapse/styles/index.js +3 -1
  205. package/lib/collapse/styles/rtl.d.ts +2 -0
  206. package/lib/collapse/styles/rtl.js +11 -0
  207. package/lib/collapse-transition/src/CollapseTransition.d.ts +3 -1
  208. package/lib/collapse-transition/src/CollapseTransition.js +26 -13
  209. package/lib/config-provider/src/ConfigProvider.js +6 -0
  210. package/lib/config-provider/src/internal-interface.d.ts +1 -0
  211. package/lib/data-table/src/DataTable.d.ts +20 -0
  212. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +2 -0
  213. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +2 -0
  214. package/lib/data-table/src/TableParts/Body.d.ts +3 -0
  215. package/lib/data-table/src/TableParts/Cell.d.ts +4 -0
  216. package/lib/data-table/src/TableParts/Header.d.ts +2 -0
  217. package/lib/data-table/styles/light.d.ts +2 -0
  218. package/lib/date-picker/src/DatePicker.d.ts +7 -2
  219. package/lib/date-picker/src/DatePicker.js +79 -67
  220. package/lib/date-picker/src/panel/date.d.ts +6 -0
  221. package/lib/date-picker/src/panel/date.js +7 -2
  222. package/lib/date-picker/src/panel/daterange.d.ts +4 -0
  223. package/lib/date-picker/src/panel/daterange.js +7 -2
  224. package/lib/date-picker/src/panel/datetime.d.ts +6 -0
  225. package/lib/date-picker/src/panel/datetime.js +7 -2
  226. package/lib/date-picker/src/panel/datetimerange.d.ts +4 -0
  227. package/lib/date-picker/src/panel/datetimerange.js +7 -2
  228. package/lib/date-picker/src/panel/month.d.ts +6 -0
  229. package/lib/date-picker/src/panel/month.js +4 -2
  230. package/lib/date-picker/src/panel/panelHeader.d.ts +10 -0
  231. package/lib/date-picker/src/panel/use-calendar.d.ts +4 -0
  232. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +2 -0
  233. package/lib/date-picker/src/panel/use-panel-common.d.ts +2 -0
  234. package/lib/date-picker/src/panel/use-panel-common.js +3 -1
  235. package/lib/drawer/src/Drawer.d.ts +4 -1
  236. package/lib/drawer/src/Drawer.js +38 -26
  237. package/lib/dropdown/src/Dropdown.d.ts +7 -5
  238. package/lib/dropdown/src/Dropdown.js +58 -51
  239. package/lib/dynamic-input/src/DynamicInput.d.ts +3 -1
  240. package/lib/dynamic-input/src/DynamicInput.js +16 -9
  241. package/lib/form/src/FormItem.d.ts +3 -1
  242. package/lib/form/src/FormItem.js +39 -32
  243. package/lib/form/src/FormItemRow.js +1 -1
  244. package/lib/gradient-text/src/GradientText.d.ts +3 -1
  245. package/lib/gradient-text/src/GradientText.js +22 -14
  246. package/lib/icon/src/Icon.d.ts +3 -5
  247. package/lib/icon/src/Icon.js +28 -18
  248. package/lib/image/src/ImagePreview.d.ts +3 -1
  249. package/lib/image/src/ImagePreview.js +27 -14
  250. package/lib/input/src/Input.d.ts +4 -1
  251. package/lib/input/src/Input.js +27 -6
  252. package/lib/input/src/InputGroupLabel.d.ts +3 -1
  253. package/lib/input/src/InputGroupLabel.js +25 -18
  254. package/lib/input/src/styles/input.cssr.js +1 -0
  255. package/lib/input/src/styles/rtl.cssr.d.ts +2 -0
  256. package/lib/input/src/styles/rtl.cssr.js +23 -0
  257. package/lib/input/styles/index.d.ts +1 -0
  258. package/lib/input/styles/index.js +3 -1
  259. package/lib/input/styles/rtl.d.ts +2 -0
  260. package/lib/input/styles/rtl.js +11 -0
  261. package/lib/input-number/src/InputNumber.d.ts +1 -0
  262. package/lib/input-number/src/InputNumber.js +8 -3
  263. package/lib/input-number/src/styles/rtl.cssr.d.ts +2 -0
  264. package/lib/input-number/src/styles/rtl.cssr.js +11 -0
  265. package/lib/input-number/styles/index.d.ts +1 -0
  266. package/lib/input-number/styles/index.js +3 -1
  267. package/lib/input-number/styles/rtl.d.ts +2 -0
  268. package/lib/input-number/styles/rtl.js +14 -0
  269. package/lib/layout/src/Layout.d.ts +2 -0
  270. package/lib/layout/src/LayoutContent.d.ts +1 -0
  271. package/lib/layout/src/LayoutSider.d.ts +1 -0
  272. package/lib/legacy-grid/src/styles/index.cssr.js +1 -1
  273. package/lib/list/src/List.d.ts +3 -1
  274. package/lib/list/src/List.js +26 -18
  275. package/lib/loading-bar/src/LoadingBar.d.ts +3 -1
  276. package/lib/loading-bar/src/LoadingBar.js +28 -14
  277. package/lib/log/src/Log.d.ts +1 -0
  278. package/lib/mention/src/Mention.d.ts +3 -1
  279. package/lib/mention/src/Mention.js +19 -9
  280. package/lib/message/src/Message.d.ts +12 -24
  281. package/lib/message/src/Message.js +56 -39
  282. package/lib/message/src/MessageEnvironment.d.ts +9 -0
  283. package/lib/message/src/MessageEnvironment.js +1 -1
  284. package/lib/message/src/MessageProvider.d.ts +67 -0
  285. package/lib/message/src/MessageProvider.js +3 -0
  286. package/lib/message/src/message-props.d.ts +4 -0
  287. package/lib/message/src/message-props.js +4 -0
  288. package/lib/message/src/styles/index.cssr.js +2 -1
  289. package/lib/message/src/types.d.ts +3 -1
  290. package/lib/message/styles/light.d.ts +7 -0
  291. package/lib/message/styles/light.js +1 -1
  292. package/lib/modal/src/BodyWrapper.d.ts +1 -0
  293. package/lib/notification/src/Notification.d.ts +3 -1
  294. package/lib/notification/src/Notification.js +44 -32
  295. package/lib/notification/src/NotificationProvider.d.ts +1 -0
  296. package/lib/notification/src/NotificationProvider.js +1 -0
  297. package/lib/popconfirm/src/Popconfirm.d.ts +3 -2
  298. package/lib/popconfirm/src/Popconfirm.js +2 -1
  299. package/lib/popconfirm/src/PopconfirmPanel.d.ts +3 -1
  300. package/lib/popconfirm/src/PopconfirmPanel.js +30 -23
  301. package/lib/popconfirm/src/interface.d.ts +2 -0
  302. package/lib/popover/src/PopoverBody.d.ts +4 -0
  303. package/lib/popover/src/PopoverBody.js +3 -2
  304. package/lib/popover/src/styles/index.cssr.js +50 -29
  305. package/lib/radio/src/Radio.d.ts +7 -0
  306. package/lib/radio/src/Radio.js +13 -6
  307. package/lib/radio/src/RadioGroup.d.ts +9 -0
  308. package/lib/radio/src/styles/radio.cssr.js +16 -9
  309. package/lib/radio/styles/dark.js +2 -2
  310. package/lib/radio/styles/light.d.ts +1 -0
  311. package/lib/radio/styles/light.js +2 -2
  312. package/lib/scrollbar/src/ScrollBar.d.ts +1 -0
  313. package/lib/select/src/Select.d.ts +3 -1
  314. package/lib/select/src/Select.js +30 -22
  315. package/lib/slider/src/Slider.d.ts +6 -2
  316. package/lib/slider/src/Slider.js +73 -50
  317. package/lib/steps/src/Step.d.ts +3 -1
  318. package/lib/steps/src/Step.js +32 -20
  319. package/lib/styles.d.ts +4 -4
  320. package/lib/styles.js +6 -2
  321. package/lib/tabs/src/styles/index.cssr.js +2 -0
  322. package/lib/time-picker/src/Panel.js +4 -4
  323. package/lib/time-picker/src/TimePicker.d.ts +12 -4
  324. package/lib/time-picker/src/TimePicker.js +89 -34
  325. package/lib/timeline/src/Timeline.d.ts +9 -9
  326. package/lib/timeline/src/TimelineItem.d.ts +4 -2
  327. package/lib/timeline/src/TimelineItem.js +34 -20
  328. package/lib/timeline/styles/_common.d.ts +1 -1
  329. package/lib/timeline/styles/_common.js +1 -1
  330. package/lib/timeline/styles/light.d.ts +1 -1
  331. package/lib/transfer/src/Transfer.d.ts +10 -0
  332. package/lib/transfer/src/TransferFilter.d.ts +1 -0
  333. package/lib/transfer/src/TransferList.d.ts +2 -0
  334. package/lib/transfer/src/TransferListItem.d.ts +1 -0
  335. package/lib/transfer/styles/light.d.ts +1 -0
  336. package/lib/tree/src/Tree.d.ts +16 -3
  337. package/lib/tree/src/Tree.js +49 -27
  338. package/lib/tree/src/TreeNodeCheckbox.d.ts +1 -0
  339. package/lib/tree/styles/light.d.ts +1 -0
  340. package/lib/tree-select/src/TreeSelect.d.ts +23 -10
  341. package/lib/tree-select/src/TreeSelect.js +25 -16
  342. package/lib/tree-select/styles/light.d.ts +1 -0
  343. package/lib/upload/src/Upload.d.ts +3 -1
  344. package/lib/upload/src/Upload.js +22 -12
  345. package/lib/upload/src/UploadFileList.js +8 -3
  346. package/lib/upload/src/interface.d.ts +3 -1
  347. package/lib/version.d.ts +1 -1
  348. package/lib/version.js +1 -1
  349. package/package.json +2 -2
  350. package/web-types.json +1 -1
@@ -4,6 +4,7 @@ import { InfoIcon, SuccessIcon, WarningIcon, ErrorIcon } from '../../_internal/i
4
4
  import { createKey, keysOf, render } from '../../_utils';
5
5
  import { NBaseIcon, NBaseClose } from '../../_internal';
6
6
  import { notificationProviderInjectionKey } from './context';
7
+ import { useConfig, useThemeClass } from '../../_mixins';
7
8
  const iconMap = {
8
9
  info: h(InfoIcon, null),
9
10
  success: h(SuccessIcon, null),
@@ -36,8 +37,44 @@ export const Notification = defineComponent({
36
37
  name: 'Notification',
37
38
  props: notificationProps,
38
39
  setup(props) {
40
+ const { mergedClsPrefixRef, mergedThemeRef, props: providerProps
39
41
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
40
- const { mergedClsPrefixRef, mergedThemeRef } = inject(notificationProviderInjectionKey);
42
+ } = inject(notificationProviderInjectionKey);
43
+ const { inlineThemeDisabled } = useConfig();
44
+ const cssVarsRef = computed(() => {
45
+ const { type } = props;
46
+ const { self: { color, textColor, closeColor, closeColorHover, closeColorPressed, headerTextColor, descriptionTextColor, actionTextColor, borderRadius, headerFontWeight, boxShadow, lineHeight, fontSize, closeMargin, closeSize, width, padding, [createKey('iconColor', type)]: iconColor }, common: { cubicBezierEaseOut, cubicBezierEaseIn, cubicBezierEaseInOut } } = mergedThemeRef.value;
47
+ const { left, right, top, bottom } = getPadding(padding);
48
+ return {
49
+ '--n-color': color,
50
+ '--n-font-size': fontSize,
51
+ '--n-text-color': textColor,
52
+ '--n-description-text-color': descriptionTextColor,
53
+ '--n-action-text-color': actionTextColor,
54
+ '--n-title-text-color': headerTextColor,
55
+ '--n-title-font-weight': headerFontWeight,
56
+ '--n-bezier': cubicBezierEaseInOut,
57
+ '--n-bezier-ease-out': cubicBezierEaseOut,
58
+ '--n-bezier-ease-in': cubicBezierEaseIn,
59
+ '--n-border-radius': borderRadius,
60
+ '--n-box-shadow': boxShadow,
61
+ '--n-close-color': closeColor,
62
+ '--n-close-color-hover': closeColorHover,
63
+ '--n-close-color-pressed': closeColorPressed,
64
+ '--n-line-height': lineHeight,
65
+ '--n-icon-color': iconColor,
66
+ '--n-close-margin': closeMargin,
67
+ '--n-close-size': closeSize,
68
+ '--n-width': width,
69
+ '--n-padding-left': left,
70
+ '--n-padding-right': right,
71
+ '--n-padding-top': top,
72
+ '--n-padding-bottom': bottom
73
+ };
74
+ });
75
+ const themeClassHandle = inlineThemeDisabled
76
+ ? useThemeClass('notification', computed(() => props.type[0]), cssVarsRef, providerProps)
77
+ : undefined;
41
78
  return {
42
79
  mergedClsPrefix: mergedClsPrefixRef,
43
80
  showAvatar: computed(() => {
@@ -46,43 +83,18 @@ export const Notification = defineComponent({
46
83
  handleCloseClick() {
47
84
  props.onClose();
48
85
  },
49
- cssVars: computed(() => {
50
- const { type } = props;
51
- const { self: { color, textColor, closeColor, closeColorHover, closeColorPressed, headerTextColor, descriptionTextColor, actionTextColor, borderRadius, headerFontWeight, boxShadow, lineHeight, fontSize, closeMargin, closeSize, width, padding, [createKey('iconColor', type)]: iconColor }, common: { cubicBezierEaseOut, cubicBezierEaseIn, cubicBezierEaseInOut } } = mergedThemeRef.value;
52
- const { left, right, top, bottom } = getPadding(padding);
53
- return {
54
- '--n-color': color,
55
- '--n-font-size': fontSize,
56
- '--n-text-color': textColor,
57
- '--n-description-text-color': descriptionTextColor,
58
- '--n-action-text-color': actionTextColor,
59
- '--n-title-text-color': headerTextColor,
60
- '--n-title-font-weight': headerFontWeight,
61
- '--n-bezier': cubicBezierEaseInOut,
62
- '--n-bezier-ease-out': cubicBezierEaseOut,
63
- '--n-bezier-ease-in': cubicBezierEaseIn,
64
- '--n-border-radius': borderRadius,
65
- '--n-box-shadow': boxShadow,
66
- '--n-close-color': closeColor,
67
- '--n-close-color-hover': closeColorHover,
68
- '--n-close-color-pressed': closeColorPressed,
69
- '--n-line-height': lineHeight,
70
- '--n-icon-color': iconColor,
71
- '--n-close-margin': closeMargin,
72
- '--n-close-size': closeSize,
73
- '--n-width': width,
74
- '--n-padding-left': left,
75
- '--n-padding-right': right,
76
- '--n-padding-top': top,
77
- '--n-padding-bottom': bottom
78
- };
79
- })
86
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
87
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
88
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
80
89
  };
81
90
  },
82
91
  render() {
92
+ var _a;
83
93
  const { mergedClsPrefix } = this;
94
+ (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
84
95
  return (h("div", { class: [
85
96
  `${mergedClsPrefix}-notification`,
97
+ this.themeClass,
86
98
  {
87
99
  [`${mergedClsPrefix}-notification--closable`]: this.closable,
88
100
  [`${mergedClsPrefix}-notification--show-avatar`]: this.showAvatar
@@ -6,6 +6,7 @@ import { notificationEnvOptions } from './NotificationEnvironment';
6
6
  export declare type NotificationPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
7
7
  export declare type NotificationOptions = Partial<ExtractPropTypes<typeof notificationEnvOptions>>;
8
8
  export interface NotificationProviderInjection {
9
+ props: ExtractPropTypes<typeof notificationProviderProps>;
9
10
  mergedClsPrefixRef: Ref<string>;
10
11
  mergedThemeRef: Ref<MergedTheme<NotificationTheme>>;
11
12
  }
@@ -75,6 +75,7 @@ export default defineComponent({
75
75
  };
76
76
  provide(notificationApiInjectionKey, api);
77
77
  provide(notificationProviderInjectionKey, {
78
+ props,
78
79
  mergedClsPrefixRef,
79
80
  mergedThemeRef: themeRef
80
81
  });
@@ -1,4 +1,4 @@
1
- import { PropType } from 'vue';
1
+ import { PropType, ExtractPropTypes } from 'vue';
2
2
  import { PopoverTrigger } from '../../popover';
3
3
  import type { ExtractPublicPropTypes } from '../../_utils';
4
4
  declare const popconfirmProps: {
@@ -762,6 +762,7 @@ declare const popconfirmProps: {
762
762
  }>>>;
763
763
  };
764
764
  export declare type PopconfirmProps = ExtractPublicPropTypes<typeof popconfirmProps>;
765
+ export declare type PopconfirmSetupProps = ExtractPropTypes<typeof popconfirmProps>;
765
766
  declare const _default: import("vue").DefineComponent<{
766
767
  positiveText: StringConstructor;
767
768
  negativeText: StringConstructor;
@@ -1870,7 +1871,7 @@ declare const _default: import("vue").DefineComponent<{
1870
1871
  } | null>;
1871
1872
  handlePositiveClick: (e: MouseEvent) => void;
1872
1873
  handleNegativeClick: (e: MouseEvent) => void;
1873
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1874
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
1874
1875
  positiveText: StringConstructor;
1875
1876
  negativeText: StringConstructor;
1876
1877
  showIcon: {
@@ -46,7 +46,8 @@ export default defineComponent({
46
46
  }
47
47
  provide(popconfirmInjectionKey, {
48
48
  mergedThemeRef: themeRef,
49
- mergedClsPrefixRef
49
+ mergedClsPrefixRef,
50
+ props
50
51
  });
51
52
  return {
52
53
  mergedTheme: themeRef,
@@ -38,11 +38,13 @@ declare const _default: import("vue").DefineComponent<{
38
38
  '--n-font-size': string;
39
39
  '--n-icon-size': string;
40
40
  '--n-icon-color': string;
41
- }>;
41
+ }> | undefined;
42
42
  localizedPositiveText: import("vue").ComputedRef<string>;
43
43
  localizedNegativeText: import("vue").ComputedRef<string>;
44
44
  handlePositiveClick(e: MouseEvent): void;
45
45
  handleNegativeClick(e: MouseEvent): void;
46
+ themeClass: import("vue").Ref<string> | undefined;
47
+ onRender: (() => void) | undefined;
46
48
  localeRef: import("vue").Ref<{
47
49
  positiveText: string;
48
50
  negativeText: string;
@@ -2,8 +2,8 @@ import { h, defineComponent, computed, inject } from 'vue';
2
2
  import { NButton } from '../../button';
3
3
  import { NBaseIcon } from '../../_internal';
4
4
  import { WarningIcon } from '../../_internal/icons';
5
- import { useLocale } from '../../_mixins';
6
- import { keysOf } from '../../_utils';
5
+ import { useConfig, useLocale, useThemeClass } from '../../_mixins';
6
+ import { keysOf, resolveSlot } from '../../_utils';
7
7
  import { popconfirmInjectionKey } from './interface';
8
8
  export const panelProps = {
9
9
  positiveText: String,
@@ -27,17 +27,23 @@ export default defineComponent({
27
27
  props: panelProps,
28
28
  setup(props) {
29
29
  const { localeRef } = useLocale('Popconfirm');
30
+ const { inlineThemeDisabled } = useConfig();
31
+ const { mergedClsPrefixRef, mergedThemeRef, props: popconfirmProps
30
32
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
31
- const { mergedClsPrefixRef, mergedThemeRef } = inject(popconfirmInjectionKey);
32
- return Object.assign(Object.assign({}, useLocale('Popconfirm')), { mergedClsPrefix: mergedClsPrefixRef, cssVars: computed(() => {
33
- const { common: { cubicBezierEaseInOut }, self: { fontSize, iconSize, iconColor } } = mergedThemeRef.value;
34
- return {
35
- '--n-bezier': cubicBezierEaseInOut,
36
- '--n-font-size': fontSize,
37
- '--n-icon-size': iconSize,
38
- '--n-icon-color': iconColor
39
- };
40
- }), localizedPositiveText: computed(() => {
33
+ } = inject(popconfirmInjectionKey);
34
+ const cssVarsRef = computed(() => {
35
+ const { common: { cubicBezierEaseInOut }, self: { fontSize, iconSize, iconColor } } = mergedThemeRef.value;
36
+ return {
37
+ '--n-bezier': cubicBezierEaseInOut,
38
+ '--n-font-size': fontSize,
39
+ '--n-icon-size': iconSize,
40
+ '--n-icon-color': iconColor
41
+ };
42
+ });
43
+ const themeClassHandle = inlineThemeDisabled
44
+ ? useThemeClass('popconfirm-panel', undefined, cssVarsRef, popconfirmProps)
45
+ : undefined;
46
+ return Object.assign(Object.assign({}, useLocale('Popconfirm')), { mergedClsPrefix: mergedClsPrefixRef, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, localizedPositiveText: computed(() => {
41
47
  return props.positiveText || localeRef.value.positiveText;
42
48
  }), localizedNegativeText: computed(() => {
43
49
  return props.negativeText || localeRef.value.negativeText;
@@ -46,23 +52,24 @@ export default defineComponent({
46
52
  },
47
53
  handleNegativeClick(e) {
48
54
  props.onNegativeClick(e);
49
- } });
55
+ }, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });
50
56
  },
51
57
  render() {
52
- var _a;
58
+ var _a, _b;
53
59
  const { mergedClsPrefix, $slots } = this;
54
- const actionContentNode = $slots.action
55
- ? $slots.action()
56
- : this.negativeText === null && this.positiveText === null
57
- ? null
58
- : [
59
- this.negativeText !== null && (h(NButton, { size: "small", onClick: this.handleNegativeClick }, { default: () => this.localizedNegativeText })),
60
- this.positiveText !== null && (h(NButton, { size: "small", type: "primary", onClick: this.handlePositiveClick }, { default: () => this.localizedPositiveText }))
61
- ];
62
- return (h("div", { style: this.cssVars },
60
+ const actionContentNode = resolveSlot($slots.action, () => this.negativeText === null && this.positiveText === null
61
+ ? []
62
+ : [
63
+ this.negativeText !== null && (h(NButton, { size: "small", onClick: this.handleNegativeClick }, { default: () => this.localizedNegativeText })),
64
+ this.positiveText !== null && (h(NButton, { size: "small", type: "primary", onClick: this.handlePositiveClick }, { default: () => this.localizedPositiveText }))
65
+ ]);
66
+ (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
67
+ return (h("div", { class: this.themeClass, style: this.cssVars },
63
68
  h("div", { class: `${mergedClsPrefix}-popconfirm__body` },
64
- this.showIcon ? (h("div", { class: `${mergedClsPrefix}-popconfirm__icon` }, $slots.icon ? ($slots.icon()) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(WarningIcon, null) })))) : null, (_a = $slots.default) === null || _a === void 0 ? void 0 :
65
- _a.call($slots)),
69
+ this.showIcon ? (h("div", { class: `${mergedClsPrefix}-popconfirm__icon` }, resolveSlot($slots.icon, () => [
70
+ h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(WarningIcon, null) })
71
+ ]))) : null, (_b = $slots.default) === null || _b === void 0 ? void 0 :
72
+ _b.call($slots)),
66
73
  actionContentNode ? (h("div", { class: `${mergedClsPrefix}-popconfirm__action` }, actionContentNode)) : null));
67
74
  }
68
75
  });
@@ -1,8 +1,10 @@
1
1
  import { Ref } from 'vue';
2
2
  import type { MergedTheme } from '../../_mixins';
3
3
  import type { PopconfirmTheme } from '../styles';
4
+ import type { PopconfirmSetupProps } from './Popconfirm';
4
5
  export interface PopconfirmInjection {
5
6
  mergedThemeRef: Ref<MergedTheme<PopconfirmTheme>>;
6
7
  mergedClsPrefixRef: Ref<string>;
8
+ props: PopconfirmSetupProps;
7
9
  }
8
10
  export declare const popconfirmInjectionKey: import("vue").InjectionKey<PopconfirmInjection>;
@@ -12,6 +12,7 @@ export declare const popoverBodyProps: {
12
12
  delay: NumberConstructor;
13
13
  duration: NumberConstructor;
14
14
  raw: BooleanConstructor;
15
+ arrowPointToCenter: BooleanConstructor;
15
16
  arrowStyle: PropType<string | CSSProperties>;
16
17
  displayDirective: PropType<"show" | "if">;
17
18
  x: NumberConstructor;
@@ -86,6 +87,7 @@ declare const _default: import("vue").DefineComponent<{
86
87
  delay: NumberConstructor;
87
88
  duration: NumberConstructor;
88
89
  raw: BooleanConstructor;
90
+ arrowPointToCenter: BooleanConstructor;
89
91
  arrowStyle: PropType<string | CSSProperties>;
90
92
  displayDirective: PropType<"show" | "if">;
91
93
  x: NumberConstructor;
@@ -164,6 +166,7 @@ declare const _default: import("vue").DefineComponent<{
164
166
  delay: NumberConstructor;
165
167
  duration: NumberConstructor;
166
168
  raw: BooleanConstructor;
169
+ arrowPointToCenter: BooleanConstructor;
167
170
  arrowStyle: PropType<string | CSSProperties>;
168
171
  displayDirective: PropType<"show" | "if">;
169
172
  x: NumberConstructor;
@@ -228,6 +231,7 @@ declare const _default: import("vue").DefineComponent<{
228
231
  raw: boolean;
229
232
  overlap: boolean;
230
233
  showArrow: boolean;
234
+ arrowPointToCenter: boolean;
231
235
  keepAliveOnHover: boolean;
232
236
  internalTrapFocus: boolean;
233
237
  animated: boolean;
@@ -8,7 +8,7 @@ import style from './styles/index.cssr';
8
8
  import { popoverBodyInjectionKey } from './interface';
9
9
  import { drawerBodyInjectionKey } from '../../drawer/src/interface';
10
10
  import { modalBodyInjectionKey } from '../../modal/src/interface';
11
- export const popoverBodyProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, show: Boolean, trigger: String, showArrow: Boolean, delay: Number, duration: Number, raw: Boolean, arrowStyle: [String, Object], displayDirective: String, x: Number, y: Number, flip: Boolean, overlap: Boolean, placement: String, width: [Number, String], keepAliveOnHover: Boolean, internalTrapFocus: Boolean,
11
+ export const popoverBodyProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, show: Boolean, trigger: String, showArrow: Boolean, delay: Number, duration: Number, raw: Boolean, arrowPointToCenter: Boolean, arrowStyle: [String, Object], displayDirective: String, x: Number, y: Number, flip: Boolean, overlap: Boolean, placement: String, width: [Number, String], keepAliveOnHover: Boolean, internalTrapFocus: Boolean,
12
12
  // private
13
13
  animated: Boolean, onClickoutside: Function,
14
14
  /** @deprecated */
@@ -165,7 +165,8 @@ export default defineComponent({
165
165
  [`${mergedClsPrefix}-popover--show-arrow`]: props.showArrow,
166
166
  [`${mergedClsPrefix}-popover--show-header`]: !isSlotEmpty(slots.header),
167
167
  [`${mergedClsPrefix}-popover--raw`]: props.raw,
168
- [`${mergedClsPrefix}-popover--manual-trigger`]: props.trigger === 'manual'
168
+ [`${mergedClsPrefix}-popover--manual-trigger`]: props.trigger === 'manual',
169
+ [`${mergedClsPrefix}-popover--center-arrow`]: props.arrowPointToCenter
169
170
  }
170
171
  ],
171
172
  ref: bodyRef,
@@ -1,10 +1,12 @@
1
+ import { map } from 'lodash';
1
2
  import { c, cB, cM, cNotM, cE, cCB } from '../../../_utils/cssr';
2
3
  const oppositePlacement = {
3
4
  top: 'bottom',
4
5
  bottom: 'top',
5
6
  left: 'right',
6
7
  right: 'left'
7
- }; // vars:
8
+ };
9
+ const arrowSize = 'var(--n-arrow-height) * 1.414'; // vars:
8
10
  // --n-bezier
9
11
  // --n-bezier-ease-in
10
12
  // --n-bezier-ease-out
@@ -62,54 +64,72 @@ c('&.popover-transition-enter-from, &.popover-transition-leave-to', `
62
64
  transition: background-color .3s var(--n-bezier);
63
65
  position: absolute;
64
66
  display: block;
65
- width: calc(var(--n-arrow-height) * 1.414);
66
- height: calc(var(--n-arrow-height) * 1.414);
67
+ width: calc(${arrowSize});
68
+ height: calc(${arrowSize});
67
69
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12);
68
70
  transform: rotate(45deg);
69
71
  background-color: var(--n-color);
70
72
  pointer-events: all;
71
73
  `)])]), placementStyle('top-start', `
72
- top: calc(-0.707 * var(--n-arrow-height));
73
- left: calc(var(--n-arrow-offset) - var(--v-offset-left));
74
+ top: calc(${arrowSize} / -2);
75
+ left: calc(${getArrowOffset('top-start')} - var(--v-offset-left));
74
76
  `), placementStyle('top', `
75
- top: calc(-0.707 * var(--n-arrow-height));
76
- transform: translateX(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
77
+ top: calc(${arrowSize} / -2);
78
+ transform: translateX(calc(${arrowSize} / -2)) rotate(45deg);
77
79
  left: 50%;
78
80
  `), placementStyle('top-end', `
79
- top: calc(-0.707 * var(--n-arrow-height));
80
- right: calc(var(--n-arrow-offset) + var(--v-offset-left));
81
+ top: calc(${arrowSize} / -2);
82
+ right: calc(${getArrowOffset('top-end')} + var(--v-offset-left));
81
83
  `), placementStyle('bottom-start', `
82
- bottom: calc(-0.707 * var(--n-arrow-height));
83
- left: calc(var(--n-arrow-offset) - var(--v-offset-left));
84
+ bottom: calc(${arrowSize} / -2);
85
+ left: calc(${getArrowOffset('bottom-start')} - var(--v-offset-left));
84
86
  `), placementStyle('bottom', `
85
- bottom: calc(-0.707 * var(--n-arrow-height));
86
- transform: translateX(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
87
+ bottom: calc(${arrowSize} / -2);
88
+ transform: translateX(calc(${arrowSize} / -2)) rotate(45deg);
87
89
  left: 50%;
88
90
  `), placementStyle('bottom-end', `
89
- bottom: calc(-0.707 * var(--n-arrow-height));
90
- right: calc(var(--n-arrow-offset) + var(--v-offset-left));
91
+ bottom: calc(${arrowSize} / -2);
92
+ right: calc(${getArrowOffset('bottom-end')} + var(--v-offset-left));
91
93
  `), placementStyle('left-start', `
92
- left: calc(-0.707 * var(--n-arrow-height));
93
- top: calc(var(--n-arrow-offset-vertical) - var(--v-offset-top));
94
+ left: calc(${arrowSize} / -2);
95
+ top: calc(${getArrowOffset('left-start')} - var(--v-offset-top));
94
96
  `), placementStyle('left', `
95
- left: calc(-0.707 * var(--n-arrow-height));
96
- transform: translateY(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
97
+ left: calc(${arrowSize} / -2);
98
+ transform: translateY(calc(${arrowSize} / -2)) rotate(45deg);
97
99
  top: 50%;
98
100
  `), placementStyle('left-end', `
99
- left: calc(-0.707 * var(--n-arrow-height));
100
- bottom: calc(var(--n-arrow-offset-vertical) + var(--v-offset-top));
101
-
101
+ left: calc(${arrowSize} / -2);
102
+ bottom: calc(${getArrowOffset('left-end')} + var(--v-offset-top));
102
103
  `), placementStyle('right-start', `
103
- right: calc(-0.707 * var(--n-arrow-height));
104
- top: calc(var(--n-arrow-offset-vertical) - var(--v-offset-top));
104
+ right: calc(${arrowSize} / -2);
105
+ top: calc(${getArrowOffset('right-start')} - var(--v-offset-top));
105
106
  `), placementStyle('right', `
106
- right: calc(-0.707 * var(--n-arrow-height));
107
- transform: translateY(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
107
+ right: calc(${arrowSize} / -2);
108
+ transform: translateY(calc(${arrowSize} / -2)) rotate(45deg);
108
109
  top: 50%;
109
110
  `), placementStyle('right-end', `
110
- right: calc(-0.707 * var(--n-arrow-height));
111
- bottom: calc(var(--n-arrow-offset-vertical) + var(--v-offset-top));
112
- `)]);
111
+ right: calc(${arrowSize} / -2);
112
+ bottom: calc(${getArrowOffset('right-end')} + var(--v-offset-top));
113
+ `), ...map({
114
+ top: ['right-start', 'left-start'],
115
+ right: ['top-end', 'bottom-end'],
116
+ bottom: ['right-end', 'left-end'],
117
+ left: ['top-start', 'bottom-start']
118
+ }, (placements, direction) => {
119
+ const isVertical = ['right', 'left'].includes(direction);
120
+ const sizeType = isVertical ? 'width' : 'height';
121
+ return placements.map(placement => {
122
+ const isReverse = placement.split('-')[1] === 'end';
123
+ const targetSize = `var(--v-target-${sizeType}, 0px)`;
124
+ const centerOffset = `calc((${targetSize} - ${arrowSize}) / 2)`;
125
+ const offset = getArrowOffset(placement);
126
+ return c(`[v-placement="${placement}"] >`, [cB('popover', [cM('center-arrow', [cB('popover-arrow', `${direction}: calc(max(${centerOffset}, ${offset}) ${isReverse ? '+' : '-'} var(--v-offset-${isVertical ? 'left' : 'top'}));`)])])]);
127
+ });
128
+ })]);
129
+
130
+ function getArrowOffset(placement) {
131
+ return ['top', 'bottom'].includes(placement.split('-')[0]) ? 'var(--n-arrow-offset)' : 'var(--n-arrow-offset-vertical)';
132
+ }
113
133
 
114
134
  function placementStyle(placement, arrowStyleLiteral) {
115
135
  const position = placement.split('-')[0];
@@ -25,6 +25,7 @@ declare const _default: import("vue").DefineComponent<{
25
25
  readonly default: undefined;
26
26
  };
27
27
  theme: import("vue").PropType<import("../../_mixins").Theme<"Radio", {
28
+ labelLineHeight: string;
28
29
  buttonHeightSmall: string;
29
30
  buttonHeightMedium: string;
30
31
  buttonHeightLarge: string;
@@ -61,6 +62,7 @@ declare const _default: import("vue").DefineComponent<{
61
62
  labelPadding: string;
62
63
  }, any>>;
63
64
  themeOverrides: import("vue").PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
65
+ labelLineHeight: string;
64
66
  buttonHeightSmall: string;
65
67
  buttonHeightMedium: string;
66
68
  buttonHeightLarge: string;
@@ -97,6 +99,7 @@ declare const _default: import("vue").DefineComponent<{
97
99
  labelPadding: string;
98
100
  }, any>>>;
99
101
  builtinThemeOverrides: import("vue").PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
102
+ labelLineHeight: string;
100
103
  buttonHeightSmall: string;
101
104
  buttonHeightMedium: string;
102
105
  buttonHeightLarge: string;
@@ -135,6 +138,7 @@ declare const _default: import("vue").DefineComponent<{
135
138
  }, import("./use-radio").UseRadio & {
136
139
  cssVars: import("vue").ComputedRef<{
137
140
  '--n-bezier': string;
141
+ '--n-label-line-height': string;
138
142
  '--n-box-shadow': string;
139
143
  '--n-box-shadow-active': string;
140
144
  '--n-box-shadow-disabled': string;
@@ -176,6 +180,7 @@ declare const _default: import("vue").DefineComponent<{
176
180
  readonly default: undefined;
177
181
  };
178
182
  theme: import("vue").PropType<import("../../_mixins").Theme<"Radio", {
183
+ labelLineHeight: string;
179
184
  buttonHeightSmall: string;
180
185
  buttonHeightMedium: string;
181
186
  buttonHeightLarge: string;
@@ -212,6 +217,7 @@ declare const _default: import("vue").DefineComponent<{
212
217
  labelPadding: string;
213
218
  }, any>>;
214
219
  themeOverrides: import("vue").PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
220
+ labelLineHeight: string;
215
221
  buttonHeightSmall: string;
216
222
  buttonHeightMedium: string;
217
223
  buttonHeightLarge: string;
@@ -248,6 +254,7 @@ declare const _default: import("vue").DefineComponent<{
248
254
  labelPadding: string;
249
255
  }, any>>>;
250
256
  builtinThemeOverrides: import("vue").PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
257
+ labelLineHeight: string;
251
258
  buttonHeightSmall: string;
252
259
  buttonHeightMedium: string;
253
260
  buttonHeightLarge: string;
@@ -1,6 +1,6 @@
1
1
  import { h, defineComponent, computed } from 'vue';
2
2
  import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
- import { createKey } from '../../_utils';
3
+ import { createKey, resolveWrappedSlot } from '../../_utils';
4
4
  import { radioLight } from '../styles';
5
5
  import useRadio from './use-radio';
6
6
  import style from './styles/radio.cssr';
@@ -12,9 +12,10 @@ export default defineComponent({
12
12
  const themeRef = useTheme('Radio', '-radio', style, radioLight, props, radio.mergedClsPrefix);
13
13
  const cssVarsRef = computed(() => {
14
14
  const { mergedSize: { value: size } } = radio;
15
- const { common: { cubicBezierEaseInOut }, self: { boxShadow, boxShadowActive, boxShadowDisabled, boxShadowFocus, boxShadowHover, color, colorDisabled, textColor, textColorDisabled, dotColorActive, dotColorDisabled, labelPadding, [createKey('fontSize', size)]: fontSize, [createKey('radioSize', size)]: radioSize } } = themeRef.value;
15
+ const { common: { cubicBezierEaseInOut }, self: { boxShadow, boxShadowActive, boxShadowDisabled, boxShadowFocus, boxShadowHover, color, colorDisabled, textColor, textColorDisabled, dotColorActive, dotColorDisabled, labelPadding, labelLineHeight, [createKey('fontSize', size)]: fontSize, [createKey('radioSize', size)]: radioSize } } = themeRef.value;
16
16
  return {
17
17
  '--n-bezier': cubicBezierEaseInOut,
18
+ '--n-label-line-height': labelLineHeight,
18
19
  '--n-box-shadow': boxShadow,
19
20
  '--n-box-shadow-active': boxShadowActive,
20
21
  '--n-box-shadow-disabled': boxShadowDisabled,
@@ -54,10 +55,16 @@ export default defineComponent({
54
55
  }
55
56
  ], style: this.cssVars },
56
57
  h("input", { ref: "inputRef", type: "radio", class: `${mergedClsPrefix}-radio-input`, value: this.value, name: this.mergedName, checked: this.renderSafeChecked, disabled: this.mergedDisabled, onChange: this.handleRadioInputChange, onFocus: this.handleRadioInputFocus, onBlur: this.handleRadioInputBlur }),
57
- h("div", { class: [
58
- `${mergedClsPrefix}-radio__dot`,
59
- this.renderSafeChecked && `${mergedClsPrefix}-radio__dot--checked`
60
- ] }),
61
- $slots.default ? (h("div", { ref: "labelRef", class: `${mergedClsPrefix}-radio__label` }, $slots.default())) : null));
58
+ h("div", { class: `${mergedClsPrefix}-radio__dot-wrapper` },
59
+ "\u00A0",
60
+ h("div", { class: [
61
+ `${mergedClsPrefix}-radio__dot`,
62
+ this.renderSafeChecked && `${mergedClsPrefix}-radio__dot--checked`
63
+ ] })),
64
+ resolveWrappedSlot($slots.default, (children) => {
65
+ if (!children)
66
+ return null;
67
+ return (h("div", { ref: "labelRef", class: `${mergedClsPrefix}-radio__label` }, children));
68
+ })));
62
69
  }
63
70
  });
@@ -16,6 +16,7 @@ declare const radioGroupProps: {
16
16
  readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
17
17
  readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
18
18
  readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
19
+ labelLineHeight: string;
19
20
  buttonHeightSmall: string;
20
21
  buttonHeightMedium: string;
21
22
  buttonHeightLarge: string;
@@ -52,6 +53,7 @@ declare const radioGroupProps: {
52
53
  labelPadding: string;
53
54
  }, any>>;
54
55
  readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
56
+ labelLineHeight: string;
55
57
  buttonHeightSmall: string;
56
58
  buttonHeightMedium: string;
57
59
  buttonHeightLarge: string;
@@ -88,6 +90,7 @@ declare const radioGroupProps: {
88
90
  labelPadding: string;
89
91
  }, any>>>;
90
92
  readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
93
+ labelLineHeight: string;
91
94
  buttonHeightSmall: string;
92
95
  buttonHeightMedium: string;
93
96
  buttonHeightLarge: string;
@@ -140,6 +143,7 @@ declare const _default: import("vue").DefineComponent<{
140
143
  readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
141
144
  readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
142
145
  readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
146
+ labelLineHeight: string;
143
147
  buttonHeightSmall: string;
144
148
  buttonHeightMedium: string;
145
149
  buttonHeightLarge: string;
@@ -176,6 +180,7 @@ declare const _default: import("vue").DefineComponent<{
176
180
  labelPadding: string;
177
181
  }, any>>;
178
182
  readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
183
+ labelLineHeight: string;
179
184
  buttonHeightSmall: string;
180
185
  buttonHeightMedium: string;
181
186
  buttonHeightLarge: string;
@@ -212,6 +217,7 @@ declare const _default: import("vue").DefineComponent<{
212
217
  labelPadding: string;
213
218
  }, any>>>;
214
219
  readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
220
+ labelLineHeight: string;
215
221
  buttonHeightSmall: string;
216
222
  buttonHeightMedium: string;
217
223
  buttonHeightLarge: string;
@@ -286,6 +292,7 @@ declare const _default: import("vue").DefineComponent<{
286
292
  readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
287
293
  readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
288
294
  readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
295
+ labelLineHeight: string;
289
296
  buttonHeightSmall: string;
290
297
  buttonHeightMedium: string;
291
298
  buttonHeightLarge: string;
@@ -322,6 +329,7 @@ declare const _default: import("vue").DefineComponent<{
322
329
  labelPadding: string;
323
330
  }, any>>;
324
331
  readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
332
+ labelLineHeight: string;
325
333
  buttonHeightSmall: string;
326
334
  buttonHeightMedium: string;
327
335
  buttonHeightLarge: string;
@@ -358,6 +366,7 @@ declare const _default: import("vue").DefineComponent<{
358
366
  labelPadding: string;
359
367
  }, any>>>;
360
368
  readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"Radio", {
369
+ labelLineHeight: string;
361
370
  buttonHeightSmall: string;
362
371
  buttonHeightMedium: string;
363
372
  buttonHeightLarge: string;