@pantheon-systems/pds-toolkit-react 1.0.0-dev.157 → 1.0.0-dev.159
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/Avatar/Avatar.d.ts +28 -18
- package/_dist/components/Icon/Icon.d.ts +1 -1
- package/_dist/components/Tooltip/Tooltip.d.ts +8 -2
- package/_dist/components/inputs/Checkbox/Checkbox.d.ts +4 -0
- package/_dist/components/navigation/DashboardNav/DashboardNav.d.ts +37 -19
- package/_dist/components/navigation/DropdownMenu/DropdownMenu.d.ts +27 -16
- package/_dist/components/navigation/SideNav/SideNav.d.ts +40 -22
- package/_dist/components/navigation/SideNavCompact/SideNavCompact.d.ts +40 -22
- package/_dist/components/navigation/navigation-types.d.ts +39 -0
- package/_dist/components/navigation/navigation-utilities.d.ts +7 -0
- package/_dist/css/component-css/pds-avatar.css +1 -1
- package/_dist/css/component-css/pds-dashboard-nav.css +5 -2
- package/_dist/css/component-css/pds-dropdown-menu.css +1 -1
- package/_dist/css/component-css/pds-index.css +8 -5
- package/_dist/css/component-css/pds-side-nav-compact.css +1 -1
- package/_dist/css/component-css/pds-side-nav.css +1 -1
- package/_dist/css/pds-components.css +8 -5
- package/_dist/css/pds-layouts.css +2 -1
- package/_dist/index.css +1 -1
- package/_dist/index.d.ts +5 -5
- package/_dist/index.js +4453 -4463
- package/_dist/index.js.map +1 -1
- package/_dist/libs/components/custom-types.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import React, { ReactNode, ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import './avatar.css';
|
|
3
|
+
interface AvatarProps extends ComponentPropsWithoutRef<'div'> {
|
|
4
|
+
/**
|
|
5
|
+
* Avatar size.
|
|
6
|
+
*/
|
|
7
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
8
|
+
/**
|
|
9
|
+
* Avatar image.
|
|
10
|
+
*/
|
|
11
|
+
imageSrc?: string;
|
|
12
|
+
/**
|
|
13
|
+
* A link element using the router of your choice. Leave empty for no link.
|
|
14
|
+
*/
|
|
15
|
+
linkContent?: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Unique ID associated with the avatar. Can be workspace ID, user ID, email, etc.
|
|
18
|
+
*/
|
|
19
|
+
uniqueId?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Additional class names
|
|
22
|
+
*/
|
|
23
|
+
className?: string;
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Avatar UI component
|
|
27
|
+
*/
|
|
28
|
+
export declare const Avatar: ({ size, imageSrc, linkContent, uniqueId, className, ...props }: AvatarProps) => React.JSX.Element;
|
|
29
|
+
export {};
|
|
@@ -620,5 +620,5 @@ declare const svgData: {
|
|
|
620
620
|
readonly width: "576";
|
|
621
621
|
};
|
|
622
622
|
};
|
|
623
|
-
export declare const iconList: ("angleDown" | "angleLeft" | "angleRight" | "angleUp" | "arrowDownToLine" | "arrowLeft" | "arrowRight" | "asterisk" | "banBug" | "bars" | "barsFilter" | "billboard" | "bitbucket" | "bolt" | "book" | "books" | "bracketRight" | "broomWide" | "building" | "buildings" | "calendarDays" | "ccAmex" | "ccDiscover" | "ccGeneric" | "ccMC" | "ccVisa" | "chartSimple" | "cloud" | "cloudArrowUp" | "
|
|
623
|
+
export declare const iconList: ("code" | "table" | "video" | "circle" | "angleDown" | "angleLeft" | "angleRight" | "angleUp" | "arrowDownToLine" | "arrowLeft" | "arrowRight" | "asterisk" | "banBug" | "bars" | "barsFilter" | "billboard" | "bitbucket" | "bolt" | "book" | "books" | "bracketRight" | "broomWide" | "building" | "buildings" | "calendarDays" | "ccAmex" | "ccDiscover" | "ccGeneric" | "ccMC" | "ccVisa" | "chartSimple" | "cloud" | "cloudArrowUp" | "codeBranch" | "codeMerge" | "caretDown" | "caretLeft" | "caretRight" | "caretUp" | "chartLine" | "chartNetwork" | "check" | "circleExclamation" | "circleCheck" | "circleInfo" | "circleMinus" | "circleMinusOutline" | "circleNotch" | "circlePlus" | "circlePlusOutline" | "circleQuestion" | "circleXmark" | "command" | "comment" | "copy" | "diamondExclamation" | "discourse" | "download" | "drupal" | "ellipsis" | "ellipsisVertical" | "emptySet" | "exclamation" | "externalLink" | "eye" | "eyeSlash" | "facebook" | "file" | "fileContract" | "fileCSV" | "fileExport" | "fileImport" | "filePDF" | "folder" | "gear" | "github" | "gitlab" | "globe" | "globeLine" | "graduationCap" | "grid" | "gripDots" | "gripDotsVertical" | "heart" | "house" | "idCard" | "instagram" | "keySkeleton" | "laptopCode" | "leaf" | "lifeRing" | "linkedin" | "linkSimple" | "linkSimpleSlash" | "magnifyingGlass" | "messages" | "minus" | "moon" | "paperclip" | "paperPlane" | "pen" | "phone" | "play" | "plus" | "quotesLeft" | "quotesRight" | "rectangleList" | "robot" | "rotate" | "rotateClock" | "rss" | "save" | "server" | "shield" | "shovel" | "siren" | "sitemap" | "slack" | "slashForward" | "slidersSimple" | "snowflake" | "sparkles" | "squareCheck" | "squareCode" | "squareMinus" | "squarePen" | "squareQuestion" | "squareTerminal" | "star" | "sun" | "terminal" | "threads" | "trash" | "triangleExclamation" | "twitter" | "upload" | "user" | "userGear" | "userPlus" | "users" | "wavePulse" | "windowRestore" | "wordpress" | "wrench" | "xmark" | "xmarkLarge" | "xTwitter" | "youtube")[];
|
|
624
624
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import { Placement } from '@floating-ui/react';
|
|
3
|
+
import { FuiOffset } from '@libs/components/custom-types';
|
|
2
4
|
import './tooltip.css';
|
|
3
5
|
interface TooltipProps extends ComponentPropsWithoutRef<'div'> {
|
|
4
6
|
/**
|
|
@@ -16,7 +18,11 @@ interface TooltipProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
16
18
|
/**
|
|
17
19
|
* The spacing between the trigger and the tooltip in pixels. Only applies to tooltips with a custom trigger. Icon triggers have a fixed spacing.
|
|
18
20
|
*/
|
|
19
|
-
offsetValue?:
|
|
21
|
+
offsetValue?: FuiOffset;
|
|
22
|
+
/**
|
|
23
|
+
* The preferred placement of the tooltip relative to the trigger.
|
|
24
|
+
*/
|
|
25
|
+
preferredPlacement?: Placement;
|
|
20
26
|
/**
|
|
21
27
|
* The accessible text for the trigger. Only necessary when the trigger is an icon.
|
|
22
28
|
*/
|
|
@@ -33,5 +39,5 @@ interface TooltipProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
33
39
|
/**
|
|
34
40
|
* Tooltip UI component
|
|
35
41
|
*/
|
|
36
|
-
export declare const Tooltip: ({ content, customTrigger, customZIndex, offsetValue, triggerAccessibleText, triggerIcon, className, ...props }: TooltipProps) => React.JSX.Element;
|
|
42
|
+
export declare const Tooltip: ({ content, customTrigger, customZIndex, offsetValue, preferredPlacement, triggerAccessibleText, triggerIcon, className, ...props }: TooltipProps) => React.JSX.Element;
|
|
37
43
|
export {};
|
|
@@ -65,6 +65,10 @@ export interface CheckboxProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
65
65
|
* Is the field required?
|
|
66
66
|
*/
|
|
67
67
|
required?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Should the label be visible? If false, it will render for screen readers only.
|
|
70
|
+
*/
|
|
71
|
+
showLabel?: boolean;
|
|
68
72
|
/**
|
|
69
73
|
* Validation message for the input field based on the validation status.
|
|
70
74
|
*/
|
|
@@ -1,25 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { NavigationItem } from '@components/navigation/navigation-types';
|
|
3
|
+
import { PDSIcon } from '@components/Icon/Icon';
|
|
4
|
+
import './dashboard-nav.css';
|
|
5
|
+
type DashboardNavItem = NavigationItem & {
|
|
6
|
+
/**
|
|
7
|
+
* Icon to display next to the link content.
|
|
8
|
+
*/
|
|
9
|
+
icon?: PDSIcon;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Prop types for DashboardNav
|
|
13
|
+
*/
|
|
14
|
+
export interface DashboardNavProps extends ComponentPropsWithoutRef<'nav'> {
|
|
15
|
+
/**
|
|
16
|
+
* Aria label for the navigation.
|
|
17
|
+
*/
|
|
18
|
+
ariaLabel: string;
|
|
19
|
+
/**
|
|
20
|
+
* Labels for translatable strings.
|
|
21
|
+
*/
|
|
4
22
|
labels?: {
|
|
5
23
|
submenu: string;
|
|
6
24
|
toggle: string;
|
|
7
25
|
};
|
|
8
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Menu items to render.
|
|
28
|
+
*/
|
|
29
|
+
menuItems: DashboardNavItem[];
|
|
30
|
+
/**
|
|
31
|
+
* Text to display in the mobile menu trigger button when no active link is found.
|
|
32
|
+
*/
|
|
9
33
|
mobileMenuSelectTextFallback?: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let ariaLabel: PropTypes.Requireable<string>;
|
|
15
|
-
let labels: PropTypes.Requireable<PropTypes.InferProps<{
|
|
16
|
-
submenu: PropTypes.Requireable<string>;
|
|
17
|
-
toggle: PropTypes.Requireable<string>;
|
|
18
|
-
}>>;
|
|
19
|
-
let menuItems: PropTypes.Validator<any[]>;
|
|
20
|
-
let mobileMenuSelectTextFallback: PropTypes.Requireable<string>;
|
|
21
|
-
let className: PropTypes.Requireable<string>;
|
|
22
|
-
}
|
|
34
|
+
/**
|
|
35
|
+
* Additional class names
|
|
36
|
+
*/
|
|
37
|
+
className?: string;
|
|
23
38
|
}
|
|
24
|
-
|
|
25
|
-
|
|
39
|
+
/**
|
|
40
|
+
* DashboardNav UI component
|
|
41
|
+
*/
|
|
42
|
+
export declare const DashboardNav: ({ ariaLabel, labels, menuItems, mobileMenuSelectTextFallback, className, ...props }: DashboardNavProps) => React.JSX.Element;
|
|
43
|
+
export {};
|
|
@@ -1,17 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { NavigationItem } from '@components/navigation/navigation-types';
|
|
3
|
+
import './dropdown-menu.css';
|
|
4
|
+
/**
|
|
5
|
+
* Prop types for DropdownMenu
|
|
6
|
+
*/
|
|
7
|
+
export interface DropdownMenuProps extends ComponentPropsWithoutRef<'div'> {
|
|
8
|
+
/**
|
|
9
|
+
* Heading text. If a string is passed, it will be rendered as a heading. If a link is passed, it will be rendered as a link.
|
|
10
|
+
*/
|
|
11
|
+
headingText?: string | JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* Menu items to render.
|
|
14
|
+
*/
|
|
15
|
+
menuItems: NavigationItem[];
|
|
16
|
+
/**
|
|
17
|
+
* Text to display in the mobile menu trigger button when no active link is found.
|
|
18
|
+
*/
|
|
19
|
+
selectTextFallback: string;
|
|
20
|
+
/**
|
|
21
|
+
* Additional class names
|
|
22
|
+
*/
|
|
23
|
+
className?: string;
|
|
15
24
|
}
|
|
16
|
-
|
|
17
|
-
|
|
25
|
+
/**
|
|
26
|
+
* DropdownMenu UI component
|
|
27
|
+
*/
|
|
28
|
+
export declare const DropdownMenu: ({ headingText, menuItems, selectTextFallback, className, ...props }: DropdownMenuProps) => React.JSX.Element;
|
|
@@ -1,29 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { NavigationItem } from '@components/navigation/navigation-types';
|
|
3
|
+
import './side-nav.css';
|
|
4
|
+
/**
|
|
5
|
+
* Prop types for SideNav
|
|
6
|
+
*/
|
|
7
|
+
export interface SideNavProps extends ComponentPropsWithoutRef<'nav'> {
|
|
8
|
+
/**
|
|
9
|
+
* Aria label for the navigation.
|
|
10
|
+
*/
|
|
11
|
+
ariaLabel: string;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the menu should be rendered as a mobile menu when the viewport is at or below the mobileMenuMaxWidth.
|
|
14
|
+
*/
|
|
15
|
+
hasMobileMenu?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Heading text. If a link is passed, it will be rendered as a link.
|
|
18
|
+
*/
|
|
19
|
+
headingText?: string | JSX.Element;
|
|
20
|
+
/**
|
|
21
|
+
* Labels for translatable strings.
|
|
22
|
+
*/
|
|
5
23
|
labels?: {
|
|
6
24
|
submenu: string;
|
|
7
25
|
toggle: string;
|
|
8
26
|
};
|
|
9
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Menu items to render.
|
|
29
|
+
*/
|
|
30
|
+
menuItems: NavigationItem[];
|
|
31
|
+
/**
|
|
32
|
+
* Mobile menu will be enabled when viewport is at or below this number in pixels.
|
|
33
|
+
*/
|
|
10
34
|
mobileMenuMaxWidth?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Text to display in the mobile menu trigger button when no active link is found.
|
|
37
|
+
*/
|
|
11
38
|
mobileMenuSelectTextFallback?: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let ariaLabel: PropTypes.Requireable<string>;
|
|
17
|
-
let headingText: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
18
|
-
let labels: PropTypes.Requireable<PropTypes.InferProps<{
|
|
19
|
-
submenu: PropTypes.Requireable<string>;
|
|
20
|
-
toggle: PropTypes.Requireable<string>;
|
|
21
|
-
}>>;
|
|
22
|
-
let menuItems: PropTypes.Validator<any[]>;
|
|
23
|
-
let mobileMenuMaxWidth: PropTypes.Requireable<number>;
|
|
24
|
-
let mobileMenuSelectTextFallback: PropTypes.Requireable<string>;
|
|
25
|
-
let className: PropTypes.Requireable<string>;
|
|
26
|
-
}
|
|
39
|
+
/**
|
|
40
|
+
* Additional class names
|
|
41
|
+
*/
|
|
42
|
+
className?: string;
|
|
27
43
|
}
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
/**
|
|
45
|
+
* SideNav UI component
|
|
46
|
+
*/
|
|
47
|
+
export declare const SideNav: ({ ariaLabel, hasMobileMenu, headingText, labels, menuItems, mobileMenuMaxWidth, mobileMenuSelectTextFallback, className, ...props }: SideNavProps) => React.JSX.Element;
|
|
@@ -1,29 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { NavigationItem } from '@components/navigation/navigation-types';
|
|
3
|
+
import './side-nav-compact.css';
|
|
4
|
+
/**
|
|
5
|
+
* Prop types for SideNavCompact
|
|
6
|
+
*/
|
|
7
|
+
export interface SideNavCompactProps extends ComponentPropsWithoutRef<'nav'> {
|
|
8
|
+
/**
|
|
9
|
+
* Aria label for the navigation.
|
|
10
|
+
*/
|
|
11
|
+
ariaLabel: string;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the menu should be rendered as a mobile menu when the viewport is at or below the mobileMenuMaxWidth.
|
|
14
|
+
*/
|
|
15
|
+
hasMobileMenu?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Heading text. If a link is passed, it will be rendered as a link.
|
|
18
|
+
*/
|
|
19
|
+
headingText?: string | JSX.Element;
|
|
20
|
+
/**
|
|
21
|
+
* Labels for translatable strings.
|
|
22
|
+
*/
|
|
5
23
|
labels?: {
|
|
6
24
|
submenu: string;
|
|
7
25
|
toggle: string;
|
|
8
26
|
};
|
|
9
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Menu items to render.
|
|
29
|
+
*/
|
|
30
|
+
menuItems: NavigationItem[];
|
|
31
|
+
/**
|
|
32
|
+
* Mobile menu will be enabled when viewport is at or below this number in pixels.
|
|
33
|
+
*/
|
|
10
34
|
mobileMenuMaxWidth?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Text to display in the mobile menu trigger button when no active link is found.
|
|
37
|
+
*/
|
|
11
38
|
mobileMenuSelectTextFallback?: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
let ariaLabel: PropTypes.Requireable<string>;
|
|
17
|
-
let headingText: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
18
|
-
let labels: PropTypes.Requireable<PropTypes.InferProps<{
|
|
19
|
-
submenu: PropTypes.Requireable<string>;
|
|
20
|
-
toggle: PropTypes.Requireable<string>;
|
|
21
|
-
}>>;
|
|
22
|
-
let menuItems: PropTypes.Validator<any[]>;
|
|
23
|
-
let mobileMenuMaxWidth: PropTypes.Requireable<number>;
|
|
24
|
-
let mobileMenuSelectTextFallback: PropTypes.Requireable<string>;
|
|
25
|
-
let className: PropTypes.Requireable<string>;
|
|
26
|
-
}
|
|
39
|
+
/**
|
|
40
|
+
* Additional class names
|
|
41
|
+
*/
|
|
42
|
+
className?: string;
|
|
27
43
|
}
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
/**
|
|
45
|
+
* SideNavCompact UI component
|
|
46
|
+
*/
|
|
47
|
+
export declare const SideNavCompact: ({ ariaLabel, hasMobileMenu, headingText, labels, menuItems, mobileMenuMaxWidth, mobileMenuSelectTextFallback, className, ...props }: SideNavCompactProps) => React.JSX.Element;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type NavigationItem = {
|
|
3
|
+
/**
|
|
4
|
+
* A boolean indicating whether the item is the active item.
|
|
5
|
+
*/
|
|
6
|
+
isActive?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Link content — a fully-formed link element using the router of your choice. If a string is provided instead, the item will be rendered as a link that navigates to the first child item.
|
|
9
|
+
*/
|
|
10
|
+
linkContent: JSX.Element | string;
|
|
11
|
+
/**
|
|
12
|
+
* Submenu items.
|
|
13
|
+
*/
|
|
14
|
+
links?: NavigationItem[];
|
|
15
|
+
};
|
|
16
|
+
export type SingleLevelNavigationItem = {
|
|
17
|
+
/**
|
|
18
|
+
* A boolean indicating whether the item is the active item.
|
|
19
|
+
*/
|
|
20
|
+
isActive?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Link content — a fully-formed link element using the router of your choice.
|
|
23
|
+
*/
|
|
24
|
+
linkContent: JSX.Element;
|
|
25
|
+
};
|
|
26
|
+
export type FlattenedNavigationItem = {
|
|
27
|
+
/**
|
|
28
|
+
* A boolean indicating whether the item is the active item.
|
|
29
|
+
*/
|
|
30
|
+
isActive?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Link content — a fully-formed link element using the router of your choice.
|
|
33
|
+
*/
|
|
34
|
+
linkContent: JSX.Element;
|
|
35
|
+
/**
|
|
36
|
+
* Nesting level of the item.
|
|
37
|
+
*/
|
|
38
|
+
level: 'top-level' | 'second-level' | 'third-level';
|
|
39
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { NavigationItem } from '@components/navigation/navigation-types';
|
|
3
|
+
export declare const isActiveItem: (item: NavigationItem) => boolean;
|
|
4
|
+
export declare const isActiveTrail: (item: NavigationItem) => boolean;
|
|
5
|
+
export declare const getActiveLink: (items: NavigationItem[]) => JSX.Element | null;
|
|
6
|
+
export declare const getLinkContentString: (linkContent: JSX.Element | string) => string;
|
|
7
|
+
export declare const processNavLinkContent: (linkContent: JSX.Element | string, links?: NavigationItem[]) => JSX.Element | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.pds-avatar{--pds-avatar-size:1.953rem;
|
|
1
|
+
.pds-avatar{display:inline-block}.pds-avatar,.pds-avatar__inner{--pds-avatar-size:1.953rem;border:.0625rem solid transparent;height:var(--pds-avatar-size);justify-content:center;width:var(--pds-avatar-size)}.pds-avatar__inner{align-items:center;background-color:var(--pds-color-background-default);border-radius:100%;display:inline-flex}.pds-avatar--image{border-color:var(--pds-color-border-default)}.pds-avatar--xs,.pds-avatar__inner--xs .pds-avatar__inner{--pds-avatar-size:1rem}.pds-avatar--sm,.pds-avatar__inner--sm .pds-avatar__inner{--pds-avatar-size:1.563rem}.pds-avatar--md,.pds-avatar__inner--md .pds-avatar__inner{--pds-avatar-size:1.953rem}.pds-avatar--lg,.pds-avatar__inner--lg .pds-avatar__inner{--pds-avatar-size:2.441rem}a.pds-avatar__inner{outline:1px solid transparent;outline-offset:.03125rem;transition:all 0s ease-out}a.pds-avatar__inner:hover{outline:1px solid var(--pds-color-interactive-link-hover)}a.pds-avatar__inner:focus-visible{outline-width:2px}.pds-avatar__inner img{border-radius:100%;height:100%;width:auto}.pds-avatar__user-fallback{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5' fill='%23CFCFD3'/%3E%3Cpath fill='%2323232D' d='M12.5 11.75A3.48 3.48 0 0 1 9.465 10a3.48 3.48 0 0 1 0-3.5A3.54 3.54 0 0 1 12.5 4.75c1.23 0 2.379.684 3.008 1.75a3.48 3.48 0 0 1 0 3.5 3.47 3.47 0 0 1-3.008 1.75m-1.258 1.313h2.488a4.89 4.89 0 0 1 4.895 4.894c0 .438-.383.793-.82.793H7.168a.794.794 0 0 1-.793-.793c0-2.707 2.16-4.895 4.867-4.895'/%3E%3C/svg%3E")}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
.pds-dashboard-nav{--pds-dashboard-nav-icon-width:1.563rem;--pds-dashboard-nav-space-after-icon:0.64rem
|
|
2
|
-
|
|
1
|
+
.pds-dashboard-nav{--pds-dashboard-nav-icon-width:1.563rem;--pds-dashboard-nav-space-after-icon:0.64rem;--pds-dashboard-nav-foreground-color:var(
|
|
2
|
+
--pds-color-dashboard-nav-item-foreground-default
|
|
3
|
+
);--pds-dashboard-nav-outline-color:var(--pds-color-interactive-focus);font-family:Poppins,sans-serif}.pds-dashboard-nav,.pds-dashboard-nav a{color:var(--pds-dashboard-nav-foreground-color)}.pds-dashboard-nav a{text-decoration:none}.pds-dashboard-nav a:focus-visible,.pds-dashboard-nav button:focus-visible{border-radius:.375rem;outline:.0625rem solid var(--pds-dashboard-nav-outline-color);outline-offset:-.125rem}.pds-dashboard-nav .pds-icon{pointer-events:none}.pds-dashboard-nav__logo{box-sizing:content-box;margin-block-end:1.563rem;margin-block-start:.125rem;padding-inline:calc(var(--pds-spacing-dashboard-nav-item-padding) + .1875rem)}.pds-dashboard-nav__menu{display:flex;flex-direction:column;list-style-type:none;margin:0;padding:0;row-gap:1rem}.pds-dashboard-nav__item{list-style-type:none}.pds-dashboard-nav__item--top-level .pds-dashboard-nav__item-wrapper{align-items:center;border-radius:.375rem;display:flex;height:var(--pds-spacing-dashboard-nav-item-height);justify-content:space-between;width:100%}.pds-dashboard-nav__item--top-level .pds-dashboard-nav__item-wrapper:hover{background-color:var(--pds-color-dashboard-nav-item-background-hover);transition:all .2s ease-in-out 0s}.pds-dashboard-nav__item--top-level .pds-dashboard-nav__item-wrapper a{border-radius:.375rem;box-sizing:border-box;padding-inline:var(--pds-spacing-dashboard-nav-item-padding);width:100%}.pds-dashboard-nav__item--top-level .pds-dashboard-nav__item-inner{align-items:center;display:flex}.pds-dashboard-nav__item--top-level a{box-shadow:none;outline:none}.pds-dashboard-nav__item--top-level.pds-dashboard-nav__item--active .pds-dashboard-nav__item-wrapper{--pds-dashboard-nav-foreground-color:var(
|
|
4
|
+
--pds-color-dashboard-nav-item-foreground-active
|
|
5
|
+
);--pds-dashboard-nav-outline-color:var(--pds-color-brand-primary-default);background-color:var(--pds-color-dashboard-nav-item-background-active)}.pds-dashboard-nav__link-icon{align-items:center;display:flex;flex-grow:0;flex-shrink:0;height:var(--pds-spacing-dashboard-nav-item-height);justify-content:center;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__menu--second-level{color:var(--pds-color-dashboard-nav-item-foreground-default);display:none;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;row-gap:.64rem}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a:hover{color:var(--pds-color-interactive-link-hover)}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level.pds-dashboard-nav__item--active a{color:var(--pds-color-interactive-link-hover);font-weight:600}.pds-dashboard-nav__item.pds-dashboard-nav__item--second-level a:focus-visible{border-radius:1px;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;color:var(--pds-dashboard-nav-foreground-color);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{padding-inline:.125rem;transform:rotate(0deg);transition:all .2s ease-in-out 0s}.pds-dashboard-nav__toggle--expanded .pds-icon{transform:rotate(180deg);transition:all .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__item--top-level.pds-dashboard-nav__item--collapsed .pds-dashboard-nav__item-wrapper a{width:2.875rem}.pds-dashboard-nav__flyout{background-color:var(--pds-color-menu-background);border-radius:.375rem;box-shadow:var(--pds-elevation-overlay);max-width:30rem;padding:.64rem;width:max-content;z-index:200}.pds-dashboard-nav__flyout-heading{color:var(--pds-color-menu-item-heading-text);font-family:Poppins,sans-serif;font-size:.833rem;font-weight:400;line-height:120%;padding:.64rem .8rem}.pds-dashboard-nav__menu--flyout{row-gap:0}.pds-dashboard-nav__item--second-level-flyout{background-color:var(--pds-color-menu-item-background-default);color:var(--pds-color-menu-item-foreground);cursor:pointer;font-size:1rem;line-height:120%;margin:0;padding:.64rem .8rem}.pds-dashboard-nav__item--second-level-flyout:hover{background-color:var(--pds-color-menu-item-background-hover);border-radius:.375rem}.pds-dashboard-nav__item--second-level-flyout.pds-dashboard-nav__item--active a{color:var(--pds-color-interactive-link-hover);font-weight:600}.pds-dashboard-nav__item--second-level-flyout a:focus-visible{border-radius:1px;outline:.0625rem solid var(--pds-color-interactive-focus);outline-offset:4px;transition:outline .2s ease-in-out 0s}.pds-dashboard-nav .pds-tooltip__container{padding:.25rem .512rem}.pds-dashboard-nav .pds-dropdown-menu__item a{padding-block:.41rem;padding-inline:var(--pds-spacing-dashboard-nav-item-padding);width:100%}.pds-dashboard-nav .pds-dropdown-menu__item .pds-dashboard-nav__item-inner{align-items:center;display:flex}.pds-dashboard-nav .pds-dropdown-menu__item--second-level{padding-block:.25rem;padding-inline-start:calc(var(--pds-dashboard-nav-icon-width) + var(--pds-dashboard-nav-space-after-icon) + .0625rem)}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
.pds-dropdown-menu{position:relative}.pds-dropdown-menu__heading{font-size:1rem;font-weight:600;margin-block-end:.64rem}.pds-dropdown-menu__heading a{color:var(--pds-color-text-default);text-decoration:none}.pds-dropdown-menu__heading a:hover{color:var(--pds-color-interactive-link-hover)}.pds-dropdown-menu__trigger{align-items:center;background-color:var(--pds-color-input-background-default);border:.0625rem solid var(--pds-color-input-border-default);border-radius:.1875rem;color:var(--pds-color-input-foreground-default);cursor:pointer;display:flex;height:2.441rem;justify-content:space-between;padding:0 .64rem;text-align:left;width:100%}.pds-dropdown-menu__trigger:focus-visible{outline:.0625rem solid var(--pds-color-interactive-focus)}.pds-dropdown-menu__trigger-icon{transition:transform .2s ease-in-out 0s}.pds-dropdown-menu__trigger[aria-expanded=true]
|
|
2
|
-
.pds-dropdown-menu__trigger-icon{transform:rotate(180deg);transition:transform .2s ease-in-out 0s}.pds-dropdown-menu__dropdown{background-color:var(--pds-color-menu-background);border-radius:.1875rem;box-shadow:var(--pds-elevation-active);list-style-type:none;margin-block-start:.64rem;max-height:30rem;overflow-y:scroll;padding:0;position:absolute;width:100%;z-index:200}.pds-dropdown-menu__dropdown a{color:var(--pds-color-menu-item-foreground);display:flex;padding:.64rem 1rem;text-decoration:none}.pds-dropdown-menu__dropdown:focus{outline:none}.pds-dropdown-menu__item:focus{background-color:var(--pds-color-menu-item-background-hover);outline:none}.pds-dropdown-menu__item--second-level a{padding-inline-start:
|
|
2
|
+
.pds-dropdown-menu__trigger-icon{transform:rotate(180deg);transition:transform .2s ease-in-out 0s}.pds-dropdown-menu__dropdown{background-color:var(--pds-color-menu-background);border-radius:.1875rem;box-shadow:var(--pds-elevation-active);list-style-type:none;margin-block-start:.64rem;max-height:30rem;overflow-y:scroll;padding:0;position:absolute;width:100%;z-index:200}.pds-dropdown-menu__dropdown a{color:var(--pds-color-menu-item-foreground);display:flex;padding:.64rem 1rem;text-decoration:none}.pds-dropdown-menu__dropdown:focus{outline:none}.pds-dropdown-menu__item:focus,.pds-dropdown-menu__item:hover{background-color:var(--pds-color-menu-item-background-hover);outline:none}.pds-dropdown-menu__item--second-level a{padding-inline-start:2.441rem}.pds-dropdown-menu__item--third-level a{padding-inline-start:4.004rem}.pds-dropdown-menu__active-label{display:flex;padding-inline-start:.25rem}.pds-dropdown-menu__item--active{align-items:center;background-color:var(--pds-color-menu-item-background-active);color:var(--pds-color-foreground-default);display:flex;justify-content:space-between}.pds-dropdown-menu__active-icon{flex-shrink:0;margin-inline:1rem}
|