@sdata/web-vue 3.12.0 → 3.14.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 (287) hide show
  1. package/dist/sd.css +288 -126
  2. package/dist/sd.min.css +43 -1
  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/input-range.vue.d.ts +6 -7
  7. package/es/_components/picker/input-range.vue_vue_type_script_setup_true_lang.js +63 -46
  8. package/es/_components/picker/input.vue.d.ts +5 -6
  9. package/es/_components/picker/input.vue_vue_type_script_setup_true_lang.js +52 -35
  10. package/es/_components/picker/style/index.scss +8 -2
  11. package/es/_components/resize-observer.js +1 -1
  12. package/es/_components/resize-trigger.vue_vue_type_script_setup_true_lang.js +9 -2
  13. package/es/_components/select-view/select-view.d.ts +2 -0
  14. package/es/_components/select-view/select-view.js +5 -1
  15. package/es/_components/select-view/style/index.css +5 -5
  16. package/es/_hooks/use-focus-trap.d.ts +10 -0
  17. package/es/_hooks/use-focus-trap.js +115 -0
  18. package/es/_hooks/use-readonly-tip.d.ts +11 -0
  19. package/es/_hooks/use-readonly-tip.js +66 -0
  20. package/es/_utils/dom.js +1 -10
  21. package/es/_utils/keyboard.d.ts +4 -0
  22. package/es/_utils/keyboard.js +21 -2
  23. package/es/alert/alert.vue.d.ts +2 -2
  24. package/es/alert/alert.vue_vue_type_script_setup_true_lang.js +12 -3
  25. package/es/alert/index.d.ts +5 -5
  26. package/es/alert/style/index.css +1 -1
  27. package/es/alert/style/index.scss +1 -1
  28. package/es/anchor/anchor-link.vue_vue_type_script_setup_true_lang.js +3 -1
  29. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +2 -0
  30. package/es/anchor/style/index.css +1 -1
  31. package/es/anchor/style/index.scss +3 -1
  32. package/es/auto-complete/auto-complete.d.ts +9 -0
  33. package/es/auto-complete/auto-complete.js +19 -1
  34. package/es/auto-complete/index.d.ts +15 -0
  35. package/es/avatar/avatar.vue_vue_type_script_setup_true_lang.js +8 -2
  36. package/es/avatar/style/index.css +2 -2
  37. package/es/avatar/style/index.scss +2 -2
  38. package/es/back-top/back-top.vue_vue_type_script_setup_true_lang.js +5 -1
  39. package/es/back-top/style/index.css +1 -1
  40. package/es/back-top/style/index.scss +2 -1
  41. package/es/badge/badge.js +4 -1
  42. package/es/badge/style/index.css +3 -3
  43. package/es/badge/style/index.scss +3 -3
  44. package/es/breadcrumb/breadcrumb.js +1 -0
  45. package/es/button/button.vue.d.ts +16 -7
  46. package/es/button/button.vue_vue_type_script_setup_true_lang.js +62 -31
  47. package/es/button/index.d.ts +11 -0
  48. package/es/button/interface.d.ts +2 -0
  49. package/es/button/style/index.css +15 -6
  50. package/es/button/style/index.scss +25 -7
  51. package/es/calendar/style/event.scss +2 -2
  52. package/es/calendar/style/index.css +2 -2
  53. package/es/card/card.d.ts +312 -0
  54. package/es/card/card.js +39 -7
  55. package/es/card/index.d.ts +616 -0
  56. package/es/card/style/index.css +26 -3
  57. package/es/card/style/index.scss +34 -3
  58. package/es/carousel/carousel-arrow.vue.d.ts +4 -4
  59. package/es/carousel/carousel-arrow.vue_vue_type_script_setup_true_lang.js +20 -4
  60. package/es/carousel/carousel-indicator.vue_vue_type_script_setup_true_lang.js +23 -4
  61. package/es/carousel/carousel-item.vue_vue_type_script_setup_true_lang.js +8 -1
  62. package/es/carousel/carousel.js +18 -1
  63. package/es/carousel/style/index.css +1 -1
  64. package/es/carousel/style/index.scss +1 -1
  65. package/es/cascader/cascader.vue.d.ts +9 -8
  66. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +158 -128
  67. package/es/cascader/style/index.css +2 -2
  68. package/es/cascader/style/index.scss +3 -1
  69. package/es/cascader/types.d.ts +1 -0
  70. package/es/checkbox/checkbox-group.js +4 -1
  71. package/es/checkbox/checkbox.d.ts +9 -0
  72. package/es/checkbox/checkbox.js +14 -0
  73. package/es/checkbox/index.d.ts +15 -0
  74. package/es/checkbox/style/index.css +1 -1
  75. package/es/checkbox/style/index.scss +1 -1
  76. package/es/collapse/collapse-item.js +21 -3
  77. package/es/collapse/context.d.ts +1 -1
  78. package/es/color-picker/color-picker.d.ts +9 -0
  79. package/es/color-picker/color-picker.js +39 -11
  80. package/es/color-picker/index.d.ts +15 -0
  81. package/es/config-provider/context.d.ts +9 -9
  82. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +11 -3
  83. package/es/date-picker/index.d.ts +3 -6
  84. package/es/date-picker/panels/body.vue_vue_type_script_setup_true_lang.js +14 -1
  85. package/es/date-picker/picker.vue.d.ts +2 -3
  86. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +6 -5
  87. package/es/date-picker/range-picker.vue.d.ts +2 -3
  88. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +4 -4
  89. package/es/date-picker/style/index.css +5 -5
  90. package/es/date-picker/style/index.scss +4 -3
  91. package/es/drawer/drawer.vue.d.ts +1 -1
  92. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +30 -9
  93. package/es/drawer/index.d.ts +3 -3
  94. package/es/dropdown/dropdown-option.vue_vue_type_script_setup_true_lang.js +5 -1
  95. package/es/dropdown/dropdown-panel.vue.d.ts +9 -0
  96. package/es/dropdown/dropdown-panel.vue_vue_type_script_setup_true_lang.js +75 -2
  97. package/es/dropdown/dropdown-submenu.vue_vue_type_script_setup_true_lang.js +5 -2
  98. package/es/dropdown/dropdown.vue_vue_type_script_setup_true_lang.js +4 -2
  99. package/es/dropdown/style/index.css +1 -1
  100. package/es/dropdown/style/index.scss +3 -1
  101. package/es/empty/empty.js +1 -1
  102. package/es/file-previewer/file-previewer.vue.d.ts +1 -1
  103. package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +7 -3
  104. package/es/file-previewer/index.d.ts +3 -3
  105. package/es/form/context.d.ts +1 -0
  106. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +6 -2
  107. package/es/form/style/index.css +2 -2
  108. package/es/form/style/index.scss +2 -2
  109. package/es/image/image.vue_vue_type_script_setup_true_lang.js +1 -1
  110. package/es/image/preview-action.d.ts +7 -127
  111. package/es/image/preview.vue.d.ts +1 -1
  112. package/es/image/preview.vue_vue_type_script_setup_true_lang.js +3 -3
  113. package/es/index.css +288 -126
  114. package/es/index.js +3 -3
  115. package/es/input/index.d.ts +6 -6
  116. package/es/input/input.d.ts +3 -3
  117. package/es/input/input.js +34 -8
  118. package/es/input/style/index.css +2 -2
  119. package/es/input/style/input.scss +4 -4
  120. package/es/input-number/index.d.ts +9 -9
  121. package/es/input-number/input-number.d.ts +5 -5
  122. package/es/input-number/input-number.js +13 -9
  123. package/es/input-number/style/index.css +3 -3
  124. package/es/input-number/style/index.scss +5 -1
  125. package/es/input-tag/index.d.ts +9 -6
  126. package/es/input-tag/input-tag.d.ts +5 -3
  127. package/es/input-tag/input-tag.js +49 -36
  128. package/es/input-tag/style/index.css +8 -8
  129. package/es/input-tag/style/index.scss +11 -5
  130. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +31 -6
  131. package/es/layout/style/index.css +2 -2
  132. package/es/layout/style/index.scss +4 -2
  133. package/es/link/style/index.css +1 -1
  134. package/es/link/style/index.scss +3 -1
  135. package/es/locale/interface.d.ts +1 -0
  136. package/es/locale/lang/en-us.js +1 -0
  137. package/es/locale/lang/zh-cn.js +1 -0
  138. package/es/locale/lang/zh-tw.js +1 -0
  139. package/es/mention/index.d.ts +15 -0
  140. package/es/mention/mention.d.ts +9 -0
  141. package/es/mention/mention.js +20 -1
  142. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +30 -4
  143. package/es/menu/item.js +14 -1
  144. package/es/menu/style/index.css +6 -6
  145. package/es/menu/style/index.scss +5 -3
  146. package/es/message/style/index.css +3 -3
  147. package/es/message/style/index.scss +5 -3
  148. package/es/modal/index.d.ts +3 -3
  149. package/es/modal/modal.vue.d.ts +1 -1
  150. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +30 -15
  151. package/es/modal/style/index.css +2 -2
  152. package/es/modal/style/index.scss +3 -2
  153. package/es/notification/style/index.css +3 -3
  154. package/es/notification/style/index.scss +11 -3
  155. package/es/page-header/page-header.vue.d.ts +6 -6
  156. package/es/page-header/page-header.vue_vue_type_script_setup_true_lang.js +12 -1
  157. package/es/pagination/page-item-ellipsis.vue_vue_type_script_setup_true_lang.js +12 -2
  158. package/es/pagination/page-item-step.vue.d.ts +2 -2
  159. package/es/pagination/page-item-step.vue_vue_type_script_setup_true_lang.js +19 -2
  160. package/es/pagination/page-item.vue.d.ts +2 -2
  161. package/es/pagination/page-item.vue_vue_type_script_setup_true_lang.js +21 -3
  162. package/es/pagination/pagination.js +6 -2
  163. package/es/pagination/style/index.css +6 -1
  164. package/es/pagination/style/index.scss +9 -3
  165. package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +4 -2
  166. package/es/popover/popover.vue_vue_type_script_setup_true_lang.js +3 -1
  167. package/es/progress/style/index.css +2 -2
  168. package/es/progress/style/index.scss +5 -3
  169. package/es/qr-code/qr-code-status.vue_vue_type_script_setup_true_lang.js +5 -1
  170. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +11 -6
  171. package/es/radio/context.d.ts +1 -0
  172. package/es/radio/radio-group.js +6 -2
  173. package/es/radio/radio.js +1 -0
  174. package/es/radio/style/index.css +2 -2
  175. package/es/radio/style/index.scss +4 -2
  176. package/es/rate/index.d.ts +6 -6
  177. package/es/rate/rate.d.ts +3 -3
  178. package/es/rate/rate.js +42 -8
  179. package/es/resize-box/resize-box.vue.d.ts +4 -4
  180. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +30 -1
  181. package/es/result/result.vue_vue_type_script_setup_true_lang.js +7 -4
  182. package/es/scrollbar/style/index.css +57 -15
  183. package/es/scrollbar/style/index.scss +63 -15
  184. package/es/sd-vue.js +3 -3
  185. package/es/secret/secret.vue_vue_type_script_setup_true_lang.js +1 -1
  186. package/es/select/index.d.ts +139 -0
  187. package/es/select/select-dropdown.vue_vue_type_script_setup_true_lang.js +4 -1
  188. package/es/select/select.d.ts +71 -0
  189. package/es/select/select.js +45 -6
  190. package/es/select/style/index.css +1 -1
  191. package/es/select/style/index.scss +3 -1
  192. package/es/selectable-card/style/index.css +2 -2
  193. package/es/selectable-card/style/index.scss +5 -5
  194. package/es/skeleton/skeleton.vue_vue_type_script_setup_true_lang.js +5 -1
  195. package/es/slider/slider-button.vue.d.ts +2 -0
  196. package/es/slider/slider-button.vue_vue_type_script_setup_true_lang.js +7 -2
  197. package/es/slider/slider.vue_vue_type_script_setup_true_lang.js +23 -2
  198. package/es/slider/style/index.css +1 -1
  199. package/es/slider/style/index.scss +3 -1
  200. package/es/spin/spin.js +7 -2
  201. package/es/spin/style/index.css +1 -1
  202. package/es/spin/style/index.scss +1 -1
  203. package/es/split/split.vue.d.ts +4 -4
  204. package/es/split/split.vue_vue_type_script_setup_true_lang.js +27 -3
  205. package/es/steps/context.d.ts +1 -0
  206. package/es/steps/step.vue_vue_type_script_setup_true_lang.js +15 -2
  207. package/es/steps/steps.vue_vue_type_script_setup_true_lang.js +6 -1
  208. package/es/steps/style/index.css +1 -1
  209. package/es/steps/style/index.scss +1 -1
  210. package/es/style/animation/index.scss +1 -0
  211. package/es/style/animation/reduced-motion.scss +22 -0
  212. package/es/style/animation/zoom.scss +7 -6
  213. package/es/style/icon.scss +9 -1
  214. package/es/style/normalize.scss +68 -0
  215. package/es/switch/style/index.css +1 -1
  216. package/es/switch/style/index.scss +4 -1
  217. package/es/switch/switch.vue_vue_type_script_setup_true_lang.js +6 -1
  218. package/es/table/style/index.css +8 -8
  219. package/es/table/style/index.scss +11 -8
  220. package/es/table/table-operation-td.d.ts +15 -0
  221. package/es/table/table-tbody.js +4 -1
  222. package/es/table/table-td.js +2 -1
  223. package/es/table/table-th.js +6 -4
  224. package/es/table/table-thead.js +4 -1
  225. package/es/table/table-tr.js +4 -1
  226. package/es/table/table.js +6 -2
  227. package/es/tabs/context.d.ts +3 -0
  228. package/es/tabs/index.d.ts +32 -0
  229. package/es/tabs/style/index.css +34 -5
  230. package/es/tabs/style/index.scss +45 -7
  231. package/es/tabs/tab-pane.vue.d.ts +4 -2
  232. package/es/tabs/tab-pane.vue_vue_type_script_setup_true_lang.js +39 -4
  233. package/es/tabs/tabs-nav.js +34 -1
  234. package/es/tabs/tabs-tab.vue_vue_type_script_setup_true_lang.js +27 -4
  235. package/es/tabs/tabs.d.ts +19 -0
  236. package/es/tabs/tabs.js +25 -2
  237. package/es/tag/index.d.ts +5 -5
  238. package/es/tag/style/index.css +1 -1
  239. package/es/tag/style/index.scss +3 -1
  240. package/es/tag/tag.vue.d.ts +2 -2
  241. package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +19 -2
  242. package/es/textarea/index.d.ts +15 -0
  243. package/es/textarea/style/index.css +2 -2
  244. package/es/textarea/textarea.vue.d.ts +11 -2
  245. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +84 -47
  246. package/es/time-picker/index.d.ts +3 -6
  247. package/es/time-picker/panel.vue_vue_type_script_setup_true_lang.js +1 -1
  248. package/es/time-picker/time-column.vue_vue_type_script_setup_true_lang.js +11 -3
  249. package/es/time-picker/time-picker.vue.d.ts +2 -3
  250. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +12 -6
  251. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +1 -1
  252. package/es/tooltip/index.d.ts +8 -127
  253. package/es/tooltip/interface.d.ts +17 -0
  254. package/es/tooltip/tooltip.vue.d.ts +5 -88
  255. package/es/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js +9 -69
  256. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +1 -1
  257. package/es/transfer/style/index.css +1 -1
  258. package/es/transfer/style/index.scss +1 -1
  259. package/es/transfer/transfer-list-item.js +16 -2
  260. package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +27 -7
  261. package/es/tree/context.d.ts +2 -0
  262. package/es/tree/style/index.css +1 -1
  263. package/es/tree/style/index.scss +1 -1
  264. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +82 -3
  265. package/es/tree-select/tree-select.vue.d.ts +16 -10
  266. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +165 -133
  267. package/es/trigger/index.d.ts +45 -0
  268. package/es/trigger/trigger.d.ts +27 -0
  269. package/es/trigger/trigger.js +47 -5
  270. package/es/typography/base.js +1 -1
  271. package/es/typography/edit-content.vue_vue_type_script_setup_true_lang.js +11 -8
  272. package/es/typography/operations.vue_vue_type_script_setup_true_lang.js +38 -6
  273. package/es/typography/style/index.css +2 -2
  274. package/es/typography/style/index.scss +2 -2
  275. package/es/upload/style/index.css +9 -9
  276. package/es/upload/style/index.scss +15 -9
  277. package/es/upload/upload-button.js +1 -1
  278. package/es/upload/upload-list-item.js +18 -5
  279. package/es/upload/upload-picture-item.js +25 -3
  280. package/es/verification-code/index.d.ts +15 -6
  281. package/es/verification-code/verification-code.d.ts +9 -3
  282. package/es/verification-code/verification-code.js +10 -2
  283. package/json/vetur-attributes.json +63 -7
  284. package/json/vetur-tags.json +23 -7
  285. package/json/web-types.json +131 -10
  286. package/package.json +1 -1
  287. package/es/style/base.scss +0 -18
@@ -1,11 +1,13 @@
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 { isArray, isFunction, isNull, isUndefined } from "../_utils/is.js";
4
+ import { KEYBOARD_KEY, getKeyDownHandler } from "../_utils/keyboard.js";
4
5
  import { useAllowClear } from "../_hooks/use-allow-clear.js";
5
6
  import { useDropdownVirtualListProps } from "../_hooks/use-dropdown-virtual-list-props.js";
6
7
  import { resolveDropdownVirtualListProps } from "../_utils/virtual-dropdown.js";
7
- import { KEYBOARD_KEY, getKeyDownHandler } from "../_utils/keyboard.js";
8
+ import { useReadonlyTip, useReadonlyTipText } from "../_hooks/use-readonly-tip.js";
8
9
  import Trigger from "../trigger/index.js";
10
+ import Tooltip from "../tooltip/index.js";
9
11
  import { useTrigger } from "../_hooks/use-trigger.js";
10
12
  import { cascaderInjectionKey } from "./context.js";
11
13
  import { getCheckedStatus, getLeafOptionInfos, getLeafOptionKeys, getOptionInfos, getOptionLabel, getValidValues, getValueKey } from "./utils.js";
@@ -15,7 +17,7 @@ import select_view_default from "../_components/select-view/select-view.js";
15
17
  import { useAllowSearch } from "../_hooks/use-allow-search.js";
16
18
  import { debounce } from "../_utils/debounce.js";
17
19
  import cascader_search_panel_default from "./cascader-search-panel.js";
18
- import { computed, createBlock, createSlots, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, mergeProps, normalizeProps, openBlock, provide, reactive, ref, renderSlot, toRefs, unref, useAttrs, useSlots, watch, withCtx } from "vue";
20
+ import { computed, createBlock, createSlots, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, mergeProps, normalizeProps, openBlock, provide, reactive, ref, renderSlot, toRef, toRefs, unref, useAttrs, useSlots, watch, withCtx } from "vue";
19
21
  //#region components/cascader/cascader.vue?vue&type=script&setup=true&lang.ts
20
22
  var DEFAULT_CASCADER_VIRTUAL_ITEM_SIZE = 36;
21
23
  var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
@@ -39,6 +41,10 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
39
41
  type: Boolean,
40
42
  default: false
41
43
  },
44
+ readonly: {
45
+ type: [Boolean, String],
46
+ default: false
47
+ },
42
48
  error: {
43
49
  type: Boolean,
44
50
  default: false
@@ -155,7 +161,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
155
161
  const mergedShow = computed(() => {
156
162
  if (hasTriggerProp(["show"])) return props.show;
157
163
  });
158
- const { computedPopupVisible, handlePopupVisibleChange } = useTrigger({
164
+ const { computedPopupVisible, handlePopupVisibleChange: _handlePopupVisibleChange } = useTrigger({
159
165
  popupVisible: mergedPopupVisible,
160
166
  defaultPopupVisible: computed(() => {
161
167
  if (hasTriggerProp(["defaultPopupVisible", "default-popup-visible"])) return props.defaultPopupVisible;
@@ -166,10 +172,25 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
166
172
  }),
167
173
  emit
168
174
  });
175
+ const { tipVisible, show: showReadonlyTip } = useReadonlyTip(toRef(props, "readonly"), mergedDisabled);
176
+ const readonlyTipText = useReadonlyTipText(toRef(props, "readonly"));
177
+ const handlePopupVisibleChange = (visible) => {
178
+ if (visible && props.readonly && !mergedDisabled.value) {
179
+ showReadonlyTip();
180
+ return;
181
+ }
182
+ _handlePopupVisibleChange(visible);
183
+ };
169
184
  const mergedTriggerProps = computed(() => {
170
185
  var _props$triggerProps;
171
186
  return (_props$triggerProps = props.triggerProps) !== null && _props$triggerProps !== void 0 ? _props$triggerProps : {};
172
187
  });
188
+ const triggerInputAttrs = computed(() => ({
189
+ "role": "combobox",
190
+ "aria-expanded": computedPopupVisible.value,
191
+ "aria-haspopup": "menu",
192
+ "aria-autocomplete": mergedAllowSearch.value ? "list" : "none"
193
+ }));
173
194
  watch(modelValue, (nextModelValue) => {
174
195
  if (isUndefined(nextModelValue) || isNull(nextModelValue)) _value.value = getDefaultValue(props.multiple, props.pathMode);
175
196
  });
@@ -451,136 +472,145 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
451
472
  return result;
452
473
  });
453
474
  return (_ctx, _cache) => {
454
- return openBlock(), createBlock(unref(Trigger), mergeProps(mergedTriggerProps.value, {
455
- trigger: "click",
456
- "animation-name": "slide-dynamic-origin",
457
- "auto-fit-transform-origin": "",
458
- "popup-visible": unref(computedPopupVisible),
459
- position: "bl",
460
- disabled: unref(mergedDisabled),
461
- "popup-offset": 4,
462
- "auto-fit-popup-width": showSearchPanel.value,
463
- "popup-container": unref(popupContainer),
464
- "prevent-focus": true,
465
- "click-to-close": !Boolean(unref(mergedAllowSearch)),
466
- onPopupVisibleChange: unref(handlePopupVisibleChange)
467
- }), {
468
- content: withCtx(() => [showSearchPanel.value ? (openBlock(), createBlock(unref(cascader_search_panel_default), {
469
- key: 0,
470
- options: filteredLeafOptions.value,
471
- "active-key": unref(activeKey),
472
- multiple: unref(multiple),
473
- "check-strictly": unref(checkStrictly),
474
- loading: unref(loading),
475
- "path-label": !unref(searchOptionOnlyLabel)
476
- }, createSlots({ _: 2 }, [_ctx.$slots.empty ? {
477
- name: "empty",
478
- fn: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
479
- key: "0"
480
- } : void 0]), 1032, [
481
- "options",
482
- "active-key",
483
- "multiple",
484
- "check-strictly",
485
- "loading",
486
- "path-label"
487
- ])) : (openBlock(), createBlock(unref(base_cascader_panel_default), {
488
- key: 1,
489
- "display-columns": unref(displayColumns),
490
- "selected-path": unref(selectedPath),
491
- "active-key": unref(activeKey),
492
- multiple: unref(multiple),
493
- "total-level": totalLevel.value,
494
- "check-strictly": unref(checkStrictly),
495
- loading: unref(loading),
496
- "virtual-list-props": resolvedVirtualListProps.value,
497
- dropdown: ""
498
- }, createSlots({ _: 2 }, [_ctx.$slots.empty ? {
499
- name: "empty",
500
- fn: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
501
- key: "0"
502
- } : void 0]), 1032, [
503
- "display-columns",
504
- "selected-path",
505
- "active-key",
506
- "multiple",
507
- "total-level",
508
- "check-strictly",
509
- "loading",
510
- "virtual-list-props"
511
- ]))]),
512
- default: withCtx(() => [createVNode(unref(select_view_default), mergeProps({
513
- "model-value": selectViewValue.value,
514
- "input-value": computedInputValue.value,
475
+ return openBlock(), createBlock(unref(Tooltip), {
476
+ "popup-visible": unref(tipVisible),
477
+ content: unref(readonlyTipText),
478
+ position: "top"
479
+ }, {
480
+ default: withCtx(() => [createVNode(unref(Trigger), mergeProps(mergedTriggerProps.value, {
481
+ trigger: "click",
482
+ "animation-name": "slide-dynamic-origin",
483
+ "auto-fit-transform-origin": "",
484
+ "popup-visible": unref(computedPopupVisible),
485
+ position: "bl",
515
486
  disabled: unref(mergedDisabled),
516
- error: unref(error),
517
- multiple: unref(multiple),
518
- "allow-clear": unref(mergedAllowClear),
519
- "allow-search": Boolean(unref(mergedAllowSearch)),
520
- size: unref(size),
521
- opened: unref(computedPopupVisible),
522
- placeholder: unref(placeholder),
523
- loading: unref(loading),
524
- "max-tag-count": unref(maxTagCount),
525
- "tag-nowrap": unref(tagNowrap)
526
- }, unref(attrs), {
527
- onInputValueChange: handleInputValueChange,
528
- onClear: handleClear,
529
- onFocus: handleFocus,
530
- onBlur: handleBlur,
531
- onRemove: handleRemove,
532
- onKeydown: unref(handleKeyDown)
533
- }), createSlots({ _: 2 }, [
534
- _ctx.$slots.label ? {
535
- name: "label",
536
- fn: withCtx((data) => [renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps(data)))]),
487
+ "popup-offset": 4,
488
+ "auto-fit-popup-width": showSearchPanel.value,
489
+ "popup-container": unref(popupContainer),
490
+ "prevent-focus": true,
491
+ "click-to-close": !Boolean(unref(mergedAllowSearch)),
492
+ "aria-has-popup": "menu",
493
+ onPopupVisibleChange: handlePopupVisibleChange
494
+ }), {
495
+ content: withCtx(() => [showSearchPanel.value ? (openBlock(), createBlock(unref(cascader_search_panel_default), {
496
+ key: 0,
497
+ options: filteredLeafOptions.value,
498
+ "active-key": unref(activeKey),
499
+ multiple: unref(multiple),
500
+ "check-strictly": unref(checkStrictly),
501
+ loading: unref(loading),
502
+ "path-label": !unref(searchOptionOnlyLabel)
503
+ }, createSlots({ _: 2 }, [_ctx.$slots.empty ? {
504
+ name: "empty",
505
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
506
+ key: "0"
507
+ } : void 0]), 1032, [
508
+ "options",
509
+ "active-key",
510
+ "multiple",
511
+ "check-strictly",
512
+ "loading",
513
+ "path-label"
514
+ ])) : (openBlock(), createBlock(unref(base_cascader_panel_default), {
515
+ key: 1,
516
+ "display-columns": unref(displayColumns),
517
+ "selected-path": unref(selectedPath),
518
+ "active-key": unref(activeKey),
519
+ multiple: unref(multiple),
520
+ "total-level": totalLevel.value,
521
+ "check-strictly": unref(checkStrictly),
522
+ loading: unref(loading),
523
+ "virtual-list-props": resolvedVirtualListProps.value,
524
+ dropdown: ""
525
+ }, createSlots({ _: 2 }, [_ctx.$slots.empty ? {
526
+ name: "empty",
527
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
537
528
  key: "0"
538
- } : void 0,
539
- _ctx.$slots.prefix ? {
540
- name: "prefix",
541
- fn: withCtx(() => [renderSlot(_ctx.$slots, "prefix")]),
542
- key: "1"
543
- } : void 0,
544
- _ctx.$slots["arrow-icon"] ? {
545
- name: "arrow-icon",
546
- fn: withCtx(() => [renderSlot(_ctx.$slots, "arrow-icon")]),
547
- key: "2"
548
- } : void 0,
549
- _ctx.$slots["loading-icon"] ? {
550
- name: "loading-icon",
551
- fn: withCtx(() => [renderSlot(_ctx.$slots, "loading-icon")]),
552
- key: "3"
553
- } : void 0,
554
- _ctx.$slots["search-icon"] ? {
555
- name: "search-icon",
556
- fn: withCtx(() => [renderSlot(_ctx.$slots, "search-icon")]),
557
- key: "4"
558
- } : void 0
559
- ]), 1040, [
560
- "model-value",
561
- "input-value",
529
+ } : void 0]), 1032, [
530
+ "display-columns",
531
+ "selected-path",
532
+ "active-key",
533
+ "multiple",
534
+ "total-level",
535
+ "check-strictly",
536
+ "loading",
537
+ "virtual-list-props"
538
+ ]))]),
539
+ default: withCtx(() => [createVNode(unref(select_view_default), mergeProps({
540
+ "model-value": selectViewValue.value,
541
+ "input-value": computedInputValue.value,
542
+ disabled: unref(mergedDisabled),
543
+ error: unref(error),
544
+ multiple: unref(multiple),
545
+ "allow-clear": unref(mergedAllowClear),
546
+ "allow-search": Boolean(unref(mergedAllowSearch)),
547
+ size: unref(size),
548
+ opened: unref(computedPopupVisible),
549
+ placeholder: unref(placeholder),
550
+ loading: unref(loading),
551
+ "max-tag-count": unref(maxTagCount),
552
+ "tag-nowrap": unref(tagNowrap),
553
+ "input-attrs": triggerInputAttrs.value
554
+ }, unref(attrs), {
555
+ onInputValueChange: handleInputValueChange,
556
+ onClear: handleClear,
557
+ onFocus: handleFocus,
558
+ onBlur: handleBlur,
559
+ onRemove: handleRemove,
560
+ onKeydown: unref(handleKeyDown)
561
+ }), createSlots({ _: 2 }, [
562
+ _ctx.$slots.label ? {
563
+ name: "label",
564
+ fn: withCtx((data) => [renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps(data)))]),
565
+ key: "0"
566
+ } : void 0,
567
+ _ctx.$slots.prefix ? {
568
+ name: "prefix",
569
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "prefix")]),
570
+ key: "1"
571
+ } : void 0,
572
+ _ctx.$slots["arrow-icon"] ? {
573
+ name: "arrow-icon",
574
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "arrow-icon")]),
575
+ key: "2"
576
+ } : void 0,
577
+ _ctx.$slots["loading-icon"] ? {
578
+ name: "loading-icon",
579
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "loading-icon")]),
580
+ key: "3"
581
+ } : void 0,
582
+ _ctx.$slots["search-icon"] ? {
583
+ name: "search-icon",
584
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "search-icon")]),
585
+ key: "4"
586
+ } : void 0
587
+ ]), 1040, [
588
+ "model-value",
589
+ "input-value",
590
+ "disabled",
591
+ "error",
592
+ "multiple",
593
+ "allow-clear",
594
+ "allow-search",
595
+ "size",
596
+ "opened",
597
+ "placeholder",
598
+ "loading",
599
+ "max-tag-count",
600
+ "tag-nowrap",
601
+ "input-attrs",
602
+ "onKeydown"
603
+ ])]),
604
+ _: 3
605
+ }, 16, [
606
+ "popup-visible",
562
607
  "disabled",
563
- "error",
564
- "multiple",
565
- "allow-clear",
566
- "allow-search",
567
- "size",
568
- "opened",
569
- "placeholder",
570
- "loading",
571
- "max-tag-count",
572
- "tag-nowrap",
573
- "onKeydown"
608
+ "auto-fit-popup-width",
609
+ "popup-container",
610
+ "click-to-close"
574
611
  ])]),
575
612
  _: 3
576
- }, 16, [
577
- "popup-visible",
578
- "disabled",
579
- "auto-fit-popup-width",
580
- "popup-container",
581
- "click-to-close",
582
- "onPopupVisibleChange"
583
- ]);
613
+ }, 8, ["popup-visible", "content"]);
584
614
  };
585
615
  }
586
616
  }));
@@ -85,7 +85,7 @@
85
85
  .sd-select-dropdown .sd-select-option-active, .sd-select-dropdown .sd-select-option:not(.sd-select-dropdown .sd-select-option-disabled):hover {
86
86
  color: var(--sd-color-text-1);
87
87
  background-color: var(--sd-color-fill-2);
88
- transition: all 0.1s cubic-bezier(0, 0, 1, 1);
88
+ 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);
89
89
  }
90
90
  .sd-select-dropdown .sd-select-option-disabled {
91
91
  color: var(--sd-color-text-4);
@@ -289,7 +289,7 @@
289
289
  .sd-cascader-option-active {
290
290
  color: var(--sd-color-text-1);
291
291
  background-color: var(--sd-color-fill-2);
292
- transition: all 0.2s cubic-bezier(0, 0, 1, 1);
292
+ transition: color 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), background-color 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
293
293
  }
294
294
  .sd-cascader-option-active:hover {
295
295
  color: var(--sd-color-text-1);
@@ -217,7 +217,9 @@ $cascader-prefix-cls: string.unquote('#{theme.$prefix}-cascader');
217
217
  &-active {
218
218
  color: $cascader-color-item-text_active;
219
219
  background-color: $cascader-color-item-bg_active;
220
- transition: all theme.$transition-duration-2 theme.$transition-timing-function-linear;
220
+ transition:
221
+ color theme.$transition-duration-2 theme.$transition-timing-function-standard,
222
+ background-color theme.$transition-duration-2 theme.$transition-timing-function-standard;
221
223
 
222
224
  &:hover {
223
225
  color: $cascader-color-item-text_active;
@@ -10,6 +10,7 @@ export interface CascaderProps {
10
10
  defaultValue?: CascaderModelValue;
11
11
  options?: CascaderOption[];
12
12
  disabled?: boolean;
13
+ readonly?: boolean | string;
13
14
  error?: boolean;
14
15
  size?: Size;
15
16
  allowSearch?: boolean;
@@ -130,7 +130,10 @@ var checkbox_group_default = /* @__PURE__ */ defineComponent({
130
130
  };
131
131
  return () => {
132
132
  var _slots$default;
133
- 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)]);
133
+ return createVNode("span", {
134
+ "role": "group",
135
+ "class": cls.value
136
+ }, [options.value.length > 0 ? renderOptions() : (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]);
134
137
  };
135
138
  }
136
139
  });
@@ -19,6 +19,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
19
19
  type: BooleanConstructor;
20
20
  default: boolean;
21
21
  };
22
+ tabindex: {
23
+ type: (StringConstructor | NumberConstructor)[];
24
+ default: undefined;
25
+ };
22
26
  uninjectGroupContext: {
23
27
  type: BooleanConstructor;
24
28
  default: boolean;
@@ -46,6 +50,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
46
50
  type: BooleanConstructor;
47
51
  default: boolean;
48
52
  };
53
+ tabindex: {
54
+ type: (StringConstructor | NumberConstructor)[];
55
+ default: undefined;
56
+ };
49
57
  uninjectGroupContext: {
50
58
  type: BooleanConstructor;
51
59
  default: boolean;
@@ -58,6 +66,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
58
66
  modelValue: boolean | (string | number | boolean)[];
59
67
  defaultChecked: boolean;
60
68
  indeterminate: boolean;
69
+ tabindex: string | number;
61
70
  uninjectGroupContext: boolean;
62
71
  }, {}, {
63
72
  IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -55,6 +55,14 @@ var checkbox_default = /* @__PURE__ */ defineComponent({
55
55
  type: Boolean,
56
56
  default: false
57
57
  },
58
+ /**
59
+ * @zh 原生 input 的 tabindex(默认不渲染,input 保持原生可聚焦;树节点内传 -1 把 checkbox 移出 Tab 序列,改由 treeitem 统一聚焦/操作)
60
+ * @en tabindex for the native input (omitted by default so the input stays natively focusable; pass -1 in tree nodes to remove the checkbox from the Tab order and operate it via the treeitem)
61
+ */
62
+ tabindex: {
63
+ type: [Number, String],
64
+ default: void 0
65
+ },
58
66
  uninjectGroupContext: {
59
67
  type: Boolean,
60
68
  default: false
@@ -149,6 +157,11 @@ var checkbox_default = /* @__PURE__ */ defineComponent({
149
157
  if (_checked.value !== checked) _checked.value = checked;
150
158
  if (checkboxRef.value && checkboxRef.value.checked !== checked) checkboxRef.value.checked = checked;
151
159
  });
160
+ watch(() => props.indeterminate, () => {
161
+ nextTick(() => {
162
+ if (checkboxRef.value) checkboxRef.value.indeterminate = props.indeterminate;
163
+ });
164
+ }, { immediate: true });
152
165
  return () => {
153
166
  var _ref, _ref2, _slots$checkbox, _checkboxGroupCtx$slo;
154
167
  return createVNode("label", {
@@ -158,6 +171,7 @@ var checkbox_default = /* @__PURE__ */ defineComponent({
158
171
  createVNode("input", {
159
172
  "ref": checkboxRef,
160
173
  "type": "checkbox",
174
+ "tabindex": props.tabindex,
161
175
  "checked": computedChecked.value,
162
176
  "value": props.value,
163
177
  "class": `${prefixCls}-target`,
@@ -23,6 +23,10 @@ declare const Checkbox: {
23
23
  type: BooleanConstructor;
24
24
  default: boolean;
25
25
  };
26
+ tabindex: {
27
+ type: (StringConstructor | NumberConstructor)[];
28
+ default: undefined;
29
+ };
26
30
  uninjectGroupContext: {
27
31
  type: BooleanConstructor;
28
32
  default: boolean;
@@ -38,6 +42,7 @@ declare const Checkbox: {
38
42
  modelValue: boolean | (string | number | boolean)[];
39
43
  defaultChecked: boolean;
40
44
  indeterminate: boolean;
45
+ tabindex: string | number;
41
46
  uninjectGroupContext: boolean;
42
47
  }, true, {}, {}, {
43
48
  IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -140,6 +145,10 @@ declare const Checkbox: {
140
145
  type: BooleanConstructor;
141
146
  default: boolean;
142
147
  };
148
+ tabindex: {
149
+ type: (StringConstructor | NumberConstructor)[];
150
+ default: undefined;
151
+ };
143
152
  uninjectGroupContext: {
144
153
  type: BooleanConstructor;
145
154
  default: boolean;
@@ -152,6 +161,7 @@ declare const Checkbox: {
152
161
  modelValue: boolean | (string | number | boolean)[];
153
162
  defaultChecked: boolean;
154
163
  indeterminate: boolean;
164
+ tabindex: string | number;
155
165
  uninjectGroupContext: boolean;
156
166
  }>;
157
167
  __isFragment?: never;
@@ -177,6 +187,10 @@ declare const Checkbox: {
177
187
  type: BooleanConstructor;
178
188
  default: boolean;
179
189
  };
190
+ tabindex: {
191
+ type: (StringConstructor | NumberConstructor)[];
192
+ default: undefined;
193
+ };
180
194
  uninjectGroupContext: {
181
195
  type: BooleanConstructor;
182
196
  default: boolean;
@@ -192,6 +206,7 @@ declare const Checkbox: {
192
206
  modelValue: boolean | (string | number | boolean)[];
193
207
  defaultChecked: boolean;
194
208
  indeterminate: boolean;
209
+ tabindex: string | number;
195
210
  uninjectGroupContext: boolean;
196
211
  }, {}, string, {}, {
197
212
  IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -82,7 +82,7 @@
82
82
  }
83
83
  .sd-checkbox:hover .sd-checkbox-icon {
84
84
  border-color: var(--sd-color-fill-4);
85
- transition: border-color 0.1s cubic-bezier(0, 0, 1, 1), transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1);
85
+ transition: border-color 0.1s cubic-bezier(0.34, 0.69, 0.1, 1), transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1);
86
86
  }
87
87
  .sd-checkbox-checked:hover .sd-checkbox-icon, .sd-checkbox-indeterminate:hover .sd-checkbox-icon {
88
88
  transition: transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1);
@@ -84,7 +84,7 @@
84
84
  &:hover &-icon {
85
85
  border-color: $checkbox-mask-color-border_hover;
86
86
  transition:
87
- border-color theme.$transition-duration-1 theme.$transition-timing-function-linear,
87
+ border-color theme.$transition-duration-1 theme.$transition-timing-function-standard,
88
88
  transform theme.$transition-duration-3 theme.$transition-timing-function-overshoot;
89
89
  }
90
90
 
@@ -1,6 +1,7 @@
1
1
  import { getPrefixCls } from "../_utils/global-config.js";
2
2
  import { isNumber } from "../_utils/is.js";
3
3
  import icon_hover_default from "../_components/icon-hover.js";
4
+ import { isActivationKey } from "../_utils/keyboard.js";
4
5
  import IconCaretLeft from "../icon/icon-caret-left/index.js";
5
6
  import IconCaretRight from "../icon/icon-caret-right/index.js";
6
7
  import { collapseKey } from "./context.js";
@@ -90,6 +91,16 @@ var collapse_item_default = /* @__PURE__ */ defineComponent({
90
91
  (_collapseCtx$handleCl = collapseCtx.handleClick) === null || _collapseCtx$handleCl === void 0 || _collapseCtx$handleCl.call(collapseCtx, key, e);
91
92
  }
92
93
  };
94
+ const headerId = `${prefixCls}-${instance === null || instance === void 0 ? void 0 : instance.uid}-header`;
95
+ const contentId = `${prefixCls}-${instance === null || instance === void 0 ? void 0 : instance.uid}-content`;
96
+ const handleKeydown = (e) => {
97
+ if (props.disabled) return;
98
+ if (isActivationKey(e)) {
99
+ var _collapseCtx$handleCl2;
100
+ e.preventDefault();
101
+ (_collapseCtx$handleCl2 = collapseCtx.handleClick) === null || _collapseCtx$handleCl2 === void 0 || _collapseCtx$handleCl2.call(collapseCtx, key, e);
102
+ }
103
+ };
93
104
  watch(isActive, (isActive) => {
94
105
  if (isActive && !mounted.value) mounted.value = true;
95
106
  });
@@ -137,17 +148,24 @@ var collapse_item_default = /* @__PURE__ */ defineComponent({
137
148
  "role": "button",
138
149
  "aria-disabled": props.disabled,
139
150
  "aria-expanded": isActive.value,
140
- "tabindex": "0",
151
+ "aria-controls": contentId,
152
+ "tabindex": props.disabled ? -1 : 0,
141
153
  "class": headerCls.value,
142
- "onClick": handleClick
154
+ "onClick": handleClick,
155
+ "onKeydown": handleKeydown
143
156
  }, [
144
157
  expandIconRender(),
145
- createVNode("div", { "class": `${prefixCls}-header-title` }, [(_slots$header = (_slots$header2 = slots.header) === null || _slots$header2 === void 0 ? void 0 : _slots$header2.call(slots)) !== null && _slots$header !== void 0 ? _slots$header : props.header]),
158
+ createVNode("div", {
159
+ "id": headerId,
160
+ "class": `${prefixCls}-header-title`
161
+ }, [(_slots$header = (_slots$header2 = slots.header) === null || _slots$header2 === void 0 ? void 0 : _slots$header2.call(slots)) !== null && _slots$header !== void 0 ? _slots$header : props.header]),
146
162
  slots.extra && createVNode("div", { "class": `${prefixCls}-header-extra` }, [(_slots$extra = slots.extra) === null || _slots$extra === void 0 ? void 0 : _slots$extra.call(slots)])
147
163
  ]), createVNode(Transition, mergeProps({ "name": "collapse-slider" }, transitionEvents), { default: () => {
148
164
  var _slots$default;
149
165
  return [withDirectives(createVNode("div", {
150
166
  "role": "region",
167
+ "id": contentId,
168
+ "aria-labelledby": headerId,
151
169
  "class": contentCls.value
152
170
  }, [mounted.value && createVNode("div", {
153
171
  "ref": "contentBoxRef",
@@ -5,6 +5,6 @@ export interface CollapseContext {
5
5
  showExpandIcon?: boolean;
6
6
  expandIconPosition: string;
7
7
  destroyOnHide: boolean;
8
- handleClick: (key: string | number, e: MouseEvent) => void;
8
+ handleClick: (key: string | number, e: Event) => void;
9
9
  }
10
10
  export declare const collapseKey: InjectionKey<CollapseContext>;
@@ -50,6 +50,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
50
50
  type: BooleanConstructor;
51
51
  default: boolean;
52
52
  };
53
+ readonly: {
54
+ type: (StringConstructor | BooleanConstructor)[];
55
+ default: boolean;
56
+ };
53
57
  hideTrigger: BooleanConstructor;
54
58
  triggerProps: {
55
59
  type: PropType<Partial<TriggerProps>>;
@@ -116,6 +120,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
116
120
  type: BooleanConstructor;
117
121
  default: boolean;
118
122
  };
123
+ readonly: {
124
+ type: (StringConstructor | BooleanConstructor)[];
125
+ default: boolean;
126
+ };
119
127
  hideTrigger: BooleanConstructor;
120
128
  triggerProps: {
121
129
  type: PropType<Partial<TriggerProps>>;
@@ -135,6 +143,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
135
143
  }) => any) | undefined;
136
144
  "onRecent-colors-change"?: ((_value: string[]) => any) | undefined;
137
145
  }>, {
146
+ readonly: string | boolean;
138
147
  size: "small" | "mini" | "medium" | "large";
139
148
  disabled: boolean;
140
149
  defaultValue: string;