Skip to content

Commit

Permalink
feat(datepicker): make modelValue conditional typed by range prop
Browse files Browse the repository at this point in the history
  • Loading branch information
mlmoravek committed Jul 8, 2024
1 parent c3280d6 commit dcd00c4
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
6 changes: 3 additions & 3 deletions packages/oruga/src/components/datepicker/DatepickerMonth.vue
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<script setup lang="ts" generic="T extends boolean">
<script setup lang="ts">
import {
computed,
ref,
Expand Down Expand Up @@ -28,7 +28,7 @@ const props = defineProps({
monthNames: { type: Array as PropType<string[]>, required: true },
focusedDate: { type: Object as PropType<FocusedDate>, required: true },
pickerProps: {
type: Object as PropType<DatepickerProps<T>>,
type: Object as PropType<DatepickerProps>,
required: true,
},
});
Expand All @@ -46,7 +46,7 @@ const selectedBeginDate = ref<Date>();
const selectedEndDate = ref<Date>();
const hoveredEndDate = ref<Date>();
const datepicker = computed<DatepickerProps<T>>(() => props.pickerProps);
const datepicker = computed<DatepickerProps>(() => props.pickerProps);
const hasEvents = computed(() => !!datepicker.value.events?.length);
Expand Down
6 changes: 3 additions & 3 deletions packages/oruga/src/components/datepicker/DatepickerTable.vue
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<script setup lang="ts" generic="T extends boolean">
<script setup lang="ts">
import { computed, ref, type PropType } from "vue";
import ODatepickerTableRow from "./DatepickerTableRow.vue";
Expand All @@ -24,7 +24,7 @@ const props = defineProps({
dayNames: { type: Array as PropType<string[]>, required: true },
monthNames: { type: Array as PropType<string[]>, required: true },
pickerProps: {
type: Object as PropType<DatepickerProps<T>>,
type: Object as PropType<DatepickerProps>,
required: true,
},
});
Expand All @@ -47,7 +47,7 @@ const selectedBeginDate = ref<Date>();
const selectedEndDate = ref<Date>();
const hoveredEndDate = ref<Date>();
const datepicker = computed<DatepickerProps<T>>(() => props.pickerProps);
const datepicker = computed<DatepickerProps>(() => props.pickerProps);
const visibleDayNames = computed(() => {
const visibleDayNames = [];
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<script setup lang="ts" generic="T extends boolean">
<script setup lang="ts">
import {
computed,
watch,
Expand Down Expand Up @@ -31,7 +31,7 @@ const props = defineProps({
events: { type: Array as PropType<DatepickerEvent[]>, default: undefined },
hoveredDateRange: { type: Array as PropType<Date[]>, default: () => [] },
pickerProps: {
type: Object as PropType<DatepickerProps<T>>,
type: Object as PropType<DatepickerProps>,
required: true,
},
});
Expand All @@ -45,7 +45,7 @@ const emits = defineEmits<{
const { isDateSelectable } = useDatepickerMixins(props.pickerProps);
const datepicker = computed<DatepickerProps<T>>(() => props.pickerProps);
const datepicker = computed<DatepickerProps>(() => props.pickerProps);
const hasEvents = computed(() => !!props.events?.length);
Expand Down
2 changes: 1 addition & 1 deletion packages/oruga/src/components/datepicker/types.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { ComponentProps } from "vue-component-type-helpers";
import Datepicker from "./Datepicker.vue";

export type DatepickerProps<T extends boolean> = ComponentProps<
export type DatepickerProps<T extends boolean = false> = ComponentProps<
typeof Datepicker<T>
>;

Expand Down

0 comments on commit dcd00c4

Please sign in to comment.