@indielayer/ui 1.18.0 → 1.18.1
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/docs/components/toolbar/ToolbarColorToggle.vue +1 -1
- package/docs/pages/component/select/multiple.vue +2 -2
- package/lib/components/select/Select.vue.d.ts +15 -350
- package/lib/components/select/Select.vue.js +191 -184
- package/lib/index.js +1 -1
- package/lib/index.umd.js +4 -4
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/src/components/select/Select.vue +30 -8
- package/src/version.ts +1 -1
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "1.18.
|
|
1
|
+
declare const _default: "1.18.1";
|
|
2
2
|
export default _default;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -83,6 +83,21 @@ const props = defineProps(selectProps)
|
|
|
83
83
|
|
|
84
84
|
const emit = defineEmits([...useInputtable.emits(), 'close', 'open'])
|
|
85
85
|
|
|
86
|
+
defineSlots<{
|
|
87
|
+
prefix(props: { item: SelectOption; }): any;
|
|
88
|
+
suffix(props: { item: SelectOption; }): any;
|
|
89
|
+
label(props: { item: SelectOption; }): any;
|
|
90
|
+
input(props: {
|
|
91
|
+
popover: InstanceType<typeof XPopover> | null;
|
|
92
|
+
selected: any;
|
|
93
|
+
disabled: boolean;
|
|
94
|
+
label: string;
|
|
95
|
+
}): any;
|
|
96
|
+
'content-header'(props?: Record<string, never>): any;
|
|
97
|
+
'content-footer'(props?: Record<string, never>): any;
|
|
98
|
+
icon(props?: Record<string, never>): any;
|
|
99
|
+
}>()
|
|
100
|
+
|
|
86
101
|
const internalMultiple = computed(() => props.multiple || props.multipleCheckbox)
|
|
87
102
|
|
|
88
103
|
const elRef = ref<HTMLElement | null>(null)
|
|
@@ -360,9 +375,16 @@ function getItem(value: string | number | []) {
|
|
|
360
375
|
function getLabel(value: string | number | []) {
|
|
361
376
|
const option = getItem(value)
|
|
362
377
|
|
|
363
|
-
if (option) return option.label
|
|
378
|
+
if (option) return option.label?.toString()
|
|
379
|
+
|
|
380
|
+
return value?.toString()
|
|
381
|
+
}
|
|
364
382
|
|
|
365
|
-
|
|
383
|
+
function fallbackSelectOption(value: string | number | []): SelectOption {
|
|
384
|
+
return {
|
|
385
|
+
value: value?.toString() || '',
|
|
386
|
+
label: value?.toString() || '',
|
|
387
|
+
}
|
|
366
388
|
}
|
|
367
389
|
|
|
368
390
|
const { focus, blur } = useInteractive(elRef)
|
|
@@ -581,7 +603,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
|
|
|
581
603
|
<template v-if="!hideSelectedOptionSlots">
|
|
582
604
|
<div class="flex items-center">
|
|
583
605
|
<span v-if="$slots.prefix || getItem(value)?.prefix" class="mr-2 shrink-0">
|
|
584
|
-
<slot name="prefix" :item="getItem(value)">{{ getItem(value)?.prefix }}</slot>
|
|
606
|
+
<slot name="prefix" :item="getItem(value) || fallbackSelectOption(value)">{{ getItem(value)?.prefix }}</slot>
|
|
585
607
|
</span>
|
|
586
608
|
|
|
587
609
|
<span class="flex-1 truncate">
|
|
@@ -589,7 +611,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
|
|
|
589
611
|
</span>
|
|
590
612
|
|
|
591
613
|
<span v-if="$slots.suffix || getItem(value)?.suffix" class="ml-1 shrink-0">
|
|
592
|
-
<slot name="suffix" :item="getItem(value)">{{ getItem(value)?.suffix }}</slot>
|
|
614
|
+
<slot name="suffix" :item="getItem(value) || fallbackSelectOption(value)">{{ getItem(value)?.suffix }}</slot>
|
|
593
615
|
</span>
|
|
594
616
|
</div>
|
|
595
617
|
</template>
|
|
@@ -610,7 +632,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
|
|
|
610
632
|
<template v-if="!hideSelectedOptionSlots">
|
|
611
633
|
<div class="flex items-center">
|
|
612
634
|
<span v-if="$slots.prefix || getItem(selected)?.prefix" class="mr-2 shrink-0">
|
|
613
|
-
<slot name="prefix" :item="getItem(selected)">{{ getItem(selected)?.prefix }}</slot>
|
|
635
|
+
<slot name="prefix" :item="getItem(selected) || fallbackSelectOption(selected)">{{ getItem(selected)?.prefix }}</slot>
|
|
614
636
|
</span>
|
|
615
637
|
|
|
616
638
|
<span class="flex-1 truncate">
|
|
@@ -618,7 +640,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
|
|
|
618
640
|
</span>
|
|
619
641
|
|
|
620
642
|
<span v-if="$slots.suffix || getItem(selected)?.suffix" class="ml-1 shrink-0">
|
|
621
|
-
<slot name="suffix" :item="getItem(selected)">{{ getItem(selected)?.suffix }}</slot>
|
|
643
|
+
<slot name="suffix" :item="getItem(selected) || fallbackSelectOption(selected)">{{ getItem(selected)?.suffix }}</slot>
|
|
622
644
|
</span>
|
|
623
645
|
</div>
|
|
624
646
|
</template>
|
|
@@ -705,7 +727,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
|
|
|
705
727
|
<template v-if="!hideSelectedOptionSlots">
|
|
706
728
|
<div class="flex items-center">
|
|
707
729
|
<span v-if="$slots.prefix || getItem(value)?.prefix" class="mr-2 shrink-0">
|
|
708
|
-
<slot name="prefix" :item="getItem(value)">{{ getItem(value)?.prefix }}</slot>
|
|
730
|
+
<slot name="prefix" :item="getItem(value) || fallbackSelectOption(value)">{{ getItem(value)?.prefix }}</slot>
|
|
709
731
|
</span>
|
|
710
732
|
|
|
711
733
|
<span class="flex-1 truncate">
|
|
@@ -713,7 +735,7 @@ defineExpose({ focus, blur, reset, validate, setError, filterRef })
|
|
|
713
735
|
</span>
|
|
714
736
|
|
|
715
737
|
<span v-if="$slots.suffix || getItem(value)?.suffix" class="ml-1 shrink-0">
|
|
716
|
-
<slot name="suffix" :item="getItem(value)">{{ getItem(value)?.suffix }}</slot>
|
|
738
|
+
<slot name="suffix" :item="getItem(value) || fallbackSelectOption(value)">{{ getItem(value)?.suffix }}</slot>
|
|
717
739
|
</span>
|
|
718
740
|
</div>
|
|
719
741
|
</template>
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.18.
|
|
1
|
+
export default '1.18.1'
|