@sdata/web-vue 3.13.0 → 3.15.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 (300) hide show
  1. package/dist/sd.css +167 -114
  2. package/dist/sd.min.css +2 -2
  3. package/es/_components/input-label/input-label.d.ts +2 -0
  4. package/es/_components/input-label/input-label.js +4 -2
  5. package/es/_components/input-label/style/index.css +2 -2
  6. package/es/_components/picker/style/index.scss +8 -2
  7. package/es/_components/resize-observer.js +1 -1
  8. package/es/_components/resize-trigger.vue_vue_type_script_setup_true_lang.js +13 -3
  9. package/es/_components/select-view/select-view.d.ts +2 -0
  10. package/es/_components/select-view/select-view.js +7 -1
  11. package/es/_components/select-view/style/index.css +5 -5
  12. package/es/_hooks/use-focus-trap.d.ts +10 -0
  13. package/es/_hooks/use-focus-trap.js +115 -0
  14. package/es/_utils/dom.js +1 -10
  15. package/es/_utils/keyboard.d.ts +4 -0
  16. package/es/_utils/keyboard.js +21 -2
  17. package/es/alert/alert.vue.d.ts +2 -2
  18. package/es/alert/alert.vue_vue_type_script_setup_true_lang.js +16 -4
  19. package/es/alert/index.d.ts +5 -5
  20. package/es/alert/style/index.css +1 -1
  21. package/es/alert/style/index.scss +1 -1
  22. package/es/anchor/anchor-link.vue_vue_type_script_setup_true_lang.js +3 -1
  23. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +6 -1
  24. package/es/anchor/style/index.css +1 -1
  25. package/es/anchor/style/index.scss +3 -1
  26. package/es/auto-complete/auto-complete.js +8 -0
  27. package/es/avatar/avatar.vue_vue_type_script_setup_true_lang.js +8 -2
  28. package/es/avatar/style/index.css +2 -2
  29. package/es/avatar/style/index.scss +2 -2
  30. package/es/back-top/back-top.vue_vue_type_script_setup_true_lang.js +8 -1
  31. package/es/back-top/style/index.css +1 -1
  32. package/es/back-top/style/index.scss +2 -1
  33. package/es/badge/badge.js +4 -1
  34. package/es/badge/style/index.css +3 -3
  35. package/es/badge/style/index.scss +3 -3
  36. package/es/basic-crud-table/basic-crud-modal.js +5 -0
  37. package/es/basic-crud-table/basic-crud-modal.vue.d.ts +264 -0
  38. package/es/basic-crud-table/basic-crud-modal.vue_vue_type_script_setup_true_lang.js +139 -0
  39. package/es/basic-crud-table/basic-crud-table.js +5 -0
  40. package/es/basic-crud-table/basic-crud-table.vue.d.ts +935 -0
  41. package/es/basic-crud-table/basic-crud-table.vue_vue_type_script_setup_true_lang.js +510 -0
  42. package/es/basic-crud-table/index.d.ts +2722 -0
  43. package/es/basic-crud-table/index.js +9 -0
  44. package/es/basic-crud-table/style/css.js +2 -0
  45. package/es/basic-crud-table/style/index.css +42 -0
  46. package/es/basic-crud-table/style/index.d.ts +2 -0
  47. package/es/basic-crud-table/style/index.js +2 -0
  48. package/es/basic-crud-table/style/index.scss +33 -0
  49. package/es/basic-crud-table/style/token.scss +8 -0
  50. package/es/basic-crud-table/types.d.ts +69 -0
  51. package/es/breadcrumb/breadcrumb-item.js +4 -2
  52. package/es/breadcrumb/breadcrumb.js +3 -0
  53. package/es/button/button.vue_vue_type_script_setup_true_lang.js +10 -5
  54. package/es/button/style/index.css +15 -6
  55. package/es/button/style/index.scss +25 -7
  56. package/es/calendar/components/event.vue_vue_type_script_setup_true_lang.js +1 -1
  57. package/es/calendar/components/headings-bar.vue_vue_type_script_setup_true_lang.js +1 -1
  58. package/es/calendar/style/event.scss +2 -2
  59. package/es/calendar/style/index.css +2 -2
  60. package/es/card/style/index.css +3 -3
  61. package/es/card/style/index.scss +3 -3
  62. package/es/carousel/carousel-arrow.vue.d.ts +4 -4
  63. package/es/carousel/carousel-arrow.vue_vue_type_script_setup_true_lang.js +25 -5
  64. package/es/carousel/carousel-indicator.vue_vue_type_script_setup_true_lang.js +25 -4
  65. package/es/carousel/carousel-item.vue_vue_type_script_setup_true_lang.js +11 -2
  66. package/es/carousel/carousel.js +20 -1
  67. package/es/carousel/style/index.css +1 -1
  68. package/es/carousel/style/index.scss +1 -1
  69. package/es/cascader/cascader-option.js +1 -1
  70. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +13 -4
  71. package/es/cascader/style/index.css +2 -2
  72. package/es/cascader/style/index.scss +3 -1
  73. package/es/checkbox/checkbox-group.js +4 -1
  74. package/es/checkbox/checkbox.d.ts +9 -0
  75. package/es/checkbox/checkbox.js +14 -0
  76. package/es/checkbox/index.d.ts +15 -0
  77. package/es/checkbox/style/index.css +1 -1
  78. package/es/checkbox/style/index.scss +1 -1
  79. package/es/collapse/collapse-item.js +21 -3
  80. package/es/collapse/context.d.ts +1 -1
  81. package/es/color-picker/color-picker.js +6 -0
  82. package/es/color-picker/panel.js +5 -3
  83. package/es/components.d.ts +1 -0
  84. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +11 -3
  85. package/es/date-picker/hooks/use-provide-datepicker-transform.js +1 -1
  86. package/es/date-picker/panels/body.vue_vue_type_script_setup_true_lang.js +14 -1
  87. package/es/date-picker/panels/header.vue_vue_type_script_setup_true_lang.js +1 -1
  88. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +4 -3
  89. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +2 -2
  90. package/es/date-picker/style/index.css +5 -5
  91. package/es/date-picker/style/index.scss +4 -3
  92. package/es/drawer/drawer.vue.d.ts +1 -1
  93. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +31 -9
  94. package/es/drawer/index.d.ts +3 -3
  95. package/es/dropdown/dropdown-button.vue_vue_type_script_setup_true_lang.js +1 -1
  96. package/es/dropdown/dropdown-option.vue_vue_type_script_setup_true_lang.js +5 -1
  97. package/es/dropdown/dropdown-panel.vue.d.ts +9 -0
  98. package/es/dropdown/dropdown-panel.vue_vue_type_script_setup_true_lang.js +76 -3
  99. package/es/dropdown/dropdown-submenu.vue_vue_type_script_setup_true_lang.js +6 -3
  100. package/es/dropdown/dropdown.vue_vue_type_script_setup_true_lang.js +4 -2
  101. package/es/dropdown/style/index.css +1 -1
  102. package/es/dropdown/style/index.scss +3 -1
  103. package/es/file-previewer/file-previewer.vue.d.ts +1 -1
  104. package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +18 -10
  105. package/es/file-previewer/index.d.ts +3 -3
  106. package/es/form/context.d.ts +1 -0
  107. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +7 -3
  108. package/es/form/index.js +1 -1
  109. package/es/form/style/index.css +2 -2
  110. package/es/form/style/index.scss +2 -2
  111. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +1 -1
  112. package/es/grid/grid-item.vue_vue_type_script_setup_true_lang.js +1 -1
  113. package/es/grid/grid-row.vue_vue_type_script_setup_true_lang.js +1 -1
  114. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +1 -1
  115. package/es/image/image.vue_vue_type_script_setup_true_lang.js +1 -1
  116. package/es/image/preview-arrow.vue_vue_type_script_setup_true_lang.js +1 -1
  117. package/es/image/preview.vue.d.ts +1 -1
  118. package/es/image/preview.vue_vue_type_script_setup_true_lang.js +2 -2
  119. package/es/index.css +167 -114
  120. package/es/index.d.ts +2 -0
  121. package/es/index.js +55 -54
  122. package/es/index.scss +1 -0
  123. package/es/input/input.js +18 -2
  124. package/es/input/style/index.css +2 -2
  125. package/es/input/style/input.scss +4 -4
  126. package/es/input-number/input-number.js +9 -3
  127. package/es/input-number/style/index.css +3 -3
  128. package/es/input-number/style/index.scss +5 -1
  129. package/es/input-tag/index.d.ts +3 -0
  130. package/es/input-tag/input-tag.d.ts +2 -0
  131. package/es/input-tag/input-tag.js +34 -30
  132. package/es/input-tag/style/index.css +8 -8
  133. package/es/input-tag/style/index.scss +11 -5
  134. package/es/json-form/style/index.css +0 -3
  135. package/es/json-form/style/index.scss +4 -3
  136. package/es/json-form/utils.js +4 -4
  137. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +34 -7
  138. package/es/layout/style/index.css +2 -2
  139. package/es/layout/style/index.scss +4 -2
  140. package/es/link/link.vue_vue_type_script_setup_true_lang.js +1 -1
  141. package/es/link/style/index.css +1 -1
  142. package/es/link/style/index.scss +3 -1
  143. package/es/list/list.js +1 -1
  144. package/es/locale/interface.d.ts +39 -0
  145. package/es/locale/lang/ar-eg.js +38 -0
  146. package/es/locale/lang/de-de.js +38 -0
  147. package/es/locale/lang/en-us.js +38 -0
  148. package/es/locale/lang/es-es.js +38 -0
  149. package/es/locale/lang/fr-fr.js +38 -0
  150. package/es/locale/lang/id-id.js +38 -0
  151. package/es/locale/lang/it-it.js +38 -0
  152. package/es/locale/lang/ja-jp.js +38 -0
  153. package/es/locale/lang/km-kh.js +38 -0
  154. package/es/locale/lang/ko-kr.js +38 -0
  155. package/es/locale/lang/ms-my.js +38 -0
  156. package/es/locale/lang/nl-nl.js +38 -0
  157. package/es/locale/lang/pt-pt.js +38 -0
  158. package/es/locale/lang/ru-ru.js +38 -0
  159. package/es/locale/lang/th-th.js +38 -0
  160. package/es/locale/lang/vi-vn.js +38 -0
  161. package/es/locale/lang/zh-cn.js +38 -0
  162. package/es/locale/lang/zh-tw.js +38 -0
  163. package/es/mention/mention.js +8 -0
  164. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +29 -3
  165. package/es/menu/item.d.ts +1 -1
  166. package/es/menu/item.js +14 -1
  167. package/es/menu/style/index.css +6 -6
  168. package/es/menu/style/index.scss +5 -3
  169. package/es/message/style/index.css +3 -3
  170. package/es/message/style/index.scss +5 -3
  171. package/es/modal/index.d.ts +3 -3
  172. package/es/modal/modal.vue.d.ts +1 -1
  173. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +31 -15
  174. package/es/modal/style/index.css +2 -2
  175. package/es/modal/style/index.scss +3 -2
  176. package/es/notification/style/index.css +3 -3
  177. package/es/notification/style/index.scss +11 -3
  178. package/es/overflow-list/overflow-list.js +1 -1
  179. package/es/page-header/page-header.vue.d.ts +6 -6
  180. package/es/page-header/page-header.vue_vue_type_script_setup_true_lang.js +19 -2
  181. package/es/pagination/page-item-ellipsis.vue_vue_type_script_setup_true_lang.js +15 -2
  182. package/es/pagination/page-item-step.vue.d.ts +2 -2
  183. package/es/pagination/page-item-step.vue_vue_type_script_setup_true_lang.js +23 -4
  184. package/es/pagination/page-item.vue.d.ts +2 -2
  185. package/es/pagination/page-item.vue_vue_type_script_setup_true_lang.js +21 -3
  186. package/es/pagination/pagination.js +5 -1
  187. package/es/pagination/style/index.css +6 -1
  188. package/es/pagination/style/index.scss +9 -3
  189. package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +3 -1
  190. package/es/popover/popover.vue_vue_type_script_setup_true_lang.js +2 -0
  191. package/es/progress/style/index.css +2 -2
  192. package/es/progress/style/index.scss +5 -3
  193. package/es/qr-code/qr-code-status.vue_vue_type_script_setup_true_lang.js +5 -1
  194. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +13 -6
  195. package/es/radio/context.d.ts +1 -0
  196. package/es/radio/radio-group.js +6 -2
  197. package/es/radio/radio.js +1 -0
  198. package/es/radio/style/index.css +2 -2
  199. package/es/radio/style/index.scss +4 -2
  200. package/es/rate/rate.js +27 -1
  201. package/es/resize-box/resize-box.vue.d.ts +4 -4
  202. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +30 -1
  203. package/es/result/result.vue_vue_type_script_setup_true_lang.js +7 -4
  204. package/es/sd-vue.js +54 -52
  205. package/es/secret/secret.vue_vue_type_script_setup_true_lang.js +3 -1
  206. package/es/select/index.d.ts +124 -0
  207. package/es/select/select-dropdown.vue_vue_type_script_setup_true_lang.js +4 -1
  208. package/es/select/select.d.ts +62 -0
  209. package/es/select/select.js +20 -4
  210. package/es/select/style/index.css +1 -1
  211. package/es/select/style/index.scss +3 -1
  212. package/es/selectable-card/style/index.css +2 -2
  213. package/es/selectable-card/style/index.scss +5 -5
  214. package/es/skeleton/skeleton.vue_vue_type_script_setup_true_lang.js +5 -1
  215. package/es/slider/slider-button.vue.d.ts +2 -0
  216. package/es/slider/slider-button.vue_vue_type_script_setup_true_lang.js +7 -2
  217. package/es/slider/slider.vue_vue_type_script_setup_true_lang.js +23 -2
  218. package/es/slider/style/index.css +1 -1
  219. package/es/slider/style/index.scss +3 -1
  220. package/es/spin/spin.js +7 -2
  221. package/es/spin/style/index.css +1 -1
  222. package/es/spin/style/index.scss +1 -1
  223. package/es/split/split.vue.d.ts +4 -4
  224. package/es/split/split.vue_vue_type_script_setup_true_lang.js +27 -3
  225. package/es/statistic/statistic.vue_vue_type_script_setup_true_lang.js +1 -1
  226. package/es/steps/context.d.ts +1 -0
  227. package/es/steps/step.vue_vue_type_script_setup_true_lang.js +15 -2
  228. package/es/steps/steps.vue_vue_type_script_setup_true_lang.js +10 -2
  229. package/es/steps/style/index.css +1 -1
  230. package/es/steps/style/index.scss +1 -1
  231. package/es/style/animation/index.scss +1 -0
  232. package/es/style/animation/reduced-motion.scss +22 -0
  233. package/es/style/animation/zoom.scss +7 -6
  234. package/es/style/icon.scss +9 -1
  235. package/es/switch/style/index.css +1 -1
  236. package/es/switch/style/index.scss +4 -1
  237. package/es/switch/switch.vue_vue_type_script_setup_true_lang.js +6 -1
  238. package/es/table/index.d.ts +4 -4
  239. package/es/table/style/index.css +8 -8
  240. package/es/table/style/index.scss +11 -8
  241. package/es/table/table-operation-td.d.ts +15 -0
  242. package/es/table/table-operation-td.js +3 -3
  243. package/es/table/table-operation-th.js +1 -1
  244. package/es/table/table-tbody.js +4 -1
  245. package/es/table/table-td.js +2 -1
  246. package/es/table/table-th.d.ts +1 -1
  247. package/es/table/table-th.js +7 -5
  248. package/es/table/table-thead.js +4 -1
  249. package/es/table/table-tr.js +4 -1
  250. package/es/table/table.d.ts +1 -1
  251. package/es/table/table.js +8 -4
  252. package/es/tabs/context.d.ts +1 -0
  253. package/es/tabs/style/index.css +5 -5
  254. package/es/tabs/style/index.scss +7 -7
  255. package/es/tabs/tab-pane.vue_vue_type_script_setup_true_lang.js +21 -2
  256. package/es/tabs/tabs-button.js +1 -1
  257. package/es/tabs/tabs-nav.js +34 -1
  258. package/es/tabs/tabs-tab.vue_vue_type_script_setup_true_lang.js +27 -4
  259. package/es/tabs/tabs.js +4 -2
  260. package/es/tag/index.d.ts +5 -5
  261. package/es/tag/style/index.css +1 -1
  262. package/es/tag/style/index.scss +3 -1
  263. package/es/tag/tag.vue.d.ts +2 -2
  264. package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +27 -4
  265. package/es/tag-group/tag-group.vue_vue_type_script_setup_true_lang.js +2 -2
  266. package/es/textarea/style/index.css +2 -2
  267. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +18 -3
  268. package/es/time-picker/time-column.vue_vue_type_script_setup_true_lang.js +11 -3
  269. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +6 -3
  270. package/es/toolbar/index.d.ts +3 -3
  271. package/es/toolbar/toolbar.vue.d.ts +2 -2
  272. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +5 -5
  273. package/es/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js +1 -0
  274. package/es/transfer/style/index.css +1 -1
  275. package/es/transfer/style/index.scss +1 -1
  276. package/es/transfer/transfer-list-item.js +18 -2
  277. package/es/transfer/transfer.vue_vue_type_script_setup_true_lang.js +7 -5
  278. package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +28 -8
  279. package/es/tree/context.d.ts +2 -0
  280. package/es/tree/node-switcher.vue_vue_type_script_lang.js +1 -1
  281. package/es/tree/style/index.css +1 -1
  282. package/es/tree/style/index.scss +1 -1
  283. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +81 -2
  284. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +10 -1
  285. package/es/trigger/index.d.ts +45 -0
  286. package/es/trigger/trigger.d.ts +27 -0
  287. package/es/trigger/trigger.js +47 -5
  288. package/es/typography/edit-content.vue_vue_type_script_setup_true_lang.js +17 -8
  289. package/es/typography/operations.vue_vue_type_script_setup_true_lang.js +38 -6
  290. package/es/typography/style/index.css +2 -2
  291. package/es/typography/style/index.scss +2 -2
  292. package/es/upload/style/index.css +9 -9
  293. package/es/upload/style/index.scss +15 -9
  294. package/es/upload/upload-list-item.js +18 -5
  295. package/es/upload/upload-picture-item.js +27 -3
  296. package/es/verification-code/verification-code.js +8 -1
  297. package/json/vetur-attributes.json +15 -0
  298. package/json/vetur-tags.json +9 -2
  299. package/json/web-types.json +39 -1
  300. package/package.json +1 -1
@@ -85,8 +85,17 @@
85
85
  border-radius: $pagination-item-border-radius;
86
86
  outline: 0;
87
87
  cursor: pointer;
88
+ transition:
89
+ color theme.$transition-duration-1 theme.$transition-timing-function-standard,
90
+ background-color theme.$transition-duration-1 theme.$transition-timing-function-standard,
91
+ border-color theme.$transition-duration-1 theme.$transition-timing-function-standard,
92
+ transform theme.$transition-duration-1 theme.$transition-timing-function-standard;
88
93
  user-select: none;
89
94
 
95
+ &:active:not(&-disabled) {
96
+ transform: scale(0.97);
97
+ }
98
+
90
99
  @include page-item(default);
91
100
 
92
101
  &:hover {
@@ -100,9 +109,6 @@
100
109
  color: $pagination-color-item-text_active;
101
110
  background-color: $pagination-color-bg-item_active;
102
111
  border-color: $pagination-color-item-border_active;
103
- transition:
104
- color theme.$transition-duration-2 theme.$transition-timing-function-linear,
105
- background-color theme.$transition-duration-2 theme.$transition-timing-function-linear;
106
112
  }
107
113
 
108
114
  &-disabled,
@@ -5,8 +5,8 @@ import IconCheckCircleFill from "../icon/icon-check-circle-fill/index.js";
5
5
  import IconCloseCircleFill from "../icon/icon-close-circle-fill/index.js";
6
6
  import IconExclamationCircleFill from "../icon/icon-exclamation-circle-fill/index.js";
7
7
  import IconInfoCircleFill from "../icon/icon-info-circle-fill/index.js";
8
- import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
9
8
  import { useI18n } from "../locale/index.js";
9
+ import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
10
10
  import Trigger from "../trigger/index.js";
11
11
  import Button from "../button/index.js";
12
12
  import { computed, createBlock, createCommentVNode, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, unref, withCtx } from "vue";
@@ -231,6 +231,8 @@ var popconfirm_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
231
231
  "arrow-style": __props.arrowStyle,
232
232
  "animation-name": "zoom-in-fade-out",
233
233
  "auto-fit-transform-origin": "",
234
+ "esc-to-close": "",
235
+ "aria-has-popup": "dialog",
234
236
  onPopupVisibleChange: handlePopupVisibleChange
235
237
  }, {
236
238
  content: withCtx(() => [createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-body`) }, [createElementVNode("span", { class: normalizeClass(`${unref(prefixCls)}-icon`) }, [renderSlot(_ctx.$slots, "icon", {}, () => [__props.type === "info" ? (openBlock(), createBlock(unref(IconInfoCircleFill), { key: 0 })) : __props.type === "success" ? (openBlock(), createBlock(unref(IconCheckCircleFill), { key: 1 })) : __props.type === "warning" ? (openBlock(), createBlock(unref(IconExclamationCircleFill), { key: 2 })) : __props.type === "error" ? (openBlock(), createBlock(unref(IconCloseCircleFill), { key: 3 })) : createCommentVNode("", true)])], 2), createElementVNode("span", { class: normalizeClass(`${unref(prefixCls)}-content`) }, [renderSlot(_ctx.$slots, "content", {}, () => [createTextVNode(toDisplayString(__props.content), 1)])], 2)], 2), createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-footer`) }, [createVNode(unref(Button), mergeProps({ size: "mini" }, __props.cancelButtonProps, { onClick: handleCancel }), {
@@ -135,6 +135,8 @@ var popover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
135
135
  "popup-container": __props.popupContainer,
136
136
  "animation-name": "zoom-in-fade-out",
137
137
  "auto-fit-transform-origin": "",
138
+ "esc-to-close": "",
139
+ "aria-has-popup": "true",
138
140
  onPopupVisibleChange: handlePopupVisibleChange
139
141
  }, {
140
142
  content: withCtx(() => [__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("div", {
@@ -73,7 +73,7 @@
73
73
  height: 100%;
74
74
  background-color: var(--sd-color-primary-light-3);
75
75
  border-radius: 0 100px 100px 0;
76
- transition: all 0.6s cubic-bezier(0.34, 0.69, 0.1, 1);
76
+ transition: width 0.6s cubic-bezier(0.34, 0.69, 0.1, 1), background-color 0.6s cubic-bezier(0.34, 0.69, 0.1, 1);
77
77
  }
78
78
  .sd-progress-line-bar-animate::after {
79
79
  position: absolute;
@@ -207,7 +207,7 @@
207
207
  stroke: var(--sd-color-fill-3);
208
208
  }
209
209
  .sd-progress-circle-bar {
210
- transition: stroke-dashoffset 0.6s cubic-bezier(0, 0, 1, 1) 0s, stroke 0.6s cubic-bezier(0, 0, 1, 1);
210
+ transition: stroke-dashoffset 0.6s cubic-bezier(0.34, 0.69, 0.1, 1) 0s, stroke 0.6s cubic-bezier(0.34, 0.69, 0.1, 1);
211
211
  stroke: rgb(var(--sd-primary-6));
212
212
  }
213
213
  .sd-progress-size-mini .sd-progress-circle-bg {
@@ -76,7 +76,9 @@ $progress-prefix-cls: string.unquote('#{$prefix}-progress');
76
76
  height: 100%;
77
77
  background-color: $progress-line-color-buffer-bg;
78
78
  border-radius: 0 100px 100px 0;
79
- transition: all 0.6s $transition-timing-function-standard;
79
+ transition:
80
+ width 0.6s $transition-timing-function-standard,
81
+ background-color 0.6s $transition-timing-function-standard;
80
82
  }
81
83
 
82
84
  &-animate::after {
@@ -270,8 +272,8 @@ $progress-prefix-cls: string.unquote('#{$prefix}-progress');
270
272
 
271
273
  &-bar {
272
274
  transition:
273
- stroke-dashoffset 0.6s $transition-timing-function-linear 0s,
274
- stroke 0.6s $transition-timing-function-linear;
275
+ stroke-dashoffset 0.6s $transition-timing-function-standard 0s,
276
+ stroke 0.6s $transition-timing-function-standard;
275
277
  stroke: $progress-circle-color-path-stroke;
276
278
  }
277
279
  }
@@ -15,7 +15,11 @@ var qr_code_status_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
15
15
  emit("refresh");
16
16
  };
17
17
  return (_ctx, _cache) => {
18
- return openBlock(), createElementBlock("div", { class: normalizeClass(`${__props.prefixCls}-status`) }, [__props.status === "loading" ? (openBlock(), createBlock(unref(Spin), normalizeProps(mergeProps({ key: 0 }, __props.spinProps)), null, 16)) : __props.status === "expired" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("p", { class: normalizeClass(`${__props.prefixCls}-expired`) }, "二维码已过期", 2), createElementVNode("button", {
18
+ return openBlock(), createElementBlock("div", {
19
+ class: normalizeClass(`${__props.prefixCls}-status`),
20
+ role: "status",
21
+ "aria-live": "polite"
22
+ }, [__props.status === "loading" ? (openBlock(), createBlock(unref(Spin), normalizeProps(mergeProps({ key: 0 }, __props.spinProps)), null, 16)) : __props.status === "expired" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("p", { class: normalizeClass(`${__props.prefixCls}-expired`) }, "二维码已过期", 2), createElementVNode("button", {
19
23
  type: "button",
20
24
  class: normalizeClass(`${__props.prefixCls}-refresh-btn`),
21
25
  onClick: handleRefresh
@@ -1,12 +1,14 @@
1
1
  import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
+ import { useI18n } from "../locale/index.js";
3
4
  import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
4
5
  import qr_code_status_default from "./qr-code-status.js";
5
6
  import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, unref, useSlots, watch } from "vue";
6
7
  import QRCode from "qrcode";
7
8
  //#region components/qr-code/qr-code.vue?vue&type=script&setup=true&lang.ts
8
- var _hoisted_1 = ["innerHTML"];
9
- var _hoisted_2 = ["src", "alt"];
9
+ var _hoisted_1 = ["aria-label"];
10
+ var _hoisted_2 = ["aria-label", "innerHTML"];
11
+ var _hoisted_3 = ["src", "alt"];
10
12
  var qr_code_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "QrCode" }), {}, {
11
13
  __name: "qr-code",
12
14
  props: {
@@ -155,6 +157,7 @@ var qr_code_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
155
157
  const slots = useSlots();
156
158
  const props = __props;
157
159
  const emit = __emit;
160
+ const { t } = useI18n();
158
161
  const prefixCls = getPrefixCls("qr-code");
159
162
  const canvasRef = ref();
160
163
  const svgMarkup = ref("");
@@ -290,12 +293,16 @@ var qr_code_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
290
293
  key: 1,
291
294
  ref_key: "canvasRef",
292
295
  ref: canvasRef,
293
- class: normalizeClass(`${unref(prefixCls)}-canvas`)
294
- }, null, 2)) : (openBlock(), createElementBlock("div", {
296
+ class: normalizeClass(`${unref(prefixCls)}-canvas`),
297
+ role: "img",
298
+ "aria-label": unref(t)("a11y.qrCode", mergedValue.value)
299
+ }, null, 10, _hoisted_1)) : (openBlock(), createElementBlock("div", {
295
300
  key: 2,
296
301
  class: normalizeClass(`${unref(prefixCls)}-svg`),
302
+ role: "img",
303
+ "aria-label": unref(t)("a11y.qrCode", mergedValue.value),
297
304
  innerHTML: svgMarkup.value
298
- }, null, 10, _hoisted_1)),
305
+ }, null, 10, _hoisted_2)),
299
306
  hasIcon.value ? (openBlock(), createElementBlock("div", {
300
307
  key: 3,
301
308
  class: normalizeClass(`${unref(prefixCls)}-icon`)
@@ -304,7 +311,7 @@ var qr_code_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
304
311
  src: __props.icon,
305
312
  alt: __props.iconAlt,
306
313
  style: normalizeStyle(iconStyle.value)
307
- }, null, 12, _hoisted_2)) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)
314
+ }, null, 12, _hoisted_3)) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)
308
315
  ], 6)) : createCommentVNode("", true);
309
316
  };
310
317
  }
@@ -4,6 +4,7 @@ export declare const RADIO_TYPES: readonly ["radio", "button"];
4
4
  export type RadioType = (typeof RADIO_TYPES)[number];
5
5
  export interface RadioGroupContext {
6
6
  name: 'SDRadioGroup';
7
+ inputName?: string;
7
8
  value: string | number | boolean;
8
9
  size: Size;
9
10
  type: RadioType;
@@ -4,7 +4,7 @@ import { isFunction, isNull, isNumber, isString, isUndefined } from "../_utils/i
4
4
  import { useSize } from "../_hooks/use-size.js";
5
5
  import { radioGroupKey } from "./context.js";
6
6
  import radio_default from "./radio.js";
7
- import { computed, createVNode, defineComponent, provide, reactive, ref, toRefs, watch } from "vue";
7
+ import { computed, createVNode, defineComponent, getCurrentInstance, provide, reactive, ref, toRefs, watch } from "vue";
8
8
  //#region components/radio/radio-group.tsx
9
9
  var radio_group_default = /* @__PURE__ */ defineComponent({
10
10
  name: "RadioGroup",
@@ -129,6 +129,7 @@ var radio_group_default = /* @__PURE__ */ defineComponent({
129
129
  };
130
130
  provide(radioGroupKey, reactive({
131
131
  name: "SDRadioGroup",
132
+ inputName: `${prefixCls}-${getCurrentInstance().uid}`,
132
133
  value: computedValue,
133
134
  size: mergedSize,
134
135
  type,
@@ -158,7 +159,10 @@ var radio_group_default = /* @__PURE__ */ defineComponent({
158
159
  };
159
160
  return () => {
160
161
  var _slots$default;
161
- return createVNode("span", { "class": cls.value }, [options.value.length > 0 ? renderOptions() : (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]);
162
+ return createVNode("span", {
163
+ "role": "radiogroup",
164
+ "class": cls.value
165
+ }, [options.value.length > 0 ? renderOptions() : (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]);
162
166
  };
163
167
  }
164
168
  });
package/es/radio/radio.js CHANGED
@@ -156,6 +156,7 @@ var radio_default = /* @__PURE__ */ defineComponent({
156
156
  "type": "radio",
157
157
  "checked": computedChecked.value,
158
158
  "value": props.value,
159
+ "name": radioGroupCtx === null || radioGroupCtx === void 0 ? void 0 : radioGroupCtx.inputName,
159
160
  "class": `${prefixCls}-target`,
160
161
  "disabled": mergedDisabled.value,
161
162
  "onClick": handleClick,
@@ -142,7 +142,7 @@
142
142
  background-color: transparent;
143
143
  border-radius: var(--sd-border-radius-small);
144
144
  cursor: pointer;
145
- transition: all 0.1s cubic-bezier(0, 0, 1, 1);
145
+ transition: color 0.1s cubic-bezier(0.34, 0.69, 0.1, 1), background-color 0.1s cubic-bezier(0.34, 0.69, 0.1, 1);
146
146
  }
147
147
  .sd-radio-button-content {
148
148
  position: relative;
@@ -158,7 +158,7 @@
158
158
  height: 14px;
159
159
  background-color: var(--sd-color-neutral-3);
160
160
  transform: translateY(-50%);
161
- transition: all 0.1s cubic-bezier(0, 0, 1, 1);
161
+ transition: opacity 0.1s cubic-bezier(0.34, 0.69, 0.1, 1);
162
162
  content: "";
163
163
  }
164
164
  .sd-radio-button:hover::before, .sd-radio-button:hover + .sd-radio-button::before, .sd-radio-button.sd-radio-checked::before, .sd-radio-button.sd-radio-checked + .sd-radio-button::before {
@@ -161,7 +161,9 @@ $radio-prefix-cls: string.unquote('#{theme.$prefix}-radio');
161
161
  background-color: $radio-button-color-bg;
162
162
  border-radius: $radio-button-border-radius;
163
163
  cursor: pointer;
164
- transition: all theme.$transition-duration-1 theme.$transition-timing-function-linear;
164
+ transition:
165
+ color theme.$transition-duration-1 theme.$transition-timing-function-standard,
166
+ background-color theme.$transition-duration-1 theme.$transition-timing-function-standard;
165
167
 
166
168
  &-content {
167
169
  position: relative;
@@ -180,7 +182,7 @@ $radio-prefix-cls: string.unquote('#{theme.$prefix}-radio');
180
182
  height: $radio-button-size-separator-height;
181
183
  background-color: $radio-button-color-separator-bg;
182
184
  transform: translateY(-50%);
183
- transition: all theme.$transition-duration-1 theme.$transition-timing-function-linear;
185
+ transition: opacity theme.$transition-duration-1 theme.$transition-timing-function-standard;
184
186
  content: '';
185
187
  }
186
188
 
package/es/rate/rate.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { useFormItem } from "../_hooks/use-form-item.js";
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isNull, isObject, isString, isUndefined } from "../_utils/is.js";
4
+ import { KEYBOARD_KEY } from "../_utils/keyboard.js";
5
+ import { useI18n } from "../locale/index.js";
4
6
  import { useAllowClear } from "../_hooks/use-allow-clear.js";
5
7
  import { useReadonlyTip, useReadonlyTipText } from "../_hooks/use-readonly-tip.js";
6
8
  import Tooltip from "../tooltip/index.js";
@@ -108,6 +110,7 @@ var rate_default = /* @__PURE__ */ defineComponent({
108
110
  * @binding {number} index
109
111
  */
110
112
  setup(props, { emit, slots }) {
113
+ const { t } = useI18n();
111
114
  const { modelValue, allowClear } = toRefs(props);
112
115
  const prefixCls = getPrefixCls("rate");
113
116
  const { mergedDisabled: _mergedDisabled, eventHandlers } = useFormItem({ disabled: toRef(props, "disabled") });
@@ -178,6 +181,25 @@ var rate_default = /* @__PURE__ */ defineComponent({
178
181
  const handleAnimationEnd = (index) => {
179
182
  if (animation.value && index + 1 >= computedValue.value - 1) animation.value = false;
180
183
  };
184
+ const handleKeydown = (e) => {
185
+ if (mergedDisabled.value) return;
186
+ const step = props.allowHalf ? .5 : 1;
187
+ let next = computedValue.value;
188
+ if (e.key === KEYBOARD_KEY.ARROW_RIGHT || e.key === KEYBOARD_KEY.ARROW_UP) next = next + step;
189
+ else if (e.key === KEYBOARD_KEY.ARROW_LEFT || e.key === KEYBOARD_KEY.ARROW_DOWN) next = next - step;
190
+ else if (e.key === KEYBOARD_KEY.HOME) next = 0;
191
+ else if (e.key === KEYBOARD_KEY.END) next = indexArray.value.length;
192
+ else return;
193
+ e.preventDefault();
194
+ next = Math.max(0, Math.min(next, indexArray.value.length));
195
+ if (next !== computedValue.value) {
196
+ var _eventHandlers$value4, _eventHandlers$value5;
197
+ _value.value = next;
198
+ emit("update:modelValue", next);
199
+ emit("change", next);
200
+ (_eventHandlers$value4 = eventHandlers.value) === null || _eventHandlers$value4 === void 0 || (_eventHandlers$value5 = _eventHandlers$value4.onChange) === null || _eventHandlers$value5 === void 0 || _eventHandlers$value5.call(_eventHandlers$value4);
201
+ }
202
+ };
181
203
  const renderGradingCharacter = (index, displayIndex) => {
182
204
  if (index > displayIndex) return createVNode(IconFaceMehFill, null, null);
183
205
  if (displayIndex <= 2) return createVNode(IconFaceFrownFill, null, null);
@@ -237,7 +259,11 @@ var rate_default = /* @__PURE__ */ defineComponent({
237
259
  "position": "top"
238
260
  }, { default: () => [createVNode("div", {
239
261
  "class": cls.value,
240
- "onMouseleave": resetHoverIndex
262
+ "role": "radiogroup",
263
+ "aria-label": t("a11y.rating"),
264
+ "tabindex": mergedDisabled.value ? void 0 : 0,
265
+ "onMouseleave": resetHoverIndex,
266
+ "onKeydown": handleKeydown
241
267
  }, [indexArray.value.map((_, index) => renderCharacter(index))])] });
242
268
  }
243
269
  });
@@ -1,16 +1,16 @@
1
1
  import { PropType } from 'vue';
2
2
  export type DirectionType = 'left' | 'right' | 'top' | 'bottom';
3
- declare var __VLS_9: {}, __VLS_20: {
3
+ declare var __VLS_9: {}, __VLS_21: {
4
4
  direction: "top" | "bottom" | "left" | "right";
5
- }, __VLS_23: {
5
+ }, __VLS_24: {
6
6
  direction: "top" | "bottom" | "left" | "right";
7
7
  };
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_9) => any;
10
10
  } & {
11
- 'resize-trigger'?: (props: typeof __VLS_20) => any;
11
+ 'resize-trigger'?: (props: typeof __VLS_21) => any;
12
12
  } & {
13
- 'resize-trigger-icon'?: (props: typeof __VLS_23) => any;
13
+ 'resize-trigger-icon'?: (props: typeof __VLS_24) => any;
14
14
  };
15
15
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
16
  width: {
@@ -2,6 +2,7 @@ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helper
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isNumber } from "../_utils/is.js";
4
4
  import { off, on } from "../_utils/dom.js";
5
+ import { KEYBOARD_KEY } from "../_utils/keyboard.js";
5
6
  import useMergeState from "../_hooks/use-merge-state.js";
6
7
  import resize_trigger_default from "../_components/resize-trigger.js";
7
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createSlots, defineComponent, mergeProps, normalizeClass, openBlock, reactive, ref, renderList, renderSlot, resolveDynamicComponent, toRefs, unref, withCtx } from "vue";
@@ -167,6 +168,30 @@ var resize_box_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
167
168
  record.padding[direction] = size;
168
169
  paddingStyles[`padding-${direction}`] = `${size}px`;
169
170
  }
171
+ function onTriggerKeydown(direction, e) {
172
+ const horiz = direction === DIRECTION_LEFT || direction === DIRECTION_RIGHT;
173
+ const key = e.key;
174
+ const posKey = horiz ? KEYBOARD_KEY.ARROW_RIGHT : KEYBOARD_KEY.ARROW_DOWN;
175
+ const negKey = horiz ? KEYBOARD_KEY.ARROW_LEFT : KEYBOARD_KEY.ARROW_UP;
176
+ if (key !== posKey && key !== negKey) return;
177
+ e.preventDefault();
178
+ const step = e.shiftKey ? 20 : 10;
179
+ const dirSign = direction === DIRECTION_LEFT || direction === DIRECTION_TOP ? -1 : 1;
180
+ const delta = step * (key === posKey ? 1 : -1) * dirSign;
181
+ if (horiz) {
182
+ var _wrapperRef$value$cli, _wrapperRef$value3;
183
+ const base = isNumber(resWidth.value) ? resWidth.value : (_wrapperRef$value$cli = (_wrapperRef$value3 = wrapperRef.value) === null || _wrapperRef$value3 === void 0 ? void 0 : _wrapperRef$value3.clientWidth) !== null && _wrapperRef$value$cli !== void 0 ? _wrapperRef$value$cli : 0;
184
+ const newWidth = Math.max(0, base + delta);
185
+ setResWidth(newWidth);
186
+ emit("update:width", newWidth);
187
+ } else {
188
+ var _wrapperRef$value$cli2, _wrapperRef$value4;
189
+ const base = isNumber(resHeight.value) ? resHeight.value : (_wrapperRef$value$cli2 = (_wrapperRef$value4 = wrapperRef.value) === null || _wrapperRef$value4 === void 0 ? void 0 : _wrapperRef$value4.clientHeight) !== null && _wrapperRef$value$cli2 !== void 0 ? _wrapperRef$value$cli2 : 0;
190
+ const newHeight = Math.max(0, base + delta);
191
+ setResHeight(newHeight);
192
+ emit("update:height", newHeight);
193
+ }
194
+ }
170
195
  return (_ctx, _cache) => {
171
196
  return openBlock(), createBlock(resolveDynamicComponent(__props.component), mergeProps({
172
197
  ref_key: "wrapperRef",
@@ -184,6 +209,9 @@ var resize_box_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
184
209
  },
185
210
  onResize: (entry) => {
186
211
  onTiggerResize(direction, entry);
212
+ },
213
+ onKeydown: (e) => {
214
+ onTriggerKeydown(direction, e);
187
215
  }
188
216
  }, createSlots({
189
217
  default: withCtx(() => [_ctx.$slots["resize-trigger"] ? renderSlot(_ctx.$slots, "resize-trigger", {
@@ -200,7 +228,8 @@ var resize_box_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
200
228
  "class",
201
229
  "direction",
202
230
  "onMousedown",
203
- "onResize"
231
+ "onResize",
232
+ "onKeydown"
204
233
  ]);
205
234
  }), 128))]),
206
235
  _: 3
@@ -67,10 +67,13 @@ var result_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
67
67
  const prefixCls = getPrefixCls("result");
68
68
  return (_ctx, _cache) => {
69
69
  return openBlock(), createElementBlock("div", { class: normalizeClass(unref(prefixCls)) }, [
70
- createElementVNode("div", { class: normalizeClass([`${unref(prefixCls)}-icon`, {
71
- [`${unref(prefixCls)}-icon-${__props.status}`]: __props.status,
72
- [`${unref(prefixCls)}-icon-custom`]: __props.status === null
73
- }]) }, [createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-icon-tip`) }, [renderSlot(_ctx.$slots, "icon", {}, () => [__props.status === "info" ? (openBlock(), createBlock(unref(IconInfo), { key: 0 })) : __props.status === "success" ? (openBlock(), createBlock(unref(IconCheck), { key: 1 })) : __props.status === "warning" ? (openBlock(), createBlock(unref(IconExclamation), { key: 2 })) : __props.status === "error" ? (openBlock(), createBlock(unref(IconClose), { key: 3 })) : __props.status === "403" ? (openBlock(), createBlock(unref(_403_default), { key: 4 })) : __props.status === "404" ? (openBlock(), createBlock(unref(_404_default), { key: 5 })) : __props.status === "500" ? (openBlock(), createBlock(unref(_500_default), { key: 6 })) : createCommentVNode("", true)])], 2)], 2),
70
+ createElementVNode("div", {
71
+ "aria-hidden": "true",
72
+ class: normalizeClass([`${unref(prefixCls)}-icon`, {
73
+ [`${unref(prefixCls)}-icon-${__props.status}`]: __props.status,
74
+ [`${unref(prefixCls)}-icon-custom`]: __props.status === null
75
+ }])
76
+ }, [createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-icon-tip`) }, [renderSlot(_ctx.$slots, "icon", {}, () => [__props.status === "info" ? (openBlock(), createBlock(unref(IconInfo), { key: 0 })) : __props.status === "success" ? (openBlock(), createBlock(unref(IconCheck), { key: 1 })) : __props.status === "warning" ? (openBlock(), createBlock(unref(IconExclamation), { key: 2 })) : __props.status === "error" ? (openBlock(), createBlock(unref(IconClose), { key: 3 })) : __props.status === "403" ? (openBlock(), createBlock(unref(_403_default), { key: 4 })) : __props.status === "404" ? (openBlock(), createBlock(unref(_404_default), { key: 5 })) : __props.status === "500" ? (openBlock(), createBlock(unref(_500_default), { key: 6 })) : createCommentVNode("", true)])], 2)], 2),
74
77
  __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("div", {
75
78
  key: 0,
76
79
  class: normalizeClass(`${unref(prefixCls)}-title`)
package/es/sd-vue.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { useFormItem } from "./_hooks/use-form-item.js";
2
2
  import { _objectSpread2 } from "./_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
3
3
  import Affix from "./affix/index.js";
4
+ import { addI18nMessages, getLocale, useLocale } from "./locale/index.js";
4
5
  import Alert from "./alert/index.js";
5
6
  import anchor_link_default from "./anchor/anchor-link.js";
6
7
  import Anchor from "./anchor/index.js";
7
- import { addI18nMessages, getLocale, useLocale } from "./locale/index.js";
8
8
  import Trigger from "./trigger/index.js";
9
9
  import Tooltip from "./tooltip/index.js";
10
10
  import input_group_default from "./input/input-group.js";
@@ -21,8 +21,59 @@ import AvatarGroup from "./avatar/avatar-group.js";
21
21
  import Avatar from "./avatar/index.js";
22
22
  import BackTop from "./back-top/index.js";
23
23
  import Badge from "./badge/index.js";
24
- import BorderBeam from "./border-beam/index.js";
24
+ import Ellipsis, { PerformantEllipsis } from "./ellipsis/index.js";
25
+ import Link from "./link/index.js";
26
+ import Popconfirm from "./popconfirm/index.js";
27
+ import Space from "./space/index.js";
25
28
  import Empty from "./empty/index.js";
29
+ import InputNumber from "./input-number/index.js";
30
+ import Pagination from "./pagination/index.js";
31
+ import checkbox_group_default from "./checkbox/checkbox-group.js";
32
+ import Checkbox from "./checkbox/index.js";
33
+ import radio_group_default from "./radio/radio-group.js";
34
+ import Radio from "./radio/index.js";
35
+ import table_tbody_default from "./table/table-tbody.js";
36
+ import table_td_default from "./table/table-td.js";
37
+ import table_th_default from "./table/table-th.js";
38
+ import table_thead_default from "./table/table-thead.js";
39
+ import table_tr_default from "./table/table-tr.js";
40
+ import table_column_default from "./table/table-column.js";
41
+ import Table from "./table/index.js";
42
+ import grid_col_default from "./grid/grid-col.js";
43
+ import grid_item_default from "./grid/grid-item.js";
44
+ import grid_row_default from "./grid/grid-row.js";
45
+ import Grid from "./grid/index.js";
46
+ import form_item_default from "./form/form-item.js";
47
+ import Form from "./form/index.js";
48
+ import cascader_panel_default from "./cascader/cascader-panel.js";
49
+ import Tag from "./tag/index.js";
50
+ import InputTag from "./input-tag/index.js";
51
+ import Cascader from "./cascader/index.js";
52
+ import month_picker_default from "./date-picker/pickers/month-picker.js";
53
+ import quarter_picker_default from "./date-picker/pickers/quarter-picker.js";
54
+ import week_picker_default from "./date-picker/pickers/week-picker.js";
55
+ import year_picker_default from "./date-picker/pickers/year-picker.js";
56
+ import range_picker_default from "./date-picker/range-picker.js";
57
+ import DatePicker from "./date-picker/index.js";
58
+ import Textarea from "./textarea/index.js";
59
+ import Mention from "./mention/index.js";
60
+ import Rate from "./rate/index.js";
61
+ import Select from "./select/index.js";
62
+ import Slider from "./slider/index.js";
63
+ import Switch from "./switch/index.js";
64
+ import TimePicker from "./time-picker/index.js";
65
+ import list_item_default from "./list/list-item.js";
66
+ import list_item_meta_default from "./list/list-item-meta.js";
67
+ import List from "./list/index.js";
68
+ import Transfer from "./transfer/index.js";
69
+ import Tree from "./tree/index.js";
70
+ import TreeSelect from "./tree-select/index.js";
71
+ import VerificationCode from "./verification-code/index.js";
72
+ import JsonForm from "./json-form/index.js";
73
+ import Toolbar from "./toolbar/index.js";
74
+ import Modal from "./modal/index.js";
75
+ import BasicCrudTable from "./basic-crud-table/index.js";
76
+ import BorderBeam from "./border-beam/index.js";
26
77
  import dropdown_button_default from "./dropdown/dropdown-button.js";
27
78
  import dropdown_group_default from "./dropdown/dropdown-group.js";
28
79
  import dropdown_option_default from "./dropdown/dropdown-option.js";
@@ -30,38 +81,20 @@ import dropdown_submenu_default from "./dropdown/dropdown-submenu.js";
30
81
  import Dropdown from "./dropdown/index.js";
31
82
  import breadcrumb_item_default from "./breadcrumb/breadcrumb-item.js";
32
83
  import Breadcrumb from "./breadcrumb/index.js";
33
- import Ellipsis, { PerformantEllipsis } from "./ellipsis/index.js";
34
84
  import Calendar from "./calendar/index.js";
35
85
  import card_grid_default from "./card/card-grid.js";
36
86
  import card_meta_default from "./card/card-meta.js";
37
87
  import Card from "./card/index.js";
38
88
  import carousel_item_default from "./carousel/carousel-item.js";
39
89
  import Carousel from "./carousel/index.js";
40
- import checkbox_group_default from "./checkbox/checkbox-group.js";
41
- import Checkbox from "./checkbox/index.js";
42
- import radio_group_default from "./radio/radio-group.js";
43
- import Radio from "./radio/index.js";
44
- import cascader_panel_default from "./cascader/cascader-panel.js";
45
- import Tag from "./tag/index.js";
46
- import InputTag from "./input-tag/index.js";
47
- import Cascader from "./cascader/index.js";
48
90
  import collapse_item_default from "./collapse/collapse-item.js";
49
91
  import Collapse from "./collapse/index.js";
50
- import InputNumber from "./input-number/index.js";
51
- import Select from "./select/index.js";
52
92
  import ColorPicker from "./color-picker/index.js";
53
93
  import Comment from "./comment/index.js";
54
94
  import ConfigProvider from "./config-provider/index.js";
55
- import Link from "./link/index.js";
56
95
  import Message from "./message/index.js";
57
96
  import Copy from "./copy/index.js";
58
97
  import Cropper from "./cropper/index.js";
59
- import month_picker_default from "./date-picker/pickers/month-picker.js";
60
- import quarter_picker_default from "./date-picker/pickers/quarter-picker.js";
61
- import week_picker_default from "./date-picker/pickers/week-picker.js";
62
- import year_picker_default from "./date-picker/pickers/year-picker.js";
63
- import range_picker_default from "./date-picker/range-picker.js";
64
- import DatePicker from "./date-picker/index.js";
65
98
  import descriptions_item_default from "./descriptions/descriptions-item.js";
66
99
  import Descriptions from "./descriptions/index.js";
67
100
  import Divider from "./divider/index.js";
@@ -71,28 +104,7 @@ import preview_default from "./image/preview.js";
71
104
  import preview_group_default from "./image/preview-group.js";
72
105
  import Image from "./image/index.js";
73
106
  import FilePreviewer from "./file-previewer/index.js";
74
- import grid_col_default from "./grid/grid-col.js";
75
- import grid_item_default from "./grid/grid-item.js";
76
- import grid_row_default from "./grid/grid-row.js";
77
- import Grid from "./grid/index.js";
78
- import form_item_default from "./form/form-item.js";
79
- import Form from "./form/index.js";
80
107
  import Icon from "./icon-component/index.js";
81
- import Textarea from "./textarea/index.js";
82
- import Mention from "./mention/index.js";
83
- import Rate from "./rate/index.js";
84
- import Slider from "./slider/index.js";
85
- import Switch from "./switch/index.js";
86
- import TimePicker from "./time-picker/index.js";
87
- import Pagination from "./pagination/index.js";
88
- import list_item_default from "./list/list-item.js";
89
- import list_item_meta_default from "./list/list-item-meta.js";
90
- import List from "./list/index.js";
91
- import Transfer from "./transfer/index.js";
92
- import Tree from "./tree/index.js";
93
- import TreeSelect from "./tree-select/index.js";
94
- import VerificationCode from "./verification-code/index.js";
95
- import JsonForm from "./json-form/index.js";
96
108
  import content_default from "./layout/content.js";
97
109
  import footer_default from "./layout/footer.js";
98
110
  import header_default from "./layout/header.js";
@@ -102,11 +114,9 @@ import item_default from "./menu/item.js";
102
114
  import item_group_default from "./menu/item-group.js";
103
115
  import sub_menu_default from "./menu/sub-menu.js";
104
116
  import Menu from "./menu/index.js";
105
- import Modal from "./modal/index.js";
106
117
  import Notification from "./notification/index.js";
107
118
  import OverflowList from "./overflow-list/index.js";
108
119
  import PageHeader from "./page-header/index.js";
109
- import Popconfirm from "./popconfirm/index.js";
110
120
  import Progress from "./progress/index.js";
111
121
  import QrCode from "./qr-code/index.js";
112
122
  import ResizeBox from "./resize-box/index.js";
@@ -116,26 +126,17 @@ import SelectableCard from "./selectable-card/index.js";
116
126
  import line_default from "./skeleton/line.js";
117
127
  import shape_default from "./skeleton/shape.js";
118
128
  import Skeleton from "./skeleton/index.js";
119
- import Space from "./space/index.js";
120
129
  import Split from "./split/index.js";
121
130
  import countdown_default from "./statistic/countdown.js";
122
131
  import Statistic from "./statistic/index.js";
123
132
  import step_default from "./steps/step.js";
124
133
  import Steps from "./steps/index.js";
125
- import table_tbody_default from "./table/table-tbody.js";
126
- import table_td_default from "./table/table-td.js";
127
- import table_th_default from "./table/table-th.js";
128
- import table_thead_default from "./table/table-thead.js";
129
- import table_tr_default from "./table/table-tr.js";
130
- import table_column_default from "./table/table-column.js";
131
- import Table from "./table/index.js";
132
134
  import tab_pane_default from "./tabs/tab-pane.js";
133
135
  import Tabs from "./tabs/index.js";
134
136
  import TagGroup from "./tag-group/index.js";
135
137
  import ThemeProvider from "./theme-provider/index.js";
136
138
  import item_default$1 from "./timeline/item.js";
137
139
  import Timeline from "./timeline/index.js";
138
- import Toolbar from "./toolbar/index.js";
139
140
  import Tour from "./tour/index.js";
140
141
  import paragraph_default from "./typography/paragraph.js";
141
142
  import text_default from "./typography/text.js";
@@ -154,6 +155,7 @@ var components = {
154
155
  Space,
155
156
  Avatar,
156
157
  Badge,
158
+ BasicCrudTable,
157
159
  Calendar,
158
160
  Card,
159
161
  SelectableCard,
@@ -1,5 +1,6 @@
1
1
  import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
+ import { useI18n } from "../locale/index.js";
3
4
  import Tooltip from "../tooltip/index.js";
4
5
  import IconEye from "../icon/icon-eye/index.js";
5
6
  import IconEyeInvisible from "../icon/icon-eye-invisible/index.js";
@@ -24,9 +25,10 @@ var secret_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
24
25
  emits: ["update:visible"],
25
26
  setup(__props) {
26
27
  const visibleValue = useModel(__props, "visible");
28
+ const { t } = useI18n();
27
29
  const prefixCls = getPrefixCls("secret");
28
30
  const toggleTooltip = computed(() => visibleValue.value ? "隐藏" : "显示");
29
- const toggleAriaLabel = computed(() => visibleValue.value ? "隐藏敏感信息" : "显示敏感信息");
31
+ const toggleAriaLabel = computed(() => visibleValue.value ? t("a11y.secretHide") : t("a11y.secretShow"));
30
32
  function handleToggleVisible() {
31
33
  visibleValue.value = !visibleValue.value;
32
34
  }