From 21e8c83f9d105cd3cf6263f7950b3ce111c888c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kleszczy=C5=84ski?= Date: Sat, 20 Jan 2024 10:02:43 +0100 Subject: [PATCH 1/5] Fixes #3609 - Update Calendar typings to be precise --- components/lib/calendar/Calendar.d.ts | 71 +++++++++++++++++++++------ 1 file changed, 56 insertions(+), 15 deletions(-) diff --git a/components/lib/calendar/Calendar.d.ts b/components/lib/calendar/Calendar.d.ts index c7eb93421..afc404088 100755 --- a/components/lib/calendar/Calendar.d.ts +++ b/components/lib/calendar/Calendar.d.ts @@ -126,7 +126,7 @@ export interface CalendarBlurEvent { /** * Custom passthrough(pt) options. - * @see {@link CalendarProps.pt} + * @see {@link BaseCalendarProps.pt} */ export interface CalendarPassThroughOptions { /** @@ -494,19 +494,9 @@ export interface CalendarYearOptions { } /** - * Defines valid properties in Calendar component. + * Defines valid base properties in Calendar component. */ -export interface CalendarProps { - /** - * Value of the component. - * @defaultValue null - */ - modelValue?: string | Date | string[] | Date[] | undefined | null; - /** - * Defines the quantity of the selection. - * @defaultValue single - */ - selectionMode?: 'single' | 'multiple' | 'range' | undefined; +interface BaseCalendarProps { /** * Format of the date. Defaults to PrimeVue Locale configuration. */ @@ -786,6 +776,57 @@ export interface CalendarProps { */ unstyled?: boolean; } + +/** + * Defines valid single selection properties in Calendar component. + */ +interface CalendarPropsSingle extends BaseCalendarProps { + /** + * Value of the component. + * @defaultValue null + */ + modelValue?: Date | undefined | null; + /** + * Defines the quantity of the selection. + * @defaultValue single + */ + selectionMode?: 'single' | undefined; +} + +/** + * Defines valid range selection properties in Calendar component. + */ +interface CalendarPropsRange extends BaseCalendarProps { + /** + * Value of the component. + * @defaultValue null + */ + modelValue?: Array | undefined | null; + /** + * Defines the quantity of the selection. + * @defaultValue single + */ + selectionMode?: 'range'; +} + +/** + * Defines valid multiple selection properties in Calendar component. + */ +interface CalendarPropsMultiple extends BaseCalendarProps { + /** + * Value of the component. + * @defaultValue null + */ + modelValue?: Array | undefined | null; + /** + * Defines the quantity of the selection. + * @defaultValue single + */ + selectionMode?: 'multiple'; +} + +export type CalendarProps = CalendarPropsSingle | CalendarPropsRange | CalendarPropsMultiple + /** * Defines valid options of the date slot in Calendar component. */ @@ -928,9 +969,9 @@ export interface CalendarSlots { export interface CalendarEmits { /** * Emitted when the value changes. - * @param {string | Date | string[] | Date[] | undefined} value - New value. + * @param {Date | Array | null} value - New value. */ - 'update:modelValue'(value: string | Date | string[] | Date[] | undefined): void; + 'update:modelValue'(value: Date | Array | null): void; /** * Callback to invoke when input field is being typed. * @param {Event} event - Browser event From 724787e4551fb21231179d0e3bbff3537a23d06d Mon Sep 17 00:00:00 2001 From: Damian Glowala Date: Sat, 17 Feb 2024 13:25:08 +0100 Subject: [PATCH 2/5] fix(Calendar): when inline, do not apply fixed width to overlay --- components/lib/calendar/Calendar.vue | 4 ---- 1 file changed, 4 deletions(-) diff --git a/components/lib/calendar/Calendar.vue b/components/lib/calendar/Calendar.vue index ae06dd71b..3e1550073 100755 --- a/components/lib/calendar/Calendar.vue +++ b/components/lib/calendar/Calendar.vue @@ -617,10 +617,6 @@ export default { if (!this.disabled) { this.preventFocus = true; this.initFocusableCell(); - - if (this.numberOfMonths === 1) { - this.overlay.style.width = DomHandler.getOuterWidth(this.$el) + 'px'; - } } } else { this.input.value = this.formatValue(this.modelValue); From d7000e41eb3f85f33bfc4b0dbec2b5c9402ced5f Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Thu, 14 Mar 2024 23:58:11 +0100 Subject: [PATCH 3/5] fix(types): augment `GlobalComponent` interface in `vue` module --- components/lib/accordion/Accordion.d.ts | 4 ++-- components/lib/accordiontab/AccordionTab.d.ts | 4 ++-- components/lib/autocomplete/AutoComplete.d.ts | 4 ++-- components/lib/avatar/Avatar.d.ts | 4 ++-- components/lib/avatargroup/AvatarGroup.d.ts | 4 ++-- components/lib/badge/Badge.d.ts | 4 ++-- components/lib/blockui/BlockUI.d.ts | 4 ++-- components/lib/breadcrumb/Breadcrumb.d.ts | 4 ++-- components/lib/button/Button.d.ts | 4 ++-- components/lib/buttongroup/ButtonGroup.d.ts | 4 ++-- components/lib/calendar/Calendar.d.ts | 4 ++-- components/lib/card/Card.d.ts | 4 ++-- components/lib/carousel/Carousel.d.ts | 4 ++-- components/lib/cascadeselect/CascadeSelect.d.ts | 4 ++-- components/lib/chart/Chart.d.ts | 4 ++-- components/lib/checkbox/Checkbox.d.ts | 4 ++-- components/lib/chip/Chip.d.ts | 4 ++-- components/lib/chips/Chips.d.ts | 4 ++-- components/lib/colorpicker/ColorPicker.d.ts | 4 ++-- components/lib/column/Column.d.ts | 4 ++-- components/lib/columngroup/ColumnGroup.d.ts | 4 ++-- components/lib/confirmdialog/ConfirmDialog.d.ts | 4 ++-- components/lib/confirmpopup/ConfirmPopup.d.ts | 4 ++-- components/lib/contextmenu/ContextMenu.d.ts | 4 ++-- components/lib/datatable/DataTable.d.ts | 4 ++-- components/lib/dataview/DataView.d.ts | 4 ++-- .../lib/dataviewlayoutoptions/DataViewLayoutOptions.d.ts | 4 ++-- components/lib/deferredcontent/DeferredContent.d.ts | 4 ++-- components/lib/dialog/Dialog.d.ts | 4 ++-- components/lib/divider/Divider.d.ts | 4 ++-- components/lib/dock/Dock.d.ts | 4 ++-- components/lib/dropdown/Dropdown.d.ts | 4 ++-- components/lib/dynamicdialog/DynamicDialog.d.ts | 4 ++-- components/lib/editor/Editor.d.ts | 4 ++-- components/lib/fieldset/Fieldset.d.ts | 4 ++-- components/lib/fileupload/FileUpload.d.ts | 4 ++-- components/lib/floatlabel/FloatLabel.d.ts | 4 ++-- components/lib/galleria/Galleria.d.ts | 4 ++-- components/lib/iconfield/IconField.d.ts | 4 ++-- components/lib/icons/angledoubledown/index.d.ts | 4 ++-- components/lib/icons/angledoubleleft/index.d.ts | 4 ++-- components/lib/icons/angledoubleright/index.d.ts | 4 ++-- components/lib/icons/angledoubleup/index.d.ts | 4 ++-- components/lib/icons/angledown/index.d.ts | 4 ++-- components/lib/icons/angleleft/index.d.ts | 4 ++-- components/lib/icons/angleright/index.d.ts | 4 ++-- components/lib/icons/angleup/index.d.ts | 4 ++-- components/lib/icons/arrowdown/index.d.ts | 4 ++-- components/lib/icons/arrowup/index.d.ts | 4 ++-- components/lib/icons/ban/index.d.ts | 4 ++-- components/lib/icons/bars/index.d.ts | 4 ++-- components/lib/icons/blank/index.d.ts | 4 ++-- components/lib/icons/calendar/index.d.ts | 4 ++-- components/lib/icons/check/index.d.ts | 4 ++-- components/lib/icons/chevrondown/index.d.ts | 4 ++-- components/lib/icons/chevronleft/index.d.ts | 4 ++-- components/lib/icons/chevronright/index.d.ts | 4 ++-- components/lib/icons/chevronup/index.d.ts | 4 ++-- components/lib/icons/exclamationtriangle/index.d.ts | 4 ++-- components/lib/icons/eye/index.d.ts | 4 ++-- components/lib/icons/eyeslash/index.d.ts | 4 ++-- components/lib/icons/filter/index.d.ts | 4 ++-- components/lib/icons/filterslash/index.d.ts | 4 ++-- components/lib/icons/infocircle/index.d.ts | 4 ++-- components/lib/icons/minus/index.d.ts | 4 ++-- components/lib/icons/pencil/index.d.ts | 4 ++-- components/lib/icons/plus/index.d.ts | 4 ++-- components/lib/icons/refresh/index.d.ts | 4 ++-- components/lib/icons/search/index.d.ts | 4 ++-- components/lib/icons/searchminus/index.d.ts | 4 ++-- components/lib/icons/searchplus/index.d.ts | 4 ++-- components/lib/icons/sortalt/index.d.ts | 4 ++-- components/lib/icons/sortamountdown/index.d.ts | 4 ++-- components/lib/icons/sortamountupalt/index.d.ts | 4 ++-- components/lib/icons/spinner/index.d.ts | 4 ++-- components/lib/icons/star/index.d.ts | 4 ++-- components/lib/icons/starfill/index.d.ts | 4 ++-- components/lib/icons/thlarge/index.d.ts | 4 ++-- components/lib/icons/times/index.d.ts | 4 ++-- components/lib/icons/timescircle/index.d.ts | 4 ++-- components/lib/icons/trash/index.d.ts | 4 ++-- components/lib/icons/undo/index.d.ts | 4 ++-- components/lib/icons/upload/index.d.ts | 4 ++-- components/lib/icons/windowmaximize/index.d.ts | 4 ++-- components/lib/icons/windowminimize/index.d.ts | 4 ++-- components/lib/image/Image.d.ts | 4 ++-- components/lib/inlinemessage/InlineMessage.d.ts | 4 ++-- components/lib/inplace/Inplace.d.ts | 4 ++-- components/lib/inputgroup/InputGroup.d.ts | 4 ++-- components/lib/inputgroupaddon/InputGroupAddon.d.ts | 4 ++-- components/lib/inputicon/InputIcon.d.ts | 4 ++-- components/lib/inputmask/InputMask.d.ts | 4 ++-- components/lib/inputnumber/InputNumber.d.ts | 4 ++-- components/lib/inputotp/InputOtp.d.ts | 4 ++-- components/lib/inputswitch/InputSwitch.d.ts | 4 ++-- components/lib/inputtext/InputText.d.ts | 4 ++-- components/lib/knob/Knob.d.ts | 4 ++-- components/lib/listbox/Listbox.d.ts | 4 ++-- components/lib/megamenu/MegaMenu.d.ts | 4 ++-- components/lib/menu/Menu.d.ts | 4 ++-- components/lib/menubar/Menubar.d.ts | 4 ++-- components/lib/message/Message.d.ts | 4 ++-- components/lib/metergroup/MeterGroup.d.ts | 4 ++-- components/lib/multiselect/MultiSelect.d.ts | 4 ++-- components/lib/orderlist/OrderList.d.ts | 4 ++-- components/lib/organizationchart/OrganizationChart.d.ts | 4 ++-- components/lib/overlaypanel/OverlayPanel.d.ts | 4 ++-- components/lib/paginator/Paginator.d.ts | 4 ++-- components/lib/panel/Panel.d.ts | 4 ++-- components/lib/panelmenu/PanelMenu.d.ts | 4 ++-- components/lib/password/Password.d.ts | 4 ++-- components/lib/picklist/PickList.d.ts | 4 ++-- components/lib/portal/Portal.d.ts | 4 ++-- components/lib/progressbar/ProgressBar.d.ts | 4 ++-- components/lib/progressspinner/ProgressSpinner.d.ts | 4 ++-- components/lib/radiobutton/RadioButton.d.ts | 4 ++-- components/lib/rating/Rating.d.ts | 4 ++-- components/lib/row/Row.d.ts | 4 ++-- components/lib/scrollpanel/ScrollPanel.d.ts | 4 ++-- components/lib/scrolltop/ScrollTop.d.ts | 4 ++-- components/lib/selectbutton/SelectButton.d.ts | 4 ++-- components/lib/sidebar/Sidebar.d.ts | 4 ++-- components/lib/skeleton/Skeleton.d.ts | 4 ++-- components/lib/slider/Slider.d.ts | 4 ++-- components/lib/speeddial/SpeedDial.d.ts | 4 ++-- components/lib/splitbutton/SplitButton.d.ts | 4 ++-- components/lib/splitter/Splitter.d.ts | 4 ++-- components/lib/splitterpanel/SplitterPanel.d.ts | 4 ++-- components/lib/stepper/Stepper.d.ts | 4 ++-- components/lib/stepperpanel/StepperPanel.d.ts | 4 ++-- components/lib/steps/Steps.d.ts | 4 ++-- components/lib/tabmenu/TabMenu.d.ts | 4 ++-- components/lib/tabpanel/TabPanel.d.ts | 4 ++-- components/lib/tabview/TabView.d.ts | 4 ++-- components/lib/tag/Tag.d.ts | 4 ++-- components/lib/terminal/Terminal.d.ts | 4 ++-- components/lib/textarea/Textarea.d.ts | 4 ++-- components/lib/tieredmenu/TieredMenu.d.ts | 4 ++-- components/lib/timeline/Timeline.d.ts | 4 ++-- components/lib/toast/Toast.d.ts | 4 ++-- components/lib/togglebutton/ToggleButton.d.ts | 4 ++-- components/lib/toolbar/Toolbar.d.ts | 4 ++-- components/lib/tree/Tree.d.ts | 4 ++-- components/lib/treeselect/TreeSelect.d.ts | 4 ++-- components/lib/treetable/TreeTable.d.ts | 4 ++-- components/lib/tristatecheckbox/TriStateCheckbox.d.ts | 4 ++-- components/lib/virtualscroller/VirtualScroller.d.ts | 4 ++-- 147 files changed, 294 insertions(+), 294 deletions(-) diff --git a/components/lib/accordion/Accordion.d.ts b/components/lib/accordion/Accordion.d.ts index eba03e0d0..75ca204d3 100755 --- a/components/lib/accordion/Accordion.d.ts +++ b/components/lib/accordion/Accordion.d.ts @@ -232,8 +232,8 @@ export interface AccordionEmits { */ declare class Accordion extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { Accordion: GlobalComponentConstructor; } } diff --git a/components/lib/accordiontab/AccordionTab.d.ts b/components/lib/accordiontab/AccordionTab.d.ts index d97c144a5..f7ad00874 100755 --- a/components/lib/accordiontab/AccordionTab.d.ts +++ b/components/lib/accordiontab/AccordionTab.d.ts @@ -226,8 +226,8 @@ export interface AccordionTabEmits {} */ declare class AccordionTab extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { AccordionTab: GlobalComponentConstructor; } } diff --git a/components/lib/autocomplete/AutoComplete.d.ts b/components/lib/autocomplete/AutoComplete.d.ts index 763d69f67..9db080eaa 100755 --- a/components/lib/autocomplete/AutoComplete.d.ts +++ b/components/lib/autocomplete/AutoComplete.d.ts @@ -769,8 +769,8 @@ export interface AutoCompleteEmits { */ declare class AutoComplete extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { AutoComplete: GlobalComponentConstructor; } } diff --git a/components/lib/avatar/Avatar.d.ts b/components/lib/avatar/Avatar.d.ts index 99784b607..bf8341f8a 100644 --- a/components/lib/avatar/Avatar.d.ts +++ b/components/lib/avatar/Avatar.d.ts @@ -163,8 +163,8 @@ export interface AvatarEmits { */ declare class Avatar extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { Avatar: GlobalComponentConstructor; } } diff --git a/components/lib/avatargroup/AvatarGroup.d.ts b/components/lib/avatargroup/AvatarGroup.d.ts index 978fdead4..fa171ea43 100644 --- a/components/lib/avatargroup/AvatarGroup.d.ts +++ b/components/lib/avatargroup/AvatarGroup.d.ts @@ -112,8 +112,8 @@ export interface AvatarGroupEmits {} */ declare class AvatarGroup extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { AvatarGroup: GlobalComponentConstructor; } } diff --git a/components/lib/badge/Badge.d.ts b/components/lib/badge/Badge.d.ts index 1d165b7fc..092031ec0 100644 --- a/components/lib/badge/Badge.d.ts +++ b/components/lib/badge/Badge.d.ts @@ -120,8 +120,8 @@ export interface BadgeEmits {} */ declare class Badge extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { Badge: GlobalComponentConstructor; } } diff --git a/components/lib/blockui/BlockUI.d.ts b/components/lib/blockui/BlockUI.d.ts index a28e019e8..2edda21d6 100755 --- a/components/lib/blockui/BlockUI.d.ts +++ b/components/lib/blockui/BlockUI.d.ts @@ -160,8 +160,8 @@ export interface BlockUIEmits { */ declare class BlockUI extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { BlockUI: GlobalComponentConstructor; } } diff --git a/components/lib/breadcrumb/Breadcrumb.d.ts b/components/lib/breadcrumb/Breadcrumb.d.ts index eab425c6d..77e87024f 100755 --- a/components/lib/breadcrumb/Breadcrumb.d.ts +++ b/components/lib/breadcrumb/Breadcrumb.d.ts @@ -232,8 +232,8 @@ export interface BreadcrumbEmits {} */ declare class Breadcrumb extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { Breadcrumb: GlobalComponentConstructor; } } diff --git a/components/lib/button/Button.d.ts b/components/lib/button/Button.d.ts index eae282387..ffad1880b 100755 --- a/components/lib/button/Button.d.ts +++ b/components/lib/button/Button.d.ts @@ -243,8 +243,8 @@ export interface ButtonEmits {} */ declare class Button extends ClassComponent {} -declare module '@vue/runtime-core' { - interface GlobalComponents { +declare module 'vue' { + export interface GlobalComponents { Button: GlobalComponentConstructor