Skip to content

Commit

Permalink
refactor: change defineEmits to type-declaration approach (#1113)
Browse files Browse the repository at this point in the history
  • Loading branch information
mlmoravek authored Nov 15, 2024
1 parent 44c7075 commit da70697
Show file tree
Hide file tree
Showing 43 changed files with 238 additions and 230 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ packages/docs/.vitepress/.cache/
packages/docs/.vitepress/.temp/
packages/docs/.vitepress/dist/
packages/oruga/README.md
**/vite.config.js.timestamp**
**/vite.config.js.timestamp**
**/vite.config.ts.timestamp**
30 changes: 15 additions & 15 deletions packages/oruga/src/components/autocomplete/Autocomplete.vue
Original file line number Diff line number Diff line change
Expand Up @@ -111,65 +111,65 @@ const props = withDefaults(defineProps<AutocompleteProps<T>>(), {
const emits = defineEmits<{
/**
* modelValue prop two-way binding
* @param value {string | number | object} updated modelValue prop
* @param value {T} updated modelValue prop
*/
(e: "update:modelValue", value: ModelValue): void;
"update:model-value": [value: ModelValue];
/**
* input prop two-way binding
* @param value {string} updated input prop
*/
(e: "update:input", value: string): void;
"update:input": [value: string];
/**
* on input change event
* @param value {string} input value
* @param event {Event} native event
*/
(e: "input", value: string, event: Event): void;
input: [value: string, event: Event];
/**
* selected element changed event
* @param value {string | number | object} selected value
* @param value {T} selected value
* @param event {Event} native event
*/
(e: "select", value: ModelValue, event: Event): void;
select: [value: ModelValue, event: Event];
/**
* header is selected
* @param event {Event} native event
*/
(e: "select-header", event: Event): void;
"select-header": [event: Event];
/**
* footer is selected
* @param event {Event} native event
*/
(e: "select-footer", event: Event): void;
"select-footer": [event: Event];
/**
* on input focus event
* @param event {Event} native event
*/
(e: "focus", event: Event): void;
focus: [event: Event];
/**
* on input blur event
* @param event {Event} native event
*/
(e: "blur", event: Event): void;
blur: [event: Event];
/**
* on input invalid event
* @param event {Event} native event
*/
(e: "invalid", event: Event): void;
invalid: [event: Event];
/**
* on icon click event
* @param event {Event} native event
*/
(e: "icon-click", event: Event): void;
"icon-click": [event: Event];
/**
* on icon right click event
* @param event {Event} native event
*/
(e: "icon-right-click", event: Event): void;
"icon-right-click": [event: Event];
/** the list inside the dropdown reached the start */
(e: "scroll-start"): void;
"scroll-start": [];
/** the list inside the dropdown reached it's end */
(e: "scroll-end"): void;
"scroll-end": [];
}>();
const slots = useSlots();
Expand Down
6 changes: 3 additions & 3 deletions packages/oruga/src/components/carousel/Carousel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -215,17 +215,17 @@ const emits = defineEmits<{
* modelValue prop two-way binding
* @param value {number} updated modelValue prop
*/
(e: "update:modelValue", value: number): void;
"update:model-value": [value: number];
/**
* on carousel scroll event
* @param value {number} scroll index
*/
(e: "scroll", value: number): void;
scroll: [value: number];
/**
* on item click event
* @param event {event} native event
*/
(e: "click", event: Event): void;
click: [event: Event];
}>();
const rootRef = useTemplateRef("rootElement");
Expand Down
16 changes: 8 additions & 8 deletions packages/oruga/src/components/checkbox/Checkbox.vue
Original file line number Diff line number Diff line change
Expand Up @@ -42,35 +42,35 @@ const props = withDefaults(defineProps<CheckboxProps<T>>(), {
const emits = defineEmits<{
/**
* modelValue prop two-way binding
* @param value {string | number | boolean | object | array} updated modelValue prop
* @param value {T | T[]} updated modelValue prop
*/
(e: "update:modelValue", value: T | T[]): void;
"update:model-value": [value: T | T[]];
/**
* on input change event
* @param value {string | number | boolean | object | array} input value
* @param value {T | T[]} input value
* @param event {Event} native event
*/
(e: "input", value: T | T[], event: Event): void;
input: [value: T | T[], event: Event];
/**
* indeterminate prop two-way binding
* @param value {boolean} updated indeterminate prop
*/
(e: "update:indeterminate", value: boolean): void;
"update:indeterminate": [value: boolean];
/**
* on input focus event
* @param event {Event} native event
*/
(e: "focus", event: Event): void;
focus: [event: Event];
/**
* on input blur event
* @param event {Event} native event
*/
(e: "blur", event: Event): void;
blur: [event: Event];
/**
* on input invalid event
* @param event {Event} native event
*/
(e: "invalid", event: Event): void;
invalid: [event: Event];
}>();
const inputRef = useTemplateRef("inputElement");
Expand Down
6 changes: 3 additions & 3 deletions packages/oruga/src/components/collapse/Collapse.vue
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ const emits = defineEmits<{
* open prop two-way binding
* @param value {boolean} updated open prop
*/
(e: "update:open", value: boolean): void;
"update:open": [value: boolean];
/** on collapse opened */
(e: "open"): void;
open: [];
/** on collapse closed */
(e: "close"): void;
close: [];
}>();
const isOpen = defineModel<boolean>("open", { default: true });
Expand Down
27 changes: 14 additions & 13 deletions packages/oruga/src/components/datepicker/Datepicker.vue
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ const props = withDefaults(
teleport: () => getDefault("datepicker.teleport", false),
useHtml5Validation: () => getDefault("useHtml5Validation", true),
customValidity: "",
ariaNextLabel: () => getDefault("datepicker.ariaNextLabel", "Next Page"),
ariaNextLabel: () =>
getDefault("datepicker.ariaNextLabel", "Next Page"),
ariaPreviousLabel: () =>
getDefault("datepicker.ariaNextLabel", "Previous Page"),
inputClasses: () => getDefault("datepicker.inputClasses"),
Expand All @@ -107,57 +108,57 @@ const emits = defineEmits<{
* modelValue prop two-way binding
* @param value {Date | Date[]} updated modelValue prop
*/
(e: "update:modelValue", value: ModelValue): void;
"update:model-value": [value: ModelValue];
/**
* active prop two-way binding
* @param value {boolean} updated active prop
*/
(e: "update:active", value: boolean): void;
"update:active": [value: boolean];
/**
* on range start is selected event
* @param value {Date} range start date
*/
(e: "range-start", value: Date): void;
"range-start": [value: Date];
/**
* on range end is selected event
* @param value {Date} range end date
*/
(e: "range-end", value: Date): void;
"range-end": [value: Date];
/**
* on month change event
* @param value {number} month number
*/
(e: "change-month", value: number): void;
"change-month": [value: number];
/**
* on year change event
* @param value {number} year number
*/
(e: "change-year", value: number): void;
"change-year": [value: number];
/**
* on input focus event
* @param event {Event} native event
*/
(e: "focus", event: Event): void;
focus: [event: Event];
/**
* on input blur event
* @param event {Event} native event
*/
(e: "blur", event: Event): void;
blur: [event: Event];
/**
* on input invalid event
* @param event {Event} native event
*/
(e: "invalid", event: Event): void;
invalid: [event: Event];
/**
* on icon click event
* @param event {Event} native event
*/
(e: "icon-click", event: Event): void;
"icon-click": [event: Event];
/**
* on icon right click event
* @param event {Event} native event
*/
(e: "icon-right-click", event: Event): void;
"icon-right-click": [event: Event];
}>();
const { dtf, dateCreator, dateFormatter, dateParser } =
Expand Down Expand Up @@ -196,7 +197,7 @@ watch(
Array.isArray(vmodel.value) &&
value.length > vmodel.value.length)
)
// updateInternalState
// update internal state
focusedDateData.value = {
day: currentDate.getDate(),
month: currentDate.getMonth(),
Expand Down
14 changes: 7 additions & 7 deletions packages/oruga/src/components/datepicker/DatepickerMonth.vue
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ const props = defineProps({
const emits = defineEmits<{
/** modelValue prop two-way binding */
(e: "update:modelValue", value: Date | Date[]): void;
"update:model-value": [value: Date | Date[]];
/** focusedDate prop two-way binding */
(e: "update:focusedDate", value: FocusedDate): void;
(e: "range-start", value: Date): void;
(e: "range-end", value: Date): void;
"update:focusedDate": [value: FocusedDate];
"range-start": [value: Date];
"range-end": [value: Date];
}>();
const { dateCreator } = useDatepickerMixins(props.pickerProps);
Expand Down Expand Up @@ -234,7 +234,7 @@ function selectDate(date: Date): void {
else if (isTrueish(props.pickerProps.range)) handleSelectRangeDate(date);
else if (isTrueish(props.pickerProps.multiple))
handleSelectMultipleDates(date);
else emits("update:modelValue", date);
else emits("update:model-value", date);
}
/*
Expand All @@ -255,7 +255,7 @@ function handleSelectRangeDate(date: Date): void {
selectedEndDate.value = date;
}
emits("range-end", date);
emits("update:modelValue", [
emits("update:model-value", [
selectedBeginDate.value,
selectedEndDate.value,
]);
Expand Down Expand Up @@ -291,7 +291,7 @@ function handleSelectMultipleDates(date: Date): void {
} else {
multipleSelectedDates.push(date);
}
emits("update:modelValue", multipleSelectedDates);
emits("update:model-value", multipleSelectedDates);
}
function changeFocus(month: Date, inc: number): void {
Expand Down
16 changes: 8 additions & 8 deletions packages/oruga/src/components/datepicker/DatepickerTable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ const props = defineProps({
const emits = defineEmits<{
/** modelValue prop two-way binding */
(e: "update:modelValue", value: Date | Date[]): void;
"update:model-value": [value: Date | Date[]];
/** focusedDate prop two-way binding */
(e: "update:focusedDate", value: FocusedDate): void;
(e: "range-start", value: Date): void;
(e: "range-end", value: Date): void;
(e: "week-number-click", value: number): void;
"update:focusedDate": [value: FocusedDate];
"range-start": [value: Date];
"range-end": [value: Date];
"week-number-click": [value: number];
}>();
const { isDateSelectable } = useDatepickerMixins(props.pickerProps);
Expand Down Expand Up @@ -164,7 +164,7 @@ function onSelectedDate(date: Date): void {
else if (isTrueish(props.pickerProps.range)) handleSelectRangeDate(date);
else if (isTrueish(props.pickerProps.multiple))
handleSelectMultipleDates(date);
else emits("update:modelValue", date);
else emits("update:model-value", date);
}
/*
Expand All @@ -185,7 +185,7 @@ function handleSelectRangeDate(date: Date): void {
selectedEndDate.value = date;
}
emits("range-end", date);
emits("update:modelValue", [
emits("update:model-value", [
selectedBeginDate.value,
selectedEndDate.value,
]);
Expand Down Expand Up @@ -219,7 +219,7 @@ function handleSelectMultipleDates(date: Date): void {
} else {
multipleSelectedDates = [...multipleSelectedDates, date];
}
emits("update:modelValue", multipleSelectedDates);
emits("update:model-value", multipleSelectedDates);
}
function onRangeHoverEndDate(date: Date): void {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ const props = defineProps({
});
const emits = defineEmits<{
(e: "select", value: Date): void;
(e: "hover-enddate", value: Date): void;
(e: "change-focus", value: Date): void;
(e: "week-number-click", value: number): void;
select: [value: Date];
"hover-enddate": [value: Date];
"change-focus": [value: Date];
"week-number-click": [value: number];
}>();
const { isDateSelectable, dateCreator } = useDatepickerMixins(
Expand Down
Loading

0 comments on commit da70697

Please sign in to comment.