@pantheon-systems/pds-toolkit-react 2.0.0-alpha.59 → 2.0.0-alpha.60
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/css-token-renames.js +186 -0
- package/codemods/v1-to-v2/mappings.json +85 -7
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.input.tsx +24 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-removals/basic.output.tsx +24 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.input.tsx +29 -0
- package/codemods/v1-to-v2/transforms/__testfixtures__/css-class-renames/basic.output.tsx +29 -0
- package/codemods/v1-to-v2/transforms/css-class-removals.js +97 -27
- package/codemods/v1-to-v2/transforms/css-class-renames.js +80 -16
- package/dist/components/SiteFooter/SiteFooter.d.ts +7 -3
- package/dist/components/buttons/MenuButton/MenuButton.d.ts +4 -1
- package/dist/components/icons/Icon/generated-icon-data.d.ts +1 -1
- package/dist/css/component-css/pds-button.css +1 -3
- package/dist/css/component-css/pds-checkbox.css +1 -1
- package/dist/css/component-css/pds-cta-link.css +1 -1
- package/dist/css/component-css/pds-expansion-panel-group.css +1 -1
- package/dist/css/component-css/pds-expansion-panel.css +1 -1
- package/dist/css/component-css/pds-index.css +11 -13
- package/dist/css/component-css/pds-menu-button.css +1 -1
- package/dist/css/component-css/pds-side-nav.css +1 -1
- package/dist/css/component-css/pds-tab-menu.css +2 -2
- package/dist/css/component-css/pds-utility-button.css +1 -1
- package/dist/css/component-css/pds-workspace-selector.css +1 -1
- package/dist/css/design-tokens/variables.dark.css +6 -13
- package/dist/css/design-tokens/variables.global.css +1 -0
- package/dist/css/design-tokens/variables.light.css +7 -14
- package/dist/css/pds-components.css +11 -13
- package/dist/css/pds-core.css +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +148 -141
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Codemod: css-class-renames
|
|
3
3
|
*
|
|
4
|
-
* Renames PDS CSS utility classes in JSX className attributes
|
|
4
|
+
* Renames PDS CSS utility classes in JSX className attributes — and any
|
|
5
|
+
* other prop ending in "ClassName" (e.g. iconClassName, labelClassName),
|
|
6
|
+
* a common pattern for components with multiple styleable slots.
|
|
5
7
|
* Driven entirely by cssClasses.renames in mappings.json.
|
|
6
8
|
*
|
|
7
9
|
* Usage:
|
|
@@ -13,10 +15,19 @@
|
|
|
13
15
|
* - String literals: className="pds-overline-text foo"
|
|
14
16
|
* - Expression containers: className={'pds-overline-text'}
|
|
15
17
|
* - Template literals: className={`pds-overline-text ${styles.x}`}
|
|
18
|
+
* - Ternaries / logical expressions, as a bare className expression or
|
|
19
|
+
* nested inside a template literal's ${...} slot, as long as every
|
|
20
|
+
* branch reached is itself a plain string literal:
|
|
21
|
+
* className={isActive ? 'pds-overline-text' : 'other-class'}
|
|
22
|
+
* className={`base ${isEmployee ? 'pds-color-bg-info' : 'pds-color-bg-default'}`}
|
|
23
|
+
* className={isOpen && 'pds-overline-text'}
|
|
24
|
+
* - Any other *ClassName prop, matched the same way as className:
|
|
25
|
+
* iconClassName={isActive ? 'pds-overline-text' : 'other-class'}
|
|
16
26
|
*
|
|
17
27
|
* Does not handle:
|
|
18
28
|
* - CSS/SCSS files — run a find-and-replace over those separately.
|
|
19
|
-
* -
|
|
29
|
+
* - Truly dynamic class names (a variable, function call, or any branch
|
|
30
|
+
* of a ternary/logical expression that isn't itself a string literal).
|
|
20
31
|
*
|
|
21
32
|
* No --only flag: CSS utility classes can appear on any element (including
|
|
22
33
|
* native HTML), so there is no meaningful component-level scope to filter by.
|
|
@@ -24,6 +35,7 @@
|
|
|
24
35
|
*/
|
|
25
36
|
|
|
26
37
|
const path = require('path');
|
|
38
|
+
|
|
27
39
|
const mappings = require(path.join(__dirname, '../mappings.json'));
|
|
28
40
|
|
|
29
41
|
// Build lookup: { 'oldClass': 'newClass' }
|
|
@@ -58,6 +70,43 @@ function renameClasses(classString) {
|
|
|
58
70
|
return { result, changed };
|
|
59
71
|
}
|
|
60
72
|
|
|
73
|
+
// Recursively rename any string-literal branch reachable from `node` without
|
|
74
|
+
// crossing into a non-literal value — i.e. it descends into ternaries
|
|
75
|
+
// (ConditionalExpression) and logical expressions (&&/||), renaming each
|
|
76
|
+
// branch that is itself a string literal, but leaves anything else (a
|
|
77
|
+
// variable, a function call, a member expression, ...) untouched since its
|
|
78
|
+
// value isn't knowable statically. Returns the (possibly replaced) node and
|
|
79
|
+
// whether anything changed; does not mutate in place, so callers must
|
|
80
|
+
// reassign the returned node back onto its parent.
|
|
81
|
+
function renameStringLiteralBranches(node, j) {
|
|
82
|
+
if (!node) return { node, changed: false };
|
|
83
|
+
|
|
84
|
+
if (node.type === 'StringLiteral' || node.type === 'Literal') {
|
|
85
|
+
const { changed, result } = renameClasses(node.value);
|
|
86
|
+
return changed
|
|
87
|
+
? { node: j.stringLiteral(result), changed: true }
|
|
88
|
+
: { node, changed: false };
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (node.type === 'ConditionalExpression') {
|
|
92
|
+
const consequent = renameStringLiteralBranches(node.consequent, j);
|
|
93
|
+
const alternate = renameStringLiteralBranches(node.alternate, j);
|
|
94
|
+
if (consequent.changed) node.consequent = consequent.node;
|
|
95
|
+
if (alternate.changed) node.alternate = alternate.node;
|
|
96
|
+
return { node, changed: consequent.changed || alternate.changed };
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (node.type === 'LogicalExpression') {
|
|
100
|
+
const left = renameStringLiteralBranches(node.left, j);
|
|
101
|
+
const right = renameStringLiteralBranches(node.right, j);
|
|
102
|
+
if (left.changed) node.left = left.node;
|
|
103
|
+
if (right.changed) node.right = right.node;
|
|
104
|
+
return { node, changed: left.changed || right.changed };
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return { node, changed: false };
|
|
108
|
+
}
|
|
109
|
+
|
|
61
110
|
module.exports = function transform(file, api) {
|
|
62
111
|
const j = api.jscodeshift;
|
|
63
112
|
const root = j(file.source);
|
|
@@ -67,14 +116,15 @@ module.exports = function transform(file, api) {
|
|
|
67
116
|
let changed = false;
|
|
68
117
|
|
|
69
118
|
root
|
|
70
|
-
.find(j.JSXAttribute
|
|
119
|
+
.find(j.JSXAttribute)
|
|
120
|
+
.filter((nodePath) => /className$/i.test(nodePath.node.name.name))
|
|
71
121
|
.forEach((nodePath) => {
|
|
72
122
|
const { value } = nodePath.node;
|
|
73
123
|
if (!value) return;
|
|
74
124
|
|
|
75
125
|
// className="pds-overline-text foo"
|
|
76
126
|
if (value.type === 'StringLiteral') {
|
|
77
|
-
const {
|
|
127
|
+
const { changed: c, result } = renameClasses(value.value);
|
|
78
128
|
if (c) {
|
|
79
129
|
nodePath.node.value = j.stringLiteral(result);
|
|
80
130
|
changed = true;
|
|
@@ -85,26 +135,40 @@ module.exports = function transform(file, api) {
|
|
|
85
135
|
if (value.type !== 'JSXExpressionContainer') return;
|
|
86
136
|
const { expression } = value;
|
|
87
137
|
|
|
88
|
-
// className={
|
|
89
|
-
if (expression.type === 'StringLiteral') {
|
|
90
|
-
const { result, changed: c } = renameClasses(expression.value);
|
|
91
|
-
if (c) {
|
|
92
|
-
value.expression = j.stringLiteral(result);
|
|
93
|
-
changed = true;
|
|
94
|
-
}
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// className={`pds-overline-text ${styles.x}`}
|
|
138
|
+
// className={`pds-overline-text ${isActive ? 'a' : 'b'}`}
|
|
99
139
|
if (expression.type === 'TemplateLiteral') {
|
|
100
140
|
expression.quasis.forEach((quasi) => {
|
|
101
|
-
const {
|
|
141
|
+
const { changed: c, result } = renameClasses(quasi.value.raw);
|
|
102
142
|
if (c) {
|
|
103
143
|
quasi.value.raw = result;
|
|
104
144
|
quasi.value.cooked = result;
|
|
105
145
|
changed = true;
|
|
106
146
|
}
|
|
107
147
|
});
|
|
148
|
+
|
|
149
|
+
expression.expressions.forEach((expr, index) => {
|
|
150
|
+
const { changed: c, node: renamed } = renameStringLiteralBranches(
|
|
151
|
+
expr,
|
|
152
|
+
j,
|
|
153
|
+
);
|
|
154
|
+
if (c) {
|
|
155
|
+
expression.expressions[index] = renamed;
|
|
156
|
+
changed = true;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// className={'pds-overline-text'}
|
|
163
|
+
// className={isActive ? 'pds-overline-text' : 'other-class'}
|
|
164
|
+
// className={isOpen && 'pds-overline-text'}
|
|
165
|
+
const { changed: c, node: renamed } = renameStringLiteralBranches(
|
|
166
|
+
expression,
|
|
167
|
+
j,
|
|
168
|
+
);
|
|
169
|
+
if (c) {
|
|
170
|
+
value.expression = renamed;
|
|
171
|
+
changed = true;
|
|
108
172
|
}
|
|
109
173
|
});
|
|
110
174
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
|
|
2
2
|
import { ContainerWidth } from '../../libs/types/custom-types';
|
|
3
3
|
import './site-footer.css';
|
|
4
|
+
type LegalLinkKey = 'privacy' | 'dataSubjectRequest' | 'cookiePolicy' | 'termsOfUse' | 'acceptableUse' | 'accessibilityStatement';
|
|
4
5
|
export interface SiteFooterProps extends ComponentPropsWithoutRef<'footer'> {
|
|
5
6
|
/**
|
|
6
7
|
* HTML element to render. Use 'footer' for standalone usage or 'div' when nested inside another footer landmark.
|
|
@@ -26,9 +27,11 @@ export interface SiteFooterProps extends ComponentPropsWithoutRef<'footer'> {
|
|
|
26
27
|
*/
|
|
27
28
|
hasTopBorder?: boolean;
|
|
28
29
|
/**
|
|
29
|
-
* Legal policy links.
|
|
30
|
+
* Legal policy links, in display order. Accepts the predefined Pantheon
|
|
31
|
+
* legal link keys and/or custom links or buttons (e.g. a cookie
|
|
32
|
+
* preferences trigger), interspersed in whatever order you need.
|
|
30
33
|
*/
|
|
31
|
-
legalLinks?: Array<
|
|
34
|
+
legalLinks?: Array<LegalLinkKey | ReactElement>;
|
|
32
35
|
/**
|
|
33
36
|
* The background color of the surface this footer is placed on.
|
|
34
37
|
* Use 'secondary' to strengthen the internal divider border when the footer sits on a secondary background.
|
|
@@ -39,3 +42,4 @@ export interface SiteFooterProps extends ComponentPropsWithoutRef<'footer'> {
|
|
|
39
42
|
* SiteFooter UI component
|
|
40
43
|
*/
|
|
41
44
|
export declare const SiteFooter: ({ as: Element, children, className, containerWidth, hasTopBorder, legalLinks, surfaceColor, ...props }: SiteFooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export {};
|
|
@@ -71,8 +71,11 @@ export interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
71
71
|
undefinedLabel?: string;
|
|
72
72
|
/**
|
|
73
73
|
* Which variant of button to render. Not available in `iconOnly` mode.
|
|
74
|
+
* `navbar` is visually identical to `subtle` except it has no background
|
|
75
|
+
* at rest — only on hover/expanded — for triggers that sit directly on a
|
|
76
|
+
* nav/toolbar surface rather than a plain page background.
|
|
74
77
|
*/
|
|
75
|
-
variant?: Extract<ButtonVariant, 'primary' | 'secondary' | 'subtle'
|
|
78
|
+
variant?: Extract<ButtonVariant, 'primary' | 'secondary' | 'subtle'> | 'navbar';
|
|
76
79
|
}
|
|
77
80
|
/**
|
|
78
81
|
* MenuButton UI component
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generated by: npm run generate:icon-data
|
|
5
5
|
* Source: icon-registry.ts + Font Awesome packages + custom-icons.tsx
|
|
6
|
-
* Generated: 2026-08-
|
|
6
|
+
* Generated: 2026-08-07T16:53:41.427Z
|
|
7
7
|
*/
|
|
8
8
|
import { customIcons } from './custom-icons';
|
|
9
9
|
export { customIcons };
|
|
@@ -16,9 +16,7 @@
|
|
|
16
16
|
--pds-color-button-subtle-background-hover
|
|
17
17
|
);--button-background-color-active:var(
|
|
18
18
|
--pds-color-button-subtle-background-active
|
|
19
|
-
);--button-box-shadow-active:var(--pds-elevation-button-subtle-active);--button-foreground-color:var(--pds-color-button-subtle-foreground);--button-border-color:
|
|
20
|
-
--pds-color-button-subtle-background-default
|
|
21
|
-
);--button-border-color-active:var(--button-background-color-active)}.pds-button--critical{--button-background-color:var(
|
|
19
|
+
);--button-box-shadow-active:var(--pds-elevation-button-subtle-active);--button-foreground-color:var(--pds-color-button-subtle-foreground);--button-border-color:transparent;--button-border-color-hover:transparent;--button-border-color-active:transparent}.pds-button--critical{--button-background-color:var(
|
|
22
20
|
--pds-color-button-critical-background-default
|
|
23
21
|
);--button-background-color-hover:var(
|
|
24
22
|
--pds-color-button-critical-background-hover
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer pds-v1, pds-v2;@layer pds-v2{.pds-checkbox{--checkbox-font-size:var(--pds-typography-size-input-label);--checkbox-input-size:1rem;--checkbox-input-gap:var(--pds-spacing-2xs);line-height:1.2}.pds-checkbox--m{--checkbox-font-size:var(--pds-typography-size-s);--checkbox-input-size:1.25rem}.pds-checkbox__input-wrapper{display:flex}.pds-checkbox input[type=checkbox]{appearance:none}.pds-checkbox__label{align-items:center;column-gap:var(--checkbox-input-gap);display:grid;grid-template-columns:var(--checkbox-input-size) auto;margin-block-end:0}.pds-checkbox__label-text{color:var(--pds-color-foreground-default);font-size:var(--checkbox-font-size);font-weight:var(--pds-typography-fw-regular)}.pds-checkbox__box{align-items:center;background-color:transparent;border:var(--pds-border-width-default) solid var(--pds-color-foreground-default);border-radius:var(--pds-border-radius-
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-checkbox{--checkbox-font-size:var(--pds-typography-size-input-label);--checkbox-input-size:1rem;--checkbox-input-gap:var(--pds-spacing-2xs);line-height:1.2}.pds-checkbox--m{--checkbox-font-size:var(--pds-typography-size-s);--checkbox-input-size:1.25rem}.pds-checkbox__input-wrapper{display:flex}.pds-checkbox input[type=checkbox]{appearance:none}.pds-checkbox__label{align-items:center;column-gap:var(--checkbox-input-gap);display:grid;grid-template-columns:var(--checkbox-input-size) auto;margin-block-end:0}.pds-checkbox__label-text{color:var(--pds-color-foreground-default);font-size:var(--checkbox-font-size);font-weight:var(--pds-typography-fw-regular)}.pds-checkbox__box{align-items:center;background-color:transparent;border:var(--pds-border-width-default) solid var(--pds-color-foreground-default);border-radius:var(--pds-border-radius-default);display:flex;height:var(--checkbox-input-size);padding:.0625rem;transition:var(--pds-animation-transition-default);width:var(--checkbox-input-size)}.pds-checkbox__box--checked,.pds-checkbox__box--indeterminate{background-color:var(--pds-color-input-selected-background);border-color:var(--pds-color-input-selected-background);transition:var(--pds-animation-transition-default)}.pds-checkbox__icon{color:var(--pds-color-input-selected-foreground);height:100%;transition:var(--pds-animation-transition-default);width:100%}.pds-checkbox:hover .pds-checkbox__box{cursor:pointer}.pds-checkbox input[type=checkbox]:focus-visible~label .pds-checkbox__box{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:.0625rem}.pds-checkbox.pds-is-disabled .pds-checkbox__label{cursor:not-allowed;opacity:40%}.pds-checkbox.pds-has-error .pds-checkbox__box{border-color:var(--pds-color-status-critical-foreground)}.pds-checkbox.pds-has-error .pds-checkbox__label-text{color:var(--pds-color-status-critical-foreground)}.pds-checkbox .pds-input-label__required{margin-inline-start:.125rem}div.pds-checkbox-group .pds-checkbox--indent-1{margin-inline-start:calc(var(--checkbox-input-size)*2 - var(--checkbox-input-gap))}div.pds-checkbox-group .pds-checkbox--indent-2{margin-inline-start:calc(var(--checkbox-input-size)*4 - var(--checkbox-input-gap)*2)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer pds-v1, pds-v2;@layer pds-v2{.pds-cta-link{--cta-link-size:var(--pds-typography-size-m);--cta-link-color:var(--pds-color-interactive-link-default);--cta-link-gap:var(--pds-spacing-3xs);align-items:center;display:inline-flex;gap:var(--cta-link-gap);padding:.25rem 0}.pds-cta-link a,.pds-cta-link button{color:var(--cta-link-color);font-family:var(--pds-typography-ff-default);font-size:var(--cta-link-size);font-weight:var(--pds-typography-fw-bold);letter-spacing:var(--pds-typography-ls-s);line-height:var(--pds-typography-lh-s);text-decoration:none;transition:var(--pds-animation-transition-link)}.pds-cta-link a:focus-visible,.pds-cta-link button:focus-visible{border-radius:var(--pds-border-radius-default);outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:.25rem;text-decoration:none}.pds-cta-link button{background:none;border:none;cursor:pointer;padding:0}.pds-cta-link .pds-cta-link__icon{color:var(--cta-link-color);transition:var(--pds-animation-transition-link)}.pds-cta-link:hover{--cta-link-color:var(--pds-color-interactive-link-hover)}.pds-cta-link:active{--cta-link-color:var(--pds-color-interactive-link-active);outline:none;text-decoration:none}.pds-cta-link--xs{--cta-link-gap:var(--pds-spacing-3xs);--cta-link-size:var(--pds-typography-size-s)}.pds-cta-link--m{--cta-link-gap:var(--pds-spacing-2xs);--cta-link-size:var(--pds-typography-size-l)}.pds-link-group{display:flex;flex-direction:column;row-gap:var(--pds-spacing-m)}}
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-cta-link{--cta-link-size:var(--pds-typography-size-m);--cta-link-color:var(--pds-color-interactive-link-default);--cta-link-gap:var(--pds-spacing-3xs);align-items:center;display:inline-flex;gap:var(--cta-link-gap);padding:.25rem 0}.pds-cta-link a,.pds-cta-link button{color:var(--cta-link-color);font-family:var(--pds-typography-ff-default);font-size:var(--cta-link-size);font-weight:var(--pds-typography-fw-bold);letter-spacing:var(--pds-typography-ls-s);line-height:var(--pds-typography-lh-s);text-decoration:none;transition:var(--pds-animation-transition-link)}.pds-cta-link a:hover,.pds-cta-link button:hover{color:var(--cta-link-color)}.pds-cta-link a:focus-visible,.pds-cta-link button:focus-visible{border-radius:var(--pds-border-radius-default);outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:.25rem;text-decoration:none}.pds-cta-link button{background:none;border:none;cursor:pointer;padding:0}.pds-cta-link .pds-cta-link__icon{color:var(--cta-link-color);transition:var(--pds-animation-transition-link)}.pds-cta-link:hover{--cta-link-color:var(--pds-color-interactive-link-hover)}.pds-cta-link:active{--cta-link-color:var(--pds-color-interactive-link-active);outline:none;text-decoration:none}.pds-cta-link--xs{--cta-link-gap:var(--pds-spacing-3xs);--cta-link-size:var(--pds-typography-size-s)}.pds-cta-link--m{--cta-link-gap:var(--pds-spacing-2xs);--cta-link-size:var(--pds-typography-size-l)}.pds-link-group{display:flex;flex-direction:column;row-gap:var(--pds-spacing-m)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer pds-v1, pds-v2;@layer pds-v2{.pds-expansion-panel-group .pds-expansion-panel{margin-block-end:var(--pds-spacing-
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-expansion-panel-group .pds-expansion-panel{margin-block-end:var(--pds-spacing-xs)}.pds-expansion-panel-group:last-child{margin-block-end:0}.pds-expansion-panel-group--no-border .pds-expansion-panel{margin-block-end:var(--pds-spacing-3xs)}.pds-expansion-panel-group--no-border .pds-expansion-panel details{border-color:transparent}.pds-expansion-panel-group--no-border .pds-expansion-panel details[open]>summary{border-radius:var(--pds-border-radius-container)}.pds-expansion-panel-group--no-border .pds-expansion-panel .pds-expansion-panel__content{padding-block-end:0}.pds-expansion-panel-group--stacked .pds-expansion-panel{margin-block-end:0}.pds-expansion-panel-group--stacked .pds-expansion-panel details,.pds-expansion-panel-group--stacked .pds-expansion-panel details>summary,.pds-expansion-panel-group--stacked .pds-expansion-panel details[open]>summary{border-radius:0;border-top:none}.pds-expansion-panel-group--stacked .pds-expansion-panel:first-child details{border-top:var(--pds-border-width-default) solid var(--pds-color-border-default)}.pds-expansion-panel-group--stacked .pds-expansion-panel:first-child details,.pds-expansion-panel-group--stacked .pds-expansion-panel:first-child details>summary,.pds-expansion-panel-group--stacked .pds-expansion-panel:first-child details[open]>summary{border-radius:var(--pds-border-radius-container) var(--pds-border-radius-container) 0 0}.pds-expansion-panel-group--stacked .pds-expansion-panel:last-child details,.pds-expansion-panel-group--stacked .pds-expansion-panel:last-child details>summary{border-radius:0 0 var(--pds-border-radius-container) var(--pds-border-radius-container)}.pds-expansion-panel-group--stacked .pds-expansion-panel:last-child details[open]>summary{border-radius:0}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@layer pds-v1, pds-v2;@layer pds-v2{.pds-expansion-panel details{border:var(--pds-border-width-default) solid var(--pds-color-border-default);border-radius:var(--pds-border-radius-container);line-height:normal}.pds-expansion-panel details>summary::-webkit-details-marker{display:none}.pds-expansion-panel details>summary{align-items:center;border-radius:var(--pds-border-radius-container);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;flex-wrap:nowrap;font-family:var(--pds-typography-ff-default);font-size:var(--pds-typography-size-m);font-weight:var(--pds-typography-fw-medium);gap:var(--pds-spacing-l);justify-content:space-between;padding:var(--pds-spacing-s) var(--pds-spacing-m);transition:var(--pds-animation-transition-button)}.pds-expansion-panel details>summary:hover{background-color:var(--pds-color-expansion-panel-hover);transition:background-color var(--pds-animation-transition-button)}.pds-expansion-panel details>summary:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-expansion-panel details>summary .pds-expansion-panel__icon{color:var(--pds-color-foreground-default-secondary);transition:var(--pds-animation-transition-rotation)}.pds-expansion-panel .pds-expansion-panel__icon.rotated{transform:rotate(180deg);transition:var(--pds-animation-transition-rotation)}.pds-expansion-panel details[open]>summary{background-color:var(--pds-color-
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-expansion-panel details{background-color:var(--pds-color-surface-default);border:var(--pds-border-width-default) solid var(--pds-color-border-default);border-radius:var(--pds-border-radius-container);line-height:normal}.pds-expansion-panel details>summary::-webkit-details-marker{display:none}.pds-expansion-panel details>summary{align-items:center;border-radius:var(--pds-border-radius-container);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;flex-wrap:nowrap;font-family:var(--pds-typography-ff-default);font-size:var(--pds-typography-size-m);font-weight:var(--pds-typography-fw-medium);gap:var(--pds-spacing-l);justify-content:space-between;padding:var(--pds-spacing-s) var(--pds-spacing-m);transition:var(--pds-animation-transition-button)}.pds-expansion-panel details>summary:hover{background-color:var(--pds-color-expansion-panel-hover);transition:background-color var(--pds-animation-transition-button)}.pds-expansion-panel details>summary:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-expansion-panel details>summary .pds-expansion-panel__icon{color:var(--pds-color-foreground-default-secondary);transition:var(--pds-animation-transition-rotation)}.pds-expansion-panel .pds-expansion-panel__icon.rotated{transform:rotate(180deg);transition:var(--pds-animation-transition-rotation)}.pds-expansion-panel details[open]>summary{background-color:var(--pds-color-surface-default);border-bottom:var(--pds-border-width-default) solid var(--pds-color-border-default);border-radius:var(--pds-border-radius-container) var(--pds-border-radius-container) 0 0}.pds-expansion-panel details[open]>summary .pds-expansion-panel__icon{color:var(--pds-color-foreground-default)}.pds-expansion-panel details[open]>summary:hover{background-color:var(--pds-color-expansion-panel-hover)}.pds-expansion-panel .pds-expansion-panel__content{padding-block-end:var(--pds-spacing-s);padding-block-start:var(--pds-spacing-m);padding-inline:var(--pds-spacing-m)}.pds-expansion-panel .pds-expansion-panel__content
|
|
2
2
|
:is(h1,h2,h3,h4,h5,h6):not(.visually-hidden)+*{margin-block-start:var(--pds-spacing-s)}.pds-expansion-panel.pds-expansion-panel--no-border details{border:none}}
|