@porsche-design-system/components-react 3.10.0-rc.0 → 3.10.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/cjs/lib/components/link-tile-product.wrapper.cjs +26 -0
- package/cjs/public-api.cjs +2 -0
- package/esm/lib/components/index.d.ts +1 -0
- package/esm/lib/components/link-tile-product.wrapper.d.ts +96 -0
- package/esm/lib/components/link-tile-product.wrapper.mjs +24 -0
- package/esm/lib/types.d.ts +9 -0
- package/esm/public-api.mjs +1 -0
- package/package.json +2 -2
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +230 -58
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +4 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile-product.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-navigation-item.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-navigation.cjs +2 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +92 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +201 -30
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +3 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile-product.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-navigation-item.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-navigation.mjs +4 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +90 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
- package/ssr/esm/lib/components/index.d.ts +1 -0
- package/ssr/esm/lib/components/link-tile-product.wrapper.d.ts +96 -0
- package/ssr/esm/lib/dsr-components/flyout-navigation.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/link-tile-product.d.ts +6 -0
- package/ssr/esm/lib/types.d.ts +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
14
14
|
|
|
15
15
|
### [Unreleased]
|
|
16
16
|
|
|
17
|
+
### [3.10.0-rc.1] - 2023-12-11
|
|
18
|
+
|
|
19
|
+
#### Added
|
|
20
|
+
|
|
21
|
+
- **[EXPERIMENTAL]** `Link Tile Product`
|
|
22
|
+
([#2909](https://github.com/porsche-design-system/porsche-design-system/pull/2909))
|
|
23
|
+
|
|
24
|
+
#### Fixed
|
|
25
|
+
|
|
26
|
+
- `Wordmark`, `Crest` and `Marque`: custom clickable area
|
|
27
|
+
([#2930](https://github.com/porsche-design-system/porsche-design-system/pull/2930))
|
|
28
|
+
|
|
17
29
|
### [3.10.0-rc.0] - 2023-12-07
|
|
18
30
|
|
|
19
31
|
#### Added
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var hooks = require('../../hooks.cjs');
|
|
7
|
+
var utils = require('../../utils.cjs');
|
|
8
|
+
|
|
9
|
+
const PLinkTileProduct = react.forwardRef(({ aspectRatio = '3:4', description, heading, href, likeButton = true, liked = false, onLike, price, rel, target = '_self', theme, className, ...rest }, ref) => {
|
|
10
|
+
const elementRef = react.useRef();
|
|
11
|
+
hooks.useEventCallback(elementRef, 'like', onLike);
|
|
12
|
+
const WebComponentTag = hooks.usePrefix('p-link-tile-product');
|
|
13
|
+
const propsToSync = [aspectRatio, description, heading, href, likeButton, liked, price, rel, target, theme || hooks.useTheme()];
|
|
14
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
15
|
+
const { current } = elementRef;
|
|
16
|
+
['aspectRatio', 'description', 'heading', 'href', 'likeButton', 'liked', 'price', 'rel', 'target', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
|
+
}, propsToSync);
|
|
18
|
+
const props = {
|
|
19
|
+
...rest,
|
|
20
|
+
class: hooks.useMergedClass(elementRef, className),
|
|
21
|
+
ref: utils.syncRef(elementRef, ref)
|
|
22
|
+
};
|
|
23
|
+
return jsxRuntime.jsx(WebComponentTag, { ...props });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
exports.PLinkTileProduct = PLinkTileProduct;
|
package/cjs/public-api.cjs
CHANGED
|
@@ -31,6 +31,7 @@ var linkPure_wrapper = require('./lib/components/link-pure.wrapper.cjs');
|
|
|
31
31
|
var linkSocial_wrapper = require('./lib/components/link-social.wrapper.cjs');
|
|
32
32
|
var linkTile_wrapper = require('./lib/components/link-tile.wrapper.cjs');
|
|
33
33
|
var linkTileModelSignature_wrapper = require('./lib/components/link-tile-model-signature.wrapper.cjs');
|
|
34
|
+
var linkTileProduct_wrapper = require('./lib/components/link-tile-product.wrapper.cjs');
|
|
34
35
|
var marque_wrapper = require('./lib/components/marque.wrapper.cjs');
|
|
35
36
|
var modal_wrapper = require('./lib/components/modal.wrapper.cjs');
|
|
36
37
|
var modelSignature_wrapper = require('./lib/components/model-signature.wrapper.cjs');
|
|
@@ -107,6 +108,7 @@ exports.PLinkPure = linkPure_wrapper.PLinkPure;
|
|
|
107
108
|
exports.PLinkSocial = linkSocial_wrapper.PLinkSocial;
|
|
108
109
|
exports.PLinkTile = linkTile_wrapper.PLinkTile;
|
|
109
110
|
exports.PLinkTileModelSignature = linkTileModelSignature_wrapper.PLinkTileModelSignature;
|
|
111
|
+
exports.PLinkTileProduct = linkTileProduct_wrapper.PLinkTileProduct;
|
|
110
112
|
exports.PMarque = marque_wrapper.PMarque;
|
|
111
113
|
exports.PModal = modal_wrapper.PModal;
|
|
112
114
|
exports.PModelSignature = modelSignature_wrapper.PModelSignature;
|
|
@@ -28,6 +28,7 @@ export * from './link-pure.wrapper';
|
|
|
28
28
|
export * from './link-social.wrapper';
|
|
29
29
|
export * from './link-tile.wrapper';
|
|
30
30
|
export * from './link-tile-model-signature.wrapper';
|
|
31
|
+
export * from './link-tile-product.wrapper';
|
|
31
32
|
export * from './marque.wrapper';
|
|
32
33
|
export * from './modal.wrapper';
|
|
33
34
|
export * from './model-signature.wrapper';
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
import type { BreakpointCustomizable, LinkTileProductAspectRatio, LinkTileProductLikeEvent, LinkTileProductTarget, Theme } from '../types';
|
|
3
|
+
export type PLinkTileProductProps = Omit<HTMLAttributes<{}>, 'color'> & {
|
|
4
|
+
/**
|
|
5
|
+
* Aspect ratio of the link-tile-product.
|
|
6
|
+
*/
|
|
7
|
+
aspectRatio?: BreakpointCustomizable<LinkTileProductAspectRatio>;
|
|
8
|
+
/**
|
|
9
|
+
* Additional product description
|
|
10
|
+
*/
|
|
11
|
+
description?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Product heading
|
|
14
|
+
*/
|
|
15
|
+
heading: string;
|
|
16
|
+
/**
|
|
17
|
+
* href of the `<a>`.
|
|
18
|
+
*/
|
|
19
|
+
href?: string;
|
|
20
|
+
/**
|
|
21
|
+
* A Boolean attribute indicating that a like button should be shown.
|
|
22
|
+
*/
|
|
23
|
+
likeButton?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* A Boolean attribute indicating that a product is liked.
|
|
26
|
+
*/
|
|
27
|
+
liked?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Emitted when the like button is clicked.
|
|
30
|
+
*/
|
|
31
|
+
onLike?: (event: CustomEvent<LinkTileProductLikeEvent>) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Product price
|
|
34
|
+
*/
|
|
35
|
+
price: string;
|
|
36
|
+
/**
|
|
37
|
+
* Specifies the relationship of the target object to the link object.
|
|
38
|
+
*/
|
|
39
|
+
rel?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Target attribute where the link should be opened.
|
|
42
|
+
*/
|
|
43
|
+
target?: LinkTileProductTarget;
|
|
44
|
+
/**
|
|
45
|
+
* Adapts the link-tile-product color depending on the theme.
|
|
46
|
+
*/
|
|
47
|
+
theme?: Theme;
|
|
48
|
+
};
|
|
49
|
+
export declare const PLinkTileProduct: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<{}>, "color"> & {
|
|
50
|
+
/**
|
|
51
|
+
* Aspect ratio of the link-tile-product.
|
|
52
|
+
*/
|
|
53
|
+
aspectRatio?: BreakpointCustomizable<LinkTileProductAspectRatio> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Additional product description
|
|
56
|
+
*/
|
|
57
|
+
description?: string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Product heading
|
|
60
|
+
*/
|
|
61
|
+
heading: string;
|
|
62
|
+
/**
|
|
63
|
+
* href of the `<a>`.
|
|
64
|
+
*/
|
|
65
|
+
href?: string | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* A Boolean attribute indicating that a like button should be shown.
|
|
68
|
+
*/
|
|
69
|
+
likeButton?: boolean | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* A Boolean attribute indicating that a product is liked.
|
|
72
|
+
*/
|
|
73
|
+
liked?: boolean | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Emitted when the like button is clicked.
|
|
76
|
+
*/
|
|
77
|
+
onLike?: ((event: CustomEvent<LinkTileProductLikeEvent>) => void) | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Product price
|
|
80
|
+
*/
|
|
81
|
+
price: string;
|
|
82
|
+
/**
|
|
83
|
+
* Specifies the relationship of the target object to the link object.
|
|
84
|
+
*/
|
|
85
|
+
rel?: string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Target attribute where the link should be opened.
|
|
88
|
+
*/
|
|
89
|
+
target?: string | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Adapts the link-tile-product color depending on the theme.
|
|
92
|
+
*/
|
|
93
|
+
theme?: "light" | "dark" | "auto" | undefined;
|
|
94
|
+
} & {
|
|
95
|
+
children?: import("react").ReactNode;
|
|
96
|
+
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useRef } from 'react';
|
|
4
|
+
import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
|
+
import { syncRef } from '../../utils.mjs';
|
|
6
|
+
|
|
7
|
+
const PLinkTileProduct = forwardRef(({ aspectRatio = '3:4', description, heading, href, likeButton = true, liked = false, onLike, price, rel, target = '_self', theme, className, ...rest }, ref) => {
|
|
8
|
+
const elementRef = useRef();
|
|
9
|
+
useEventCallback(elementRef, 'like', onLike);
|
|
10
|
+
const WebComponentTag = usePrefix('p-link-tile-product');
|
|
11
|
+
const propsToSync = [aspectRatio, description, heading, href, likeButton, liked, price, rel, target, theme || useTheme()];
|
|
12
|
+
useBrowserLayoutEffect(() => {
|
|
13
|
+
const { current } = elementRef;
|
|
14
|
+
['aspectRatio', 'description', 'heading', 'href', 'likeButton', 'liked', 'price', 'rel', 'target', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
15
|
+
}, propsToSync);
|
|
16
|
+
const props = {
|
|
17
|
+
...rest,
|
|
18
|
+
class: useMergedClass(elementRef, className),
|
|
19
|
+
ref: syncRef(elementRef, ref)
|
|
20
|
+
};
|
|
21
|
+
return jsx(WebComponentTag, { ...props });
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export { PLinkTileProduct };
|
package/esm/lib/types.d.ts
CHANGED
|
@@ -996,6 +996,15 @@ export type LinkTileModelSignatureHeadingTag = (typeof LINK_TILE_MODEL_SIGNATURE
|
|
|
996
996
|
export type LinkTileModelSignatureWeight = TileWeight;
|
|
997
997
|
export type LinkTileModelSignatureAspectRatio = TileAspectRatio;
|
|
998
998
|
export type LinkTileModelSignatureLinkDirection = GroupDirection;
|
|
999
|
+
export type LinkTileProductTarget = LinkTarget;
|
|
1000
|
+
export type LinkTileProductLikeEvent = {
|
|
1001
|
+
liked: boolean;
|
|
1002
|
+
};
|
|
1003
|
+
declare const TILE_PRODUCT_ASPECT_RATIOS: readonly [
|
|
1004
|
+
"3:4",
|
|
1005
|
+
"9:16"
|
|
1006
|
+
];
|
|
1007
|
+
export type LinkTileProductAspectRatio = Extract<TileAspectRatio, (typeof TILE_PRODUCT_ASPECT_RATIOS)[number]>;
|
|
999
1008
|
declare const MODEL_SIGNATURES_MANIFEST: {
|
|
1000
1009
|
"718": string;
|
|
1001
1010
|
"911": string;
|
package/esm/public-api.mjs
CHANGED
|
@@ -29,6 +29,7 @@ export { PLinkPure } from './lib/components/link-pure.wrapper.mjs';
|
|
|
29
29
|
export { PLinkSocial } from './lib/components/link-social.wrapper.mjs';
|
|
30
30
|
export { PLinkTile } from './lib/components/link-tile.wrapper.mjs';
|
|
31
31
|
export { PLinkTileModelSignature } from './lib/components/link-tile-model-signature.wrapper.mjs';
|
|
32
|
+
export { PLinkTileProduct } from './lib/components/link-tile-product.wrapper.mjs';
|
|
32
33
|
export { PMarque } from './lib/components/marque.wrapper.mjs';
|
|
33
34
|
export { PModal } from './lib/components/modal.wrapper.mjs';
|
|
34
35
|
export { PModelSignature } from './lib/components/model-signature.wrapper.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@porsche-design-system/components-react",
|
|
3
|
-
"version": "3.10.0-rc.
|
|
3
|
+
"version": "3.10.0-rc.1",
|
|
4
4
|
"description": "Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"porsche",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"license": "SEE LICENSE IN LICENSE",
|
|
18
18
|
"homepage": "https://designsystem.porsche.com",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@porsche-design-system/components-js": "3.10.0-rc.
|
|
20
|
+
"@porsche-design-system/components-js": "3.10.0-rc.1"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"react": ">=17.0.0 <19.0.0",
|