@pantheon-systems/pds-toolkit-react 2.0.0-alpha.25 → 2.0.0-alpha.27

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.
Files changed (75) hide show
  1. package/dist/components/SortableList/SortableList.d.ts +8 -0
  2. package/dist/components/SortableList/SortableListHeader.d.ts +7 -0
  3. package/dist/components/SortableList/SortableRow.d.ts +16 -0
  4. package/dist/components/SortableList/sortable-utils.d.ts +19 -0
  5. package/dist/components/SortableList/types.d.ts +142 -0
  6. package/dist/components/SortableList/useSortableTree.d.ts +18 -0
  7. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  8. package/dist/components/UtilityBar/UtilityBar.d.ts +27 -0
  9. package/dist/components/buttons/IconButton/IconButton.d.ts +8 -0
  10. package/dist/components/icons/Icon/generated-icon-data.d.ts +51 -2
  11. package/dist/components/inputs/Checkbox/Checkbox.d.ts +1 -1
  12. package/dist/components/inputs/Combobox/Combobox.d.ts +1 -1
  13. package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +1 -1
  14. package/dist/components/inputs/Datepicker/Datepicker.d.ts +1 -1
  15. package/dist/components/inputs/FileUpload/FileUpload.d.ts +1 -1
  16. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +1 -1
  17. package/dist/components/inputs/Select/Select.d.ts +1 -1
  18. package/dist/components/inputs/Switch/Switch.d.ts +1 -1
  19. package/dist/components/inputs/TagsInput/TagsInput.d.ts +6 -1
  20. package/dist/components/inputs/TextInput/TextInput.d.ts +1 -1
  21. package/dist/components/inputs/Textarea/Textarea.d.ts +1 -1
  22. package/dist/components/inputs/input-utilities.d.ts +1 -1
  23. package/dist/components/overlays/FullScreenOverlay/FullScreenOverlay.d.ts +45 -0
  24. package/dist/css/component-css/pds-checkbox.css +1 -1
  25. package/dist/css/component-css/pds-combobox-multiselect.css +3 -3
  26. package/dist/css/component-css/pds-combobox.css +1 -1
  27. package/dist/css/component-css/pds-datepicker.css +1 -1
  28. package/dist/css/component-css/pds-dropdown-menu.css +1 -1
  29. package/dist/css/component-css/pds-file-upload.css +1 -1
  30. package/dist/css/component-css/pds-footer-links.css +1 -1
  31. package/dist/css/component-css/pds-full-screen-overlay.css +1 -0
  32. package/dist/css/component-css/pds-icon-button.css +2 -2
  33. package/dist/css/component-css/pds-index.css +23 -16
  34. package/dist/css/component-css/pds-input-utilities.css +1 -1
  35. package/dist/css/component-css/pds-menu-button.css +1 -1
  36. package/dist/css/component-css/pds-pagination-mini.css +1 -1
  37. package/dist/css/component-css/pds-panel-list.css +1 -1
  38. package/dist/css/component-css/pds-pantheon-logo.css +1 -1
  39. package/dist/css/component-css/pds-popover.css +1 -1
  40. package/dist/css/component-css/pds-radio-group.css +1 -1
  41. package/dist/css/component-css/pds-select.css +1 -1
  42. package/dist/css/component-css/pds-site-footer.css +1 -1
  43. package/dist/css/component-css/pds-social-links.css +1 -1
  44. package/dist/css/component-css/pds-sortable-list.css +8 -0
  45. package/dist/css/component-css/pds-status-checker.css +1 -1
  46. package/dist/css/component-css/pds-switch.css +1 -1
  47. package/dist/css/component-css/pds-tags-input.css +1 -1
  48. package/dist/css/component-css/pds-text-input.css +1 -1
  49. package/dist/css/component-css/pds-textarea.css +1 -1
  50. package/dist/css/component-css/pds-theme-switcher.css +1 -1
  51. package/dist/css/component-css/pds-tiles-common.css +1 -1
  52. package/dist/css/component-css/pds-user-menu.css +2 -2
  53. package/dist/css/component-css/pds-utility-bar.css +1 -0
  54. package/dist/css/component-css/pds-utility-button.css +1 -1
  55. package/dist/css/component-css/pds-workspace-selector.css +1 -1
  56. package/dist/css/design-tokens/variables.dark.css +18 -10
  57. package/dist/css/design-tokens/variables.light.css +18 -10
  58. package/dist/css/pds-components.css +23 -16
  59. package/dist/css/pds-core.css +1 -1
  60. package/dist/index.css +1 -1
  61. package/dist/index.d.ts +9 -2
  62. package/dist/index.js +6067 -4951
  63. package/dist/index.js.map +1 -1
  64. package/dist/index.source.d.ts +8 -2
  65. package/dist/layouts/AppLayout/AppLayout.d.ts +1 -1
  66. package/dist/svg/arrowDownLeftAndArrowUpRightToCenter.svg +3 -0
  67. package/dist/svg/arrowsUpDownLeftRight.svg +3 -0
  68. package/dist/svg/barsStaggered.svg +3 -0
  69. package/dist/svg/circleExclamationSolid.svg +3 -0
  70. package/dist/svg/circleInfoSolid.svg +3 -0
  71. package/dist/svg/circleQuestionSolid.svg +3 -0
  72. package/dist/svg/compress.svg +3 -0
  73. package/package.json +5 -2
  74. /package/dist/components/{Drawer → overlays/Drawer}/Drawer.d.ts +0 -0
  75. /package/dist/components/{Modal → overlays/Modal}/Modal.d.ts +0 -0
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { SortableListProps } from './types';
3
+ import './sortable-list.css';
4
+ export interface SortableListHandle {
5
+ /** Reverts the list to the order it was in when drag mode was last enabled. */
6
+ resetToSnapshot: () => void;
7
+ }
8
+ export declare const SortableList: React.ForwardRefExoticComponent<SortableListProps & React.RefAttributes<SortableListHandle>>;
@@ -0,0 +1,7 @@
1
+ import type { SortableListColumn, SortableListHeaderProps } from './types';
2
+ import './sortable-list.css';
3
+ interface SortableListHeaderInternalProps {
4
+ columns?: SortableListColumn[];
5
+ }
6
+ export declare const SortableListHeader: ({ children, className, columns, ...props }: SortableListHeaderProps & SortableListHeaderInternalProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { SortableListColumn, SortableRowProps } from './types';
2
+ import './sortable-list.css';
3
+ interface SortableRowInternalProps {
4
+ columns?: SortableListColumn[];
5
+ depth?: number;
6
+ hasChildren?: boolean;
7
+ isDragActive?: boolean;
8
+ isDragging?: boolean;
9
+ isDropTarget?: boolean;
10
+ isExpanded?: boolean;
11
+ isProjectedParent?: boolean;
12
+ onToggleExpand?: () => void;
13
+ projectedDepthDelta?: number;
14
+ }
15
+ export declare const SortableRow: ({ children, className, columns, depth, hasChildren, id, isDragActive, isDragging: _isDraggingProp, isDropTarget, isExpanded, isLocked, isProjectedParent, onToggleExpand, projectedDepthDelta, ...props }: SortableRowProps & SortableRowInternalProps) => import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,19 @@
1
+ import type { FlattenedNode, SortableTreeNode } from './types';
2
+ /**
3
+ * Flatten a tree into a list suitable for dnd-kit's SortableContext.
4
+ * Only includes nodes whose ancestors are all expanded.
5
+ */
6
+ export declare function flattenTree(items: SortableTreeNode[], expandedIds: Set<string>, parentId?: string | null, depth?: number, ancestorIds?: string[]): FlattenedNode[];
7
+ /**
8
+ * Rebuild a tree from a flat list of nodes.
9
+ */
10
+ export declare function buildTree(flatNodes: FlattenedNode[]): SortableTreeNode[];
11
+ /**
12
+ * Find a node by id in a tree.
13
+ */
14
+ export declare function findItem(items: SortableTreeNode[], id: string): SortableTreeNode | undefined;
15
+ /**
16
+ * Calculate the projected depth during a drag based on horizontal pointer offset.
17
+ * Returns the clamped depth the item would land at if dropped.
18
+ */
19
+ export declare function getProjectedDepth(flatNodes: FlattenedNode[], activeId: string, overId: string, dragOffsetX: number, indentSize: number, maxDepth: number, activeNodeDepth?: number): number;
@@ -0,0 +1,142 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ export interface SortableTreeNode {
3
+ [key: string]: unknown;
4
+ children?: SortableTreeNode[];
5
+ id: string;
6
+ }
7
+ export interface FlattenedNode {
8
+ ancestorIds: string[];
9
+ data: SortableTreeNode;
10
+ depth: number;
11
+ hasChildren: boolean;
12
+ id: string;
13
+ index: number;
14
+ isExpanded: boolean;
15
+ parentId: string | null;
16
+ }
17
+ export interface SortableListColumn {
18
+ /**
19
+ * Unique identifier for this column. Used as the slot name in SortableRow.
20
+ */
21
+ id: string;
22
+ /**
23
+ * Display label for the column header. Also used as the visually-hidden
24
+ * label for screen readers inside each row cell.
25
+ */
26
+ label: string;
27
+ /**
28
+ * CSS width value for the column (e.g., '1fr', '10rem', '150px').
29
+ */
30
+ width: string;
31
+ }
32
+ export type ReorderMode = 'always' | 'toggle' | 'disabled';
33
+ export interface SortableRowMeta {
34
+ depth: number;
35
+ hasChildren: boolean;
36
+ index: number;
37
+ isDragging: boolean;
38
+ isExpanded: boolean;
39
+ isLocked: boolean;
40
+ toggleExpand: () => void;
41
+ }
42
+ export interface SortableListProps extends ComponentPropsWithoutRef<'div'> {
43
+ /**
44
+ * Content for the header area. Typically a SortableListHeader.
45
+ */
46
+ children?: ReactNode;
47
+ /**
48
+ * Additional class names.
49
+ */
50
+ className?: string;
51
+ /**
52
+ * Column definitions for grid-based layout. Defines widths, labels,
53
+ * and slot names used by both the header and row content areas.
54
+ * When omitted, the row content area uses a plain flex layout.
55
+ */
56
+ columns?: SortableListColumn[];
57
+ /**
58
+ * Initial tree data (uncontrolled mode).
59
+ */
60
+ defaultItems?: SortableTreeNode[];
61
+ /**
62
+ * Function to extract a human-readable label from an item for screen reader
63
+ * announcements (e.g. "Picked up Home page. Position 1 of 5."). Defaults to
64
+ * using the item's id.
65
+ */
66
+ getItemLabel?: (item: SortableTreeNode) => string;
67
+ /**
68
+ * Whether drag is currently enabled. Only relevant when reorderMode='toggle'.
69
+ * Controlled externally (e.g., by a UtilityBar lock/unlock button).
70
+ */
71
+ isDragEnabled?: boolean;
72
+ /**
73
+ * Function that returns true for items whose position should be fixed.
74
+ * Locked items cannot be dragged and cannot be displaced by other items
75
+ * moving around them. Use this for items that must always remain at the
76
+ * top or bottom of the list (e.g. a Home page that is always first).
77
+ * Does not prevent other items from being nested inside the locked item —
78
+ * use isNestingLocked for that.
79
+ */
80
+ isItemLocked?: (item: SortableTreeNode) => boolean;
81
+ /**
82
+ * Function that returns true for items that should not accept nested
83
+ * children. Items matching this function can still be moved to a new
84
+ * position; they just cannot be used as a parent during drag-and-drop.
85
+ */
86
+ isNestingLocked?: (item: SortableTreeNode) => boolean;
87
+ /**
88
+ * Tree-structured data (controlled mode).
89
+ */
90
+ items?: SortableTreeNode[];
91
+ /**
92
+ * Maximum nesting depth allowed. 0 = flat list, no nesting.
93
+ */
94
+ maxDepth?: 0 | 1 | 2 | 3 | 4 | 5;
95
+ /**
96
+ * Callback when items are reordered. Receives the new tree structure.
97
+ */
98
+ onReorder?: (items: SortableTreeNode[]) => void;
99
+ /**
100
+ * Render function for each row. Receives the item data and tree metadata.
101
+ */
102
+ renderRow: (item: SortableTreeNode, meta: SortableRowMeta) => ReactNode;
103
+ /**
104
+ * Controls drag-and-drop availability.
105
+ * - 'always': drag handles always visible (default).
106
+ * - 'toggle': drag state controlled externally via isDragEnabled prop.
107
+ * - 'disabled': no dragging, no handles, read-only list.
108
+ */
109
+ reorderMode?: ReorderMode;
110
+ /**
111
+ * Custom screen reader instructions for drag operations.
112
+ */
113
+ screenReaderInstructions?: string;
114
+ }
115
+ export interface SortableRowProps extends ComponentPropsWithoutRef<'div'> {
116
+ /**
117
+ * Child elements — the consumer-defined row content.
118
+ */
119
+ children: ReactNode;
120
+ /**
121
+ * Additional class names.
122
+ */
123
+ className?: string;
124
+ /**
125
+ * Unique identifier for this row. Must match an item id.
126
+ */
127
+ id: string;
128
+ /**
129
+ * Prevents this row from being dragged or receiving drops.
130
+ */
131
+ isLocked?: boolean;
132
+ }
133
+ export interface SortableListHeaderProps extends ComponentPropsWithoutRef<'div'> {
134
+ /**
135
+ * Child elements assigned to named slots.
136
+ */
137
+ children?: ReactNode;
138
+ /**
139
+ * Additional class names.
140
+ */
141
+ className?: string;
142
+ }
@@ -0,0 +1,18 @@
1
+ import type { FlattenedNode, SortableTreeNode } from './types';
2
+ interface UseSortableTreeOptions {
3
+ defaultItems?: SortableTreeNode[];
4
+ isDragEnabled?: boolean;
5
+ items?: SortableTreeNode[];
6
+ onReorder?: (items: SortableTreeNode[]) => void;
7
+ }
8
+ export declare function useSortableTree({ defaultItems, isDragEnabled, items: controlledItems, onReorder, }: UseSortableTreeOptions): {
9
+ currentItems: SortableTreeNode[];
10
+ expandedIds: Set<string>;
11
+ expandItem: (id: string) => void;
12
+ flatNodes: FlattenedNode[];
13
+ handleReorder: (updatedFlat: FlattenedNode[]) => void;
14
+ resetToSnapshot: () => void;
15
+ sortableIds: string[];
16
+ toggleExpand: (id: string) => void;
17
+ };
18
+ export {};
@@ -34,7 +34,7 @@ interface TooltipProps extends ComponentPropsWithoutRef<'div'> {
34
34
  /**
35
35
  * Icon to trigger tooltip
36
36
  */
37
- triggerIcon?: 'circleInfo' | 'circleQuestion' | 'circleExclamation';
37
+ triggerIcon?: 'circleExclamation' | 'circleExclamationSolid' | 'circleInfo' | 'circleInfoSolid' | 'circleQuestion' | 'circleQuestionSolid';
38
38
  /**
39
39
  * Color of the trigger icon. Uses PDS default text color options.
40
40
  */
@@ -42,7 +42,7 @@ interface TooltipProps extends ComponentPropsWithoutRef<'div'> {
42
42
  /**
43
43
  * Size of the trigger icon. Uses PDS Icon sizing.
44
44
  */
45
- triggerIconSize?: 's' | 'm' | 'l';
45
+ triggerIconSize?: 'xs' | 's' | 'm' | 'l';
46
46
  /**
47
47
  * Z-index value for the tooltip container. In most cases, the default value should be retained.
48
48
  */
@@ -0,0 +1,27 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { GridGapOptions } from '../../libs/types/layout-types';
3
+ import './utility-bar.css';
4
+ type UtilityBarBackground = 'default' | 'default-secondary' | 'transparent';
5
+ type UtilityBarPadding = GridGapOptions | 'none';
6
+ export interface UtilityBarProps extends ComponentPropsWithoutRef<'div'> {
7
+ /**
8
+ * Background color of the utility bar.
9
+ */
10
+ backgroundColor?: UtilityBarBackground;
11
+ /**
12
+ * Child elements assigned to named slots.
13
+ * - `items-left` — left-side content (e.g. search input)
14
+ * - `items-right` — right-side controls (e.g. icon buttons)
15
+ */
16
+ children: ReactNode;
17
+ /**
18
+ * Additional class names.
19
+ */
20
+ className?: string;
21
+ /**
22
+ * Internal padding. Defaults to 'none'.
23
+ */
24
+ padding?: UtilityBarPadding;
25
+ }
26
+ export declare const UtilityBar: ({ backgroundColor, children, className, padding, ...props }: UtilityBarProps) => import("react/jsx-runtime").JSX.Element;
27
+ export {};
@@ -36,10 +36,18 @@ interface IconButtonProps extends ComponentPropsWithoutRef<'button'> {
36
36
  * Which icon to render.
37
37
  */
38
38
  iconName: PDSIcon;
39
+ /**
40
+ * Whether the button is in a pressed/active toggle state. Maps to aria-pressed.
41
+ */
42
+ isPressed?: boolean;
39
43
  /**
40
44
  * Click event handler callback.
41
45
  */
42
46
  onClick?: (e: MouseEvent<HTMLElement>) => void;
47
+ /**
48
+ * Icon to display when isPressed is true. When not set, iconName is used in both states.
49
+ */
50
+ pressedIconName?: PDSIcon;
43
51
  /**
44
52
  * Which size of button to render.
45
53
  */
@@ -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-05-17T18:14:17.010Z
6
+ * Generated: 2026-05-28T21:43:58.268Z
7
7
  */
8
8
  import { customIcons } from './custom-icons';
9
9
  export { customIcons };
@@ -50,6 +50,13 @@ export declare const iconData: {
50
50
  readonly svgPathData: "M175.5 143c9.4-9.4 24.6-9.4 33.9 0l160 160c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-143-143-143 143c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l160-160z";
51
51
  readonly width: 384;
52
52
  };
53
+ readonly arrowDownLeftAndArrowUpRightToCenter: {
54
+ readonly aliases: readonly ["collapse", "minimize", "compress"];
55
+ readonly categories: readonly ["actions", "arrows"];
56
+ readonly height: 512;
57
+ readonly svgPathData: "M502.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L336 130.7 336 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-50.7 0 121.4-121.4zM80 272c-17.7 0-32 14.3-32 32s14.3 32 32 32l50.7 0-121.4 121.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L176 381.3 176 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L80 272z";
58
+ readonly width: 512;
59
+ };
53
60
  readonly arrowDownToLine: {
54
61
  readonly aliases: readonly ["download", "save to"];
55
62
  readonly categories: readonly ["actions", "arrows"];
@@ -78,6 +85,13 @@ export declare const iconData: {
78
85
  readonly svgPathData: "M463 473c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31 0-270.1c0-53-43-96-96-96L280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24l128 0c26.5 0 48 21.5 48 48l0 270.1-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72zM113 39c-9.4-9.4-24.6-9.4-33.9 0L7 111c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31 0 270.1c0 53 43 96 96 96l128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-128 0c-26.5 0-48-21.5-48-48l0-270.1 31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L113 39z";
79
86
  readonly width: 576;
80
87
  };
88
+ readonly arrowsUpDownLeftRight: {
89
+ readonly aliases: readonly ["move", "reorder", "drag", "rearrange"];
90
+ readonly categories: readonly ["actions", "arrows"];
91
+ readonly height: 512;
92
+ readonly svgPathData: "M273.5 7c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31 0 150.1-150.1 0 31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 150.1 0 0 150.1-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31 0-150.1 150.1 0-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-150.1 0 0-150.1 31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72z";
93
+ readonly width: 512;
94
+ };
81
95
  readonly asterisk: {
82
96
  readonly aliases: readonly ["required", "star"];
83
97
  readonly categories: readonly ["objects"];
@@ -106,6 +120,13 @@ export declare const iconData: {
106
120
  readonly svgPathData: "M0 88C0 74.7 10.7 64 24 64l464 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 112C10.7 112 0 101.3 0 88zM96 256c0-13.3 10.7-24 24-24l272 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-272 0c-13.3 0-24-10.7-24-24zM320 424c0 13.3-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l80 0c13.3 0 24 10.7 24 24z";
107
121
  readonly width: 512;
108
122
  };
123
+ readonly barsStaggered: {
124
+ readonly aliases: readonly ["stagger", "indent", "hierarchy", "reorder"];
125
+ readonly categories: readonly ["actions", "navigation"];
126
+ readonly height: 512;
127
+ readonly svgPathData: "M0 88C0 74.7 10.7 64 24 64l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 112C10.7 112 0 101.3 0 88zM64 256c0-13.3 10.7-24 24-24l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L88 280c-13.3 0-24-10.7-24-24zM448 424c0 13.3-10.7 24-24 24L24 448c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24z";
128
+ readonly width: 512;
129
+ };
109
130
  readonly bell: {
110
131
  readonly aliases: readonly ["notification", "alert", "reminder"];
111
132
  readonly categories: readonly ["communication", "status"];
@@ -351,6 +372,13 @@ export declare const iconData: {
351
372
  readonly svgPathData: "M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-464a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 336a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256c18.2 0 32.7 15.5 31.4 33.7l-7.4 104c-.9 12.6-11.4 22.3-23.9 22.3-12.6 0-23-9.7-23.9-22.3l-7.4-104C223.3 143.5 237.8 128 256 128z";
352
373
  readonly width: 512;
353
374
  };
375
+ readonly circleExclamationSolid: {
376
+ readonly aliases: readonly ["warning", "error", "alert"];
377
+ readonly categories: readonly ["status"];
378
+ readonly height: 512;
379
+ readonly svgPathData: "M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-192a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.6 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z";
380
+ readonly width: 512;
381
+ };
354
382
  readonly circleInfo: {
355
383
  readonly aliases: readonly ["info", "information", "about"];
356
384
  readonly categories: readonly ["status"];
@@ -358,6 +386,13 @@ export declare const iconData: {
358
386
  readonly svgPathData: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z";
359
387
  readonly width: 512;
360
388
  };
389
+ readonly circleInfoSolid: {
390
+ readonly aliases: readonly ["info", "information", "about"];
391
+ readonly categories: readonly ["status"];
392
+ readonly height: 512;
393
+ readonly svgPathData: "M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-8 64l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z";
394
+ readonly width: 512;
395
+ };
361
396
  readonly circleMinus: {
362
397
  readonly aliases: readonly ["remove", "subtract"];
363
398
  readonly categories: readonly ["status"];
@@ -386,6 +421,13 @@ export declare const iconData: {
386
421
  readonly svgPathData: "M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z";
387
422
  readonly width: 512;
388
423
  };
424
+ readonly circleQuestionSolid: {
425
+ readonly aliases: readonly ["help", "faq", "support"];
426
+ readonly categories: readonly ["status"];
427
+ readonly height: 512;
428
+ readonly svgPathData: "M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm0-336c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z";
429
+ readonly width: 512;
430
+ };
389
431
  readonly circleUser: {
390
432
  readonly aliases: readonly ["avatar", "profile", "account"];
391
433
  readonly categories: readonly ["users"];
@@ -463,6 +505,13 @@ export declare const iconData: {
463
505
  readonly svgPathData: "M51.9 384.9C19.3 344.6 0 294.4 0 240 0 107.5 114.6 0 256 0S512 107.5 512 240 397.4 480 256 480c-36.5 0-71.2-7.2-102.6-20L37 509.9c-3.7 1.6-7.5 2.1-11.5 2.1-14.1 0-25.5-11.4-25.5-25.5 0-4.3 1.1-8.5 3.1-12.2l48.8-89.4zm37.3-30.2c12.2 15.1 14.1 36.1 4.8 53.2l-18 33.1 58.5-25.1c11.8-5.1 25.2-5.2 37.1-.3 25.7 10.5 54.2 16.4 84.3 16.4 117.8 0 208-88.8 208-192S373.8 48 256 48 48 136.8 48 240c0 42.8 15.1 82.4 41.2 114.7z";
464
506
  readonly width: 512;
465
507
  };
508
+ readonly compress: {
509
+ readonly aliases: readonly ["fullscreen exit", "minimize", "shrink"];
510
+ readonly categories: readonly ["actions"];
511
+ readonly height: 512;
512
+ readonly svgPathData: "M160 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 88-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24l0-112zM24 320c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0 0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24L24 320zM336 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-88zM312 320c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-88 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0z";
513
+ readonly width: 448;
514
+ };
466
515
  readonly copy: {
467
516
  readonly aliases: readonly ["duplicate", "clipboard", "paste"];
468
517
  readonly categories: readonly ["actions"];
@@ -1444,7 +1493,7 @@ export declare const iconData: {
1444
1493
  readonly width: 576;
1445
1494
  };
1446
1495
  };
1447
- export declare const iconList: readonly ["angleDown", "angleLeft", "angleRight", "anglesLeft", "anglesRight", "angleUp", "arrowDownToLine", "arrowLeft", "arrowRight", "arrowsRetweet", "asterisk", "banBug", "bars", "barsFilter", "bell", "billboard", "bitbucket", "bluesky", "bolt", "boltPantheon", "boltSolid", "book", "books", "bracketRight", "bracketsSquare", "brainCircuit", "broomWide", "building", "buildings", "bullhorn", "calendarDays", "caretDown", "caretLeft", "caretRight", "caretUp", "ccAmex", "ccApplePay", "ccDiscover", "ccGeneric", "ccMC", "ccPaypal", "ccVisa", "chartLine", "chartNetwork", "chartSimple", "check", "circle", "circleCheck", "circleExclamation", "circleInfo", "circleMinus", "circleNotch", "circlePlus", "circleQuestion", "circleUser", "circleXmark", "cloud", "cloudArrowDown", "cloudArrowUp", "cloudPlus", "code", "codeBranch", "codeMerge", "command", "comment", "copy", "desktop", "diamondExclamation", "diamonds4", "discourse", "display", "dollarSign", "download", "drupal", "ellipsis", "ellipsisVertical", "emptySet", "envelope", "envelopeOpen", "exclamation", "expand", "expandFromCenter", "externalLink", "eye", "eyeSlash", "facebook", "file", "fileCheck", "fileContract", "fileCSV", "fileDiff", "fileExport", "fileImport", "fileLines", "filePDF", "fileZip", "folder", "folderTree", "gear", "gem", "github", "gitlab", "globe", "graduationCap", "grid", "gripDots", "gripDotsVertical", "heart", "heartSolid", "house", "idCard", "image", "inputText", "instagram", "keySkeleton", "landmark", "laptop", "laptopCode", "leaf", "lifeRing", "linkedin", "linkSimple", "linkSimpleSlash", "listCheck", "locationCrosshairs", "lock", "lockOpen", "magnifyingGlass", "medal", "memo", "messages", "minus", "moon", "nextJs", "paperclip", "paperPlane", "pause", "pen", "penField", "phone", "play", "plus", "question", "quotesLeft", "quotesRight", "rectangleList", "reply", "robot", "rocketLaunch", "rotate", "rotateClock", "rotateLeft", "rotateRight", "rss", "save", "server", "shareNodes", "shield", "shieldQuartered", "shovel", "sidebar", "siren", "sirenOn", "sitemap", "slack", "slashForward", "slidersSimple", "snowflake", "sparkles", "squareCheck", "squareCode", "squareMinus", "squarePen", "squareQuestion", "squareTerminal", "star", "starSolid", "sun", "sunBright", "table", "tableRows", "terminal", "text", "threads", "thumbsDown", "thumbsUp", "trash", "triangleExclamation", "twitter", "upload", "user", "userAstronaut", "userGear", "userPlus", "users", "video", "wavePulse", "windowRestore", "wordpress", "wreathLaurel", "wrench", "xmark", "xmarkLarge", "xTwitter", "youtube"];
1496
+ export declare const iconList: readonly ["angleDown", "angleLeft", "angleRight", "anglesLeft", "anglesRight", "angleUp", "arrowDownLeftAndArrowUpRightToCenter", "arrowDownToLine", "arrowLeft", "arrowRight", "arrowsRetweet", "arrowsUpDownLeftRight", "asterisk", "banBug", "bars", "barsFilter", "barsStaggered", "bell", "billboard", "bitbucket", "bluesky", "bolt", "boltPantheon", "boltSolid", "book", "books", "bracketRight", "bracketsSquare", "brainCircuit", "broomWide", "building", "buildings", "bullhorn", "calendarDays", "caretDown", "caretLeft", "caretRight", "caretUp", "ccAmex", "ccApplePay", "ccDiscover", "ccGeneric", "ccMC", "ccPaypal", "ccVisa", "chartLine", "chartNetwork", "chartSimple", "check", "circle", "circleCheck", "circleExclamation", "circleExclamationSolid", "circleInfo", "circleInfoSolid", "circleMinus", "circleNotch", "circlePlus", "circleQuestion", "circleQuestionSolid", "circleUser", "circleXmark", "cloud", "cloudArrowDown", "cloudArrowUp", "cloudPlus", "code", "codeBranch", "codeMerge", "command", "comment", "compress", "copy", "desktop", "diamondExclamation", "diamonds4", "discourse", "display", "dollarSign", "download", "drupal", "ellipsis", "ellipsisVertical", "emptySet", "envelope", "envelopeOpen", "exclamation", "expand", "expandFromCenter", "externalLink", "eye", "eyeSlash", "facebook", "file", "fileCheck", "fileContract", "fileCSV", "fileDiff", "fileExport", "fileImport", "fileLines", "filePDF", "fileZip", "folder", "folderTree", "gear", "gem", "github", "gitlab", "globe", "graduationCap", "grid", "gripDots", "gripDotsVertical", "heart", "heartSolid", "house", "idCard", "image", "inputText", "instagram", "keySkeleton", "landmark", "laptop", "laptopCode", "leaf", "lifeRing", "linkedin", "linkSimple", "linkSimpleSlash", "listCheck", "locationCrosshairs", "lock", "lockOpen", "magnifyingGlass", "medal", "memo", "messages", "minus", "moon", "nextJs", "paperclip", "paperPlane", "pause", "pen", "penField", "phone", "play", "plus", "question", "quotesLeft", "quotesRight", "rectangleList", "reply", "robot", "rocketLaunch", "rotate", "rotateClock", "rotateLeft", "rotateRight", "rss", "save", "server", "shareNodes", "shield", "shieldQuartered", "shovel", "sidebar", "siren", "sirenOn", "sitemap", "slack", "slashForward", "slidersSimple", "snowflake", "sparkles", "squareCheck", "squareCode", "squareMinus", "squarePen", "squareQuestion", "squareTerminal", "star", "starSolid", "sun", "sunBright", "table", "tableRows", "terminal", "text", "threads", "thumbsDown", "thumbsUp", "trash", "triangleExclamation", "twitter", "upload", "user", "userAstronaut", "userGear", "userPlus", "users", "video", "wavePulse", "windowRestore", "wordpress", "wreathLaurel", "wrench", "xmark", "xmarkLarge", "xTwitter", "youtube"];
1448
1497
  export type PDSIconName = (typeof iconList)[number];
1449
1498
  export declare const categoryList: readonly ["actions", "arrows", "brands", "communication", "custom", "data", "development", "documents", "financial", "media", "navigation", "objects", "security", "status", "users"];
1450
1499
  export type IconCategory = (typeof categoryList)[number];
@@ -34,7 +34,7 @@ export interface CheckboxProps extends ComponentPropsWithoutRef<'div'> {
34
34
  */
35
35
  inputProps?: ComponentPropsWithoutRef<'input'>;
36
36
  /**
37
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
37
+ * Width of the input field in pixels. When omitted, the input fills its container.
38
38
  */
39
39
  inputWidth?: number;
40
40
  /**
@@ -57,7 +57,7 @@ export interface ComboboxProps extends Omit<ComponentPropsWithoutRef<'div'>, 'on
57
57
  */
58
58
  id: string;
59
59
  /**
60
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
60
+ * Width of the input field in pixels. When omitted, the input fills its container.
61
61
  */
62
62
  inputWidth?: number;
63
63
  /**
@@ -51,7 +51,7 @@ export interface ComboboxMultiselectProps extends DivProps {
51
51
  */
52
52
  initialSelectedItems?: OptionProps[];
53
53
  /**
54
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
54
+ * Width of the input field in pixels. When omitted, the input fills its container.
55
55
  */
56
56
  inputWidth?: number;
57
57
  /**
@@ -44,7 +44,7 @@ export interface DatepickerProps extends DatepickerHTMLProps {
44
44
  */
45
45
  id: string;
46
46
  /**
47
- * Max-width of the input field. Accepts a number in pixels.
47
+ * Width of the input field in pixels. When omitted, the input fills its container.
48
48
  * Numbers below 160 will display at 160px.
49
49
  * Leave blank for width: 100%.
50
50
  */
@@ -39,7 +39,7 @@ export interface FileUploadProps extends ComponentPropsWithoutRef<'div'> {
39
39
  */
40
40
  inputProps?: ComponentPropsWithoutRef<'input'>;
41
41
  /**
42
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
42
+ * Width of the input field in pixels. When omitted, the input fills its container.
43
43
  */
44
44
  inputWidth?: number;
45
45
  /**
@@ -44,7 +44,7 @@ export interface RadioGroupProps extends ComponentPropsWithoutRef<'div'> {
44
44
  */
45
45
  id: string;
46
46
  /**
47
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
47
+ * Width of the input field in pixels. When omitted, the input fills its container.
48
48
  */
49
49
  inputWidth?: number;
50
50
  /**
@@ -70,7 +70,7 @@ export interface SelectProps {
70
70
  */
71
71
  id: string;
72
72
  /**
73
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
73
+ * Width of the input field in pixels. When omitted, the input fills its container.
74
74
  */
75
75
  inputWidth?: number;
76
76
  /**
@@ -29,7 +29,7 @@ export interface SwitchProps extends ComponentPropsWithoutRef<'div'> {
29
29
  */
30
30
  inputProps?: ComponentPropsWithoutRef<'input'>;
31
31
  /**
32
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
32
+ * Width of the input field in pixels. When omitted, the input fills its container.
33
33
  */
34
34
  inputWidth?: number;
35
35
  /**
@@ -15,6 +15,7 @@ export type TagType = {
15
15
  id: string;
16
16
  value: string;
17
17
  };
18
+ export type TagsInputSize = 's' | 'm' | 'l';
18
19
  type DivProps = Omit<ComponentPropsWithoutRef<'div'>, 'onChange'>;
19
20
  /**
20
21
  * Prop types for TagsInput
@@ -41,7 +42,7 @@ export interface TagsInputProps extends DivProps {
41
42
  */
42
43
  inputMinHeight?: number;
43
44
  /**
44
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
45
+ * Width of the input field in pixels. When omitted, the input fills its container.
45
46
  */
46
47
  inputWidth?: number;
47
48
  /**
@@ -72,6 +73,10 @@ export interface TagsInputProps extends DivProps {
72
73
  * Should the label be visible? If false, it will render for screen readers only.
73
74
  */
74
75
  showLabel?: boolean;
76
+ /**
77
+ * Size of the input.
78
+ */
79
+ size?: TagsInputSize;
75
80
  /**
76
81
  * Tags array. The component is controlled and requires managing state externally.
77
82
  */
@@ -56,7 +56,7 @@ export interface TextInputProps extends ComponentPropsWithoutRef<'div'> {
56
56
  */
57
57
  inputProps?: ComponentPropsWithoutRef<'input'>;
58
58
  /**
59
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
59
+ * Width of the input field in pixels. When omitted, the input fills its container.
60
60
  */
61
61
  inputWidth?: number;
62
62
  /**
@@ -31,7 +31,7 @@ export interface TextareaProps {
31
31
  */
32
32
  id: string;
33
33
  /**
34
- * Max-width of the input field. Accepts a number in pixels. Leave blank for width: 100%.
34
+ * Width of the input field in pixels. When omitted, the input fills its container.
35
35
  */
36
36
  inputWidth?: number;
37
37
  /**
@@ -11,7 +11,7 @@ export declare const inputCommonClasses: {
11
11
  readonly: string;
12
12
  };
13
13
  export declare const getInputWidthStyle: (inputWidth: number) => {
14
- maxWidth: string;
14
+ width: string;
15
15
  };
16
16
  export declare const stripUrlProtocol: (value: string) => string;
17
17
  export declare const RequiredIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,45 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { PDSIcon } from '../../icons/Icon/Icon';
3
+ import './full-screen-overlay.css';
4
+ export interface FullScreenOverlayProps extends ComponentPropsWithoutRef<'div'> {
5
+ /**
6
+ * Accessible label for the overlay.
7
+ */
8
+ ariaLabel: string;
9
+ /**
10
+ * Background color of the overlay surface.
11
+ * - 'default': white / dark-mode dark (default)
12
+ * - 'default-secondary': slightly off-white / dark-mode slightly lighter dark
13
+ */
14
+ background?: 'default' | 'default-secondary';
15
+ /**
16
+ * Content rendered inside the overlay.
17
+ */
18
+ children: ReactNode;
19
+ /**
20
+ * Additional class names.
21
+ */
22
+ className?: string;
23
+ /**
24
+ * Accessible label for the close button.
25
+ */
26
+ closeButtonLabel?: string;
27
+ /**
28
+ * Icon to use for the close button. Defaults to 'compress'.
29
+ */
30
+ closeIconName?: PDSIcon;
31
+ /**
32
+ * Whether to show the built-in close button. Set to false when providing
33
+ * your own close control (e.g. in a UtilityBar).
34
+ */
35
+ hasCloseButton?: boolean;
36
+ /**
37
+ * Whether the overlay is currently open.
38
+ */
39
+ isOpen: boolean;
40
+ /**
41
+ * Callback when the overlay should close.
42
+ */
43
+ onClose: () => void;
44
+ }
45
+ export declare const FullScreenOverlay: ({ ariaLabel, background, children, className, closeButtonLabel, closeIconName, hasCloseButton, isOpen, onClose, ...props }: FullScreenOverlayProps) => any;
@@ -1 +1 @@
1
- .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-fg-default);font-size:var(--checkbox-font-size);font-weight:var(--pds-typography-fw-regular)}.pds-checkbox__box{align-items:center;background-color:var(--pds-color-input-background);border:var(--pds-border-width-default) solid var(--pds-color-fg-default);border-radius:var(--pds-border-radius-input);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-bg-reverse);border-color:var(--pds-color-bg-reverse);transition:var(--pds-animation-transition-default)}.pds-checkbox__icon{color:var(--pds-color-fg-reverse);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
+ .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-fg-default);font-size:var(--checkbox-font-size);font-weight:var(--pds-typography-fw-regular)}.pds-checkbox__box{align-items:center;background-color:var(--pds-color-input-background);border:var(--pds-border-width-default) solid var(--pds-color-fg-default);border-radius:var(--pds-border-radius-input);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)}