@sdata/web-vue 3.17.0 → 3.19.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 (581) hide show
  1. package/dist/sd.css +478 -0
  2. package/dist/sd.min.css +2 -2
  3. package/es/_components/feedback-icon.vue_vue_type_script_setup_true_lang.js +1 -1
  4. package/es/_components/icon-hover.vue.d.ts +1 -1
  5. package/es/_components/icon-hover.vue_vue_type_script_setup_true_lang.js +1 -1
  6. package/es/_components/input-label/input-label.d.ts +13 -1
  7. package/es/_components/input-label/input-label.js +35 -5
  8. package/es/_components/input-label/style/index.css +6 -0
  9. package/es/_components/input-label/style/input-label.scss +8 -0
  10. package/es/_components/picker/input-range.vue.d.ts +24 -1
  11. package/es/_components/picker/input-range.vue_vue_type_script_setup_true_lang.js +43 -7
  12. package/es/_components/picker/input.vue.d.ts +24 -1
  13. package/es/_components/picker/input.vue_vue_type_script_setup_true_lang.js +32 -5
  14. package/es/_components/picker/style/index.scss +8 -0
  15. package/es/_components/resize-trigger.vue_vue_type_script_setup_true_lang.js +1 -1
  16. package/es/_components/select-view/select-view.d.ts +15 -3
  17. package/es/_components/select-view/select-view.js +10 -1
  18. package/es/_components/select-view/style/index.css +12 -0
  19. package/es/_components/transition/expand-transition.vue_vue_type_script_setup_true_lang.js +1 -1
  20. package/es/_components/virtual-list/virtual-list.vue.d.ts +6 -6
  21. package/es/_components/virtual-list/virtual-list.vue_vue_type_script_setup_true_lang.js +4 -4
  22. package/es/_hooks/use-cursor.js +4 -2
  23. package/es/_hooks/use-fit-width.d.ts +22 -0
  24. package/es/_hooks/use-fit-width.js +76 -0
  25. package/es/_hooks/use-form-item.d.ts +1 -1
  26. package/es/_hooks/use-scrollbar.js +1 -1
  27. package/es/_hooks/use-size.d.ts +1 -1
  28. package/es/_utils/color.js +2 -2
  29. package/es/_utils/date.js +20 -20
  30. package/es/_utils/floating.d.ts +8 -0
  31. package/es/_utils/floating.js +54 -0
  32. package/es/_utils/global-config.js +1 -1
  33. package/es/_utils/is-equal.js +1 -1
  34. package/es/_utils/keyboard.js +3 -2
  35. package/es/_utils/omit.js +1 -1
  36. package/es/_utils/responsive-observe.js +2 -2
  37. package/es/_utils/virtual-dropdown.js +2 -2
  38. package/es/_utils/vue-utils.js +1 -1
  39. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/asyncToGenerator.js +2 -2
  40. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/defineProperty.js +3 -3
  41. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/extends.js +2 -2
  42. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/objectDestructuringEmpty.js +2 -2
  43. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/objectSpread2.js +3 -3
  44. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/objectWithoutProperties.js +3 -3
  45. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/objectWithoutPropertiesLoose.js +2 -2
  46. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/toPrimitive.js +3 -3
  47. package/es/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPropertyKey.js +9 -0
  48. package/es/_virtual/{_@oxc-project_runtime@0.133.0 → _@oxc-project_runtime@0.139.0}/helpers/esm/typeof.js +2 -2
  49. package/es/affix/affix.vue_vue_type_script_setup_true_lang.js +1 -1
  50. package/es/alert/alert.vue_vue_type_script_setup_true_lang.js +1 -1
  51. package/es/anchor/anchor-link.vue_vue_type_script_setup_true_lang.js +1 -1
  52. package/es/anchor/anchor.vue.d.ts +1 -1
  53. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +5 -2
  54. package/es/anchor/index.d.ts +3 -3
  55. package/es/anchor/index.js +1 -1
  56. package/es/auto-complete/auto-complete.d.ts +27 -2
  57. package/es/auto-complete/auto-complete.js +52 -27
  58. package/es/auto-complete/index.d.ts +45 -6
  59. package/es/avatar/avatar.vue_vue_type_script_setup_true_lang.js +6 -6
  60. package/es/avatar/index.js +1 -1
  61. package/es/back-top/back-top.vue_vue_type_script_setup_true_lang.js +1 -1
  62. package/es/badge/badge.d.ts +1 -1
  63. package/es/badge/badge.js +2 -2
  64. package/es/badge/index.d.ts +3 -3
  65. package/es/basic-crud-table/basic-crud-modal.vue.d.ts +6 -6
  66. package/es/basic-crud-table/basic-crud-modal.vue_vue_type_script_setup_true_lang.js +4 -3
  67. package/es/basic-crud-table/basic-crud-table.vue.d.ts +20 -20
  68. package/es/basic-crud-table/basic-crud-table.vue_vue_type_script_setup_true_lang.js +2 -2
  69. package/es/basic-crud-table/index.d.ts +59 -59
  70. package/es/border-beam/border-beam.vue_vue_type_script_setup_true_lang.js +1 -1
  71. package/es/border-beam/styles.js +1 -1
  72. package/es/breadcrumb/index.js +1 -1
  73. package/es/button/button-group.vue_vue_type_script_setup_true_lang.js +1 -1
  74. package/es/button/button.vue.d.ts +2 -2
  75. package/es/button/button.vue_vue_type_script_setup_true_lang.js +5 -5
  76. package/es/button/index.d.ts +6 -6
  77. package/es/button/index.js +1 -1
  78. package/es/calendar/components/cell.vue_vue_type_script_setup_true_lang.js +6 -11
  79. package/es/calendar/components/event.vue_vue_type_script_setup_true_lang.js +3 -12
  80. package/es/calendar/components/header.vue_vue_type_script_setup_true_lang.js +3 -4
  81. package/es/calendar/components/index.vue_vue_type_script_setup_true_lang.js +3 -6
  82. package/es/calendar/components/time-column.vue_vue_type_script_setup_true_lang.js +4 -1
  83. package/es/card/card-grid.vue_vue_type_script_setup_true_lang.js +1 -1
  84. package/es/card/card.d.ts +3 -3
  85. package/es/card/index.d.ts +6 -6
  86. package/es/card/index.js +1 -1
  87. package/es/carousel/carousel-arrow.vue_vue_type_script_setup_true_lang.js +1 -1
  88. package/es/carousel/carousel-indicator.vue.d.ts +1 -1
  89. package/es/carousel/carousel-indicator.vue_vue_type_script_setup_true_lang.js +1 -1
  90. package/es/carousel/carousel-item.vue_vue_type_script_setup_true_lang.js +1 -1
  91. package/es/carousel/carousel.js +1 -1
  92. package/es/carousel/index.js +1 -1
  93. package/es/cascader/base-cascader-panel.d.ts +1 -1
  94. package/es/cascader/cascader-option.d.ts +1 -1
  95. package/es/cascader/cascader-panel.vue.d.ts +1 -1
  96. package/es/cascader/cascader-panel.vue_vue_type_script_setup_true_lang.js +2 -2
  97. package/es/cascader/cascader-search-panel.d.ts +1 -1
  98. package/es/cascader/cascader.vue.d.ts +7 -5
  99. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +150 -132
  100. package/es/cascader/index.js +1 -1
  101. package/es/cascader/types.d.ts +4 -1
  102. package/es/checkbox/checkbox.d.ts +3 -3
  103. package/es/checkbox/index.d.ts +6 -6
  104. package/es/checkbox/index.js +1 -1
  105. package/es/collapse/collapse-item.d.ts +3 -3
  106. package/es/collapse/collapse.vue_vue_type_script_setup_true_lang.js +1 -1
  107. package/es/collapse/index.d.ts +3 -3
  108. package/es/collapse/index.js +1 -1
  109. package/es/color-picker/color-picker.d.ts +9 -2
  110. package/es/color-picker/color-picker.js +15 -10
  111. package/es/color-picker/index.d.ts +15 -6
  112. package/es/color-picker/panel.js +7 -4
  113. package/es/color-picker/utils.js +3 -2
  114. package/es/comment/comment.vue_vue_type_script_setup_true_lang.js +5 -5
  115. package/es/components.d.ts +4 -0
  116. package/es/config-provider/config-provider.vue.d.ts +1 -1
  117. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +1 -1
  118. package/es/config-provider/index.d.ts +3 -3
  119. package/es/config-provider/theme-provider.vue_vue_type_script_setup_true_lang.js +2 -2
  120. package/es/config-provider/theme.js +3 -3
  121. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +2 -2
  122. package/es/cropper/cropper.vue_vue_type_script_setup_true_lang.js +2 -2
  123. package/es/date-picker/hooks/use-format.js +1 -1
  124. package/es/date-picker/hooks/use-range-time-picker-value.js +1 -1
  125. package/es/date-picker/hooks/use-value-format.js +1 -1
  126. package/es/date-picker/index.d.ts +96 -23
  127. package/es/date-picker/index.js +1 -1
  128. package/es/date-picker/interface.d.ts +2 -1
  129. package/es/date-picker/panels/body.vue_vue_type_script_setup_true_lang.js +4 -6
  130. package/es/date-picker/panels/date/index.vue_vue_type_script_setup_true_lang.js +1 -1
  131. package/es/date-picker/panels/footer.vue_vue_type_script_setup_true_lang.js +1 -1
  132. package/es/date-picker/panels/header.vue_vue_type_script_setup_true_lang.js +1 -1
  133. package/es/date-picker/panels/month/index.vue_vue_type_script_setup_true_lang.js +1 -1
  134. package/es/date-picker/panels/quarter/index.vue_vue_type_script_setup_true_lang.js +1 -1
  135. package/es/date-picker/panels/shortcuts.vue_vue_type_script_setup_true_lang.js +1 -1
  136. package/es/date-picker/panels/week/index.vue_vue_type_script_setup_true_lang.js +5 -3
  137. package/es/date-picker/panels/week-list.vue_vue_type_script_setup_true_lang.js +1 -1
  138. package/es/date-picker/panels/year/index.vue_vue_type_script_setup_true_lang.js +1 -1
  139. package/es/date-picker/picker-panel.vue.d.ts +1 -1
  140. package/es/date-picker/picker-panel.vue_vue_type_script_setup_true_lang.js +1 -1
  141. package/es/date-picker/picker.vue.d.ts +46 -17
  142. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +40 -6
  143. package/es/date-picker/pickers/date-picker.d.ts +18 -0
  144. package/es/date-picker/pickers/date-picker.js +16 -0
  145. package/es/date-picker/range-picker-panel.vue.d.ts +1 -1
  146. package/es/date-picker/range-picker-panel.vue_vue_type_script_setup_true_lang.js +1 -1
  147. package/es/date-picker/range-picker.vue.d.ts +46 -17
  148. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +35 -5
  149. package/es/date-picker/style/index.css +6 -0
  150. package/es/descriptions/descriptions-item.vue_vue_type_script_setup_true_lang.js +1 -1
  151. package/es/descriptions/descriptions.d.ts +3 -3
  152. package/es/descriptions/descriptions.js +1 -1
  153. package/es/descriptions/index.d.ts +9 -9
  154. package/es/descriptions/index.js +1 -1
  155. package/es/divider/divider.d.ts +1 -1
  156. package/es/divider/index.d.ts +3 -3
  157. package/es/drawer/drawer.vue.d.ts +4 -4
  158. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +2 -2
  159. package/es/drawer/index.d.ts +11 -11
  160. package/es/drawer/index.js +2 -2
  161. package/es/dropdown/dropdown-button.vue.d.ts +9 -2
  162. package/es/dropdown/dropdown-button.vue_vue_type_script_setup_true_lang.js +4 -1
  163. package/es/dropdown/dropdown-group.vue_vue_type_script_setup_true_lang.js +1 -1
  164. package/es/dropdown/dropdown-option.vue.d.ts +1 -1
  165. package/es/dropdown/dropdown-option.vue_vue_type_script_setup_true_lang.js +1 -1
  166. package/es/dropdown/dropdown-panel.vue_vue_type_script_setup_true_lang.js +1 -1
  167. package/es/dropdown/dropdown-submenu.vue.d.ts +9 -2
  168. package/es/dropdown/dropdown-submenu.vue_vue_type_script_setup_true_lang.js +4 -1
  169. package/es/dropdown/dropdown.vue.d.ts +8 -1
  170. package/es/dropdown/dropdown.vue_vue_type_script_setup_true_lang.js +4 -1
  171. package/es/dropdown/index.d.ts +48 -21
  172. package/es/dropdown/index.js +1 -1
  173. package/es/dropdown/interface.d.ts +3 -0
  174. package/es/ellipsis/ellipsis.vue.d.ts +1 -1
  175. package/es/ellipsis/ellipsis.vue_vue_type_script_setup_true_lang.js +5 -5
  176. package/es/ellipsis/index.d.ts +6 -6
  177. package/es/ellipsis/performant-ellipsis.vue.d.ts +1 -1
  178. package/es/ellipsis/performant-ellipsis.vue_vue_type_script_setup_true_lang.js +3 -3
  179. package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +6 -6
  180. package/es/file-previewer/use-pdf-js.js +2 -2
  181. package/es/form/form-item-label.vue_vue_type_script_setup_true_lang.js +1 -1
  182. package/es/form/form-item-message.vue_vue_type_script_setup_true_lang.js +1 -1
  183. package/es/form/form-item.vue.d.ts +1 -1
  184. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +5 -5
  185. package/es/form/form.vue.d.ts +1 -1
  186. package/es/form/form.vue_vue_type_script_setup_true_lang.js +3 -2
  187. package/es/form/index.d.ts +9 -9
  188. package/es/form/index.js +1 -1
  189. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +1 -1
  190. package/es/grid/grid-item.vue_vue_type_script_setup_true_lang.js +1 -1
  191. package/es/grid/grid-row.vue.d.ts +3 -3
  192. package/es/grid/grid-row.vue_vue_type_script_setup_true_lang.js +1 -1
  193. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +1 -1
  194. package/es/grid/index.d.ts +9 -9
  195. package/es/grid/index.js +1 -1
  196. package/es/icon/icon-arrow-up/icon-arrow-up.js +5 -0
  197. package/es/icon/icon-arrow-up/icon-arrow-up.vue_vue_type_script_setup_true_lang.js +52 -0
  198. package/es/icon/icon-arrow-up/index.js +9 -0
  199. package/es/icon/icon-calendar/icon-calendar.vue_vue_type_script_setup_true_lang.js +1 -1
  200. package/es/icon/icon-caret-down/icon-caret-down.vue_vue_type_script_setup_true_lang.js +1 -1
  201. package/es/icon/icon-caret-left/icon-caret-left.vue_vue_type_script_setup_true_lang.js +1 -1
  202. package/es/icon/icon-caret-right/icon-caret-right.vue_vue_type_script_setup_true_lang.js +1 -1
  203. package/es/icon/icon-caret-up/icon-caret-up.vue_vue_type_script_setup_true_lang.js +1 -1
  204. package/es/icon/icon-check/icon-check.vue_vue_type_script_setup_true_lang.js +1 -1
  205. package/es/icon/icon-check-circle-fill/icon-check-circle-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  206. package/es/icon/icon-clock-circle/icon-clock-circle.vue_vue_type_script_setup_true_lang.js +1 -1
  207. package/es/icon/icon-close/icon-close.vue_vue_type_script_setup_true_lang.js +1 -1
  208. package/es/icon/icon-close-circle-fill/icon-close-circle-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  209. package/es/icon/icon-copy/icon-copy.vue_vue_type_script_setup_true_lang.js +1 -1
  210. package/es/icon/icon-delete/icon-delete.vue_vue_type_script_setup_true_lang.js +1 -1
  211. package/es/icon/icon-double-left/icon-double-left.vue_vue_type_script_setup_true_lang.js +1 -1
  212. package/es/icon/icon-double-right/icon-double-right.vue_vue_type_script_setup_true_lang.js +1 -1
  213. package/es/icon/icon-down/icon-down.vue_vue_type_script_setup_true_lang.js +1 -1
  214. package/es/icon/icon-drag-dot/icon-drag-dot.vue_vue_type_script_setup_true_lang.js +1 -1
  215. package/es/icon/icon-drag-dot-vertical/icon-drag-dot-vertical.vue_vue_type_script_setup_true_lang.js +1 -1
  216. package/es/icon/icon-edit/icon-edit.vue_vue_type_script_setup_true_lang.js +1 -1
  217. package/es/icon/icon-empty/icon-empty.vue_vue_type_script_setup_true_lang.js +1 -1
  218. package/es/icon/icon-exclamation/icon-exclamation.vue_vue_type_script_setup_true_lang.js +1 -1
  219. package/es/icon/icon-exclamation-circle-fill/icon-exclamation-circle-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  220. package/es/icon/icon-eye/icon-eye.vue_vue_type_script_setup_true_lang.js +1 -1
  221. package/es/icon/icon-eye-invisible/icon-eye-invisible.vue_vue_type_script_setup_true_lang.js +1 -1
  222. package/es/icon/icon-face-frown-fill/icon-face-frown-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  223. package/es/icon/icon-face-meh-fill/icon-face-meh-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  224. package/es/icon/icon-face-smile-fill/icon-face-smile-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  225. package/es/icon/icon-file/icon-file.vue_vue_type_script_setup_true_lang.js +1 -1
  226. package/es/icon/icon-file-audio/icon-file-audio.vue_vue_type_script_setup_true_lang.js +1 -1
  227. package/es/icon/icon-file-image/icon-file-image.vue_vue_type_script_setup_true_lang.js +1 -1
  228. package/es/icon/icon-file-pdf/icon-file-pdf.vue_vue_type_script_setup_true_lang.js +1 -1
  229. package/es/icon/icon-file-video/icon-file-video.vue_vue_type_script_setup_true_lang.js +1 -1
  230. package/es/icon/icon-filter/icon-filter.vue_vue_type_script_setup_true_lang.js +1 -1
  231. package/es/icon/icon-fullscreen/icon-fullscreen.vue_vue_type_script_setup_true_lang.js +1 -1
  232. package/es/icon/icon-image-close/icon-image-close.vue_vue_type_script_setup_true_lang.js +1 -1
  233. package/es/icon/icon-info/icon-info.vue_vue_type_script_setup_true_lang.js +1 -1
  234. package/es/icon/icon-info-circle-fill/icon-info-circle-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  235. package/es/icon/icon-left/icon-left.vue_vue_type_script_setup_true_lang.js +1 -1
  236. package/es/icon/icon-link/icon-link.vue_vue_type_script_setup_true_lang.js +1 -1
  237. package/es/icon/icon-list/icon-list.vue_vue_type_script_setup_true_lang.js +1 -1
  238. package/es/icon/icon-loading/icon-loading.vue_vue_type_script_setup_true_lang.js +1 -1
  239. package/es/icon/icon-menu/icon-menu.vue_vue_type_script_setup_true_lang.js +1 -1
  240. package/es/icon/icon-menu-fold/icon-menu-fold.vue_vue_type_script_setup_true_lang.js +1 -1
  241. package/es/icon/icon-menu-unfold/icon-menu-unfold.vue_vue_type_script_setup_true_lang.js +1 -1
  242. package/es/icon/icon-minus/icon-minus.vue_vue_type_script_setup_true_lang.js +1 -1
  243. package/es/icon/icon-more/icon-more.vue_vue_type_script_setup_true_lang.js +1 -1
  244. package/es/icon/icon-mute/icon-mute.js +5 -0
  245. package/es/icon/icon-mute/icon-mute.vue_vue_type_script_setup_true_lang.js +52 -0
  246. package/es/icon/icon-mute/index.js +9 -0
  247. package/es/icon/icon-oblique-line/icon-oblique-line.vue_vue_type_script_setup_true_lang.js +1 -1
  248. package/es/icon/icon-original-size/icon-original-size.vue_vue_type_script_setup_true_lang.js +1 -1
  249. package/es/icon/icon-pause/icon-pause.vue_vue_type_script_setup_true_lang.js +1 -1
  250. package/es/icon/icon-play-arrow-fill/icon-play-arrow-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  251. package/es/icon/icon-plus/icon-plus.vue_vue_type_script_setup_true_lang.js +1 -1
  252. package/es/icon/icon-question-circle/icon-question-circle.vue_vue_type_script_setup_true_lang.js +1 -1
  253. package/es/icon/icon-right/icon-right.vue_vue_type_script_setup_true_lang.js +1 -1
  254. package/es/icon/icon-rotate-left/icon-rotate-left.vue_vue_type_script_setup_true_lang.js +1 -1
  255. package/es/icon/icon-rotate-right/icon-rotate-right.vue_vue_type_script_setup_true_lang.js +1 -1
  256. package/es/icon/icon-search/icon-search.vue_vue_type_script_setup_true_lang.js +1 -1
  257. package/es/icon/icon-star-fill/icon-star-fill.vue_vue_type_script_setup_true_lang.js +1 -1
  258. package/es/icon/icon-to-top/icon-to-top.vue_vue_type_script_setup_true_lang.js +2 -2
  259. package/es/icon/icon-up/icon-up.vue_vue_type_script_setup_true_lang.js +1 -1
  260. package/es/icon/icon-upload/icon-upload.vue_vue_type_script_setup_true_lang.js +1 -1
  261. package/es/icon/icon-voice/icon-voice.js +5 -0
  262. package/es/icon/icon-voice/icon-voice.vue_vue_type_script_setup_true_lang.js +52 -0
  263. package/es/icon/icon-voice/index.js +9 -0
  264. package/es/icon/icon-zoom-in/icon-zoom-in.vue_vue_type_script_setup_true_lang.js +1 -1
  265. package/es/icon/icon-zoom-out/icon-zoom-out.vue_vue_type_script_setup_true_lang.js +1 -1
  266. package/es/icon-component/icon.vue_vue_type_script_setup_true_lang.js +1 -1
  267. package/es/icon.js +6 -6
  268. package/es/image/hooks/use-image-drag.js +3 -1
  269. package/es/image/image-footer.vue_vue_type_script_setup_true_lang.js +1 -1
  270. package/es/image/image.vue_vue_type_script_setup_true_lang.js +3 -3
  271. package/es/image/index.js +1 -1
  272. package/es/image/preview-action.d.ts +6 -6
  273. package/es/image/preview-arrow.vue_vue_type_script_setup_true_lang.js +1 -1
  274. package/es/image/preview-group.vue.d.ts +1 -1
  275. package/es/image/preview-group.vue_vue_type_script_setup_true_lang.js +1 -1
  276. package/es/image/preview-toolbar.vue_vue_type_script_setup_true_lang.js +1 -1
  277. package/es/image/preview.vue_vue_type_script_setup_true_lang.js +3 -2
  278. package/es/index.css +478 -0
  279. package/es/index.d.ts +8 -3
  280. package/es/index.js +6 -2
  281. package/es/index.scss +2 -0
  282. package/es/input/index.d.ts +99 -6
  283. package/es/input/index.js +1 -1
  284. package/es/input/input-group.vue_vue_type_script_setup_true_lang.js +1 -1
  285. package/es/input/input-password.vue.d.ts +18 -0
  286. package/es/input/input-password.vue_vue_type_script_setup_true_lang.js +25 -3
  287. package/es/input/input-search.d.ts +18 -0
  288. package/es/input/input-search.js +20 -2
  289. package/es/input/input.d.ts +29 -2
  290. package/es/input/input.js +46 -4
  291. package/es/input/style/index.css +16 -0
  292. package/es/input/style/index.scss +21 -0
  293. package/es/input-number/index.d.ts +36 -6
  294. package/es/input-number/input-number.d.ts +20 -2
  295. package/es/input-number/input-number.js +21 -2
  296. package/es/input-tag/index.d.ts +36 -6
  297. package/es/input-tag/input-tag.d.ts +20 -2
  298. package/es/input-tag/input-tag.js +42 -8
  299. package/es/input-tag/style/index.css +6 -0
  300. package/es/input-tag/style/input-tag.scss +8 -0
  301. package/es/input-tag/utils.js +1 -1
  302. package/es/json-form/index.d.ts +5 -5
  303. package/es/json-form/index.js +2 -2
  304. package/es/json-form/json-form-component.vue_vue_type_script_setup_true_lang.js +1 -1
  305. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +4 -6
  306. package/es/json-form/json-form.vue_vue_type_script_setup_true_lang.js +4 -4
  307. package/es/json-form/types.d.ts +80 -110
  308. package/es/json-form/types.js +3 -3
  309. package/es/json-form/utils.d.ts +5 -6
  310. package/es/json-form/utils.js +69 -196
  311. package/es/kv-list/index.d.ts +74 -32
  312. package/es/kv-list/kv-list-row.vue_vue_type_script_setup_true_lang.js +3 -5
  313. package/es/kv-list/kv-list.vue_vue_type_script_setup_true_lang.js +1 -1
  314. package/es/layout/content.vue_vue_type_script_setup_true_lang.js +1 -1
  315. package/es/layout/footer.vue_vue_type_script_setup_true_lang.js +1 -1
  316. package/es/layout/header.vue_vue_type_script_setup_true_lang.js +1 -1
  317. package/es/layout/index.js +1 -1
  318. package/es/layout/layout.vue_vue_type_script_setup_true_lang.js +1 -1
  319. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +1 -1
  320. package/es/link/index.d.ts +6 -6
  321. package/es/link/link.vue.d.ts +2 -2
  322. package/es/link/link.vue_vue_type_script_setup_true_lang.js +2 -2
  323. package/es/list/index.js +1 -1
  324. package/es/list/list-item-meta.vue_vue_type_script_setup_true_lang.js +1 -1
  325. package/es/list/list.js +1 -1
  326. package/es/locale/interface.d.ts +22 -0
  327. package/es/locale/lang/ar-eg.js +21 -1
  328. package/es/locale/lang/de-de.js +21 -1
  329. package/es/locale/lang/en-us.js +21 -1
  330. package/es/locale/lang/es-es.js +21 -1
  331. package/es/locale/lang/fr-fr.js +21 -1
  332. package/es/locale/lang/id-id.js +21 -1
  333. package/es/locale/lang/it-it.js +21 -1
  334. package/es/locale/lang/ja-jp.js +21 -1
  335. package/es/locale/lang/km-kh.js +21 -1
  336. package/es/locale/lang/ko-kr.js +21 -1
  337. package/es/locale/lang/ms-my.js +21 -1
  338. package/es/locale/lang/nl-nl.js +21 -1
  339. package/es/locale/lang/pt-pt.js +21 -1
  340. package/es/locale/lang/ru-ru.js +21 -1
  341. package/es/locale/lang/th-th.js +21 -1
  342. package/es/locale/lang/vi-vn.js +21 -1
  343. package/es/locale/lang/zh-cn.js +21 -1
  344. package/es/locale/lang/zh-tw.js +21 -1
  345. package/es/mention/index.d.ts +48 -9
  346. package/es/mention/mention.d.ts +28 -3
  347. package/es/mention/mention.js +33 -3
  348. package/es/mention/style/index.css +6 -0
  349. package/es/mention/style/index.scss +8 -0
  350. package/es/menu/base-menu.vue.d.ts +7 -0
  351. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +4 -2
  352. package/es/menu/context.d.ts +1 -1
  353. package/es/menu/indent.vue_vue_type_script_setup_true_lang.js +1 -1
  354. package/es/menu/index.js +1 -1
  355. package/es/menu/interface.d.ts +2 -0
  356. package/es/menu/item-group.vue_vue_type_script_setup_true_lang.js +2 -2
  357. package/es/menu/item.d.ts +1 -1
  358. package/es/menu/item.js +1 -1
  359. package/es/menu/menu.d.ts +16 -0
  360. package/es/menu/menu.js +3 -2
  361. package/es/menu/overflow-wrap.js +4 -1
  362. package/es/menu/sub-menu-inline.vue_vue_type_script_setup_true_lang.js +2 -2
  363. package/es/menu/sub-menu-pop.vue_vue_type_script_setup_true_lang.js +8 -3
  364. package/es/menu/sub-menu.js +1 -1
  365. package/es/message/index.js +1 -1
  366. package/es/message/message-list.d.ts +1 -1
  367. package/es/message/message.vue_vue_type_script_setup_true_lang.js +1 -1
  368. package/es/modal/index.d.ts +9 -9
  369. package/es/modal/index.js +2 -2
  370. package/es/modal/modal.vue.d.ts +3 -3
  371. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +2 -2
  372. package/es/notification/index.js +1 -1
  373. package/es/notification/notification.vue_vue_type_script_setup_true_lang.js +1 -1
  374. package/es/page-header/page-header.vue_vue_type_script_setup_true_lang.js +1 -1
  375. package/es/pagination/page-item-ellipsis.vue_vue_type_script_setup_true_lang.js +1 -1
  376. package/es/pagination/page-item-step.vue_vue_type_script_setup_true_lang.js +1 -1
  377. package/es/pagination/page-item.vue_vue_type_script_setup_true_lang.js +1 -1
  378. package/es/pagination/page-jumper.vue_vue_type_script_setup_true_lang.js +1 -1
  379. package/es/pagination/page-options.vue_vue_type_script_setup_true_lang.js +1 -1
  380. package/es/popconfirm/index.d.ts +12 -3
  381. package/es/popconfirm/popconfirm.vue.d.ts +8 -1
  382. package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +5 -2
  383. package/es/popover/index.d.ts +15 -6
  384. package/es/popover/popover.vue.d.ts +9 -2
  385. package/es/popover/popover.vue_vue_type_script_setup_true_lang.js +6 -3
  386. package/es/progress/circle.vue.d.ts +1 -1
  387. package/es/progress/circle.vue_vue_type_script_setup_true_lang.js +1 -1
  388. package/es/progress/line.vue.d.ts +1 -1
  389. package/es/progress/line.vue_vue_type_script_setup_true_lang.js +1 -1
  390. package/es/progress/progress.vue_vue_type_script_setup_true_lang.js +1 -1
  391. package/es/progress/steps.vue_vue_type_script_setup_true_lang.js +1 -1
  392. package/es/qr-code/index.d.ts +15 -15
  393. package/es/qr-code/qr-code.vue.d.ts +5 -5
  394. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +3 -4
  395. package/es/radio/index.d.ts +6 -6
  396. package/es/radio/index.js +1 -1
  397. package/es/radio/radio.d.ts +3 -3
  398. package/es/rate/index.d.ts +3 -3
  399. package/es/rate/rate.d.ts +1 -1
  400. package/es/resize-box/index.d.ts +5 -5
  401. package/es/resize-box/resize-box.vue.d.ts +3 -3
  402. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +2 -5
  403. package/es/result/result.vue_vue_type_script_setup_true_lang.js +1 -1
  404. package/es/rich-text-editor/built-in-components.d.ts +5 -0
  405. package/es/rich-text-editor/built-in-components.js +6 -0
  406. package/es/rich-text-editor/index.d.ts +195 -0
  407. package/es/rich-text-editor/index.js +12 -0
  408. package/es/rich-text-editor/nodes/inline-component-node.d.ts +30 -0
  409. package/es/rich-text-editor/nodes/inline-component-node.js +86 -0
  410. package/es/rich-text-editor/rich-text-editor.js +5 -0
  411. package/es/rich-text-editor/rich-text-editor.vue.d.ts +76 -0
  412. package/es/rich-text-editor/rich-text-editor.vue_vue_type_script_setup_true_lang.js +630 -0
  413. package/es/rich-text-editor/rich-text-node-renderer.js +5 -0
  414. package/es/rich-text-editor/rich-text-node-renderer.vue.d.ts +28 -0
  415. package/es/rich-text-editor/rich-text-node-renderer.vue_vue_type_script_setup_true_lang.js +133 -0
  416. package/es/rich-text-editor/style/css.js +2 -0
  417. package/es/rich-text-editor/style/index.css +164 -0
  418. package/es/rich-text-editor/style/index.d.ts +2 -0
  419. package/es/rich-text-editor/style/index.js +2 -0
  420. package/es/rich-text-editor/style/index.scss +193 -0
  421. package/es/rich-text-editor/style/token.scss +36 -0
  422. package/es/rich-text-editor/types.d.ts +148 -0
  423. package/es/scrollbar/scrollbar.vue_vue_type_script_setup_true_lang.js +1 -1
  424. package/es/sd-vue.js +7 -1
  425. package/es/secret/secret.vue_vue_type_script_setup_true_lang.js +1 -1
  426. package/es/select/hooks/use-options.js +1 -1
  427. package/es/select/hooks/use-select.js +1 -1
  428. package/es/select/index.d.ts +141 -60
  429. package/es/select/interface.d.ts +2 -1
  430. package/es/select/select-dropdown.vue_vue_type_script_setup_true_lang.js +2 -2
  431. package/es/select/select.d.ts +74 -28
  432. package/es/select/select.js +82 -59
  433. package/es/select/utils.js +2 -2
  434. package/es/selectable-card/selectable-card.vue_vue_type_script_setup_true_lang.js +1 -1
  435. package/es/sender/context.d.ts +8 -0
  436. package/es/sender/context.js +4 -0
  437. package/es/sender/index.d.ts +119 -0
  438. package/es/sender/index.js +20 -0
  439. package/es/sender/sender-header.js +5 -0
  440. package/es/sender/sender-header.vue.d.ts +28 -0
  441. package/es/sender/sender-header.vue_vue_type_script_setup_true_lang.js +127 -0
  442. package/es/sender/sender-switch.js +5 -0
  443. package/es/sender/sender-switch.vue.d.ts +32 -0
  444. package/es/sender/sender-switch.vue_vue_type_script_setup_true_lang.js +95 -0
  445. package/es/sender/sender.js +5 -0
  446. package/es/sender/sender.vue_vue_type_script_setup_true_lang.js +871 -0
  447. package/es/sender/style/css.js +3 -0
  448. package/es/sender/style/index.css +290 -0
  449. package/es/sender/style/index.d.ts +3 -0
  450. package/es/sender/style/index.js +3 -0
  451. package/es/sender/style/index.scss +346 -0
  452. package/es/sender/style/token.scss +43 -0
  453. package/es/sender/types.d.ts +171 -0
  454. package/es/sender/use-speech.d.ts +9 -0
  455. package/es/sender/use-speech.js +120 -0
  456. package/es/skeleton/index.js +1 -1
  457. package/es/skeleton/line.vue_vue_type_script_setup_true_lang.js +1 -1
  458. package/es/skeleton/shape.vue_vue_type_script_setup_true_lang.js +1 -1
  459. package/es/skeleton/skeleton.vue_vue_type_script_setup_true_lang.js +2 -2
  460. package/es/slider/index.d.ts +3 -3
  461. package/es/slider/slider-button.vue_vue_type_script_setup_true_lang.js +1 -1
  462. package/es/slider/slider-dots.vue_vue_type_script_setup_true_lang.js +1 -1
  463. package/es/slider/slider-input.vue.d.ts +1 -1
  464. package/es/slider/slider-input.vue_vue_type_script_setup_true_lang.js +1 -1
  465. package/es/slider/slider-marks.vue_vue_type_script_setup_true_lang.js +1 -1
  466. package/es/slider/slider-ticks.vue_vue_type_script_setup_true_lang.js +1 -1
  467. package/es/slider/slider.vue.d.ts +1 -1
  468. package/es/slider/slider.vue_vue_type_script_setup_true_lang.js +1 -1
  469. package/es/space/index.d.ts +9 -9
  470. package/es/space/space.d.ts +2 -2
  471. package/es/spin/index.d.ts +3 -3
  472. package/es/spin/spin.d.ts +1 -1
  473. package/es/split/split.vue_vue_type_script_setup_true_lang.js +2 -2
  474. package/es/statistic/countdown.vue_vue_type_script_setup_true_lang.js +6 -6
  475. package/es/statistic/index.d.ts +3 -3
  476. package/es/statistic/index.js +1 -1
  477. package/es/statistic/statistic.vue.d.ts +1 -1
  478. package/es/statistic/statistic.vue_vue_type_script_setup_true_lang.js +3 -3
  479. package/es/steps/index.d.ts +5 -5
  480. package/es/steps/index.js +1 -1
  481. package/es/steps/step.vue.d.ts +2 -2
  482. package/es/steps/step.vue_vue_type_script_setup_true_lang.js +1 -1
  483. package/es/steps/steps.vue.d.ts +1 -1
  484. package/es/steps/steps.vue_vue_type_script_setup_true_lang.js +1 -1
  485. package/es/style/theme/z-index.js +1 -1
  486. package/es/switch/switch.vue_vue_type_script_setup_true_lang.js +3 -3
  487. package/es/table/index.d.ts +17 -17
  488. package/es/table/index.js +1 -1
  489. package/es/table/interface.d.ts +2 -0
  490. package/es/table/table-column.d.ts +1 -1
  491. package/es/table/table-operation-td.d.ts +12 -12
  492. package/es/table/table-operation-td.js +1 -1
  493. package/es/table/table-operation-th.js +1 -1
  494. package/es/table/table-td.d.ts +2 -2
  495. package/es/table/table-td.js +1 -1
  496. package/es/table/table-th.js +3 -2
  497. package/es/table/table.d.ts +5 -5
  498. package/es/table/table.js +5 -3
  499. package/es/table/utils.js +2 -2
  500. package/es/tabs/index.d.ts +12 -12
  501. package/es/tabs/index.js +1 -1
  502. package/es/tabs/tab-pane.vue_vue_type_script_setup_true_lang.js +2 -2
  503. package/es/tabs/tabs-nav-ink.vue_vue_type_script_setup_true_lang.js +1 -1
  504. package/es/tabs/tabs-nav.d.ts +1 -1
  505. package/es/tabs/tabs-nav.js +2 -1
  506. package/es/tabs/tabs-tab.vue_vue_type_script_setup_true_lang.js +1 -1
  507. package/es/tabs/tabs.d.ts +4 -4
  508. package/es/tag/index.d.ts +6 -6
  509. package/es/tag/tag.vue.d.ts +2 -2
  510. package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +1 -1
  511. package/es/tag-group/tag-group.vue_vue_type_script_setup_true_lang.js +3 -4
  512. package/es/textarea/index.d.ts +38 -8
  513. package/es/textarea/style/index.css +6 -0
  514. package/es/textarea/style/index.scss +8 -0
  515. package/es/textarea/textarea.vue.d.ts +21 -3
  516. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +37 -4
  517. package/es/time-picker/index.d.ts +45 -6
  518. package/es/time-picker/interface.d.ts +2 -1
  519. package/es/time-picker/panel.vue_vue_type_script_setup_true_lang.js +1 -1
  520. package/es/time-picker/range-panel.js +58 -0
  521. package/es/time-picker/time-column.vue_vue_type_script_setup_true_lang.js +1 -1
  522. package/es/time-picker/time-picker.vue.d.ts +27 -2
  523. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +39 -4
  524. package/es/timeline/index.d.ts +6 -6
  525. package/es/timeline/index.js +1 -1
  526. package/es/timeline/item.vue_vue_type_script_setup_true_lang.js +5 -4
  527. package/es/timeline/timeline.d.ts +3 -3
  528. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +3 -3
  529. package/es/tooltip/index.d.ts +6 -6
  530. package/es/tooltip/interface.d.ts +2 -0
  531. package/es/tooltip/tooltip.vue.d.ts +2 -2
  532. package/es/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js +5 -2
  533. package/es/tour/index.d.ts +18 -3
  534. package/es/tour/tour.vue.d.ts +11 -1
  535. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +108 -145
  536. package/es/tour/types.d.ts +3 -0
  537. package/es/transfer/index.d.ts +3 -3
  538. package/es/transfer/transfer-view.vue_vue_type_script_setup_true_lang.js +1 -1
  539. package/es/transfer/transfer.vue.d.ts +1 -1
  540. package/es/transfer/transfer.vue_vue_type_script_setup_true_lang.js +3 -2
  541. package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +5 -8
  542. package/es/tree/expand-transition.vue_vue_type_script_setup_true_lang.js +1 -1
  543. package/es/tree/node.js +1 -1
  544. package/es/tree/transition-node-list.vue_vue_type_script_setup_true_lang.js +1 -1
  545. package/es/tree/tree.vue.d.ts +4 -4
  546. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +3 -3
  547. package/es/tree/utils/tree-data.js +1 -1
  548. package/es/tree-select/hooks/use-selected-state.js +1 -1
  549. package/es/tree-select/interface.d.ts +2 -1
  550. package/es/tree-select/panel.js +1 -1
  551. package/es/tree-select/tree-select.vue.d.ts +32 -7
  552. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +165 -136
  553. package/es/trigger/index.d.ts +25 -15
  554. package/es/trigger/interface.d.ts +2 -0
  555. package/es/trigger/trigger.d.ts +12 -5
  556. package/es/trigger/trigger.js +130 -52
  557. package/es/trigger/utils.d.ts +0 -47
  558. package/es/trigger/utils.js +1 -268
  559. package/es/typography/base.d.ts +4 -4
  560. package/es/typography/base.js +1 -1
  561. package/es/typography/edit-content.vue.d.ts +2 -2
  562. package/es/typography/edit-content.vue_vue_type_script_setup_true_lang.js +1 -1
  563. package/es/typography/index.js +1 -1
  564. package/es/typography/operations.vue_vue_type_script_setup_true_lang.js +1 -1
  565. package/es/typography/typography.vue_vue_type_script_setup_true_lang.js +1 -1
  566. package/es/upload/index.d.ts +6 -6
  567. package/es/upload/upload-button.d.ts +1 -1
  568. package/es/upload/upload.d.ts +2 -2
  569. package/es/upload/upload.js +2 -2
  570. package/es/verification-code/index.d.ts +3 -3
  571. package/es/verification-code/verification-code.d.ts +1 -1
  572. package/es/watermark/hooks/use-mutation-observer.js +2 -2
  573. package/es/watermark/index.d.ts +3 -3
  574. package/es/watermark/utils/index.js +1 -1
  575. package/es/watermark/watermark.d.ts +1 -1
  576. package/es/watermark/watermark.js +1 -1
  577. package/json/vetur-attributes.json +242 -0
  578. package/json/vetur-tags.json +87 -4
  579. package/json/web-types.json +559 -2
  580. package/package.json +23 -13
  581. package/es/_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/toPropertyKey.js +0 -9
@@ -0,0 +1,133 @@
1
+ import { configProviderInjectionKey } from "../config-provider/context.js";
2
+ import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
3
+ import { getPrefixCls } from "../_utils/global-config.js";
4
+ import _objectWithoutProperties from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectWithoutProperties.js";
5
+ import Tag from "../tag/index.js";
6
+ import { JSON_FORM_COMPONENT_TYPES } from "../json-form/types.js";
7
+ import { resolveJsonFormComponents, shouldStretchJsonFormControl } from "../json-form/utils.js";
8
+ import { computed, createBlock, createElementBlock, createTextVNode, defineComponent, inject, mergeProps, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
9
+ //#region components/rich-text-editor/rich-text-node-renderer.vue?vue&type=script&setup=true&lang.ts
10
+ var _excluded = [
11
+ "class",
12
+ "disabled",
13
+ "readonly"
14
+ ];
15
+ var _excluded2 = ["class", "label"];
16
+ var rich_text_node_renderer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "RichTextNodeRenderer" }), {}, {
17
+ __name: "rich-text-node-renderer",
18
+ props: {
19
+ node: {},
20
+ disabled: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ readonly: {
25
+ type: Boolean,
26
+ default: false
27
+ }
28
+ },
29
+ emits: ["update", "remove"],
30
+ setup(__props, { emit: __emit }) {
31
+ const emit = __emit;
32
+ const prefixCls = getPrefixCls("rich-text-editor");
33
+ const configProvider = inject(configProviderInjectionKey, void 0);
34
+ const resolvedComponents = computed(() => {
35
+ var _configProvider$jsonF;
36
+ return resolveJsonFormComponents(configProvider === null || configProvider === void 0 || (_configProvider$jsonF = configProvider.jsonForm) === null || _configProvider$jsonF === void 0 ? void 0 : _configProvider$jsonF.components);
37
+ });
38
+ const resolvedComponent = computed(() => resolvedComponents.value[__props.node.name]);
39
+ const componentSupportsFitWidth = computed(() => {
40
+ var _resolvedComponent$va;
41
+ const componentProps = (_resolvedComponent$va = resolvedComponent.value) === null || _resolvedComponent$va === void 0 ? void 0 : _resolvedComponent$va.props;
42
+ return Array.isArray(componentProps) ? componentProps.includes("fitWidth") : Boolean(componentProps && "fitWidth" in componentProps);
43
+ });
44
+ const componentFitWidth = computed(() => {
45
+ var _props$node$props;
46
+ return componentSupportsFitWidth.value && ((_props$node$props = __props.node.props) === null || _props$node$props === void 0 ? void 0 : _props$node$props.fitWidth) !== false;
47
+ });
48
+ const componentDisabled = computed(() => {
49
+ var _props$node$props2;
50
+ return __props.disabled || __props.readonly || ((_props$node$props2 = __props.node.props) === null || _props$node$props2 === void 0 ? void 0 : _props$node$props2.disabled) === true;
51
+ });
52
+ const componentClass = computed(() => [
53
+ `${prefixCls}-component-control`,
54
+ `${prefixCls}-component-${__props.node.name}`,
55
+ { [`${prefixCls}-component-stretch`]: (shouldStretchJsonFormControl(__props.node.name) || __props.node.name === JSON_FORM_COMPONENT_TYPES.slider) && !componentFitWidth.value }
56
+ ]);
57
+ const componentUsesDefaultContent = computed(() => [
58
+ JSON_FORM_COMPONENT_TYPES.checkbox,
59
+ JSON_FORM_COMPONENT_TYPES.radio,
60
+ JSON_FORM_COMPONENT_TYPES.row
61
+ ].includes(__props.node.name));
62
+ const componentProps = computed(() => {
63
+ var _props$node$props3;
64
+ const _ref = (_props$node$props3 = __props.node.props) !== null && _props$node$props3 !== void 0 ? _props$node$props3 : {}, { class: _class, disabled: _disabled, readonly: _readonly } = _ref;
65
+ return _objectSpread2(_objectSpread2({}, _objectWithoutProperties(_ref, _excluded)), componentSupportsFitWidth.value ? { fitWidth: componentFitWidth.value } : {});
66
+ });
67
+ const componentLabel = computed(() => {
68
+ var _ref2, _props$node$props$lab, _props$node$props4;
69
+ const label = (_ref2 = (_props$node$props$lab = (_props$node$props4 = __props.node.props) === null || _props$node$props4 === void 0 ? void 0 : _props$node$props4.label) !== null && _props$node$props$lab !== void 0 ? _props$node$props$lab : __props.node.textValue) !== null && _ref2 !== void 0 ? _ref2 : __props.node.value;
70
+ return ["string", "number"].includes(typeof label) ? String(label) : "";
71
+ });
72
+ const tagComponentProps = computed(() => {
73
+ var _props$node$props5;
74
+ const _ref3 = (_props$node$props5 = __props.node.props) !== null && _props$node$props5 !== void 0 ? _props$node$props5 : {}, { class: _class, label: _label } = _ref3;
75
+ return _objectWithoutProperties(_ref3, _excluded2);
76
+ });
77
+ return (_ctx, _cache) => {
78
+ var _props$node$props6, _props$node$props7, _props$node$props9, _props$node$props10;
79
+ return __props.node.name === "tag" ? (openBlock(), createBlock(unref(Tag), mergeProps({ key: 0 }, tagComponentProps.value, {
80
+ closable: Boolean((_props$node$props6 = __props.node.props) === null || _props$node$props6 === void 0 ? void 0 : _props$node$props6.closable) && !__props.disabled && !__props.readonly,
81
+ class: [
82
+ `${unref(prefixCls)}-component-control`,
83
+ `${unref(prefixCls)}-component-tag`,
84
+ (_props$node$props7 = __props.node.props) === null || _props$node$props7 === void 0 ? void 0 : _props$node$props7.class
85
+ ],
86
+ onClose: _cache[0] || (_cache[0] = ($event) => emit("remove"))
87
+ }), {
88
+ default: withCtx(() => {
89
+ var _ref4, _props$node$props$lab2, _props$node$props8;
90
+ return [createTextVNode(toDisplayString((_ref4 = (_props$node$props$lab2 = (_props$node$props8 = __props.node.props) === null || _props$node$props8 === void 0 ? void 0 : _props$node$props8.label) !== null && _props$node$props$lab2 !== void 0 ? _props$node$props$lab2 : __props.node.textValue) !== null && _ref4 !== void 0 ? _ref4 : __props.node.value), 1)];
91
+ }),
92
+ _: 1
93
+ }, 16, ["closable", "class"])) : __props.node.name === unref(JSON_FORM_COMPONENT_TYPES).noFormItem ? (openBlock(), createElementBlock("span", {
94
+ key: 1,
95
+ class: normalizeClass([
96
+ `${unref(prefixCls)}-component-control`,
97
+ `${unref(prefixCls)}-component-noFormItem`,
98
+ `${unref(prefixCls)}-component-fallback`
99
+ ])
100
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(componentLabel.value), 1)])], 2)) : resolvedComponent.value ? (openBlock(), createElementBlock("span", {
101
+ key: 2,
102
+ class: normalizeClass(componentClass.value)
103
+ }, [componentUsesDefaultContent.value ? (openBlock(), createBlock(resolveDynamicComponent(resolvedComponent.value), mergeProps({ key: 0 }, componentProps.value, {
104
+ "model-value": __props.node.value,
105
+ disabled: componentDisabled.value,
106
+ readonly: __props.readonly,
107
+ class: (_props$node$props9 = __props.node.props) === null || _props$node$props9 === void 0 ? void 0 : _props$node$props9.class,
108
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => emit("update", $event))
109
+ }), {
110
+ default: withCtx(() => [createTextVNode(toDisplayString(componentLabel.value), 1)]),
111
+ _: 1
112
+ }, 16, [
113
+ "model-value",
114
+ "disabled",
115
+ "readonly",
116
+ "class"
117
+ ])) : (openBlock(), createBlock(resolveDynamicComponent(resolvedComponent.value), mergeProps({ key: 1 }, componentProps.value, {
118
+ "model-value": __props.node.value,
119
+ disabled: componentDisabled.value,
120
+ readonly: __props.readonly,
121
+ class: (_props$node$props10 = __props.node.props) === null || _props$node$props10 === void 0 ? void 0 : _props$node$props10.class,
122
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => emit("update", $event))
123
+ }), null, 16, [
124
+ "model-value",
125
+ "disabled",
126
+ "readonly",
127
+ "class"
128
+ ]))], 2)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 3);
129
+ };
130
+ }
131
+ }));
132
+ //#endregion
133
+ export { rich_text_node_renderer_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,2 @@
1
+ import "../../style/index.css";
2
+ import "./index.css";
@@ -0,0 +1,164 @@
1
+ /******** borderSize *******/
2
+ /******** borderStyle *******/
3
+ /******** radius *******/
4
+ /******** shadow distance *******/
5
+ /******** size *******/
6
+ /******** spacing *******/
7
+ /******** shadow *******/
8
+ /******** opacity *******/
9
+ /******** fontSize *******/
10
+ /******** fontWeight ********/
11
+ /******** Primary *******/
12
+ /******** success *******/
13
+ /******** warning *******/
14
+ /******** danger *******/
15
+ /******** link *******/
16
+ /******** radius *******/
17
+ /********* icon hover *********/
18
+ .sd-rich-text-editor {
19
+ position: relative;
20
+ box-sizing: border-box;
21
+ width: 100%;
22
+ color: var(--sd-color-neutral-10);
23
+ font-size: 14px;
24
+ line-height: 1.5715;
25
+ background: #fff;
26
+ border: 1px solid var(--sd-color-neutral-3);
27
+ border-radius: var(--sd-border-radius-medium);
28
+ transition: border-color 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), box-shadow 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
29
+ }
30
+ .sd-rich-text-editor-focusable:hover {
31
+ border-color: rgb(var(--sd-primary-5));
32
+ }
33
+ .sd-rich-text-editor:focus-within {
34
+ border-color: rgb(var(--sd-primary-6));
35
+ box-shadow: 0 0 0 2px color-mix(in srgb, rgb(var(--sd-primary-6)) 15%, transparent);
36
+ }
37
+ .sd-rich-text-editor-content {
38
+ box-sizing: border-box;
39
+ width: 100%;
40
+ min-height: calc(14px * 1.5715 + 24px);
41
+ padding-block: 12px;
42
+ padding-inline: 16px;
43
+ white-space: pre-wrap;
44
+ overflow-wrap: anywhere;
45
+ outline: none;
46
+ caret-color: rgb(var(--sd-primary-6));
47
+ }
48
+ .sd-rich-text-editor-placeholder {
49
+ position: absolute;
50
+ inset-block-start: 12px;
51
+ inset-inline-start: 16px;
52
+ overflow: hidden;
53
+ color: var(--sd-color-neutral-4);
54
+ white-space: nowrap;
55
+ text-overflow: ellipsis;
56
+ pointer-events: none;
57
+ }
58
+ .sd-rich-text-editor-disabled {
59
+ color: var(--sd-color-neutral-4);
60
+ background: var(--sd-color-neutral-2);
61
+ cursor: not-allowed;
62
+ }
63
+ .sd-rich-text-editor-readonly {
64
+ cursor: default;
65
+ }
66
+ .sd-rich-text-editor-paragraph {
67
+ margin: 0;
68
+ }
69
+ .sd-rich-text-editor-heading-h1, .sd-rich-text-editor-heading-h2, .sd-rich-text-editor-heading-h3, .sd-rich-text-editor-heading-h4, .sd-rich-text-editor-heading-h5, .sd-rich-text-editor-heading-h6 {
70
+ margin-block: 0 12px;
71
+ }
72
+ .sd-rich-text-editor-quote {
73
+ margin-block: 12px;
74
+ margin-inline: 0;
75
+ padding-inline-start: 16px;
76
+ border-inline-start: 3px solid var(--sd-color-neutral-4);
77
+ }
78
+ .sd-rich-text-editor-list-ordered, .sd-rich-text-editor-list-unordered {
79
+ margin-block: 12px;
80
+ padding-inline-start: 32px;
81
+ }
82
+ .sd-rich-text-editor-list-item-nested {
83
+ list-style: none;
84
+ }
85
+ .sd-rich-text-editor-link {
86
+ color: rgb(var(--sd-link-6));
87
+ text-decoration: underline;
88
+ }
89
+ .sd-rich-text-editor-code {
90
+ display: block;
91
+ padding: 16px;
92
+ overflow-x: auto;
93
+ font-family: consolas, menlo;
94
+ white-space: pre;
95
+ background: var(--sd-color-neutral-2);
96
+ border-radius: var(--sd-border-radius-medium);
97
+ }
98
+ .sd-rich-text-editor-text-bold {
99
+ font-weight: 600;
100
+ }
101
+ .sd-rich-text-editor-text-italic {
102
+ font-style: italic;
103
+ }
104
+ .sd-rich-text-editor-text-underline {
105
+ text-decoration: underline;
106
+ }
107
+ .sd-rich-text-editor-text-strikethrough {
108
+ text-decoration: line-through;
109
+ }
110
+ .sd-rich-text-editor-text-code {
111
+ padding-inline: 4px;
112
+ font-family: consolas, menlo;
113
+ background: var(--sd-color-neutral-2);
114
+ border-radius: var(--sd-border-radius-medium);
115
+ }
116
+ .sd-rich-text-editor-component {
117
+ display: inline-flex;
118
+ gap: 4px;
119
+ align-items: center;
120
+ margin-inline: 4px;
121
+ vertical-align: middle;
122
+ }
123
+ .sd-rich-text-editor-component-selected {
124
+ border-radius: var(--sd-border-radius-medium);
125
+ outline: 2px solid rgb(var(--sd-primary-6));
126
+ outline-offset: 1px;
127
+ }
128
+ .sd-rich-text-editor-component-input > .sd-input-wrapper, .sd-rich-text-editor-component-select > .sd-select-view {
129
+ display: inline-flex;
130
+ background: color-mix(in srgb, rgb(var(--sd-primary-6)) 6%, transparent);
131
+ }
132
+ .sd-rich-text-editor-component-control {
133
+ max-width: 100%;
134
+ vertical-align: middle;
135
+ }
136
+ .sd-rich-text-editor-component-stretch {
137
+ display: inline-flex;
138
+ width: 12em;
139
+ max-width: none;
140
+ }
141
+ .sd-rich-text-editor-component-stretch > * {
142
+ box-sizing: border-box;
143
+ width: 100%;
144
+ }
145
+ .sd-rich-text-editor-component-rangePicker {
146
+ width: 22em;
147
+ }
148
+ .sd-rich-text-editor-component-tag {
149
+ margin: 0;
150
+ }
151
+ .sd-rich-text-editor-component-fallback {
152
+ display: inline-flex;
153
+ align-items: center;
154
+ min-height: 1.5em;
155
+ padding-inline: 4px;
156
+ background: color-mix(in srgb, rgb(var(--sd-primary-6)) 6%, transparent);
157
+ border-radius: var(--sd-border-radius-medium);
158
+ }
159
+
160
+ @media (prefers-reduced-motion: reduce) {
161
+ .sd-rich-text-editor {
162
+ transition-duration: 0.01ms;
163
+ }
164
+ }
@@ -0,0 +1,2 @@
1
+ import '../../style/index.scss';
2
+ import './index.scss';
@@ -0,0 +1,2 @@
1
+ import "../../style/index.scss";
2
+ import "./index.scss";
@@ -0,0 +1,193 @@
1
+ @use 'sass:string';
2
+ @use '@style/theme/index.scss' as theme;
3
+ @use './token.scss' as *;
4
+
5
+ $rich-text-editor-prefix-cls: string.unquote('#{theme.$prefix}-rich-text-editor');
6
+
7
+ .#{$rich-text-editor-prefix-cls} {
8
+ position: relative;
9
+ box-sizing: border-box;
10
+ width: 100%;
11
+ color: $rich-text-editor-color-text;
12
+ font-size: $rich-text-editor-font-size;
13
+ line-height: $rich-text-editor-line-height;
14
+ background: $rich-text-editor-color-background;
15
+ border: $rich-text-editor-border-width solid $rich-text-editor-color-border;
16
+ border-radius: $rich-text-editor-border-radius;
17
+ transition:
18
+ border-color $rich-text-editor-motion-duration $rich-text-editor-motion-easing,
19
+ box-shadow $rich-text-editor-motion-duration $rich-text-editor-motion-easing;
20
+
21
+ &-focusable:hover {
22
+ border-color: $rich-text-editor-color-border-hover;
23
+ }
24
+
25
+ &:focus-within {
26
+ border-color: $rich-text-editor-color-border-focus;
27
+ box-shadow: $rich-text-editor-focus-shadow;
28
+ }
29
+
30
+ &-content {
31
+ box-sizing: border-box;
32
+ width: 100%;
33
+ min-height: calc(
34
+ #{$rich-text-editor-font-size} * #{$rich-text-editor-line-height} +
35
+ #{$rich-text-editor-padding-block * 2}
36
+ );
37
+ padding-block: $rich-text-editor-padding-block;
38
+ padding-inline: $rich-text-editor-padding-inline;
39
+ white-space: pre-wrap;
40
+ overflow-wrap: anywhere;
41
+ outline: none;
42
+ caret-color: $rich-text-editor-color-border-focus;
43
+ }
44
+
45
+ &-placeholder {
46
+ position: absolute;
47
+ inset-block-start: $rich-text-editor-padding-block;
48
+ inset-inline-start: $rich-text-editor-padding-inline;
49
+ overflow: hidden;
50
+ color: $rich-text-editor-color-placeholder;
51
+ white-space: nowrap;
52
+ text-overflow: ellipsis;
53
+ pointer-events: none;
54
+ }
55
+
56
+ &-disabled {
57
+ color: $rich-text-editor-color-text-disabled;
58
+ background: $rich-text-editor-color-background-disabled;
59
+ cursor: not-allowed;
60
+ }
61
+
62
+ &-readonly {
63
+ cursor: default;
64
+ }
65
+
66
+ &-paragraph {
67
+ margin: 0;
68
+ }
69
+
70
+ &-heading-h1,
71
+ &-heading-h2,
72
+ &-heading-h3,
73
+ &-heading-h4,
74
+ &-heading-h5,
75
+ &-heading-h6 {
76
+ margin-block: 0 $rich-text-editor-padding-block;
77
+ }
78
+
79
+ &-quote {
80
+ margin-block: $rich-text-editor-padding-block;
81
+ margin-inline: 0;
82
+ padding-inline-start: $rich-text-editor-padding-inline;
83
+ border-inline-start: $rich-text-editor-border-width * 3 solid
84
+ $rich-text-editor-color-quote-border;
85
+ }
86
+
87
+ &-list-ordered,
88
+ &-list-unordered {
89
+ margin-block: $rich-text-editor-padding-block;
90
+ padding-inline-start: $rich-text-editor-padding-inline * 2;
91
+ }
92
+
93
+ &-list-item-nested {
94
+ list-style: none;
95
+ }
96
+
97
+ &-link {
98
+ color: $rich-text-editor-color-link;
99
+ text-decoration: underline;
100
+ }
101
+
102
+ &-code {
103
+ display: block;
104
+ padding: $rich-text-editor-padding-inline;
105
+ overflow-x: auto;
106
+ font-family: theme.$code-family;
107
+ white-space: pre;
108
+ background: $rich-text-editor-color-code-background;
109
+ border-radius: $rich-text-editor-border-radius;
110
+ }
111
+
112
+ &-text-bold {
113
+ font-weight: theme.$font-weight-600;
114
+ }
115
+
116
+ &-text-italic {
117
+ font-style: italic;
118
+ }
119
+
120
+ &-text-underline {
121
+ text-decoration: underline;
122
+ }
123
+
124
+ &-text-strikethrough {
125
+ text-decoration: line-through;
126
+ }
127
+
128
+ &-text-code {
129
+ padding-inline: $rich-text-editor-code-padding;
130
+ font-family: theme.$code-family;
131
+ background: $rich-text-editor-color-code-background;
132
+ border-radius: $rich-text-editor-border-radius;
133
+ }
134
+
135
+ &-component {
136
+ display: inline-flex;
137
+ gap: $rich-text-editor-component-gap;
138
+ align-items: center;
139
+ margin-inline: $rich-text-editor-component-gap;
140
+ vertical-align: middle;
141
+ }
142
+
143
+ &-component-selected {
144
+ border-radius: $rich-text-editor-border-radius;
145
+ outline: 2px solid $rich-text-editor-color-border-focus;
146
+ outline-offset: 1px;
147
+ }
148
+
149
+ &-component-input > .sd-input-wrapper,
150
+ &-component-select > .sd-select-view {
151
+ display: inline-flex;
152
+ background: $rich-text-editor-color-component-background;
153
+ }
154
+
155
+ &-component-control {
156
+ max-width: 100%;
157
+ vertical-align: middle;
158
+ }
159
+
160
+ &-component-stretch {
161
+ display: inline-flex;
162
+ width: $rich-text-editor-component-inline-width;
163
+ max-width: none;
164
+
165
+ > * {
166
+ box-sizing: border-box;
167
+ width: 100%;
168
+ }
169
+ }
170
+
171
+ &-component-rangePicker {
172
+ width: $rich-text-editor-component-range-width;
173
+ }
174
+
175
+ &-component-tag {
176
+ margin: 0;
177
+ }
178
+
179
+ &-component-fallback {
180
+ display: inline-flex;
181
+ align-items: center;
182
+ min-height: 1.5em;
183
+ padding-inline: $rich-text-editor-code-padding;
184
+ background: $rich-text-editor-color-component-background;
185
+ border-radius: $rich-text-editor-border-radius;
186
+ }
187
+ }
188
+
189
+ @media (prefers-reduced-motion: reduce) {
190
+ .#{$rich-text-editor-prefix-cls} {
191
+ transition-duration: 0.01ms;
192
+ }
193
+ }
@@ -0,0 +1,36 @@
1
+ @use '@style/theme/index.scss' as global;
2
+
3
+ @forward '@style/theme/index.scss';
4
+
5
+ $rich-text-editor-font-size: global.$font-size-body-3;
6
+ $rich-text-editor-line-height: global.$line-height-base;
7
+ $rich-text-editor-border-width: global.$border-1;
8
+ $rich-text-editor-border-radius: global.$radius-medium;
9
+ $rich-text-editor-padding-block: global.$spacing-6;
10
+ $rich-text-editor-padding-inline: global.$spacing-7;
11
+ $rich-text-editor-component-gap: global.$spacing-2;
12
+ $rich-text-editor-component-inline-width: 12em;
13
+ $rich-text-editor-component-range-width: 22em;
14
+ $rich-text-editor-code-padding: global.$spacing-2;
15
+
16
+ $rich-text-editor-color-text: global.$color-text-1;
17
+ $rich-text-editor-color-text-disabled: global.$color-text-4;
18
+ $rich-text-editor-color-placeholder: global.$color-text-4;
19
+ $rich-text-editor-color-background: global.$color-bg-2;
20
+ $rich-text-editor-color-background-disabled: global.$color-fill-2;
21
+ $rich-text-editor-color-border: global.$color-border-2;
22
+ $rich-text-editor-color-border-hover: global.$color-primary-5;
23
+ $rich-text-editor-color-border-focus: global.$color-primary-6;
24
+ $rich-text-editor-color-link: global.$color-link-6;
25
+ $rich-text-editor-color-code-background: global.$color-fill-2;
26
+ $rich-text-editor-color-quote-border: global.$color-border-3;
27
+ $rich-text-editor-color-component-background: color-mix(
28
+ in srgb,
29
+ #{global.$color-primary-6} 6%,
30
+ transparent
31
+ );
32
+
33
+ $rich-text-editor-focus-shadow: 0 0 0 2px
34
+ color-mix(in srgb, #{global.$color-primary-6} 15%, transparent);
35
+ $rich-text-editor-motion-duration: global.$transition-duration-2;
36
+ $rich-text-editor-motion-easing: global.$transition-timing-function-standard;
@@ -0,0 +1,148 @@
1
+ import type { Transformer } from '@lexical/markdown';
2
+ import type { CommandListener, CommandListenerPriority, CreateEditorArgs, EditorSetOptions, EditorState, EditorUpdateOptions, Klass, LexicalCommand, LexicalEditor, LexicalNode, MutationListener, NodeKey, SerializedEditorState, TextFormatType, Transform, UpdateListener } from 'lexical';
3
+ import type { Except, JsonObject, JsonValue, ReadonlyDeep } from 'type-fest';
4
+ import type { CSSProperties, VNodeChild } from 'vue';
5
+ import type { SelectOption } from '../select';
6
+ import type { TagColor } from '../tag';
7
+ import type { RichTextEditorBuiltInNodeName, RichTextEditorJsonFormNodeName } from './built-in-components';
8
+ export type RichTextEditorValue = SerializedEditorState;
9
+ export type RichTextEditorSemanticType = 'root' | 'content' | 'placeholder' | 'component';
10
+ export interface RichTextEditorFocusOptions {
11
+ defaultSelection?: 'rootStart' | 'rootEnd';
12
+ selection?: 'start' | 'end' | 'all';
13
+ preventScroll?: boolean;
14
+ }
15
+ export interface RichTextEditorMutationListenerOptions {
16
+ skipInitialization?: boolean;
17
+ }
18
+ export type RichTextEditorConfig = Except<CreateEditorArgs, 'editable' | 'editorState'>;
19
+ export interface RichTextEditorAutoSize {
20
+ minRows?: number;
21
+ maxRows?: number;
22
+ }
23
+ export interface RichTextEditorComponentNodeData {
24
+ key: string;
25
+ name: string;
26
+ value?: JsonValue;
27
+ props?: JsonObject;
28
+ textValue?: string;
29
+ }
30
+ export type RichTextEditorComponentNodeSnapshot = ReadonlyDeep<RichTextEditorComponentNodeData>;
31
+ export type RichTextEditorContentItem = string | RichTextEditorComponentNodeData;
32
+ export type RichTextEditorContentSnapshot = string | RichTextEditorComponentNodeSnapshot;
33
+ export interface RichTextEditorInsertOptions extends EditorUpdateOptions {
34
+ position?: 'start' | 'end' | 'cursor';
35
+ replaceCharacters?: string;
36
+ }
37
+ export interface RichTextEditorInputNodeData extends RichTextEditorComponentNodeData {
38
+ name: 'input';
39
+ value?: string | number;
40
+ props?: {
41
+ placeholder?: string;
42
+ } & JsonObject;
43
+ }
44
+ export interface RichTextEditorSelectNodeData extends RichTextEditorComponentNodeData {
45
+ name: 'select';
46
+ value?: JsonValue;
47
+ props: {
48
+ options: SelectOption[];
49
+ placeholder?: string;
50
+ } & JsonObject;
51
+ }
52
+ export interface RichTextEditorJsonFormNodeData extends RichTextEditorComponentNodeData {
53
+ name: RichTextEditorJsonFormNodeName;
54
+ }
55
+ export interface RichTextEditorTagNodeData extends RichTextEditorComponentNodeData {
56
+ name: 'tag';
57
+ value?: JsonValue;
58
+ props?: {
59
+ label?: string;
60
+ color?: TagColor | string;
61
+ closable?: boolean;
62
+ } & JsonObject;
63
+ }
64
+ export type RichTextEditorBuiltInNodeData = RichTextEditorJsonFormNodeData | RichTextEditorTagNodeData;
65
+ export type { RichTextEditorBuiltInNodeName, RichTextEditorJsonFormNodeName };
66
+ export interface RichTextEditorNodeRenderContext {
67
+ nodeKey: NodeKey;
68
+ node: RichTextEditorComponentNodeSnapshot;
69
+ disabled: boolean;
70
+ readonly: boolean;
71
+ update: (value: JsonValue) => void;
72
+ remove: () => void;
73
+ editor: LexicalEditor;
74
+ }
75
+ export interface RichTextEditorPluginContext {
76
+ rootElement: HTMLElement;
77
+ }
78
+ export type RichTextEditorPlugin = (editor: LexicalEditor, context: RichTextEditorPluginContext) => undefined | (() => void);
79
+ export interface RichTextEditorChangeContext {
80
+ editor: LexicalEditor;
81
+ editorState: EditorState;
82
+ tags: ReadonlySet<string>;
83
+ }
84
+ export interface RichTextEditorProps {
85
+ modelValue?: RichTextEditorValue;
86
+ defaultValue?: RichTextEditorValue | string | readonly RichTextEditorContentItem[];
87
+ editorConfig?: RichTextEditorConfig;
88
+ plugins?: readonly RichTextEditorPlugin[];
89
+ transformers?: readonly Transformer[];
90
+ placeholder?: string;
91
+ disabled?: boolean;
92
+ readonly?: boolean;
93
+ history?: boolean;
94
+ historyDelay?: number;
95
+ historyMaxDepth?: number | null;
96
+ autoSize?: boolean | RichTextEditorAutoSize;
97
+ spellcheck?: boolean;
98
+ ariaLabel?: string;
99
+ classNames?: Partial<Record<RichTextEditorSemanticType, string>>;
100
+ styles?: Partial<Record<RichTextEditorSemanticType, CSSProperties>>;
101
+ }
102
+ export interface RichTextEditorEmits {
103
+ 'update:modelValue': [value: RichTextEditorValue];
104
+ 'change': [value: RichTextEditorValue, context: RichTextEditorChangeContext];
105
+ 'update': [context: RichTextEditorChangeContext];
106
+ 'ready': [editor: LexicalEditor];
107
+ 'focus': [event: FocusEvent];
108
+ 'blur': [event: FocusEvent];
109
+ 'error': [error: Error];
110
+ }
111
+ export interface RichTextEditorSlots {
112
+ placeholder?: () => VNodeChild;
113
+ [name: `node-${string}`]: ((context: RichTextEditorNodeRenderContext) => VNodeChild) | undefined;
114
+ }
115
+ export interface RichTextEditorRef {
116
+ readonly editor: LexicalEditor | null;
117
+ readonly editorState: EditorState | null;
118
+ readonly rootElement: HTMLDivElement | null;
119
+ readonly canUndo: boolean;
120
+ readonly canRedo: boolean;
121
+ focus: (callback?: () => void, options?: RichTextEditorFocusOptions) => void;
122
+ blur: () => void;
123
+ clear: () => void;
124
+ undo: () => boolean;
125
+ redo: () => boolean;
126
+ getJSON: () => RichTextEditorValue | undefined;
127
+ setJSON: (value: RichTextEditorValue | string, options?: EditorSetOptions) => void;
128
+ getContent: () => RichTextEditorContentSnapshot[];
129
+ setContent: (content: readonly RichTextEditorContentItem[], options?: EditorUpdateOptions) => void;
130
+ insertContent: (content: readonly RichTextEditorContentItem[], options?: RichTextEditorInsertOptions) => void;
131
+ getText: () => string;
132
+ getHTML: () => string;
133
+ setHTML: (html: string, options?: EditorUpdateOptions) => void;
134
+ getMarkdown: (transformers?: readonly Transformer[]) => string;
135
+ setMarkdown: (markdown: string, transformers?: readonly Transformer[], options?: EditorUpdateOptions) => void;
136
+ insertText: (text: string, options?: RichTextEditorInsertOptions) => void;
137
+ insertComponent: (data: RichTextEditorComponentNodeData, options?: RichTextEditorInsertOptions) => void;
138
+ updateComponent: (nodeKey: NodeKey, value: JsonValue, options?: EditorUpdateOptions) => void;
139
+ removeComponent: (nodeKey: NodeKey, options?: EditorUpdateOptions) => void;
140
+ formatText: (format: TextFormatType) => boolean;
141
+ read: <T>(callback: () => T) => T | undefined;
142
+ update: (callback: () => void, options?: EditorUpdateOptions) => void;
143
+ dispatchCommand: <T>(command: LexicalCommand<T>, payload: T) => boolean;
144
+ registerCommand: <T>(command: LexicalCommand<T>, listener: CommandListener<T>, priority: CommandListenerPriority) => () => void;
145
+ registerUpdateListener: (listener: UpdateListener) => () => void;
146
+ registerMutationListener: (klass: Klass<LexicalNode>, listener: MutationListener, options?: RichTextEditorMutationListenerOptions) => () => void;
147
+ registerNodeTransform: <T extends LexicalNode>(klass: Klass<T>, listener: Transform<T>) => () => void;
148
+ }