@pantheon-systems/pds-toolkit-react 1.0.0-dev.147 → 1.0.0-dev.148
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/CTALink/CTALink.d.ts +1 -1
- package/_dist/components/Callout/Callout.d.ts +2 -3
- package/_dist/components/ComparisonList/ComparisonList.d.ts +2 -2
- package/_dist/components/Modal/Modal.d.ts +37 -22
- package/_dist/components/Panel/Panel.d.ts +29 -14
- package/_dist/components/Popover/Popover.d.ts +51 -27
- package/_dist/components/Skiplink/Skiplink.d.ts +20 -14
- package/_dist/components/Tag/Tag.d.ts +37 -21
- package/_dist/components/badges/IndicatorBadge/IndicatorBadge.d.ts +2 -3
- package/_dist/components/badges/StatusBadge/StatusBadge.d.ts +2 -3
- package/_dist/components/badges/Tally/Tally.d.ts +3 -3
- package/_dist/components/buttons/SegmentedButton/SegmentedButton.d.ts +1 -2
- package/_dist/components/notifications/InlineMessage/InlineMessage.d.ts +1 -1
- package/_dist/components/notifications/SectionMessage/SectionMessage.d.ts +2 -2
- package/_dist/components/progress-indicators/Spinner/Spinner.d.ts +28 -16
- package/_dist/css/component-css/pds-dashboard-nav.css +2 -2
- package/_dist/css/component-css/pds-index.css +3 -3
- package/_dist/css/component-css/pds-panel.css +1 -1
- package/_dist/css/component-css/pds-skiplink.css +1 -1
- package/_dist/css/pds-components.css +3 -3
- package/_dist/css/pds-layouts.css +1 -1
- package/_dist/index.css +1 -1
- package/_dist/index.d.ts +13 -13
- package/_dist/index.js +2135 -2328
- package/_dist/index.js.map +1 -1
- package/_dist/layouts/DashboardLayout/DashboardLayout.d.ts +2 -3
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import './callout.css';
|
|
3
|
-
interface CalloutProps {
|
|
3
|
+
export interface CalloutProps extends ComponentPropsWithoutRef<'div'> {
|
|
4
4
|
/**
|
|
5
5
|
* Callout main content.
|
|
6
6
|
*/
|
|
@@ -22,4 +22,3 @@ interface CalloutProps {
|
|
|
22
22
|
* Callout UI component
|
|
23
23
|
*/
|
|
24
24
|
export declare const Callout: ({ children, title, type, className, ...props }: CalloutProps) => React.JSX.Element;
|
|
25
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
2
|
import './comparison-list.css';
|
|
3
3
|
interface TypeLabels {
|
|
4
4
|
included: string;
|
|
@@ -33,7 +33,7 @@ export interface ComparisonListProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
33
33
|
/**
|
|
34
34
|
* Additional class names
|
|
35
35
|
*/
|
|
36
|
-
className
|
|
36
|
+
className?: string;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* ComparisonList UI component
|
|
@@ -1,25 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import './modal.css';
|
|
3
|
+
export interface ModalProps extends ComponentPropsWithoutRef<'div'> {
|
|
4
|
+
/**
|
|
5
|
+
* Aria label that describes the modal. Will default to the title if not provided.
|
|
6
|
+
*/
|
|
7
|
+
ariaLabel?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Main content for modal.
|
|
10
|
+
*/
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Indicates if the built-in close button will be shown.
|
|
14
|
+
*/
|
|
5
15
|
hasCloseButton?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Is the modal open?
|
|
18
|
+
*/
|
|
6
19
|
modalIsOpen?: boolean;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Function to set the modal open state.
|
|
22
|
+
*/
|
|
23
|
+
setModalIsOpen?: (isOpen: boolean) => void;
|
|
24
|
+
/**
|
|
25
|
+
* The width of the modal.
|
|
26
|
+
*/
|
|
27
|
+
size?: 'sm' | 'md' | 'lg';
|
|
28
|
+
/**
|
|
29
|
+
* Text for modal title
|
|
30
|
+
*/
|
|
31
|
+
title: string;
|
|
32
|
+
/**
|
|
33
|
+
* Additional class names
|
|
34
|
+
*/
|
|
35
|
+
className?: string;
|
|
23
36
|
}
|
|
24
|
-
|
|
25
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Modal UI component
|
|
39
|
+
*/
|
|
40
|
+
export declare const Modal: ({ ariaLabel, children, hasCloseButton, modalIsOpen, setModalIsOpen, size, title, className, ...props }: ModalProps) => React.JSX.Element;
|
|
@@ -1,15 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import './panel.css';
|
|
3
|
+
type StatusType = 'info' | 'success' | 'warning' | 'critical';
|
|
4
|
+
export interface PanelProps extends ComponentPropsWithoutRef<'div'> {
|
|
5
|
+
/**
|
|
6
|
+
* Panel content.
|
|
7
|
+
*/
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Should the panel show a status indicator.
|
|
11
|
+
*/
|
|
12
|
+
hasStatusIndicator?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Status type for panel. Only renders if `hasStatusIndicator` is true.
|
|
15
|
+
*/
|
|
16
|
+
statusType: StatusType;
|
|
17
|
+
/**
|
|
18
|
+
* Which variant of panel to render
|
|
19
|
+
*/
|
|
20
|
+
variant?: 'default' | 'sunken' | 'raised' | 'overlay' | 'critical';
|
|
21
|
+
/**
|
|
22
|
+
* Additional class names
|
|
23
|
+
*/
|
|
24
|
+
className?: string;
|
|
13
25
|
}
|
|
14
|
-
|
|
15
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Panel UI component
|
|
28
|
+
*/
|
|
29
|
+
export declare const Panel: ({ children, hasStatusIndicator, statusType, variant, className, ...props }: PanelProps) => React.JSX.Element;
|
|
30
|
+
export {};
|
|
@@ -1,33 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import './popover.css';
|
|
3
|
+
interface PopoverProps extends Omit<ComponentPropsWithoutRef<'div'>, 'content'> {
|
|
4
|
+
/**
|
|
5
|
+
* Content to display in the popover.
|
|
6
|
+
*/
|
|
7
|
+
content?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Text or HTML content to use as the trigger instead of an icon. Leave null to use the icon. This allows passing HTML content to customize the trigger appearance or functionality.
|
|
10
|
+
*/
|
|
11
|
+
customTrigger?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Indicates if close button will be shown.
|
|
14
|
+
*/
|
|
5
15
|
hasCloseButton?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Additional spacing between the trigger and the popover. Only applies to popovers with a custom trigger. Icon triggers have a fixed spacing.
|
|
18
|
+
*/
|
|
6
19
|
offsetValue?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Callback function that triggers when closing Popover.
|
|
22
|
+
*/
|
|
7
23
|
onClose?: () => void;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Preferred placement of the popover in relation to the trigger. Will be modified if there is not enough space.
|
|
26
|
+
*/
|
|
27
|
+
placement?: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
|
|
28
|
+
/**
|
|
29
|
+
* Text for popover title
|
|
30
|
+
*/
|
|
31
|
+
title?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The accessible text for the trigger. Only necessary when the trigger is an icon.
|
|
34
|
+
*/
|
|
11
35
|
triggerAccessibleText?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Icon to trigger Popover.
|
|
38
|
+
*/
|
|
39
|
+
triggerIcon?: 'circleInfo' | 'circleQuestion';
|
|
40
|
+
/**
|
|
41
|
+
* Is the Popover open?
|
|
42
|
+
*/
|
|
12
43
|
popoverIsOpen?: boolean;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
let offsetValue: PropTypes.Requireable<number>;
|
|
22
|
-
let onClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
|
-
let placement: PropTypes.Requireable<string>;
|
|
24
|
-
let title: PropTypes.Requireable<string>;
|
|
25
|
-
let triggerAccessibleText: PropTypes.Requireable<string>;
|
|
26
|
-
let triggerIcon: PropTypes.Requireable<string>;
|
|
27
|
-
let popoverIsOpen: PropTypes.Requireable<boolean>;
|
|
28
|
-
let setPopoverIsOpen: PropTypes.Requireable<(...args: any[]) => any>;
|
|
29
|
-
let className: PropTypes.Requireable<string>;
|
|
30
|
-
}
|
|
44
|
+
/**
|
|
45
|
+
* Function to set Popover open state
|
|
46
|
+
*/
|
|
47
|
+
setPopoverIsOpen?: (isOpen: boolean) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Additional class names.
|
|
50
|
+
*/
|
|
51
|
+
className?: string;
|
|
31
52
|
}
|
|
32
|
-
|
|
33
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Popover UI component
|
|
55
|
+
*/
|
|
56
|
+
export declare const Popover: ({ content, customTrigger, hasCloseButton, offsetValue, onClose, placement, title, triggerIcon, triggerAccessibleText, popoverIsOpen, setPopoverIsOpen, className, ...props }: PopoverProps) => React.JSX.Element;
|
|
57
|
+
export {};
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import './skiplink.css';
|
|
3
|
+
interface SkiplinkProps extends ComponentPropsWithoutRef<'a'> {
|
|
4
|
+
/**
|
|
5
|
+
* The ID of the element to skip to.
|
|
6
|
+
*/
|
|
7
|
+
destination: string;
|
|
8
|
+
/**
|
|
9
|
+
* The text of the skip link.
|
|
10
|
+
*/
|
|
11
|
+
text: string;
|
|
12
|
+
/**
|
|
13
|
+
* Additional class names
|
|
14
|
+
*/
|
|
15
|
+
className?: string;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Skiplink UI component
|
|
19
|
+
*/
|
|
20
|
+
export declare const Skiplink: ({ destination, text, className, ...props }: SkiplinkProps) => React.JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -1,23 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import './tag.css';
|
|
3
|
+
export declare let tagColors: string[];
|
|
4
|
+
type TagColor = (typeof tagColors)[number];
|
|
5
|
+
interface TagProps extends ComponentPropsWithoutRef<'div'> {
|
|
6
|
+
/**
|
|
7
|
+
* Should the tag be a link? If yes, provide a link element.
|
|
8
|
+
*/
|
|
9
|
+
linkContent?: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Should the tag be removable?
|
|
12
|
+
*/
|
|
13
|
+
isRemovable?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Function to execute when the tag is removed.
|
|
16
|
+
*/
|
|
17
|
+
onRemove?: () => void;
|
|
18
|
+
/**
|
|
19
|
+
* Label for the remove button. Tag text will be appended to this label.
|
|
20
|
+
*/
|
|
6
21
|
removeLabel?: string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
let className: PropTypes.Requireable<string>;
|
|
20
|
-
}
|
|
22
|
+
/**
|
|
23
|
+
* Tag color. Will use random color if not selected.
|
|
24
|
+
*/
|
|
25
|
+
tagColor?: TagColor;
|
|
26
|
+
/**
|
|
27
|
+
* Tag text
|
|
28
|
+
*/
|
|
29
|
+
tagLabel: string;
|
|
30
|
+
/**
|
|
31
|
+
* Additional class names
|
|
32
|
+
*/
|
|
33
|
+
className?: string;
|
|
21
34
|
}
|
|
22
|
-
|
|
23
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Tag UI component
|
|
37
|
+
*/
|
|
38
|
+
export declare const Tag: ({ linkContent, isRemovable, onRemove, removeLabel, tagColor, tagLabel, className, ...props }: TagProps) => React.JSX.Element;
|
|
39
|
+
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import './indicator-badge.css';
|
|
3
3
|
/**
|
|
4
4
|
* IndicatorBadge component props
|
|
5
5
|
*/
|
|
6
|
-
interface IndicatorBadgeProps {
|
|
6
|
+
export interface IndicatorBadgeProps extends ComponentPropsWithoutRef<'span'> {
|
|
7
7
|
/**
|
|
8
8
|
* Badge color
|
|
9
9
|
*/
|
|
@@ -25,4 +25,3 @@ interface IndicatorBadgeProps {
|
|
|
25
25
|
* IndicatorBadge UI component
|
|
26
26
|
*/
|
|
27
27
|
export declare const IndicatorBadge: ({ label, size, color, className, ...props }: IndicatorBadgeProps) => React.JSX.Element;
|
|
28
|
-
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import './status-badge.css';
|
|
3
3
|
/**
|
|
4
4
|
* StatusBadge component props
|
|
5
5
|
*/
|
|
6
|
-
interface StatusBadgeProps {
|
|
6
|
+
export interface StatusBadgeProps extends ComponentPropsWithoutRef<'div'> {
|
|
7
7
|
/**
|
|
8
8
|
* Background color for badge
|
|
9
9
|
*/
|
|
@@ -33,4 +33,3 @@ interface StatusBadgeProps {
|
|
|
33
33
|
* StatusBadge UI component
|
|
34
34
|
*/
|
|
35
35
|
export declare const StatusBadge: ({ color, hasStatusIndicator, label, statusIndicatorText, statusType, className, ...props }: StatusBadgeProps) => React.JSX.Element;
|
|
36
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import './tally.css';
|
|
3
3
|
interface TypeLabels {
|
|
4
4
|
info?: string;
|
|
@@ -10,7 +10,7 @@ interface TypeLabels {
|
|
|
10
10
|
/**
|
|
11
11
|
* Prop types for Tally
|
|
12
12
|
*/
|
|
13
|
-
interface TallyProps {
|
|
13
|
+
export interface TallyProps extends ComponentPropsWithoutRef<'div'> {
|
|
14
14
|
/**
|
|
15
15
|
* Label text
|
|
16
16
|
*/
|
|
@@ -25,7 +25,7 @@ interface TallyProps {
|
|
|
25
25
|
typeLabels?: TypeLabels;
|
|
26
26
|
/**
|
|
27
27
|
* Additional class names
|
|
28
|
-
|
|
28
|
+
*/
|
|
29
29
|
className?: string;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -4,7 +4,7 @@ import './segmented-button.css';
|
|
|
4
4
|
/**
|
|
5
5
|
* Prop types for SegmentedButton
|
|
6
6
|
*/
|
|
7
|
-
interface SegmentedButtonProps {
|
|
7
|
+
export interface SegmentedButtonProps {
|
|
8
8
|
/**
|
|
9
9
|
* Is the ToggleButton disabled?
|
|
10
10
|
*/
|
|
@@ -43,4 +43,3 @@ interface SegmentedButtonProps {
|
|
|
43
43
|
* SegmentedButton UI component
|
|
44
44
|
*/
|
|
45
45
|
export declare const SegmentedButton: ({ disabled, id, initialSelection, label, onChange, options, className, ...props }: SegmentedButtonProps) => React.JSX.Element;
|
|
46
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { ComponentPropsWithoutRef, MouseEvent, ReactNode } from 'react';
|
|
2
2
|
import './section-message.css';
|
|
3
3
|
type MessageType = 'info' | 'success' | 'warning' | 'critical' | 'discovery';
|
|
4
4
|
type TypeLabels = Record<MessageType, string>;
|
|
@@ -38,7 +38,7 @@ export interface SectionMessageProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
38
38
|
/**
|
|
39
39
|
* Additional class names.
|
|
40
40
|
*/
|
|
41
|
-
className
|
|
41
|
+
className?: string;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* SectionMessage UI component
|
|
@@ -1,21 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import './spinner.css';
|
|
3
|
+
interface SpinnerProps extends ComponentPropsWithoutRef<'span'> {
|
|
4
|
+
/**
|
|
5
|
+
* Spinner color
|
|
6
|
+
*/
|
|
7
|
+
colorType?: 'full-color' | 'monochromatic' | 'monochromatic-reverse';
|
|
8
|
+
/**
|
|
9
|
+
* Should the spinner be an inline element? If true, it will be displayed inline-block without a visible label.
|
|
10
|
+
*/
|
|
4
11
|
isInline?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Spinner label. Will be displayed below the Spinner if `showLabel` is true.
|
|
14
|
+
*/
|
|
5
15
|
label?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Should the label be visible? If false, it will render for screen readers only.
|
|
18
|
+
*/
|
|
6
19
|
showLabel?: boolean;
|
|
7
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Spinner size
|
|
22
|
+
*/
|
|
23
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
|
|
24
|
+
/**
|
|
25
|
+
* Additional class names
|
|
26
|
+
*/
|
|
8
27
|
className?: string;
|
|
9
|
-
}): React.JSX.Element;
|
|
10
|
-
export namespace Spinner {
|
|
11
|
-
namespace propTypes {
|
|
12
|
-
let colorType: PropTypes.Requireable<string>;
|
|
13
|
-
let isInline: PropTypes.Requireable<boolean>;
|
|
14
|
-
let label: PropTypes.Validator<string>;
|
|
15
|
-
let showLabel: PropTypes.Requireable<boolean>;
|
|
16
|
-
let size: PropTypes.Requireable<string>;
|
|
17
|
-
let className: PropTypes.Requireable<string>;
|
|
18
|
-
}
|
|
19
28
|
}
|
|
20
|
-
|
|
21
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Spinner UI component
|
|
31
|
+
*/
|
|
32
|
+
export declare const Spinner: ({ colorType, isInline, label, showLabel, size, className, ...props }: SpinnerProps) => React.JSX.Element;
|
|
33
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.pds-dashboard-nav{--pds-dashboard-nav-icon-width:1.563rem;--pds-dashboard-nav-space-after-icon:0.64rem;color:var(--pds-color-text-default);font-family:Poppins,sans-serif}.pds-dashboard-nav a{color:var(--pds-color-text-default);text-decoration:none}.pds-dashboard-nav .pds-icon{pointer-events:none}.pds-dashboard-nav__logo{margin-block-end:1.563rem;padding-inline:calc(var(--pds-spacing-dashboard-nav-item-padding) + .1875rem)}.pds-dashboard-nav__menu{list-style-type:none;margin:0;padding:0}.pds-dashboard-nav__item{list-style-type:none}.pds-dashboard-nav__menu--top-level{display:flex;flex-direction:column;row-gap:1rem}.pds-dashboard-nav__link-icon{align-items:center;display:flex;flex-grow:0;flex-shrink:0;justify-content:center;margin-block-start:-.0625rem;margin-inline-end:var(--pds-dashboard-nav-space-after-icon);width:var(--pds-dashboard-nav-icon-width)}.pds-dashboard-nav__link-icon .pds-icon--house,.pds-dashboard-nav__link-icon .pds-icon--robot{margin-block-start:-.125rem}.pds-dashboard-nav__item--top-level:not(.pds-dashboard-nav__item--has-children) a{align-items:center;border-radius:.375rem;box-sizing:border-box;color:var(--pds-color-dashboard-nav-item-foreground-default);display:flex;height:var(--pds-spacing-dashboard-nav-item-height);padding-inline:var(--pds-spacing-dashboard-nav-item-padding)}.pds-dashboard-nav__item--top-level:not(.pds-dashboard-nav__item--has-children) a:hover{background-color:var(--pds-color-dashboard-nav-item-background-hover)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner{align-items:center;border-radius:.375rem;display:flex;height:var(--pds-spacing-dashboard-nav-item-height)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner:hover{background-color:var(--pds-color-dashboard-nav-item-background-hover)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner:hover .pds-icon,.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner:hover a{color:var(--pds-color-dashboard-nav-item-foreground-hover)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__link{align-items:center;display:flex;height:var(--pds-spacing-dashboard-nav-item-height);padding-inline:var(--pds-spacing-dashboard-nav-item-padding);width:100%}.pds-dashboard-nav__link:focus-visible{border-radius:.375rem;outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:-1px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav__item--active.pds-dashboard-nav__item--has-children:hover>.pds-dashboard-nav__item-inner,.pds-dashboard-nav__item--active:hover>.pds-dashboard-nav__item-inner,.pds-dashboard-nav__item--active:hover>a.pds-dashboard-nav__link,.pds-dashboard-nav__item--active>.pds-dashboard-nav__item-inner,.pds-dashboard-nav__item--active>a.pds-dashboard-nav__link{background-color:var(--pds-color-dashboard-nav-item-background-active);color:var(--pds-color-dashboard-nav-item-foreground-active)}.pds-dashboard-nav__item--active.pds-dashboard-nav__item--has-children:hover>.pds-dashboard-nav__item-inner .pds-icon,.pds-dashboard-nav__item--active.pds-dashboard-nav__item--has-children:hover>.pds-dashboard-nav__item-inner a,.pds-dashboard-nav__item--active:hover>.pds-dashboard-nav__item-inner .pds-icon,.pds-dashboard-nav__item--active:hover>.pds-dashboard-nav__item-inner a,.pds-dashboard-nav__item--active:hover>a.pds-dashboard-nav__link .pds-icon,.pds-dashboard-nav__item--active:hover>a.pds-dashboard-nav__link a,.pds-dashboard-nav__item--active>.pds-dashboard-nav__item-inner .pds-icon,.pds-dashboard-nav__item--active>.pds-dashboard-nav__item-inner a,.pds-dashboard-nav__item--active>a.pds-dashboard-nav__link .pds-icon,.pds-dashboard-nav__item--active>a.pds-dashboard-nav__link a{color:var(--pds-color-dashboard-nav-item-foreground-active)}.pds-dashboard-nav__item--active
|
|
2
|
-
.pds-dashboard-nav__toggle--expanded:focus-visible,.pds-dashboard-nav__item--active a:focus-visible{outline-color:var(--pds-color-brand-primary-default)}.pds-dashboard-nav__menu--second-level{color:var(--pds-color-dashboard-nav-item-foreground-default);display:none;font-size:.833rem;margin-block-start:.8rem;padding-inline-start:calc(var(--pds-spacing-dashboard-nav-item-padding) + var(--pds-dashboard-nav-icon-width) + var(--pds-dashboard-nav-space-after-icon))}.pds-dashboard-nav__menu--second-level.pds-dashboard-nav__menu--expanded{display:flex;flex-direction:column;row-gap:.64rem}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a{display:inline-block;height:unset}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a:hover,.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level.pds-dashboard-nav__item--active a{color:var(--pds-color-link-hover)}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a:focus-visible{border-radius:.1875rem;outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:4px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav__toggle{align-items:center;background-color:transparent;border:none;border-radius:.375rem;cursor:pointer;display:flex;height:var(--pds-spacing-dashboard-nav-item-height);justify-content:flex-end;padding-inline:var(--pds-spacing-dashboard-nav-item-padding)}.pds-dashboard-nav__toggle .pds-icon{margin-block-start:.0625rem;padding-inline:.125rem;transform:rotate(0deg);transition:all .2s ease-in-out 0s}.pds-dashboard-nav__toggle--expanded .pds-icon{margin-block-start:.0625rem;transform:rotate(180deg);transition:all .2s ease-in-out 0s}.pds-dashboard-nav__toggle:hover{background-color:var(--pds-dashboard-active-background-color)}.pds-dashboard-nav__toggle:hover,.pds-dashboard-nav__toggle:hover .pds-icon{color:var(--pds-dashboard-active-foreground-color)}.pds-dashboard-nav__toggle:focus-visible{outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:-1px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav__link-label{opacity:1;transition:opacity .1s ease-in-out}.pds-dashboard-nav--collapsed .pds-dashboard-nav__link-label{opacity:0;transition:opacity .1s ease-in-out}.pds-dashboard-nav--collapsed .pds-dashboard-nav__menu--second-level.pds-dashboard-nav__menu--expanded{display:none}.pds-dashboard-nav .pds-dropdown-menu__item--second-level a{color:var(--pds-color-text-default-secondary);padding-inline-start:3.25rem}
|
|
1
|
+
.pds-dashboard-nav{--pds-dashboard-nav-icon-width:1.563rem;--pds-dashboard-nav-space-after-icon:0.64rem;color:var(--pds-color-text-default);font-family:Poppins,sans-serif}.pds-dashboard-nav a{color:var(--pds-color-text-default);text-decoration:none}.pds-dashboard-nav .pds-icon{pointer-events:none}.pds-dashboard-nav__logo{box-sizing:content-box;margin-block-end:1.563rem;padding-inline:calc(var(--pds-spacing-dashboard-nav-item-padding) + .1875rem)}.pds-dashboard-nav__menu{list-style-type:none;margin:0;padding:0}.pds-dashboard-nav__item{list-style-type:none}.pds-dashboard-nav__menu--top-level{display:flex;flex-direction:column;row-gap:1rem}.pds-dashboard-nav__link-icon{align-items:center;display:flex;flex-grow:0;flex-shrink:0;justify-content:center;margin-block-start:-.0625rem;margin-inline-end:var(--pds-dashboard-nav-space-after-icon);width:var(--pds-dashboard-nav-icon-width)}.pds-dashboard-nav__link-icon .pds-icon--house,.pds-dashboard-nav__link-icon .pds-icon--robot{margin-block-start:-.125rem}.pds-dashboard-nav__item--top-level .pds-dashboard-nav__link,.pds-dashboard-nav__item--top-level a{box-shadow:none;outline:none}.pds-dashboard-nav__item--top-level:not(.pds-dashboard-nav__item--has-children) a{align-items:center;border-radius:.375rem;box-sizing:border-box;color:var(--pds-color-dashboard-nav-item-foreground-default);display:flex;height:var(--pds-spacing-dashboard-nav-item-height);padding-inline:var(--pds-spacing-dashboard-nav-item-padding)}.pds-dashboard-nav__item--top-level:not(.pds-dashboard-nav__item--has-children) a:hover{background-color:var(--pds-color-dashboard-nav-item-background-hover)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner{align-items:center;border-radius:.375rem;display:flex;height:var(--pds-spacing-dashboard-nav-item-height)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner:hover{background-color:var(--pds-color-dashboard-nav-item-background-hover)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner:hover .pds-icon,.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__item-inner:hover a{color:var(--pds-color-dashboard-nav-item-foreground-hover)}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--has-children .pds-dashboard-nav__link{align-items:center;display:flex;height:var(--pds-spacing-dashboard-nav-item-height);padding-inline:var(--pds-spacing-dashboard-nav-item-padding);width:100%}.pds-dashboard-nav__link:focus-visible{border-radius:.375rem;outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:-1px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav__item--active.pds-dashboard-nav__item--has-children:hover>.pds-dashboard-nav__item-inner,.pds-dashboard-nav__item--active:hover>.pds-dashboard-nav__item-inner,.pds-dashboard-nav__item--active:hover>a.pds-dashboard-nav__link,.pds-dashboard-nav__item--active>.pds-dashboard-nav__item-inner,.pds-dashboard-nav__item--active>a.pds-dashboard-nav__link{background-color:var(--pds-color-dashboard-nav-item-background-active);color:var(--pds-color-dashboard-nav-item-foreground-active)}.pds-dashboard-nav__item--active.pds-dashboard-nav__item--has-children:hover>.pds-dashboard-nav__item-inner .pds-icon,.pds-dashboard-nav__item--active.pds-dashboard-nav__item--has-children:hover>.pds-dashboard-nav__item-inner a,.pds-dashboard-nav__item--active:hover>.pds-dashboard-nav__item-inner .pds-icon,.pds-dashboard-nav__item--active:hover>.pds-dashboard-nav__item-inner a,.pds-dashboard-nav__item--active:hover>a.pds-dashboard-nav__link .pds-icon,.pds-dashboard-nav__item--active:hover>a.pds-dashboard-nav__link a,.pds-dashboard-nav__item--active>.pds-dashboard-nav__item-inner .pds-icon,.pds-dashboard-nav__item--active>.pds-dashboard-nav__item-inner a,.pds-dashboard-nav__item--active>a.pds-dashboard-nav__link .pds-icon,.pds-dashboard-nav__item--active>a.pds-dashboard-nav__link a{color:var(--pds-color-dashboard-nav-item-foreground-active)}.pds-dashboard-nav__item--active
|
|
2
|
+
.pds-dashboard-nav__toggle--expanded:focus-visible,.pds-dashboard-nav__item--active a:focus-visible{outline-color:var(--pds-color-brand-primary-default)}.pds-dashboard-nav__menu--second-level{color:var(--pds-color-dashboard-nav-item-foreground-default);display:none;font-size:.833rem;margin-block-start:.8rem;padding-inline-start:calc(var(--pds-spacing-dashboard-nav-item-padding) + var(--pds-dashboard-nav-icon-width) + var(--pds-dashboard-nav-space-after-icon))}.pds-dashboard-nav__menu--second-level.pds-dashboard-nav__menu--expanded{display:flex;flex-direction:column;row-gap:.64rem}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a{box-shadow:none;display:inline-block;height:unset;outline:none}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a:hover,.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level.pds-dashboard-nav__item--active a{color:var(--pds-color-link-hover)}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a:focus-visible{border-radius:.1875rem;outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:4px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav__toggle{align-items:center;background-color:transparent;border:none;border-radius:.375rem;cursor:pointer;display:flex;height:var(--pds-spacing-dashboard-nav-item-height);justify-content:flex-end;padding-inline:var(--pds-spacing-dashboard-nav-item-padding)}.pds-dashboard-nav__toggle .pds-icon{margin-block-start:.0625rem;padding-inline:.125rem;transform:rotate(0deg);transition:all .2s ease-in-out 0s}.pds-dashboard-nav__toggle--expanded .pds-icon{margin-block-start:.0625rem;transform:rotate(180deg);transition:all .2s ease-in-out 0s}.pds-dashboard-nav__toggle:hover{background-color:var(--pds-dashboard-active-background-color)}.pds-dashboard-nav__toggle:hover,.pds-dashboard-nav__toggle:hover .pds-icon{color:var(--pds-dashboard-active-foreground-color)}.pds-dashboard-nav__toggle:focus-visible{outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:-1px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav__link-label{opacity:1;transition:opacity .1s ease-in-out}.pds-dashboard-nav--collapsed .pds-dashboard-nav__link-label{opacity:0;transition:opacity .1s ease-in-out}.pds-dashboard-nav--collapsed .pds-dashboard-nav__menu--second-level.pds-dashboard-nav__menu--expanded{display:none}.pds-dashboard-nav .pds-dropdown-menu__item--second-level a{color:var(--pds-color-text-default-secondary);padding-inline-start:3.25rem}
|