@pantheon-systems/pds-toolkit-react 2.0.0-alpha.36 → 2.0.0-alpha.38
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/codemods/v1-to-v2/mappings.json +319 -41
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.input.tsx +33 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/basic.output.tsx +33 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/component-renames/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.input.tsx +31 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.output.tsx +31 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.input.tsx +31 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.output.tsx +31 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.input.tsx +35 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/basic.output.tsx +35 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/icon-name-updates/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.input.tsx +28 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/basic.output.tsx +28 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-renames/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/basic.output.tsx +10 -10
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.input.tsx +21 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/prop-value-standardization/only.output.tsx +21 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.input.tsx +60 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/basic.output.tsx +51 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.input.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/removed-prop-values/only.output.tsx +8 -0
- package/codemods/v1-to-v2/transforms/__tests__/component-renames.test.js +15 -0
- package/codemods/v1-to-v2/transforms/__tests__/css-class-removals.test.js +6 -0
- package/codemods/v1-to-v2/transforms/__tests__/css-class-renames.test.js +6 -0
- package/codemods/v1-to-v2/transforms/__tests__/icon-name-updates.test.js +15 -0
- package/codemods/v1-to-v2/transforms/__tests__/prop-renames.test.js +15 -0
- package/codemods/v1-to-v2/transforms/__tests__/prop-value-standardization.test.js +10 -0
- package/codemods/v1-to-v2/transforms/__tests__/removed-prop-values.test.js +15 -0
- package/codemods/v1-to-v2/transforms/component-renames.js +166 -0
- package/codemods/v1-to-v2/transforms/css-class-removals.js +192 -0
- package/codemods/v1-to-v2/transforms/css-class-renames.js +114 -0
- package/codemods/v1-to-v2/transforms/icon-name-updates.js +124 -0
- package/codemods/v1-to-v2/transforms/prop-renames.js +109 -0
- package/codemods/v1-to-v2/transforms/prop-value-standardization.js +33 -2
- package/codemods/v1-to-v2/transforms/removed-prop-values.js +206 -0
- package/dist/components/Callout/Callout.d.ts +6 -2
- package/dist/components/CodeBlock/CodeBlock.d.ts +10 -5
- package/dist/components/CodeBlock/code-examples.d.ts +1 -0
- package/dist/components/CodeBlock/themes/index.d.ts +1 -2
- package/dist/components/CodeBlock/themes/{pdsDark.d.ts → pds.d.ts} +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +46 -0
- package/dist/components/PantheonLogo/PantheonLogo.d.ts +5 -4
- package/dist/components/SiteFooter/SiteFooter.d.ts +4 -1
- package/dist/components/Tabs/Tabs.d.ts +1 -6
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/UtilityBar/UtilityBar.d.ts +2 -3
- package/dist/components/badges/StatusBadge/StatusBadge.d.ts +2 -1
- package/dist/components/buttons/CloseButton/CloseButton.d.ts +2 -2
- package/dist/components/buttons/FilterButton/FilterButton.d.ts +82 -0
- package/dist/components/buttons/MenuButton/MenuButton.d.ts +1 -1
- package/dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +28 -4
- package/dist/components/buttons/SplitButton/SplitButton.d.ts +1 -1
- package/dist/components/cards/ActionCard/ActionCard.d.ts +2 -2
- package/dist/components/cards/Card/Card.d.ts +2 -2
- package/dist/components/icons/Icon/custom-icons.d.ts +1 -1
- package/dist/components/icons/Icon/generated-icon-data.d.ts +114 -30
- package/dist/components/inputs/Combobox/Combobox.d.ts +1 -1
- package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +1 -1
- package/dist/components/inputs/Select/Select.d.ts +1 -1
- package/dist/components/inputs/TagsInput/TagsInput.d.ts +1 -1
- package/dist/components/inputs/TextInput/TextInput.d.ts +1 -1
- package/dist/components/inputs/Textarea/Textarea.d.ts +1 -1
- package/dist/components/loading-indicators/Spinner/Spinner.d.ts +5 -4
- package/dist/components/navigation/ButtonNav/ButtonNav.d.ts +1 -5
- package/dist/components/navigation/Navbar/Navbar.d.ts +9 -21
- package/dist/components/navigation/TabMenu/TabMenu.d.ts +1 -6
- package/dist/components/navigation/WorkspaceSelector/WorkspaceSelector.d.ts +0 -11
- package/dist/components/panels/Panel/Panel.d.ts +3 -3
- package/dist/css/component-css/pds-action-card.css +1 -1
- package/dist/css/component-css/pds-avatar.css +1 -1
- package/dist/css/component-css/pds-button-nav.css +1 -1
- package/dist/css/component-css/pds-button.css +1 -1
- package/dist/css/component-css/pds-callout.css +1 -1
- package/dist/css/component-css/pds-card-select.css +1 -1
- package/dist/css/component-css/pds-card.css +1 -1
- package/dist/css/component-css/pds-checkbox.css +1 -1
- package/dist/css/component-css/pds-close-button.css +1 -1
- package/dist/css/component-css/pds-code-block.css +1 -1
- package/dist/css/component-css/pds-combobox-multiselect.css +1 -2
- package/dist/css/component-css/pds-combobox.css +1 -1
- package/dist/css/component-css/pds-datepicker.css +3 -1
- package/dist/css/component-css/pds-dropdown.css +2 -2
- package/dist/css/component-css/pds-filter-button.css +1 -0
- package/dist/css/component-css/pds-icon.css +1 -1
- package/dist/css/component-css/pds-index.css +51 -45
- package/dist/css/component-css/pds-input-utilities.css +1 -1
- package/dist/css/component-css/pds-menu-button.css +4 -1
- package/dist/css/component-css/pds-nav-menu.css +1 -1
- package/dist/css/component-css/pds-navbar.css +2 -2
- package/dist/css/component-css/pds-panel.css +1 -1
- package/dist/css/component-css/pds-pantheon-logo.css +1 -1
- package/dist/css/component-css/pds-popover.css +1 -1
- package/dist/css/component-css/pds-radio-group.css +1 -1
- package/dist/css/component-css/pds-segmented-button.css +2 -1
- package/dist/css/component-css/pds-select.css +1 -1
- package/dist/css/component-css/pds-side-nav-global.css +1 -1
- package/dist/css/component-css/pds-side-nav.css +1 -1
- package/dist/css/component-css/pds-site-footer.css +1 -1
- package/dist/css/component-css/pds-site-search.css +1 -1
- package/dist/css/component-css/pds-spinner.css +1 -1
- package/dist/css/component-css/pds-split-button.css +1 -1
- package/dist/css/component-css/pds-status-badge.css +1 -1
- package/dist/css/component-css/pds-status-indicator.css +1 -1
- package/dist/css/component-css/pds-switch.css +2 -2
- package/dist/css/component-css/pds-tab-menu.css +1 -1
- package/dist/css/component-css/pds-tabs.css +1 -1
- package/dist/css/component-css/pds-tags-input.css +1 -1
- package/dist/css/component-css/pds-text-input.css +1 -1
- package/dist/css/component-css/pds-textarea.css +1 -1
- package/dist/css/component-css/pds-toaster.css +1 -1
- package/dist/css/component-css/pds-user-menu.css +6 -3
- package/dist/css/component-css/pds-utility-bar.css +1 -1
- package/dist/css/component-css/pds-utility-button.css +1 -1
- package/dist/css/component-css/pds-vertical-empty-state.css +1 -1
- package/dist/css/component-css/pds-workspace-selector.css +13 -3
- package/dist/css/design-tokens/variables.dark.css +26 -21
- package/dist/css/design-tokens/variables.global.css +0 -1
- package/dist/css/design-tokens/variables.light.css +26 -21
- package/dist/css/design-tokens/variables.typography.css +0 -1
- package/dist/css/layout-css/pds-app-layout.css +5 -2
- package/dist/css/layout-css/pds-index.css +5 -2
- package/dist/css/layout-css/pds-sidebar-layout.css +1 -1
- package/dist/css/pds-components.css +51 -45
- package/dist/css/pds-core.css +2 -2
- package/dist/css/pds-layouts.css +5 -2
- package/dist/index.css +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +3090 -1859
- package/dist/index.js.map +1 -1
- package/dist/index.source.d.ts +3 -2
- package/dist/layouts/AppLayout/AppLayout.d.ts +22 -2
- package/dist/layouts/SidebarLayout/SidebarLayout.d.ts +4 -3
- package/dist/layouts/ThreeItemLayout/ThreeItemLayout.d.ts +3 -3
- package/dist/layouts/TwoItemLayout/TwoItemLayout.d.ts +3 -3
- package/dist/libs/components/NavAccordion/NavAccordion.d.ts +1 -1
- package/dist/libs/types/custom-types.d.ts +1 -1
- package/dist/libs/types/layout-types.d.ts +2 -1
- package/dist/svg/circleHalfStroke.svg +3 -0
- package/dist/svg/claude.svg +3 -0
- package/dist/svg/clock.svg +3 -0
- package/dist/svg/diagramVenn.svg +3 -0
- package/dist/svg/floppyDisk.svg +3 -0
- package/dist/svg/grid.svg +2 -2
- package/dist/svg/grid2.svg +3 -0
- package/dist/svg/octagonExclamation.svg +3 -0
- package/dist/svg/openai.svg +3 -0
- package/dist/svg/slider.svg +3 -0
- package/dist/svg/squareDashed.svg +3 -0
- package/dist/svg/tableColumns.svg +3 -0
- package/dist/svg/userSolid.svg +3 -0
- package/dist/utilities/FlexContainer/FlexContainer.d.ts +5 -6
- package/dist/utilities/grid/Grid.d.ts +58 -0
- package/dist/utilities/grid/GridItem.d.ts +57 -0
- package/package.json +2 -2
- package/dist/components/CodeBlock/themes/pdsLight.d.ts +0 -2
- package/dist/components/notifications/NotificationHubIcon/NotificationHubIcon.d.ts +0 -38
- package/dist/components/notifications/NotificationsPopover/NotificationsPopover.d.ts +0 -113
- package/dist/css/component-css/pds-notification-hub-icon.css +0 -1
- package/dist/css/component-css/pds-notifications-popover.css +0 -13
- /package/dist/svg/{arrowDownLeftAndArrowUpRightToCenter.svg → collapseToCenter.svg} +0 -0
- /package/dist/svg/{linkSimple.svg → link.svg} +0 -0
- /package/dist/svg/{arrowsUpDownLeftRight.svg → move.svg} +0 -0
- /package/dist/svg/{linkSimpleSlash.svg → unlink.svg} +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
{
|
|
7
7
|
"from": "IndicatorBadge",
|
|
8
8
|
"to": "Badge",
|
|
9
|
-
"reason": "IndicatorBadge has been renamed to Badge in v2. The component API has also changed
|
|
9
|
+
"reason": "IndicatorBadge has been renamed to Badge in v2. The component API has also changed — see props.typeChanges for color and size migration details."
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"from": "NavMenu",
|
|
@@ -75,6 +75,54 @@
|
|
|
75
75
|
{
|
|
76
76
|
"component": "SiteDashboardHeading",
|
|
77
77
|
"reason": "Component removed. Compose locally using Icon, Badge, Button, and optionally Popover with SiteTypeIcon from custom-types. See Patterns/Site Dashboard Heading in Storybook for the recipe."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"component": "Navbar",
|
|
81
|
+
"prop": "hideLogo",
|
|
82
|
+
"reason": "Removed in V2. The logo is now passed via the logo slot. Omit the slot to show no logo.",
|
|
83
|
+
"replacement": "Remove this prop. To hide the logo, simply omit the logo slot."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"component": "Navbar",
|
|
87
|
+
"prop": "logoDisplayType",
|
|
88
|
+
"reason": "Removed in V2. Logo display type is now controlled by the PantheonLogo component's displayType prop, passed directly into the logo slot.",
|
|
89
|
+
"replacement": "Pass <PantheonLogo displayType='...' slot='logo' /> into the Navbar children."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"component": "Navbar",
|
|
93
|
+
"prop": "logoLinkContent",
|
|
94
|
+
"reason": "Removed in V2. Logo link is now passed via the PantheonLogo component in the logo slot.",
|
|
95
|
+
"replacement": "Pass <PantheonLogo linkContent={<a href='...'>...</a>} slot='logo' /> into the Navbar children."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"component": "Navbar",
|
|
99
|
+
"prop": "logoSrc",
|
|
100
|
+
"reason": "Removed in V2. Custom logo images should be placed directly in the logo slot.",
|
|
101
|
+
"replacement": "Place your logo image element directly in the logo slot: <img src='...' slot='logo' />."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"component": "Navbar",
|
|
105
|
+
"prop": "logoSubBrand",
|
|
106
|
+
"reason": "Removed in V2 along with sub-brand logo support.",
|
|
107
|
+
"replacement": "Remove this prop. Sub-brand display is no longer supported in Navbar."
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"component": "PantheonLogo",
|
|
111
|
+
"prop": "subBrand",
|
|
112
|
+
"reason": "Removed in V2. Sub-brand display has been removed from the PantheonLogo component.",
|
|
113
|
+
"replacement": "Remove this prop. Compose your own sub-brand treatment using a separator and text element alongside PantheonLogo."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"component": "PantheonLogo",
|
|
117
|
+
"prop": "displayType",
|
|
118
|
+
"reason": "The sub-brand and sub-brand-small values have been removed in V2.",
|
|
119
|
+
"replacement": "Use 'full', 'icon', or 'wordmark' instead. Remove any usage of displayType='sub-brand' or displayType='sub-brand-small'."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"component": "WorkspaceSelector",
|
|
123
|
+
"prop": "planTier (on WorkspaceSelectorItem)",
|
|
124
|
+
"reason": "Removed in V2. Plan tier badges are no longer displayed in the workspace selector trigger button.",
|
|
125
|
+
"replacement": "Remove the planTier field from WorkspaceSelectorItem objects."
|
|
78
126
|
}
|
|
79
127
|
],
|
|
80
128
|
"additions": [
|
|
@@ -87,6 +135,42 @@
|
|
|
87
135
|
"component": "PaginationCompact",
|
|
88
136
|
"description": "New for V2. A space-efficient pagination control combining a page selector dropdown with previous/next buttons. Suited for dense layouts such as table toolbars or sidebars.",
|
|
89
137
|
"usage": "Use when horizontal space is limited or the total page count is high and users need direct access to any page."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"component": "Navbar",
|
|
141
|
+
"prop": "logo slot",
|
|
142
|
+
"description": "New logo named slot renders the logo in both the desktop bar and the mobile top bar. Replaces the logoLinkContent, logoSrc, logoDisplayType, logoSubBrand, and hideLogo props.",
|
|
143
|
+
"usage": "Pass <PantheonLogo linkContent={<a href='...'>...</a>} slot='logo' /> as a child of Navbar."
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"component": "Navbar",
|
|
147
|
+
"prop": "items-center slot",
|
|
148
|
+
"description": "New items-center named slot renders content in the center of the desktop navbar, truly centered using CSS grid. On mobile, the slot content collapses into the slide-out panel alongside items-left and items-right.",
|
|
149
|
+
"usage": "Pass content with slot='items-center' to place it in the center of the navbar (e.g. a search input)."
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"component": "PantheonLogo",
|
|
153
|
+
"prop": "size",
|
|
154
|
+
"description": "New size prop controls logo scale. The wordmark height is the sizing basis and maps to PDS typography size tokens: s = --pds-typography-size-s, m = --pds-typography-size-m, l = --pds-typography-size-l. The full and icon variants scale proportionally so the fist matches the wordmark height.",
|
|
155
|
+
"usage": "Use size='s' for compact contexts (e.g. navbar), size='m' for default, size='l' for hero or marketing use."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"component": "AppLayout",
|
|
159
|
+
"prop": "header slot",
|
|
160
|
+
"description": "New header named slot renders a full-width region (typically a Navbar) above the sidebar and main content. When present, AppLayout stacks the header on top and positions the sidebar directly below it, so consumers no longer need an external flex-column wrapper to combine a Navbar with AppLayout.",
|
|
161
|
+
"usage": "Pass a component such as <Navbar slot='header'>...</Navbar> as a child of AppLayout."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"component": "AppLayout",
|
|
165
|
+
"prop": "footer slot",
|
|
166
|
+
"description": "New footer named slot renders a region (typically a SiteFooter) below the main content and aligned with it, while the sidebar spans the full height alongside the main + footer column. Gives the footer its own landmark instead of nesting it inside the main element.",
|
|
167
|
+
"usage": "Pass a component such as <SiteFooter as='footer' slot='footer' /> as a child of AppLayout."
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"component": "Navbar",
|
|
171
|
+
"prop": "inlinePadding",
|
|
172
|
+
"description": "New inlinePadding prop overrides the desktop bar's horizontal (inline) padding with any CSS length, applied symmetrically. Defaults to the Container's standard gutter, so existing navbars are unaffected.",
|
|
173
|
+
"usage": "Set inlinePadding (e.g. 'var(--pds-spacing-m)') to align the navbar content with an adjacent app shell, such as the AppLayout sidebar when the navbar is in a header slot."
|
|
90
174
|
}
|
|
91
175
|
],
|
|
92
176
|
"deprecations": [
|
|
@@ -153,13 +237,13 @@
|
|
|
153
237
|
"component": "GlobalWrapper",
|
|
154
238
|
"from": "mobileMenuMaxWidth",
|
|
155
239
|
"to": "mobileMaxWidth",
|
|
156
|
-
"reason": "Renamed for clarity
|
|
240
|
+
"reason": "Renamed for clarity — the value is the maximum viewport width at which mobile styles are active. The prop now drives the data-pds-mobile attribute on :root used by component CSS to apply mobile styles, replacing the ResponsiveContext isMobile pattern. The default value has changed from 640 to 767 to align exactly with --pds-bp-s-only (max-width: 767px)."
|
|
157
241
|
},
|
|
158
242
|
{
|
|
159
243
|
"component": "ComboboxMultiselect",
|
|
160
244
|
"from": "auxiliaryPanel",
|
|
161
245
|
"to": "aiSuggestions",
|
|
162
|
-
"reason": "Renamed for clarity
|
|
246
|
+
"reason": "Renamed for clarity — the auxiliary panel is specifically for AI suggestions. General-purpose floating panels can now be built with the Dropdown compound component."
|
|
163
247
|
},
|
|
164
248
|
{
|
|
165
249
|
"component": "Button",
|
|
@@ -171,19 +255,19 @@
|
|
|
171
255
|
"component": "Icon",
|
|
172
256
|
"from": "iconSize",
|
|
173
257
|
"to": "size",
|
|
174
|
-
"reason": "The iconSize prop has been renamed to size for consistency across V2 icon components. The
|
|
258
|
+
"reason": "The iconSize prop has been renamed to size for consistency across V2 icon components. The default ('l') is unchanged, but the 'xs' (10px) value has been removed (see props.typeChanges) — use 's' instead."
|
|
175
259
|
},
|
|
176
260
|
{
|
|
177
261
|
"component": "CloseButton",
|
|
178
262
|
"from": "iconSize",
|
|
179
263
|
"to": "size",
|
|
180
|
-
"reason": "The iconSize prop has been renamed to size for consistency with other button components.
|
|
264
|
+
"reason": "The iconSize prop has been renamed to size for consistency with other button components. Size values have also been standardized to 's', 'm', 'l' (see props.typeChanges)."
|
|
181
265
|
},
|
|
182
266
|
{
|
|
183
267
|
"component": "PlatformIcon",
|
|
184
268
|
"from": "iconSize",
|
|
185
269
|
"to": "size",
|
|
186
|
-
"reason": "The iconSize prop has been renamed to size for consistency with V2 component conventions. Size values have also changed to align with the Icon component scale
|
|
270
|
+
"reason": "The iconSize prop has been renamed to size for consistency with V2 component conventions. Size values have also changed to align with the Icon component scale — 'xs', 's', 'm', 'l', 'xl', '2xl', '3xl' — replacing the previous 1.2× ratio scale. The pixel sizes for 'l', 'xl', and '2xl' are different: l is now 1.25rem (was 1.2rem), xl is 1.5rem (was 1.44rem), 2xl is 2rem (was 1.728rem)."
|
|
187
271
|
},
|
|
188
272
|
{
|
|
189
273
|
"component": "FileDiff",
|
|
@@ -259,6 +343,12 @@
|
|
|
259
343
|
"description": "New size prop adds two tab height variants. Defaults to 's' (32px). 'm' gives 40px tabs with larger text and icons.",
|
|
260
344
|
"usage": "Use size='s' (default) for standard navigation, size='m' for more prominent tab navigation."
|
|
261
345
|
},
|
|
346
|
+
{
|
|
347
|
+
"component": "SegmentedButton",
|
|
348
|
+
"prop": "size",
|
|
349
|
+
"description": "New size prop adds two height/font-size variants. Defaults to 's' (32px, matching the small button height). 'xs' gives 24px segments for compact layouts.",
|
|
350
|
+
"usage": "Use size='s' (default) for standard usage, size='xs' for dense or space-constrained layouts."
|
|
351
|
+
},
|
|
262
352
|
{
|
|
263
353
|
"component": "ComboboxMultiselect",
|
|
264
354
|
"prop": "size",
|
|
@@ -396,11 +486,41 @@
|
|
|
396
486
|
{
|
|
397
487
|
"component": "SideNav",
|
|
398
488
|
"prop": "hasMobileDropdown",
|
|
399
|
-
"description": "New hasMobileDropdown prop opts in to rendering a dropdown menu in place of the standard navigation at mobile viewports. Defaults to false
|
|
489
|
+
"description": "New hasMobileDropdown prop opts in to rendering a dropdown menu in place of the standard navigation at mobile viewports. Defaults to false — the standard navigation is shown at all breakpoints.",
|
|
400
490
|
"usage": "Use hasMobileDropdown={true} if your layout requires a dropdown menu at mobile. The mobile breakpoint is controlled by the mobileBreakpoint prop on GlobalWrapper."
|
|
401
491
|
}
|
|
402
492
|
],
|
|
403
493
|
"removals": [
|
|
494
|
+
{
|
|
495
|
+
"component": "Spinner",
|
|
496
|
+
"prop": "colorType",
|
|
497
|
+
"replacement": "Replace with the `color` prop — pass any CSS color string or `var(--token)` reference. Use `'var(--pds-color-foreground-reverse)'` in place of `'monochromatic-reverse'`, and omit the prop entirely in place of `'monochromatic'` or `'full-color'` (the default is now foreground default).",
|
|
498
|
+
"reason": "The colorType prop ('full-color' | 'monochromatic' | 'monochromatic-reverse') has been removed in v2. The spinner now accepts a single `color` prop; the track ring renders at 30% opacity of the same color automatically. The default color is now the foreground default token."
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"component": "CodeBlock",
|
|
502
|
+
"prop": "colorType",
|
|
503
|
+
"replacement": "Remove the prop. CodeBlock now renders in a single unified style.",
|
|
504
|
+
"reason": "The colorType prop ('dark' | 'light') has been removed in v2. CodeBlock now renders in one consistent style that works across both page themes."
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"component": "Tabs",
|
|
508
|
+
"prop": "size",
|
|
509
|
+
"replacement": "Remove the prop. Tabs now render at a single size equivalent to the former size='m'.",
|
|
510
|
+
"reason": "The size prop has been removed in v2. The component now renders at one size only. Remove any size='s' or size='m' usage."
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"component": "TabMenu",
|
|
514
|
+
"prop": "size",
|
|
515
|
+
"replacement": "Remove the prop. TabMenu now renders at a single size equivalent to the former size='m'.",
|
|
516
|
+
"reason": "The size prop has been removed in v2. The component now renders at one size only. Remove any size='s' or size='m' usage."
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"component": "ButtonNav",
|
|
520
|
+
"prop": "size",
|
|
521
|
+
"replacement": "Remove the prop. ButtonNav now renders at a single size equivalent to the former size='s'.",
|
|
522
|
+
"reason": "The size prop and the medium size have been removed in v2. The component now renders at one size only. Remove any size='s' or size='m' usage. A smaller size may be reintroduced later if a need arises."
|
|
523
|
+
},
|
|
404
524
|
{
|
|
405
525
|
"component": "SiteSearch",
|
|
406
526
|
"prop": "horizontalOffset",
|
|
@@ -430,7 +550,7 @@
|
|
|
430
550
|
"prop": "variant",
|
|
431
551
|
"oldValue": "navbar",
|
|
432
552
|
"replacement": "Use variant=\"subtle\"",
|
|
433
|
-
"reason": "The navbar variant has been removed in v2. It was visually identical to subtle
|
|
553
|
+
"reason": "The navbar variant has been removed in v2. It was visually identical to subtle — replace with subtle."
|
|
434
554
|
},
|
|
435
555
|
{
|
|
436
556
|
"component": "MenuButton",
|
|
@@ -498,7 +618,7 @@
|
|
|
498
618
|
{
|
|
499
619
|
"component": "Switch",
|
|
500
620
|
"prop": "statusLabelPlacement",
|
|
501
|
-
"replacement": "Remove the prop. No replacement
|
|
621
|
+
"replacement": "Remove the prop. No replacement — the status label is no longer rendered visually.",
|
|
502
622
|
"reason": "The visual status label has been removed in V2, making its placement prop obsolete."
|
|
503
623
|
},
|
|
504
624
|
{
|
|
@@ -516,7 +636,7 @@
|
|
|
516
636
|
{
|
|
517
637
|
"component": "MenuButton",
|
|
518
638
|
"prop": "withinNavbar",
|
|
519
|
-
"reason": "Removed in V2. The dropdown no longer adjusts its border radius based on navbar context
|
|
639
|
+
"reason": "Removed in V2. The dropdown no longer adjusts its border radius based on navbar context — it floats normally regardless of placement.",
|
|
520
640
|
"migration": "Remove the withinNavbar prop. No replacement needed."
|
|
521
641
|
},
|
|
522
642
|
{
|
|
@@ -627,6 +747,132 @@
|
|
|
627
747
|
}
|
|
628
748
|
],
|
|
629
749
|
"typeChanges": [
|
|
750
|
+
{
|
|
751
|
+
"component": "Icon",
|
|
752
|
+
"prop": "size",
|
|
753
|
+
"description": "The 'xs' size value has been removed",
|
|
754
|
+
"v1Type": "'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl'",
|
|
755
|
+
"v2Type": "'s' | 'm' | 'l' | 'xl' | '2xl' | '3xl'",
|
|
756
|
+
"migration": {
|
|
757
|
+
"xs": "s (removed, use 's' instead)"
|
|
758
|
+
},
|
|
759
|
+
"reason": "The 10px 'xs' icon size has been removed in v2. It had a single internal usage (the TagsInput remove button, now 's'/12px) and is superseded by 's'. Use size='s' instead."
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"component": "FlexContainer",
|
|
763
|
+
"prop": "gap",
|
|
764
|
+
"description": "The named gap scale was replaced by the numbered spacing scale (`GapScale`). Fixed at all breakpoints; use `mobileGap` to change the gap on small screens.",
|
|
765
|
+
"v1Type": "'minimal' | 'narrow' | 'standard' | 'wide' | 'none'",
|
|
766
|
+
"v2Type": "'none' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'",
|
|
767
|
+
"migration": {
|
|
768
|
+
"minimal": "s",
|
|
769
|
+
"narrow": "m",
|
|
770
|
+
"standard": "xl",
|
|
771
|
+
"wide": "3xl"
|
|
772
|
+
},
|
|
773
|
+
"reason": "Unifies gap onto one predictable, fixed spacing scale across FlexContainer, Grid, and the layout components."
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"component": "FlexContainer",
|
|
777
|
+
"prop": "mobileGap",
|
|
778
|
+
"description": "The named gap scale was replaced by the numbered spacing scale (`GapScale`).",
|
|
779
|
+
"v1Type": "'minimal' | 'narrow' | 'standard' | 'wide' | 'none'",
|
|
780
|
+
"v2Type": "'none' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'",
|
|
781
|
+
"migration": {
|
|
782
|
+
"minimal": "s",
|
|
783
|
+
"narrow": "m",
|
|
784
|
+
"standard": "xl",
|
|
785
|
+
"wide": "3xl"
|
|
786
|
+
},
|
|
787
|
+
"reason": "Unifies gap onto one predictable, fixed spacing scale across FlexContainer, Grid, and the layout components."
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"component": "SidebarLayout",
|
|
791
|
+
"prop": "gridGap",
|
|
792
|
+
"description": "The named gap scale was replaced by the numbered spacing scale (`GapScale`).",
|
|
793
|
+
"v1Type": "'narrow' | 'standard' | 'wide' | 'none'",
|
|
794
|
+
"v2Type": "'none' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'",
|
|
795
|
+
"migration": {
|
|
796
|
+
"narrow": "m",
|
|
797
|
+
"standard": "xl",
|
|
798
|
+
"wide": "3xl"
|
|
799
|
+
},
|
|
800
|
+
"reason": "Unifies gap onto one predictable, fixed spacing scale across FlexContainer, Grid, and the layout components."
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"component": "TwoItemLayout",
|
|
804
|
+
"prop": "gridGap",
|
|
805
|
+
"description": "The named gap scale was replaced by the numbered spacing scale (`GapScale`).",
|
|
806
|
+
"v1Type": "'narrow' | 'standard' | 'wide' | 'none'",
|
|
807
|
+
"v2Type": "'none' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'",
|
|
808
|
+
"migration": {
|
|
809
|
+
"narrow": "m",
|
|
810
|
+
"standard": "xl",
|
|
811
|
+
"wide": "3xl"
|
|
812
|
+
},
|
|
813
|
+
"reason": "Unifies gap onto one predictable, fixed spacing scale across FlexContainer, Grid, and the layout components."
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"component": "ThreeItemLayout",
|
|
817
|
+
"prop": "gridGap",
|
|
818
|
+
"description": "The named gap scale was replaced by the numbered spacing scale (`GapScale`).",
|
|
819
|
+
"v1Type": "'narrow' | 'standard' | 'wide' | 'none'",
|
|
820
|
+
"v2Type": "'none' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'",
|
|
821
|
+
"migration": {
|
|
822
|
+
"narrow": "m",
|
|
823
|
+
"standard": "xl",
|
|
824
|
+
"wide": "3xl"
|
|
825
|
+
},
|
|
826
|
+
"reason": "Unifies gap onto one predictable, fixed spacing scale across FlexContainer, Grid, and the layout components."
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"component": "Panel",
|
|
830
|
+
"prop": "padding",
|
|
831
|
+
"description": "The padding prop moved from the shared GridGapOptions scale to a dedicated, curated PaddingScale. Values were renamed: narrow → condensed, wide → spacious. standard and none are unchanged. The underlying spacing values are preserved.",
|
|
832
|
+
"v1Type": "'wide' | 'standard' | 'narrow' | 'none'",
|
|
833
|
+
"v2Type": "'none' | 'condensed' | 'standard' | 'spacious'",
|
|
834
|
+
"migration": {
|
|
835
|
+
"narrow": "condensed",
|
|
836
|
+
"wide": "spacious"
|
|
837
|
+
},
|
|
838
|
+
"reason": "Padding is a container-internal concern with its own curated semantic scale, separated from the numbered gap scale used for layout spacing."
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"component": "Card",
|
|
842
|
+
"prop": "padding",
|
|
843
|
+
"description": "The padding prop moved from the shared GridGapOptions scale to a dedicated, curated PaddingScale. Values were renamed: narrow → condensed, wide → spacious. standard and none are unchanged. The underlying spacing values are preserved.",
|
|
844
|
+
"v1Type": "'wide' | 'standard' | 'narrow' | 'none'",
|
|
845
|
+
"v2Type": "'none' | 'condensed' | 'standard' | 'spacious'",
|
|
846
|
+
"migration": {
|
|
847
|
+
"narrow": "condensed",
|
|
848
|
+
"wide": "spacious"
|
|
849
|
+
},
|
|
850
|
+
"reason": "Padding is a container-internal concern with its own curated semantic scale, separated from the numbered gap scale used for layout spacing."
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
"component": "ActionCard",
|
|
854
|
+
"prop": "padding",
|
|
855
|
+
"description": "The padding prop moved from the shared GridGapOptions scale to a dedicated, curated PaddingScale. Values were renamed: narrow → condensed, wide → spacious. standard and none are unchanged. The underlying spacing values are preserved.",
|
|
856
|
+
"v1Type": "'wide' | 'standard' | 'narrow' | 'none'",
|
|
857
|
+
"v2Type": "'none' | 'condensed' | 'standard' | 'spacious'",
|
|
858
|
+
"migration": {
|
|
859
|
+
"narrow": "condensed",
|
|
860
|
+
"wide": "spacious"
|
|
861
|
+
},
|
|
862
|
+
"reason": "Padding is a container-internal concern with its own curated semantic scale, separated from the numbered gap scale used for layout spacing."
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"component": "UtilityBar",
|
|
866
|
+
"prop": "padding",
|
|
867
|
+
"description": "The padding prop moved from the shared GridGapOptions scale to a dedicated, curated PaddingScale. Values were renamed: narrow → condensed, wide → spacious. standard and none are unchanged. The underlying spacing values are preserved.",
|
|
868
|
+
"v1Type": "'wide' | 'standard' | 'narrow' | 'none'",
|
|
869
|
+
"v2Type": "'none' | 'condensed' | 'standard' | 'spacious'",
|
|
870
|
+
"migration": {
|
|
871
|
+
"narrow": "condensed",
|
|
872
|
+
"wide": "spacious"
|
|
873
|
+
},
|
|
874
|
+
"reason": "Padding is a container-internal concern with its own curated semantic scale, separated from the numbered gap scale used for layout spacing."
|
|
875
|
+
},
|
|
630
876
|
{
|
|
631
877
|
"component": "StepList",
|
|
632
878
|
"prop": "steps",
|
|
@@ -634,9 +880,9 @@
|
|
|
634
880
|
"v1Type": "FlowStep[]",
|
|
635
881
|
"v2Type": "StepListItem[]",
|
|
636
882
|
"migration": {
|
|
637
|
-
"note": "Update any FlowStep type imports to StepListItem. The shape of the type is unchanged
|
|
883
|
+
"note": "Update any FlowStep type imports to StepListItem. The shape of the type is unchanged — { header: string | ReactNode, content?: string | ReactNode }."
|
|
638
884
|
},
|
|
639
|
-
"reason": "Renamed alongside the FlowSteps
|
|
885
|
+
"reason": "Renamed alongside the FlowSteps → StepList component rename for naming consistency."
|
|
640
886
|
},
|
|
641
887
|
{
|
|
642
888
|
"component": "CloseButton",
|
|
@@ -645,7 +891,7 @@
|
|
|
645
891
|
"v1Type": "() => void",
|
|
646
892
|
"v2Type": "(e: React.MouseEvent<HTMLButtonElement>) => void",
|
|
647
893
|
"migration": {
|
|
648
|
-
"note": "Backwards compatible
|
|
894
|
+
"note": "Backwards compatible — existing handlers that ignore the event parameter continue to work. Update handlers if you need access to the event."
|
|
649
895
|
},
|
|
650
896
|
"reason": "Updated to allow consumers to call e.stopPropagation() or access other event properties when needed."
|
|
651
897
|
},
|
|
@@ -705,15 +951,15 @@
|
|
|
705
951
|
{
|
|
706
952
|
"component": "CloseButton",
|
|
707
953
|
"prop": "size",
|
|
708
|
-
"description": "Prop renamed from iconSize to size, and size naming convention
|
|
954
|
+
"description": "Prop renamed from iconSize to size, and size naming convention standardized to s/m/l",
|
|
709
955
|
"v1Type": "'md' | 'lg' | 'xl' (on iconSize prop)",
|
|
710
|
-
"v2Type": "'
|
|
956
|
+
"v2Type": "'s' | 'm' | 'l' (on size prop)",
|
|
711
957
|
"migration": {
|
|
712
|
-
"md": "
|
|
713
|
-
"lg": "
|
|
714
|
-
"xl": "
|
|
958
|
+
"md": "s",
|
|
959
|
+
"lg": "m",
|
|
960
|
+
"xl": "l"
|
|
715
961
|
},
|
|
716
|
-
"reason": "Prop renamed from iconSize to size for consistency with other button components. Size
|
|
962
|
+
"reason": "Prop renamed from iconSize to size for consistency with other button components. Size values standardized to the single-letter s/m/l scale used across V2 (smallest rung is now 's'); pixel sizes are unchanged, only the labels shifted (md→s, lg→m, xl→l)."
|
|
717
963
|
},
|
|
718
964
|
{
|
|
719
965
|
"component": "Icon",
|
|
@@ -726,6 +972,18 @@
|
|
|
726
972
|
},
|
|
727
973
|
"reason": "The 'Outline' and 'Line' suffixed icon names have been removed. The base names (circlePlus, circleMinus, globe) now render the outlined/regular style by default."
|
|
728
974
|
},
|
|
975
|
+
{
|
|
976
|
+
"component": "Icon",
|
|
977
|
+
"prop": "iconName",
|
|
978
|
+
"description": "Several verbose icon names were shortened for clarity.",
|
|
979
|
+
"migration": {
|
|
980
|
+
"arrowDownLeftAndArrowUpRightToCenter": "collapseToCenter",
|
|
981
|
+
"arrowsUpDownLeftRight": "move",
|
|
982
|
+
"linkSimple": "link",
|
|
983
|
+
"linkSimpleSlash": "unlink"
|
|
984
|
+
},
|
|
985
|
+
"reason": "Renamed for brevity and clarity: 'arrowDownLeftAndArrowUpRightToCenter' → 'collapseToCenter' (pairs with 'expandFromCenter'), 'arrowsUpDownLeftRight' → 'move', 'linkSimple' → 'link', 'linkSimpleSlash' → 'unlink'. Run the icon-name-updates codemod to migrate."
|
|
986
|
+
},
|
|
729
987
|
{
|
|
730
988
|
"component": "Tooltip",
|
|
731
989
|
"prop": "triggerIconSize",
|
|
@@ -814,14 +1072,14 @@
|
|
|
814
1072
|
{
|
|
815
1073
|
"component": "CTALink",
|
|
816
1074
|
"prop": "size",
|
|
817
|
-
"description": "Size naming convention updated
|
|
1075
|
+
"description": "Size naming convention updated (sm → s, md → m), default changed from 'md' to 's', and an 'xs' variant added. v2 accepts 'xs' | 's' | 'm'.",
|
|
818
1076
|
"v1Type": "'sm' | 'md'",
|
|
819
|
-
"v2Type": "'s' | 'm'",
|
|
1077
|
+
"v2Type": "'xs' | 's' | 'm'",
|
|
820
1078
|
"migration": {
|
|
821
1079
|
"sm": "s",
|
|
822
1080
|
"md": "m"
|
|
823
1081
|
},
|
|
824
|
-
"reason": "Standardized size naming
|
|
1082
|
+
"reason": "Standardized size naming and added 'xs' to support compact contexts such as the Payment Card pattern footer."
|
|
825
1083
|
},
|
|
826
1084
|
{
|
|
827
1085
|
"component": "LinkNewWindow",
|
|
@@ -851,7 +1109,7 @@
|
|
|
851
1109
|
"md": "m",
|
|
852
1110
|
"lg": "l"
|
|
853
1111
|
},
|
|
854
|
-
"reason": "Standardized size naming. The '4xs' and '3xs' sizes have been removed
|
|
1112
|
+
"reason": "Standardized size naming. The '4xs' and '3xs' sizes have been removed — use '2xs' instead. Default changed from 'md' to 'm'."
|
|
855
1113
|
},
|
|
856
1114
|
{
|
|
857
1115
|
"component": "StatusChecker",
|
|
@@ -872,7 +1130,7 @@
|
|
|
872
1130
|
"oldType": "'color-1' | 'color-2' | ... | 'color-20'",
|
|
873
1131
|
"newType": "'apollo' | 'iris' | 'hypnos' | 'gaia' | 'aether' | 'success' | 'warning' | 'critical' | 'info' | 'discovery' | 'amber' | 'orange' | 'lime' | 'teal' | 'sky' | 'indigo' | 'rose' | 'slate' | 'sand' | 'mint' | 'silver' | 'stone'",
|
|
874
1132
|
"description": "Tag color values are now named instead of numbered. Two new colors added: silver and stone.",
|
|
875
|
-
"migration": "Replace numbered color values with their named equivalents: color-1
|
|
1133
|
+
"migration": "Replace numbered color values with their named equivalents: color-1→apollo, color-2→iris, color-3→hypnos, color-4→gaia, color-5→aether, color-6→success, color-7→warning, color-8→critical, color-9→info, color-10→discovery, color-11→amber, color-12→orange, color-13→lime, color-14→teal, color-15→sky, color-16→indigo, color-17→rose, color-18→slate, color-19→sand, color-20→mint. Two new values (silver, stone) have no v1 equivalent."
|
|
876
1134
|
},
|
|
877
1135
|
{
|
|
878
1136
|
"component": "SidebarLayout",
|
|
@@ -880,7 +1138,7 @@
|
|
|
880
1138
|
"v1Type": "'narrow' | 'standard' | 'wide'",
|
|
881
1139
|
"v2Type": "string",
|
|
882
1140
|
"description": "sidebarWidth is now a percentage string instead of a preset option.",
|
|
883
|
-
"migration": "Replace preset values with percentage equivalents: 'narrow'
|
|
1141
|
+
"migration": "Replace preset values with percentage equivalents: 'narrow' → '25%', 'standard' → '33%', 'wide' → '42%'. Adjust as needed for your layout."
|
|
884
1142
|
},
|
|
885
1143
|
{
|
|
886
1144
|
"component": "Table",
|
|
@@ -910,17 +1168,6 @@
|
|
|
910
1168
|
"newType": "(key: string, order: SortOrder) => void",
|
|
911
1169
|
"reason": "The sort callback now receives a column id string instead of a positional index."
|
|
912
1170
|
},
|
|
913
|
-
{
|
|
914
|
-
"component": "CTALink",
|
|
915
|
-
"prop": "size",
|
|
916
|
-
"description": "Added xs size variant. The size prop now accepts xs | s | m (previously s | m).",
|
|
917
|
-
"v1Type": "'s' | 'm'",
|
|
918
|
-
"v2Type": "'xs' | 's' | 'm'",
|
|
919
|
-
"migration": {
|
|
920
|
-
"note": "Backwards compatible \u2014 existing size values are unchanged. Use size=\"xs\" when a smaller CTA link is needed."
|
|
921
|
-
},
|
|
922
|
-
"reason": "Added to support compact contexts such as the Payment Card pattern footer."
|
|
923
|
-
},
|
|
924
1171
|
{
|
|
925
1172
|
"component": "MenuButton",
|
|
926
1173
|
"prop": "displayType",
|
|
@@ -958,6 +1205,16 @@
|
|
|
958
1205
|
},
|
|
959
1206
|
"cssClasses": {
|
|
960
1207
|
"renames": [
|
|
1208
|
+
{
|
|
1209
|
+
"old": "pds-grid--narrow",
|
|
1210
|
+
"new": "pds-grid--gap-m",
|
|
1211
|
+
"reason": "The grid gap moved to the numbered spacing scale. The old responsive `narrow` gutter maps to a fixed `m` (16px) gap."
|
|
1212
|
+
},
|
|
1213
|
+
{
|
|
1214
|
+
"old": "pds-grid--wide",
|
|
1215
|
+
"new": "pds-grid--gap-3xl",
|
|
1216
|
+
"reason": "The grid gap moved to the numbered spacing scale. The old responsive `wide` gutter maps to a fixed `3xl` (40px) gap."
|
|
1217
|
+
},
|
|
961
1218
|
{
|
|
962
1219
|
"old": "pds-overline-text",
|
|
963
1220
|
"new": "pds-overline-m",
|
|
@@ -1054,6 +1311,27 @@
|
|
|
1054
1311
|
"removals": []
|
|
1055
1312
|
},
|
|
1056
1313
|
"behaviorChanges": [
|
|
1314
|
+
{
|
|
1315
|
+
"component": "Container",
|
|
1316
|
+
"prop": "full width",
|
|
1317
|
+
"description": "The 'full' container width is now edge-to-edge with no inline padding.",
|
|
1318
|
+
"v1Behavior": "containerWidth='full' (class pds-container--full) removed the max-width but kept the standard 2xl inline padding, so full-width sections still had a gutter.",
|
|
1319
|
+
"v2Behavior": "The 'full' width now has no inline padding (padding-inline: 0), so content spans edge-to-edge. Add your own padding for full-width sections that need a gutter.",
|
|
1320
|
+
"migration": "If you used containerWidth='full' (or the pds-container--full class) and relied on its inline padding, add the padding yourself (e.g. a spacing utility or wrapper).",
|
|
1321
|
+
"affectedAreas": [
|
|
1322
|
+
"Container",
|
|
1323
|
+
"Any full-width sections using pds-container--full"
|
|
1324
|
+
]
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"component": "SiteFooter",
|
|
1328
|
+
"prop": "containerWidth",
|
|
1329
|
+
"description": "Default containerWidth changed from 'standard' to 'full'; the footer no longer applies its own inline padding or max-width by default.",
|
|
1330
|
+
"v1Behavior": "SiteFooter wrapped its content in a standard Container, applying a max-width and inline padding (gutter) by default, plus 2xl vertical padding.",
|
|
1331
|
+
"v2Behavior": "SiteFooter defaults to containerWidth='full', which is now edge-to-edge (no max-width, no inline padding); the containing layout or app provides the gutter. Vertical padding is reduced to xl.",
|
|
1332
|
+
"migration": "If you relied on the footer's built-in gutter or max-width, set containerWidth explicitly (e.g. 'x-wide') or wrap the footer in your layout's container. When placing SiteFooter in AppLayout's footer slot, the region provides the inline padding.",
|
|
1333
|
+
"affectedAreas": ["SiteFooter", "Footers in app and docs layouts"]
|
|
1334
|
+
},
|
|
1057
1335
|
{
|
|
1058
1336
|
"component": "TextInput, RadioGroup, FileUpload, Combobox, ComboboxMultiselect, Select, Textarea, Checkbox, Switch, TagsInput, Datepicker",
|
|
1059
1337
|
"prop": "inputWidth",
|
|
@@ -1102,7 +1380,7 @@
|
|
|
1102
1380
|
},
|
|
1103
1381
|
{
|
|
1104
1382
|
"component": "Panel",
|
|
1105
|
-
"description": "Panel simplified
|
|
1383
|
+
"description": "Panel simplified — status indicators removed",
|
|
1106
1384
|
"v1Behavior": "Panel supported hasStatusIndicator, statusType, and typeLabels props which rendered a colored bar on the left side of the panel.",
|
|
1107
1385
|
"v2Behavior": "Panel is now a general-purpose container with five variants: default, sunken, raised, overlay, and critical. Status indicators have been removed.",
|
|
1108
1386
|
"migration": "Remove hasStatusIndicator, statusType, and typeLabels props. Remove any custom CSS targeting .pds-panel__status elements.",
|
|
@@ -1125,7 +1403,7 @@
|
|
|
1125
1403
|
"description": "Previous and next arrow buttons now hidden when at boundaries instead of disabled",
|
|
1126
1404
|
"v1Behavior": "Previous button rendered with aria-disabled and reduced opacity when on the first page. Next button rendered with aria-disabled and reduced opacity when on the last page.",
|
|
1127
1405
|
"v2Behavior": "Previous button is not rendered when on the first page. Next button is not rendered when on the last page.",
|
|
1128
|
-
"migration": "No prop changes required. Remove any custom CSS targeting .pds-pagination__item--disabled
|
|
1406
|
+
"migration": "No prop changes required. Remove any custom CSS targeting .pds-pagination__item--disabled — that class no longer exists.",
|
|
1129
1407
|
"affectedAreas": [
|
|
1130
1408
|
"Pagination component",
|
|
1131
1409
|
"Visual design",
|
|
@@ -1149,7 +1427,7 @@
|
|
|
1149
1427
|
"description": "Dropdown positioning may shift slightly from V1. The menu is no longer in the DOM when closed.",
|
|
1150
1428
|
"v1Behavior": "MenuButton used manual keyboard handling, aria-activedescendant focus management, and a custom click-outside handler. The menu element was always present in the DOM with visibility toggled via inline styles.",
|
|
1151
1429
|
"v2Behavior": "MenuButton now uses the shared useDropdown hook with roving tabIndex focus management (useListNavigation), built-in typeahead (useTypeahead), and automatic dismiss handling (useDismiss). The menu unmounts from the DOM when closed.",
|
|
1152
|
-
"migration": "No prop changes required. If you relied on aria-activedescendant for screen readers, test with the updated component
|
|
1430
|
+
"migration": "No prop changes required. If you relied on aria-activedescendant for screen readers, test with the updated component — it now uses a roving tabIndex pattern.",
|
|
1153
1431
|
"affectedAreas": [
|
|
1154
1432
|
"MenuButton component",
|
|
1155
1433
|
"Keyboard navigation",
|
|
@@ -1208,7 +1486,7 @@
|
|
|
1208
1486
|
},
|
|
1209
1487
|
{
|
|
1210
1488
|
"component": "CompactEmptyState",
|
|
1211
|
-
"description": "V2 style update
|
|
1489
|
+
"description": "V2 style update — typography tokens and color token correction",
|
|
1212
1490
|
"v1Behavior": "Heading font size and weight applied via pds-ts-l and pds-fw-bold utility classes on the element. Message color used the deprecated pds-color-text-default-secondary token.",
|
|
1213
1491
|
"v2Behavior": "Heading font size and weight defined in component CSS using pds-typography-size-l and pds-typography-fw-bold tokens. Message color uses the correct pds-color-fg-default-secondary token.",
|
|
1214
1492
|
"migration": "No prop changes. Visual appearance is the same. Remove any overrides targeting pds-color-text-default-secondary on this component.",
|
|
@@ -1220,7 +1498,7 @@
|
|
|
1220
1498
|
},
|
|
1221
1499
|
{
|
|
1222
1500
|
"component": "VerticalEmptyState",
|
|
1223
|
-
"description": "V2 style update
|
|
1501
|
+
"description": "V2 style update — typography tokens and color token correction",
|
|
1224
1502
|
"v1Behavior": "Heading font size and weight applied via pds-ts-2xl and pds-fw-bold utility classes on the element. Root color used the deprecated pds-color-text-default token.",
|
|
1225
1503
|
"v2Behavior": "Heading font size and weight defined in component CSS using pds-typography-size-2xl and pds-typography-fw-bold tokens. Root color uses the correct pds-color-fg-default token.",
|
|
1226
1504
|
"migration": "No prop changes. Visual appearance is the same. Remove any overrides targeting pds-color-text-default on this component.",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
IndicatorBadge,
|
|
4
|
+
NavMenu,
|
|
5
|
+
RefreshChecker,
|
|
6
|
+
FlowSteps,
|
|
7
|
+
CardSelectGroup,
|
|
8
|
+
DashboardSearch,
|
|
9
|
+
SideNavCompact,
|
|
10
|
+
} from '@pantheon-systems/pds-toolkit-react';
|
|
11
|
+
// Aliased import — imported name changes, local alias and JSX stay the same
|
|
12
|
+
import { IndicatorBadge as LegacyBadge } from '@pantheon-systems/pds-toolkit-react';
|
|
13
|
+
// Non-PDS import with the same name — untouched
|
|
14
|
+
import { IndicatorBadge as ThirdPartyBadge } from 'some-other-library';
|
|
15
|
+
// Deep path import — path and specifier name should both be updated
|
|
16
|
+
import { IndicatorBadge as DeepBadge } from '@pantheon-systems/pds-toolkit-react/components/badges/IndicatorBadge/IndicatorBadge';
|
|
17
|
+
// Deep path aliased import — path and imported name updated, local alias preserved
|
|
18
|
+
import { IndicatorBadge as LegacyDeepBadge } from '@pantheon-systems/pds-toolkit-react/components/badges/IndicatorBadge/IndicatorBadge';
|
|
19
|
+
|
|
20
|
+
// Non-aliased — both import specifier and JSX tags should be renamed
|
|
21
|
+
const A = () => <IndicatorBadge color='blue' label='v1 badge' />;
|
|
22
|
+
const B = () => <NavMenu ariaLabel='Main nav' menuItems={[]} />;
|
|
23
|
+
const C = () => <RefreshChecker />;
|
|
24
|
+
const D = () => <FlowSteps steps={[]} />;
|
|
25
|
+
const E = () => <CardSelectGroup options={[]} />;
|
|
26
|
+
const F = () => <DashboardSearch id='search' label='Search' siteList={[]} />;
|
|
27
|
+
const G = () => <SideNavCompact items={[]} />;
|
|
28
|
+
|
|
29
|
+
// Aliased — only the import specifier changes, JSX stays as <LegacyBadge>
|
|
30
|
+
const H = () => <LegacyBadge color='blue' label='aliased' />;
|
|
31
|
+
|
|
32
|
+
// Non-PDS import — untouched
|
|
33
|
+
const I = () => <ThirdPartyBadge />;
|