@yh-ui/components 0.1.56 → 1.0.4
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.
- package/dist/affix/index.d.ts +11 -6
- package/dist/affix/src/affix.d.ts +10 -0
- package/dist/affix/src/affix.vue.d.ts +2 -2
- package/dist/ai-action-group/index.d.ts +5 -0
- package/dist/ai-action-group/src/ai-action-group.d.ts +3 -0
- package/dist/ai-agent-card/index.d.ts +7 -0
- package/dist/ai-agent-card/src/ai-agent-card.d.ts +10 -0
- package/dist/ai-artifacts/index.d.ts +8 -0
- package/dist/ai-artifacts/src/ai-artifacts.d.ts +11 -1
- package/dist/ai-attachments/index.d.ts +5 -0
- package/dist/ai-attachments/src/ai-attachments.d.ts +12 -1
- package/dist/ai-bubble/index.d.ts +12 -0
- package/dist/ai-bubble/src/ai-bubble.d.ts +8 -1
- package/dist/ai-bubble/src/ai-bubble.vue +24 -20
- package/dist/ai-bubble-list/index.d.ts +3 -0
- package/dist/ai-bubble-list/src/ai-bubble-list.d.ts +14 -1
- package/dist/ai-chat/index.d.ts +5 -0
- package/dist/ai-chat/src/ai-chat.d.ts +9 -0
- package/dist/ai-code-block/index.d.ts +4 -0
- package/dist/ai-code-block/src/ai-code-block.d.ts +4 -0
- package/dist/ai-code-editor/index.d.ts +5 -0
- package/dist/ai-code-editor/src/ai-code-editor.d.ts +2 -0
- package/dist/ai-code-runner/index.d.ts +5 -0
- package/dist/ai-code-runner/src/ai-code-runner.d.ts +2 -0
- package/dist/ai-conversations/index.d.ts +5 -0
- package/dist/ai-conversations/src/ai-conversations.d.ts +16 -1
- package/dist/ai-editor-sender/index.d.ts +9 -0
- package/dist/ai-editor-sender/src/ai-editor-sender.d.ts +15 -0
- package/dist/ai-file-card/index.d.ts +8 -0
- package/dist/ai-file-card/src/ai-file-card.d.ts +5 -1
- package/dist/ai-mention/index.d.ts +9 -0
- package/dist/ai-mention/src/ai-mention.d.ts +3 -0
- package/dist/ai-mermaid/index.d.ts +5 -0
- package/dist/ai-mermaid/src/ai-mermaid.d.ts +6 -1
- package/dist/ai-mermaid/src/ai-mermaid.vue +6 -1
- package/dist/ai-prompts/index.d.ts +5 -0
- package/dist/ai-prompts/src/ai-prompts.d.ts +10 -0
- package/dist/ai-provider/index.d.ts +10 -0
- package/dist/ai-provider/src/ai-provider.d.ts +28 -0
- package/dist/ai-sender/index.d.ts +6 -0
- package/dist/ai-sender/src/ai-sender.d.ts +11 -1
- package/dist/ai-sources/index.d.ts +6 -0
- package/dist/ai-sources/src/ai-sources.d.ts +5 -1
- package/dist/ai-thinking/index.d.ts +5 -0
- package/dist/ai-thinking/src/ai-thinking.d.ts +3 -0
- package/dist/ai-thought-chain/index.d.ts +6 -0
- package/dist/ai-thought-chain/src/ai-thought-chain.d.ts +3 -0
- package/dist/ai-voice-trigger/index.d.ts +5 -0
- package/dist/ai-voice-trigger/src/ai-voice-trigger.d.ts +4 -0
- package/dist/ai-welcome/index.d.ts +5 -0
- package/dist/ai-welcome/src/ai-welcome.d.ts +6 -0
- package/dist/alert/index.d.ts +6 -0
- package/dist/alert/src/alert.d.ts +7 -0
- package/dist/alert/src/alert.vue +1 -1
- package/dist/autocomplete/index.d.ts +8 -0
- package/dist/avatar/index.cjs +15 -0
- package/dist/avatar/index.d.ts +19 -9
- package/dist/avatar/index.mjs +1 -0
- package/dist/back-top/index.d.ts +4 -0
- package/dist/back-top/src/back-top.d.ts +3 -0
- package/dist/badge/index.d.ts +4 -0
- package/dist/breadcrumb/index.d.ts +6 -0
- package/dist/breadcrumb/src/breadcrumb.d.ts +6 -0
- package/dist/button/index.d.ts +9 -0
- package/dist/calendar/index.d.ts +16 -1230
- package/dist/calendar/src/calendar.d.ts +16 -0
- package/dist/calendar/src/calendar.vue.d.ts +2 -415
- package/dist/card/index.d.ts +4 -0
- package/dist/carousel/index.d.ts +9 -0
- package/dist/carousel/src/carousel-item.d.ts +3 -0
- package/dist/carousel/src/carousel.d.ts +25 -0
- package/dist/cascader/index.d.ts +9 -7
- package/dist/cascader/src/cascader.d.ts +2 -2
- package/dist/cascader/src/cascader.vue +82 -30
- package/dist/cascader/src/cascader.vue.d.ts +1 -1
- package/dist/category-nav/index.d.ts +4 -0
- package/dist/category-nav/src/category-nav.d.ts +15 -0
- package/dist/checkbox/index.d.ts +10 -0
- package/dist/col/index.d.ts +34 -180
- package/dist/col/src/col.d.ts +14 -30
- package/dist/col/src/col.vue.d.ts +15 -90
- package/dist/color-picker/index.d.ts +11 -1
- package/dist/color-picker/src/color-picker.d.ts +8 -0
- package/dist/color-picker/src/color-picker.vue +6 -0
- package/dist/color-picker/src/color-picker.vue.d.ts +6 -1
- package/dist/config-provider/index.d.ts +3 -0
- package/dist/config-provider/src/config-provider.cjs +9 -0
- package/dist/config-provider/src/config-provider.d.ts +3 -0
- package/dist/config-provider/src/config-provider.mjs +9 -0
- package/dist/container/index.d.ts +15 -0
- package/dist/container/src/container.d.ts +12 -0
- package/dist/countdown/index.d.ts +9 -0
- package/dist/coupon-card/index.d.ts +3 -0
- package/dist/coupon-card/src/coupon-card.d.ts +10 -0
- package/dist/date-picker/index.d.ts +8 -0
- package/dist/date-picker/src/date-picker.d.ts +9 -0
- package/dist/descriptions/index.d.ts +6 -0
- package/dist/descriptions/src/descriptions.d.ts +9 -0
- package/dist/dialog/index.d.ts +12 -6
- package/dist/dialog/src/dialog.d.ts +13 -0
- package/dist/dialog/src/dialog.vue.d.ts +2 -2
- package/dist/divider/index.d.ts +2 -0
- package/dist/drawer/index.d.ts +8 -3
- package/dist/drawer/src/drawer.d.ts +11 -0
- package/dist/drawer/src/drawer.vue.d.ts +1 -1
- package/dist/dropdown/index.d.ts +11 -0
- package/dist/dropdown/src/dropdown.d.ts +10 -0
- package/dist/empty/index.cjs +15 -0
- package/dist/empty/index.d.ts +6 -0
- package/dist/empty/index.mjs +1 -0
- package/dist/filter-bar/index.d.ts +9 -0
- package/dist/filter-bar/src/filter-bar.d.ts +12 -0
- package/dist/form/index.d.ts +11 -0
- package/dist/gantt-chart/index.d.ts +8 -6
- package/dist/gantt-chart/src/gantt-chart.d.ts +1 -4
- package/dist/gantt-chart/src/gantt-chart.vue +43 -33
- package/dist/grid/index.d.ts +6 -0
- package/dist/grid/src/grid.d.ts +3 -0
- package/dist/icon/index.d.ts +5 -0
- package/dist/image/index.d.ts +18 -1
- package/dist/image/src/image-viewer.d.ts +11 -0
- package/dist/image/src/image-viewer.vue +56 -9
- package/dist/image/src/image-viewer.vue.d.ts +9 -1
- package/dist/image/src/image.d.ts +4 -0
- package/dist/image/src/image.vue +1 -1
- package/dist/image-magnifier/index.d.ts +6 -0
- package/dist/image-magnifier/src/image-magnifier.d.ts +15 -0
- package/dist/image-magnifier/src/image-magnifier.vue +9 -5
- package/dist/infinite-scroll/index.d.ts +5 -0
- package/dist/infinite-scroll/src/infinite-scroll.d.ts +10 -0
- package/dist/infinite-scroll/src/infinite-scroll.vue +37 -25
- package/dist/infinite-scroll/src/infinite-scroll.vue.d.ts +0 -2
- package/dist/input/index.d.ts +10 -0
- package/dist/input-number/index.d.ts +7 -0
- package/dist/input-tag/index.d.ts +7 -0
- package/dist/loading/index.d.ts +2 -0
- package/dist/loading/src/service.cjs +5 -1
- package/dist/loading/src/service.mjs +3 -1
- package/dist/lucky-draw/index.d.ts +4 -0
- package/dist/lucky-draw/src/lucky-draw.d.ts +6 -0
- package/dist/markdown-it.d.ts +2 -1
- package/dist/marquee/index.d.ts +12 -6
- package/dist/marquee/src/marquee.d.ts +8 -0
- package/dist/marquee/src/marquee.vue +16 -6
- package/dist/marquee/src/marquee.vue.d.ts +2 -5
- package/dist/mention/index.d.ts +9 -0
- package/dist/menu/index.d.ts +14 -0
- package/dist/menu/src/menu.d.ts +9 -0
- package/dist/message/index.d.ts +11 -0
- package/dist/message/src/message.d.ts +40 -32
- package/dist/message/src/message.vue.d.ts +1 -1
- package/dist/message-box/index.d.ts +7 -0
- package/dist/notification/index.d.ts +11 -0
- package/dist/notification/src/notification.d.ts +37 -33
- package/dist/notification/src/notification.vue.d.ts +1 -1
- package/dist/pagination/index.d.ts +6 -0
- package/dist/pagination/src/pagination.d.ts +3 -0
- package/dist/popconfirm/index.d.ts +5 -0
- package/dist/popconfirm/src/popconfirm.d.ts +11 -1
- package/dist/popover/index.d.ts +6 -0
- package/dist/popover/src/popover.d.ts +12 -1
- package/dist/price/index.d.ts +1 -0
- package/dist/price/src/price.d.ts +7 -0
- package/dist/product-card/index.d.ts +7 -3
- package/dist/product-card/src/product-card.cjs +1 -36
- package/dist/product-card/src/product-card.d.ts +5 -35
- package/dist/product-card/src/product-card.mjs +1 -36
- package/dist/product-card/src/product-card.vue +8 -14
- package/dist/product-card/src/product-card.vue.d.ts +1 -1
- package/dist/progress/index.d.ts +5 -0
- package/dist/progress/src/progress.d.ts +5 -0
- package/dist/radio/index.d.ts +14 -0
- package/dist/rate/index.d.ts +11 -6
- package/dist/rate/src/rate.d.ts +10 -1
- package/dist/rate/src/rate.vue.d.ts +3 -3
- package/dist/result/index.d.ts +4 -0
- package/dist/row/index.d.ts +18 -12
- package/dist/row/src/row.d.ts +13 -8
- package/dist/row/src/row.vue.d.ts +6 -6
- package/dist/scrollbar/index.d.ts +10 -20
- package/dist/scrollbar/src/scrollbar.d.ts +16 -4
- package/dist/scrollbar/src/scrollbar.vue.d.ts +2 -8
- package/dist/select/index.d.ts +15 -3
- package/dist/select/src/select.d.ts +4 -1
- package/dist/select/src/select.vue +1 -1
- package/dist/select/src/select.vue.d.ts +1 -1
- package/dist/skeleton/index.d.ts +6 -0
- package/dist/skeleton/src/skeleton.d.ts +4 -0
- package/dist/sku-selector/index.d.ts +5 -0
- package/dist/sku-selector/src/sku-selector.cjs +1 -14
- package/dist/sku-selector/src/sku-selector.d.ts +15 -17
- package/dist/sku-selector/src/sku-selector.mjs +1 -14
- package/dist/sku-selector/src/sku-selector.vue +6 -11
- package/dist/slider/index.d.ts +20 -3
- package/dist/slider/src/slider.d.ts +15 -0
- package/dist/slider/src/slider.vue +5 -0
- package/dist/slider/src/slider.vue.d.ts +5 -1
- package/dist/smart-address/index.d.ts +11 -6
- package/dist/smart-address/src/smart-address.cjs +0 -19
- package/dist/smart-address/src/smart-address.d.ts +13 -20
- package/dist/smart-address/src/smart-address.mjs +0 -19
- package/dist/smart-address/src/smart-address.vue.d.ts +3 -3
- package/dist/space/index.cjs +15 -0
- package/dist/space/index.d.ts +22 -12
- package/dist/space/index.mjs +1 -0
- package/dist/spin/index.d.ts +16 -10
- package/dist/spin/src/spin.cjs +5 -1
- package/dist/spin/src/spin.d.ts +13 -1
- package/dist/spin/src/spin.mjs +4 -0
- package/dist/spin/src/spin.vue +2 -2
- package/dist/spin/src/spin.vue.d.ts +4 -5
- package/dist/steps/index.d.ts +13 -0
- package/dist/steps/src/step.d.ts +6 -0
- package/dist/steps/src/steps.d.ts +3 -0
- package/dist/submit-bar/index.d.ts +3 -0
- package/dist/submit-bar/src/submit-bar.d.ts +7 -0
- package/dist/switch/index.d.ts +5 -0
- package/dist/switch/src/switch.d.ts +11 -1
- package/dist/table/index.d.ts +14 -4
- package/dist/tabs/index.d.ts +11 -0
- package/dist/tabs/src/tab-pane.d.ts +3 -0
- package/dist/tabs/src/tabs.d.ts +12 -0
- package/dist/tag/index.d.ts +7 -0
- package/dist/time-picker/index.d.ts +13 -3
- package/dist/time-picker/src/time-picker.d.ts +2 -2
- package/dist/time-picker/src/time-picker.vue +1 -1
- package/dist/time-picker/src/time-picker.vue.d.ts +1 -1
- package/dist/time-select/index.d.ts +10 -3
- package/dist/time-select/src/time-select.d.ts +2 -2
- package/dist/time-select/src/time-select.vue +79 -35
- package/dist/time-select/src/time-select.vue.d.ts +1 -1
- package/dist/tooltip/index.d.ts +7 -0
- package/dist/tooltip/src/tooltip.d.ts +11 -1
- package/dist/transfer/index.d.ts +6 -4
- package/dist/transfer/src/transfer-panel.vue +78 -27
- package/dist/transfer/src/transfer-panel.vue.d.ts +1 -1
- package/dist/transfer/src/transfer.d.ts +4 -4
- package/dist/transfer/src/transfer.vue +82 -26
- package/dist/transfer/src/transfer.vue.d.ts +2 -2
- package/dist/tree/index.d.ts +7 -0
- package/dist/tree-select/index.d.ts +8 -0
- package/dist/typography/index.d.ts +11 -0
- package/dist/upload/index.d.ts +10 -0
- package/dist/upload/src/upload.d.ts +19 -0
- package/dist/viewerjs.d.ts +2 -1
- package/dist/waterfall/index.d.ts +6 -0
- package/dist/waterfall/src/waterfall.d.ts +25 -7
- package/dist/watermark/index.d.ts +11 -54
- package/dist/watermark/src/watermark.d.ts +16 -9
- package/dist/watermark/src/watermark.vue +27 -5
- package/dist/watermark/src/watermark.vue.d.ts +3 -27
- package/package.json +6 -5
|
@@ -38,10 +38,15 @@ const emit = defineEmits(["update:modelValue", "change", "focus", "blur", "clear
|
|
|
38
38
|
const ns = useNamespace("time-select");
|
|
39
39
|
const { t } = useLocale();
|
|
40
40
|
const inputId = useId();
|
|
41
|
-
const { themeStyle } = useComponentTheme(
|
|
41
|
+
const { themeStyle } = useComponentTheme(
|
|
42
|
+
"time-select",
|
|
43
|
+
computed(() => props.themeOverrides)
|
|
44
|
+
);
|
|
42
45
|
const { form, formItem, validate: triggerValidate } = useFormItem();
|
|
43
46
|
const { globalSize } = useConfig();
|
|
44
|
-
const selectSize = computed(
|
|
47
|
+
const selectSize = computed(
|
|
48
|
+
() => props.size || formItem?.size || form?.size || globalSize.value || "default"
|
|
49
|
+
);
|
|
45
50
|
const wrapperRef = ref();
|
|
46
51
|
const inputRef = ref();
|
|
47
52
|
const optionsRef = ref();
|
|
@@ -56,13 +61,7 @@ const timeOptions = computed(() => {
|
|
|
56
61
|
if (props.options && props.options.length > 0) {
|
|
57
62
|
return props.options;
|
|
58
63
|
}
|
|
59
|
-
return generateTimeOptions(
|
|
60
|
-
props.start,
|
|
61
|
-
props.end,
|
|
62
|
-
props.step,
|
|
63
|
-
props.format,
|
|
64
|
-
props.includeEndTime
|
|
65
|
-
);
|
|
64
|
+
return generateTimeOptions(props.start, props.end, props.step, props.format, props.includeEndTime);
|
|
66
65
|
});
|
|
67
66
|
const filteredOptions = computed(() => {
|
|
68
67
|
let options = timeOptions.value;
|
|
@@ -107,9 +106,7 @@ const displayLabel = computed(() => {
|
|
|
107
106
|
const showClear = computed(
|
|
108
107
|
() => props.clearable && !props.disabled && props.modelValue !== void 0 && props.modelValue !== "" && (focused.value || hovering.value)
|
|
109
108
|
);
|
|
110
|
-
const hasValue = computed(
|
|
111
|
-
() => props.modelValue !== void 0 && props.modelValue !== ""
|
|
112
|
-
);
|
|
109
|
+
const hasValue = computed(() => props.modelValue !== void 0 && props.modelValue !== "");
|
|
113
110
|
const wrapperClasses = computed(() => [
|
|
114
111
|
ns.b(),
|
|
115
112
|
ns.m(selectSize.value),
|
|
@@ -139,7 +136,9 @@ const updateDropdownPosition = () => {
|
|
|
139
136
|
const scrollToSelected = () => {
|
|
140
137
|
if (!optionsRef.value || !props.modelValue) return;
|
|
141
138
|
nextTick(() => {
|
|
142
|
-
const selectedEl = optionsRef.value?.querySelector(
|
|
139
|
+
const selectedEl = optionsRef.value?.querySelector(
|
|
140
|
+
`.${ns.is("selected", true).slice(1)}`
|
|
141
|
+
);
|
|
143
142
|
if (selectedEl && optionsRef.value) {
|
|
144
143
|
const containerHeight = optionsRef.value.clientHeight;
|
|
145
144
|
const scrollTop = selectedEl.offsetTop - containerHeight / 2 + selectedEl.offsetHeight / 2;
|
|
@@ -295,31 +294,52 @@ const blur = () => {
|
|
|
295
294
|
defineExpose({
|
|
296
295
|
focus,
|
|
297
296
|
blur,
|
|
298
|
-
inputRef
|
|
297
|
+
inputRef
|
|
299
298
|
});
|
|
300
299
|
</script>
|
|
301
300
|
|
|
302
301
|
<template>
|
|
303
|
-
<div
|
|
304
|
-
|
|
302
|
+
<div
|
|
303
|
+
ref="wrapperRef"
|
|
304
|
+
:class="wrapperClasses"
|
|
305
|
+
:style="themeStyle"
|
|
306
|
+
@mouseenter="handleMouseEnter"
|
|
307
|
+
@mouseleave="handleMouseLeave"
|
|
308
|
+
@click="toggleDropdown"
|
|
309
|
+
>
|
|
305
310
|
<!-- 输入区域 -->
|
|
306
311
|
<div :class="ns.e('wrapper')">
|
|
307
312
|
<!-- 前缀图标 -->
|
|
308
313
|
<span :class="ns.e('prefix')">
|
|
309
314
|
<slot name="prefix">
|
|
310
315
|
<svg viewBox="0 0 1024 1024" width="1em" height="1em" :class="ns.e('icon')">
|
|
311
|
-
<path
|
|
312
|
-
|
|
316
|
+
<path
|
|
317
|
+
fill="currentColor"
|
|
318
|
+
d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 64a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0 128a32 32 0 0 1 32 32v192l128 64a32 32 0 0 1-28.864 57.088l-144-72A32 32 0 0 1 480 512V288a32 32 0 0 1 32-32z"
|
|
319
|
+
/>
|
|
313
320
|
</svg>
|
|
314
321
|
</slot>
|
|
315
322
|
</span>
|
|
316
323
|
|
|
317
324
|
<!-- 输入框 -->
|
|
318
|
-
<input
|
|
319
|
-
|
|
320
|
-
:
|
|
321
|
-
:
|
|
322
|
-
|
|
325
|
+
<input
|
|
326
|
+
ref="inputRef"
|
|
327
|
+
:id="inputId"
|
|
328
|
+
:class="ns.e('inner')"
|
|
329
|
+
:value="editable && visible ? query : ''"
|
|
330
|
+
:placeholder="hasValue ? '' : placeholder || t('timeselect.placeholder')"
|
|
331
|
+
:disabled="disabled"
|
|
332
|
+
:readonly="!editable"
|
|
333
|
+
:name="name"
|
|
334
|
+
autocomplete="off"
|
|
335
|
+
role="combobox"
|
|
336
|
+
:aria-expanded="visible"
|
|
337
|
+
:aria-controls="`${inputId}-listbox`"
|
|
338
|
+
@input="handleInput"
|
|
339
|
+
@focus="handleFocus"
|
|
340
|
+
@blur="handleBlur"
|
|
341
|
+
@keydown="handleKeydown"
|
|
342
|
+
/>
|
|
323
343
|
|
|
324
344
|
<!-- 显示值 -->
|
|
325
345
|
<span v-if="hasValue && !(editable && visible && query)" :class="ns.e('display-value')">
|
|
@@ -331,8 +351,10 @@ defineExpose({
|
|
|
331
351
|
<!-- 清空按钮 -->
|
|
332
352
|
<span v-if="showClear" :class="[ns.e('icon'), ns.e('clear')]" @click.stop="handleClear">
|
|
333
353
|
<svg viewBox="0 0 1024 1024" width="1em" height="1em">
|
|
334
|
-
<path
|
|
335
|
-
|
|
354
|
+
<path
|
|
355
|
+
fill="currentColor"
|
|
356
|
+
d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"
|
|
357
|
+
/>
|
|
336
358
|
</svg>
|
|
337
359
|
</span>
|
|
338
360
|
|
|
@@ -341,8 +363,10 @@ defineExpose({
|
|
|
341
363
|
'is-reverse': visible
|
|
342
364
|
}]">
|
|
343
365
|
<svg viewBox="0 0 1024 1024" width="1em" height="1em">
|
|
344
|
-
<path
|
|
345
|
-
|
|
366
|
+
<path
|
|
367
|
+
fill="currentColor"
|
|
368
|
+
d="M831.872 340.864L512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"
|
|
369
|
+
/>
|
|
346
370
|
</svg>
|
|
347
371
|
</span>
|
|
348
372
|
</span>
|
|
@@ -351,9 +375,13 @@ defineExpose({
|
|
|
351
375
|
<!-- 下拉框 -->
|
|
352
376
|
<Teleport to="body" :disabled="!teleported">
|
|
353
377
|
<Transition :name="ns.b('dropdown')">
|
|
354
|
-
<div
|
|
355
|
-
|
|
356
|
-
|
|
378
|
+
<div
|
|
379
|
+
v-show="visible"
|
|
380
|
+
:class="[ns.e('dropdown'), popperClass, `is-${effect}`]"
|
|
381
|
+
:style="teleported ? dropdownStyle : {}"
|
|
382
|
+
@mousedown="handleDropdownMousedown"
|
|
383
|
+
@mouseup="handleDropdownMouseup"
|
|
384
|
+
>
|
|
357
385
|
<!-- 无数据 -->
|
|
358
386
|
<div v-if="filteredOptions.length === 0" :class="ns.e('empty')">
|
|
359
387
|
<slot name="empty">
|
|
@@ -362,16 +390,32 @@ defineExpose({
|
|
|
362
390
|
</div>
|
|
363
391
|
|
|
364
392
|
<!-- 选项列表 -->
|
|
365
|
-
<div
|
|
366
|
-
|
|
367
|
-
|
|
393
|
+
<div
|
|
394
|
+
v-else
|
|
395
|
+
ref="optionsRef"
|
|
396
|
+
:id="`${inputId}-listbox`"
|
|
397
|
+
:class="ns.e('options')"
|
|
398
|
+
role="listbox"
|
|
399
|
+
>
|
|
400
|
+
<div
|
|
401
|
+
v-for="(option, index) in filteredOptions"
|
|
402
|
+
:key="option.value"
|
|
403
|
+
:class="[ns.e('option'), ns.is('selected', modelValue === option.value), ns.is('disabled', option.disabled), ns.is('hovering', hoveredIndex === index)]"
|
|
404
|
+
role="option"
|
|
405
|
+
:aria-selected="modelValue === option.value"
|
|
406
|
+
@mousedown.prevent
|
|
407
|
+
@click="handleOptionClick(option, $event)"
|
|
408
|
+
@mouseenter="hoveredIndex = index"
|
|
409
|
+
>
|
|
368
410
|
<slot name="option" :option="option">
|
|
369
411
|
{{ option.label }}
|
|
370
412
|
</slot>
|
|
371
413
|
<span v-if="modelValue === option.value" :class="ns.e('option-check')">
|
|
372
414
|
<svg viewBox="0 0 1024 1024" width="1em" height="1em">
|
|
373
|
-
<path
|
|
374
|
-
|
|
415
|
+
<path
|
|
416
|
+
fill="currentColor"
|
|
417
|
+
d="M406.656 706.944L195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"
|
|
418
|
+
/>
|
|
375
419
|
</svg>
|
|
376
420
|
</span>
|
|
377
421
|
</div>
|
|
@@ -12,7 +12,7 @@ type __VLS_Slots = {} & {
|
|
|
12
12
|
declare const __VLS_component: import("vue").DefineComponent<TimeSelectProps, {
|
|
13
13
|
focus: () => void;
|
|
14
14
|
blur: () => void;
|
|
15
|
-
inputRef: HTMLInputElement | undefined
|
|
15
|
+
inputRef: import("vue").Ref<HTMLInputElement | undefined>;
|
|
16
16
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
17
17
|
clear: () => any;
|
|
18
18
|
focus: (event: FocusEvent) => any;
|
package/dist/tooltip/index.d.ts
CHANGED
|
@@ -497,3 +497,10 @@ export declare const YhTooltip: import("@yh-ui/utils").SFCWithInstall<{
|
|
|
497
497
|
export default YhTooltip;
|
|
498
498
|
export * from './src/tooltip';
|
|
499
499
|
export type TooltipInstance = InstanceType<typeof Tooltip>;
|
|
500
|
+
export type YhTooltipInstance = TooltipInstance;
|
|
501
|
+
export type YhTooltipProps = import('./src/tooltip').TooltipProps;
|
|
502
|
+
export type YhTooltipEmits = import('./src/tooltip').TooltipEmits;
|
|
503
|
+
export type YhTooltipSlots = import('./src/tooltip').TooltipSlots;
|
|
504
|
+
export type YhTooltipExpose = import('./src/tooltip').TooltipExpose;
|
|
505
|
+
export type YhTooltipPlacement = import('./src/tooltip').TooltipPlacement;
|
|
506
|
+
export type YhTooltipTrigger = import('./src/tooltip').TooltipTrigger;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtractPropTypes, PropType, StyleValue } from 'vue';
|
|
1
|
+
import type { ExtractPropTypes, PropType, StyleValue, Ref } from 'vue';
|
|
2
2
|
export declare const tooltipPlacements: readonly ["top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "left", "left-start", "left-end", "right", "right-start", "right-end"];
|
|
3
3
|
export type TooltipPlacement = (typeof tooltipPlacements)[number];
|
|
4
4
|
export declare const tooltipTriggers: readonly ["hover", "click", "focus", "contextmenu", "manual"];
|
|
@@ -157,3 +157,13 @@ export declare const tooltipEmits: {
|
|
|
157
157
|
};
|
|
158
158
|
export type TooltipProps = ExtractPropTypes<typeof tooltipProps>;
|
|
159
159
|
export type TooltipEmits = typeof tooltipEmits;
|
|
160
|
+
export interface TooltipSlots {
|
|
161
|
+
default?: () => unknown;
|
|
162
|
+
content?: () => unknown;
|
|
163
|
+
}
|
|
164
|
+
export interface TooltipExpose {
|
|
165
|
+
updatePosition: () => Promise<void> | void;
|
|
166
|
+
visible: Ref<boolean>;
|
|
167
|
+
triggerRef: Ref<HTMLElement | undefined>;
|
|
168
|
+
popperRef: Ref<HTMLElement | undefined>;
|
|
169
|
+
}
|
package/dist/transfer/index.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @yh-ui/transfer
|
|
3
|
-
* @description Transfer 穿梭框组件
|
|
4
|
-
*/
|
|
5
1
|
import type { Plugin } from 'vue';
|
|
6
2
|
import Transfer from './src/transfer.vue';
|
|
7
3
|
import TransferPanel from './src/transfer-panel.vue';
|
|
@@ -11,3 +7,9 @@ export * from './src/transfer';
|
|
|
11
7
|
export default YhTransfer;
|
|
12
8
|
export type TransferInstance = InstanceType<typeof Transfer>;
|
|
13
9
|
export type TransferPanelInstance = InstanceType<typeof TransferPanel>;
|
|
10
|
+
export type YhTransferInstance = TransferInstance;
|
|
11
|
+
export type YhTransferPanelInstance = TransferPanelInstance;
|
|
12
|
+
export type YhTransferProps = import('./src/transfer').TransferProps;
|
|
13
|
+
export type YhTransferEmits = import('./src/transfer').TransferEmits;
|
|
14
|
+
export type YhTransferExpose = import('./src/transfer').TransferExpose;
|
|
15
|
+
export type YhTransferPanelExpose = import('./src/transfer').TransferPanelExpose;
|
|
@@ -147,7 +147,7 @@ provide(transferPanelContextKey, {
|
|
|
147
147
|
});
|
|
148
148
|
defineExpose({
|
|
149
149
|
clearChecked,
|
|
150
|
-
query
|
|
150
|
+
query
|
|
151
151
|
});
|
|
152
152
|
watch(query, () => {
|
|
153
153
|
scrollTop.value = 0;
|
|
@@ -162,20 +162,31 @@ watch(query, () => {
|
|
|
162
162
|
<!-- 头部 -->
|
|
163
163
|
<div :class="ns.e('header')">
|
|
164
164
|
<slot name="header">
|
|
165
|
-
<div
|
|
165
|
+
<div
|
|
166
|
+
:class="[ns.e('check-all'), {
|
|
166
167
|
'is-disabled': disabled || checkableData.length === 0
|
|
167
168
|
}]"
|
|
168
|
-
@click="handleCheckAll"
|
|
169
|
-
|
|
169
|
+
@click="handleCheckAll"
|
|
170
|
+
>
|
|
171
|
+
<span
|
|
172
|
+
:class="[ns.e('item-checkbox'), {
|
|
170
173
|
'is-checked': isAllChecked,
|
|
171
174
|
'is-indeterminate': isIndeterminate
|
|
172
|
-
}]"
|
|
175
|
+
}]"
|
|
176
|
+
>
|
|
173
177
|
<!-- 选中图标 -->
|
|
174
178
|
<svg v-if="isAllChecked" :class="ns.e('item-checkbox__icon')" viewBox="0 0 1024 1024">
|
|
175
|
-
<path
|
|
179
|
+
<path
|
|
180
|
+
fill="currentColor"
|
|
181
|
+
d="M406.4 726.4l-236.8-236.8 57.6-57.6 179.2 179.2 390.4-390.4 57.6 57.6z"
|
|
182
|
+
/>
|
|
176
183
|
</svg>
|
|
177
184
|
<!-- 半选图标 -->
|
|
178
|
-
<svg
|
|
185
|
+
<svg
|
|
186
|
+
v-if="isIndeterminate && !isAllChecked"
|
|
187
|
+
:class="ns.e('item-checkbox__icon')"
|
|
188
|
+
viewBox="0 0 1024 1024"
|
|
189
|
+
>
|
|
179
190
|
<path fill="currentColor" d="M192 480h640v64H192z" />
|
|
180
191
|
</svg>
|
|
181
192
|
</span>
|
|
@@ -198,8 +209,13 @@ watch(query, () => {
|
|
|
198
209
|
|
|
199
210
|
<!-- 搜索框 -->
|
|
200
211
|
<div v-if="filterable" :class="ns.e('filter')">
|
|
201
|
-
<input
|
|
202
|
-
|
|
212
|
+
<input
|
|
213
|
+
v-model="query"
|
|
214
|
+
type="text"
|
|
215
|
+
:class="ns.e('filter-input')"
|
|
216
|
+
:placeholder="filterPlaceholder || t('transfer.filterPlaceholder')"
|
|
217
|
+
:disabled="disabled"
|
|
218
|
+
/>
|
|
203
219
|
</div>
|
|
204
220
|
|
|
205
221
|
<!-- 列表区域 -->
|
|
@@ -208,10 +224,14 @@ watch(query, () => {
|
|
|
208
224
|
<div v-if="filteredData.length === 0" :class="ns.e('empty')">
|
|
209
225
|
<slot name="empty">
|
|
210
226
|
<svg :class="ns.e('empty-icon')" viewBox="0 0 1024 1024">
|
|
211
|
-
<path
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
227
|
+
<path
|
|
228
|
+
fill="currentColor"
|
|
229
|
+
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
|
|
230
|
+
/>
|
|
231
|
+
<path
|
|
232
|
+
fill="currentColor"
|
|
233
|
+
d="M464 336a48 48 0 1096 0 48 48 0 10-96 0zM464 512v176c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V512c0-8.8-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16z"
|
|
234
|
+
/>
|
|
215
235
|
</svg>
|
|
216
236
|
<span :class="ns.e('empty-text')">{{ emptyText || t("transfer.noData") }}</span>
|
|
217
237
|
</slot>
|
|
@@ -219,29 +239,48 @@ watch(query, () => {
|
|
|
219
239
|
|
|
220
240
|
<!-- 虚拟滚动列表 -->
|
|
221
241
|
<template v-else-if="virtual">
|
|
222
|
-
<div
|
|
242
|
+
<div
|
|
243
|
+
ref="virtualWrapperRef"
|
|
244
|
+
:class="ns.e('virtual-wrapper')"
|
|
245
|
+
:style="{
|
|
223
246
|
height: height + 'px'
|
|
224
247
|
}"
|
|
225
|
-
@scroll="handleVirtualScroll"
|
|
248
|
+
@scroll="handleVirtualScroll"
|
|
249
|
+
>
|
|
226
250
|
<div :style="{
|
|
227
251
|
height: virtualConfig.totalHeight + 'px',
|
|
228
252
|
position: 'relative'
|
|
229
253
|
}">
|
|
230
|
-
<ul
|
|
254
|
+
<ul
|
|
255
|
+
:class="ns.e('list')"
|
|
256
|
+
:style="{
|
|
231
257
|
transform: `translateY(${virtualConfig.offsetY}px)`
|
|
232
|
-
}"
|
|
233
|
-
|
|
258
|
+
}"
|
|
259
|
+
>
|
|
260
|
+
<li
|
|
261
|
+
v-for="item in displayItems"
|
|
262
|
+
:key="getKey(item)"
|
|
263
|
+
:class="[ns.e('item'), {
|
|
234
264
|
'is-checked': isChecked(getKey(item)),
|
|
235
265
|
'is-disabled': isItemDisabled(item)
|
|
236
|
-
}]"
|
|
266
|
+
}]"
|
|
267
|
+
:style="{
|
|
237
268
|
height: itemHeight + 'px'
|
|
238
|
-
}"
|
|
269
|
+
}"
|
|
270
|
+
@click="handleItemClick(item)"
|
|
271
|
+
>
|
|
239
272
|
<span :class="[ns.e('item-checkbox'), {
|
|
240
273
|
'is-checked': isChecked(getKey(item))
|
|
241
274
|
}]">
|
|
242
|
-
<svg
|
|
243
|
-
|
|
244
|
-
|
|
275
|
+
<svg
|
|
276
|
+
v-if="isChecked(getKey(item))"
|
|
277
|
+
:class="ns.e('item-checkbox__icon')"
|
|
278
|
+
viewBox="0 0 1024 1024"
|
|
279
|
+
>
|
|
280
|
+
<path
|
|
281
|
+
fill="currentColor"
|
|
282
|
+
d="M406.4 726.4l-236.8-236.8 57.6-57.6 179.2 179.2 390.4-390.4 57.6 57.6z"
|
|
283
|
+
/>
|
|
245
284
|
</svg>
|
|
246
285
|
</span>
|
|
247
286
|
<span :class="ns.e('item-label')">
|
|
@@ -255,15 +294,27 @@ watch(query, () => {
|
|
|
255
294
|
|
|
256
295
|
<!-- 普通列表 -->
|
|
257
296
|
<ul v-else :class="ns.e('list')">
|
|
258
|
-
<li
|
|
297
|
+
<li
|
|
298
|
+
v-for="item in displayItems"
|
|
299
|
+
:key="getKey(item)"
|
|
300
|
+
:class="[ns.e('item'), {
|
|
259
301
|
'is-checked': isChecked(getKey(item)),
|
|
260
302
|
'is-disabled': isItemDisabled(item)
|
|
261
|
-
}]"
|
|
303
|
+
}]"
|
|
304
|
+
@click="handleItemClick(item)"
|
|
305
|
+
>
|
|
262
306
|
<span :class="[ns.e('item-checkbox'), {
|
|
263
307
|
'is-checked': isChecked(getKey(item))
|
|
264
308
|
}]">
|
|
265
|
-
<svg
|
|
266
|
-
|
|
309
|
+
<svg
|
|
310
|
+
v-if="isChecked(getKey(item))"
|
|
311
|
+
:class="ns.e('item-checkbox__icon')"
|
|
312
|
+
viewBox="0 0 1024 1024"
|
|
313
|
+
>
|
|
314
|
+
<path
|
|
315
|
+
fill="currentColor"
|
|
316
|
+
d="M406.4 726.4l-236.8-236.8 57.6-57.6 179.2 179.2 390.4-390.4 57.6 57.6z"
|
|
317
|
+
/>
|
|
267
318
|
</svg>
|
|
268
319
|
</span>
|
|
269
320
|
<span :class="ns.e('item-label')">
|
|
@@ -17,7 +17,7 @@ type __VLS_Slots = {} & {
|
|
|
17
17
|
};
|
|
18
18
|
declare const __VLS_component: import("vue").DefineComponent<TransferPanelProps, {
|
|
19
19
|
clearChecked: () => void;
|
|
20
|
-
query: string
|
|
20
|
+
query: import("vue").Ref<string>;
|
|
21
21
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
22
22
|
"update:checked": (value: TransferKey[]) => any;
|
|
23
23
|
"checked-change": (value: TransferKey[], movedKeys?: TransferKey[] | undefined) => any;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Transfer Types & Props
|
|
3
3
|
* @description 穿梭框组件类型定义,严格类型化
|
|
4
4
|
*/
|
|
5
|
-
import type { InjectionKey, VNode } from 'vue';
|
|
5
|
+
import type { InjectionKey, Ref, VNode } from 'vue';
|
|
6
6
|
/**
|
|
7
7
|
* 穿梭框尺寸
|
|
8
8
|
*/
|
|
@@ -114,7 +114,7 @@ export interface TransferEmits {
|
|
|
114
114
|
*/
|
|
115
115
|
export interface TransferPanelExpose {
|
|
116
116
|
clearChecked: () => void;
|
|
117
|
-
query: string
|
|
117
|
+
query: Ref<string>;
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
120
|
* Transfer Expose 定义
|
|
@@ -122,8 +122,8 @@ export interface TransferPanelExpose {
|
|
|
122
122
|
export interface TransferExpose {
|
|
123
123
|
clearLeftChecked: () => void;
|
|
124
124
|
clearRightChecked: () => void;
|
|
125
|
-
leftPanel: TransferPanelExpose | undefined
|
|
126
|
-
rightPanel: TransferPanelExpose | undefined
|
|
125
|
+
leftPanel: Ref<TransferPanelExpose | undefined>;
|
|
126
|
+
rightPanel: Ref<TransferPanelExpose | undefined>;
|
|
127
127
|
}
|
|
128
128
|
/**
|
|
129
129
|
* Transfer Panel Props 定义
|
|
@@ -38,7 +38,10 @@ const emit = defineEmits(["update:modelValue", "change", "left-check-change", "r
|
|
|
38
38
|
const ns = useNamespace("transfer");
|
|
39
39
|
const { t } = useLocale();
|
|
40
40
|
const { globalSize } = useConfig();
|
|
41
|
-
const { themeStyle } = useComponentTheme(
|
|
41
|
+
const { themeStyle } = useComponentTheme(
|
|
42
|
+
"transfer",
|
|
43
|
+
computed(() => props.themeOverrides)
|
|
44
|
+
);
|
|
42
45
|
const leftPanelRef = ref();
|
|
43
46
|
const rightPanelRef = ref();
|
|
44
47
|
const leftChecked = ref([...props.leftDefaultChecked]);
|
|
@@ -61,7 +64,9 @@ const rightData = computed(() => {
|
|
|
61
64
|
const leftTitle = computed(() => props.leftTitle || props.titles?.[0] || t("transfer.titles.0"));
|
|
62
65
|
const rightTitle = computed(() => props.rightTitle || props.titles?.[1] || t("transfer.titles.1"));
|
|
63
66
|
const leftEmptyText = computed(() => props.leftEmptyText || props.emptyText || t("transfer.noData"));
|
|
64
|
-
const rightEmptyText = computed(
|
|
67
|
+
const rightEmptyText = computed(
|
|
68
|
+
() => props.rightEmptyText || props.emptyText || t("transfer.noData")
|
|
69
|
+
);
|
|
65
70
|
const filterPlaceholder = computed(() => props.filterPlaceholder || t("transfer.filterPlaceholder"));
|
|
66
71
|
const canMoveToRight = computed(() => leftChecked.value.length > 0);
|
|
67
72
|
const canMoveToLeft = computed(() => rightChecked.value.length > 0);
|
|
@@ -123,18 +128,33 @@ watch(
|
|
|
123
128
|
defineExpose({
|
|
124
129
|
clearLeftChecked,
|
|
125
130
|
clearRightChecked,
|
|
126
|
-
leftPanel: leftPanelRef
|
|
127
|
-
rightPanel: rightPanelRef
|
|
131
|
+
leftPanel: leftPanelRef,
|
|
132
|
+
rightPanel: rightPanelRef
|
|
128
133
|
});
|
|
129
134
|
</script>
|
|
130
135
|
|
|
131
136
|
<template>
|
|
132
137
|
<div :class="containerClasses" :style="themeStyle">
|
|
133
|
-
<TransferPanel
|
|
134
|
-
|
|
135
|
-
:
|
|
136
|
-
:
|
|
137
|
-
|
|
138
|
+
<TransferPanel
|
|
139
|
+
ref="leftPanelRef"
|
|
140
|
+
:data="leftData"
|
|
141
|
+
:checked="leftChecked"
|
|
142
|
+
:title="leftTitle"
|
|
143
|
+
:filterable="filterable"
|
|
144
|
+
:filter-placeholder="filterPlaceholder"
|
|
145
|
+
:filter-method="filterMethod"
|
|
146
|
+
:disabled="disabled"
|
|
147
|
+
:size="size"
|
|
148
|
+
:props="props.props"
|
|
149
|
+
:render-content="renderContent"
|
|
150
|
+
:virtual="virtual"
|
|
151
|
+
:item-height="itemHeight"
|
|
152
|
+
:height="height"
|
|
153
|
+
:show-all-checkbox="showAllCheckbox"
|
|
154
|
+
:empty-text="leftEmptyText"
|
|
155
|
+
@update:checked="handleLeftCheckedChange"
|
|
156
|
+
@checked-change="handleLeftCheckedChange"
|
|
157
|
+
>
|
|
138
158
|
<template v-if="$slots['left-header']" #header>
|
|
139
159
|
<slot name="left-header" />
|
|
140
160
|
</template>
|
|
@@ -150,37 +170,73 @@ defineExpose({
|
|
|
150
170
|
</TransferPanel>
|
|
151
171
|
|
|
152
172
|
<div :class="ns.e('buttons')">
|
|
153
|
-
<slot
|
|
154
|
-
|
|
155
|
-
|
|
173
|
+
<slot
|
|
174
|
+
name="buttons"
|
|
175
|
+
:move-to-left="moveToLeft"
|
|
176
|
+
:move-to-right="moveToRight"
|
|
177
|
+
:left-checked="leftChecked"
|
|
178
|
+
:right-checked="rightChecked"
|
|
179
|
+
>
|
|
180
|
+
<button
|
|
181
|
+
type="button"
|
|
182
|
+
:class="[ns.e('button'), {
|
|
156
183
|
'is-disabled': !canMoveToRight || disabled
|
|
157
184
|
}]"
|
|
158
|
-
:disabled="!canMoveToRight || disabled"
|
|
185
|
+
:disabled="!canMoveToRight || disabled"
|
|
186
|
+
@click="moveToRight"
|
|
187
|
+
>
|
|
159
188
|
<svg :class="ns.e('button__icon')" viewBox="0 0 1024 1024">
|
|
160
|
-
<path
|
|
161
|
-
|
|
189
|
+
<path
|
|
190
|
+
fill="currentColor"
|
|
191
|
+
d="M340.864 149.312a30.592 30.592 0 000 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0042.752 43.458l355.136-362.88a30.592 30.592 0 000-43.52L383.616 106.56a30.592 30.592 0 00-42.752 42.752z"
|
|
192
|
+
/>
|
|
162
193
|
</svg>
|
|
163
|
-
<span v-if="buttonTexts && buttonTexts[0]" :class="ns.e('button__text')">{{
|
|
194
|
+
<span v-if="buttonTexts && buttonTexts[0]" :class="ns.e('button__text')">{{
|
|
195
|
+
buttonTexts[0]
|
|
196
|
+
}}</span>
|
|
164
197
|
</button>
|
|
165
198
|
|
|
166
|
-
<button
|
|
199
|
+
<button
|
|
200
|
+
type="button"
|
|
201
|
+
:class="[ns.e('button'), {
|
|
167
202
|
'is-disabled': !canMoveToLeft || disabled
|
|
168
203
|
}]"
|
|
169
|
-
:disabled="!canMoveToLeft || disabled"
|
|
204
|
+
:disabled="!canMoveToLeft || disabled"
|
|
205
|
+
@click="moveToLeft"
|
|
206
|
+
>
|
|
170
207
|
<svg :class="ns.e('button__icon')" viewBox="0 0 1024 1024">
|
|
171
|
-
<path
|
|
172
|
-
|
|
208
|
+
<path
|
|
209
|
+
fill="currentColor"
|
|
210
|
+
d="M685.248 104.256a30.592 30.592 0 010 42.752L373.376 512l311.872 364.992a30.592 30.592 0 11-42.752 43.458L287.38 555.52a30.592 30.592 0 010-43.52l355.136-364.93a30.592 30.592 0 0142.752 0z"
|
|
211
|
+
/>
|
|
173
212
|
</svg>
|
|
174
|
-
<span v-if="buttonTexts && buttonTexts[1]" :class="ns.e('button__text')">{{
|
|
213
|
+
<span v-if="buttonTexts && buttonTexts[1]" :class="ns.e('button__text')">{{
|
|
214
|
+
buttonTexts[1]
|
|
215
|
+
}}</span>
|
|
175
216
|
</button>
|
|
176
217
|
</slot>
|
|
177
218
|
</div>
|
|
178
219
|
|
|
179
|
-
<TransferPanel
|
|
180
|
-
|
|
181
|
-
:
|
|
182
|
-
:
|
|
183
|
-
|
|
220
|
+
<TransferPanel
|
|
221
|
+
ref="rightPanelRef"
|
|
222
|
+
:data="rightData"
|
|
223
|
+
:checked="rightChecked"
|
|
224
|
+
:title="rightTitle"
|
|
225
|
+
:filterable="filterable"
|
|
226
|
+
:filter-placeholder="filterPlaceholder"
|
|
227
|
+
:filter-method="filterMethod"
|
|
228
|
+
:disabled="disabled"
|
|
229
|
+
:size="size"
|
|
230
|
+
:props="props.props"
|
|
231
|
+
:render-content="renderContent"
|
|
232
|
+
:virtual="virtual"
|
|
233
|
+
:item-height="itemHeight"
|
|
234
|
+
:height="height"
|
|
235
|
+
:show-all-checkbox="showAllCheckbox"
|
|
236
|
+
:empty-text="rightEmptyText"
|
|
237
|
+
@update:checked="handleRightCheckedChange"
|
|
238
|
+
@checked-change="handleRightCheckedChange"
|
|
239
|
+
>
|
|
184
240
|
<template v-if="$slots['right-header']" #header>
|
|
185
241
|
<slot name="right-header" />
|
|
186
242
|
</template>
|
|
@@ -31,8 +31,8 @@ type __VLS_Slots = {} & {
|
|
|
31
31
|
declare const __VLS_component: import("vue").DefineComponent<TransferProps, {
|
|
32
32
|
clearLeftChecked: () => void;
|
|
33
33
|
clearRightChecked: () => void;
|
|
34
|
-
leftPanel: TransferPanelExpose | undefined
|
|
35
|
-
rightPanel: TransferPanelExpose | undefined
|
|
34
|
+
leftPanel: import("vue").Ref<TransferPanelExpose | undefined>;
|
|
35
|
+
rightPanel: import("vue").Ref<TransferPanelExpose | undefined>;
|
|
36
36
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
37
37
|
change: (value: TransferKey[], direction: import("./transfer").TransferDirection, movedKeys: TransferKey[]) => any;
|
|
38
38
|
"update:modelValue": (value: TransferKey[]) => any;
|
package/dist/tree/index.d.ts
CHANGED
|
@@ -627,3 +627,10 @@ export default YhTree;
|
|
|
627
627
|
export * from './src/tree';
|
|
628
628
|
export type TreeInstance = InstanceType<typeof Tree>;
|
|
629
629
|
export type TreeNodeInstance = InstanceType<typeof TreeNode>;
|
|
630
|
+
export type YhTreeInstance = TreeInstance;
|
|
631
|
+
export type YhTreeNodeInstance = TreeNodeInstance;
|
|
632
|
+
export type YhTreeProps = import('./src/tree').TreeProps;
|
|
633
|
+
export type YhTreeEmits = import('./src/tree').TreeEmits;
|
|
634
|
+
export type YhTreeNodeData = import('./src/tree').TreeNodeData;
|
|
635
|
+
export type YhTreeNode = import('./src/tree').TreeNode;
|
|
636
|
+
export type YhTreeNodeSlotData = import('./src/tree').TreeNodeSlotData;
|