diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f6285f0e..ee0d00b63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,63 @@ # Changelog +## [4.0.7](https://github.com/primefaces/primevue/tree/4.0.7) (2024-09-11) + +[Full Changelog](https://github.com/primefaces/primevue/compare/4.0.6...4.0.7) + +**Fixed bugs:** + +- SelectButton pt name correction [\#6382](https://github.com/primefaces/primevue/issues/6382) +- ToggleButton: aria-label and aria-labelledby not observed [\#6377](https://github.com/primefaces/primevue/issues/6377) +- FileUpload: Fix type of FileUploadState.messages [\#6370](https://github.com/primefaces/primevue/issues/6370) +- TreeTable: click and arrow key defect [\#6368](https://github.com/primefaces/primevue/issues/6368) +- Dialog: no dragstart event to accompany dragend [\#6357](https://github.com/primefaces/primevue/issues/6357) +- Dialog: dragging state is not reset when closed while dragging [\#6356](https://github.com/primefaces/primevue/issues/6356) +- InputOtp: IntegerOnly mode accepts "space" [\#6353](https://github.com/primefaces/primevue/issues/6353) +- InputOtp: Pasting adds an extra character [\#6351](https://github.com/primefaces/primevue/issues/6351) +- DatePicker: Pick month does not work [\#6342](https://github.com/primefaces/primevue/issues/6342) +- DataTable: Cannot set properties of null (setting 'tabIndex') [\#6323](https://github.com/primefaces/primevue/issues/6323) +- DatePicker showOtherMonths wrong behaviour [\#6307](https://github.com/primefaces/primevue/issues/6307) +- Click outside only when not modal [\#6284](https://github.com/primefaces/primevue/pull/6284) +- Select: Chinese IME input will be stopped in filter input element [\#6279](https://github.com/primefaces/primevue/issues/6279) + +## [4.0.6](https://github.com/primefaces/primevue/tree/4.0.6) (2024-09-10) + +[Full Changelog](https://github.com/primefaces/primevue/compare/4.0.5...4.0.6) + +**Fixed bugs:** + +- animate-slidedown fails when a Tailwind prefix is used [\#6365](https://github.com/primefaces/primevue/issues/6365) +- Tree: wrong pt and classname for InputText [\#6301](https://github.com/primefaces/primevue/issues/6301) +- pt pcFilterIconContainer defects on form components [\#6286](https://github.com/primefaces/primevue/issues/6286) +- File Upload: Basic Mode does not apply buttonProps [\#6255](https://github.com/primefaces/primevue/issues/6255) +- Multiple Components: Augment vue using declare module 'vue' instead of declare module '@vue/runtime-core' (and declare module 'vue/types/vue') to avoid compilebreaks [\#6199](https://github.com/primefaces/primevue/issues/6199) + +## [4.0.5](https://github.com/primefaces/primevue/tree/4.0.5) (2024-08-23) + +[Full Changelog](https://github.com/primefaces/primevue/compare/4.0.4...4.0.5) + +**Fixed bugs:** + +- aria-hidden errors on browsers [\#6269](https://github.com/primefaces/primevue/issues/6269) +- Accordion, Button, Step, Tab: Invalid prop warnings when component object passed to as prop [\#6266](https://github.com/primefaces/primevue/issues/6266) +- Carousel: Index is undefined in PassThroughOptions [\#6264](https://github.com/primefaces/primevue/issues/6264) +- Drawer: Nested drawer dissmis [\#6262](https://github.com/primefaces/primevue/issues/6262) +- Accordion and Tabs value prop type definion extensions [\#6252](https://github.com/primefaces/primevue/issues/6252) +- DatePicker: responsiveOptions doesn't work [\#6250](https://github.com/primefaces/primevue/issues/6250) +- ScrollTop: ScrollTop button not displayed correctly when ripple effect is enabled [\#6249](https://github.com/primefaces/primevue/issues/6249) +- Stepper: activateCallback has incorrect signature [\#6225](https://github.com/primefaces/primevue/issues/6225) +- SpeedDial: Invalid aria-controls value being set in list items [\#6221](https://github.com/primefaces/primevue/issues/6221) +- InputNumber: Buttons disappear when clicked if inside of an InputGroup [\#6212](https://github.com/primefaces/primevue/issues/6212) +- IconField: 'iconfield' does not exist in type 'PrimeVuePTOptions' [\#6206](https://github.com/primefaces/primevue/issues/6206) +- DatePicker: switching to year view when modelValue is populated [\#6203](https://github.com/primefaces/primevue/issues/6203) +- Select: In case of Filter and AutoFocusFilter enabled focus is lost [\#6194](https://github.com/primefaces/primevue/issues/6194) +- InputOtp - allow NumpadEnter event [\#6182](https://github.com/primefaces/primevue/issues/6182) +- [MenuBar]: Slow performance [\#6164](https://github.com/primefaces/primevue/issues/6164) +- Dialog: [V4] When it non-fixed, it will cause the appendTo target shrink or joggled. [\#6160](https://github.com/primefaces/primevue/issues/6160) +- Menu section: PassThrough context.item has not right MenuItem entry [\#6055](https://github.com/primefaces/primevue/issues/6055) +- FileUpload v4.0.0-beta.3: Subsequent file selections no longer possible in basic mode (regression from v4.0.0-beta.2) [\#5748](https://github.com/primefaces/primevue/issues/5748) +- InputMask number repeat [\#3623](https://github.com/primefaces/primevue/issues/3623) + ## [4.0.4](https://github.com/primefaces/primevue/tree/4.0.4) (2024-08-02) [Full Changelog](https://github.com/primefaces/primevue/compare/4.0.3...4.0.4) diff --git a/apps/showcase/assets/data/news.json b/apps/showcase/assets/data/news.json index 3a861c750..a96d79d08 100644 --- a/apps/showcase/assets/data/news.json +++ b/apps/showcase/assets/data/news.json @@ -1,6 +1,6 @@ { - "id": 65, - "content": "Summer Sale: Up to 50% Off 🛍️", - "linkText": "Visit Store", - "linkHref": "https://primefaces.org/store" + "id": 67, + "content": "480 Vue Components with Tailwind 🚀", + "linkText": "Visit PrimeBlocks", + "linkHref": "https://primeblocks.org" } diff --git a/apps/showcase/assets/menu/menu.json b/apps/showcase/assets/menu/menu.json index 247a22588..39e081d3e 100644 --- a/apps/showcase/assets/menu/menu.json +++ b/apps/showcase/assets/menu/menu.json @@ -527,7 +527,8 @@ { "name": "PrimeBlocks", "icon": "pi pi-server", - "href": "https://blocks.primevue.org" + "href": "https://primeblocks.org", + "badge": "NEW" }, { "name": "Guides", @@ -572,8 +573,7 @@ { "name": "Contribution", "to": "/contribution", - "icon": "pi pi-users", - "badge": "NEW" + "icon": "pi pi-users" }, { "name": "Discover", diff --git a/apps/showcase/components/doc/DocPTViewer.vue b/apps/showcase/components/doc/DocPTViewer.vue new file mode 100644 index 000000000..71ca2a132 --- /dev/null +++ b/apps/showcase/components/doc/DocPTViewer.vue @@ -0,0 +1,55 @@ + + + diff --git a/apps/showcase/components/doc/helpers/index.js b/apps/showcase/components/doc/helpers/index.js index 72e23026e..7a58201e3 100644 --- a/apps/showcase/components/doc/helpers/index.js +++ b/apps/showcase/components/doc/helpers/index.js @@ -19,12 +19,14 @@ export const getPTOptions = (name) => { objToReplace.type = prop.type; } - data.push({ - value: i + 1, - label: prop.name, - options: hasSubComp ? subOptions?.props : options?.props, - description: prop.description - }); + if (!prop.deprecated) { + data.push({ + value: i + 1, + label: prop.name, + options: hasSubComp ? subOptions?.props : options?.props, + description: prop.description + }); + } } else { data.push({ value: i + 1, diff --git a/apps/showcase/components/landing/BlockSection.vue b/apps/showcase/components/landing/BlockSection.vue index 6afe715cb..943ef83a3 100644 --- a/apps/showcase/components/landing/BlockSection.vue +++ b/apps/showcase/components/landing/BlockSection.vue @@ -3,7 +3,7 @@
Blocks

400+ ready to copy-paste UI blocks to build spectacular applications in no time.

- + Explore All diff --git a/apps/showcase/doc/common/apidoc/index.json b/apps/showcase/doc/common/apidoc/index.json index ee2cb7d77..7fa3aee09 100644 --- a/apps/showcase/doc/common/apidoc/index.json +++ b/apps/showcase/doc/common/apidoc/index.json @@ -1838,7 +1838,7 @@ "name": "root", "optional": true, "readonly": false, - "type": "null | Document | Element", + "type": "null | Element | Document", "default": "", "description": "Specifies the `root` option of the IntersectionObserver API" }, @@ -2625,7 +2625,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached.\nSpecial keywords are 'body' for document body and 'self' for the element itself." }, @@ -8247,7 +8247,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself." }, @@ -8943,7 +8943,7 @@ "name": "plugins", "optional": true, "readonly": false, - "type": "any", + "type": "any[]", "default": "", "description": "Used to custom plugins of the chart." }, @@ -10603,7 +10603,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself." }, @@ -11981,7 +11981,20 @@ } ], "returnType": "VNode[]", - "description": "Custom body template." + "description": "Custom body template for DataTable." + }, + { + "name": "node", + "parameters": [ + { + "name": "scope", + "optional": false, + "type": "{\n \t data: any, // Row data.\n \t node: any, // Row node data.\n \t column: ColumnNode, // Column node.\n \t field: string, // Column field.\n \t index: number, // Row index.\n \t frozenRow: boolean, // Whether the row is frozen.\n \t editorInitCallback: (event: Event) ⇒ void, // Editor init callback function\n\t rowTogglerCallback: (event: Event) ⇒ void, // Row toggler callback unction\n}", + "description": "body slot's params." + } + ], + "returnType": "VNode[]", + "description": "Custom body template for TreeTable." }, { "name": "header", @@ -15130,7 +15143,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -16857,7 +16870,7 @@ "description": "Collection of active filters" }, { - "name": "columWidths", + "name": "columnWidths", "optional": false, "readonly": false, "type": "string[]", @@ -21145,7 +21158,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -22698,7 +22711,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the dialog gets attached." }, @@ -22911,6 +22924,19 @@ "returnType": "void", "description": "Fired when a dialog gets unmaximized." }, + { + "name": "dragstart", + "parameters": [ + { + "name": "event", + "optional": false, + "type": "Event", + "description": "Browser event." + } + ], + "returnType": "void", + "description": "Fired when a dialog drag begins." + }, { "name": "dragend", "parameters": [ @@ -26585,22 +26611,6 @@ "default": "", "description": "Used to pass attributes to the empty's DOM element." }, - { - "name": "pcMessages", - "optional": true, - "readonly": false, - "type": "any", - "default": "", - "description": "Used to pass attributes to the messages' DOM element." - }, - { - "name": "pcButton", - "optional": true, - "readonly": false, - "type": "any", - "default": "", - "description": "Used to pass attributes to the basic mode's button's DOM element." - }, { "name": "hooks", "optional": true, @@ -26649,7 +26659,7 @@ "name": "messages", "optional": false, "readonly": false, - "type": "any[]", + "type": "null | string[]", "default": "", "description": "Current messages." }, @@ -29223,7 +29233,7 @@ } }, "iconfield": { - "description": "IconField wraps an input and an icon.\n\n[Live Demo](https://www.primevue.org/inputtext/)", + "description": "IconField wraps an input and an icon.\n\n[Live Demo](https://www.primevue.org/iconfield/)", "components": { "default": { "description": "IconField is used to select a boolean value.", @@ -37352,7 +37362,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -40384,7 +40394,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself." }, @@ -45921,7 +45931,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -47778,7 +47788,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -51623,7 +51633,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -52437,7 +52447,7 @@ "description": "Used to pass attributes to the root's DOM element." }, { - "name": "pcButton", + "name": "pcToggleButton", "optional": true, "readonly": false, "type": "SelectButtonPassThroughOptionType", @@ -54662,7 +54672,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached.\nSpecial keywords are 'body' for document body and 'self' for the element itself." }, @@ -57935,6 +57945,14 @@ "default": "", "description": "Style class to add when leave animation is completed." }, + { + "name": "hiddenClass", + "optional": true, + "readonly": false, + "type": "string", + "default": "", + "description": "Special class name to hide an element, only used in slide animation." + }, { "name": "hideOnOutsideClick", "optional": true, @@ -61844,7 +61862,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, @@ -63681,14 +63699,6 @@ "default": "", "description": "Establishes relationships between the component and label(s) where its value should be one or more element IDs." }, - { - "name": "ariaLabel", - "optional": true, - "readonly": false, - "type": "string", - "default": "", - "description": "Establishes a string value that labels the component." - }, { "name": "dt", "optional": true, @@ -65244,7 +65254,7 @@ "description": "Used to pass attributes to the IconField component." }, { - "name": "pcFilter", + "name": "pcFilterInput", "optional": true, "readonly": false, "type": "any", @@ -66560,7 +66570,7 @@ "name": "appendTo", "optional": true, "readonly": false, - "type": "HintedString<\"body\" | \"self\"> | HTMLElement", + "type": "HTMLElement | HintedString<\"body\" | \"self\">", "default": "body", "description": "A valid query selector or an HTMLElement to specify where the overlay gets attached." }, diff --git a/apps/showcase/doc/datatable/pt/PTImage.vue b/apps/showcase/doc/datatable/pt/PTImage.vue index 9ac50d6b4..6a98c28d5 100644 --- a/apps/showcase/doc/datatable/pt/PTImage.vue +++ b/apps/showcase/doc/datatable/pt/PTImage.vue @@ -1,8 +1,37 @@ + + diff --git a/apps/showcase/doc/dataview/BasicDoc.vue b/apps/showcase/doc/dataview/BasicDoc.vue index 607c84386..cadfbde29 100644 --- a/apps/showcase/doc/dataview/BasicDoc.vue +++ b/apps/showcase/doc/dataview/BasicDoc.vue @@ -7,9 +7,9 @@