@sdata/web-vue 3.14.0 → 3.16.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 (135) hide show
  1. package/dist/sd.css +44 -3
  2. package/dist/sd.min.css +1 -1
  3. package/es/_components/resize-trigger.vue_vue_type_script_setup_true_lang.js +6 -3
  4. package/es/_components/select-view/select-view.js +3 -1
  5. package/es/alert/alert.vue_vue_type_script_setup_true_lang.js +5 -2
  6. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +5 -2
  7. package/es/back-top/back-top.vue_vue_type_script_setup_true_lang.js +5 -2
  8. package/es/basic-crud-table/basic-crud-modal.js +5 -0
  9. package/es/basic-crud-table/basic-crud-modal.vue.d.ts +264 -0
  10. package/es/basic-crud-table/basic-crud-modal.vue_vue_type_script_setup_true_lang.js +139 -0
  11. package/es/basic-crud-table/basic-crud-table.js +5 -0
  12. package/es/basic-crud-table/basic-crud-table.vue.d.ts +935 -0
  13. package/es/basic-crud-table/basic-crud-table.vue_vue_type_script_setup_true_lang.js +520 -0
  14. package/es/basic-crud-table/index.d.ts +2722 -0
  15. package/es/basic-crud-table/index.js +9 -0
  16. package/es/basic-crud-table/style/css.js +2 -0
  17. package/es/basic-crud-table/style/index.css +60 -0
  18. package/es/basic-crud-table/style/index.d.ts +2 -0
  19. package/es/basic-crud-table/style/index.js +2 -0
  20. package/es/basic-crud-table/style/index.scss +54 -0
  21. package/es/basic-crud-table/style/token.scss +8 -0
  22. package/es/basic-crud-table/types.d.ts +70 -0
  23. package/es/breadcrumb/breadcrumb-item.js +4 -2
  24. package/es/breadcrumb/breadcrumb.js +3 -1
  25. package/es/calendar/components/event.vue_vue_type_script_setup_true_lang.js +1 -1
  26. package/es/calendar/components/headings-bar.vue_vue_type_script_setup_true_lang.js +1 -1
  27. package/es/card/card.d.ts +1 -1
  28. package/es/card/index.d.ts +3 -3
  29. package/es/carousel/carousel-arrow.vue_vue_type_script_setup_true_lang.js +9 -5
  30. package/es/carousel/carousel-indicator.vue_vue_type_script_setup_true_lang.js +4 -2
  31. package/es/carousel/carousel-item.vue_vue_type_script_setup_true_lang.js +4 -2
  32. package/es/carousel/carousel.js +3 -1
  33. package/es/cascader/cascader-option.js +1 -1
  34. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +3 -3
  35. package/es/color-picker/color-picker.js +6 -5
  36. package/es/color-picker/panel.d.ts +2 -2
  37. package/es/color-picker/panel.js +5 -4
  38. package/es/components.d.ts +1 -0
  39. package/es/config-provider/config-provider.vue.d.ts +7 -1
  40. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +7 -1
  41. package/es/config-provider/context.d.ts +4 -0
  42. package/es/config-provider/index.d.ts +25 -15
  43. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +1 -1
  44. package/es/date-picker/hooks/use-provide-datepicker-transform.js +1 -1
  45. package/es/date-picker/panels/header.vue_vue_type_script_setup_true_lang.js +1 -1
  46. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +3 -3
  47. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +2 -2
  48. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +4 -3
  49. package/es/dropdown/dropdown-button.vue_vue_type_script_setup_true_lang.js +1 -1
  50. package/es/dropdown/dropdown-panel.vue_vue_type_script_setup_true_lang.js +1 -1
  51. package/es/dropdown/dropdown-submenu.vue_vue_type_script_setup_true_lang.js +1 -1
  52. package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +13 -9
  53. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +1 -1
  54. package/es/form/index.js +1 -1
  55. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +1 -1
  56. package/es/grid/grid-item.vue_vue_type_script_setup_true_lang.js +1 -1
  57. package/es/grid/grid-row.vue_vue_type_script_setup_true_lang.js +1 -1
  58. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +1 -1
  59. package/es/image/image.vue_vue_type_script_setup_true_lang.js +1 -1
  60. package/es/image/preview-arrow.vue_vue_type_script_setup_true_lang.js +1 -1
  61. package/es/image/preview.vue_vue_type_script_setup_true_lang.js +1 -1
  62. package/es/index.css +44 -3
  63. package/es/index.d.ts +2 -0
  64. package/es/index.js +55 -54
  65. package/es/index.scss +1 -0
  66. package/es/input/input.js +3 -1
  67. package/es/input-number/input-number.js +8 -6
  68. package/es/json-form/style/index.css +0 -3
  69. package/es/json-form/style/index.scss +4 -3
  70. package/es/json-form/utils.js +5 -5
  71. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +9 -7
  72. package/es/link/link.vue_vue_type_script_setup_true_lang.js +1 -1
  73. package/es/list/list.js +1 -1
  74. package/es/locale/interface.d.ts +39 -0
  75. package/es/locale/lang/ar-eg.js +38 -0
  76. package/es/locale/lang/de-de.js +38 -0
  77. package/es/locale/lang/en-us.js +38 -0
  78. package/es/locale/lang/es-es.js +38 -0
  79. package/es/locale/lang/fr-fr.js +38 -0
  80. package/es/locale/lang/id-id.js +38 -0
  81. package/es/locale/lang/it-it.js +38 -0
  82. package/es/locale/lang/ja-jp.js +38 -0
  83. package/es/locale/lang/km-kh.js +38 -0
  84. package/es/locale/lang/ko-kr.js +38 -0
  85. package/es/locale/lang/ms-my.js +38 -0
  86. package/es/locale/lang/nl-nl.js +38 -0
  87. package/es/locale/lang/pt-pt.js +38 -0
  88. package/es/locale/lang/ru-ru.js +38 -0
  89. package/es/locale/lang/th-th.js +38 -0
  90. package/es/locale/lang/vi-vn.js +38 -0
  91. package/es/locale/lang/zh-cn.js +38 -0
  92. package/es/locale/lang/zh-tw.js +38 -0
  93. package/es/menu/item.d.ts +1 -1
  94. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +4 -3
  95. package/es/page-header/page-header.vue_vue_type_script_setup_true_lang.js +8 -2
  96. package/es/pagination/page-item-ellipsis.vue_vue_type_script_setup_true_lang.js +5 -2
  97. package/es/pagination/page-item-step.vue_vue_type_script_setup_true_lang.js +5 -3
  98. package/es/pagination/page-options.vue_vue_type_script_setup_true_lang.js +3 -3
  99. package/es/pagination/pagination.js +1 -1
  100. package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +1 -1
  101. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +4 -2
  102. package/es/rate/rate.js +3 -1
  103. package/es/sd-vue.js +54 -52
  104. package/es/secret/secret.vue_vue_type_script_setup_true_lang.js +3 -1
  105. package/es/select/select.js +3 -3
  106. package/es/statistic/statistic.vue_vue_type_script_setup_true_lang.js +1 -1
  107. package/es/steps/steps.vue_vue_type_script_setup_true_lang.js +6 -3
  108. package/es/table/index.d.ts +4 -4
  109. package/es/table/table-operation-td.js +3 -3
  110. package/es/table/table-th.d.ts +1 -1
  111. package/es/table/table-th.js +2 -2
  112. package/es/table/table.d.ts +1 -1
  113. package/es/table/table.js +2 -2
  114. package/es/tabs/tabs-button.js +1 -1
  115. package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +8 -2
  116. package/es/tag-group/tag-group.vue_vue_type_script_setup_true_lang.js +2 -2
  117. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +5 -2
  118. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +2 -2
  119. package/es/toolbar/index.d.ts +3 -3
  120. package/es/toolbar/toolbar.vue.d.ts +2 -2
  121. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +5 -5
  122. package/es/transfer/transfer-list-item.js +3 -1
  123. package/es/transfer/transfer.vue_vue_type_script_setup_true_lang.js +7 -5
  124. package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +1 -1
  125. package/es/tree/node-switcher.vue_vue_type_script_lang.js +1 -1
  126. package/es/typography/edit-content.vue_vue_type_script_setup_true_lang.js +8 -2
  127. package/es/upload/upload-list-item.js +1 -1
  128. package/es/upload/upload-picture-item.js +5 -3
  129. package/es/verification-code/verification-code.js +4 -2
  130. package/json/vetur-attributes.json +3 -0
  131. package/json/vetur-tags.json +4 -0
  132. package/json/web-types.json +15 -1
  133. package/package.json +1 -1
  134. package/es/color-picker/colors.d.ts +0 -1
  135. package/es/color-picker/colors.js +0 -27
@@ -120,6 +120,11 @@ var config_provider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
120
120
  */
121
121
  pagination: { type: Object },
122
122
  /**
123
+ * @zh ColorPicker 组件默认配置
124
+ * @en Default config for ColorPicker
125
+ */
126
+ colorPicker: { type: Object },
127
+ /**
123
128
  * @zh JsonForm 组件默认配置
124
129
  * @en Default config for JsonForm
125
130
  */
@@ -151,7 +156,7 @@ var config_provider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
151
156
  * @version 2.28.0
152
157
  */
153
158
  const slots = useSlots();
154
- const { prefixCls, locale, size, allowClear, autoInsertSpaceInButton, allowSearch, virtualListProps, updateAtScroll, scrollToClose, exchangeTime, rtl, datePicker, modal, drawer, pagination } = toRefs(props);
159
+ const { prefixCls, locale, size, allowClear, autoInsertSpaceInButton, allowSearch, virtualListProps, updateAtScroll, scrollToClose, exchangeTime, rtl, datePicker, modal, drawer, pagination, colorPicker } = toRefs(props);
155
160
  const config = reactive({
156
161
  slots,
157
162
  prefixCls,
@@ -169,6 +174,7 @@ var config_provider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
169
174
  modal,
170
175
  drawer,
171
176
  pagination,
177
+ colorPicker,
172
178
  jsonForm: toRefs(props).jsonForm,
173
179
  theme: normalizeTheme(props.theme)
174
180
  });
@@ -66,6 +66,9 @@ export interface ConfigProviderPagination {
66
66
  bufferSize?: number;
67
67
  pageSizeProps?: PaginationSelectProps;
68
68
  }
69
+ export interface ConfigProviderColorPicker {
70
+ swatchColors?: string[];
71
+ }
69
72
  export interface ConfigProvider {
70
73
  slots: Slots;
71
74
  prefixCls?: string;
@@ -83,6 +86,7 @@ export interface ConfigProvider {
83
86
  modal?: ConfigProviderModal;
84
87
  drawer?: ConfigProviderDrawer;
85
88
  pagination?: ConfigProviderPagination;
89
+ colorPicker?: ConfigProviderColorPicker;
86
90
  jsonForm?: JsonFormProviderConfig;
87
91
  theme?: SDThemeNormalized;
88
92
  }
@@ -49,19 +49,22 @@ declare const ConfigProvider: {
49
49
  default: boolean;
50
50
  };
51
51
  datePicker: {
52
- type: import("vue").PropType<import("./context.ts").ConfigProviderDatePicker>;
52
+ type: import("vue").PropType<import("./context").ConfigProviderDatePicker>;
53
53
  };
54
54
  modal: {
55
- type: import("vue").PropType<import("./context.ts").ConfigProviderModal>;
55
+ type: import("vue").PropType<import("./context").ConfigProviderModal>;
56
56
  };
57
57
  drawer: {
58
- type: import("vue").PropType<import("./context.ts").ConfigProviderDrawer>;
58
+ type: import("vue").PropType<import("./context").ConfigProviderDrawer>;
59
59
  };
60
60
  pagination: {
61
- type: import("vue").PropType<import("./context.ts").ConfigProviderPagination>;
61
+ type: import("vue").PropType<import("./context").ConfigProviderPagination>;
62
+ };
63
+ colorPicker: {
64
+ type: import("vue").PropType<import("./context").ConfigProviderColorPicker>;
62
65
  };
63
66
  jsonForm: {
64
- type: import("vue").PropType<import("./context.ts").JsonFormProviderConfig>;
67
+ type: import("vue").PropType<import("./context").JsonFormProviderConfig>;
65
68
  };
66
69
  theme: {
67
70
  type: import("vue").PropType<import("./theme").SdThemeConfig>;
@@ -133,19 +136,22 @@ declare const ConfigProvider: {
133
136
  default: boolean;
134
137
  };
135
138
  datePicker: {
136
- type: import("vue").PropType<import("./context.ts").ConfigProviderDatePicker>;
139
+ type: import("vue").PropType<import("./context").ConfigProviderDatePicker>;
137
140
  };
138
141
  modal: {
139
- type: import("vue").PropType<import("./context.ts").ConfigProviderModal>;
142
+ type: import("vue").PropType<import("./context").ConfigProviderModal>;
140
143
  };
141
144
  drawer: {
142
- type: import("vue").PropType<import("./context.ts").ConfigProviderDrawer>;
145
+ type: import("vue").PropType<import("./context").ConfigProviderDrawer>;
143
146
  };
144
147
  pagination: {
145
- type: import("vue").PropType<import("./context.ts").ConfigProviderPagination>;
148
+ type: import("vue").PropType<import("./context").ConfigProviderPagination>;
149
+ };
150
+ colorPicker: {
151
+ type: import("vue").PropType<import("./context").ConfigProviderColorPicker>;
146
152
  };
147
153
  jsonForm: {
148
- type: import("vue").PropType<import("./context.ts").JsonFormProviderConfig>;
154
+ type: import("vue").PropType<import("./context").JsonFormProviderConfig>;
149
155
  };
150
156
  theme: {
151
157
  type: import("vue").PropType<import("./theme").SdThemeConfig>;
@@ -214,19 +220,22 @@ declare const ConfigProvider: {
214
220
  default: boolean;
215
221
  };
216
222
  datePicker: {
217
- type: import("vue").PropType<import("./context.ts").ConfigProviderDatePicker>;
223
+ type: import("vue").PropType<import("./context").ConfigProviderDatePicker>;
218
224
  };
219
225
  modal: {
220
- type: import("vue").PropType<import("./context.ts").ConfigProviderModal>;
226
+ type: import("vue").PropType<import("./context").ConfigProviderModal>;
221
227
  };
222
228
  drawer: {
223
- type: import("vue").PropType<import("./context.ts").ConfigProviderDrawer>;
229
+ type: import("vue").PropType<import("./context").ConfigProviderDrawer>;
224
230
  };
225
231
  pagination: {
226
- type: import("vue").PropType<import("./context.ts").ConfigProviderPagination>;
232
+ type: import("vue").PropType<import("./context").ConfigProviderPagination>;
233
+ };
234
+ colorPicker: {
235
+ type: import("vue").PropType<import("./context").ConfigProviderColorPicker>;
227
236
  };
228
237
  jsonForm: {
229
- type: import("vue").PropType<import("./context.ts").JsonFormProviderConfig>;
238
+ type: import("vue").PropType<import("./context").JsonFormProviderConfig>;
230
239
  };
231
240
  theme: {
232
241
  type: import("vue").PropType<import("./theme").SdThemeConfig>;
@@ -254,4 +263,5 @@ declare const ConfigProvider: {
254
263
  export type ConfigProviderInstance = InstanceType<typeof _ConfigProvider>;
255
264
  export type { SdThemeConfig, SdThemeMeta, SdThemeMode, ThemeTokenMap, ThemeTokenValue, } from './theme';
256
265
  export type { JsonFormProviderConfig as ConfigProviderJsonFormConfig } from '../json-form';
266
+ export type { ConfigProviderColorPicker } from './context';
257
267
  export default ConfigProvider;
@@ -3,8 +3,8 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
4
4
  import Tooltip from "../tooltip/index.js";
5
5
  import Button from "../button/index.js";
6
- import IconCopy from "../icon/icon-copy/index.js";
7
6
  import Link from "../link/index.js";
7
+ import IconCopy from "../icon/icon-copy/index.js";
8
8
  import Message from "../message/index.js";
9
9
  import { computed, createBlock, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, renderSlot, resolveDynamicComponent, unref, useAttrs, useSlots, withCtx } from "vue";
10
10
  import copy from "copy-to-clipboard";
@@ -1,6 +1,6 @@
1
1
  import { useI18n } from "../../locale/index.js";
2
- import { dayjs } from "../../_utils/date.js";
3
2
  import { getValueByPath } from "../../_utils/get-value-by-path.js";
3
+ import { dayjs } from "../../_utils/date.js";
4
4
  import { PickerInjectionKey } from "../context.js";
5
5
  import { provide, toRefs } from "vue";
6
6
  //#region components/date-picker/hooks/use-provide-datepicker-transform.ts
@@ -1,7 +1,7 @@
1
1
  import { _objectSpread2 } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
2
2
  import { isFunction } from "../../_utils/is.js";
3
- import IconRight from "../../icon/icon-right/index.js";
4
3
  import IconLeft from "../../icon/icon-left/index.js";
4
+ import IconRight from "../../icon/icon-right/index.js";
5
5
  import useDatePickerTransform from "../hooks/use-inject-datepicker-transform.js";
6
6
  import IconDoubleLeft from "../../icon/icon-double-left/index.js";
7
7
  import IconDoubleRight from "../../icon/icon-double-right/index.js";
@@ -2,16 +2,16 @@ 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 { getPrefixCls } from "../_utils/global-config.js";
4
4
  import { isBoolean, isFunction } from "../_utils/is.js";
5
- import { useAllowClear } from "../_hooks/use-allow-clear.js";
6
5
  import { useI18n } from "../locale/index.js";
6
+ import { useAllowClear } from "../_hooks/use-allow-clear.js";
7
7
  import { omit } from "../_utils/omit.js";
8
8
  import pick from "../_utils/pick.js";
9
9
  import Trigger from "../trigger/index.js";
10
10
  import useState from "../_hooks/use-state.js";
11
11
  import useMergeState from "../_hooks/use-merge-state.js";
12
- import { getDateValue, getDayjsValue, getNow, initializeDateLocale, isValueChange, toLocal } from "../_utils/date.js";
13
- import input_default from "../_components/picker/input.js";
14
12
  import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
13
+ import input_default from "../_components/picker/input.js";
14
+ import { getDateValue, getDayjsValue, getNow, initializeDateLocale, isValueChange, toLocal } from "../_utils/date.js";
15
15
  import IconCalendar from "../icon/icon-calendar/index.js";
16
16
  import { getFormattedValue, isValidInputValue } from "../time-picker/utils/index.js";
17
17
  import useFormat from "./hooks/use-format.js";
@@ -3,15 +3,15 @@ import { configProviderInjectionKey } from "../config-provider/context.js";
3
3
  import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
4
4
  import { getPrefixCls } from "../_utils/global-config.js";
5
5
  import { isArray, isBoolean } from "../_utils/is.js";
6
- import { useAllowClear } from "../_hooks/use-allow-clear.js";
7
6
  import { useI18n } from "../locale/index.js";
7
+ import { useAllowClear } from "../_hooks/use-allow-clear.js";
8
8
  import { omit } from "../_utils/omit.js";
9
9
  import pick from "../_utils/pick.js";
10
10
  import Trigger from "../trigger/index.js";
11
11
  import useState from "../_hooks/use-state.js";
12
12
  import useMergeState from "../_hooks/use-merge-state.js";
13
- import { getDateValue, getDayjsValue, getNow, getSortedDayjsArray, initializeDateLocale, isValueChange, toLocal } from "../_utils/date.js";
14
13
  import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
14
+ import { getDateValue, getDayjsValue, getNow, getSortedDayjsArray, initializeDateLocale, isValueChange, toLocal } from "../_utils/date.js";
15
15
  import IconCalendar from "../icon/icon-calendar/index.js";
16
16
  import { getFormattedValue, isValidInputValue } from "../time-picker/utils/index.js";
17
17
  import useFormat from "./hooks/use-format.js";
@@ -5,8 +5,8 @@ import { off, on } from "../_utils/dom.js";
5
5
  import icon_hover_default from "../_components/icon-hover.js";
6
6
  import { KEYBOARD_KEY, onActivate } from "../_utils/keyboard.js";
7
7
  import IconClose from "../icon/icon-close/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 client_only_default from "../_components/client-only.js";
11
11
  import usePopupManager from "../_hooks/use-popup-manager.js";
12
12
  import { useTeleportContainer } from "../_hooks/use-teleport-container.js";
@@ -19,6 +19,7 @@ import { DRAWER_PLACEMENTS } from "./utils.js";
19
19
  import { Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, toDisplayString, toRefs, unref, useSlots, vShow, watch, withCtx, withDirectives } from "vue";
20
20
  //#region components/drawer/drawer.vue?vue&type=script&setup=true&lang.ts
21
21
  var _hoisted_1 = ["aria-labelledby"];
22
+ var _hoisted_2 = ["aria-label"];
22
23
  var drawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
23
24
  name: "Drawer",
24
25
  inheritAttrs: false
@@ -554,14 +555,14 @@ var drawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
554
555
  key: 1,
555
556
  tabindex: "0",
556
557
  role: "button",
557
- "aria-label": "Close",
558
+ "aria-label": unref(t)("a11y.close"),
558
559
  class: normalizeClass(`${unref(prefixCls)}-close-btn`),
559
560
  onClick: handleCancel,
560
561
  onKeydown: _cache[0] || (_cache[0] = ($event) => unref(onActivate)(handleCancel))
561
562
  }, [createVNode(icon_hover_default, null, {
562
563
  default: withCtx(() => [createVNode(unref(IconClose))]),
563
564
  _: 1
564
- })], 34)) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true),
565
+ })], 42, _hoisted_2)) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true),
565
566
  createElementVNode("div", {
566
567
  id: bodyId,
567
568
  class: normalizeClass([`${unref(prefixCls)}-body`, __props.bodyClass]),
@@ -2,8 +2,8 @@ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helper
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import button_group_default from "../button/button-group.js";
4
4
  import Button from "../button/index.js";
5
- import { useTrigger } from "../_hooks/use-trigger.js";
6
5
  import IconMore from "../icon/icon-more/index.js";
6
+ import { useTrigger } from "../_hooks/use-trigger.js";
7
7
  import dropdown_default from "./dropdown.js";
8
8
  import { createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, toRefs, unref, withCtx } from "vue";
9
9
  //#region components/dropdown/dropdown-button.vue?vue&type=script&setup=true&lang.ts
@@ -3,8 +3,8 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isNumber } from "../_utils/is.js";
4
4
  import { KEYBOARD_KEY } from "../_utils/keyboard.js";
5
5
  import Scrollbar from "../scrollbar/index.js";
6
- import { dropdownInjectionKey } from "./context.js";
7
6
  import Empty from "../empty/index.js";
7
+ import { dropdownInjectionKey } from "./context.js";
8
8
  import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, nextTick, normalizeClass, normalizeStyle, onMounted, openBlock, ref, renderSlot, unref, useSlots, withCtx } from "vue";
9
9
  //#region components/dropdown/dropdown-panel.vue?vue&type=script&setup=true&lang.ts
10
10
  var dropdown_panel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "DropdownPanel" }), {}, {
@@ -1,10 +1,10 @@
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
3
  import Trigger from "../trigger/index.js";
4
+ import IconRight from "../icon/icon-right/index.js";
4
5
  import { useTrigger } from "../_hooks/use-trigger.js";
5
6
  import dropdown_panel_default from "./dropdown-panel.js";
6
7
  import dropdown_option_default from "./dropdown-option.js";
7
- import IconRight from "../icon/icon-right/index.js";
8
8
  import { createBlock, createSlots, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, toRefs, unref, withCtx } from "vue";
9
9
  //#region components/dropdown/dropdown-submenu.vue?vue&type=script&setup=true&lang.ts
10
10
  var dropdown_submenu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Dsubmenu" }), {}, {
@@ -3,6 +3,7 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isServerRendering } from "../_utils/dom.js";
4
4
  import { KEYBOARD_KEY } from "../_utils/keyboard.js";
5
5
  import IconClose from "../icon/icon-close/index.js";
6
+ import { useI18n } from "../locale/index.js";
6
7
  import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
7
8
  import IconLoading from "../icon/icon-loading/index.js";
8
9
  import usePopupManager from "../_hooks/use-popup-manager.js";
@@ -18,8 +19,10 @@ var _hoisted_2 = [
18
19
  "aria-modal",
19
20
  "aria-label"
20
21
  ];
21
- var _hoisted_3 = ["disabled"];
22
- var _hoisted_4 = ["disabled"];
22
+ var _hoisted_3 = ["disabled", "aria-label"];
23
+ var _hoisted_4 = ["disabled", "aria-label"];
24
+ var _hoisted_5 = ["aria-label"];
25
+ var _hoisted_6 = ["aria-label"];
23
26
  var file_previewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "FilePreviewer" }), {}, {
24
27
  __name: "file-previewer",
25
28
  props: {
@@ -129,6 +132,7 @@ var file_previewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
129
132
  const props = __props;
130
133
  const emit = __emit;
131
134
  const { src, type, visible, defaultVisible, fullscreen, popupContainer, renderToBody, maskClosable, closable, escToClose, title, imageProps, mediaProps, pdfProps } = toRefs(props);
135
+ const { t } = useI18n();
132
136
  const prefixCls = getPrefixCls("file-previewer");
133
137
  const wrapperRef = shallowRef();
134
138
  const status = shallowRef("beforeLoad");
@@ -481,7 +485,7 @@ var file_previewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
481
485
  class: normalizeClass(contentClassNames.value),
482
486
  role: unref(fullscreen) ? "dialog" : "region",
483
487
  "aria-modal": unref(fullscreen) ? "true" : void 0,
484
- "aria-label": unref(title) || "File preview"
488
+ "aria-label": unref(title) || unref(t)("a11y.filePreview")
485
489
  }, [unref(title) || _ctx.$slots.title ? (openBlock(), createElementBlock("header", {
486
490
  key: 0,
487
491
  class: normalizeClass(`${unref(prefixCls)}-header`)
@@ -512,7 +516,7 @@ var file_previewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
512
516
  type: "button",
513
517
  class: normalizeClass(`${unref(prefixCls)}-pdf-btn`),
514
518
  disabled: unref(pdfCurrentPage) <= 1,
515
- "aria-label": "上一页",
519
+ "aria-label": unref(t)("a11y.prevPage"),
516
520
  onClick: _cache[0] || (_cache[0] = (...args) => unref(pdfPrev) && unref(pdfPrev)(...args))
517
521
  }, " ‹ ", 10, _hoisted_3),
518
522
  createElementVNode("span", { class: normalizeClass(`${unref(prefixCls)}-pdf-page`) }, toDisplayString(unref(pdfCurrentPage)) + " / " + toDisplayString(unref(pdfNumPages)), 3),
@@ -520,7 +524,7 @@ var file_previewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
520
524
  type: "button",
521
525
  class: normalizeClass(`${unref(prefixCls)}-pdf-btn`),
522
526
  disabled: unref(pdfCurrentPage) >= unref(pdfNumPages),
523
- "aria-label": "下一页",
527
+ "aria-label": unref(t)("a11y.nextPage"),
524
528
  onClick: _cache[1] || (_cache[1] = (...args) => unref(pdfNext) && unref(pdfNext)(...args))
525
529
  }, " › ", 10, _hoisted_4)
526
530
  ], 2)) : createCommentVNode("", true)], 2)]) : createCommentVNode("", true)])], 2)], 10, _hoisted_2),
@@ -528,15 +532,15 @@ var file_previewer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
528
532
  key: 1,
529
533
  type: "button",
530
534
  class: normalizeClass(`${unref(prefixCls)}-close-btn`),
531
- "aria-label": "关闭",
535
+ "aria-label": unref(t)("a11y.close"),
532
536
  onClick: close
533
- }, [createVNode(unref(IconClose))], 2)) : createCommentVNode("", true),
537
+ }, [createVNode(unref(IconClose))], 10, _hoisted_5)) : createCommentVNode("", true),
534
538
  isLoading.value ? (openBlock(), createElementBlock("div", {
535
539
  key: 2,
536
540
  class: normalizeClass(`${unref(prefixCls)}-loading`),
537
541
  role: "status",
538
- "aria-label": "加载中"
539
- }, [createVNode(unref(IconLoading))], 2)) : createCommentVNode("", true),
542
+ "aria-label": unref(t)("a11y.loading")
543
+ }, [createVNode(unref(IconLoading))], 10, _hoisted_6)) : createCommentVNode("", true),
540
544
  isError.value ? (openBlock(), createElementBlock("div", {
541
545
  key: 3,
542
546
  class: normalizeClass(`${unref(prefixCls)}-error`),
@@ -3,11 +3,11 @@ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helper
3
3
  import { getPrefixCls } from "../_utils/global-config.js";
4
4
  import { useI18n } from "../locale/index.js";
5
5
  import { getValueByPath, setValueByPath } from "../_utils/get-value-by-path.js";
6
+ import { getFinalValidateMessage, getFinalValidateStatus, getFormElementId } from "./utils.js";
6
7
  import grid_col_default from "../grid/grid-col.js";
7
8
  import grid_row_default from "../grid/grid-row.js";
8
9
  import form_item_label_default from "./form-item-label.js";
9
10
  import form_item_message_default from "./form-item-message.js";
10
- import { getFinalValidateMessage, getFinalValidateStatus, getFormElementId } from "./utils.js";
11
11
  import { _objectDestructuringEmpty } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectDestructuringEmpty.js";
12
12
  import { _extends } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/extends.js";
13
13
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, inject, mergeProps, nextTick, normalizeClass, onBeforeUnmount, onMounted, openBlock, provide, reactive, ref, renderSlot, toDisplayString, toRef, toRefs, unref, withCtx } from "vue";
package/es/form/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { getComponentPrefix, setGlobalConfig } from "../_utils/global-config.js";
2
- import form_item_default from "./form-item.js";
3
2
  import form_default from "./form.js";
3
+ import form_item_default from "./form-item.js";
4
4
  //#region components/form/index.ts
5
5
  var Form = Object.assign(form_default, {
6
6
  Item: form_item_default,
@@ -3,8 +3,8 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isNumber, isObject, isString } from "../_utils/is.js";
4
4
  import pick from "../_utils/pick.js";
5
5
  import { responsiveArray } from "../_utils/responsive-observe.js";
6
- import { useResponsiveState } from "./hook/use-responsive-state.js";
7
6
  import { RowContextInjectionKey } from "./context.js";
7
+ import { useResponsiveState } from "./hook/use-responsive-state.js";
8
8
  import { useResponsiveValue } from "./hook/use-responsive-value.js";
9
9
  import { computed, createCommentVNode, createElementBlock, defineComponent, inject, normalizeClass, normalizeStyle, openBlock, renderSlot } from "vue";
10
10
  //#region components/grid/grid-col.vue?vue&type=script&setup=true&lang.ts
@@ -1,8 +1,8 @@
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
3
  import { useIndex } from "../_hooks/use-index.js";
4
- import { useResponsiveState } from "./hook/use-responsive-state.js";
5
4
  import { GridContextInjectionKey, GridDataCollectorInjectionKey } from "./context.js";
5
+ import { useResponsiveState } from "./hook/use-responsive-state.js";
6
6
  import { resolveItemData } from "./utils/index.js";
7
7
  import { computed, createElementBlock, defineComponent, inject, normalizeClass, normalizeStyle, onUnmounted, openBlock, ref, renderSlot, toRefs, watchEffect } from "vue";
8
8
  //#region components/grid/grid-item.vue?vue&type=script&setup=true&lang.ts
@@ -1,7 +1,7 @@
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 { useResponsiveState } from "./hook/use-responsive-state.js";
4
3
  import { RowContextInjectionKey } from "./context.js";
4
+ import { useResponsiveState } from "./hook/use-responsive-state.js";
5
5
  import { computed, createElementBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, provide, reactive, renderSlot, toRefs } from "vue";
6
6
  //#region components/grid/grid-row.vue?vue&type=script&setup=true&lang.ts
7
7
  var grid_row_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Row" }), {}, {
@@ -1,7 +1,7 @@
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 { useResponsiveState } from "./hook/use-responsive-state.js";
4
3
  import { GridContextInjectionKey, GridDataCollectorInjectionKey } from "./context.js";
4
+ import { useResponsiveState } from "./hook/use-responsive-state.js";
5
5
  import { setItemVisible } from "./utils/index.js";
6
6
  import { computed, createElementBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, provide, reactive, renderSlot, toRefs, watchEffect } from "vue";
7
7
  //#region components/grid/grid.vue?vue&type=script&setup=true&lang.ts
@@ -2,8 +2,8 @@ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helper
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isBoolean } from "../_utils/is.js";
4
4
  import { isServerRendering } from "../_utils/dom.js";
5
- import IconLoading from "../icon/icon-loading/index.js";
6
5
  import { useI18n } from "../locale/index.js";
6
+ import IconLoading from "../icon/icon-loading/index.js";
7
7
  import { omit } from "../_utils/omit.js";
8
8
  import useMergeState from "../_hooks/use-merge-state.js";
9
9
  import IconImageClose from "../icon/icon-image-close/index.js";
@@ -1,7 +1,7 @@
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 IconRight from "../icon/icon-right/index.js";
4
3
  import IconLeft from "../icon/icon-left/index.js";
4
+ import IconRight from "../icon/icon-right/index.js";
5
5
  import { createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, unref } from "vue";
6
6
  //#region components/image/preview-arrow.vue?vue&type=script&setup=true&lang.ts
7
7
  var preview_arrow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ImagePreviewArrow" }), {}, {
@@ -4,8 +4,8 @@ import { off, on } from "../_utils/dom.js";
4
4
  import { throttleByRaf } from "../_utils/throttle-by-raf.js";
5
5
  import { KEYBOARD_KEY } from "../_utils/keyboard.js";
6
6
  import IconClose from "../icon/icon-close/index.js";
7
- import IconLoading from "../icon/icon-loading/index.js";
8
7
  import { useI18n } from "../locale/index.js";
8
+ import IconLoading from "../icon/icon-loading/index.js";
9
9
  import usePopupManager from "../_hooks/use-popup-manager.js";
10
10
  import useMergeState from "../_hooks/use-merge-state.js";
11
11
  import usePopupContainer from "../_hooks/use-popup-container.js";
package/es/index.css CHANGED
@@ -15262,9 +15262,6 @@ body.sd-tour-active .sd-tour-popover * {
15262
15262
  min-width: 0;
15263
15263
  border-radius: 4px;
15264
15264
  }
15265
- .sd-json-form-control--inline {
15266
- min-width: 0;
15267
- }
15268
15265
 
15269
15266
  .sd-ellipsis {
15270
15267
  display: inline-block;
@@ -20924,6 +20921,50 @@ body.sd-tour-active .sd-tour-popover * {
20924
20921
  transition: opacity 0.3s cubic-bezier(0.3, 1.3, 0.3, 1), transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1);
20925
20922
  }
20926
20923
 
20924
+ .sd-basic-crud-table {
20925
+ display: flex;
20926
+ flex-direction: column;
20927
+ gap: 8px;
20928
+ width: 100%;
20929
+ min-width: 0;
20930
+ }
20931
+ .sd-basic-crud-table-full-height {
20932
+ height: 100%;
20933
+ min-height: 0;
20934
+ overflow: hidden;
20935
+ }
20936
+ .sd-basic-crud-table-full-height .sd-basic-crud-table-body {
20937
+ display: flex;
20938
+ flex: 1 1 auto;
20939
+ flex-direction: column;
20940
+ min-height: 0;
20941
+ overflow: hidden;
20942
+ }
20943
+ .sd-basic-crud-table-full-height .sd-basic-crud-table-body > .sd-table {
20944
+ display: flex;
20945
+ flex: 1 1 auto;
20946
+ flex-direction: column;
20947
+ min-height: 0;
20948
+ }
20949
+ .sd-basic-crud-table-header {
20950
+ display: flex;
20951
+ flex-direction: column;
20952
+ gap: 8px;
20953
+ }
20954
+ .sd-basic-crud-table-header-actions {
20955
+ display: flex;
20956
+ justify-content: flex-end;
20957
+ }
20958
+ .sd-basic-crud-table-title {
20959
+ margin: 0;
20960
+ color: var(--sd-color-text-1);
20961
+ font-size: 24px;
20962
+ }
20963
+ .sd-basic-crud-table-body {
20964
+ width: 100%;
20965
+ min-width: 0;
20966
+ }
20967
+
20927
20968
  .sd-back-top {
20928
20969
  position: fixed;
20929
20970
  right: 24px;
package/es/index.d.ts CHANGED
@@ -18,6 +18,8 @@ export { default as BorderBeam } from './border-beam';
18
18
  export type { BorderBeamInstance, BorderBeamSize, BorderBeamTheme, BorderBeamColorVariant, BorderBeamFlowPreset, BorderBeamFlowPoint, BorderBeamFlowCoordinate, BorderBeamExposed, } from './border-beam';
19
19
  export { default as Badge } from './badge';
20
20
  export type { BadgeInstance } from './badge';
21
+ export { default as BasicCrudTable } from './basic-crud-table';
22
+ export type { BasicCrudTableActionSlotProps, BasicCrudTableDataResult, BasicCrudTableInstance, BasicCrudTableModalFormProps, BasicCrudTableModalProps, BasicCrudTableModalSlotProps, BasicCrudTableModalSubmitContext, BasicCrudTableProps, BasicCrudTableTableProps, BasicCrudTableToolbarProps, InferBasicCrudTableRow, InferBasicCrudTableRowFromValue, MaybePromise, } from './basic-crud-table';
21
23
  export { default as Breadcrumb, BreadcrumbItem } from './breadcrumb';
22
24
  export type { BreadcrumbInstance, BreadcrumbItemInstance, BreadcrumbRoute } from './breadcrumb';
23
25
  export { default as Button, ButtonGroup } from './button';