Skip to content

Commit ef3e154

Browse files
authored
Improve ListboxOption and ComboboxOption types (#2067)
* improve `ListboxOption` and `ComboboxOption` types * update changelog
1 parent 9ef269e commit ef3e154

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

packages/@headlessui-vue/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
- Improve syncing of the `ComboboxInput` value ([#2042](https://github.com/tailwindlabs/headlessui/pull/2042))
1616
- Fix crash when using `multiple` mode without `value` prop (uncontrolled) for `Listbox` and `Combobox` components ([#2058](https://github.com/tailwindlabs/headlessui/pull/2058))
1717
- Allow passing in your own `id` prop ([#2060](https://github.com/tailwindlabs/headlessui/pull/2060))
18-
- Add `null` as a valid type for Listbox and Combobox in Vue ([#2064](https://github.com/tailwindlabs/headlessui/pull/2064))
18+
- Add `null` as a valid type for Listbox and Combobox in Vue ([#2064](https://github.com/tailwindlabs/headlessui/pull/2064), [#2067](https://github.com/tailwindlabs/headlessui/pull/2067))
1919

2020
## [1.7.4] - 2022-11-03
2121

packages/@headlessui-vue/src/components/combobox/combobox.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ export let Combobox = defineComponent({
124124
>,
125125
default: undefined,
126126
},
127-
defaultValue: { type: [Object, String, Number, Boolean], default: undefined },
127+
defaultValue: {
128+
type: [Object, String, Number, Boolean] as PropType<
129+
object | string | number | boolean | null
130+
>,
131+
default: undefined,
132+
},
128133
name: { type: String },
129134
nullable: { type: Boolean, default: false },
130135
multiple: { type: [Boolean], default: false },
@@ -993,7 +998,11 @@ export let ComboboxOption = defineComponent({
993998
name: 'ComboboxOption',
994999
props: {
9951000
as: { type: [Object, String], default: 'li' },
996-
value: { type: [Object, String, Number, Boolean] },
1001+
value: {
1002+
type: [Object, String, Number, Boolean] as PropType<
1003+
object | string | number | boolean | null
1004+
>,
1005+
},
9971006
disabled: { type: Boolean, default: false },
9981007
},
9991008
setup(props, { slots, attrs, expose }) {

packages/@headlessui-vue/src/components/listbox/listbox.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,12 @@ export let Listbox = defineComponent({
126126
>,
127127
default: undefined,
128128
},
129-
defaultValue: { type: [Object, String, Number, Boolean], default: undefined },
129+
defaultValue: {
130+
type: [Object, String, Number, Boolean] as PropType<
131+
object | string | number | boolean | null
132+
>,
133+
default: undefined,
134+
},
130135
name: { type: String, optional: true },
131136
multiple: { type: [Boolean], default: false },
132137
},
@@ -679,7 +684,11 @@ export let ListboxOption = defineComponent({
679684
name: 'ListboxOption',
680685
props: {
681686
as: { type: [Object, String], default: 'li' },
682-
value: { type: [Object, String, Number, Boolean] },
687+
value: {
688+
type: [Object, String, Number, Boolean] as PropType<
689+
object | string | number | boolean | null
690+
>,
691+
},
683692
disabled: { type: Boolean, default: false },
684693
id: { type: String, default: () => `headlessui-listbox.option-${useId()}` },
685694
},

0 commit comments

Comments
 (0)