naive-ui 2.24.4 → 2.25.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 (673) hide show
  1. package/es/_internal/clear/src/Clear.js +3 -2
  2. package/es/_internal/close/src/Close.js +1 -1
  3. package/es/_internal/icon/src/Icon.js +1 -1
  4. package/es/_internal/icons/ArrowUp.d.ts +2 -0
  5. package/es/_internal/icons/ArrowUp.js +9 -0
  6. package/es/_internal/icons/index.d.ts +1 -0
  7. package/es/_internal/icons/index.js +1 -0
  8. package/es/_internal/loading/src/Loading.js +1 -1
  9. package/es/_internal/menu-mask/src/MenuMask.js +1 -1
  10. package/es/_internal/scrollbar/src/ScrollBar.js +1 -1
  11. package/es/_internal/select-menu/src/SelectMenu.d.ts +5 -5
  12. package/es/_internal/select-menu/src/SelectMenu.js +32 -16
  13. package/es/_internal/selection/src/Selection.d.ts +13 -5
  14. package/es/_internal/selection/src/Selection.js +24 -15
  15. package/es/_internal/selection/src/interface.d.ts +2 -2
  16. package/es/_internal/selection/src/styles/index.cssr.js +16 -31
  17. package/es/_internal/slot-machine/src/SlotMachine.js +1 -1
  18. package/es/_internal/wave/src/Wave.js +1 -1
  19. package/es/_mixins/use-config.js +1 -1
  20. package/es/_mixins/use-css-vars-class.d.ts +4 -2
  21. package/es/_mixins/use-css-vars-class.js +26 -11
  22. package/es/_mixins/use-form-item.d.ts +4 -0
  23. package/es/_mixins/use-form-item.js +7 -0
  24. package/es/_mixins/use-hljs.js +1 -1
  25. package/es/_mixins/use-locale.js +1 -1
  26. package/es/_mixins/use-style.js +1 -1
  27. package/es/_mixins/use-theme.d.ts +1 -1
  28. package/es/_mixins/use-theme.js +2 -2
  29. package/es/_utils/cssr/index.d.ts +1 -2
  30. package/es/_utils/cssr/index.js +1 -14
  31. package/es/_utils/index.d.ts +1 -1
  32. package/es/_utils/index.js +1 -1
  33. package/es/_utils/vue/index.d.ts +1 -1
  34. package/es/_utils/vue/index.js +1 -1
  35. package/es/_utils/vue/resolve-slot.d.ts +8 -2
  36. package/es/_utils/vue/resolve-slot.js +18 -1
  37. package/es/affix/src/Affix.js +1 -1
  38. package/es/alert/src/Alert.d.ts +4 -4
  39. package/es/alert/src/Alert.js +1 -1
  40. package/es/anchor/src/AnchorAdapter.js +1 -1
  41. package/es/auto-complete/src/AutoComplete.d.ts +17 -2
  42. package/es/auto-complete/src/AutoComplete.js +9 -5
  43. package/es/avatar/src/Avatar.js +2 -2
  44. package/es/avatar/src/AvatarGroup.d.ts +0 -1
  45. package/es/avatar/src/AvatarGroup.js +2 -3
  46. package/es/avatar/src/context.d.ts +2 -0
  47. package/es/avatar/src/context.js +2 -0
  48. package/es/back-top/src/BackTop.js +1 -1
  49. package/es/badge/src/Badge.d.ts +4 -4
  50. package/es/badge/src/Badge.js +1 -1
  51. package/es/breadcrumb/src/Breadcrumb.js +1 -1
  52. package/es/button/src/Button.d.ts +4 -3
  53. package/es/button/src/Button.js +265 -229
  54. package/es/button/src/ButtonGroup.js +1 -1
  55. package/es/button/src/styles/button.cssr.js +1 -0
  56. package/es/calendar/src/Calendar.js +1 -1
  57. package/es/card/src/Card.d.ts +5 -1
  58. package/es/card/src/Card.js +3 -2
  59. package/es/carousel/src/Carousel.js +4 -1
  60. package/es/carousel/src/CarouselArrow.js +6 -9
  61. package/es/carousel/src/styles/index.cssr.js +59 -48
  62. package/es/carousel/styles/light.js +2 -2
  63. package/es/cascader/src/Cascader.d.ts +6 -4
  64. package/es/cascader/src/Cascader.js +6 -6
  65. package/es/checkbox/src/Checkbox.js +1 -1
  66. package/es/code/src/Code.js +1 -1
  67. package/es/collapse/src/Collapse.js +1 -1
  68. package/es/collapse-transition/src/CollapseTransition.js +1 -1
  69. package/es/color-picker/src/ColorInputUnit.js +1 -1
  70. package/es/color-picker/src/ColorPicker.d.ts +37 -16
  71. package/es/color-picker/src/ColorPicker.js +14 -7
  72. package/es/color-picker/src/ColorPickerTrigger.d.ts +3 -0
  73. package/es/color-picker/src/ColorPickerTrigger.js +7 -3
  74. package/es/color-picker/src/context.d.ts +9 -0
  75. package/es/color-picker/src/context.js +2 -0
  76. package/es/color-picker/src/styles/index.cssr.js +2 -1
  77. package/es/components.d.ts +2 -1
  78. package/es/components.js +2 -1
  79. package/es/composables/use-theme-vars.js +1 -1
  80. package/es/config-provider/src/ConfigProvider.d.ts +15 -3
  81. package/es/config-provider/src/ConfigProvider.js +29 -3
  82. package/es/config-provider/src/context.d.ts +2 -0
  83. package/es/config-provider/src/context.js +2 -0
  84. package/es/config-provider/src/interface.d.ts +2 -1
  85. package/es/config-provider/src/internal-interface.d.ts +4 -0
  86. package/es/data-table/src/DataTable.d.ts +1 -1
  87. package/es/data-table/src/DataTable.js +1 -1
  88. package/es/data-table/src/interface.d.ts +2 -2
  89. package/es/data-table/src/use-check.d.ts +2 -2
  90. package/es/data-table/src/use-group-header.d.ts +1 -1
  91. package/es/data-table/src/use-scroll.d.ts +1 -1
  92. package/es/data-table/src/use-scroll.js +3 -3
  93. package/es/data-table/src/use-sorter.d.ts +1 -1
  94. package/es/data-table/src/use-table-data.d.ts +1 -1
  95. package/es/data-table/src/utils.d.ts +2 -1
  96. package/es/data-table/src/utils.js +13 -3
  97. package/es/date-picker/src/DatePicker.d.ts +13 -1
  98. package/es/date-picker/src/DatePicker.js +8 -7
  99. package/es/date-picker/src/panel/date.d.ts +1 -0
  100. package/es/date-picker/src/panel/daterange.d.ts +1 -0
  101. package/es/date-picker/src/panel/datetime.d.ts +1 -0
  102. package/es/date-picker/src/panel/datetimerange.d.ts +1 -0
  103. package/es/date-picker/src/panel/month.d.ts +1 -0
  104. package/es/date-picker/src/panel/panelHeader.d.ts +2 -0
  105. package/es/date-picker/src/panel/panelHeader.js +7 -3
  106. package/es/date-picker/src/panel/use-calendar.d.ts +1 -0
  107. package/es/date-picker/src/panel/use-dual-calendar.d.ts +1 -0
  108. package/es/date-picker/src/panel/use-panel-common.d.ts +1 -0
  109. package/es/date-picker/src/styles/index.cssr.js +13 -2
  110. package/es/date-picker/styles/light.d.ts +2 -0
  111. package/es/date-picker/styles/light.js +1 -1
  112. package/es/descriptions/src/Descriptions.d.ts +2 -2
  113. package/es/descriptions/src/Descriptions.js +1 -1
  114. package/es/dialog/index.d.ts +3 -3
  115. package/es/dialog/index.js +2 -2
  116. package/es/dialog/src/Dialog.d.ts +28 -61
  117. package/es/dialog/src/Dialog.js +4 -32
  118. package/es/dialog/src/DialogEnvironment.d.ts +12 -13
  119. package/es/dialog/src/DialogEnvironment.js +3 -2
  120. package/es/dialog/src/DialogProvider.d.ts +4 -6
  121. package/es/dialog/src/DialogProvider.js +5 -6
  122. package/es/dialog/src/context.d.ts +3 -0
  123. package/es/dialog/src/context.js +3 -0
  124. package/es/dialog/src/dialogProps.d.ts +32 -0
  125. package/es/dialog/src/dialogProps.js +29 -0
  126. package/es/dialog/src/use-dialog.js +1 -1
  127. package/es/divider/src/Divider.js +1 -1
  128. package/es/drawer/index.d.ts +1 -0
  129. package/es/drawer/src/Drawer.js +1 -1
  130. package/es/dropdown/src/Dropdown.d.ts +17 -5
  131. package/es/dropdown/src/Dropdown.js +6 -5
  132. package/es/dropdown/src/DropdownGroup.js +1 -0
  133. package/es/dropdown/src/DropdownGroupHeader.js +1 -2
  134. package/es/dropdown/src/DropdownMenu.d.ts +0 -1
  135. package/es/dropdown/src/DropdownMenu.js +4 -4
  136. package/es/dropdown/src/DropdownOption.d.ts +3 -0
  137. package/es/dropdown/src/DropdownOption.js +4 -4
  138. package/es/dropdown/src/context.d.ts +6 -0
  139. package/es/dropdown/src/context.js +4 -0
  140. package/es/dropdown/src/interface.d.ts +1 -1
  141. package/es/dynamic-input/src/DynamicInput.d.ts +16 -33
  142. package/es/dynamic-input/src/DynamicInput.js +73 -36
  143. package/es/dynamic-tags/src/DynamicTags.d.ts +11 -20
  144. package/es/dynamic-tags/src/DynamicTags.js +14 -16
  145. package/es/element/src/Element.js +1 -1
  146. package/es/ellipsis/src/Ellipsis.js +1 -1
  147. package/es/empty/src/Empty.js +2 -2
  148. package/es/form/src/Form.d.ts +1 -1
  149. package/es/form/src/Form.js +2 -2
  150. package/es/form/src/FormItem.d.ts +5 -5
  151. package/es/form/src/FormItem.js +3 -2
  152. package/es/form/src/FormItemCol.d.ts +4 -4
  153. package/es/form/src/FormItemGridItem.d.ts +5 -5
  154. package/es/form/src/FormItemRow.d.ts +3 -3
  155. package/es/form/src/context.d.ts +3 -0
  156. package/es/form/src/context.js +3 -0
  157. package/es/form/src/interface.d.ts +4 -3
  158. package/es/form/src/interface.js +1 -3
  159. package/es/form/src/styles/form-item.cssr.js +6 -5
  160. package/es/form/src/utils.d.ts +1 -1
  161. package/es/form/src/utils.js +1 -1
  162. package/es/global-style/src/GlobalStyle.js +1 -1
  163. package/es/gradient-text/src/GradientText.d.ts +5 -5
  164. package/es/gradient-text/src/GradientText.js +1 -1
  165. package/es/grid/src/Grid.d.ts +0 -1
  166. package/es/grid/src/Grid.js +2 -3
  167. package/es/grid/src/GridItem.js +1 -1
  168. package/es/grid/src/config.d.ts +3 -0
  169. package/es/grid/src/config.js +3 -0
  170. package/es/icon/index.d.ts +1 -1
  171. package/es/icon/index.js +1 -1
  172. package/es/icon/src/Icon.d.ts +4 -3
  173. package/es/icon/src/Icon.js +6 -6
  174. package/es/icon-wrapper/index.d.ts +1 -0
  175. package/es/icon-wrapper/index.js +1 -0
  176. package/es/icon-wrapper/src/IconWrapper.d.ts +50 -0
  177. package/es/icon-wrapper/src/IconWrapper.js +48 -0
  178. package/es/icon-wrapper/src/styles/index.cssr.d.ts +2 -0
  179. package/es/icon-wrapper/src/styles/index.cssr.js +16 -0
  180. package/es/icon-wrapper/styles/dark.d.ts +3 -0
  181. package/es/icon-wrapper/styles/dark.js +8 -0
  182. package/es/icon-wrapper/styles/index.d.ts +3 -0
  183. package/es/icon-wrapper/styles/index.js +2 -0
  184. package/es/icon-wrapper/styles/light.d.ts +10 -0
  185. package/es/icon-wrapper/styles/light.js +14 -0
  186. package/es/image/src/ImagePreview.js +1 -1
  187. package/es/input/src/Input.d.ts +7 -2
  188. package/es/input/src/Input.js +21 -17
  189. package/es/input/src/InputGroup.js +1 -1
  190. package/es/input/src/InputGroupLabel.js +1 -1
  191. package/es/input/src/WordCount.js +9 -8
  192. package/es/input/src/styles/input.cssr.js +6 -5
  193. package/es/input-number/src/InputNumber.d.ts +3 -2
  194. package/es/input-number/src/InputNumber.js +23 -21
  195. package/es/layout/src/Layout.js +1 -1
  196. package/es/layout/src/LayoutFooter.js +1 -1
  197. package/es/layout/src/LayoutHeader.js +1 -1
  198. package/es/layout/src/LayoutSider.js +1 -1
  199. package/es/legacy-grid/src/Col.js +0 -3
  200. package/es/legacy-grid/src/Row.js +1 -1
  201. package/es/list/src/List.js +1 -1
  202. package/es/loading-bar/src/LoadingBar.js +2 -2
  203. package/es/loading-bar/src/LoadingBarProvider.d.ts +3 -8
  204. package/es/loading-bar/src/LoadingBarProvider.js +1 -3
  205. package/es/loading-bar/src/context.d.ts +7 -0
  206. package/es/loading-bar/src/context.js +3 -0
  207. package/es/loading-bar/src/use-loading-bar.js +1 -1
  208. package/es/locales/common/jaJP.js +12 -14
  209. package/es/log/index.d.ts +1 -1
  210. package/es/log/src/Log.d.ts +17 -12
  211. package/es/log/src/Log.js +10 -17
  212. package/es/log/src/LogLine.js +1 -1
  213. package/es/log/src/context.d.ts +2 -0
  214. package/es/log/src/context.js +2 -0
  215. package/es/log/src/styles/index.cssr.js +2 -3
  216. package/es/mention/src/Mention.d.ts +17 -2
  217. package/es/mention/src/Mention.js +7 -3
  218. package/es/menu/src/Menu.d.ts +2 -4
  219. package/es/menu/src/Menu.js +3 -3
  220. package/es/menu/src/MenuDivider.js +1 -1
  221. package/es/menu/src/MenuOption.d.ts +1 -2
  222. package/es/menu/src/MenuOption.js +1 -1
  223. package/es/menu/src/MenuOptionContent.js +1 -1
  224. package/es/menu/src/MenuOptionGroup.d.ts +1 -4
  225. package/es/menu/src/MenuOptionGroup.js +4 -5
  226. package/es/menu/src/Submenu.d.ts +1 -4
  227. package/es/menu/src/Submenu.js +3 -4
  228. package/es/menu/src/context.d.ts +4 -0
  229. package/es/menu/src/context.js +4 -0
  230. package/es/menu/src/use-menu-child.js +1 -3
  231. package/es/menu/src/useCheckDeprecated.d.ts +1 -1
  232. package/es/menu/src/utils.d.ts +1 -1
  233. package/es/menu/src/utils.js +5 -3
  234. package/es/message/src/Message.d.ts +2 -158
  235. package/es/message/src/Message.js +2 -2
  236. package/es/message/src/MessageProvider.d.ts +4 -9
  237. package/es/message/src/MessageProvider.js +2 -3
  238. package/es/message/src/context.d.ts +7 -0
  239. package/es/message/src/context.js +3 -0
  240. package/es/message/src/types.d.ts +1 -1
  241. package/es/message/src/use-message.js +1 -1
  242. package/es/modal/src/BodyWrapper.d.ts +6 -4
  243. package/es/modal/src/BodyWrapper.js +2 -2
  244. package/es/modal/src/Modal.d.ts +8 -5
  245. package/es/modal/src/Modal.js +2 -2
  246. package/es/modal/src/presetProps.d.ts +3 -2
  247. package/es/modal/src/presetProps.js +1 -1
  248. package/es/notification/index.d.ts +1 -1
  249. package/es/notification/src/Notification.d.ts +5 -6
  250. package/es/notification/src/Notification.js +3 -5
  251. package/es/notification/src/NotificationContainer.d.ts +1 -2
  252. package/es/notification/src/NotificationContainer.js +2 -2
  253. package/es/notification/src/NotificationEnvironment.d.ts +7 -8
  254. package/es/notification/src/NotificationEnvironment.js +3 -3
  255. package/es/notification/src/NotificationProvider.d.ts +11 -7
  256. package/es/notification/src/NotificationProvider.js +6 -6
  257. package/es/notification/src/context.d.ts +2 -0
  258. package/es/notification/src/context.js +2 -0
  259. package/es/page-header/src/PageHeader.js +1 -1
  260. package/es/pagination/src/Pagination.js +1 -1
  261. package/es/popconfirm/src/Popconfirm.d.ts +21 -8
  262. package/es/popconfirm/src/Popconfirm.js +1 -1
  263. package/es/popover/index.d.ts +1 -0
  264. package/es/popover/src/Popover.d.ts +21 -4
  265. package/es/popover/src/Popover.js +9 -2
  266. package/es/popover/src/PopoverBody.d.ts +4 -0
  267. package/es/popover/src/PopoverBody.js +13 -11
  268. package/es/popover/src/styles/index.cssr.js +2 -2
  269. package/es/popselect/src/Popselect.d.ts +31 -8
  270. package/es/popselect/src/Popselect.js +8 -6
  271. package/es/popselect/src/PopselectPanel.d.ts +2 -5
  272. package/es/popselect/src/PopselectPanel.js +4 -2
  273. package/es/progress/src/Progress.d.ts +1 -1
  274. package/es/progress/src/Progress.js +1 -1
  275. package/es/radio/src/Radio.js +1 -1
  276. package/es/radio/src/RadioGroup.js +1 -1
  277. package/es/rate/src/Rate.js +1 -1
  278. package/es/result/src/Result.d.ts +4 -4
  279. package/es/result/src/Result.js +1 -1
  280. package/es/select/index.d.ts +2 -0
  281. package/es/select/src/Select.d.ts +27 -24
  282. package/es/select/src/Select.js +71 -41
  283. package/es/select/src/interface.d.ts +2 -0
  284. package/es/skeleton/src/Skeleton.js +1 -1
  285. package/es/slider/src/Slider.js +1 -1
  286. package/es/space/src/Space.js +1 -1
  287. package/es/spin/src/Spin.js +1 -1
  288. package/es/statistic/src/Statistic.js +1 -1
  289. package/es/steps/src/Steps.js +1 -1
  290. package/es/switch/src/Switch.js +1 -1
  291. package/es/table/src/Table.js +1 -1
  292. package/es/tabs/src/Tabs.d.ts +7 -4
  293. package/es/tabs/src/Tabs.js +12 -4
  294. package/es/tag/src/Tag.d.ts +4 -4
  295. package/es/tag/src/Tag.js +1 -1
  296. package/es/tag/src/common-props.d.ts +1 -1
  297. package/es/tag/src/styles/index.cssr.js +5 -17
  298. package/es/theme-editor/src/ThemeEditor.js +1 -1
  299. package/es/themes/dark.js +3 -0
  300. package/es/themes/light.js +3 -0
  301. package/es/themes/utils.d.ts +2 -1
  302. package/es/themes/utils.js +16 -4
  303. package/es/thing/src/Thing.js +1 -1
  304. package/es/time-picker/src/TimePicker.d.ts +7 -5
  305. package/es/time-picker/src/TimePicker.js +5 -5
  306. package/es/timeline/src/Timeline.js +1 -1
  307. package/es/timeline/src/TimelineItem.d.ts +4 -4
  308. package/es/tooltip/src/Tooltip.d.ts +20 -7
  309. package/es/tooltip/src/Tooltip.js +1 -1
  310. package/es/transfer/src/Transfer.d.ts +1 -1
  311. package/es/transfer/src/Transfer.js +1 -1
  312. package/es/tree/src/Tree.d.ts +6 -2
  313. package/es/tree/src/Tree.js +15 -8
  314. package/es/tree/src/TreeNode.d.ts +2 -0
  315. package/es/tree/src/TreeNode.js +37 -10
  316. package/es/tree/src/TreeNodeContent.d.ts +3 -1
  317. package/es/tree/src/TreeNodeContent.js +4 -3
  318. package/es/tree/src/interface.d.ts +5 -1
  319. package/es/tree-select/src/TreeSelect.d.ts +16 -14
  320. package/es/tree-select/src/TreeSelect.js +8 -5
  321. package/es/typography/src/a.js +1 -1
  322. package/es/typography/src/blockquote.js +1 -1
  323. package/es/typography/src/create-header.d.ts +4 -4
  324. package/es/typography/src/create-header.js +1 -1
  325. package/es/typography/src/headers.d.ts +18 -18
  326. package/es/typography/src/hr.js +1 -1
  327. package/es/typography/src/ol.js +1 -1
  328. package/es/typography/src/p.js +1 -1
  329. package/es/typography/src/text.js +1 -1
  330. package/es/typography/src/ul.js +1 -1
  331. package/es/upload/src/Upload.js +1 -1
  332. package/es/upload/src/UploadFile.d.ts +1 -1
  333. package/es/upload/src/UploadProgress.d.ts +2 -2
  334. package/es/version.d.ts +1 -1
  335. package/es/version.js +1 -1
  336. package/lib/_internal/clear/src/Clear.js +3 -2
  337. package/lib/_internal/close/src/Close.js +1 -1
  338. package/lib/_internal/icon/src/Icon.js +1 -1
  339. package/lib/_internal/icons/ArrowUp.d.ts +2 -0
  340. package/lib/_internal/icons/ArrowUp.js +11 -0
  341. package/lib/_internal/icons/index.d.ts +1 -0
  342. package/lib/_internal/icons/index.js +3 -1
  343. package/lib/_internal/loading/src/Loading.js +1 -1
  344. package/lib/_internal/menu-mask/src/MenuMask.js +1 -1
  345. package/lib/_internal/scrollbar/src/ScrollBar.js +1 -1
  346. package/lib/_internal/select-menu/src/SelectMenu.d.ts +5 -5
  347. package/lib/_internal/select-menu/src/SelectMenu.js +31 -15
  348. package/lib/_internal/selection/src/Selection.d.ts +13 -5
  349. package/lib/_internal/selection/src/Selection.js +24 -15
  350. package/lib/_internal/selection/src/interface.d.ts +2 -2
  351. package/lib/_internal/selection/src/styles/index.cssr.js +15 -30
  352. package/lib/_internal/slot-machine/src/SlotMachine.js +1 -1
  353. package/lib/_internal/wave/src/Wave.js +1 -1
  354. package/lib/_mixins/use-config.js +2 -2
  355. package/lib/_mixins/use-css-vars-class.d.ts +4 -2
  356. package/lib/_mixins/use-css-vars-class.js +25 -13
  357. package/lib/_mixins/use-form-item.d.ts +4 -0
  358. package/lib/_mixins/use-form-item.js +7 -0
  359. package/lib/_mixins/use-hljs.js +2 -2
  360. package/lib/_mixins/use-locale.js +2 -2
  361. package/lib/_mixins/use-style.js +1 -1
  362. package/lib/_mixins/use-theme.d.ts +1 -1
  363. package/lib/_mixins/use-theme.js +3 -3
  364. package/lib/_utils/cssr/index.d.ts +1 -2
  365. package/lib/_utils/cssr/index.js +1 -15
  366. package/lib/_utils/index.d.ts +1 -1
  367. package/lib/_utils/index.js +5 -1
  368. package/lib/_utils/vue/index.d.ts +1 -1
  369. package/lib/_utils/vue/index.js +4 -1
  370. package/lib/_utils/vue/resolve-slot.d.ts +8 -2
  371. package/lib/_utils/vue/resolve-slot.js +22 -2
  372. package/lib/affix/src/Affix.js +1 -1
  373. package/lib/alert/src/Alert.d.ts +4 -4
  374. package/lib/alert/src/Alert.js +1 -1
  375. package/lib/anchor/src/AnchorAdapter.js +1 -1
  376. package/lib/auto-complete/src/AutoComplete.d.ts +17 -2
  377. package/lib/auto-complete/src/AutoComplete.js +9 -5
  378. package/lib/avatar/src/Avatar.js +3 -3
  379. package/lib/avatar/src/AvatarGroup.d.ts +0 -1
  380. package/lib/avatar/src/AvatarGroup.js +3 -5
  381. package/lib/avatar/src/context.d.ts +2 -0
  382. package/lib/avatar/src/context.js +5 -0
  383. package/lib/back-top/src/BackTop.js +1 -1
  384. package/lib/badge/src/Badge.d.ts +4 -4
  385. package/lib/badge/src/Badge.js +1 -1
  386. package/lib/breadcrumb/src/Breadcrumb.js +1 -1
  387. package/lib/button/src/Button.d.ts +4 -3
  388. package/lib/button/src/Button.js +264 -228
  389. package/lib/button/src/ButtonGroup.js +1 -1
  390. package/lib/button/src/styles/button.cssr.js +1 -0
  391. package/lib/calendar/src/Calendar.js +1 -1
  392. package/lib/card/src/Card.d.ts +5 -1
  393. package/lib/card/src/Card.js +3 -2
  394. package/lib/carousel/src/Carousel.js +4 -1
  395. package/lib/carousel/src/CarouselArrow.js +5 -8
  396. package/lib/carousel/src/styles/index.cssr.js +59 -48
  397. package/lib/carousel/styles/light.js +2 -2
  398. package/lib/cascader/src/Cascader.d.ts +6 -4
  399. package/lib/cascader/src/Cascader.js +6 -6
  400. package/lib/checkbox/src/Checkbox.js +1 -1
  401. package/lib/code/src/Code.js +1 -1
  402. package/lib/collapse/src/Collapse.js +1 -1
  403. package/lib/collapse-transition/src/CollapseTransition.js +1 -1
  404. package/lib/color-picker/src/ColorInputUnit.js +2 -2
  405. package/lib/color-picker/src/ColorPicker.d.ts +37 -16
  406. package/lib/color-picker/src/ColorPicker.js +15 -8
  407. package/lib/color-picker/src/ColorPickerTrigger.d.ts +3 -0
  408. package/lib/color-picker/src/ColorPickerTrigger.js +8 -4
  409. package/lib/color-picker/src/context.d.ts +9 -0
  410. package/lib/color-picker/src/context.js +5 -0
  411. package/lib/color-picker/src/styles/index.cssr.js +2 -1
  412. package/lib/components.d.ts +2 -1
  413. package/lib/components.js +2 -1
  414. package/lib/composables/use-theme-vars.js +2 -2
  415. package/lib/config-provider/src/ConfigProvider.d.ts +15 -3
  416. package/lib/config-provider/src/ConfigProvider.js +31 -5
  417. package/lib/config-provider/src/context.d.ts +2 -0
  418. package/lib/config-provider/src/context.js +5 -0
  419. package/lib/config-provider/src/interface.d.ts +2 -1
  420. package/lib/config-provider/src/internal-interface.d.ts +4 -0
  421. package/lib/data-table/src/DataTable.d.ts +1 -1
  422. package/lib/data-table/src/DataTable.js +1 -1
  423. package/lib/data-table/src/interface.d.ts +2 -2
  424. package/lib/data-table/src/use-check.d.ts +2 -2
  425. package/lib/data-table/src/use-group-header.d.ts +1 -1
  426. package/lib/data-table/src/use-scroll.d.ts +1 -1
  427. package/lib/data-table/src/use-scroll.js +2 -2
  428. package/lib/data-table/src/use-sorter.d.ts +1 -1
  429. package/lib/data-table/src/use-table-data.d.ts +1 -1
  430. package/lib/data-table/src/utils.d.ts +2 -1
  431. package/lib/data-table/src/utils.js +15 -4
  432. package/lib/date-picker/src/DatePicker.d.ts +13 -1
  433. package/lib/date-picker/src/DatePicker.js +8 -7
  434. package/lib/date-picker/src/panel/date.d.ts +1 -0
  435. package/lib/date-picker/src/panel/daterange.d.ts +1 -0
  436. package/lib/date-picker/src/panel/datetime.d.ts +1 -0
  437. package/lib/date-picker/src/panel/datetimerange.d.ts +1 -0
  438. package/lib/date-picker/src/panel/month.d.ts +1 -0
  439. package/lib/date-picker/src/panel/panelHeader.d.ts +2 -0
  440. package/lib/date-picker/src/panel/panelHeader.js +7 -3
  441. package/lib/date-picker/src/panel/use-calendar.d.ts +1 -0
  442. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +1 -0
  443. package/lib/date-picker/src/panel/use-panel-common.d.ts +1 -0
  444. package/lib/date-picker/src/styles/index.cssr.js +13 -2
  445. package/lib/date-picker/styles/light.d.ts +2 -0
  446. package/lib/date-picker/styles/light.js +1 -1
  447. package/lib/descriptions/src/Descriptions.d.ts +2 -2
  448. package/lib/descriptions/src/Descriptions.js +1 -1
  449. package/lib/dialog/index.d.ts +3 -3
  450. package/lib/dialog/index.js +2 -5
  451. package/lib/dialog/src/Dialog.d.ts +28 -61
  452. package/lib/dialog/src/Dialog.js +5 -33
  453. package/lib/dialog/src/DialogEnvironment.d.ts +12 -13
  454. package/lib/dialog/src/DialogEnvironment.js +6 -24
  455. package/lib/dialog/src/DialogProvider.d.ts +4 -6
  456. package/lib/dialog/src/DialogProvider.js +8 -12
  457. package/lib/dialog/src/context.d.ts +3 -0
  458. package/lib/dialog/src/context.js +6 -0
  459. package/lib/dialog/src/dialogProps.d.ts +32 -0
  460. package/lib/dialog/src/dialogProps.js +32 -0
  461. package/lib/dialog/src/use-dialog.js +2 -2
  462. package/lib/divider/src/Divider.js +1 -1
  463. package/lib/drawer/index.d.ts +1 -0
  464. package/lib/drawer/src/Drawer.js +1 -1
  465. package/lib/dropdown/src/Dropdown.d.ts +17 -5
  466. package/lib/dropdown/src/Dropdown.js +6 -6
  467. package/lib/dropdown/src/DropdownGroup.js +1 -0
  468. package/lib/dropdown/src/DropdownGroupHeader.js +3 -4
  469. package/lib/dropdown/src/DropdownMenu.d.ts +0 -1
  470. package/lib/dropdown/src/DropdownMenu.js +6 -7
  471. package/lib/dropdown/src/DropdownOption.d.ts +3 -0
  472. package/lib/dropdown/src/DropdownOption.js +9 -25
  473. package/lib/dropdown/src/context.d.ts +6 -0
  474. package/lib/dropdown/src/context.js +7 -0
  475. package/lib/dropdown/src/interface.d.ts +1 -1
  476. package/lib/dynamic-input/src/DynamicInput.d.ts +16 -33
  477. package/lib/dynamic-input/src/DynamicInput.js +70 -33
  478. package/lib/dynamic-tags/src/DynamicTags.d.ts +11 -20
  479. package/lib/dynamic-tags/src/DynamicTags.js +12 -14
  480. package/lib/element/src/Element.js +1 -1
  481. package/lib/ellipsis/src/Ellipsis.js +1 -1
  482. package/lib/empty/src/Empty.js +3 -3
  483. package/lib/form/src/Form.d.ts +1 -1
  484. package/lib/form/src/Form.js +4 -4
  485. package/lib/form/src/FormItem.d.ts +5 -5
  486. package/lib/form/src/FormItem.js +5 -4
  487. package/lib/form/src/FormItemCol.d.ts +4 -4
  488. package/lib/form/src/FormItemGridItem.d.ts +5 -5
  489. package/lib/form/src/FormItemRow.d.ts +3 -3
  490. package/lib/form/src/context.d.ts +3 -0
  491. package/lib/form/src/context.js +6 -0
  492. package/lib/form/src/interface.d.ts +4 -3
  493. package/lib/form/src/interface.js +0 -4
  494. package/lib/form/src/styles/form-item.cssr.js +3 -2
  495. package/lib/form/src/utils.d.ts +1 -1
  496. package/lib/form/src/utils.js +4 -4
  497. package/lib/global-style/src/GlobalStyle.js +2 -2
  498. package/lib/gradient-text/src/GradientText.d.ts +5 -5
  499. package/lib/gradient-text/src/GradientText.js +1 -1
  500. package/lib/grid/src/Grid.d.ts +0 -1
  501. package/lib/grid/src/Grid.js +4 -6
  502. package/lib/grid/src/GridItem.js +2 -2
  503. package/lib/grid/src/config.d.ts +3 -0
  504. package/lib/grid/src/config.js +6 -0
  505. package/lib/icon/index.d.ts +1 -1
  506. package/lib/icon/index.js +1 -4
  507. package/lib/icon/src/Icon.d.ts +4 -3
  508. package/lib/icon/src/Icon.js +6 -5
  509. package/lib/icon-wrapper/index.d.ts +1 -0
  510. package/lib/icon-wrapper/index.js +5 -0
  511. package/lib/icon-wrapper/src/IconWrapper.d.ts +50 -0
  512. package/lib/icon-wrapper/src/IconWrapper.js +54 -0
  513. package/lib/icon-wrapper/src/styles/index.cssr.d.ts +2 -0
  514. package/lib/icon-wrapper/src/styles/index.cssr.js +23 -0
  515. package/lib/icon-wrapper/styles/dark.d.ts +3 -0
  516. package/lib/icon-wrapper/styles/dark.js +10 -0
  517. package/lib/icon-wrapper/styles/index.d.ts +3 -0
  518. package/lib/icon-wrapper/styles/index.js +10 -0
  519. package/lib/icon-wrapper/styles/light.d.ts +10 -0
  520. package/lib/icon-wrapper/styles/light.js +18 -0
  521. package/lib/image/src/ImagePreview.js +1 -1
  522. package/lib/input/src/Input.d.ts +7 -2
  523. package/lib/input/src/Input.js +20 -16
  524. package/lib/input/src/InputGroup.js +1 -1
  525. package/lib/input/src/InputGroupLabel.js +1 -1
  526. package/lib/input/src/WordCount.js +9 -8
  527. package/lib/input/src/styles/input.cssr.js +5 -4
  528. package/lib/input-number/src/InputNumber.d.ts +3 -2
  529. package/lib/input-number/src/InputNumber.js +23 -21
  530. package/lib/layout/src/Layout.js +1 -1
  531. package/lib/layout/src/LayoutFooter.js +1 -1
  532. package/lib/layout/src/LayoutHeader.js +1 -1
  533. package/lib/layout/src/LayoutSider.js +1 -1
  534. package/lib/legacy-grid/src/Col.js +0 -6
  535. package/lib/legacy-grid/src/Row.js +1 -1
  536. package/lib/list/src/List.js +1 -1
  537. package/lib/loading-bar/src/LoadingBar.js +3 -3
  538. package/lib/loading-bar/src/LoadingBarProvider.d.ts +3 -8
  539. package/lib/loading-bar/src/LoadingBarProvider.js +3 -6
  540. package/lib/loading-bar/src/context.d.ts +7 -0
  541. package/lib/loading-bar/src/context.js +6 -0
  542. package/lib/loading-bar/src/use-loading-bar.js +2 -2
  543. package/lib/locales/common/jaJP.js +12 -14
  544. package/lib/log/index.d.ts +1 -1
  545. package/lib/log/src/Log.d.ts +17 -12
  546. package/lib/log/src/Log.js +10 -18
  547. package/lib/log/src/LogLine.js +2 -2
  548. package/lib/log/src/context.d.ts +2 -0
  549. package/lib/log/src/context.js +5 -0
  550. package/lib/log/src/styles/index.cssr.js +2 -3
  551. package/lib/mention/src/Mention.d.ts +17 -2
  552. package/lib/mention/src/Mention.js +7 -3
  553. package/lib/menu/src/Menu.d.ts +2 -4
  554. package/lib/menu/src/Menu.js +3 -4
  555. package/lib/menu/src/MenuDivider.js +2 -2
  556. package/lib/menu/src/MenuOption.d.ts +1 -2
  557. package/lib/menu/src/MenuOption.js +2 -2
  558. package/lib/menu/src/MenuOptionContent.js +2 -2
  559. package/lib/menu/src/MenuOptionGroup.d.ts +1 -4
  560. package/lib/menu/src/MenuOptionGroup.js +7 -8
  561. package/lib/menu/src/Submenu.d.ts +1 -4
  562. package/lib/menu/src/Submenu.js +6 -7
  563. package/lib/menu/src/context.d.ts +4 -0
  564. package/lib/menu/src/context.js +7 -0
  565. package/lib/menu/src/use-menu-child.js +4 -6
  566. package/lib/menu/src/useCheckDeprecated.d.ts +1 -1
  567. package/lib/menu/src/utils.d.ts +1 -1
  568. package/lib/menu/src/utils.js +8 -25
  569. package/lib/message/src/Message.d.ts +2 -158
  570. package/lib/message/src/Message.js +3 -3
  571. package/lib/message/src/MessageProvider.d.ts +4 -9
  572. package/lib/message/src/MessageProvider.js +3 -5
  573. package/lib/message/src/context.d.ts +7 -0
  574. package/lib/message/src/context.js +6 -0
  575. package/lib/message/src/types.d.ts +1 -1
  576. package/lib/message/src/use-message.js +2 -2
  577. package/lib/modal/src/BodyWrapper.d.ts +6 -4
  578. package/lib/modal/src/BodyWrapper.js +3 -3
  579. package/lib/modal/src/Modal.d.ts +8 -5
  580. package/lib/modal/src/Modal.js +3 -3
  581. package/lib/modal/src/presetProps.d.ts +3 -2
  582. package/lib/modal/src/presetProps.js +2 -2
  583. package/lib/notification/index.d.ts +1 -1
  584. package/lib/notification/src/Notification.d.ts +5 -6
  585. package/lib/notification/src/Notification.js +5 -7
  586. package/lib/notification/src/NotificationContainer.d.ts +1 -2
  587. package/lib/notification/src/NotificationContainer.js +4 -3
  588. package/lib/notification/src/NotificationEnvironment.d.ts +7 -8
  589. package/lib/notification/src/NotificationEnvironment.js +4 -23
  590. package/lib/notification/src/NotificationProvider.d.ts +11 -7
  591. package/lib/notification/src/NotificationProvider.js +9 -9
  592. package/lib/notification/src/context.d.ts +2 -0
  593. package/lib/notification/src/context.js +5 -0
  594. package/lib/page-header/src/PageHeader.js +1 -1
  595. package/lib/pagination/src/Pagination.js +1 -1
  596. package/lib/popconfirm/src/Popconfirm.d.ts +21 -8
  597. package/lib/popconfirm/src/Popconfirm.js +1 -1
  598. package/lib/popover/index.d.ts +1 -0
  599. package/lib/popover/src/Popover.d.ts +21 -4
  600. package/lib/popover/src/Popover.js +9 -2
  601. package/lib/popover/src/PopoverBody.d.ts +4 -0
  602. package/lib/popover/src/PopoverBody.js +11 -9
  603. package/lib/popover/src/styles/index.cssr.js +2 -2
  604. package/lib/popselect/src/Popselect.d.ts +31 -8
  605. package/lib/popselect/src/Popselect.js +8 -6
  606. package/lib/popselect/src/PopselectPanel.d.ts +2 -5
  607. package/lib/popselect/src/PopselectPanel.js +4 -2
  608. package/lib/progress/src/Progress.d.ts +1 -1
  609. package/lib/progress/src/Progress.js +1 -1
  610. package/lib/radio/src/Radio.js +1 -1
  611. package/lib/radio/src/RadioGroup.js +1 -1
  612. package/lib/rate/src/Rate.js +1 -1
  613. package/lib/result/src/Result.d.ts +4 -4
  614. package/lib/result/src/Result.js +1 -1
  615. package/lib/select/index.d.ts +2 -0
  616. package/lib/select/src/Select.d.ts +27 -24
  617. package/lib/select/src/Select.js +71 -41
  618. package/lib/select/src/interface.d.ts +2 -0
  619. package/lib/skeleton/src/Skeleton.js +1 -1
  620. package/lib/slider/src/Slider.js +1 -1
  621. package/lib/space/src/Space.js +1 -1
  622. package/lib/spin/src/Spin.js +1 -1
  623. package/lib/statistic/src/Statistic.js +1 -1
  624. package/lib/steps/src/Steps.js +1 -1
  625. package/lib/switch/src/Switch.js +1 -1
  626. package/lib/table/src/Table.js +1 -1
  627. package/lib/tabs/src/Tabs.d.ts +7 -4
  628. package/lib/tabs/src/Tabs.js +12 -4
  629. package/lib/tag/src/Tag.d.ts +4 -4
  630. package/lib/tag/src/Tag.js +1 -1
  631. package/lib/tag/src/common-props.d.ts +1 -1
  632. package/lib/tag/src/styles/index.cssr.js +5 -17
  633. package/lib/theme-editor/src/ThemeEditor.js +1 -1
  634. package/lib/themes/dark.js +87 -84
  635. package/lib/themes/light.js +87 -84
  636. package/lib/themes/utils.d.ts +2 -1
  637. package/lib/themes/utils.js +16 -4
  638. package/lib/thing/src/Thing.js +1 -1
  639. package/lib/time-picker/src/TimePicker.d.ts +7 -5
  640. package/lib/time-picker/src/TimePicker.js +5 -5
  641. package/lib/timeline/src/Timeline.js +1 -1
  642. package/lib/timeline/src/TimelineItem.d.ts +4 -4
  643. package/lib/tooltip/src/Tooltip.d.ts +20 -7
  644. package/lib/tooltip/src/Tooltip.js +1 -1
  645. package/lib/transfer/src/Transfer.d.ts +1 -1
  646. package/lib/transfer/src/Transfer.js +1 -1
  647. package/lib/tree/src/Tree.d.ts +6 -2
  648. package/lib/tree/src/Tree.js +15 -8
  649. package/lib/tree/src/TreeNode.d.ts +2 -0
  650. package/lib/tree/src/TreeNode.js +37 -10
  651. package/lib/tree/src/TreeNodeContent.d.ts +3 -1
  652. package/lib/tree/src/TreeNodeContent.js +4 -3
  653. package/lib/tree/src/interface.d.ts +5 -1
  654. package/lib/tree-select/src/TreeSelect.d.ts +16 -14
  655. package/lib/tree-select/src/TreeSelect.js +8 -5
  656. package/lib/typography/src/a.js +1 -1
  657. package/lib/typography/src/blockquote.js +1 -1
  658. package/lib/typography/src/create-header.d.ts +4 -4
  659. package/lib/typography/src/create-header.js +1 -1
  660. package/lib/typography/src/headers.d.ts +18 -18
  661. package/lib/typography/src/hr.js +1 -1
  662. package/lib/typography/src/ol.js +1 -1
  663. package/lib/typography/src/p.js +1 -1
  664. package/lib/typography/src/text.js +1 -1
  665. package/lib/typography/src/ul.js +1 -1
  666. package/lib/upload/src/Upload.js +1 -1
  667. package/lib/upload/src/UploadFile.d.ts +1 -1
  668. package/lib/upload/src/UploadProgress.d.ts +2 -2
  669. package/lib/version.d.ts +1 -1
  670. package/lib/version.js +1 -1
  671. package/package.json +11 -12
  672. package/volar.d.ts +1 -0
  673. package/web-types.json +443 -220
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dialogPropKeys = exports.dialogProps = void 0;
4
+ const _utils_1 = require("../../_utils");
5
+ const dialogProps = {
6
+ icon: Function,
7
+ type: {
8
+ type: String,
9
+ default: 'default'
10
+ },
11
+ title: [String, Function],
12
+ closable: {
13
+ type: Boolean,
14
+ default: true
15
+ },
16
+ negativeText: String,
17
+ positiveText: String,
18
+ content: [String, Function],
19
+ action: Function,
20
+ showIcon: {
21
+ type: Boolean,
22
+ default: true
23
+ },
24
+ loading: Boolean,
25
+ bordered: Boolean,
26
+ iconPlacement: String,
27
+ onPositiveClick: Function,
28
+ onNegativeClick: Function,
29
+ onClose: Function
30
+ };
31
+ exports.dialogProps = dialogProps;
32
+ exports.dialogPropKeys = (0, _utils_1.keysOf)(dialogProps);
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useDialog = void 0;
4
4
  const vue_1 = require("vue");
5
- const DialogProvider_1 = require("./DialogProvider");
5
+ const context_1 = require("./context");
6
6
  const _utils_1 = require("../../_utils");
7
7
  function useDialog() {
8
- const dialog = (0, vue_1.inject)(DialogProvider_1.dialogApiInjectionKey, null);
8
+ const dialog = (0, vue_1.inject)(context_1.dialogApiInjectionKey, null);
9
9
  if (dialog === null) {
10
10
  (0, _utils_1.throwError)('use-dialog', 'No outer <n-dialog-provider /> founded.');
11
11
  }
@@ -16,7 +16,7 @@ exports.default = (0, vue_1.defineComponent)({
16
16
  props: dividerProps,
17
17
  setup(props) {
18
18
  const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
19
- const themeRef = (0, _mixins_1.useTheme)('Divider', 'Divider', index_cssr_1.default, styles_1.dividerLight, props, mergedClsPrefixRef);
19
+ const themeRef = (0, _mixins_1.useTheme)('Divider', '-divider', index_cssr_1.default, styles_1.dividerLight, props, mergedClsPrefixRef);
20
20
  return {
21
21
  mergedClsPrefix: mergedClsPrefixRef,
22
22
  cssVars: (0, vue_1.computed)(() => {
@@ -2,3 +2,4 @@ export { default as NDrawer } from './src/Drawer';
2
2
  export type { DrawerProps } from './src/Drawer';
3
3
  export { default as NDrawerContent } from './src/DrawerContent';
4
4
  export type { DrawerContentProps } from './src/DrawerContent';
5
+ export type { Placement as DrawerPlacement } from './src/DrawerBodyWrapper';
@@ -69,7 +69,7 @@ exports.default = (0, vue_1.defineComponent)({
69
69
  }
70
70
  const { mergedClsPrefixRef, namespaceRef } = (0, _mixins_1.useConfig)(props);
71
71
  const isMountedRef = (0, vooks_1.useIsMounted)();
72
- const themeRef = (0, _mixins_1.useTheme)('Drawer', 'Drawer', index_cssr_1.default, styles_1.drawerLight, props, mergedClsPrefixRef);
72
+ const themeRef = (0, _mixins_1.useTheme)('Drawer', '-drawer', index_cssr_1.default, styles_1.drawerLight, props, mergedClsPrefixRef);
73
73
  const styleWidthRef = (0, vue_1.computed)(() => {
74
74
  const { placement } = props;
75
75
  if (placement === 'top' || placement === 'bottom')
@@ -18,7 +18,6 @@ export interface DropdownInjection {
18
18
  doSelect: OnUpdateValueImpl;
19
19
  doUpdateShow: (value: boolean) => void;
20
20
  }
21
- export declare const dropdownInjectionKey: import("vue").InjectionKey<DropdownInjection>;
22
21
  declare const dropdownProps: {
23
22
  readonly theme: PropType<import("../../_mixins").Theme<"Dropdown", {
24
23
  optionHeightSmall: string;
@@ -304,11 +303,15 @@ declare const dropdownProps: {
304
303
  default: undefined;
305
304
  };
306
305
  readonly overlap: BooleanConstructor;
306
+ readonly keepAliveOnHover: {
307
+ type: BooleanConstructor;
308
+ default: boolean;
309
+ };
310
+ readonly onClickoutside: PropType<(e: MouseEvent) => void>;
307
311
  readonly internalExtraClass: {
308
312
  type: PropType<string[]>;
309
313
  default: () => never[];
310
314
  };
311
- readonly onClickoutside: PropType<(e: MouseEvent) => void>;
312
315
  readonly 'onUpdate:show': PropType<MaybeArray<(value: boolean) => void>>;
313
316
  readonly onUpdateShow: PropType<MaybeArray<(value: boolean) => void>>;
314
317
  readonly zIndex: NumberConstructor;
@@ -617,11 +620,15 @@ declare const _default: import("vue").DefineComponent<{
617
620
  default: undefined;
618
621
  };
619
622
  readonly overlap: BooleanConstructor;
623
+ readonly keepAliveOnHover: {
624
+ type: BooleanConstructor;
625
+ default: boolean;
626
+ };
627
+ readonly onClickoutside: PropType<(e: MouseEvent) => void>;
620
628
  readonly internalExtraClass: {
621
629
  type: PropType<string[]>;
622
630
  default: () => never[];
623
631
  };
624
- readonly onClickoutside: PropType<(e: MouseEvent) => void>;
625
632
  readonly 'onUpdate:show': PropType<MaybeArray<(value: boolean) => void>>;
626
633
  readonly onUpdateShow: PropType<MaybeArray<(value: boolean) => void>>;
627
634
  readonly zIndex: NumberConstructor;
@@ -1117,11 +1124,15 @@ declare const _default: import("vue").DefineComponent<{
1117
1124
  default: undefined;
1118
1125
  };
1119
1126
  readonly overlap: BooleanConstructor;
1127
+ readonly keepAliveOnHover: {
1128
+ type: BooleanConstructor;
1129
+ default: boolean;
1130
+ };
1131
+ readonly onClickoutside: PropType<(e: MouseEvent) => void>;
1120
1132
  readonly internalExtraClass: {
1121
1133
  type: PropType<string[]>;
1122
1134
  default: () => never[];
1123
1135
  };
1124
- readonly onClickoutside: PropType<(e: MouseEvent) => void>;
1125
1136
  readonly 'onUpdate:show': PropType<MaybeArray<(value: boolean) => void>>;
1126
1137
  readonly onUpdateShow: PropType<MaybeArray<(value: boolean) => void>>;
1127
1138
  readonly zIndex: NumberConstructor;
@@ -1151,6 +1162,7 @@ declare const _default: import("vue").DefineComponent<{
1151
1162
  disabled: boolean;
1152
1163
  duration: number;
1153
1164
  to: string | boolean | HTMLElement;
1165
+ options: DropdownMixedOption[];
1154
1166
  raw: boolean;
1155
1167
  placement: FollowerPlacement;
1156
1168
  overlap: boolean;
@@ -1159,6 +1171,7 @@ declare const _default: import("vue").DefineComponent<{
1159
1171
  showArrow: boolean;
1160
1172
  delay: number;
1161
1173
  displayDirective: "show" | "if";
1174
+ keepAliveOnHover: boolean;
1162
1175
  internalTrapFocus: boolean;
1163
1176
  animated: boolean;
1164
1177
  defaultShow: boolean;
@@ -1166,7 +1179,6 @@ declare const _default: import("vue").DefineComponent<{
1166
1179
  internalSyncTargetWithParent: boolean;
1167
1180
  internalInheritedEventHandlers: import("../../popover/src/Popover").TriggerEventHandlers[];
1168
1181
  arrow: boolean | undefined;
1169
- options: DropdownMixedOption[];
1170
1182
  labelField: string;
1171
1183
  keyboard: boolean;
1172
1184
  inverted: boolean;
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.dropdownInjectionKey = void 0;
7
6
  const vue_1 = require("vue");
8
7
  const treemate_1 = require("treemate");
9
8
  const vooks_1 = require("vooks");
@@ -14,7 +13,7 @@ const _utils_1 = require("../../_utils");
14
13
  const styles_1 = require("../styles");
15
14
  const DropdownMenu_1 = __importDefault(require("./DropdownMenu"));
16
15
  const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
17
- exports.dropdownInjectionKey = (0, _utils_1.createInjectionKey)('n-dropdown');
16
+ const context_1 = require("./context");
18
17
  const dropdownBaseProps = {
19
18
  animated: {
20
19
  type: Boolean,
@@ -122,8 +121,8 @@ exports.default = (0, vue_1.defineComponent)({
122
121
  }
123
122
  }, keyboardEnabledRef);
124
123
  const { mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
125
- const themeRef = (0, _mixins_1.useTheme)('Dropdown', 'Dropdown', index_cssr_1.default, styles_1.dropdownLight, props, mergedClsPrefixRef);
126
- (0, vue_1.provide)(exports.dropdownInjectionKey, {
124
+ const themeRef = (0, _mixins_1.useTheme)('Dropdown', '-dropdown', index_cssr_1.default, styles_1.dropdownLight, props, mergedClsPrefixRef);
125
+ (0, vue_1.provide)(context_1.dropdownInjectionKey, {
127
126
  labelFieldRef: (0, vue_1.toRef)(props, 'labelField'),
128
127
  childrenFieldRef: (0, vue_1.toRef)(props, 'childrenField'),
129
128
  renderLabelRef: (0, vue_1.toRef)(props, 'renderLabel'),
@@ -296,6 +295,8 @@ exports.default = (0, vue_1.defineComponent)({
296
295
  class: [
297
296
  className,
298
297
  `${mergedClsPrefix}-dropdown`,
298
+ this.trigger === 'manual' &&
299
+ `${mergedClsPrefix}-popover--manual-trigger`,
299
300
  this.showArrow && `${mergedClsPrefix}-popover--show-arrow`
300
301
  ],
301
302
  clsPrefix: mergedClsPrefix,
@@ -317,8 +318,7 @@ exports.default = (0, vue_1.defineComponent)({
317
318
  onUpdateShow: this.doUpdateShow
318
319
  };
319
320
  return ((0, vue_1.h)(popover_1.NPopover, Object.assign({}, (0, _utils_1.keep)(this.$props, popoverPropKeys), popoverProps), {
320
- trigger: this.$slots.default,
321
- _: 1
321
+ trigger: () => { var _a, _b; return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a); }
322
322
  }));
323
323
  }
324
324
  });
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const vue_1 = require("vue");
7
7
  const _utils_1 = require("../../_utils");
8
+ // eslint-disable-next-line import/no-cycle
8
9
  const DropdownOption_1 = __importDefault(require("./DropdownOption"));
9
10
  const DropdownDivider_1 = __importDefault(require("./DropdownDivider"));
10
11
  const DropdownGroupHeader_1 = __importDefault(require("./DropdownGroupHeader"));
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const vue_1 = require("vue");
4
4
  const _utils_1 = require("../../_utils");
5
- const Dropdown_1 = require("./Dropdown");
6
- const DropdownMenu_1 = require("./DropdownMenu");
5
+ const context_1 = require("./context");
7
6
  exports.default = (0, vue_1.defineComponent)({
8
7
  name: 'DropdownGroupHeader',
9
8
  props: {
@@ -19,9 +18,9 @@ exports.default = (0, vue_1.defineComponent)({
19
18
  setup() {
20
19
  const { showIconRef, hasSubmenuRef
21
20
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
22
- } = (0, vue_1.inject)(DropdownMenu_1.dropdownMenuInjectionKey);
21
+ } = (0, vue_1.inject)(context_1.dropdownMenuInjectionKey);
23
22
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
24
- const { renderLabelRef, labelFieldRef } = (0, vue_1.inject)(Dropdown_1.dropdownInjectionKey);
23
+ const { renderLabelRef, labelFieldRef } = (0, vue_1.inject)(context_1.dropdownInjectionKey);
25
24
  return {
26
25
  labelField: labelFieldRef,
27
26
  showIcon: showIconRef,
@@ -4,7 +4,6 @@ export interface NDropdownMenuInjection {
4
4
  showIconRef: Ref<boolean>;
5
5
  hasSubmenuRef: Ref<boolean>;
6
6
  }
7
- export declare const dropdownMenuInjectionKey: import("vue").InjectionKey<NDropdownMenuInjection>;
8
7
  declare const _default: import("vue").DefineComponent<{
9
8
  showArrow: BooleanConstructor;
10
9
  arrowStyle: PropType<string | CSSProperties>;
@@ -3,17 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.dropdownMenuInjectionKey = void 0;
7
6
  const vue_1 = require("vue");
8
7
  const PopoverBody_1 = require("../../popover/src/PopoverBody");
9
- const DropdownOption_1 = __importDefault(require("./DropdownOption"));
10
8
  const DropdownDivider_1 = __importDefault(require("./DropdownDivider"));
9
+ // eslint-disable-next-line import/no-cycle
11
10
  const DropdownGroup_1 = __importDefault(require("./DropdownGroup"));
11
+ // eslint-disable-next-line import/no-cycle
12
+ const DropdownOption_1 = __importDefault(require("./DropdownOption"));
12
13
  const DropdownRenderOption_1 = __importDefault(require("./DropdownRenderOption"));
13
14
  const utils_1 = require("./utils");
14
- const Dropdown_1 = require("./Dropdown");
15
- const _utils_1 = require("../../_utils");
16
- exports.dropdownMenuInjectionKey = (0, _utils_1.createInjectionKey)('n-dropdown-menu');
15
+ const context_1 = require("./context");
17
16
  exports.default = (0, vue_1.defineComponent)({
18
17
  name: 'DropdownMenu',
19
18
  props: {
@@ -34,8 +33,8 @@ exports.default = (0, vue_1.defineComponent)({
34
33
  },
35
34
  setup(props) {
36
35
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
37
- const { renderIconRef, childrenFieldRef } = (0, vue_1.inject)(Dropdown_1.dropdownInjectionKey);
38
- (0, vue_1.provide)(exports.dropdownMenuInjectionKey, {
36
+ const { renderIconRef, childrenFieldRef } = (0, vue_1.inject)(context_1.dropdownInjectionKey);
37
+ (0, vue_1.provide)(context_1.dropdownMenuInjectionKey, {
39
38
  showIconRef: (0, vue_1.computed)(() => {
40
39
  const renderIcon = renderIconRef.value;
41
40
  return props.tmNodes.some((tmNode) => {
@@ -1,6 +1,9 @@
1
1
  import { PropType, Ref, HTMLAttributes } from 'vue';
2
2
  import { FollowerPlacement } from 'vueuc';
3
3
  import { TreeNode } from 'treemate';
4
+ export interface NDropdownOptionInjection {
5
+ enteringSubmenuRef: Ref<boolean>;
6
+ }
4
7
  declare const _default: import("vue").DefineComponent<{
5
8
  clsPrefix: {
6
9
  type: StringConstructor;
@@ -1,22 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
4
  };
21
5
  Object.defineProperty(exports, "__esModule", { value: true });
22
6
  const vue_1 = require("vue");
@@ -25,11 +9,11 @@ const vooks_1 = require("vooks");
25
9
  const icons_1 = require("../../_internal/icons");
26
10
  const _utils_1 = require("../../_utils");
27
11
  const icon_1 = require("../../icon");
28
- const DropdownMenu_1 = __importStar(require("./DropdownMenu"));
29
- const Dropdown_1 = require("./Dropdown");
12
+ // eslint-disable-next-line import/no-cycle
13
+ const DropdownMenu_1 = __importDefault(require("./DropdownMenu"));
14
+ const context_1 = require("./context");
30
15
  const utils_1 = require("./utils");
31
16
  const seemly_1 = require("seemly");
32
- const dropdownOptionInjectionKey = (0, _utils_1.createInjectionKey)('n-dropdown-option');
33
17
  exports.default = (0, vue_1.defineComponent)({
34
18
  name: 'DropdownOption',
35
19
  props: {
@@ -53,11 +37,11 @@ exports.default = (0, vue_1.defineComponent)({
53
37
  },
54
38
  setup(props) {
55
39
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
56
- const NDropdown = (0, vue_1.inject)(Dropdown_1.dropdownInjectionKey);
40
+ const NDropdown = (0, vue_1.inject)(context_1.dropdownInjectionKey);
57
41
  const { hoverKeyRef, keyboardKeyRef, lastToggledSubmenuKeyRef, pendingKeyPathRef, activeKeyPathRef, animatedRef, mergedShowRef, renderLabelRef, renderIconRef, labelFieldRef, childrenFieldRef } = NDropdown;
58
- const NDropdownOption = (0, vue_1.inject)(dropdownOptionInjectionKey, null);
42
+ const NDropdownOption = (0, vue_1.inject)(context_1.dropdownOptionInjectionKey, null);
59
43
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
60
- const NDropdownMenu = (0, vue_1.inject)(DropdownMenu_1.dropdownMenuInjectionKey);
44
+ const NDropdownMenu = (0, vue_1.inject)(context_1.dropdownMenuInjectionKey);
61
45
  const rawNodeRef = (0, vue_1.computed)(() => props.tmNode.rawNode);
62
46
  const hasSubmenuRef = (0, vue_1.computed)(() => {
63
47
  const { value: childrenField } = childrenFieldRef;
@@ -95,7 +79,7 @@ exports.default = (0, vue_1.defineComponent)({
95
79
  return !!(NDropdownOption === null || NDropdownOption === void 0 ? void 0 : NDropdownOption.enteringSubmenuRef.value);
96
80
  });
97
81
  const enteringSubmenuRef = (0, vue_1.ref)(false);
98
- (0, vue_1.provide)(dropdownOptionInjectionKey, {
82
+ (0, vue_1.provide)(context_1.dropdownOptionInjectionKey, {
99
83
  enteringSubmenuRef
100
84
  });
101
85
  // methods
@@ -0,0 +1,6 @@
1
+ import type { DropdownInjection } from './Dropdown';
2
+ import type { NDropdownMenuInjection } from './DropdownMenu';
3
+ import type { NDropdownOptionInjection } from './DropdownOption';
4
+ export declare const dropdownMenuInjectionKey: import("vue").InjectionKey<NDropdownMenuInjection>;
5
+ export declare const dropdownInjectionKey: import("vue").InjectionKey<DropdownInjection>;
6
+ export declare const dropdownOptionInjectionKey: import("vue").InjectionKey<NDropdownOptionInjection>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dropdownOptionInjectionKey = exports.dropdownInjectionKey = exports.dropdownMenuInjectionKey = void 0;
4
+ const _utils_1 = require("../../_utils");
5
+ exports.dropdownMenuInjectionKey = (0, _utils_1.createInjectionKey)('n-dropdown-menu');
6
+ exports.dropdownInjectionKey = (0, _utils_1.createInjectionKey)('n-dropdown');
7
+ exports.dropdownOptionInjectionKey = (0, _utils_1.createInjectionKey)('n-dropdown-option');
@@ -1,6 +1,6 @@
1
1
  import { TreeNode } from 'treemate';
2
2
  import { VNodeChild } from 'vue';
3
- import { MenuOption, MenuGroupOption, MenuDividerOption, MenuIgnoredOption, MenuRenderOption } from '../../menu/src/interface';
3
+ import type { MenuOption, MenuGroupOption, MenuDividerOption, MenuIgnoredOption, MenuRenderOption } from '../../menu/src/interface';
4
4
  export declare type Key = string | number;
5
5
  export declare type DropdownOption = MenuOption;
6
6
  export declare type DropdownGroupOption = MenuGroupOption;
@@ -1,5 +1,6 @@
1
1
  import { PropType, CSSProperties } from 'vue';
2
- import { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
2
+ import type { ButtonProps } from '../../button';
3
+ import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
3
4
  import type { OnUpdateValue } from './interface';
4
5
  declare const dynamicInputProps: {
5
6
  readonly max: NumberConstructor;
@@ -30,20 +31,14 @@ declare const dynamicInputProps: {
30
31
  readonly type: StringConstructor;
31
32
  readonly default: "";
32
33
  };
34
+ readonly showSortButton: BooleanConstructor;
35
+ readonly createButtonProps: PropType<ButtonProps>;
33
36
  readonly onCreate: PropType<(index: number) => any>;
34
37
  readonly onRemove: PropType<(index: number) => void>;
35
38
  readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
36
39
  readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
37
- readonly onClear: {
38
- readonly type: PropType<() => void>;
39
- readonly validator: () => boolean;
40
- readonly default: undefined;
41
- };
42
- readonly onInput: {
43
- readonly type: PropType<MaybeArray<OnUpdateValue> | undefined>;
44
- readonly validator: () => boolean;
45
- readonly default: undefined;
46
- };
40
+ readonly onClear: PropType<() => void>;
41
+ readonly onInput: PropType<MaybeArray<OnUpdateValue>>;
47
42
  readonly theme: PropType<import("../../_mixins").Theme<"DynamicInput", {
48
43
  actionMargin: string;
49
44
  }, {
@@ -879,20 +874,14 @@ declare const _default: import("vue").DefineComponent<{
879
874
  readonly type: StringConstructor;
880
875
  readonly default: "";
881
876
  };
877
+ readonly showSortButton: BooleanConstructor;
878
+ readonly createButtonProps: PropType<ButtonProps>;
882
879
  readonly onCreate: PropType<(index: number) => any>;
883
880
  readonly onRemove: PropType<(index: number) => void>;
884
881
  readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
885
882
  readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
886
- readonly onClear: {
887
- readonly type: PropType<() => void>;
888
- readonly validator: () => boolean;
889
- readonly default: undefined;
890
- };
891
- readonly onInput: {
892
- readonly type: PropType<MaybeArray<OnUpdateValue> | undefined>;
893
- readonly validator: () => boolean;
894
- readonly default: undefined;
895
- };
883
+ readonly onClear: PropType<() => void>;
884
+ readonly onInput: PropType<MaybeArray<OnUpdateValue>>;
896
885
  readonly theme: PropType<import("../../_mixins").Theme<"DynamicInput", {
897
886
  actionMargin: string;
898
887
  }, {
@@ -1712,6 +1701,7 @@ declare const _default: import("vue").DefineComponent<{
1712
1701
  ensureKey: (value: any, index: number) => string | number;
1713
1702
  handleValueChange: (index: number, value: any) => void;
1714
1703
  remove: (index: number) => void;
1704
+ move: (type: 'up' | 'down', index: number) => void;
1715
1705
  createItem: (index: number) => void;
1716
1706
  mergedTheme: import("vue").ComputedRef<{
1717
1707
  common: {
@@ -2131,20 +2121,14 @@ declare const _default: import("vue").DefineComponent<{
2131
2121
  readonly type: StringConstructor;
2132
2122
  readonly default: "";
2133
2123
  };
2124
+ readonly showSortButton: BooleanConstructor;
2125
+ readonly createButtonProps: PropType<ButtonProps>;
2134
2126
  readonly onCreate: PropType<(index: number) => any>;
2135
2127
  readonly onRemove: PropType<(index: number) => void>;
2136
2128
  readonly 'onUpdate:value': PropType<MaybeArray<OnUpdateValue>>;
2137
2129
  readonly onUpdateValue: PropType<MaybeArray<OnUpdateValue>>;
2138
- readonly onClear: {
2139
- readonly type: PropType<() => void>;
2140
- readonly validator: () => boolean;
2141
- readonly default: undefined;
2142
- };
2143
- readonly onInput: {
2144
- readonly type: PropType<MaybeArray<OnUpdateValue> | undefined>;
2145
- readonly validator: () => boolean;
2146
- readonly default: undefined;
2147
- };
2130
+ readonly onClear: PropType<() => void>;
2131
+ readonly onInput: PropType<MaybeArray<OnUpdateValue>>;
2148
2132
  readonly theme: PropType<import("../../_mixins").Theme<"DynamicInput", {
2149
2133
  actionMargin: string;
2150
2134
  }, {
@@ -2950,13 +2934,12 @@ declare const _default: import("vue").DefineComponent<{
2950
2934
  }, any>;
2951
2935
  }>>>;
2952
2936
  }>>, {
2953
- onInput: MaybeArray<OnUpdateValue> | undefined;
2954
2937
  placeholder: string;
2955
2938
  min: number;
2956
- onClear: () => void;
2957
2939
  defaultValue: any[];
2958
2940
  preset: "input" | "pair";
2959
2941
  keyPlaceholder: string;
2960
2942
  valuePlaceholder: string;
2943
+ showSortButton: boolean;
2961
2944
  }>;
2962
2945
  export default _default;
@@ -7,11 +7,11 @@ const vue_1 = require("vue");
7
7
  const vooks_1 = require("vooks");
8
8
  const seemly_1 = require("seemly");
9
9
  const icons_1 = require("../../_internal/icons");
10
+ const use_form_item_1 = require("../../_mixins/use-form-item");
10
11
  const _internal_1 = require("../../_internal");
11
12
  const button_1 = require("../../button");
12
13
  const _mixins_1 = require("../../_mixins");
13
14
  const _utils_1 = require("../../_utils");
14
- const use_form_item_1 = require("../../_mixins/use-form-item");
15
15
  const styles_1 = require("../styles");
16
16
  const InputPreset_1 = __importDefault(require("./InputPreset"));
17
17
  const PairPreset_1 = __importDefault(require("./PairPreset"));
@@ -42,35 +42,29 @@ const dynamicInputProps = Object.assign(Object.assign({}, _mixins_1.useTheme.pro
42
42
  placeholder: {
43
43
  type: String,
44
44
  default: ''
45
- }, onCreate: Function, onRemove: Function, 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array],
45
+ }, showSortButton: Boolean, createButtonProps: Object, onCreate: Function, onRemove: Function, 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array],
46
46
  // deprecated
47
- onClear: {
48
- type: Function,
49
- validator: () => {
50
- (0, _utils_1.warn)('dynamic-input', '`on-clear` is deprecated, it is out of usage anymore.');
51
- return true;
52
- },
53
- default: undefined
54
- }, onInput: {
55
- type: [Function, Array],
56
- validator: () => {
57
- if (process.env.NODE_ENV !== 'production') {
58
- (0, _utils_1.warn)('dynamic-input', '`on-input` is deprecated, please use `on-update:value` instead.');
59
- }
60
- return true;
61
- },
62
- default: undefined
63
- } });
47
+ onClear: Function, onInput: [Function, Array] });
64
48
  exports.default = (0, vue_1.defineComponent)({
65
49
  name: 'DynamicInput',
66
50
  props: dynamicInputProps,
67
51
  setup(props, { slots }) {
52
+ if (process.env.NODE_ENV !== 'production') {
53
+ (0, vue_1.watchEffect)(() => {
54
+ if (props.onClear !== undefined) {
55
+ (0, _utils_1.warnOnce)('dynamic-input', '`on-clear` is deprecated, it is out of usage anymore.');
56
+ }
57
+ if (props.onInput !== undefined) {
58
+ (0, _utils_1.warnOnce)('dynamic-input', '`on-input` is deprecated, please use `on-update:value` instead.');
59
+ }
60
+ });
61
+ }
68
62
  const { NConfigProvider, mergedClsPrefixRef } = (0, _mixins_1.useConfig)();
69
63
  const NFormItem = (0, vue_1.inject)(use_form_item_1.formItemInjectionKey, null);
70
64
  const uncontrolledValueRef = (0, vue_1.ref)(props.defaultValue);
71
65
  const controlledValueRef = (0, vue_1.toRef)(props, 'value');
72
66
  const mergedValueRef = (0, vooks_1.useMergedState)(controlledValueRef, uncontrolledValueRef);
73
- const themeRef = (0, _mixins_1.useTheme)('DynamicInput', 'DynamicInput', index_cssr_1.default, styles_1.dynamicInputLight, props, mergedClsPrefixRef);
67
+ const themeRef = (0, _mixins_1.useTheme)('DynamicInput', '-dynamic-input', index_cssr_1.default, styles_1.dynamicInputLight, props, mergedClsPrefixRef);
74
68
  const insertionDisabledRef = (0, vue_1.computed)(() => {
75
69
  const { value: mergedValue } = mergedValueRef;
76
70
  if (Array.isArray(mergedValue)) {
@@ -175,6 +169,32 @@ exports.default = (0, vue_1.defineComponent)({
175
169
  if (onRemove)
176
170
  onRemove(index);
177
171
  }
172
+ function swap(array, currentIndex, targetIndex) {
173
+ if (currentIndex < 0 ||
174
+ targetIndex < 0 ||
175
+ currentIndex >= array.length ||
176
+ targetIndex >= array.length) {
177
+ return;
178
+ }
179
+ if (currentIndex === targetIndex)
180
+ return;
181
+ const currentItem = array[currentIndex];
182
+ array[currentIndex] = array[targetIndex];
183
+ array[targetIndex] = currentItem;
184
+ }
185
+ function move(type, index) {
186
+ const { value: mergedValue } = mergedValueRef;
187
+ if (!Array.isArray(mergedValue))
188
+ return;
189
+ const newValue = Array.from(mergedValue);
190
+ if (type === 'up') {
191
+ swap(newValue, index, index - 1);
192
+ }
193
+ if (type === 'down') {
194
+ swap(newValue, index, index + 1);
195
+ }
196
+ doUpdateValue(newValue);
197
+ }
178
198
  (0, vue_1.provide)(interface_1.dynamicInputInjectionKey, {
179
199
  mergedThemeRef: themeRef,
180
200
  keyPlaceholderRef: (0, vue_1.toRef)(props, 'keyPlaceholder'),
@@ -194,6 +214,7 @@ exports.default = (0, vue_1.defineComponent)({
194
214
  ensureKey,
195
215
  handleValueChange,
196
216
  remove,
217
+ move,
197
218
  createItem,
198
219
  mergedTheme: themeRef,
199
220
  cssVars: (0, vue_1.computed)(() => {
@@ -205,28 +226,44 @@ exports.default = (0, vue_1.defineComponent)({
205
226
  };
206
227
  },
207
228
  render() {
208
- const { buttonSize, mergedClsPrefix, mergedValue, locale, mergedTheme, keyField, $slots, preset, itemStyle, NFormItem, ensureKey, handleValueChange, remove, createItem } = this;
209
- return ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-dynamic-input`, style: this.cssVars }, !Array.isArray(mergedValue) || mergedValue.length === 0 ? ((0, vue_1.h)(button_1.NButton, { block: true, ghost: true, dashed: true, size: buttonSize, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: this.handleCreateClick }, {
210
- default: () => locale.create,
211
- icon: () => ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.AddIcon, null) }))
229
+ const { $slots, buttonSize, mergedClsPrefix, mergedValue, locale, mergedTheme, keyField, itemStyle, preset, showSortButton, NFormItem, ensureKey, handleValueChange, remove, createItem, move } = this;
230
+ return ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-dynamic-input`, style: this.cssVars }, !Array.isArray(mergedValue) || mergedValue.length === 0 ? ((0, vue_1.h)(button_1.NButton, Object.assign({ block: true, ghost: true, dashed: true, size: buttonSize }, this.createButtonProps, { disabled: this.insertionDisabled, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: this.handleCreateClick }), {
231
+ default: () => (0, _utils_1.resolveSlot)($slots['create-button-default'], () => [
232
+ locale.create
233
+ ]),
234
+ icon: () => (0, _utils_1.resolveSlot)($slots['create-button-icon'], () => [
235
+ (0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.AddIcon, null) })
236
+ ])
212
237
  })) : (mergedValue.map((_, index) => ((0, vue_1.h)("div", { key: keyField ? _[keyField] : ensureKey(_, index), "data-key": keyField ? _[keyField] : ensureKey(_, index), class: `${mergedClsPrefix}-dynamic-input-item`, style: itemStyle },
213
- $slots.default ? ($slots.default({
238
+ (0, _utils_1.resolveSlotWithProps)($slots.default, {
214
239
  value: mergedValue[index],
215
240
  index
216
- })) : preset === 'input' ? ((0, vue_1.h)(InputPreset_1.default, { clsPrefix: mergedClsPrefix, value: mergedValue[index], parentPath: NFormItem ? NFormItem.path.value : undefined, path: (NFormItem === null || NFormItem === void 0 ? void 0 : NFormItem.path.value)
217
- ? `${NFormItem.path.value}[${index}]`
218
- : undefined, onUpdateValue: (v) => handleValueChange(index, v) })) : preset === 'pair' ? ((0, vue_1.h)(PairPreset_1.default, { clsPrefix: mergedClsPrefix, value: mergedValue[index], parentPath: NFormItem ? NFormItem.path.value : undefined, path: (NFormItem === null || NFormItem === void 0 ? void 0 : NFormItem.path.value)
219
- ? `${NFormItem.path.value}[${index}]`
220
- : undefined, onUpdateValue: (v) => handleValueChange(index, v) })) : null,
241
+ }, () => {
242
+ return [
243
+ preset === 'input' ? ((0, vue_1.h)(InputPreset_1.default, { clsPrefix: mergedClsPrefix, value: mergedValue[index], parentPath: NFormItem ? NFormItem.path.value : undefined, path: (NFormItem === null || NFormItem === void 0 ? void 0 : NFormItem.path.value)
244
+ ? `${NFormItem.path.value}[${index}]`
245
+ : undefined, onUpdateValue: (v) => handleValueChange(index, v) })) : preset === 'pair' ? ((0, vue_1.h)(PairPreset_1.default, { clsPrefix: mergedClsPrefix, value: mergedValue[index], parentPath: NFormItem ? NFormItem.path.value : undefined, path: (NFormItem === null || NFormItem === void 0 ? void 0 : NFormItem.path.value)
246
+ ? `${NFormItem.path.value}[${index}]`
247
+ : undefined, onUpdateValue: (v) => handleValueChange(index, v) })) : null
248
+ ];
249
+ }),
221
250
  (0, vue_1.h)("div", { class: `${mergedClsPrefix}-dynamic-input-item__action` },
222
251
  (0, vue_1.h)(button_1.NButtonGroup, { size: buttonSize }, {
223
252
  default: () => [
224
- !this.removeDisabled ? ((0, vue_1.h)(button_1.NButton, { theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, circle: true, onClick: () => remove(index) }, {
253
+ (0, vue_1.h)(button_1.NButton, { disabled: this.removeDisabled, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, circle: true, onClick: () => remove(index) }, {
225
254
  icon: () => ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.RemoveIcon, null) }))
226
- })) : null,
255
+ }),
227
256
  (0, vue_1.h)(button_1.NButton, { disabled: this.insertionDisabled, circle: true, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: () => createItem(index) }, {
228
257
  icon: () => ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.AddIcon, null) }))
229
- })
258
+ }),
259
+ showSortButton ? ((0, vue_1.h)(button_1.NButton, { disabled: index === 0, circle: true, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: () => move('up', index) }, {
260
+ icon: () => ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, {
261
+ default: () => (0, vue_1.h)(icons_1.ArrowUpIcon, null)
262
+ }))
263
+ })) : null,
264
+ showSortButton ? ((0, vue_1.h)(button_1.NButton, { disabled: index === mergedValue.length - 1, circle: true, theme: mergedTheme.peers.Button, themeOverrides: mergedTheme.peerOverrides.Button, onClick: () => move('down', index) }, {
265
+ icon: () => ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.ArrowDownIcon, null) }))
266
+ })) : null
230
267
  ]
231
268
  }))))))));
232
269
  }