@pantheon-systems/pds-toolkit-react 1.0.0-dev.200 → 1.0.0-dev.202
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/_dist/components/ComparisonList/ComparisonList.d.ts +1 -1
- package/_dist/components/PantheonLogo/PantheonLogo.d.ts +1 -1
- package/_dist/components/badges/StatusBadge/StatusBadge.d.ts +1 -1
- package/_dist/components/buttons/MenuButton/MenuButton.d.ts +5 -1
- package/_dist/components/cards/PricingCard/PricingCard.d.ts +87 -62
- package/_dist/components/footer/FooterHeading/FooterHeading.d.ts +21 -14
- package/_dist/components/footer/FooterLinks/FooterLinks.d.ts +25 -16
- package/_dist/css/component-css/pds-dashboard-search.css +1 -1
- package/_dist/css/component-css/pds-index.css +3 -3
- package/_dist/css/component-css/pds-pantheon-logo.css +1 -1
- package/_dist/css/component-css/pds-pricing-card.css +1 -1
- package/_dist/css/pds-components.css +3 -3
- package/_dist/index.css +1 -1
- package/_dist/index.d.ts +3 -3
- package/_dist/index.js +2675 -2803
- package/_dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
2
|
import './pantheon-logo.css';
|
|
3
|
-
export type PantheonLogoDisplayType = 'full' | 'icon' | 'wordmark' | 'sub-brand';
|
|
3
|
+
export type PantheonLogoDisplayType = 'full' | 'icon' | 'wordmark' | 'sub-brand' | 'sub-brand-small';
|
|
4
4
|
/**
|
|
5
5
|
* Prop types for PantheonLogo
|
|
6
6
|
*/
|
|
@@ -23,7 +23,7 @@ export interface StatusBadgeProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
23
23
|
/**
|
|
24
24
|
* Status type for badge. Only renders if `hasStatusIndicator` is true.
|
|
25
25
|
*/
|
|
26
|
-
statusType
|
|
26
|
+
statusType?: 'success' | 'info' | 'frozen' | 'critical' | 'warning' | 'discovery' | 'disabled';
|
|
27
27
|
/**
|
|
28
28
|
* Additional class names
|
|
29
29
|
*/
|
|
@@ -38,6 +38,10 @@ interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
38
38
|
* Horizontal position of the menu relative to the button. Applies to breakpoints `md` and up.
|
|
39
39
|
*/
|
|
40
40
|
menuPosition?: 'start' | 'end';
|
|
41
|
+
/**
|
|
42
|
+
* Optional callback function for when the button is clicked or activated by the keyboard.
|
|
43
|
+
*/
|
|
44
|
+
onClick?: () => void;
|
|
41
45
|
/**
|
|
42
46
|
* Which size of button to render.
|
|
43
47
|
*/
|
|
@@ -66,5 +70,5 @@ interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
66
70
|
/**
|
|
67
71
|
* MenuButton UI component
|
|
68
72
|
*/
|
|
69
|
-
export declare const MenuButton: ({ disabled, displayType, iconName, id, isSplitButton, label, menuItems, menuPosition, size, testId, undefinedLabel, variant, withinNavbar, className, ...props }: MenuButtonProps) => React.JSX.Element;
|
|
73
|
+
export declare const MenuButton: ({ disabled, displayType, iconName, id, isSplitButton, label, menuItems, menuPosition, onClick, size, testId, undefinedLabel, variant, withinNavbar, className, ...props }: MenuButtonProps) => React.JSX.Element;
|
|
70
74
|
export {};
|
|
@@ -1,65 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { ListItems } from '@components/ComparisonList/ComparisonList';
|
|
3
|
+
import './pricing-card.css';
|
|
4
|
+
interface PrimaryCallToAction {
|
|
5
|
+
type?: 'button' | 'link';
|
|
6
|
+
variant?: 'primary' | 'secondary';
|
|
7
|
+
label?: string;
|
|
8
|
+
buttonAction?: () => void;
|
|
9
|
+
linkUrl?: string;
|
|
10
|
+
linkTarget?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface SecondaryCallToAction {
|
|
14
|
+
type?: 'button' | 'link';
|
|
15
|
+
label?: string;
|
|
16
|
+
buttonAction?: () => void;
|
|
17
|
+
linkUrl?: string;
|
|
18
|
+
linkTarget?: string;
|
|
19
|
+
}
|
|
20
|
+
interface PlanPricingData {
|
|
21
|
+
customActionLabel?: string;
|
|
22
|
+
label?: string;
|
|
23
|
+
pricePrefix?: string;
|
|
24
|
+
price?: string;
|
|
25
|
+
priceDetails?: string;
|
|
26
|
+
savingsBadgeLabel?: string;
|
|
27
|
+
savingsDetails?: string;
|
|
28
|
+
listLabel?: string;
|
|
29
|
+
listItems?: ListItems[];
|
|
30
|
+
}
|
|
31
|
+
interface StatusBadgeLabels {
|
|
32
|
+
currentPlan?: string;
|
|
33
|
+
mostPopular?: string;
|
|
34
|
+
}
|
|
35
|
+
interface PricingCardProps extends ComponentPropsWithoutRef<'div'> {
|
|
36
|
+
/**
|
|
37
|
+
* The primary call to action.
|
|
38
|
+
*/
|
|
39
|
+
actionPrimary?: PrimaryCallToAction;
|
|
40
|
+
/**
|
|
41
|
+
* An optional secondary call to action.
|
|
42
|
+
*/
|
|
43
|
+
actionSecondary?: SecondaryCallToAction;
|
|
44
|
+
/**
|
|
45
|
+
* Has comparison list. Will be rendered below the card if true.
|
|
46
|
+
* Add corresponding `comparisonListId` to each planPricingData object.
|
|
47
|
+
*/
|
|
5
48
|
hasComparisonList?: boolean;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Optional function to handle the change event of the select input. Only valid when multiple tiers of planPricingData are present.
|
|
51
|
+
*/
|
|
52
|
+
onTierChange?: (value: any) => void;
|
|
53
|
+
/**
|
|
54
|
+
* A brief description of the plan.
|
|
55
|
+
*/
|
|
56
|
+
planDescription?: string;
|
|
57
|
+
/**
|
|
58
|
+
* The name of the plan.
|
|
59
|
+
*/
|
|
60
|
+
planName?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Plan pricing data. An array of objects.
|
|
63
|
+
*/
|
|
64
|
+
planPricingData: PlanPricingData[];
|
|
65
|
+
/**
|
|
66
|
+
* Label for the plan size select dropdown. Available to screen readers only. Provide translation string if needed.
|
|
67
|
+
*/
|
|
14
68
|
selectLabel?: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
label: PropTypes.Requireable<string>;
|
|
32
|
-
buttonAction: PropTypes.Requireable<(...args: any[]) => any>;
|
|
33
|
-
linkUrl: PropTypes.Requireable<string>;
|
|
34
|
-
linkTarget: PropTypes.Requireable<string>;
|
|
35
|
-
}>>;
|
|
36
|
-
let hasComparisonList: PropTypes.Requireable<boolean>;
|
|
37
|
-
let onTierChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
38
|
-
let planDescription: PropTypes.Requireable<string>;
|
|
39
|
-
let planName: PropTypes.Requireable<string>;
|
|
40
|
-
let planPricingData: PropTypes.Requireable<PropTypes.InferProps<{
|
|
41
|
-
customActionLabel: PropTypes.Requireable<string>;
|
|
42
|
-
label: PropTypes.Requireable<string>;
|
|
43
|
-
pricePrefix: PropTypes.Requireable<string>;
|
|
44
|
-
price: PropTypes.Requireable<string>;
|
|
45
|
-
priceDetails: PropTypes.Requireable<string>;
|
|
46
|
-
savingsBadgeLabel: PropTypes.Requireable<string>;
|
|
47
|
-
savingsDetails: PropTypes.Requireable<string>;
|
|
48
|
-
listLabel: PropTypes.Requireable<string>;
|
|
49
|
-
listItems: PropTypes.Requireable<PropTypes.InferProps<{
|
|
50
|
-
text: PropTypes.Requireable<string>;
|
|
51
|
-
type: PropTypes.Requireable<string>;
|
|
52
|
-
}>[]>;
|
|
53
|
-
}>[]>;
|
|
54
|
-
let selectLabel: PropTypes.Requireable<string>;
|
|
55
|
-
let statusBadgeLabels: PropTypes.Requireable<PropTypes.InferProps<{
|
|
56
|
-
currentPlan: PropTypes.Requireable<string>;
|
|
57
|
-
mostPopular: PropTypes.Requireable<string>;
|
|
58
|
-
}>>;
|
|
59
|
-
let statusBadgeType: PropTypes.Requireable<string>;
|
|
60
|
-
let className: PropTypes.Requireable<string>;
|
|
61
|
-
let containerClassName: PropTypes.Requireable<string>;
|
|
62
|
-
}
|
|
69
|
+
/**
|
|
70
|
+
* Status badge labels. Provide translation strings if needed.
|
|
71
|
+
*/
|
|
72
|
+
statusBadgeLabels: StatusBadgeLabels;
|
|
73
|
+
/**
|
|
74
|
+
* Status badge type. Leave empty for no badge. Only one badge of each type should be used in a group of Pricing Cards.
|
|
75
|
+
*/
|
|
76
|
+
statusBadgeType?: 'currentPlan' | 'mostPopular';
|
|
77
|
+
/**
|
|
78
|
+
* Additional class names for the card item.
|
|
79
|
+
*/
|
|
80
|
+
className?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Additional class names for the card container.
|
|
83
|
+
*/
|
|
84
|
+
containerClassName?: string;
|
|
63
85
|
}
|
|
64
|
-
|
|
65
|
-
|
|
86
|
+
/**
|
|
87
|
+
* PricingCard UI component
|
|
88
|
+
*/
|
|
89
|
+
export declare const PricingCard: ({ actionPrimary, actionSecondary, hasComparisonList, onTierChange, planDescription, planName, planPricingData, statusBadgeLabels, selectLabel, statusBadgeType, className, ...props }: PricingCardProps) => React.JSX.Element;
|
|
90
|
+
export {};
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import './footer-heading.css';
|
|
3
|
+
import type { HeadingLevel } from '@libs/types/custom-types';
|
|
4
|
+
interface FooterHeadingProps {
|
|
5
|
+
/**
|
|
6
|
+
* Heading level
|
|
7
|
+
*/
|
|
8
|
+
headingLevel?: HeadingLevel;
|
|
9
|
+
/**
|
|
10
|
+
* Heading text
|
|
11
|
+
*/
|
|
12
|
+
headingText: string;
|
|
13
|
+
/**
|
|
14
|
+
* Additional class names
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
13
17
|
}
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Footer Heading UI component
|
|
20
|
+
*/
|
|
21
|
+
export declare const FooterHeading: ({ headingLevel, headingText, className, ...props }: FooterHeadingProps & ComponentPropsWithoutRef<HeadingLevel>) => React.JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import './footer-links.css';
|
|
3
|
+
import type { HeadingLevel } from '@libs/types/custom-types';
|
|
4
|
+
interface FooterLinksProps extends ComponentPropsWithoutRef<'div'> {
|
|
5
|
+
/**
|
|
6
|
+
* Heading level
|
|
7
|
+
*/
|
|
8
|
+
headingLevel?: HeadingLevel;
|
|
9
|
+
/**
|
|
10
|
+
* Heading text
|
|
11
|
+
*/
|
|
12
|
+
headingText: string;
|
|
13
|
+
/**
|
|
14
|
+
* Array of links
|
|
15
|
+
*/
|
|
16
|
+
linkItems?: ReactNode[];
|
|
17
|
+
/**
|
|
18
|
+
* Additional class names
|
|
19
|
+
*/
|
|
20
|
+
className?: string;
|
|
15
21
|
}
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Footer Links UI component
|
|
24
|
+
*/
|
|
25
|
+
export declare const FooterLinks: ({ headingLevel, headingText, linkItems, className, ...props }: FooterLinksProps) => React.JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.pds-dashboard-search{--dashboard-search-height:var(--pds-spacing-input-height);height:var(--dashboard-search-height);margin-inline-end:-.64rem;position:absolute;transition:width .375s ease;z-index:400}.pds-dashboard-
|
|
1
|
+
.pds-dashboard-search{--dashboard-search-height:var(--pds-spacing-input-height);height:var(--dashboard-search-height);margin-inline-end:-.64rem;position:absolute;transition:width .375s ease;z-index:400}.pds-dashboard-search__combobox{left:0;position:absolute;right:0}.pds-dashboard-search__search-toggle{align-items:center;background-color:transparent;border:.0625rem solid transparent;border-radius:.1875rem;color:var(--pds-color-text-default);cursor:pointer;display:flex;height:var(--dashboard-search-height)}.pds-dashboard-search__search-toggle:hover{color:var(--pds-color-interactive-link-hover)}.pds-dashboard-search__search-toggle:focus-visible{outline:.0625rem solid var(--pds-color-interactive-focus);transition:outline .2s ease-in-out 0s}.pds-dashboard-search__search-toggle-icon{margin-block-start:.41rem;pointer-events:none}.pds-dashboard-search__option-display{justify-content:space-between;width:100%}.pds-dashboard-search__option-display,.pds-dashboard-search__option-inner{align-items:center;column-gap:.8rem;display:flex}.pds-dashboard-search__option-icon{align-items:center;color:var(--pds-color-text-default-secondary);display:flex}.pds-dashboard-search__option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-dashboard-search--isMobile{border-bottom:.0625rem solid var(--pds-color-border-default);left:50%;margin-inline-start:-50vw;min-height:3.815rem;position:relative;width:100vw}.pds-dashboard-search--isMobile .pds-dashboard-search__combobox{margin-inline:auto;width:calc(100% - 2.5rem)}.pds-dashboard-search--mobile-inner{padding-block:.64rem}
|