@pantheon-systems/pds-toolkit-react 2.0.0-alpha.86 → 2.0.0-alpha.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codemods/v1-to-v2/mappings.json +12 -0
- package/dist/components/StatusScrim/StatusScrim.d.ts +22 -0
- package/dist/components/buttons/MenuButton/MenuButton.d.ts +17 -1
- package/dist/components/buttons/SplitButton/SplitButton.d.ts +20 -1
- package/dist/components/icons/Icon/generated-icon-data.d.ts +16 -2
- package/dist/components/icons/PlatformIcon/PlatformIcon.d.ts +1 -1
- package/dist/components/inputs/Combobox/Combobox.d.ts +6 -0
- package/dist/components/inputs/ComboboxMultiselect/ComboboxMultiselect.d.ts +7 -1
- package/dist/components/inputs/Datepicker/Datepicker.d.ts +17 -1
- package/dist/components/inputs/Select/Select.d.ts +7 -1
- package/dist/components/navigation/BookmarksMenu/BookmarksMenu.d.ts +151 -0
- package/dist/components/navigation/Navbar/Navbar.d.ts +20 -7
- package/dist/components/panels/BookmarksPanel/BookmarksPanel.d.ts +67 -0
- package/dist/css/component-css/pds-bookmarks-menu.css +1 -0
- package/dist/css/component-css/pds-bookmarks-panel.css +1 -0
- package/dist/css/component-css/pds-combobox-multiselect.css +1 -1
- package/dist/css/component-css/pds-combobox.css +1 -1
- package/dist/css/component-css/pds-datepicker.css +1 -1
- package/dist/css/component-css/pds-dropdown.css +2 -2
- package/dist/css/component-css/pds-file-upload.css +1 -7
- package/dist/css/component-css/pds-index.css +26 -28
- package/dist/css/component-css/pds-input-group.css +1 -1
- package/dist/css/component-css/pds-input-utilities.css +1 -1
- package/dist/css/component-css/pds-menu-button.css +6 -2
- package/dist/css/component-css/pds-nav-menu.css +1 -1
- package/dist/css/component-css/pds-navbar.css +2 -2
- package/dist/css/component-css/pds-platform-icon.css +1 -1
- package/dist/css/component-css/pds-progress-bar.css +1 -1
- package/dist/css/component-css/pds-row-actions-menu.css +1 -1
- package/dist/css/component-css/pds-select.css +1 -1
- package/dist/css/component-css/pds-status-scrim.css +1 -0
- package/dist/css/component-css/pds-tab-menu.css +2 -2
- package/dist/css/component-css/pds-tabs.css +1 -1
- package/dist/css/component-css/pds-user-menu.css +5 -5
- package/dist/css/component-css/pds-workspace-selector-panel.css +1 -1
- package/dist/css/component-css/pds-workspace-selector.css +2 -2
- package/dist/css/pds-components.css +26 -28
- package/dist/css/pds-core.css +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1445 -1252
- package/dist/index.js.map +1 -1
- package/dist/index.source.d.ts +3 -0
- package/dist/svg/list.svg +3 -0
- package/dist/svg/rectanglesMixed.svg +3 -0
- package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +7 -1
- package/package.json +1 -1
|
@@ -625,6 +625,18 @@
|
|
|
625
625
|
"prop": "defaultPresetLabel",
|
|
626
626
|
"description": "New optional prop naming which presets entry (by its own label) starts out active. The named preset renders pressed in the list, its computed range seeds the selection so the calendar opens on it, and the trigger renders as a real selection rather than muted placeholder text. onChange is deliberately not called for this initial value. Mount-only, like defaultValue on an HTML input, and a no-op (development warning only) when the label matches no entry.",
|
|
627
627
|
"usage": "Set defaultPresetLabel to one of your presets' labels when the surface's underlying query already has a default window (e.g. a log viewer defaulting to the last 15 minutes), so the trigger reports what is actually on screen. Read your own initial state from the same constant you pass here rather than waiting for onChange. Requires presets and mode='range'."
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"component": "Datepicker",
|
|
631
|
+
"prop": "hourCycle",
|
|
632
|
+
"description": "New optional prop setting the hour format of the showTime field(s), forwarded to each embedded Timepicker. Defaults to 12 (hour + AM/PM, e.g. \"12:30 PM\"); 24 renders a 24-hour segment with no AM/PM (e.g. \"13:30\"). Existing pickers are unchanged.",
|
|
633
|
+
"usage": "Set hourCycle={24} on a surface whose other timestamps are already 24-hour, such as a log viewer. It cannot be reached through locale — the embedded fields always receive an explicit hourCycle, which overrides locale-derived formatting."
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"component": "Datepicker",
|
|
637
|
+
"prop": "showTodayButton",
|
|
638
|
+
"description": "New opt-out prop for the calendar footer's \"Today\" button. Defaults to true, so existing footers are unchanged; false leaves just the end-aligned buttons — Clear, plus Done when mode is \"range\" or showTime is set.",
|
|
639
|
+
"usage": "Set showTodayButton={false} where jumping to today is meaningless or redundant — e.g. a range picker whose presets already cover the current window. Blanking translationStrings.todayButton only empties the label, leaving the button in place."
|
|
628
640
|
}
|
|
629
641
|
],
|
|
630
642
|
"removals": [
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import './status-scrim.css';
|
|
3
|
+
export type StatusScrimStatus = 'frozen' | 'restricted';
|
|
4
|
+
export interface StatusScrimProps extends ComponentPropsWithoutRef<'div'> {
|
|
5
|
+
/**
|
|
6
|
+
* Additional class names
|
|
7
|
+
*/
|
|
8
|
+
className?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Label text. Defaults to 'Frozen' / 'Restricted' based on status; override
|
|
11
|
+
* for translation.
|
|
12
|
+
*/
|
|
13
|
+
label?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Which status the scrim represents. Sets the icon and default label.
|
|
16
|
+
*/
|
|
17
|
+
status: StatusScrimStatus;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* StatusScrim UI component
|
|
21
|
+
*/
|
|
22
|
+
export declare const StatusScrim: ({ className, label, status, ...props }: StatusScrimProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ComponentPropsWithRef, ReactNode } from 'react';
|
|
1
|
+
import { ComponentPropsWithRef, ReactNode, RefObject } from 'react';
|
|
2
|
+
import { type Placement } from '@floating-ui/react';
|
|
2
3
|
import { StatusDotType } from '../../../libs/components/StatusDot/StatusDot';
|
|
3
4
|
import { ButtonVariant, HeadingItemType, LinkItemType, MenuItemType, NodeItemType, SeparatorItemType } from '../../../libs/types/custom-types';
|
|
4
5
|
import { TallyProps } from '../../badges/Tally/Tally';
|
|
@@ -65,6 +66,21 @@ export interface MenuButtonProps extends ComponentPropsWithRef<'span'> {
|
|
|
65
66
|
* default (which can otherwise leave focus on an ancestor panel).
|
|
66
67
|
*/
|
|
67
68
|
onOpenChange?: (isOpen: boolean) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Preferred placement of the dropdown panel relative to its anchor.
|
|
71
|
+
* Defaults to `bottom-start` (current behavior). `SplitButton` passes
|
|
72
|
+
* this through unchanged — see its own `placement` prop.
|
|
73
|
+
*/
|
|
74
|
+
placement?: Placement;
|
|
75
|
+
/**
|
|
76
|
+
* Ref to an ancestor element that Floating UI should use as the
|
|
77
|
+
* *position* reference (while the trigger button remains the
|
|
78
|
+
* *interaction* reference for click/keyboard). Set internally by
|
|
79
|
+
* `SplitButton` when `isSplitButton` is true, so the panel anchors to
|
|
80
|
+
* the whole split-button control instead of just the caret half. Not
|
|
81
|
+
* intended for direct use outside `SplitButton`.
|
|
82
|
+
*/
|
|
83
|
+
positionReferenceRef?: RefObject<HTMLElement | null>;
|
|
68
84
|
/**
|
|
69
85
|
* Which size of button to render.
|
|
70
86
|
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import type { Placement } from '@floating-ui/react';
|
|
2
3
|
import { ButtonVariant, LinkItemType, MenuItemType } from '../../../libs/types/custom-types';
|
|
3
4
|
import { PDSIcon } from '../../icons/Icon/Icon';
|
|
4
5
|
import './split-button.css';
|
|
@@ -11,6 +12,16 @@ interface SplitButtonProps extends ComponentPropsWithoutRef<'span'> {
|
|
|
11
12
|
* Array of menu items
|
|
12
13
|
*/
|
|
13
14
|
actionItems: Array<LinkItemType | MenuItemType>;
|
|
15
|
+
/**
|
|
16
|
+
* Anchor the actions menu panel to the whole button (primary action +
|
|
17
|
+
* caret combined) instead of just the caret trigger. Defaults to
|
|
18
|
+
* `false` — the panel positions relative to the caret alone, matching
|
|
19
|
+
* current behavior. Set this when `placement` needs to align the panel
|
|
20
|
+
* with an edge of the whole control (e.g. `bottom-start` under the
|
|
21
|
+
* primary action's left edge, for a table row action) rather than just
|
|
22
|
+
* the caret's narrow width.
|
|
23
|
+
*/
|
|
24
|
+
anchorToFullButton?: boolean;
|
|
14
25
|
/**
|
|
15
26
|
* Additional class names
|
|
16
27
|
*/
|
|
@@ -32,6 +43,14 @@ interface SplitButtonProps extends ComponentPropsWithoutRef<'span'> {
|
|
|
32
43
|
* Label for the buttons additional actions menu.
|
|
33
44
|
*/
|
|
34
45
|
moreActionsLabel?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Preferred placement of the actions menu panel. Defaults to
|
|
48
|
+
* `bottom-start`, matching `MenuButton`'s own default. Aligns relative
|
|
49
|
+
* to the caret trigger alone unless `anchorToFullButton` is set, in
|
|
50
|
+
* which case it aligns relative to the whole control instead. Passed
|
|
51
|
+
* straight through to the underlying `MenuButton`.
|
|
52
|
+
*/
|
|
53
|
+
placement?: Placement;
|
|
35
54
|
/**
|
|
36
55
|
* Which size of button to render
|
|
37
56
|
*/
|
|
@@ -44,5 +63,5 @@ interface SplitButtonProps extends ComponentPropsWithoutRef<'span'> {
|
|
|
44
63
|
/**
|
|
45
64
|
* A component used to render a button with a primary action and a menu of additional options
|
|
46
65
|
*/
|
|
47
|
-
export declare const SplitButton: ({ actionItems, className, disabled, iconName, id, moreActionsLabel, size, variant, ...props }: SplitButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
export declare const SplitButton: ({ actionItems, anchorToFullButton, className, disabled, iconName, id, moreActionsLabel, placement, size, variant, ...props }: SplitButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
67
|
export {};
|
|
@@ -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-09-
|
|
6
|
+
* Generated: 2026-09-21T20:03:42.361Z
|
|
7
7
|
*/
|
|
8
8
|
import { customIcons } from './custom-icons';
|
|
9
9
|
export { customIcons };
|
|
@@ -1002,6 +1002,13 @@ export declare const iconData: {
|
|
|
1002
1002
|
readonly svgPathData: "M416 32L31.9 32C14.3 32 0 46.5 0 64.3L0 447.7C0 465.5 14.3 480 31.9 480L416 480c17.6 0 32-14.5 32-32.3l0-383.4C448 46.5 433.6 32 416 32zM135.4 416l-66.4 0 0-213.8 66.5 0 0 213.8-.1 0zM102.2 96a38.5 38.5 0 1 1 0 77 38.5 38.5 0 1 1 0-77zM384.3 416l-66.4 0 0-104c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9l0 105.8-66.4 0 0-213.8 63.7 0 0 29.2 .9 0c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9l0 117.2z";
|
|
1003
1003
|
readonly width: 448;
|
|
1004
1004
|
};
|
|
1005
|
+
readonly list: {
|
|
1006
|
+
readonly aliases: readonly [];
|
|
1007
|
+
readonly categories: readonly ["data", "navigation"];
|
|
1008
|
+
readonly height: 512;
|
|
1009
|
+
readonly svgPathData: "M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM184 72c-13.3 0-24 10.7-24 24s10.7 24 24 24l304 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L184 72zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24l304 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-304 0zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24l304 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-304 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z";
|
|
1010
|
+
readonly width: 512;
|
|
1011
|
+
};
|
|
1005
1012
|
readonly listCheck: {
|
|
1006
1013
|
readonly aliases: readonly ["checklist", "todo", "tasks"];
|
|
1007
1014
|
readonly categories: readonly ["actions"];
|
|
@@ -1191,6 +1198,13 @@ export declare const iconData: {
|
|
|
1191
1198
|
readonly svgPathData: "M64 112c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-256c0-8.8-7.2-16-16-16L64 112zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM160 320a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm104-56l160 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-160 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128l160 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-160 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z";
|
|
1192
1199
|
readonly width: 512;
|
|
1193
1200
|
};
|
|
1201
|
+
readonly rectanglesMixed: {
|
|
1202
|
+
readonly aliases: readonly ["bento", "boxes"];
|
|
1203
|
+
readonly categories: readonly ["navigation", "objects"];
|
|
1204
|
+
readonly height: 512;
|
|
1205
|
+
readonly svgPathData: "M240 112l0 96-192 0 0-96 192 0zM48 64C21.5 64 0 85.5 0 112l0 96c0 26.5 21.5 48 48 48l192 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48L48 64zm416 48l0 256-64 0 0-256 64 0zM400 64c-26.5 0-48 21.5-48 48l0 256c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-256c0-26.5-21.5-48-48-48l-64 0zM112 368l128 0 0 64-128 0 0-64zm-48 0l0 64c0 26.5 21.5 48 48 48l128 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-128 0c-26.5 0-48 21.5-48 48z";
|
|
1206
|
+
readonly width: 512;
|
|
1207
|
+
};
|
|
1194
1208
|
readonly reply: {
|
|
1195
1209
|
readonly aliases: readonly ["respond", "answer"];
|
|
1196
1210
|
readonly categories: readonly ["actions", "communication"];
|
|
@@ -1640,7 +1654,7 @@ export declare const iconData: {
|
|
|
1640
1654
|
readonly width: 576;
|
|
1641
1655
|
};
|
|
1642
1656
|
};
|
|
1643
|
-
export declare const iconList: readonly ["angleDown", "angleLeft", "angleRight", "anglesDown", "anglesLeft", "anglesRight", "anglesUp", "angleUp", "arrowDownToLine", "arrowDownWideShort", "arrowLeft", "arrowRight", "arrowsRetweet", "arrowUpShortWide", "asterisk", "banBug", "bars", "barsFilter", "barsStaggered", "bell", "billboard", "bitbucket", "bluesky", "bolt", "boltPantheon", "boltSolid", "book", "bookmark", "bookmarkSolid", "books", "box", "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", "circleHalfStroke", "circleInfo", "circleInfoSolid", "circleMinus", "circleNotch", "circlePlus", "circleQuestion", "circleQuestionSolid", "circleUser", "circleXmark", "claude", "clock", "cloud", "cloudArrowDown", "cloudArrowUp", "cloudPlus", "code", "codeBranch", "codeMerge", "collapseToCenter", "command", "comment", "compress", "copy", "desktop", "diagramVenn", "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", "floppyDisk", "folder", "folders", "folderTree", "gear", "gem", "github", "gitlab", "globe", "graduationCap", "grid", "grid2", "gripDots", "gripDotsVertical", "heart", "heartSolid", "house", "idCard", "image", "inputText", "instagram", "keySkeleton", "landmark", "laptop", "laptopCode", "leaf", "lifeRing", "link", "linkedin", "listCheck", "locationCrosshairs", "lock", "lockOpen", "magnifyingGlass", "medal", "memo", "messages", "minus", "moon", "move", "nextJs", "octagonExclamation", "openai", "paperclip", "paperPlane", "pause", "pen", "penField", "penPaintbrush", "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", "slider", "slidersSimple", "snowflake", "sparkles", "squareCheck", "squareCode", "squareDashed", "squareMinus", "squarePen", "squareQuestion", "squareTerminal", "star", "starSolid", "sun", "sunBright", "table", "tableColumns", "tableRows", "terminal", "text", "threads", "thumbsDown", "thumbsUp", "trash", "triangleExclamation", "twitter", "unlink", "upload", "user", "userAstronaut", "userGear", "userPlus", "users", "userSolid", "video", "wavePulse", "windowRestore", "wordpress", "wreathLaurel", "wrench", "xmark", "xmarkLarge", "xTwitter", "youtube"];
|
|
1657
|
+
export declare const iconList: readonly ["angleDown", "angleLeft", "angleRight", "anglesDown", "anglesLeft", "anglesRight", "anglesUp", "angleUp", "arrowDownToLine", "arrowDownWideShort", "arrowLeft", "arrowRight", "arrowsRetweet", "arrowUpShortWide", "asterisk", "banBug", "bars", "barsFilter", "barsStaggered", "bell", "billboard", "bitbucket", "bluesky", "bolt", "boltPantheon", "boltSolid", "book", "bookmark", "bookmarkSolid", "books", "box", "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", "circleHalfStroke", "circleInfo", "circleInfoSolid", "circleMinus", "circleNotch", "circlePlus", "circleQuestion", "circleQuestionSolid", "circleUser", "circleXmark", "claude", "clock", "cloud", "cloudArrowDown", "cloudArrowUp", "cloudPlus", "code", "codeBranch", "codeMerge", "collapseToCenter", "command", "comment", "compress", "copy", "desktop", "diagramVenn", "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", "floppyDisk", "folder", "folders", "folderTree", "gear", "gem", "github", "gitlab", "globe", "graduationCap", "grid", "grid2", "gripDots", "gripDotsVertical", "heart", "heartSolid", "house", "idCard", "image", "inputText", "instagram", "keySkeleton", "landmark", "laptop", "laptopCode", "leaf", "lifeRing", "link", "linkedin", "list", "listCheck", "locationCrosshairs", "lock", "lockOpen", "magnifyingGlass", "medal", "memo", "messages", "minus", "moon", "move", "nextJs", "octagonExclamation", "openai", "paperclip", "paperPlane", "pause", "pen", "penField", "penPaintbrush", "phone", "play", "plus", "question", "quotesLeft", "quotesRight", "rectangleList", "rectanglesMixed", "reply", "robot", "rocketLaunch", "rotate", "rotateClock", "rotateLeft", "rotateRight", "rss", "save", "server", "shareNodes", "shield", "shieldQuartered", "shovel", "sidebar", "siren", "sirenOn", "sitemap", "slack", "slashForward", "slider", "slidersSimple", "snowflake", "sparkles", "squareCheck", "squareCode", "squareDashed", "squareMinus", "squarePen", "squareQuestion", "squareTerminal", "star", "starSolid", "sun", "sunBright", "table", "tableColumns", "tableRows", "terminal", "text", "threads", "thumbsDown", "thumbsUp", "trash", "triangleExclamation", "twitter", "unlink", "upload", "user", "userAstronaut", "userGear", "userPlus", "users", "userSolid", "video", "wavePulse", "windowRestore", "wordpress", "wreathLaurel", "wrench", "xmark", "xmarkLarge", "xTwitter", "youtube"];
|
|
1644
1658
|
export type PDSIconName = (typeof iconList)[number];
|
|
1645
1659
|
export declare const categoryList: readonly ["actions", "arrows", "brands", "communication", "custom", "data", "development", "documents", "financial", "media", "navigation", "objects", "security", "status", "users"];
|
|
1646
1660
|
export type IconCategory = (typeof categoryList)[number];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import './platform-icon.css';
|
|
3
|
-
export type PlatformSize = 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl';
|
|
3
|
+
export type PlatformSize = 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl';
|
|
4
4
|
export type PlatformType = 'drupal' | 'gatsby' | 'google' | 'import-custom' | 'microsoft' | 'next' | 'splunk' | 'sumo-logic' | 'wordpress';
|
|
5
5
|
export interface PlatformIconProps extends ComponentPropsWithoutRef<'div'> {
|
|
6
6
|
className?: string;
|
|
@@ -36,6 +36,12 @@ export interface ComboboxProps extends Omit<ComponentPropsWithoutRef<'div'>, 'on
|
|
|
36
36
|
* Is the field disabled?
|
|
37
37
|
*/
|
|
38
38
|
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Persistent content rendered below the options list (e.g. a "Create new…"
|
|
41
|
+
* link). Unlike an option, it isn't selectable and stays visible
|
|
42
|
+
* regardless of filtering, loading, or no-results state.
|
|
43
|
+
*/
|
|
44
|
+
footer?: ReactNode;
|
|
39
45
|
/**
|
|
40
46
|
* Should the combobox have a clear button?
|
|
41
47
|
*/
|
|
@@ -42,6 +42,12 @@ export interface ComboboxMultiselectProps extends DivProps {
|
|
|
42
42
|
* Is the field disabled?
|
|
43
43
|
*/
|
|
44
44
|
disabled?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Persistent content rendered below the options list (e.g. a "Create new…"
|
|
47
|
+
* link). Unlike an option, it isn't selectable and stays visible
|
|
48
|
+
* regardless of filtering, loading, or no-results state.
|
|
49
|
+
*/
|
|
50
|
+
footer?: ReactNode;
|
|
45
51
|
/**
|
|
46
52
|
* ID of the combobox multiselect
|
|
47
53
|
*/
|
|
@@ -116,5 +122,5 @@ export interface ComboboxMultiselectProps extends DivProps {
|
|
|
116
122
|
/**
|
|
117
123
|
* ComboboxMultiselect UI component
|
|
118
124
|
*/
|
|
119
|
-
export declare const ComboboxMultiselect: ({ aiSuggestions, className, disabled, id, initialSelectedItems, inputWidth, inputWidthMin, isLoading, label, labelStrings, loadingText, noResultsText, onChange, options, placeholder, required, showAllTags, showLabel, size, ...props }: ComboboxMultiselectProps) => import("react/jsx-runtime").JSX.Element;
|
|
125
|
+
export declare const ComboboxMultiselect: ({ aiSuggestions, className, disabled, footer, id, initialSelectedItems, inputWidth, inputWidthMin, isLoading, label, labelStrings, loadingText, noResultsText, onChange, options, placeholder, required, showAllTags, showLabel, size, ...props }: ComboboxMultiselectProps) => import("react/jsx-runtime").JSX.Element;
|
|
120
126
|
export {};
|
|
@@ -137,6 +137,14 @@ interface DatepickerSharedProps extends DatepickerHTMLProps {
|
|
|
137
137
|
* doesn't prescribe what goes there.
|
|
138
138
|
*/
|
|
139
139
|
footerNote?: ReactNode;
|
|
140
|
+
/**
|
|
141
|
+
* Hour format for the `showTime` field(s), forwarded to each embedded
|
|
142
|
+
* `Timepicker`. `12` displays hour + AM/PM (e.g. "12:30 PM"); `24`
|
|
143
|
+
* displays a 24-hour hour segment with no AM/PM (e.g. "13:30"). Not
|
|
144
|
+
* derivable from `locale` — the embedded fields always receive an
|
|
145
|
+
* explicit `hourCycle`, which overrides locale-derived formatting.
|
|
146
|
+
*/
|
|
147
|
+
hourCycle?: 12 | 24;
|
|
140
148
|
/**
|
|
141
149
|
* Input ID.
|
|
142
150
|
*/
|
|
@@ -234,6 +242,14 @@ interface DatepickerSharedProps extends DatepickerHTMLProps {
|
|
|
234
242
|
* date. Has no effect unless `showTime` is also true.
|
|
235
243
|
*/
|
|
236
244
|
showTimeZoneSwitcher?: boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Whether the calendar footer includes its "Today" button. Defaults to
|
|
247
|
+
* `true`. Set to `false` to leave only the end-aligned buttons —
|
|
248
|
+
* `Clear`, plus `Done` when `mode` is `'range'` or `showTime` is set.
|
|
249
|
+
* Blanking `translationStrings.todayButton` only empties the label,
|
|
250
|
+
* leaving the button itself in place.
|
|
251
|
+
*/
|
|
252
|
+
showTodayButton?: boolean;
|
|
237
253
|
/**
|
|
238
254
|
* IANA time zone identifier (e.g. "America/Los_Angeles", "UTC") used to
|
|
239
255
|
* combine the selected date with `showTime`'s entered time-of-day into a
|
|
@@ -318,5 +334,5 @@ export type DatepickerProps = SingleDatepickerProps | RangeDatepickerProps;
|
|
|
318
334
|
/**
|
|
319
335
|
* Datepicker UI component.
|
|
320
336
|
*/
|
|
321
|
-
export declare const Datepicker: ({ allowCustomRange, allowDateRangeSelection, className, defaultPresetLabel, disabled, footerNote, id, inputWidth, inputWidthMin, label, locale, maxDate, message, minDate, mode, onChange, placeholder, presets, required, showLabel, showPresetCalendar, showTime, showTimeZoneSwitcher, timeZone, tooltipText, translationStrings: translationStringsProp, validationMessage, validationStatus, value, visibleMonths, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
337
|
+
export declare const Datepicker: ({ allowCustomRange, allowDateRangeSelection, className, defaultPresetLabel, disabled, footerNote, hourCycle, id, inputWidth, inputWidthMin, label, locale, maxDate, message, minDate, mode, onChange, placeholder, presets, required, showLabel, showPresetCalendar, showTime, showTimeZoneSwitcher, showTodayButton, timeZone, tooltipText, translationStrings: translationStringsProp, validationMessage, validationStatus, value, visibleMonths, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
322
338
|
export {};
|
|
@@ -67,6 +67,12 @@ export interface SelectProps {
|
|
|
67
67
|
* Is the field disabled?
|
|
68
68
|
*/
|
|
69
69
|
disabled?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Persistent content rendered below the options list (e.g. a "Create new…"
|
|
72
|
+
* link). Unlike an option, it isn't selectable and stays visible
|
|
73
|
+
* regardless of the current options.
|
|
74
|
+
*/
|
|
75
|
+
footer?: ReactNode;
|
|
70
76
|
/**
|
|
71
77
|
* Optional icon to display before the placeholder text (selectOptionText). Only shows when no value is selected.
|
|
72
78
|
*/
|
|
@@ -158,5 +164,5 @@ export declare const SelectOptionGroup: ({ children, label, }: SelectOptionGroup
|
|
|
158
164
|
/**
|
|
159
165
|
* Select UI component
|
|
160
166
|
*/
|
|
161
|
-
export declare const Select: ({ autoWidth, className, defaultValue, disabled, icon, id, inputWidth, inputWidthMin, label, labelStrings, message, onBlur, onFocus, onOptionSelect, options, required, showLabel, showSelectedIcon, size, tooltipText, validationMessage, validationStatus, value, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
167
|
+
export declare const Select: ({ autoWidth, className, defaultValue, disabled, footer, icon, id, inputWidth, inputWidthMin, label, labelStrings, message, onBlur, onFocus, onOptionSelect, options, required, showLabel, showSelectedIcon, size, tooltipText, validationMessage, validationStatus, value, ...props }: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
162
168
|
export {};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import { MenuItemType } from '../../../libs/types/custom-types';
|
|
3
|
+
import './bookmarks-menu.css';
|
|
4
|
+
/**
|
|
5
|
+
* A single bookmark row, shared by `BookmarksMenu` and `BookmarksPanel`.
|
|
6
|
+
*/
|
|
7
|
+
export type BookmarkItem = {
|
|
8
|
+
/**
|
|
9
|
+
* Stable id, used for React list keys. Omit only if `title` is
|
|
10
|
+
* guaranteed unique across the list.
|
|
11
|
+
*/
|
|
12
|
+
id?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Link element the row navigates to on selection (e.g. `<a href='...'>`
|
|
15
|
+
* or a router `Link`).
|
|
16
|
+
*/
|
|
17
|
+
linkContent: ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Removes the bookmark. Omit to hide the kebab's Remove action.
|
|
20
|
+
*/
|
|
21
|
+
onRemove?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* Renames the bookmark. Omit to hide the kebab's Rename action.
|
|
24
|
+
*/
|
|
25
|
+
onRename?: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Secondary text below the title (e.g. site/team name).
|
|
28
|
+
*/
|
|
29
|
+
subtitle?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Bookmark title.
|
|
32
|
+
*/
|
|
33
|
+
title: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Translation strings shared by `buildBookmarkMenuItems`'s two callers
|
|
37
|
+
* (`BookmarksMenu`, `BookmarksPanel`).
|
|
38
|
+
*/
|
|
39
|
+
export type BookmarkMenuItemLabels = {
|
|
40
|
+
/**
|
|
41
|
+
* Returns the accessible label for the Remove action when it's critical
|
|
42
|
+
* (destructive) styled.
|
|
43
|
+
* Defaults to `(bookmark) => \`Remove ${bookmark.title}\``.
|
|
44
|
+
*/
|
|
45
|
+
getRemoveCriticalLabel?: (bookmark: BookmarkItem) => string;
|
|
46
|
+
/**
|
|
47
|
+
* Label for the kebab's Remove action.
|
|
48
|
+
* @default 'Remove'
|
|
49
|
+
*/
|
|
50
|
+
removeLabel?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Label for the kebab's Rename action.
|
|
53
|
+
* @default 'Rename'
|
|
54
|
+
*/
|
|
55
|
+
renameLabel?: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Builds the kebab's Rename/Remove menu items for a bookmark row.
|
|
59
|
+
*/
|
|
60
|
+
export declare const buildBookmarkMenuItems: (bookmark: BookmarkItem, labels?: BookmarkMenuItemLabels) => MenuItemType[];
|
|
61
|
+
/**
|
|
62
|
+
* Centered icon + message shown in place of the bookmark list when empty.
|
|
63
|
+
*/
|
|
64
|
+
export declare const BookmarksEmptyState: ({ text }: {
|
|
65
|
+
text: string;
|
|
66
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
/**
|
|
68
|
+
* Prop types for BookmarksMenu
|
|
69
|
+
*/
|
|
70
|
+
export interface BookmarksMenuProps extends ComponentPropsWithoutRef<'span'> {
|
|
71
|
+
/**
|
|
72
|
+
* Aria label for the trigger button.
|
|
73
|
+
* @default 'Bookmarks'
|
|
74
|
+
*/
|
|
75
|
+
ariaLabel?: string;
|
|
76
|
+
/**
|
|
77
|
+
* The user's bookmarks.
|
|
78
|
+
*/
|
|
79
|
+
bookmarks?: BookmarkItem[];
|
|
80
|
+
/**
|
|
81
|
+
* Additional class names
|
|
82
|
+
*/
|
|
83
|
+
className?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Label for the header's "+ Create" action.
|
|
86
|
+
* @default 'Create'
|
|
87
|
+
*/
|
|
88
|
+
createLabel?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Returns the accessible label for a row's kebab menu.
|
|
91
|
+
* Defaults to `(bookmark) => \`Actions for ${bookmark.title}\``.
|
|
92
|
+
*/
|
|
93
|
+
getMenuAriaLabel?: (bookmark: BookmarkItem) => string;
|
|
94
|
+
/**
|
|
95
|
+
* Returns the accessible label for a row's Remove action.
|
|
96
|
+
* Defaults to `(bookmark) => \`Remove ${bookmark.title}\``.
|
|
97
|
+
*/
|
|
98
|
+
getRemoveCriticalLabel?: (bookmark: BookmarkItem) => string;
|
|
99
|
+
/**
|
|
100
|
+
* Heading shown in the panel's header.
|
|
101
|
+
* @default 'Bookmarks'
|
|
102
|
+
*/
|
|
103
|
+
heading?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Fills the trigger icon to indicate the current page is already
|
|
106
|
+
* bookmarked. The component has no router access of its own, so the
|
|
107
|
+
* consumer derives this from its own current-page/router state.
|
|
108
|
+
*/
|
|
109
|
+
isBookmarked?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Opt in to swapping the trigger + floating panel for an inline
|
|
112
|
+
* accordion at the mobile breakpoint. Defaults to `false` —
|
|
113
|
+
* BookmarksMenu always renders its normal trigger + panel otherwise,
|
|
114
|
+
* regardless of viewport. Set this explicitly when placing
|
|
115
|
+
* BookmarksMenu inside a mobile nav menu that provides the accordion's
|
|
116
|
+
* expected layout (e.g. `Navbar`'s own mobile menu) — typically
|
|
117
|
+
* `isMobileAccordion={useIsMobile()}`, using the `useIsMobile` hook, so
|
|
118
|
+
* the swap only takes effect at the mobile breakpoint.
|
|
119
|
+
*/
|
|
120
|
+
isMobileAccordion?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Caps the panel's height in pixels. Omit to size it to the available
|
|
123
|
+
* viewport space only.
|
|
124
|
+
*/
|
|
125
|
+
maxHeightValue?: number;
|
|
126
|
+
/**
|
|
127
|
+
* Text shown in place of the list when there are no bookmarks.
|
|
128
|
+
*/
|
|
129
|
+
noResultsText?: string;
|
|
130
|
+
/**
|
|
131
|
+
* Called when the "+ Create" action in the panel's header is selected.
|
|
132
|
+
* Omit to hide that action entirely. The consumer owns what happens
|
|
133
|
+
* next (a modal, a new page, etc.).
|
|
134
|
+
*/
|
|
135
|
+
onCreateBookmark?: () => void;
|
|
136
|
+
/**
|
|
137
|
+
* Label for a row's kebab Remove action.
|
|
138
|
+
* @default 'Remove'
|
|
139
|
+
*/
|
|
140
|
+
removeLabel?: string;
|
|
141
|
+
/**
|
|
142
|
+
* Label for a row's kebab Rename action.
|
|
143
|
+
* @default 'Rename'
|
|
144
|
+
*/
|
|
145
|
+
renameLabel?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* BookmarksMenu UI component. Top-nav icon trigger that opens a floating
|
|
149
|
+
* panel listing the user's bookmarks.
|
|
150
|
+
*/
|
|
151
|
+
export declare const BookmarksMenu: ({ ariaLabel, bookmarks, className, createLabel, getMenuAriaLabel, getRemoveCriticalLabel, heading, isBookmarked, isMobileAccordion, maxHeightValue, noResultsText, onCreateBookmark, removeLabel, renameLabel, ...props }: BookmarksMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
2
|
import { ContainerWidth } from '../../../libs/types/custom-types';
|
|
3
|
+
import { GapScale } from '../../../libs/types/layout-types';
|
|
3
4
|
import './navbar.css';
|
|
4
5
|
/**
|
|
5
6
|
* Prop types for Navbar
|
|
@@ -26,14 +27,26 @@ export interface NavbarProps extends ComponentPropsWithoutRef<'header'> {
|
|
|
26
27
|
*/
|
|
27
28
|
hideBorder?: boolean;
|
|
28
29
|
/**
|
|
29
|
-
* Overrides the horizontal
|
|
30
|
-
*
|
|
31
|
-
* '
|
|
32
|
-
* Container's standard gutter. Useful for aligning navbar content with an
|
|
33
|
-
* adjacent app shell (e.g. the AppLayout sidebar) when placed in a `header`
|
|
34
|
-
* slot.
|
|
30
|
+
* Overrides the desktop bar's horizontal padding (any CSS length) so it
|
|
31
|
+
* can align with something outside the Navbar, e.g. a sidebar's padding.
|
|
32
|
+
* @default Container's standard gutter
|
|
35
33
|
*/
|
|
36
34
|
inlinePadding?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Gap between items in the `items-center` slot, desktop only.
|
|
37
|
+
* @default 'm'
|
|
38
|
+
*/
|
|
39
|
+
itemsCenterGap?: GapScale;
|
|
40
|
+
/**
|
|
41
|
+
* Gap between items in the `items-left` slot, desktop only.
|
|
42
|
+
* @default 'm'
|
|
43
|
+
*/
|
|
44
|
+
itemsLeftGap?: GapScale;
|
|
45
|
+
/**
|
|
46
|
+
* Gap between items in the `items-right` slot, desktop only.
|
|
47
|
+
* @default 'm'
|
|
48
|
+
*/
|
|
49
|
+
itemsRightGap?: GapScale;
|
|
37
50
|
/**
|
|
38
51
|
* Translation strings for accessibility.
|
|
39
52
|
*/
|
|
@@ -45,4 +58,4 @@ export interface NavbarProps extends ComponentPropsWithoutRef<'header'> {
|
|
|
45
58
|
/**
|
|
46
59
|
* Navbar UI component
|
|
47
60
|
*/
|
|
48
|
-
export declare const Navbar: ({ children, className, colorType, containerWidth, hideBorder, inlinePadding, translationStrings, ...props }: NavbarProps) => import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export declare const Navbar: ({ children, className, colorType, containerWidth, hideBorder, inlinePadding, itemsCenterGap, itemsLeftGap, itemsRightGap, translationStrings, ...props }: NavbarProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { BookmarkItem } from '../../navigation/BookmarksMenu/BookmarksMenu';
|
|
3
|
+
import './bookmarks-panel.css';
|
|
4
|
+
/**
|
|
5
|
+
* Prop types for BookmarksPanel
|
|
6
|
+
*/
|
|
7
|
+
export interface BookmarksPanelProps extends ComponentPropsWithoutRef<'div'> {
|
|
8
|
+
/**
|
|
9
|
+
* The user's bookmarks.
|
|
10
|
+
*/
|
|
11
|
+
bookmarks?: BookmarkItem[];
|
|
12
|
+
/**
|
|
13
|
+
* Additional class names
|
|
14
|
+
*/
|
|
15
|
+
className?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Caps the height of the content region only. Passed straight through
|
|
18
|
+
* to `WidgetPanel`.
|
|
19
|
+
*/
|
|
20
|
+
contentMaxHeight?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Label for the footer's "Create bookmark" action.
|
|
23
|
+
* @default 'Create bookmark'
|
|
24
|
+
*/
|
|
25
|
+
createLabel?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the accessible label for a row's kebab menu.
|
|
28
|
+
* Defaults to `(bookmark) => \`Actions for ${bookmark.title}\``.
|
|
29
|
+
*/
|
|
30
|
+
getMenuAriaLabel?: (bookmark: BookmarkItem) => string;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the accessible label for a row's Remove action.
|
|
33
|
+
* Defaults to `(bookmark) => \`Remove ${bookmark.title}\``.
|
|
34
|
+
*/
|
|
35
|
+
getRemoveCriticalLabel?: (bookmark: BookmarkItem) => string;
|
|
36
|
+
/**
|
|
37
|
+
* Heading for the panel.
|
|
38
|
+
* @default 'Bookmarks'
|
|
39
|
+
*/
|
|
40
|
+
heading?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Text shown in place of the list when there are no bookmarks.
|
|
43
|
+
*/
|
|
44
|
+
noResultsText?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Called when the "Create bookmark" footer action is selected. Omit to
|
|
47
|
+
* hide that action entirely. The consumer owns what happens next (a
|
|
48
|
+
* modal, a new page, etc.).
|
|
49
|
+
*/
|
|
50
|
+
onCreateBookmark?: () => void;
|
|
51
|
+
/**
|
|
52
|
+
* Label for a row's kebab Remove action.
|
|
53
|
+
* @default 'Remove'
|
|
54
|
+
*/
|
|
55
|
+
removeLabel?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Label for a row's kebab Rename action.
|
|
58
|
+
* @default 'Rename'
|
|
59
|
+
*/
|
|
60
|
+
renameLabel?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* BookmarksPanel UI component. Persistently-visible, embedded variant of
|
|
64
|
+
* the bookmark list for homepage/sidebar widget slots, built on
|
|
65
|
+
* `WidgetPanel`.
|
|
66
|
+
*/
|
|
67
|
+
export declare const BookmarksPanel: ({ bookmarks, className, contentMaxHeight, createLabel, getMenuAriaLabel, getRemoveCriticalLabel, heading, noResultsText, onCreateBookmark, removeLabel, renameLabel, ...props }: BookmarksPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-bookmarks-menu{display:inline-flex}.pds-bookmarks-menu .pds-nav-accordion{width:100%}[data-pds-mobile] .pds-navbar__mobile .pds-bookmarks-menu{background-color:var(--pds-color-surface-default);border-block-end:var(--pds-border-width-default) solid var(--pds-color-border-default);left:50%;margin-inline-start:-50vw;position:relative;right:50%;width:100vw}.pds-bookmarks-menu__panel{padding-block-start:0;width:17.5rem}.pds-bookmarks-menu__header{align-items:center;background-color:var(--pds-color-dropdown-background);border-block-end:var(--pds-border-width-default) solid var(--pds-color-dropdown-separator);color:var(--pds-color-dropdown-foreground);display:flex;font-family:var(--pds-typography-ff-default);font-size:var(--pds-typography-size-m);font-weight:var(--pds-typography-fw-semibold);justify-content:space-between;letter-spacing:normal;line-height:1;margin-block-end:var(--pds-spacing-4xs);margin-inline:calc(var(--pds-spacing-2xs)*-1);padding-block:var(--pds-spacing-2xs);padding-inline:calc(var(--pds-spacing-2xs) + var(--pds-spacing-xs));position:sticky;top:0;z-index:1}.pds-bookmarks-menu__panel .pds-dropdown__action-item{line-height:var(--pds-typography-lh-s)}.pds-bookmarks-menu__panel .pds-dropdown__item-content,.pds-bookmarks-menu__panel .pds-dropdown__item-label{min-width:0}.pds-bookmarks-menu__panel .pds-dropdown__item-description{margin-block-start:var(--pds-spacing-5xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-bookmarks-menu__item-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-bookmarks-menu__empty{padding-block:var(--pds-spacing-m)}.pds-bookmarks-empty-state{align-items:center;display:flex;flex-direction:column;gap:var(--pds-spacing-xs);padding-inline:var(--pds-spacing-s);text-align:center}.pds-bookmarks-empty-state__icon,.pds-bookmarks-empty-state__text{color:var(--pds-color-foreground-default-secondary)}.pds-bookmarks-empty-state__text{font-size:var(--pds-typography-size-s);line-height:var(--pds-typography-lh-m);margin:0}.pds-bookmarks-menu__mobile-label{align-items:center;display:flex;gap:var(--pds-spacing-xs)}.pds-bookmarks-menu__mobile-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.pds-bookmarks-menu__mobile-item .pds-row-actions-menu{min-height:unset;padding-block:var(--pds-spacing-xs);padding-inline-end:var(--pds-spacing-l)}.pds-bookmarks-menu__mobile-item .pds-row-actions-menu__content a{padding-inline-start:var(--pds-spacing-m)}.pds-bookmarks-menu__mobile-item-label{display:flex;flex-direction:column;min-width:0}.pds-bookmarks-menu__mobile-item-title{font-size:var(--pds-typography-size-s);line-height:var(--pds-typography-lh-s)}.pds-bookmarks-menu__mobile-item-subtitle{color:var(--pds-color-foreground-default-secondary);font-size:var(--pds-typography-size-xs);line-height:var(--pds-typography-lh-s);margin-block-start:var(--pds-spacing-5xs)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-bookmarks-panel .pds-widget-panel__content{padding-block:var(--pds-spacing-3xs)}.pds-bookmarks-panel .pds-bookmarks-empty-state{padding-block:var(--pds-spacing-m)}.pds-bookmarks-panel__list{display:flex;flex-direction:column;list-style:none;margin-block:0;margin-inline:calc(var(--panel-padding-inline)*-1);padding:0;row-gap:var(--pds-spacing-xs)}.pds-bookmarks-panel__item-label{display:flex;flex-direction:column;min-width:0}.pds-bookmarks-panel__item-subtitle,.pds-bookmarks-panel__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-bookmarks-panel__item-title{font-size:var(--pds-typography-size-s);line-height:var(--pds-typography-lh-s)}.pds-bookmarks-panel__item-subtitle{color:var(--pds-color-foreground-default-secondary);font-size:var(--pds-typography-size-xs);line-height:var(--pds-typography-lh-s);margin-block-start:var(--pds-spacing-5xs)}}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
@layer pds-v1, pds-v2;@layer pds-v2{.pds-combobox-multi{position:relative}.pds-combobox-multi:disabled .pds-combobox-multi__input-wrapper{border-color:var(--pds-color-border-disabled)}.pds-combobox-multi__items-wrapper .pds-combobox-multi__selected-item:not(:last-child){display:none}.pds-combobox-multi--show-all-tags .pds-combobox-multi__input-wrapper:has(.pds-combobox-multi__items-wrapper){height:auto;min-height:var(--pds-spacing-input-height-s);padding-block:var(--pds-spacing-3xs)}.pds-combobox-multi--show-all-tags .pds-combobox-multi__items-wrapper{column-gap:var(--pds-spacing-3xs);display:flex;flex-wrap:wrap;row-gap:var(--pds-spacing-3xs)}.pds-combobox-multi--show-all-tags .pds-combobox-multi__items-wrapper .pds-combobox-multi__selected-item:not(:last-child){display:inline-flex}.pds-combobox-multi--m .pds-combobox-multi__input-wrapper{gap:var(--pds-spacing-3xs);height:var(--pds-spacing-input-height-m);padding-inline-end:var(--pds-spacing-s);padding-inline-start:var(--pds-spacing-2xs)}.pds-combobox-multi--show-all-tags.pds-combobox-multi--m
|
|
2
2
|
.pds-combobox-multi__input-wrapper:has(.pds-combobox-multi__items-wrapper){min-height:var(--pds-spacing-input-height-m)}.pds-combobox-multi--m .pds-combobox-multi__aux-panel-button{height:1.5rem;width:1.5rem}.pds-combobox-multi--m .pds-combobox-multi__ai-button{padding:var(--pds-spacing-3xs) var(--pds-spacing-2xs)}.pds-combobox-multi--m .pds-combobox-multi__aux-panel{padding:var(--pds-spacing-s) var(--pds-spacing-s)}.pds-combobox-multi--m .pds-combobox-multi__aux-panel-item{font-size:var(--pds-typography-size-xs);padding:var(--pds-spacing-3xs) var(--pds-spacing-2xs)}.pds-combobox-multi--m .pds-combobox-multi__selected-item{padding:var(--pds-spacing-3xs) var(--pds-spacing-2xs)}.pds-combobox-multi--m .pds-combobox-multi__selected-item-remove,.pds-combobox-multi--m .pds-combobox-multi__selected-item-remove svg{height:.75rem;width:.75rem}.pds-combobox-multi--m .pds-combobox-multi__counter,.pds-combobox-multi--m .pds-combobox-multi__counter-item,.pds-combobox-multi--m .pds-combobox-multi__counter-layer{height:1.5rem}.pds-combobox-multi__selected-item{align-items:center;background:var(--pds-color-input-tag-background-default);border-radius:var(--pds-border-radius-default);color:var(--pds-color-input-tag-foreground-default);display:inline-flex;font-size:.75rem;font-weight:var(--pds-typography-fw-regular);gap:var(--pds-spacing-3xs);justify-content:center;line-height:1;padding:var(--pds-spacing-4xs) var(--pds-spacing-3xs);text-wrap:nowrap}.pds-combobox-multi__selected-item:hover{background:var(--pds-color-input-tag-background-hover)}.pds-combobox-multi__selected-item:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0}.pds-combobox-multi__selected-item-text{margin-top:1px}.pds-combobox-multi__selected-item-remove{align-items:center;background:transparent;border:none;border-radius:var(--pds-border-radius-default);color:var(--pds-color-foreground-default-secondary);cursor:pointer;display:flex;height:.75rem;justify-content:center;padding:0;width:.75rem}.pds-combobox-multi__selected-item-remove:hover{color:var(--pds-color-foreground-default)}.pds-combobox-multi__selected-item-remove:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:1px}.pds-combobox-multi__selected-item--marked-for-deletion .pds-combobox-multi__selected-item-remove{outline:1px solid var(--pds-color-interactive-focus)}.pds-combobox-multi__input-wrapper{align-items:center;background-color:var(--pds-color-surface-default);border:var(--pds-border-width-default) solid var(--pds-color-border-input);border-radius:var(--pds-border-radius-input);box-sizing:border-box;cursor:pointer;display:flex;gap:var(--pds-spacing-3xs);height:var(--pds-spacing-input-height-s);overflow:hidden;padding-block:0;padding-inline-end:var(--pds-spacing-xs);padding-inline-start:var(--pds-spacing-3xs);transition:var(--pds-animation-transition-input);width:100%}.pds-combobox-multi__input-wrapper:focus{outline:none}.pds-combobox-multi__input-wrapper:focus-visible,.pds-combobox-multi__input-wrapper[data-focus-method=keyboard]:focus{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0;transition:var(--pds-animation-transition-focus)}.pds-combobox-multi__input-wrapper:has(:focus-visible){outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0;transition:var(--pds-animation-transition-focus)}.pds-combobox-multi__counter{display:inline-block;height:1.25rem;position:relative}.pds-combobox-multi__counter-wrapper{display:flex;position:relative}.pds-combobox-multi__counter-layer{background-color:var(--pds-color-input-tag-background-default);width:.375rem}.pds-combobox-multi__counter-item,.pds-combobox-multi__counter-layer{border-radius:var(--pds-border-radius-default);box-shadow:-2px 0 0 0 var(--pds-color-surface-default);height:1.25rem}.pds-combobox-multi__counter-item{align-items:center;background:var(--pds-color-input-tag-background-default);color:var(--pds-color-input-tag-foreground-default);display:flex;font-size:.75rem;font-weight:var(--pds-typography-fw-regular);justify-content:center;width:1.28125rem}.pds-combobox-multi__end-actions{align-items:center;align-self:center;display:flex;flex-shrink:0;gap:var(--pds-spacing-2xs);margin-inline-start:auto}.pds-combobox-multi__trigger{align-items:center;background-color:transparent;border:none;border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);display:flex;justify-content:center;padding:var(--pds-spacing-4xs)}.pds-combobox-multi__trigger:disabled{cursor:not-allowed}.pds-combobox-multi__trigger:focus-visible{outline:none}.pds-combobox-multi__trigger-icon{color:var(--pds-color-foreground-default-secondary);pointer-events:none;transition:var(--pds-animation-transition-rotation)}.pds-combobox-multi__trigger[aria-expanded=true]
|
|
3
|
-
.pds-combobox-multi__trigger-icon{transform:rotate(180deg);transition:var(--pds-animation-transition-rotation)}.pds-combobox-multi__dropdown{box-sizing:border-box;margin-block-start:var(--pds-spacing-2xs);max-height:18rem;overflow-x:hidden;padding-block-end:0;width:100%}.pds-combobox-multi__dropdown:focus-visible{outline:none}.pds-combobox-multi__dropdown-list{flex:1;margin-block:0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 1rem);mask-image:linear-gradient(180deg,transparent,#000 1rem);overflow-y:auto;padding:0}.pds-combobox-multi__dropdown-list .pds-dropdown__item:last-child{margin-block-end:var(--pds-spacing-2xs)}.pds-combobox-multi__dropdown-input-wrapper{align-items:center;background-color:var(--pds-color-dropdown-background);border-bottom:1px solid var(--pds-color-border-default);column-gap:var(--pds-spacing-2xs);display:flex;gap:var(--pds-spacing-xs);margin-block-end:var(--pds-spacing-s);margin-block-start:calc(var(--pds-spacing-2xs)*-1);margin-inline:calc(var(--pds-spacing-2xs)*-1);padding-block-end:calc(var(--pds-spacing-s)*1.1);padding-block-start:var(--pds-spacing-3xs);padding-inline:var(--pds-spacing-m);position:sticky;top:0;z-index:1}.pds-combobox-multi__dropdown-input{background-color:transparent;border:none;caret-color:var(--pds-color-foreground-default);color:var(--pds-color-foreground-default);flex-grow:1;font-size:var(--pds-typography-size-s);line-height:1;padding-inline:0;width:100%}.pds-combobox-multi__dropdown-input:focus{outline:none}.pds-combobox-multi__dropdown-input::placeholder{color:var(--pds-color-input-placeholder)}.pds-combobox-multi__dropdown-item{padding:var(--pds-spacing-xs) var(--pds-spacing-m)}.pds-combobox-multi__dropdown-item-label{align-items:center;display:flex;gap:.375rem;justify-content:space-between;line-height:normal;width:100%}.pds-combobox-multi__dropdown-item-text{align-items:center;display:flex;gap:var(--pds-spacing-m)}.pds-combobox-multi__dropdown-item-badge{align-items:center;background-color:var(--pds-color-category-ai-background);border-radius:var(--pds-border-radius-default);color:var(--pds-color-category-ai-foreground);display:inline-flex;font-size:var(--pds-typography-size-xs);gap:var(--pds-spacing-4xs);padding:var(--pds-spacing-4xs) var(--pds-spacing-2xs)}.pds-combobox-multi__loading{color:var(--pds-color-foreground-default);font-size:var(--pds-typography-size-m);padding:var(--pds-spacing-m)}.pds-combobox-multi__ai-button{align-items:center;background-color:var(--pds-color-category-ai-background);border:none;border-radius:var(--pds-border-radius-default);color:var(--pds-color-category-ai-foreground);cursor:pointer;display:flex;justify-content:center;padding:var(--pds-spacing-4xs);transition:opacity .2s ease}.pds-combobox-multi__ai-button:hover{opacity:.8}.pds-combobox-multi__ai-button:disabled{cursor:not-allowed;opacity:.5}.pds-combobox-multi__ai-button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-combobox-multi__ai-icon{color:var(--pds-color-category-ai-foreground);font-size:.875rem;pointer-events:none}[data-theme=dark] .pds-combobox-multi__aux-panel{background-color:oklch(.36 .004 264)}.pds-combobox-multi__aux-panel{align-items:center;background-color:var(--pds-color-surface-default-secondary);border:none;border-radius:var(--pds-border-radius-container);box-shadow:var(--pds-elevation-overlay);box-sizing:border-box;display:flex;flex-direction:row;gap:var(--pds-spacing-2xs);padding:var(--pds-spacing-xs) var(--pds-spacing-xs);position:absolute}.pds-combobox-multi__aux-panel-content{align-items:center;display:flex;flex:1;gap:var(--pds-spacing-xs)}.pds-combobox-multi__aux-panel-header{align-items:center;display:flex;gap:var(--pds-spacing-xs);margin-inline-start:auto}.pds-combobox-multi__aux-panel-icon{color:var(--pds-color-foreground-default-secondary);flex-shrink:0}.pds-combobox-multi__aux-panel-button{align-items:center;background-color:transparent;border:none;border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;flex-shrink:0;height:1.25rem;justify-content:center;transition:background-color .2s ease;width:1.25rem}.pds-combobox-multi__aux-panel-button:hover{background-color:var(--pds-color-surface-default);color:var(--pds-color-foreground-default)}.pds-combobox-multi__aux-panel-button:disabled{cursor:not-allowed}.pds-combobox-multi__aux-panel-button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}[data-theme=dark] .pds-combobox-multi__aux-panel-button:hover{background-color:oklch(.3 .02 275);color:var(--pds-color-foreground-default)}.pds-combobox-multi__aux-panel-refresh-icon{height:.8125rem;width:.8125rem}.pds-combobox-multi__aux-panel-button-icon--rotating{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pds-combobox-multi__aux-panel-items{display:flex;flex:1;flex-wrap:wrap;gap:var(--pds-spacing-3xs);padding-inline-start:var(--pds-spacing-4xs)}.pds-combobox-multi__aux-panel-item{align-items:center;background-color:var(--pds-color-surface-default);border:1px solid transparent;border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:var(--pds-typography-fw-regular);justify-content:center;line-height:1;padding:var(--pds-spacing-4xs) var(--pds-spacing-3xs);text-wrap:nowrap;transition:background-color .2s ease,border-color .2s ease}.pds-combobox-multi__aux-panel-item:hover{background-color:var(--pds-color-category-ai-background);border-color:var(--pds-color-category-ai-foreground)}.pds-combobox-multi__aux-panel-item:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-combobox-multi__aux-panel-item--selected{border-color:var(--pds-color-category-ai-foreground)}[data-theme=dark] .pds-combobox-multi__aux-panel-item{background-color:oklch(.3 .02 275)}[data-theme=dark] .pds-combobox-multi__aux-panel-item:hover{background-color:oklch(.42 .06 275);border-color:var(--pds-color-category-ai-utility)}[data-theme=dark] .pds-combobox-multi__aux-panel-item--selected{border-color:var(--pds-color-category-ai-utility)}.pds-combobox-multi__aux-panel-content{padding:var(--pds-spacing-3xs) var(--pds-spacing-6xs)}}
|
|
3
|
+
.pds-combobox-multi__trigger-icon{transform:rotate(180deg);transition:var(--pds-animation-transition-rotation)}.pds-combobox-multi__dropdown{box-sizing:border-box;margin-block-start:var(--pds-spacing-2xs);max-height:18rem;overflow-x:hidden;padding-block-end:0;width:100%}.pds-combobox-multi__dropdown:focus-visible{outline:none}.pds-combobox-multi__dropdown--has-footer{padding-block-end:var(--pds-spacing-2xs)}.pds-combobox-multi__dropdown-list{flex:1;margin-block:0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 1rem);mask-image:linear-gradient(180deg,transparent,#000 1rem);overflow-y:auto;padding:0}.pds-combobox-multi__dropdown-list .pds-dropdown__item:last-child{margin-block-end:var(--pds-spacing-2xs)}.pds-combobox-multi__dropdown-input-wrapper{align-items:center;background-color:var(--pds-color-dropdown-background);border-bottom:1px solid var(--pds-color-border-default);column-gap:var(--pds-spacing-2xs);display:flex;gap:var(--pds-spacing-xs);margin-block-end:var(--pds-spacing-s);margin-block-start:calc(var(--pds-spacing-2xs)*-1);margin-inline:calc(var(--pds-spacing-2xs)*-1);padding-block-end:calc(var(--pds-spacing-s)*1.1);padding-block-start:var(--pds-spacing-3xs);padding-inline:var(--pds-spacing-m);position:sticky;top:0;z-index:1}.pds-combobox-multi__dropdown-input{background-color:transparent;border:none;caret-color:var(--pds-color-foreground-default);color:var(--pds-color-foreground-default);flex-grow:1;font-size:var(--pds-typography-size-s);line-height:1;padding-inline:0;width:100%}.pds-combobox-multi__dropdown-input:focus{outline:none}.pds-combobox-multi__dropdown-input::placeholder{color:var(--pds-color-input-placeholder)}.pds-combobox-multi__dropdown-item{padding:var(--pds-spacing-xs) var(--pds-spacing-m)}.pds-combobox-multi__dropdown-item-label{align-items:center;display:flex;gap:.375rem;justify-content:space-between;line-height:normal;width:100%}.pds-combobox-multi__dropdown-item-text{align-items:center;display:flex;gap:var(--pds-spacing-m)}.pds-combobox-multi__dropdown-item-badge{align-items:center;background-color:var(--pds-color-category-ai-background);border-radius:var(--pds-border-radius-default);color:var(--pds-color-category-ai-foreground);display:inline-flex;font-size:var(--pds-typography-size-xs);gap:var(--pds-spacing-4xs);padding:var(--pds-spacing-4xs) var(--pds-spacing-2xs)}.pds-combobox-multi__loading{color:var(--pds-color-foreground-default);font-size:var(--pds-typography-size-m);padding:var(--pds-spacing-m)}.pds-combobox-multi__ai-button{align-items:center;background-color:var(--pds-color-category-ai-background);border:none;border-radius:var(--pds-border-radius-default);color:var(--pds-color-category-ai-foreground);cursor:pointer;display:flex;justify-content:center;padding:var(--pds-spacing-4xs);transition:opacity .2s ease}.pds-combobox-multi__ai-button:hover{opacity:.8}.pds-combobox-multi__ai-button:disabled{cursor:not-allowed;opacity:.5}.pds-combobox-multi__ai-button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-combobox-multi__ai-icon{color:var(--pds-color-category-ai-foreground);font-size:.875rem;pointer-events:none}[data-theme=dark] .pds-combobox-multi__aux-panel{background-color:oklch(.36 .004 264)}.pds-combobox-multi__aux-panel{align-items:center;background-color:var(--pds-color-surface-default-secondary);border:none;border-radius:var(--pds-border-radius-container);box-shadow:var(--pds-elevation-overlay);box-sizing:border-box;display:flex;flex-direction:row;gap:var(--pds-spacing-2xs);padding:var(--pds-spacing-xs) var(--pds-spacing-xs);position:absolute}.pds-combobox-multi__aux-panel-content{align-items:center;display:flex;flex:1;gap:var(--pds-spacing-xs)}.pds-combobox-multi__aux-panel-header{align-items:center;display:flex;gap:var(--pds-spacing-xs);margin-inline-start:auto}.pds-combobox-multi__aux-panel-icon{color:var(--pds-color-foreground-default-secondary);flex-shrink:0}.pds-combobox-multi__aux-panel-button{align-items:center;background-color:transparent;border:none;border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;flex-shrink:0;height:1.25rem;justify-content:center;transition:background-color .2s ease;width:1.25rem}.pds-combobox-multi__aux-panel-button:hover{background-color:var(--pds-color-surface-default);color:var(--pds-color-foreground-default)}.pds-combobox-multi__aux-panel-button:disabled{cursor:not-allowed}.pds-combobox-multi__aux-panel-button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}[data-theme=dark] .pds-combobox-multi__aux-panel-button:hover{background-color:oklch(.3 .02 275);color:var(--pds-color-foreground-default)}.pds-combobox-multi__aux-panel-refresh-icon{height:.8125rem;width:.8125rem}.pds-combobox-multi__aux-panel-button-icon--rotating{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pds-combobox-multi__aux-panel-items{display:flex;flex:1;flex-wrap:wrap;gap:var(--pds-spacing-3xs);padding-inline-start:var(--pds-spacing-4xs)}.pds-combobox-multi__aux-panel-item{align-items:center;background-color:var(--pds-color-surface-default);border:1px solid transparent;border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:var(--pds-typography-fw-regular);justify-content:center;line-height:1;padding:var(--pds-spacing-4xs) var(--pds-spacing-3xs);text-wrap:nowrap;transition:background-color .2s ease,border-color .2s ease}.pds-combobox-multi__aux-panel-item:hover{background-color:var(--pds-color-category-ai-background);border-color:var(--pds-color-category-ai-foreground)}.pds-combobox-multi__aux-panel-item:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-combobox-multi__aux-panel-item--selected{border-color:var(--pds-color-category-ai-foreground)}[data-theme=dark] .pds-combobox-multi__aux-panel-item{background-color:oklch(.3 .02 275)}[data-theme=dark] .pds-combobox-multi__aux-panel-item:hover{background-color:oklch(.42 .06 275);border-color:var(--pds-color-category-ai-utility)}[data-theme=dark] .pds-combobox-multi__aux-panel-item--selected{border-color:var(--pds-color-category-ai-utility)}.pds-combobox-multi__aux-panel-content{padding:var(--pds-spacing-3xs) var(--pds-spacing-6xs)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer pds-v1, pds-v2;@layer pds-v2{.pds-combobox{position:relative}.pds-combobox__input-wrapper{--input-wrapper-padding-inline-end:var(--pds-spacing-xs);align-items:center;background-color:var(--pds-color-surface-default);border:var(--pds-border-width-default) solid var(--pds-color-border-input);border-radius:var(--pds-border-radius-input);display:flex;gap:var(--pds-spacing-xs);height:var(--pds-spacing-input-height-s);padding-inline-end:var(--input-wrapper-padding-inline-end);padding-inline-start:var(--pds-spacing-xs);position:relative;transition:var(--pds-animation-transition-input);width:100%}.pds-combobox__input-wrapper:focus-within{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0;transition:var(--pds-animation-transition-focus)}.pds-combobox__input-wrapper--has-search-shortcut{--input-wrapper-padding-inline-end:var(--pds-spacing-2xs)}.pds-combobox--m .pds-combobox__input-wrapper{--input-wrapper-padding-inline-end:var(--pds-spacing-s);gap:var(--pds-spacing-s);height:var(--pds-spacing-input-height-m);padding-inline-start:var(--pds-spacing-s)}.pds-combobox--m .pds-combobox__input-wrapper--has-search-shortcut{--input-wrapper-padding-inline-end:var(--pds-spacing-xs)}.pds-combobox__input{background-color:transparent;border:none;caret-color:var(--pds-color-foreground-default);color:var(--pds-color-foreground-default);flex-grow:1;font-size:var(--pds-typography-size-s);line-height:1;padding-inline:0;width:100%}.pds-combobox__input:focus{outline:none}.pds-combobox__input::placeholder{color:var(--pds-color-input-placeholder)}.pds-combobox__trigger{align-items:center;background-color:transparent;border:none;border-radius:var(--pds-border-radius-input);cursor:pointer;display:flex;justify-content:center;padding:var(--pds-spacing-4xs)}.pds-combobox__trigger:hover{background-color:var(--pds-color-interactive-background-hover)}.pds-combobox__trigger:focus-visible{background-color:var(--pds-color-interactive-background-hover);outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-combobox__trigger-icon{color:var(--pds-color-foreground-default-secondary);pointer-events:none;transition:var(--pds-animation-transition-rotation)}.pds-combobox__trigger[aria-expanded=true] .pds-combobox__trigger-icon{transform:rotate(180deg);transition:var(--pds-animation-transition-rotation)}.pds-combobox__trigger-icon.pds-icon--m{height:.8125rem;width:.8125rem}.pds-combobox--m .pds-combobox__trigger-icon.pds-icon--m{height:1rem;width:1rem}.pds-combobox__dropdown{margin-block-start:var(--pds-spacing-xs);max-height:18rem;overflow-x:hidden;padding-block-end:0}.pds-combobox__dropdown:focus-visible{outline:none}.pds-combobox__options{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.pds-combobox__options .pds-dropdown__item:last-child{margin-block-end:var(--pds-spacing-2xs)}.pds-combobox__option-label{flex:1;min-width:0}.pds-combobox__loading{color:var(--pds-color-foreground-default);font-size:var(--pds-typography-size-m);padding:var(--pds-spacing-m)}}
|
|
1
|
+
@layer pds-v1, pds-v2;@layer pds-v2{.pds-combobox{position:relative}.pds-combobox__input-wrapper{--input-wrapper-padding-inline-end:var(--pds-spacing-xs);align-items:center;background-color:var(--pds-color-surface-default);border:var(--pds-border-width-default) solid var(--pds-color-border-input);border-radius:var(--pds-border-radius-input);display:flex;gap:var(--pds-spacing-xs);height:var(--pds-spacing-input-height-s);padding-inline-end:var(--input-wrapper-padding-inline-end);padding-inline-start:var(--pds-spacing-xs);position:relative;transition:var(--pds-animation-transition-input);width:100%}.pds-combobox__input-wrapper:focus-within{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0;transition:var(--pds-animation-transition-focus)}.pds-combobox__input-wrapper--has-search-shortcut{--input-wrapper-padding-inline-end:var(--pds-spacing-2xs)}.pds-combobox--m .pds-combobox__input-wrapper{--input-wrapper-padding-inline-end:var(--pds-spacing-s);gap:var(--pds-spacing-s);height:var(--pds-spacing-input-height-m);padding-inline-start:var(--pds-spacing-s)}.pds-combobox--m .pds-combobox__input-wrapper--has-search-shortcut{--input-wrapper-padding-inline-end:var(--pds-spacing-xs)}.pds-combobox__input{background-color:transparent;border:none;caret-color:var(--pds-color-foreground-default);color:var(--pds-color-foreground-default);flex-grow:1;font-size:var(--pds-typography-size-s);line-height:1;padding-inline:0;width:100%}.pds-combobox__input:focus{outline:none}.pds-combobox__input::placeholder{color:var(--pds-color-input-placeholder)}.pds-combobox__trigger{align-items:center;background-color:transparent;border:none;border-radius:var(--pds-border-radius-input);cursor:pointer;display:flex;justify-content:center;padding:var(--pds-spacing-4xs)}.pds-combobox__trigger:hover{background-color:var(--pds-color-interactive-background-hover)}.pds-combobox__trigger:focus-visible{background-color:var(--pds-color-interactive-background-hover);outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-combobox__trigger-icon{color:var(--pds-color-foreground-default-secondary);pointer-events:none;transition:var(--pds-animation-transition-rotation)}.pds-combobox__trigger[aria-expanded=true] .pds-combobox__trigger-icon{transform:rotate(180deg);transition:var(--pds-animation-transition-rotation)}.pds-combobox__trigger-icon.pds-icon--m{height:.8125rem;width:.8125rem}.pds-combobox--m .pds-combobox__trigger-icon.pds-icon--m{height:1rem;width:1rem}.pds-combobox__dropdown{margin-block-start:var(--pds-spacing-xs);max-height:18rem;overflow-x:hidden;padding-block-end:0}.pds-combobox__dropdown:focus-visible{outline:none}.pds-combobox__dropdown--has-footer{padding-block-end:var(--pds-spacing-2xs)}.pds-combobox__options{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.pds-combobox__options .pds-dropdown__item:last-child{margin-block-end:var(--pds-spacing-2xs)}.pds-combobox__option-label{flex:1;min-width:0}.pds-combobox__loading{color:var(--pds-color-foreground-default);font-size:var(--pds-typography-size-m);padding:var(--pds-spacing-m)}}
|