naive-ui 2.25.4 → 2.25.7

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 (340) 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/form/src/FormItem.d.ts +3 -1
  66. package/es/form/src/FormItem.js +40 -33
  67. package/es/form/src/FormItemRow.js +1 -1
  68. package/es/gradient-text/src/GradientText.d.ts +3 -1
  69. package/es/gradient-text/src/GradientText.js +23 -15
  70. package/es/icon/src/Icon.d.ts +3 -5
  71. package/es/icon/src/Icon.js +29 -19
  72. package/es/image/src/ImagePreview.d.ts +3 -1
  73. package/es/image/src/ImagePreview.js +28 -15
  74. package/es/input/src/Input.d.ts +4 -1
  75. package/es/input/src/Input.js +27 -6
  76. package/es/input/src/InputGroupLabel.d.ts +3 -1
  77. package/es/input/src/InputGroupLabel.js +26 -19
  78. package/es/input/src/styles/input.cssr.js +1 -0
  79. package/es/input/src/styles/rtl.cssr.d.ts +2 -0
  80. package/es/input/src/styles/rtl.cssr.js +16 -0
  81. package/es/input/styles/index.d.ts +1 -0
  82. package/es/input/styles/index.js +1 -0
  83. package/es/input/styles/rtl.d.ts +2 -0
  84. package/es/input/styles/rtl.js +5 -0
  85. package/es/input-number/src/InputNumber.d.ts +1 -0
  86. package/es/input-number/src/InputNumber.js +8 -3
  87. package/es/input-number/src/styles/rtl.cssr.d.ts +2 -0
  88. package/es/input-number/src/styles/rtl.cssr.js +4 -0
  89. package/es/input-number/styles/index.d.ts +1 -0
  90. package/es/input-number/styles/index.js +1 -0
  91. package/es/input-number/styles/rtl.d.ts +2 -0
  92. package/es/input-number/styles/rtl.js +8 -0
  93. package/es/layout/src/Layout.d.ts +2 -0
  94. package/es/layout/src/LayoutContent.d.ts +1 -0
  95. package/es/layout/src/LayoutSider.d.ts +1 -0
  96. package/es/list/src/List.d.ts +3 -1
  97. package/es/list/src/List.js +27 -19
  98. package/es/loading-bar/src/LoadingBar.d.ts +3 -1
  99. package/es/loading-bar/src/LoadingBar.js +29 -15
  100. package/es/log/src/Log.d.ts +1 -0
  101. package/es/mention/src/Mention.js +6 -4
  102. package/es/message/src/Message.d.ts +12 -24
  103. package/es/message/src/Message.js +57 -40
  104. package/es/message/src/MessageEnvironment.d.ts +9 -0
  105. package/es/message/src/MessageEnvironment.js +1 -1
  106. package/es/message/src/MessageProvider.d.ts +67 -0
  107. package/es/message/src/MessageProvider.js +3 -0
  108. package/es/message/src/message-props.d.ts +4 -0
  109. package/es/message/src/message-props.js +4 -0
  110. package/es/message/src/styles/index.cssr.js +2 -1
  111. package/es/message/src/types.d.ts +3 -1
  112. package/es/message/styles/light.d.ts +7 -0
  113. package/es/message/styles/light.js +1 -1
  114. package/es/modal/src/BodyWrapper.d.ts +1 -0
  115. package/es/notification/src/Notification.d.ts +3 -1
  116. package/es/notification/src/Notification.js +44 -32
  117. package/es/notification/src/NotificationProvider.d.ts +1 -0
  118. package/es/notification/src/NotificationProvider.js +1 -0
  119. package/es/popconfirm/src/Popconfirm.d.ts +3 -2
  120. package/es/popconfirm/src/Popconfirm.js +2 -1
  121. package/es/popconfirm/src/PopconfirmPanel.d.ts +3 -1
  122. package/es/popconfirm/src/PopconfirmPanel.js +32 -25
  123. package/es/popconfirm/src/interface.d.ts +2 -0
  124. package/es/popover/src/PopoverBody.d.ts +4 -0
  125. package/es/popover/src/PopoverBody.js +3 -2
  126. package/es/popover/src/styles/index.cssr.js +49 -29
  127. package/es/radio/src/Radio.d.ts +7 -0
  128. package/es/radio/src/Radio.js +14 -7
  129. package/es/radio/src/RadioGroup.d.ts +9 -0
  130. package/es/radio/src/styles/radio.cssr.js +16 -9
  131. package/es/radio/styles/dark.js +2 -2
  132. package/es/radio/styles/light.d.ts +1 -0
  133. package/es/radio/styles/light.js +2 -2
  134. package/es/scrollbar/src/ScrollBar.d.ts +1 -0
  135. package/es/select/src/Select.d.ts +3 -1
  136. package/es/select/src/Select.js +31 -23
  137. package/es/slider/src/Slider.d.ts +6 -2
  138. package/es/slider/src/Slider.js +74 -51
  139. package/es/steps/src/Step.d.ts +3 -1
  140. package/es/steps/src/Step.js +32 -20
  141. package/es/styles.d.ts +4 -4
  142. package/es/styles.js +4 -4
  143. package/es/time-picker/src/Panel.js +4 -4
  144. package/es/time-picker/src/TimePicker.d.ts +12 -4
  145. package/es/time-picker/src/TimePicker.js +90 -35
  146. package/es/timeline/src/Timeline.d.ts +9 -9
  147. package/es/timeline/src/TimelineItem.d.ts +4 -2
  148. package/es/timeline/src/TimelineItem.js +34 -20
  149. package/es/timeline/styles/_common.d.ts +1 -1
  150. package/es/timeline/styles/_common.js +1 -1
  151. package/es/timeline/styles/light.d.ts +1 -1
  152. package/es/transfer/src/Transfer.d.ts +10 -0
  153. package/es/transfer/src/TransferFilter.d.ts +1 -0
  154. package/es/transfer/src/TransferList.d.ts +2 -0
  155. package/es/transfer/src/TransferListItem.d.ts +1 -0
  156. package/es/transfer/styles/light.d.ts +1 -0
  157. package/es/tree/src/Tree.d.ts +16 -3
  158. package/es/tree/src/Tree.js +50 -28
  159. package/es/tree/src/TreeNodeCheckbox.d.ts +1 -0
  160. package/es/tree/styles/light.d.ts +1 -0
  161. package/es/tree-select/src/TreeSelect.d.ts +23 -10
  162. package/es/tree-select/src/TreeSelect.js +26 -17
  163. package/es/tree-select/styles/light.d.ts +1 -0
  164. package/es/upload/src/Upload.d.ts +3 -1
  165. package/es/upload/src/Upload.js +23 -13
  166. package/es/upload/src/UploadFileList.js +8 -3
  167. package/es/upload/src/interface.d.ts +3 -1
  168. package/es/version.d.ts +1 -1
  169. package/es/version.js +1 -1
  170. package/lib/_internal/scrollbar/src/ScrollBar.d.ts +1 -0
  171. package/lib/_internal/select-menu/src/SelectMenu.d.ts +1 -0
  172. package/lib/_mixins/use-css-vars-class.js +2 -1
  173. package/lib/button/src/styles/button-rtl.cssr.js +2 -2
  174. package/lib/cascader/src/Cascader.d.ts +10 -0
  175. package/lib/cascader/src/CascaderMenu.d.ts +1 -0
  176. package/lib/cascader/src/CascaderOption.d.ts +1 -0
  177. package/lib/cascader/src/CascaderSelectMenu.d.ts +1 -0
  178. package/lib/cascader/src/CascaderSubmenu.d.ts +2 -0
  179. package/lib/cascader/styles/light.d.ts +1 -0
  180. package/lib/checkbox/src/Checkbox.d.ts +12 -0
  181. package/lib/checkbox/src/Checkbox.js +14 -7
  182. package/lib/checkbox/src/styles/index.cssr.js +16 -8
  183. package/lib/checkbox/src/styles/rtl.cssr.d.ts +2 -0
  184. package/lib/checkbox/src/styles/rtl.cssr.js +11 -0
  185. package/lib/checkbox/styles/index.d.ts +1 -0
  186. package/lib/checkbox/styles/index.js +3 -1
  187. package/lib/checkbox/styles/light.d.ts +1 -0
  188. package/lib/checkbox/styles/light.js +2 -2
  189. package/lib/checkbox/styles/rtl.d.ts +2 -0
  190. package/lib/checkbox/styles/rtl.js +11 -0
  191. package/lib/code/src/Code.js +3 -1
  192. package/lib/collapse/src/Collapse.d.ts +1 -0
  193. package/lib/collapse/src/Collapse.js +9 -2
  194. package/lib/collapse/src/CollapseItem.d.ts +1 -0
  195. package/lib/collapse/src/CollapseItem.js +7 -2
  196. package/lib/collapse/src/styles/rtl.cssr.d.ts +2 -0
  197. package/lib/collapse/src/styles/rtl.cssr.js +22 -0
  198. package/lib/collapse/styles/index.d.ts +1 -0
  199. package/lib/collapse/styles/index.js +3 -1
  200. package/lib/collapse/styles/rtl.d.ts +2 -0
  201. package/lib/collapse/styles/rtl.js +11 -0
  202. package/lib/collapse-transition/src/CollapseTransition.d.ts +3 -1
  203. package/lib/collapse-transition/src/CollapseTransition.js +26 -13
  204. package/lib/config-provider/src/ConfigProvider.js +6 -0
  205. package/lib/config-provider/src/internal-interface.d.ts +1 -0
  206. package/lib/data-table/src/DataTable.d.ts +20 -0
  207. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +2 -0
  208. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +2 -0
  209. package/lib/data-table/src/TableParts/Body.d.ts +3 -0
  210. package/lib/data-table/src/TableParts/Cell.d.ts +4 -0
  211. package/lib/data-table/src/TableParts/Header.d.ts +2 -0
  212. package/lib/data-table/styles/light.d.ts +2 -0
  213. package/lib/date-picker/src/DatePicker.d.ts +7 -2
  214. package/lib/date-picker/src/DatePicker.js +79 -67
  215. package/lib/date-picker/src/panel/date.d.ts +6 -0
  216. package/lib/date-picker/src/panel/date.js +7 -2
  217. package/lib/date-picker/src/panel/daterange.d.ts +4 -0
  218. package/lib/date-picker/src/panel/daterange.js +7 -2
  219. package/lib/date-picker/src/panel/datetime.d.ts +6 -0
  220. package/lib/date-picker/src/panel/datetime.js +7 -2
  221. package/lib/date-picker/src/panel/datetimerange.d.ts +4 -0
  222. package/lib/date-picker/src/panel/datetimerange.js +7 -2
  223. package/lib/date-picker/src/panel/month.d.ts +6 -0
  224. package/lib/date-picker/src/panel/month.js +4 -2
  225. package/lib/date-picker/src/panel/panelHeader.d.ts +10 -0
  226. package/lib/date-picker/src/panel/use-calendar.d.ts +4 -0
  227. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +2 -0
  228. package/lib/date-picker/src/panel/use-panel-common.d.ts +2 -0
  229. package/lib/date-picker/src/panel/use-panel-common.js +3 -1
  230. package/lib/drawer/src/Drawer.d.ts +4 -1
  231. package/lib/drawer/src/Drawer.js +38 -26
  232. package/lib/dropdown/src/Dropdown.d.ts +7 -5
  233. package/lib/dropdown/src/Dropdown.js +58 -51
  234. package/lib/form/src/FormItem.d.ts +3 -1
  235. package/lib/form/src/FormItem.js +39 -32
  236. package/lib/form/src/FormItemRow.js +1 -1
  237. package/lib/gradient-text/src/GradientText.d.ts +3 -1
  238. package/lib/gradient-text/src/GradientText.js +22 -14
  239. package/lib/icon/src/Icon.d.ts +3 -5
  240. package/lib/icon/src/Icon.js +28 -18
  241. package/lib/image/src/ImagePreview.d.ts +3 -1
  242. package/lib/image/src/ImagePreview.js +27 -14
  243. package/lib/input/src/Input.d.ts +4 -1
  244. package/lib/input/src/Input.js +27 -6
  245. package/lib/input/src/InputGroupLabel.d.ts +3 -1
  246. package/lib/input/src/InputGroupLabel.js +25 -18
  247. package/lib/input/src/styles/input.cssr.js +1 -0
  248. package/lib/input/src/styles/rtl.cssr.d.ts +2 -0
  249. package/lib/input/src/styles/rtl.cssr.js +23 -0
  250. package/lib/input/styles/index.d.ts +1 -0
  251. package/lib/input/styles/index.js +3 -1
  252. package/lib/input/styles/rtl.d.ts +2 -0
  253. package/lib/input/styles/rtl.js +11 -0
  254. package/lib/input-number/src/InputNumber.d.ts +1 -0
  255. package/lib/input-number/src/InputNumber.js +8 -3
  256. package/lib/input-number/src/styles/rtl.cssr.d.ts +2 -0
  257. package/lib/input-number/src/styles/rtl.cssr.js +11 -0
  258. package/lib/input-number/styles/index.d.ts +1 -0
  259. package/lib/input-number/styles/index.js +3 -1
  260. package/lib/input-number/styles/rtl.d.ts +2 -0
  261. package/lib/input-number/styles/rtl.js +14 -0
  262. package/lib/layout/src/Layout.d.ts +2 -0
  263. package/lib/layout/src/LayoutContent.d.ts +1 -0
  264. package/lib/layout/src/LayoutSider.d.ts +1 -0
  265. package/lib/list/src/List.d.ts +3 -1
  266. package/lib/list/src/List.js +26 -18
  267. package/lib/loading-bar/src/LoadingBar.d.ts +3 -1
  268. package/lib/loading-bar/src/LoadingBar.js +28 -14
  269. package/lib/log/src/Log.d.ts +1 -0
  270. package/lib/mention/src/Mention.js +6 -4
  271. package/lib/message/src/Message.d.ts +12 -24
  272. package/lib/message/src/Message.js +56 -39
  273. package/lib/message/src/MessageEnvironment.d.ts +9 -0
  274. package/lib/message/src/MessageEnvironment.js +1 -1
  275. package/lib/message/src/MessageProvider.d.ts +67 -0
  276. package/lib/message/src/MessageProvider.js +3 -0
  277. package/lib/message/src/message-props.d.ts +4 -0
  278. package/lib/message/src/message-props.js +4 -0
  279. package/lib/message/src/styles/index.cssr.js +2 -1
  280. package/lib/message/src/types.d.ts +3 -1
  281. package/lib/message/styles/light.d.ts +7 -0
  282. package/lib/message/styles/light.js +1 -1
  283. package/lib/modal/src/BodyWrapper.d.ts +1 -0
  284. package/lib/notification/src/Notification.d.ts +3 -1
  285. package/lib/notification/src/Notification.js +44 -32
  286. package/lib/notification/src/NotificationProvider.d.ts +1 -0
  287. package/lib/notification/src/NotificationProvider.js +1 -0
  288. package/lib/popconfirm/src/Popconfirm.d.ts +3 -2
  289. package/lib/popconfirm/src/Popconfirm.js +2 -1
  290. package/lib/popconfirm/src/PopconfirmPanel.d.ts +3 -1
  291. package/lib/popconfirm/src/PopconfirmPanel.js +30 -23
  292. package/lib/popconfirm/src/interface.d.ts +2 -0
  293. package/lib/popover/src/PopoverBody.d.ts +4 -0
  294. package/lib/popover/src/PopoverBody.js +3 -2
  295. package/lib/popover/src/styles/index.cssr.js +50 -29
  296. package/lib/radio/src/Radio.d.ts +7 -0
  297. package/lib/radio/src/Radio.js +13 -6
  298. package/lib/radio/src/RadioGroup.d.ts +9 -0
  299. package/lib/radio/src/styles/radio.cssr.js +16 -9
  300. package/lib/radio/styles/dark.js +2 -2
  301. package/lib/radio/styles/light.d.ts +1 -0
  302. package/lib/radio/styles/light.js +2 -2
  303. package/lib/scrollbar/src/ScrollBar.d.ts +1 -0
  304. package/lib/select/src/Select.d.ts +3 -1
  305. package/lib/select/src/Select.js +30 -22
  306. package/lib/slider/src/Slider.d.ts +6 -2
  307. package/lib/slider/src/Slider.js +73 -50
  308. package/lib/steps/src/Step.d.ts +3 -1
  309. package/lib/steps/src/Step.js +32 -20
  310. package/lib/styles.d.ts +4 -4
  311. package/lib/styles.js +6 -2
  312. package/lib/time-picker/src/Panel.js +4 -4
  313. package/lib/time-picker/src/TimePicker.d.ts +12 -4
  314. package/lib/time-picker/src/TimePicker.js +89 -34
  315. package/lib/timeline/src/Timeline.d.ts +9 -9
  316. package/lib/timeline/src/TimelineItem.d.ts +4 -2
  317. package/lib/timeline/src/TimelineItem.js +34 -20
  318. package/lib/timeline/styles/_common.d.ts +1 -1
  319. package/lib/timeline/styles/_common.js +1 -1
  320. package/lib/timeline/styles/light.d.ts +1 -1
  321. package/lib/transfer/src/Transfer.d.ts +10 -0
  322. package/lib/transfer/src/TransferFilter.d.ts +1 -0
  323. package/lib/transfer/src/TransferList.d.ts +2 -0
  324. package/lib/transfer/src/TransferListItem.d.ts +1 -0
  325. package/lib/transfer/styles/light.d.ts +1 -0
  326. package/lib/tree/src/Tree.d.ts +16 -3
  327. package/lib/tree/src/Tree.js +49 -27
  328. package/lib/tree/src/TreeNodeCheckbox.d.ts +1 -0
  329. package/lib/tree/styles/light.d.ts +1 -0
  330. package/lib/tree-select/src/TreeSelect.d.ts +23 -10
  331. package/lib/tree-select/src/TreeSelect.js +25 -16
  332. package/lib/tree-select/styles/light.d.ts +1 -0
  333. package/lib/upload/src/Upload.d.ts +3 -1
  334. package/lib/upload/src/Upload.js +22 -12
  335. package/lib/upload/src/UploadFileList.js +8 -3
  336. package/lib/upload/src/interface.d.ts +3 -1
  337. package/lib/version.d.ts +1 -1
  338. package/lib/version.js +1 -1
  339. package/package.json +2 -2
  340. package/web-types.json +1 -1
@@ -12,7 +12,7 @@ import Schema from 'async-validator';
12
12
  import { get } from 'lodash-es';
13
13
  import { createId } from 'seemly';
14
14
  import { formItemInjectionKey } from '../../_mixins/use-form-item';
15
- import { useConfig, useTheme } from '../../_mixins';
15
+ import { useConfig, useTheme, useThemeClass } from '../../_mixins';
16
16
  import { warn, createKey, useInjectionInstanceCollection, keysOf } from '../../_utils';
17
17
  import { formLight } from '../styles';
18
18
  import { formItemMisc, formItemSize, formItemRule } from './utils';
@@ -70,7 +70,7 @@ export default defineComponent({
70
70
  props: formItemProps,
71
71
  setup(props) {
72
72
  useInjectionInstanceCollection(formItemInstsInjectionKey, 'formItems', toRef(props, 'path'));
73
- const { mergedClsPrefixRef } = useConfig(props);
73
+ const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
74
74
  const NForm = inject(formInjectionKey, null);
75
75
  const formItemSizeRefs = formItemSize(props);
76
76
  const formItemMiscRefs = formItemMisc(props);
@@ -232,45 +232,52 @@ export default defineComponent({
232
232
  NForm === null || NForm === void 0 ? void 0 : NForm.deriveMaxChildLabelWidth(Number(getComputedStyle(labelElementRef.value).width.slice(0, -2)));
233
233
  }
234
234
  });
235
- return Object.assign(Object.assign(Object.assign(Object.assign({ labelElementRef, mergedClsPrefix: mergedClsPrefixRef, mergedRequired: mergedRequiredRef, hasFeedback: hasFeedbackRef, feedbackId: feedbackIdRef, explains: explainsRef }, formItemMiscRefs), formItemSizeRefs), exposedRef), { cssVars: computed(() => {
236
- var _a;
237
- const { value: size } = mergedSizeRef;
238
- const { value: labelPlacement } = labelPlacementRef;
239
- const direction = labelPlacement === 'top' ? 'vertical' : 'horizontal';
240
- const { common: { cubicBezierEaseInOut }, self: { labelTextColor, asteriskColor, lineHeight, feedbackTextColor, feedbackTextColorWarning, feedbackTextColorError, feedbackPadding, [createKey('labelHeight', size)]: labelHeight, [createKey('blankHeight', size)]: blankHeight, [createKey('feedbackFontSize', size)]: feedbackFontSize, [createKey('feedbackHeight', size)]: feedbackHeight, [createKey('labelPadding', direction)]: labelPadding, [createKey('labelTextAlign', direction)]: labelTextAlign, [createKey(createKey('labelFontSize', labelPlacement), size)]: labelFontSize } } = themeRef.value;
241
- let mergedLabelTextAlign = (_a = labelTextAlignRef.value) !== null && _a !== void 0 ? _a : labelTextAlign;
242
- if (labelPlacement === 'top') {
243
- mergedLabelTextAlign =
244
- mergedLabelTextAlign === 'right' ? 'flex-end' : 'flex-start';
245
- }
246
- const cssVars = {
247
- '--n-bezier': cubicBezierEaseInOut,
248
- '--n-line-height': lineHeight,
249
- '--n-blank-height': blankHeight,
250
- '--n-label-font-size': labelFontSize,
251
- '--n-label-text-align': mergedLabelTextAlign,
252
- '--n-label-height': labelHeight,
253
- '--n-label-padding': labelPadding,
254
- '--n-asterisk-color': asteriskColor,
255
- '--n-label-text-color': labelTextColor,
256
- '--n-feedback-padding': feedbackPadding,
257
- '--n-feedback-font-size': feedbackFontSize,
258
- '--n-feedback-height': feedbackHeight,
259
- '--n-feedback-text-color': feedbackTextColor,
260
- '--n-feedback-text-color-warning': feedbackTextColorWarning,
261
- '--n-feedback-text-color-error': feedbackTextColorError
262
- };
263
- return cssVars;
264
- }) });
235
+ const cssVarsRef = computed(() => {
236
+ var _a;
237
+ const { value: size } = mergedSizeRef;
238
+ const { value: labelPlacement } = labelPlacementRef;
239
+ const direction = labelPlacement === 'top' ? 'vertical' : 'horizontal';
240
+ const { common: { cubicBezierEaseInOut }, self: { labelTextColor, asteriskColor, lineHeight, feedbackTextColor, feedbackTextColorWarning, feedbackTextColorError, feedbackPadding, [createKey('labelHeight', size)]: labelHeight, [createKey('blankHeight', size)]: blankHeight, [createKey('feedbackFontSize', size)]: feedbackFontSize, [createKey('feedbackHeight', size)]: feedbackHeight, [createKey('labelPadding', direction)]: labelPadding, [createKey('labelTextAlign', direction)]: labelTextAlign, [createKey(createKey('labelFontSize', labelPlacement), size)]: labelFontSize } } = themeRef.value;
241
+ let mergedLabelTextAlign = (_a = labelTextAlignRef.value) !== null && _a !== void 0 ? _a : labelTextAlign;
242
+ if (labelPlacement === 'top') {
243
+ mergedLabelTextAlign =
244
+ mergedLabelTextAlign === 'right' ? 'flex-end' : 'flex-start';
245
+ }
246
+ const cssVars = {
247
+ '--n-bezier': cubicBezierEaseInOut,
248
+ '--n-line-height': lineHeight,
249
+ '--n-blank-height': blankHeight,
250
+ '--n-label-font-size': labelFontSize,
251
+ '--n-label-text-align': mergedLabelTextAlign,
252
+ '--n-label-height': labelHeight,
253
+ '--n-label-padding': labelPadding,
254
+ '--n-asterisk-color': asteriskColor,
255
+ '--n-label-text-color': labelTextColor,
256
+ '--n-feedback-padding': feedbackPadding,
257
+ '--n-feedback-font-size': feedbackFontSize,
258
+ '--n-feedback-height': feedbackHeight,
259
+ '--n-feedback-text-color': feedbackTextColor,
260
+ '--n-feedback-text-color-warning': feedbackTextColorWarning,
261
+ '--n-feedback-text-color-error': feedbackTextColorError
262
+ };
263
+ return cssVars;
264
+ });
265
+ const themeClassHandle = useThemeClass('form-item', computed(() => {
266
+ var _a;
267
+ return `${mergedSizeRef.value[0]}${labelPlacementRef.value[0]}${((_a = labelTextAlignRef.value) === null || _a === void 0 ? void 0 : _a[0]) || ''}`;
268
+ }), cssVarsRef, props);
269
+ return Object.assign(Object.assign(Object.assign(Object.assign({ labelElementRef, mergedClsPrefix: mergedClsPrefixRef, mergedRequired: mergedRequiredRef, hasFeedback: hasFeedbackRef, feedbackId: feedbackIdRef, explains: explainsRef }, formItemMiscRefs), formItemSizeRefs), exposedRef), { cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });
265
270
  },
266
271
  render() {
267
272
  var _a;
268
- const { $slots, mergedClsPrefix, mergedShowLabel, mergedShowRequireMark, mergedRequireMarkPlacement } = this;
273
+ const { $slots, mergedClsPrefix, mergedShowLabel, mergedShowRequireMark, mergedRequireMarkPlacement, onRender } = this;
269
274
  const renderedShowRequireMark = mergedShowRequireMark !== undefined
270
275
  ? mergedShowRequireMark
271
276
  : this.mergedRequired;
277
+ onRender === null || onRender === void 0 ? void 0 : onRender();
272
278
  return (h("div", { class: [
273
279
  `${mergedClsPrefix}-form-item`,
280
+ this.themeClass,
274
281
  `${mergedClsPrefix}-form-item--${this.mergedSize}-size`,
275
282
  `${mergedClsPrefix}-form-item--${this.mergedLabelPlacement}-labelled`,
276
283
  !mergedShowLabel && `${mergedClsPrefix}-form-item--no-label`
@@ -30,7 +30,7 @@ export default defineComponent({
30
30
  return h(NRow, keep(this.$props, rowPropKeys), {
31
31
  default: () => {
32
32
  const colProps = keep(this.$props, formItemColPropKeys);
33
- return h(NFormItemCol, Object.assign(Object.assign({ ref: 'formItemColRef' }, colProps), { span: 24 }), this.$slots);
33
+ return h(NFormItemCol, Object.assign(Object.assign({ ref: 'formItemColInstRef' }, colProps), { span: 24 }), this.$slots);
34
34
  }
35
35
  });
36
36
  }
@@ -120,7 +120,9 @@ declare const _default: import("vue").DefineComponent<{
120
120
  '--n-color-start': string;
121
121
  '--n-color-end': string;
122
122
  '--n-font-weight': string;
123
- }>;
123
+ }> | undefined;
124
+ themeClass: import("vue").Ref<string> | undefined;
125
+ onRender: (() => void) | undefined;
124
126
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
125
127
  readonly size: PropType<string | number>;
126
128
  readonly fontSize: PropType<string | number>;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, h } from 'vue';
2
- import { useConfig, useTheme } from '../../_mixins';
2
+ import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
3
  import { createKey, formatLength, useHoudini } from '../../_utils';
4
4
  import { gradientTextLight } from '../styles';
5
5
  import style from './styles/index.cssr';
@@ -12,7 +12,7 @@ export default defineComponent({
12
12
  props: gradientTextProps,
13
13
  setup(props) {
14
14
  useHoudini();
15
- const { mergedClsPrefixRef } = useConfig(props);
15
+ const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
16
16
  const compatibleTypeRef = computed(() => {
17
17
  const { type } = props;
18
18
  if (type === 'danger')
@@ -39,29 +39,37 @@ export default defineComponent({
39
39
  return undefined;
40
40
  });
41
41
  const themeRef = useTheme('GradientText', '-gradient-text', style, gradientTextLight, props, mergedClsPrefixRef);
42
+ const cssVarsRef = computed(() => {
43
+ const { value: type } = compatibleTypeRef;
44
+ const { common: { cubicBezierEaseInOut }, self: { rotate, [createKey('colorStart', type)]: colorStart, [createKey('colorEnd', type)]: colorEnd, fontWeight } } = themeRef.value;
45
+ return {
46
+ '--n-bezier': cubicBezierEaseInOut,
47
+ '--n-rotate': rotate,
48
+ '--n-color-start': colorStart,
49
+ '--n-color-end': colorEnd,
50
+ '--n-font-weight': fontWeight
51
+ };
52
+ });
53
+ const themeClassHandle = inlineThemeDisabled
54
+ ? useThemeClass('gradient-text', computed(() => compatibleTypeRef.value[0]), cssVarsRef, props)
55
+ : undefined;
42
56
  return {
43
57
  mergedClsPrefix: mergedClsPrefixRef,
44
58
  compatibleType: compatibleTypeRef,
45
59
  styleFontSize: styleFontSizeRef,
46
60
  styleBgImage: styleBgImageRef,
47
- cssVars: computed(() => {
48
- const { value: type } = compatibleTypeRef;
49
- const { common: { cubicBezierEaseInOut }, self: { rotate, [createKey('colorStart', type)]: colorStart, [createKey('colorEnd', type)]: colorEnd, fontWeight } } = themeRef.value;
50
- return {
51
- '--n-bezier': cubicBezierEaseInOut,
52
- '--n-rotate': rotate,
53
- '--n-color-start': colorStart,
54
- '--n-color-end': colorEnd,
55
- '--n-font-weight': fontWeight
56
- };
57
- })
61
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
62
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
63
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
58
64
  };
59
65
  },
60
66
  render() {
61
- const { mergedClsPrefix } = this;
67
+ const { mergedClsPrefix, onRender } = this;
68
+ onRender === null || onRender === void 0 ? void 0 : onRender();
62
69
  return (h("span", { class: [
63
70
  `${mergedClsPrefix}-gradient-text`,
64
- `${mergedClsPrefix}-gradient-text--${this.compatibleType}-type`
71
+ `${mergedClsPrefix}-gradient-text--${this.compatibleType}-type`,
72
+ this.themeClass
65
73
  ], style: [
66
74
  {
67
75
  fontSize: this.styleFontSize,
@@ -39,11 +39,9 @@ export declare const NIcon: import("vue").DefineComponent<{
39
39
  '--n-bezier': string;
40
40
  '--n-color': string;
41
41
  '--n-opacity': string;
42
- } | {
43
- '--n-bezier': string;
44
- '--n-color'?: undefined;
45
- '--n-opacity'?: undefined;
46
- }>;
42
+ }> | undefined;
43
+ themeClass: import("vue").Ref<string> | undefined;
44
+ onRender: (() => void) | undefined;
47
45
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
48
46
  depth: PropType<Depth>;
49
47
  size: (StringConstructor | NumberConstructor)[];
@@ -1,5 +1,5 @@
1
1
  import { computed, defineComponent, h, mergeProps } from 'vue';
2
- import { useConfig, useTheme } from '../../_mixins';
2
+ import { useThemeClass, useConfig, useTheme } from '../../_mixins';
3
3
  import { formatLength, warn } from '../../_utils';
4
4
  import { iconLight } from '../styles';
5
5
  import style from './styles/index.cssr';
@@ -9,8 +9,28 @@ export const NIcon = defineComponent({
9
9
  inheritAttrs: false,
10
10
  props: Object.assign(Object.assign({}, useTheme.props), { depth: [String, Number], size: [Number, String], color: String, component: Object }),
11
11
  setup(props) {
12
- const { mergedClsPrefixRef } = useConfig(props);
12
+ const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
13
13
  const themeRef = useTheme('Icon', '-icon', style, iconLight, props, mergedClsPrefixRef);
14
+ const cssVarsRef = computed(() => {
15
+ const { depth } = props;
16
+ const { common: { cubicBezierEaseInOut }, self } = themeRef.value;
17
+ if (depth !== undefined) {
18
+ const { color, [`opacity${depth}Depth`]: opacity } = self;
19
+ return {
20
+ '--n-bezier': cubicBezierEaseInOut,
21
+ '--n-color': color,
22
+ '--n-opacity': opacity
23
+ };
24
+ }
25
+ return {
26
+ '--n-bezier': cubicBezierEaseInOut,
27
+ '--n-color': '',
28
+ '--n-opacity': ''
29
+ };
30
+ });
31
+ const themeClassHandle = inlineThemeDisabled
32
+ ? useThemeClass('icon', computed(() => `${props.depth || 'd'}`), cssVarsRef, props)
33
+ : undefined;
14
34
  return {
15
35
  mergedClsPrefix: mergedClsPrefixRef,
16
36
  mergedStyle: computed(() => {
@@ -20,39 +40,29 @@ export const NIcon = defineComponent({
20
40
  color
21
41
  };
22
42
  }),
23
- cssVars: computed(() => {
24
- const { depth } = props;
25
- const { common: { cubicBezierEaseInOut }, self } = themeRef.value;
26
- if (depth !== undefined) {
27
- const { color, [`opacity${depth}Depth`]: opacity } = self;
28
- return {
29
- '--n-bezier': cubicBezierEaseInOut,
30
- '--n-color': color,
31
- '--n-opacity': opacity
32
- };
33
- }
34
- return {
35
- '--n-bezier': cubicBezierEaseInOut
36
- };
37
- })
43
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
44
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
45
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
38
46
  };
39
47
  },
40
48
  render() {
41
49
  var _a;
42
- const { $parent, depth, mergedClsPrefix, component } = this;
50
+ const { $parent, depth, mergedClsPrefix, component, onRender, themeClass } = this;
43
51
  if ((_a = $parent === null || $parent === void 0 ? void 0 : $parent.$options) === null || _a === void 0 ? void 0 : _a._n_icon__) {
44
52
  warn('icon', "don't wrap `n-icon` inside `n-icon`");
45
53
  }
54
+ onRender === null || onRender === void 0 ? void 0 : onRender();
46
55
  return h('i', mergeProps(this.$attrs, {
47
56
  role: 'img',
48
57
  class: [
49
58
  `${mergedClsPrefix}-icon`,
59
+ themeClass,
50
60
  {
51
61
  [`${mergedClsPrefix}-icon--depth`]: depth,
52
62
  [`${mergedClsPrefix}-icon--color-transition`]: depth !== undefined
53
63
  }
54
64
  ],
55
- style: Object.assign(this.cssVars, this.mergedStyle)
65
+ style: [this.cssVars, this.mergedStyle]
56
66
  }), component ? h(component) : this.$slots);
57
67
  }
58
68
  });
@@ -132,7 +132,9 @@ declare const _default: import("vue").DefineComponent<{
132
132
  '--n-toolbar-color': string;
133
133
  '--n-toolbar-border-radius': string;
134
134
  '--n-toolbar-box-shadow': string;
135
- }>;
135
+ }> | undefined;
136
+ themeClass: import("vue").Ref<string> | undefined;
137
+ onRender: (() => void) | undefined;
136
138
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
137
139
  onNext: PropType<() => void>;
138
140
  onPrev: PropType<() => void>;
@@ -5,7 +5,7 @@ import { LazyTeleport } from 'vueuc';
5
5
  import { on, off } from 'evtd';
6
6
  import { beforeNextFrameOnce } from 'seemly';
7
7
  import { RotateClockwiseIcon, RotateCounterclockwiseIcon, ZoomInIcon, ZoomOutIcon } from '../../_internal/icons';
8
- import { useLocale, useTheme } from '../../_mixins';
8
+ import { useConfig, useLocale, useTheme, useThemeClass } from '../../_mixins';
9
9
  import { NBaseIcon } from '../../_internal';
10
10
  import { NTooltip } from '../../tooltip';
11
11
  import { imageLight } from '../styles';
@@ -252,6 +252,20 @@ export default defineComponent({
252
252
  return node;
253
253
  }
254
254
  }
255
+ const cssVarsRef = computed(() => {
256
+ const { common: { cubicBezierEaseInOut }, self: { toolbarIconColor, toolbarBorderRadius, toolbarBoxShadow, toolbarColor } } = themeRef.value;
257
+ return {
258
+ '--n-bezier': cubicBezierEaseInOut,
259
+ '--n-toolbar-icon-color': toolbarIconColor,
260
+ '--n-toolbar-color': toolbarColor,
261
+ '--n-toolbar-border-radius': toolbarBorderRadius,
262
+ '--n-toolbar-box-shadow': toolbarBoxShadow
263
+ };
264
+ });
265
+ const { inlineThemeDisabled } = useConfig();
266
+ const themeClassHandle = inlineThemeDisabled
267
+ ? useThemeClass('image-preview', undefined, cssVarsRef, props)
268
+ : undefined;
255
269
  return Object.assign({ previewRef,
256
270
  previewWrapperRef, previewSrc: previewSrcRef, show: showRef, appear: useIsMounted(), displayed: displayedRef, handleWheel(e) {
257
271
  e.preventDefault();
@@ -270,16 +284,7 @@ export default defineComponent({
270
284
  rotateClockwise,
271
285
  handleSwitchPrev,
272
286
  handleSwitchNext,
273
- withTooltip, cssVars: computed(() => {
274
- const { common: { cubicBezierEaseInOut }, self: { toolbarIconColor, toolbarBorderRadius, toolbarBoxShadow, toolbarColor } } = themeRef.value;
275
- return {
276
- '--n-bezier': cubicBezierEaseInOut,
277
- '--n-toolbar-icon-color': toolbarIconColor,
278
- '--n-toolbar-color': toolbarColor,
279
- '--n-toolbar-border-radius': toolbarBorderRadius,
280
- '--n-toolbar-box-shadow': toolbarBoxShadow
281
- };
282
- }) }, exposedMethods);
287
+ withTooltip, cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender }, exposedMethods);
283
288
  },
284
289
  render() {
285
290
  var _a, _b;
@@ -287,8 +292,16 @@ export default defineComponent({
287
292
  return (h(Fragment, null, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 :
288
293
  _b.call(_a),
289
294
  h(LazyTeleport, { show: this.show }, {
290
- default: () => this.show || this.displayed
291
- ? withDirectives(h("div", { class: `${clsPrefix}-image-preview-container`, style: this.cssVars, onWheel: this.handleWheel },
295
+ default: () => {
296
+ var _a;
297
+ if (!(this.show || this.displayed)) {
298
+ return null;
299
+ }
300
+ (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
301
+ return withDirectives(h("div", { class: [
302
+ `${clsPrefix}-image-preview-container`,
303
+ this.themeClass
304
+ ], style: this.cssVars, onWheel: this.handleWheel },
292
305
  h(Transition, { name: "fade-in-transition", appear: this.appear }, {
293
306
  default: () => this.show ? (h("div", { class: `${clsPrefix}-image-preview-overlay`, onClick: this.toggleShow })) : null
294
307
  }),
@@ -319,8 +332,8 @@ export default defineComponent({
319
332
  onEnter: this.syncTransformOrigin, onBeforeLeave: this.syncTransformOrigin }, {
320
333
  default: () => withDirectives(h("div", { class: `${clsPrefix}-image-preview-wrapper`, ref: "previewWrapperRef" },
321
334
  h("img", { draggable: false, onMousedown: this.handlePreviewMousedown, onDblclick: this.handlePreviewDblclick, class: `${clsPrefix}-image-preview`, key: this.previewSrc, src: this.previewSrc, ref: "previewRef", onDragstart: this.handleDragStart })), [[vShow, this.show]])
322
- })), [[zindexable, { enabled: this.show }]])
323
- : null
335
+ })), [[zindexable, { enabled: this.show }]]);
336
+ }
324
337
  })));
325
338
  }
326
339
  });
@@ -547,6 +547,7 @@ declare const _default: import("vue").DefineComponent<{
547
547
  textareaElRef: import("vue").Ref<HTMLTextAreaElement | null>;
548
548
  textareaMirrorElRef: import("vue").Ref<HTMLElement | null>;
549
549
  textareaScrollbarInstRef: import("vue").Ref<{
550
+ $el: HTMLElement;
550
551
  containerRef: HTMLElement | null;
551
552
  contentRef: HTMLElement | null;
552
553
  containerScrollTop: number;
@@ -557,6 +558,7 @@ declare const _default: import("vue").DefineComponent<{
557
558
  handleMouseEnterWrapper: () => void;
558
559
  handleMouseLeaveWrapper: () => void;
559
560
  } | null>;
561
+ rtlEnabled: import("vue").Ref<import("../../config-provider/src/internal-interface").RtlItem | undefined> | undefined;
560
562
  uncontrolledValue: import("vue").Ref<string | [string, string] | null>;
561
563
  mergedValue: import("vue").ComputedRef<string | [string, string] | null>;
562
564
  passwordVisible: import("vue").Ref<boolean>;
@@ -579,6 +581,7 @@ declare const _default: import("vue").DefineComponent<{
579
581
  top: string;
580
582
  }>;
581
583
  mergedStatus: import("vue").ComputedRef<FormValidationStatus | undefined>;
584
+ textAreaScrollContainerWidth: import("vue").Ref<number | undefined>;
582
585
  handleTextAreaScroll: (e: Event) => void;
583
586
  handleCompositionStart: () => void;
584
587
  handleCompositionEnd: (e: CompositionEvent) => void;
@@ -635,7 +638,7 @@ declare const _default: import("vue").DefineComponent<{
635
638
  opacity1: string;
636
639
  opacity2: string;
637
640
  opacity3: string;
638
- opacity4: string; /** private */
641
+ opacity4: string;
639
642
  opacity5: string;
640
643
  dividerColor: string;
641
644
  borderColor: string;
@@ -12,6 +12,7 @@ import { inputInjectionKey } from './interface';
12
12
  import { isEmptyValue } from './utils';
13
13
  import WordCount from './WordCount';
14
14
  import style from './styles/input.cssr';
15
+ import useRtl from '../../_mixins/use-rtl';
15
16
  const inputProps = Object.assign(Object.assign({}, useTheme.props), { bordered: {
16
17
  type: Boolean,
17
18
  default: undefined
@@ -61,7 +62,7 @@ export default defineComponent({
61
62
  }
62
63
  });
63
64
  }
64
- const { mergedClsPrefixRef, mergedBorderedRef, inlineThemeDisabled } = useConfig(props);
65
+ const { mergedClsPrefixRef, mergedBorderedRef, inlineThemeDisabled, mergedRtlRef } = useConfig(props);
65
66
  const themeRef = useTheme('Input', '-input', style, inputLight, props, mergedClsPrefixRef);
66
67
  // dom refs
67
68
  const wrapperElRef = ref(null);
@@ -173,14 +174,20 @@ export default defineComponent({
173
174
  }
174
175
  ];
175
176
  });
177
+ const textAreaScrollContainerWidthRef = ref(undefined);
176
178
  // textarea autosize
177
179
  const updateTextAreaStyle = () => {
180
+ var _a, _b;
178
181
  if (props.type === 'textarea') {
179
182
  const { autosize } = props;
180
- if (typeof autosize === 'boolean')
181
- return;
183
+ if (autosize) {
184
+ textAreaScrollContainerWidthRef.value =
185
+ (_b = (_a = textareaScrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.$el) === null || _b === void 0 ? void 0 : _b.offsetWidth;
186
+ }
182
187
  if (!textareaElRef.value)
183
188
  return;
189
+ if (typeof autosize === 'boolean')
190
+ return;
184
191
  const { paddingTop: stylePaddingTop, paddingBottom: stylePaddingBottom, lineHeight: styleLineHeight } = window.getComputedStyle(textareaElRef.value);
185
192
  const paddingTop = Number(stylePaddingTop.slice(0, -2));
186
193
  const paddingBottom = Number(stylePaddingBottom.slice(0, -2));
@@ -628,6 +635,7 @@ export default defineComponent({
628
635
  deactivate,
629
636
  activate
630
637
  };
638
+ const rtlEnabledRef = useRtl('Input', mergedRtlRef, mergedClsPrefixRef);
631
639
  const cssVarsRef = computed(() => {
632
640
  const { value: size } = mergedSizeRef;
633
641
  const { common: { cubicBezierEaseInOut }, self: { color, borderRadius, textColor, caretColor, caretColorError, caretColorWarning, textDecorationColor, border, borderDisabled, borderHover, borderFocus, placeholderColor, placeholderColorDisabled, lineHeightTextarea, colorDisabled, colorFocus, textColorDisabled, boxShadowFocus, iconSize, colorFocusWarning, boxShadowFocusWarning, borderWarning, borderFocusWarning, borderHoverWarning, colorFocusError, boxShadowFocusError, borderError, borderFocusError, borderHoverError, clearSize, clearColor, clearColorHover, clearColorPressed, iconColor, iconColorDisabled, suffixTextColor, countTextColor, iconColorHover, iconColorPressed, loadingColor, loadingColorError, loadingColorWarning, [createKey('padding', size)]: padding, [createKey('fontSize', size)]: fontSize, [createKey('height', size)]: height } } = themeRef.value;
@@ -701,7 +709,7 @@ export default defineComponent({
701
709
  textareaMirrorElRef,
702
710
  textareaScrollbarInstRef,
703
711
  // value
704
- uncontrolledValue: uncontrolledValueRef, mergedValue: mergedValueRef, passwordVisible: passwordVisibleRef, mergedPlaceholder: mergedPlaceholderRef, showPlaceholder1: showPlaceholder1Ref, showPlaceholder2: showPlaceholder2Ref, mergedFocus: mergedFocusRef, isComposing: isComposingRef, activated: activatedRef, showClearButton, mergedSize: mergedSizeRef, mergedDisabled: mergedDisabledRef, textDecorationStyle: textDecorationStyleRef, mergedClsPrefix: mergedClsPrefixRef, mergedBordered: mergedBorderedRef, mergedShowPasswordOn: mergedShowPasswordOnRef, placeholderStyle: placeholderStyleRef, mergedStatus: mergedStatusRef,
712
+ rtlEnabled: rtlEnabledRef, uncontrolledValue: uncontrolledValueRef, mergedValue: mergedValueRef, passwordVisible: passwordVisibleRef, mergedPlaceholder: mergedPlaceholderRef, showPlaceholder1: showPlaceholder1Ref, showPlaceholder2: showPlaceholder2Ref, mergedFocus: mergedFocusRef, isComposing: isComposingRef, activated: activatedRef, showClearButton, mergedSize: mergedSizeRef, mergedDisabled: mergedDisabledRef, textDecorationStyle: textDecorationStyleRef, mergedClsPrefix: mergedClsPrefixRef, mergedBordered: mergedBorderedRef, mergedShowPasswordOn: mergedShowPasswordOnRef, placeholderStyle: placeholderStyleRef, mergedStatus: mergedStatusRef, textAreaScrollContainerWidth: textAreaScrollContainerWidthRef,
705
713
  // methods
706
714
  handleTextAreaScroll,
707
715
  handleCompositionStart,
@@ -732,6 +740,7 @@ export default defineComponent({
732
740
  themeClass,
733
741
  mergedStatus && `${mergedClsPrefix}-input--${mergedStatus}-status`,
734
742
  {
743
+ [`${mergedClsPrefix}-input--rtl`]: this.rtlEnabled,
735
744
  [`${mergedClsPrefix}-input--disabled`]: this.mergedDisabled,
736
745
  [`${mergedClsPrefix}-input--textarea`]: this.type === 'textarea',
737
746
  [`${mergedClsPrefix}-input--resizable`]: this.resizable && !this.autosize,
@@ -748,11 +757,23 @@ export default defineComponent({
748
757
  resolveWrappedSlot($slots.prefix, (children) => children && (h("div", { class: `${mergedClsPrefix}-input__prefix` }, children))),
749
758
  this.type === 'textarea' ? (h(NScrollbar, { ref: "textareaScrollbarInstRef", class: `${mergedClsPrefix}-input__textarea`, container: this.getTextareaScrollContainer, triggerDisplayManually: true, useUnifiedContainer: true }, {
750
759
  default: () => {
760
+ const { textAreaScrollContainerWidth } = this;
761
+ const scrollContainerWidthStyle = {
762
+ width: this.autosize &&
763
+ textAreaScrollContainerWidth &&
764
+ `${textAreaScrollContainerWidth}px`
765
+ };
751
766
  return (h(Fragment, null,
752
767
  h("textarea", Object.assign({}, this.inputProps, { ref: "textareaElRef", class: `${mergedClsPrefix}-input__textarea-el`, autofocus: this.autofocus, rows: Number(this.rows), placeholder: this.placeholder, value: this.mergedValue, disabled: this.mergedDisabled, maxlength: this.maxlength, minlength: this.minlength, readonly: this.readonly, tabindex: this.passivelyActivated && !this.activated
753
768
  ? -1
754
- : undefined, style: this.textDecorationStyle[0], onBlur: this.handleInputBlur, onFocus: this.handleInputFocus, onInput: this.handleInput, onChange: this.handleChange, onScroll: this.handleTextAreaScroll })),
755
- this.showPlaceholder1 ? (h("div", { class: `${mergedClsPrefix}-input__placeholder`, style: this.placeholderStyle, key: "placeholder" }, this.mergedPlaceholder[0])) : null,
769
+ : undefined, style: [
770
+ this.textDecorationStyle[0],
771
+ scrollContainerWidthStyle
772
+ ], onBlur: this.handleInputBlur, onFocus: this.handleInputFocus, onInput: this.handleInput, onChange: this.handleChange, onScroll: this.handleTextAreaScroll })),
773
+ this.showPlaceholder1 ? (h("div", { class: `${mergedClsPrefix}-input__placeholder`, style: [
774
+ this.placeholderStyle,
775
+ scrollContainerWidthStyle
776
+ ], key: "placeholder" }, this.mergedPlaceholder[0])) : null,
756
777
  this.autosize ? (h(VResizeObserver, { onResize: this.handleTextAreaMirrorResize }, {
757
778
  default: () => (h("div", { ref: "textareaMirrorElRef", class: `${mergedClsPrefix}-input__textarea-mirror`, key: "mirror" }))
758
779
  })) : null));
@@ -393,7 +393,9 @@ declare const _default: import("vue").DefineComponent<{
393
393
  '--n-font-size': string;
394
394
  '--n-line-height': string;
395
395
  '--n-height': string;
396
- }>;
396
+ }> | undefined;
397
+ themeClass: import("vue").Ref<string> | undefined;
398
+ onRender: (() => void) | undefined;
397
399
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
398
400
  readonly size: {
399
401
  readonly type: PropType<Size>;
@@ -1,5 +1,5 @@
1
1
  import { computed, defineComponent, h } from 'vue';
2
- import { useConfig, useTheme } from '../../_mixins';
2
+ import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
3
  import { createKey } from '../../_utils';
4
4
  import { inputLight } from '../styles';
5
5
  import style from './styles/input-group-label.cssr';
@@ -14,32 +14,39 @@ export default defineComponent({
14
14
  name: 'InputGroupLabel',
15
15
  props: inputGroupLabelProps,
16
16
  setup(props) {
17
- const { mergedBorderedRef, mergedClsPrefixRef } = useConfig(props);
17
+ const { mergedBorderedRef, mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
18
18
  const themeRef = useTheme('Input', '-input-group-label', style, inputLight, props, mergedClsPrefixRef);
19
+ const cssVarsRef = computed(() => {
20
+ const { size } = props;
21
+ const { common: { cubicBezierEaseInOut }, self: { groupLabelColor, borderRadius, groupLabelTextColor, lineHeight, groupLabelBorder, [createKey('fontSize', size)]: fontSize, [createKey('height', size)]: height } } = themeRef.value;
22
+ return {
23
+ '--n-bezier': cubicBezierEaseInOut,
24
+ '--n-group-label-color': groupLabelColor,
25
+ '--n-group-label-border': groupLabelBorder,
26
+ '--n-border-radius': borderRadius,
27
+ '--n-group-label-text-color': groupLabelTextColor,
28
+ '--n-font-size': fontSize,
29
+ '--n-line-height': lineHeight,
30
+ '--n-height': height
31
+ };
32
+ });
33
+ const themeClassHandle = inlineThemeDisabled
34
+ ? useThemeClass('input-group-label', computed(() => props.size[0]), cssVarsRef, props)
35
+ : undefined;
19
36
  return {
20
37
  mergedClsPrefix: mergedClsPrefixRef,
21
38
  mergedBordered: mergedBorderedRef,
22
- cssVars: computed(() => {
23
- const { size } = props;
24
- const { common: { cubicBezierEaseInOut }, self: { groupLabelColor, borderRadius, groupLabelTextColor, lineHeight, groupLabelBorder, [createKey('fontSize', size)]: fontSize, [createKey('height', size)]: height } } = themeRef.value;
25
- return {
26
- '--n-bezier': cubicBezierEaseInOut,
27
- '--n-group-label-color': groupLabelColor,
28
- '--n-group-label-border': groupLabelBorder,
29
- '--n-border-radius': borderRadius,
30
- '--n-group-label-text-color': groupLabelTextColor,
31
- '--n-font-size': fontSize,
32
- '--n-line-height': lineHeight,
33
- '--n-height': height
34
- };
35
- })
39
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
40
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
41
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
36
42
  };
37
43
  },
38
44
  render() {
39
- var _a, _b;
45
+ var _a, _b, _c;
40
46
  const { mergedClsPrefix } = this;
41
- return (h("div", { class: `${mergedClsPrefix}-input-group-label`, style: this.cssVars }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 :
42
- _b.call(_a),
47
+ (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);
48
+ return (h("div", { class: [`${mergedClsPrefix}-input-group-label`, this.themeClass], style: this.cssVars }, (_c = (_b = this.$slots).default) === null || _c === void 0 ? void 0 :
49
+ _c.call(_b),
43
50
  this.mergedBordered ? (h("div", { class: `${mergedClsPrefix}-input-group-label__border` })) : null));
44
51
  }
45
52
  });
@@ -148,6 +148,7 @@ cE('textarea', `
148
148
  resize: none;
149
149
  white-space: pre-wrap;
150
150
  `), cE('textarea-mirror', `
151
+ width: 100%;
151
152
  pointer-events: none;
152
153
  overflow: hidden;
153
154
  visibility: hidden;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("css-render").CNode;
2
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { cB, cE, cM } from '../../../_utils/cssr';
2
+ export default cB('input', [cM('rtl', `
3
+ direction: rtl;
4
+ `, [cE('prefix', {
5
+ marginRight: 0,
6
+ marginLeft: '4px'
7
+ }), cE('suffix', {
8
+ marginRight: '4px',
9
+ marginLeft: 0
10
+ }), cM('textarea', 'width: 100%;', [cB('input-word-count', `
11
+ left: var(--n-padding-right);
12
+ right: unset;
13
+ `)]), cB('input-word-count', `
14
+ margin-left: 0;
15
+ margin-right: 4px;
16
+ `)])]);
@@ -1,3 +1,4 @@
1
1
  export { default as inputDark } from './dark';
2
2
  export { default as inputLight } from './light';
3
+ export { inputRtl } from './rtl';
3
4
  export type { InputTheme, InputThemeVars } from './light';
@@ -1,2 +1,3 @@
1
1
  export { default as inputDark } from './dark';
2
2
  export { default as inputLight } from './light';
3
+ export { inputRtl } from './rtl';