@pantheon-systems/pds-toolkit-react 2.0.0-alpha.62 → 2.0.0-alpha.64

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 (30) hide show
  1. package/dist/components/Table/Table.d.ts +14 -1
  2. package/dist/components/icons/Icon/generated-icon-data.d.ts +1 -1
  3. package/dist/components/inputs/Datepicker/Datepicker.d.ts +166 -13
  4. package/dist/components/inputs/TextInput/TextInput.d.ts +1 -1
  5. package/dist/components/inputs/{TimeInput/TimeInput.d.ts → Timepicker/Timepicker.d.ts} +7 -7
  6. package/dist/css/component-css/pds-action-card.css +1 -1
  7. package/dist/css/component-css/pds-badge.css +1 -1
  8. package/dist/css/component-css/pds-datepicker.css +1 -5
  9. package/dist/css/component-css/pds-dropdown.css +1 -1
  10. package/dist/css/component-css/pds-index.css +8 -12
  11. package/dist/css/component-css/pds-input-utilities.css +1 -1
  12. package/dist/css/component-css/pds-navbar.css +1 -1
  13. package/dist/css/component-css/pds-tab-menu.css +1 -1
  14. package/dist/css/component-css/pds-table.css +2 -2
  15. package/dist/css/component-css/pds-tabs.css +1 -1
  16. package/dist/css/component-css/pds-tag.css +1 -1
  17. package/dist/css/component-css/{pds-time-input.css → pds-timepicker.css} +1 -1
  18. package/dist/css/design-tokens/variables.dark.css +4 -4
  19. package/dist/css/design-tokens/variables.global.css +2 -2
  20. package/dist/css/design-tokens/variables.light.css +2 -2
  21. package/dist/css/pds-components.css +8 -12
  22. package/dist/css/pds-core.css +1 -1
  23. package/dist/index.css +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +2211 -1986
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.source.d.ts +1 -1
  28. package/dist/libs/components/utils.d.ts +1 -0
  29. package/dist/utilities/hooks/useDropdown/useDropdown.d.ts +10 -2
  30. package/package.json +2 -3
@@ -162,6 +162,19 @@ export interface TableProps extends ComponentPropsWithoutRef<'table'> {
162
162
  * Number of skeleton rows to render when `isLoading` is true. Defaults to 5.
163
163
  */
164
164
  loadingRowCount?: number;
165
+ /**
166
+ * Sets a max-height on the scrollable table area. Accepts any valid CSS
167
+ * value (e.g. `'30rem'`, `'70vh'`). Enables vertical scrolling once content
168
+ * exceeds it. Undefined by default — the table grows to fit its content.
169
+ */
170
+ maxHeight?: string;
171
+ /**
172
+ * Sets a min-height on the scrollable table area. Accepts any valid CSS
173
+ * value. Use alongside `maxHeight` to keep a table with very few rows (or
174
+ * the empty state) from collapsing to an awkwardly small height. Undefined
175
+ * by default.
176
+ */
177
+ minHeight?: string;
165
178
  /**
166
179
  * Accessible label for the detail panel "next row" button.
167
180
  * Defaults to `'Next row'`. Override for translation.
@@ -284,4 +297,4 @@ export interface TableProps extends ComponentPropsWithoutRef<'table'> {
284
297
  */
285
298
  totalItemCount?: number;
286
299
  }
287
- export declare const Table: ({ className, closeDetailPanelLabel, columns, currentPage, defaultSortKey, defaultSortOrder, detailPanelNav, detailPanelTitle, detailPanelWidth, emptyState, emptyStateHeading, emptyStateMessage, footer, getPageSizeLabel, getRowClassName, getRowId, getRowSelectDisabledReason, getSelectRowLabel, getSortLabel, inspectedRowId, isLoading, isRowSelectable, itemsPerPage, loadingRowCount, nextDetailPanelRowLabel, onDetailPanelNext, onDetailPanelPrev, onPageChange, onPageSizeChange, onRowInspect, onRowSelectionChange, onSort, pageSizeOptions, pageSizeSelectLabel, paginationLabels, panel, prevDetailPanelRowLabel, renderDetailPanel, renderDetailPanelFooter, rowData, selectAllLabel, selectedRows, sortKey, sortOrder, totalItemCount, ...props }: TableProps) => import("react/jsx-runtime").JSX.Element;
300
+ export declare const Table: ({ className, closeDetailPanelLabel, columns, currentPage, defaultSortKey, defaultSortOrder, detailPanelNav, detailPanelTitle, detailPanelWidth, emptyState, emptyStateHeading, emptyStateMessage, footer, getPageSizeLabel, getRowClassName, getRowId, getRowSelectDisabledReason, getSelectRowLabel, getSortLabel, inspectedRowId, isLoading, isRowSelectable, itemsPerPage, loadingRowCount, maxHeight, minHeight, nextDetailPanelRowLabel, onDetailPanelNext, onDetailPanelPrev, onPageChange, onPageSizeChange, onRowInspect, onRowSelectionChange, onSort, pageSizeOptions, pageSizeSelectLabel, paginationLabels, panel, prevDetailPanelRowLabel, renderDetailPanel, renderDetailPanelFooter, rowData, selectAllLabel, selectedRows, sortKey, sortOrder, totalItemCount, ...props }: TableProps) => import("react/jsx-runtime").JSX.Element;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generated by: npm run generate:icon-data
5
5
  * Source: icon-registry.ts + Font Awesome packages + custom-icons.tsx
6
- * Generated: 2026-08-10T17:23:11.621Z
6
+ * Generated: 2026-08-11T19:57:03.681Z
7
7
  */
8
8
  import { customIcons } from './custom-icons';
9
9
  export { customIcons };
@@ -1,38 +1,89 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
2
  import { Locale } from 'date-fns';
3
- import { DateRange } from 'react-day-picker';
4
3
  import { ValidationStatus } from '../../../libs/types/input-types';
5
- import 'react-day-picker/dist/style.css';
6
4
  import './datepicker.css';
5
+ /**
6
+ * A date range, as plain native `Date` objects. Replaces `react-day-picker`'s
7
+ * `DateRange` type (which consumers previously imported directly from
8
+ * `react-day-picker`) now that Datepicker's calendar core is built on
9
+ * react-aria instead. See guides/DATEPICKER-CONSUMER-MIGRATION.md.
10
+ */
11
+ export interface DateRange {
12
+ from?: Date;
13
+ to?: Date;
14
+ }
7
15
  export type PresetType = 'today' | 'current-week' | 'current-month' | 'last-week' | 'last-month';
8
16
  export interface CustomPresetConfig {
9
17
  custom?: () => DateRange;
10
18
  days?: number;
19
+ hours?: number;
11
20
  label: string;
21
+ minutes?: number;
22
+ /**
23
+ * Whether this preset's own `label` (e.g. "Last 15 min") should replace the
24
+ * trigger's computed date/time text while this preset is active. Defaults
25
+ * to `true` for sub-day presets (`hours`/`minutes` set, no `days`/`type`)
26
+ * and `false` otherwise — rolling sub-day windows read better as their own
27
+ * label than as a precise, already-stale-by-the-time-you-read-it
28
+ * timestamp. Set explicitly to override the default either way.
29
+ */
30
+ showLabelInTrigger?: boolean;
12
31
  type?: PresetType;
13
32
  }
33
+ /**
34
+ * Options for `getPresetDateRange`. Both are optional and additive — omitting
35
+ * them preserves the function's original behavior (browser-local time zone,
36
+ * Sunday-first weeks).
37
+ */
38
+ export interface GetPresetDateRangeOptions {
39
+ /**
40
+ * BCP-47 locale, used only for `current-week`/`last-week`'s week-start day
41
+ * (e.g. Monday-first in most of Europe vs. Sunday-first in the US).
42
+ * Defaults to `'en-US'` (Sunday-first), matching this function's original,
43
+ * locale-unaware behavior.
44
+ */
45
+ locale?: string;
46
+ /**
47
+ * IANA time zone identifier. Determines which calendar day/week/month
48
+ * "today" resolves to for `days`/`type` presets — irrelevant for
49
+ * `hours`/`minutes` presets, which are absolute-time offsets from the
50
+ * current instant, not calendar-day boundaries. Defaults to the browser's
51
+ * local time zone.
52
+ */
53
+ timeZone?: string;
54
+ }
14
55
  /**
15
56
  * Converts a preset config to a DateRange. Use this alongside an external
16
57
  * SegmentedButton, Select, or other control to compose preset date pickers.
17
58
  */
18
- export declare const getPresetDateRange: (preset: CustomPresetConfig) => DateRange;
59
+ export declare const getPresetDateRange: (preset: CustomPresetConfig, options?: GetPresetDateRangeOptions) => DateRange;
19
60
  export interface DatepickerTranslationStrings {
20
61
  clearButton?: string;
62
+ customPresetLabel?: string;
21
63
  doneButton?: string;
64
+ endTimeLabel?: string;
65
+ localTimeZoneLabel?: string;
66
+ nextMonthLabel?: string;
22
67
  noDateRangeSelected?: string;
23
68
  noDateSelected?: string;
24
69
  pleaseSelectEndDate?: string;
70
+ presetsGroupLabel?: string;
71
+ previousMonthLabel?: string;
25
72
  selectedDate?: string;
26
73
  selectedDateRange?: string;
27
74
  selectedStartDate?: string;
75
+ startTimeLabel?: string;
76
+ timeLabel?: string;
77
+ timeZoneSwitcherLabel?: string;
28
78
  to?: string;
29
79
  todayButton?: string;
80
+ utcTimeZoneLabel?: string;
30
81
  }
31
82
  /**
32
83
  * Prop types for Datepicker.
33
84
  */
34
85
  type DatepickerHTMLProps = Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value'>;
35
- export interface DatepickerProps extends DatepickerHTMLProps {
86
+ interface DatepickerSharedProps extends DatepickerHTMLProps {
36
87
  /**
37
88
  * Additional class names.
38
89
  */
@@ -42,9 +93,13 @@ export interface DatepickerProps extends DatepickerHTMLProps {
42
93
  */
43
94
  disabled?: boolean;
44
95
  /**
45
- * Has date range selection. If false, single date selection is used.
96
+ * Optional note rendered at the bottom of the calendar dropdown, below the
97
+ * `showTime` field(s) when present (otherwise directly below the calendar
98
+ * grid(s)) and above the footer actions. Accepts any `ReactNode` — e.g. an
99
+ * "Available window: [start] – [end]" constraint hint — this component
100
+ * doesn't prescribe what goes there.
46
101
  */
47
- hasDateRange?: boolean;
102
+ footerNote?: ReactNode;
48
103
  /**
49
104
  * Input ID.
50
105
  */
@@ -75,14 +130,24 @@ export interface DatepickerProps extends DatepickerHTMLProps {
75
130
  * Minimum selectable date.
76
131
  */
77
132
  minDate?: Date;
78
- /**
79
- * onChange handler
80
- */
81
- onChange?: (value: DateRange | Date | undefined) => void;
82
133
  /**
83
134
  * Placeholder text for the trigger button.
84
135
  */
85
136
  placeholder?: string;
137
+ /**
138
+ * Renders a preset list (each computed via `getPresetDateRange`) in a
139
+ * dedicated column to the left of the calendar, with a "Custom" entry
140
+ * below it for picking dates directly from the calendar. The calendar
141
+ * itself is always shown alongside the list, never hidden/collapsed.
142
+ * Selecting a preset drives the calendar's own selection; picking a date
143
+ * directly from the calendar (or editing a `showTime` field) marks
144
+ * "Custom" as active. Only meaningful in range mode (`mode="range"`) —
145
+ * every preset computes a `DateRange`. This is purely additive: the
146
+ * existing external-composition pattern (`getPresetDateRange` +
147
+ * `CustomPresetConfig` wired to an external `SegmentedButton`/`Select`)
148
+ * keeps working unchanged whether or not this prop is used.
149
+ */
150
+ presets?: CustomPresetConfig[];
86
151
  /**
87
152
  * Is this field required?
88
153
  */
@@ -91,6 +156,48 @@ export interface DatepickerProps extends DatepickerHTMLProps {
91
156
  * Should the label be visible? If false, it will render for screen readers only.
92
157
  */
93
158
  showLabel?: boolean;
159
+ /**
160
+ * Whether the calendar (and, when `showTime` is on, the time fields) is
161
+ * shown alongside the `presets` list from the start, or only once "Custom"
162
+ * is clicked. Has no effect unless `presets` is also set. Defaults to
163
+ * `true` — the calendar is always visible, matching this component's
164
+ * original `presets` behavior. Set to `false` for a compact, list-only
165
+ * popover (e.g. a log viewer's rolling-window picker) that expands to
166
+ * reveal the calendar only when the viewer picks "Custom" — once
167
+ * expanded, it stays expanded for the rest of that popover session (even
168
+ * if the viewer clicks back to a different preset afterward); it only
169
+ * collapses again the next time the popover is freshly opened.
170
+ */
171
+ showPresetCalendar?: boolean;
172
+ /**
173
+ * Embeds Timepicker field(s) in the calendar dropdown (one in single mode,
174
+ * start/end in range mode) — the selected time-of-day is baked directly
175
+ * into the emitted `value`'s own `Date`(s); `value`/`onChange` stay plain
176
+ * `Date`/`DateRange`, no shape change.
177
+ */
178
+ showTime?: boolean;
179
+ /**
180
+ * Renders an inline-labeled "UTC" / "Local" `SegmentedButton` below the
181
+ * embedded time field(s) that lets the viewer swap which zone the
182
+ * displayed (and subsequently entered) time-of-day is shown in. "Local" is
183
+ * whatever `timeZone` resolves to (the configured zone, not necessarily
184
+ * the browser's own). Only the *displayed/emitted time-of-day* changes
185
+ * when toggled — the selected calendar day never moves, even though, for
186
+ * a time near midnight, converting to a different zone can technically
187
+ * land in the neighboring day; this is an accepted, documented
188
+ * simplification rather than a full zoned re-derivation of the selected
189
+ * date. Has no effect unless `showTime` is also true.
190
+ */
191
+ showTimeZoneSwitcher?: boolean;
192
+ /**
193
+ * IANA time zone identifier (e.g. "America/Los_Angeles", "UTC") used to
194
+ * combine the selected date with `showTime`'s entered time-of-day into a
195
+ * correct absolute instant. Passed straight through to each embedded
196
+ * `Timepicker`'s own `timeZone` prop as well. Defaults to the browser's
197
+ * local time zone. Has no effect when `showTime` is false. Also acts as
198
+ * the "Local" side of `showTimeZoneSwitcher`, when enabled.
199
+ */
200
+ timeZone?: string;
94
201
  /**
95
202
  * Optional tooltip text to display additional information.
96
203
  */
@@ -108,12 +215,58 @@ export interface DatepickerProps extends DatepickerHTMLProps {
108
215
  */
109
216
  validationStatus?: ValidationStatus;
110
217
  /**
111
- * Selected date or date range.
218
+ * Number of months shown side by side in range mode. Defaults to `2`.
219
+ * Fixed for the lifetime of a given `Datepicker` instance — it does not
220
+ * auto-adjust based on the selected range or active preset, matching the
221
+ * static layout shown in Figma's own "Edge logs" recipe (a one-month
222
+ * range+time+presets picker for short windows, since its calendar grid
223
+ * never needs to show more than a single month at once). Has no effect
224
+ * in single mode, which always shows one month.
225
+ */
226
+ visibleMonths?: 1 | 2;
227
+ }
228
+ export interface SingleDatepickerProps extends DatepickerSharedProps {
229
+ /**
230
+ * Single-date selection (the default) — omit `mode` entirely, or set it
231
+ * explicitly to `'single'`.
232
+ */
233
+ mode?: 'single';
234
+ /**
235
+ * onChange handler.
236
+ */
237
+ onChange?: (value: Date | undefined) => void;
238
+ /**
239
+ * Selected date.
240
+ */
241
+ value?: Date;
242
+ }
243
+ export interface RangeDatepickerProps extends DatepickerSharedProps {
244
+ /**
245
+ * Date-range selection: the calendar shows two months side-by-side and
246
+ * the selected span is visually highlighted.
247
+ */
248
+ mode: 'range';
249
+ /**
250
+ * onChange handler.
251
+ */
252
+ onChange?: (value: DateRange | undefined) => void;
253
+ /**
254
+ * Selected date range.
112
255
  */
113
- value?: DateRange | Date;
256
+ value?: DateRange;
114
257
  }
258
+ /**
259
+ * `mode` is a discriminated union rather than a `hasDateRange` boolean —
260
+ * `value`/`onChange` narrow to the correct shape for the given mode at the
261
+ * type level, instead of relying on a boolean the compiler can't actually
262
+ * tie to the value's shape (which required internal `as DateRange`/`as Date`
263
+ * casts throughout). `mode` is optional and defaults to `'single'`, so
264
+ * existing single-date consumers (the common case) need no changes — only
265
+ * `hasDateRange` → `mode="range"` for range consumers.
266
+ */
267
+ export type DatepickerProps = SingleDatepickerProps | RangeDatepickerProps;
115
268
  /**
116
269
  * Datepicker UI component.
117
270
  */
118
- export declare const Datepicker: ({ className, disabled, hasDateRange, id, inputWidth, label, locale, maxDate, message, minDate, onChange, placeholder, required, showLabel, tooltipText, translationStrings: translationStringsProp, validationMessage, validationStatus, value, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
271
+ export declare const Datepicker: ({ className, disabled, footerNote, id, inputWidth, 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;
119
272
  export {};
@@ -120,7 +120,7 @@ export interface TextInputProps extends ComponentPropsWithoutRef<'div'> {
120
120
  */
121
121
  translationStrings?: LabelStrings;
122
122
  /**
123
- * Type of input field to use. For `time`, prefer the TimeInput component when possible — it offers segmented entry, 12/24-hour display, and timezone support. Use TextInput's native `time` type only as a lightweight fallback where that complexity isn't warranted; note it renders with browser-native time picker UI that isn't fully styleable to match PDS.
123
+ * Type of input field to use. For `time`, prefer the Timepicker component when possible — it offers segmented entry, 12/24-hour display, and timezone support. Use TextInput's native `time` type only as a lightweight fallback where that complexity isn't warranted; note it renders with browser-native time picker UI that isn't fully styleable to match PDS.
124
124
  */
125
125
  type?: HtmlInputTypes;
126
126
  /**
@@ -1,12 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { CalendarDate } from '@internationalized/date';
3
3
  import { ValidationStatus } from '../../../libs/types/input-types';
4
- import './time-input.css';
5
- export type TimeInputSize = 's' | 'm';
4
+ import './timepicker.css';
5
+ export type TimepickerSize = 's' | 'm';
6
6
  /**
7
- * Prop types for TimeInput
7
+ * Prop types for Timepicker
8
8
  */
9
- export interface TimeInputProps {
9
+ export interface TimepickerProps {
10
10
  /**
11
11
  * Anchor calendar date used for DST-safe conversion math when `timeZone` changes. Defaults to today (in the previous timezone) if omitted — correct for the vast majority of scheduling UIs. Pass a real date (e.g. from Datepicker's selection) for full precision on/near DST transition dates.
12
12
  */
@@ -66,7 +66,7 @@ export interface TimeInputProps {
66
66
  /**
67
67
  * Input size.
68
68
  */
69
- size?: TimeInputSize;
69
+ size?: TimepickerSize;
70
70
  /**
71
71
  * IANA timezone identifier (e.g. "America/Los_Angeles", "UTC"). Drives the auto-derived display label (e.g. "PDT") and, when this prop changes, converts the current value into the new zone using `@internationalized/date` — a real, DST-safe conversion, not just a relabel.
72
72
  */
@@ -89,6 +89,6 @@ export interface TimeInputProps {
89
89
  value?: string;
90
90
  }
91
91
  /**
92
- * TimeInput UI component
92
+ * Timepicker UI component
93
93
  */
94
- export declare const TimeInput: ({ anchorDate, className, defaultValue, disabled, hourCycle, id, inputWidth, label, message, onBlur, onChange, onFocus, required, showLabel, size, timeZone, tooltipText, validationMessage, validationStatus, value, }: TimeInputProps) => import("react/jsx-runtime").JSX.Element;
94
+ export declare const Timepicker: ({ anchorDate, className, defaultValue, disabled, hourCycle, id, inputWidth, label, message, onBlur, onChange, onFocus, required, showLabel, size, timeZone, tooltipText, validationMessage, validationStatus, value, }: TimepickerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- @layer pds-v1, pds-v2;@layer pds-v2{.pds-action-card{background-color:var(--pds-color-card-background);border-radius:var(--pds-border-radius-card);box-shadow:var(--pds-elevation-raised);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative}.pds-action-card:hover{box-shadow:var(--pds-elevation-overlay)}.pds-action-card__primary{background:transparent;border:none;border-radius:inherit;font:inherit;inset:0;padding:0;position:absolute;z-index:0}.pds-action-card__primary:focus-visible{outline:none}.pds-action-card__primary:focus-visible~.pds-action-card__inner:after{border:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);border-radius:var(--pds-border-radius-card);content:"";inset:0;pointer-events:none;position:absolute;transition:var(--pds-animation-transition-button)}.pds-action-card__inner{display:flex;flex-direction:column;flex-grow:1;pointer-events:none;position:relative;z-index:1}.pds-action-card__inner [role=button],.pds-action-card__inner [tabindex],.pds-action-card__inner a,.pds-action-card__inner button,.pds-action-card__inner input,.pds-action-card__inner select,.pds-action-card__inner textarea{pointer-events:auto}.pds-action-card__image{border-radius:var(--pds-border-radius-card) var(--pds-border-radius-card) 0 0;display:block;overflow:hidden}.pds-action-card__image img{display:block;object-fit:cover;object-position:top;width:100%}.pds-action-card__main{flex-grow:1;padding:var(--pds-spacing-l) var(--pds-spacing-xl)}.pds-action-card__footer{padding:0 var(--pds-spacing-xl) var(--pds-spacing-l)}.pds-action-card--secondary{background-color:var(--pds-color-surface-default-secondary)}.pds-action-card--transparent{background-color:transparent}.pds-action-card--image-inset .pds-action-card__image{border-radius:var(--pds-border-radius-card);margin:var(--pds-spacing-m) var(--pds-spacing-m) 0;overflow:hidden;width:auto}.pds-action-card--pad-condensed .pds-action-card__main{padding:var(--pds-spacing-m)}.pds-action-card--pad-condensed .pds-action-card__footer{padding:0 var(--pds-spacing-m) var(--pds-spacing-m)}.pds-action-card--pad-spacious .pds-action-card__main{padding:var(--pds-spacing-xl) var(--pds-spacing-2xl)}.pds-action-card--pad-spacious .pds-action-card__footer{padding:0 var(--pds-spacing-2xl) var(--pds-spacing-xl)}}
1
+ @layer pds-v1, pds-v2;@layer pds-v2{.pds-action-card{background-color:var(--pds-color-card-background);border-radius:var(--pds-border-radius-card);box-shadow:var(--pds-elevation-raised);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative}.pds-action-card:hover{box-shadow:var(--pds-elevation-overlay)}.pds-action-card__primary{background:transparent;border:none;border-radius:inherit;cursor:pointer;font:inherit;inset:0;padding:0;position:absolute;z-index:0}.pds-action-card__primary:focus-visible{outline:none}.pds-action-card__primary:focus-visible~.pds-action-card__inner:after{border:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);border-radius:var(--pds-border-radius-card);content:"";inset:0;pointer-events:none;position:absolute;transition:var(--pds-animation-transition-button)}.pds-action-card__inner{display:flex;flex-direction:column;flex-grow:1;pointer-events:none;position:relative;z-index:1}.pds-action-card__inner [role=button],.pds-action-card__inner [tabindex],.pds-action-card__inner a,.pds-action-card__inner button,.pds-action-card__inner input,.pds-action-card__inner select,.pds-action-card__inner textarea{pointer-events:auto}.pds-action-card__image{border-radius:var(--pds-border-radius-card) var(--pds-border-radius-card) 0 0;display:block;overflow:hidden}.pds-action-card__image img{display:block;object-fit:cover;object-position:top;width:100%}.pds-action-card__main{flex-grow:1;padding:var(--pds-spacing-l) var(--pds-spacing-xl)}.pds-action-card__footer{padding:0 var(--pds-spacing-xl) var(--pds-spacing-l)}.pds-action-card--secondary{background-color:var(--pds-color-surface-default-secondary)}.pds-action-card--transparent{background-color:transparent}.pds-action-card--image-inset .pds-action-card__image{border-radius:var(--pds-border-radius-card);margin:var(--pds-spacing-m) var(--pds-spacing-m) 0;overflow:hidden;width:auto}.pds-action-card--pad-condensed .pds-action-card__main{padding:var(--pds-spacing-m)}.pds-action-card--pad-condensed .pds-action-card__footer{padding:0 var(--pds-spacing-m) var(--pds-spacing-m)}.pds-action-card--pad-spacious .pds-action-card__main{padding:var(--pds-spacing-xl) var(--pds-spacing-2xl)}.pds-action-card--pad-spacious .pds-action-card__footer{padding:0 var(--pds-spacing-2xl) var(--pds-spacing-xl)}}
@@ -1 +1 @@
1
- @layer pds-v1, pds-v2;@layer pds-v2{.pds-badge{--badge-bg:var(--pds-color-badge-brand-muted-background);--badge-fg:var(--pds-color-badge-brand-muted-foreground);align-items:center;background-color:var(--badge-bg);border-radius:var(--pds-border-radius-input);color:var(--badge-fg);display:inline-flex;font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-medium);height:var(--pds-spacing-button-height-s);line-height:1;padding-inline:var(--pds-spacing-s);white-space:nowrap}.pds-badge--s{font-size:var(--pds-typography-size-xs);height:var(--pds-spacing-button-height-xs);padding-inline:var(--pds-spacing-xs)}.pds-badge--xs{font-size:.6875rem;height:var(--pds-spacing-l);padding-inline:var(--pds-spacing-3xs)}.pds-badge--brand{--badge-bg:var(--pds-color-badge-brand-background);--badge-fg:var(--pds-color-badge-brand-foreground)}.pds-badge--critical{--badge-bg:var(--pds-color-badge-critical-background);--badge-fg:var(--pds-color-badge-critical-foreground)}.pds-badge--discovery{--badge-bg:var(--pds-color-badge-discovery-background);--badge-fg:var(--pds-color-badge-discovery-foreground)}.pds-badge--gold{--badge-bg:var(--pds-color-badge-gold-background);--badge-fg:var(--pds-color-badge-gold-foreground)}.pds-badge--indigo{--badge-bg:var(--pds-color-badge-indigo-background);--badge-fg:var(--pds-color-badge-indigo-foreground)}.pds-badge--info{--badge-bg:var(--pds-color-badge-info-background);--badge-fg:var(--pds-color-badge-info-foreground)}.pds-badge--ink{--badge-bg:var(--pds-color-badge-ink-background);--badge-fg:var(--pds-color-badge-ink-foreground)}.pds-badge--lime{--badge-bg:var(--pds-color-badge-lime-background);--badge-fg:var(--pds-color-badge-lime-foreground)}.pds-badge--orange{--badge-bg:var(--pds-color-badge-orange-background);--badge-fg:var(--pds-color-badge-orange-foreground)}.pds-badge--rose{--badge-bg:var(--pds-color-badge-rose-background);--badge-fg:var(--pds-color-badge-rose-foreground)}.pds-badge--silver{--badge-bg:var(--pds-color-badge-silver-background);--badge-fg:var(--pds-color-badge-silver-foreground)}.pds-badge--sky{--badge-bg:var(--pds-color-badge-sky-background);--badge-fg:var(--pds-color-badge-sky-foreground)}.pds-badge--slate{--badge-bg:var(--pds-color-badge-slate-background);--badge-fg:var(--pds-color-badge-slate-foreground)}.pds-badge--stone{--badge-bg:var(--pds-color-badge-stone-background);--badge-fg:var(--pds-color-badge-stone-foreground)}.pds-badge--success{--badge-bg:var(--pds-color-badge-success-background);--badge-fg:var(--pds-color-badge-success-foreground)}.pds-badge--warning{--badge-bg:var(--pds-color-badge-warning-background);--badge-fg:var(--pds-color-badge-warning-foreground)}.pds-badge--brand-muted{--badge-bg:var(--pds-color-badge-brand-muted-background);--badge-fg:var(--pds-color-badge-brand-muted-foreground)}.pds-badge--critical-muted{--badge-bg:var(--pds-color-badge-critical-muted-background);--badge-fg:var(--pds-color-badge-critical-muted-foreground)}.pds-badge--discovery-muted{--badge-bg:var(--pds-color-badge-discovery-muted-background);--badge-fg:var(--pds-color-badge-discovery-muted-foreground)}.pds-badge--gold-muted{--badge-bg:var(--pds-color-badge-gold-muted-background);--badge-fg:var(--pds-color-badge-gold-muted-foreground)}.pds-badge--indigo-muted{--badge-bg:var(--pds-color-badge-indigo-muted-background);--badge-fg:var(--pds-color-badge-indigo-muted-foreground)}.pds-badge--info-muted{--badge-bg:var(--pds-color-badge-info-muted-background);--badge-fg:var(--pds-color-badge-info-muted-foreground)}.pds-badge--ink-muted{--badge-bg:var(--pds-color-badge-ink-muted-background);--badge-fg:var(--pds-color-badge-ink-muted-foreground)}.pds-badge--lime-muted{--badge-bg:var(--pds-color-badge-lime-muted-background);--badge-fg:var(--pds-color-badge-lime-muted-foreground)}.pds-badge--orange-muted{--badge-bg:var(--pds-color-badge-orange-muted-background);--badge-fg:var(--pds-color-badge-orange-muted-foreground)}.pds-badge--rose-muted{--badge-bg:var(--pds-color-badge-rose-muted-background);--badge-fg:var(--pds-color-badge-rose-muted-foreground)}.pds-badge--silver-muted{--badge-bg:var(--pds-color-badge-silver-muted-background);--badge-fg:var(--pds-color-badge-silver-muted-foreground)}.pds-badge--sky-muted{--badge-bg:var(--pds-color-badge-sky-muted-background);--badge-fg:var(--pds-color-badge-sky-muted-foreground)}.pds-badge--slate-muted{--badge-bg:var(--pds-color-badge-slate-muted-background);--badge-fg:var(--pds-color-badge-slate-muted-foreground)}.pds-badge--stone-muted{--badge-bg:var(--pds-color-badge-stone-muted-background);--badge-fg:var(--pds-color-badge-stone-muted-foreground)}.pds-badge--success-muted{--badge-bg:var(--pds-color-badge-success-muted-background);--badge-fg:var(--pds-color-badge-success-muted-foreground)}.pds-badge--warning-muted{--badge-bg:var(--pds-color-badge-warning-muted-background);--badge-fg:var(--pds-color-badge-warning-muted-foreground)}}
1
+ @layer pds-v1, pds-v2;@layer pds-v2{.pds-badge{--badge-bg:var(--pds-color-badge-brand-muted-background);--badge-fg:var(--pds-color-badge-brand-muted-foreground);align-items:center;background-color:var(--badge-bg);border-radius:var(--pds-border-radius-default);color:var(--badge-fg);display:inline-flex;font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-medium);height:var(--pds-spacing-button-height-s);line-height:1;padding-inline:var(--pds-spacing-s);white-space:nowrap}.pds-badge--s{font-size:var(--pds-typography-size-xs);height:var(--pds-spacing-button-height-xs);padding-inline:var(--pds-spacing-xs)}.pds-badge--xs{font-size:.6875rem;height:var(--pds-spacing-l);padding-inline:var(--pds-spacing-3xs)}.pds-badge--brand{--badge-bg:var(--pds-color-badge-brand-background);--badge-fg:var(--pds-color-badge-brand-foreground)}.pds-badge--critical{--badge-bg:var(--pds-color-badge-critical-background);--badge-fg:var(--pds-color-badge-critical-foreground)}.pds-badge--discovery{--badge-bg:var(--pds-color-badge-discovery-background);--badge-fg:var(--pds-color-badge-discovery-foreground)}.pds-badge--gold{--badge-bg:var(--pds-color-badge-gold-background);--badge-fg:var(--pds-color-badge-gold-foreground)}.pds-badge--indigo{--badge-bg:var(--pds-color-badge-indigo-background);--badge-fg:var(--pds-color-badge-indigo-foreground)}.pds-badge--info{--badge-bg:var(--pds-color-badge-info-background);--badge-fg:var(--pds-color-badge-info-foreground)}.pds-badge--ink{--badge-bg:var(--pds-color-badge-ink-background);--badge-fg:var(--pds-color-badge-ink-foreground)}.pds-badge--lime{--badge-bg:var(--pds-color-badge-lime-background);--badge-fg:var(--pds-color-badge-lime-foreground)}.pds-badge--orange{--badge-bg:var(--pds-color-badge-orange-background);--badge-fg:var(--pds-color-badge-orange-foreground)}.pds-badge--rose{--badge-bg:var(--pds-color-badge-rose-background);--badge-fg:var(--pds-color-badge-rose-foreground)}.pds-badge--silver{--badge-bg:var(--pds-color-badge-silver-background);--badge-fg:var(--pds-color-badge-silver-foreground)}.pds-badge--sky{--badge-bg:var(--pds-color-badge-sky-background);--badge-fg:var(--pds-color-badge-sky-foreground)}.pds-badge--slate{--badge-bg:var(--pds-color-badge-slate-background);--badge-fg:var(--pds-color-badge-slate-foreground)}.pds-badge--stone{--badge-bg:var(--pds-color-badge-stone-background);--badge-fg:var(--pds-color-badge-stone-foreground)}.pds-badge--success{--badge-bg:var(--pds-color-badge-success-background);--badge-fg:var(--pds-color-badge-success-foreground)}.pds-badge--warning{--badge-bg:var(--pds-color-badge-warning-background);--badge-fg:var(--pds-color-badge-warning-foreground)}.pds-badge--brand-muted{--badge-bg:var(--pds-color-badge-brand-muted-background);--badge-fg:var(--pds-color-badge-brand-muted-foreground)}.pds-badge--critical-muted{--badge-bg:var(--pds-color-badge-critical-muted-background);--badge-fg:var(--pds-color-badge-critical-muted-foreground)}.pds-badge--discovery-muted{--badge-bg:var(--pds-color-badge-discovery-muted-background);--badge-fg:var(--pds-color-badge-discovery-muted-foreground)}.pds-badge--gold-muted{--badge-bg:var(--pds-color-badge-gold-muted-background);--badge-fg:var(--pds-color-badge-gold-muted-foreground)}.pds-badge--indigo-muted{--badge-bg:var(--pds-color-badge-indigo-muted-background);--badge-fg:var(--pds-color-badge-indigo-muted-foreground)}.pds-badge--info-muted{--badge-bg:var(--pds-color-badge-info-muted-background);--badge-fg:var(--pds-color-badge-info-muted-foreground)}.pds-badge--ink-muted{--badge-bg:var(--pds-color-badge-ink-muted-background);--badge-fg:var(--pds-color-badge-ink-muted-foreground)}.pds-badge--lime-muted{--badge-bg:var(--pds-color-badge-lime-muted-background);--badge-fg:var(--pds-color-badge-lime-muted-foreground)}.pds-badge--orange-muted{--badge-bg:var(--pds-color-badge-orange-muted-background);--badge-fg:var(--pds-color-badge-orange-muted-foreground)}.pds-badge--rose-muted{--badge-bg:var(--pds-color-badge-rose-muted-background);--badge-fg:var(--pds-color-badge-rose-muted-foreground)}.pds-badge--silver-muted{--badge-bg:var(--pds-color-badge-silver-muted-background);--badge-fg:var(--pds-color-badge-silver-muted-foreground)}.pds-badge--sky-muted{--badge-bg:var(--pds-color-badge-sky-muted-background);--badge-fg:var(--pds-color-badge-sky-muted-foreground)}.pds-badge--slate-muted{--badge-bg:var(--pds-color-badge-slate-muted-background);--badge-fg:var(--pds-color-badge-slate-muted-foreground)}.pds-badge--stone-muted{--badge-bg:var(--pds-color-badge-stone-muted-background);--badge-fg:var(--pds-color-badge-stone-muted-foreground)}.pds-badge--success-muted{--badge-bg:var(--pds-color-badge-success-muted-background);--badge-fg:var(--pds-color-badge-success-muted-foreground)}.pds-badge--warning-muted{--badge-bg:var(--pds-color-badge-warning-muted-background);--badge-fg:var(--pds-color-badge-warning-muted-foreground)}}
@@ -1,5 +1 @@
1
- @layer pds-v1, pds-v2;@layer pds-v2{.pds-datepicker{color:var(--pds-color-foreground-default);font-family:var(--pds-typography-ff-default)}.pds-datepicker__input-wrapper{align-items:center;column-gap:var(--pds-spacing-s);display:flex;row-gap:var(--pds-spacing-xs);width:100%}.pds-datepicker__trigger{align-items:center;background:var(--pds-color-surface-default);border:var(--pds-border-width-default) solid var(--pds-color-border-input);border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;font-size:var(--pds-typography-size-s);gap:var(--pds-spacing-s);height:var(--pds-spacing-input-height-s);justify-content:space-between;min-width:10rem;padding:var(--pds-spacing-s);width:100%}.pds-datepicker__trigger:disabled{cursor:not-allowed}.pds-datepicker__trigger--open,.pds-datepicker__trigger:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0;transition:var(--pds-animation-transition-focus)}.pds-datepicker__trigger-text{align-items:center;display:flex;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.pds-datepicker__trigger-text--placeholder{color:var(--pds-color-input-placeholder)}.pds-datepicker__trigger-icon{color:var(--pds-color-foreground-default);flex-shrink:0;margin-block-start:-1px}.pds-datepicker__separator{padding-inline:var(--pds-spacing-s)}.pds-datepicker__popover{background-color:var(--pds-color-surface-default);border-radius:var(--pds-border-radius-container);box-shadow:var(--pds-elevation-overlay);overflow:hidden;z-index:var(--pds-z-index-overlay)}.pds-datepicker__calendar{background-color:var(--pds-color-surface-default);padding:var(--pds-spacing-s) var(--pds-spacing-s) var(--pds-spacing-xs)}.pds-datepicker__actions{display:flex;justify-content:space-between;padding:0 var(--pds-spacing-m) var(--pds-spacing-m) var(--pds-spacing-m)}.pds-datepicker__actions-group{display:flex;gap:var(--pds-spacing-s)}.pds-datepicker{--day-size:2rem}.pds-datepicker .rdp-month_grid{width:auto}.pds-datepicker .rdp-month_grid tr{border-block-end:none}.pds-datepicker .rdp-month_grid td,.pds-datepicker .rdp-month_grid th{padding:0}.pds-datepicker .rdp-root{--rdp-accent-color:var(--pds-color-datepicker-accent-foreground);--rdp-range_middle-background-color:var(
2
- --pds-color-interactive-background-selected
3
- );--rdp-range_middle-color:var(
4
- --pds-color-interactive-background-selected-foreground
5
- );--rdp-today-color:var(--pds-color-foreground-default);--rdp-day-height:var(--day-size);--rdp-day-width:calc(var(--day-size) + 4px);--rdp-day_button-height:var(--day-size);--rdp-day_button-width:var(--day-size)}.pds-datepicker .rdp-month_caption{margin-block-end:var(--pds-spacing-2xs)}.pds-datepicker .rdp-caption_label{color:var(--pds-color-foreground-default)}.pds-datepicker .rdp-caption_label,.pds-datepicker .rdp-weekday{font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-semibold)}.pds-datepicker .rdp-weekday{color:var(--pds-color-foreground-default-secondary);opacity:1}.pds-datepicker .rdp-week{border:var(--pds-spacing-3xs) solid var(--pds-color-surface-default)}.pds-datepicker .rdp-day_button{font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-regular)}.pds-datepicker .rdp-day_button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-datepicker .rdp-selected:not(.rdp-range_middle) .rdp-day_button{background-color:var(--pds-color-datepicker-selected-background);border-radius:50%;color:var(--pds-color-datepicker-selected-foreground)}.pds-datepicker .rdp-today .rdp-day_button{border-radius:50%;box-shadow:inset 0 0 0 var(--pds-border-width-default) var(--pds-color-datepicker-accent-foreground)}.pds-datepicker .rdp-today.rdp-selected:not(.rdp-range_middle) .rdp-day_button{box-shadow:inset 0 0 0 var(--pds-border-width-default) var(--pds-color-datepicker-selected-foreground)}.pds-datepicker .rdp-button_next,.pds-datepicker .rdp-button_previous{color:var(--pds-color-foreground-default-secondary)}.pds-datepicker .rdp-button_next:hover,.pds-datepicker .rdp-button_previous:hover{color:var(--pds-color-button-secondary-foreground-hover)}.pds-datepicker .rdp-button_next:focus-visible,.pds-datepicker .rdp-button_previous:focus-visible{border-radius:var(--pds-border-radius-button);outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}@media (max-width:767px){.pds-datepicker__input-wrapper{align-items:stretch;flex-direction:column}.pds-datepicker .rdp-root .rdp-months{flex-direction:column}}}
1
+ @layer pds-v1, pds-v2;@layer pds-v2{.pds-datepicker{--day-size:2rem;--day-gap:4px;color:var(--pds-color-foreground-default);font-family:var(--pds-typography-ff-default)}.pds-datepicker__input-wrapper{align-items:center;column-gap:var(--pds-spacing-s);display:flex;row-gap:var(--pds-spacing-xs);width:100%}.pds-datepicker__trigger{align-items:center;background:var(--pds-color-surface-default);border:var(--pds-border-width-default) solid var(--pds-color-border-input);border-radius:var(--pds-border-radius-input);color:var(--pds-color-foreground-default);cursor:pointer;display:flex;font-size:var(--pds-typography-size-s);gap:var(--pds-spacing-s);height:var(--pds-spacing-input-height-s);justify-content:space-between;min-width:10rem;padding:var(--pds-spacing-s);width:100%}.pds-datepicker__trigger:disabled{cursor:not-allowed}.pds-datepicker__trigger--open,.pds-datepicker__trigger:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:0;transition:var(--pds-animation-transition-focus)}.pds-datepicker__trigger-text{align-items:center;display:flex;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.pds-datepicker__trigger-text--placeholder{color:var(--pds-color-input-placeholder)}.pds-datepicker__trigger-icon{color:var(--pds-color-foreground-default);flex-shrink:0;margin-block-start:-1px}.pds-datepicker__separator{padding-inline:var(--pds-spacing-s)}.pds-datepicker__popover{background-color:var(--pds-color-surface-default);border-radius:var(--pds-border-radius-container);box-shadow:var(--pds-elevation-overlay);display:flex;overflow-x:hidden;overflow-y:auto;z-index:var(--pds-z-index-overlay)}.pds-datepicker__presets{border-inline-end:var(--pds-border-width-default) solid var(--pds-color-dropdown-separator);display:flex;flex-direction:column;justify-content:space-between;min-width:13.75rem;padding:var(--pds-spacing-s);width:13.75rem}.pds-datepicker__presets--collapsed{border-inline-end:none}.pds-datepicker__calendar-wrapper{flex-basis:0;flex-shrink:0;overflow:hidden;transition:flex-basis .3s cubic-bezier(.2,0,0,1)}.pds-datepicker__preset-list{display:flex;flex-direction:column;gap:var(--pds-spacing-4xs)}.pds-datepicker__preset-item{align-items:center;background:none;border:none;border-radius:var(--pds-border-radius-container);color:var(--pds-color-dropdown-foreground);cursor:pointer;display:flex;font-size:var(--pds-typography-size-s);justify-content:space-between;min-height:var(--pds-spacing-2xl);padding-block:var(--pds-spacing-2xs);padding-inline:var(--pds-spacing-xs);text-align:start}.pds-datepicker__preset-item:hover{background-color:var(--pds-color-dropdown-item-background-hover)}.pds-datepicker__preset-item:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-datepicker__preset-item--active{font-weight:var(--pds-typography-fw-medium)}.pds-datepicker__preset-item--active,.pds-datepicker__preset-item--active:hover{background-color:var(--pds-color-interactive-background-active)}.pds-datepicker__preset-divider{background-color:var(--pds-color-dropdown-separator);height:var(--pds-border-width-default);margin-block:var(--pds-spacing-2xs)}.pds-datepicker__calendar{background-color:var(--pds-color-surface-default);display:flex;flex-direction:column;gap:var(--pds-spacing-m);padding:var(--pds-spacing-s) var(--pds-spacing-s) var(--pds-spacing-s)}.pds-datepicker__nav{align-items:center;display:flex;justify-content:space-between;margin-block-end:var(--pds-spacing-s)}.pds-datepicker__nav-title{color:var(--pds-color-foreground-default);flex:1;font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-semibold);text-align:center}.pds-datepicker__nav-button{align-items:center;background:none;border:none;border-radius:var(--pds-border-radius-button);color:var(--pds-color-foreground-default-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--pds-spacing-2xs)}.pds-datepicker__nav-button:hover:enabled{background-color:var(--pds-color-button-subtle-background-hover);color:var(--pds-color-button-secondary-foreground-hover)}.pds-datepicker__nav-button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-datepicker__nav-button:disabled{cursor:not-allowed;opacity:40%}.pds-datepicker__nav-button-spacer{visibility:hidden}.pds-datepicker__grids{display:flex;gap:var(--pds-spacing-l)}.pds-datepicker__month{flex:1}.pds-datepicker__grid{border-collapse:collapse;margin-inline:auto;width:auto}.pds-datepicker__grid th{padding:0}.pds-datepicker__grid tr{border-block-end:none}.pds-datepicker__weekday{color:var(--pds-color-foreground-default-secondary);font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-semibold);height:var(--day-size);text-align:center}.pds-datepicker__cell{padding-block:3px;padding-inline:0;position:relative;text-align:center;width:calc(var(--day-size) + var(--day-gap))}.pds-datepicker__day{align-items:center;border-radius:50%;cursor:pointer;display:flex;font-size:var(--pds-typography-size-s);font-weight:var(--pds-typography-fw-regular);height:var(--day-size);justify-content:center;outline:none;position:relative;width:var(--day-size);z-index:0}.pds-datepicker__day[hidden]{display:none}.pds-datepicker__day:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus)}.pds-datepicker__day--today{box-shadow:inset 0 0 0 var(--pds-border-width-default) var(--pds-color-datepicker-accent-foreground)}.pds-datepicker__cell--in-range{background-clip:content-box;background-color:var(--pds-color-interactive-background-selected)}.pds-datepicker__cell--range-start{border-end-start-radius:calc(var(--day-size)/2);border-start-start-radius:calc(var(--day-size)/2)}.pds-datepicker__cell--range-end{border-end-end-radius:calc(var(--day-size)/2);border-start-end-radius:calc(var(--day-size)/2);padding-inline-end:var(--day-gap)}.pds-datepicker__day--selected{background-color:var(--pds-color-datepicker-selected-background);color:var(--pds-color-datepicker-selected-foreground)}.pds-datepicker__day--today.pds-datepicker__day--selected{box-shadow:inset 0 0 0 var(--pds-border-width-default) var(--pds-color-datepicker-selected-foreground)}.pds-datepicker__day--disabled,.pds-datepicker__day--unavailable{cursor:not-allowed;opacity:40%}.pds-datepicker__time-section{border-block-start:var(--pds-border-width-default) solid var(--pds-color-border-default);display:flex;flex-direction:column;gap:var(--pds-spacing-s);padding-block-start:var(--pds-spacing-m)}.pds-datepicker__timezone-switcher{align-items:center;display:flex;gap:var(--pds-spacing-s)}.pds-datepicker__timezone-switcher-label{color:var(--pds-color-foreground-default);font-size:var(--pds-typography-size-input-label);font-weight:var(--pds-typography-fw-medium);white-space:nowrap}.pds-datepicker__time-fields{display:flex;gap:var(--pds-spacing-l)}.pds-datepicker__time-fields>*{flex:1}.pds-datepicker__footer-note{color:var(--pds-color-foreground-default-secondary);font-size:var(--pds-typography-size-s)}.pds-datepicker__actions{display:flex;justify-content:space-between;padding:var(--pds-spacing-xs) var(--pds-spacing-4xs) var(--pds-spacing-3xs)}.pds-datepicker__actions-group{display:flex;gap:var(--pds-spacing-s)}@media (max-width:767px){.pds-datepicker__input-wrapper{align-items:stretch;flex-direction:column}.pds-datepicker__grids{flex-direction:column}}}
@@ -1,2 +1,2 @@
1
- @layer pds-v1, pds-v2;@layer pds-v2{.pds-dropdown{position:relative}.pds-dropdown--inline{display:inline-block}.pds-dropdown__trigger{align-items:center;background:transparent;border:none;border-radius:var(--pds-border-radius-container);color:inherit;cursor:pointer;display:inline-flex;font-family:inherit;gap:var(--pds-spacing-3xs);padding:var(--pds-spacing-3xs) var(--pds-spacing-2xs);transition:background-color .15s ease}.pds-dropdown__trigger:hover{background-color:var(--pds-color-interactive-background-hover)}.pds-dropdown__trigger:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:1px}.pds-dropdown__trigger-icon{color:var(--pds-color-foreground-default-secondary);transition:var(--pds-animation-transition-rotation)}.pds-dropdown__trigger[aria-expanded=true] .pds-dropdown__trigger-icon{transform:rotate(180deg)}.pds-dropdown__panel{background-color:var(--pds-color-dropdown-background);box-shadow:var(--pds-elevation-overlay);flex-direction:column;gap:var(--pds-spacing-4xs);margin:0;min-width:10rem;overflow-y:auto;padding-inline:var(--pds-spacing-2xs);z-index:var(--pds-z-index-dropdown)}.pds-dropdown__item,.pds-dropdown__panel{border-radius:var(--pds-border-radius-container);display:flex;list-style:none;outline:none;padding-block:var(--pds-spacing-2xs)}.pds-dropdown__item{align-items:center;color:var(--pds-color-dropdown-foreground);cursor:pointer;font-size:var(--pds-typography-size-s);gap:var(--pds-spacing-s);justify-content:space-between;min-height:var(--pds-spacing-2xl);padding-inline:var(--pds-spacing-xs)}.pds-dropdown__item:focus-visible:not(:hover){outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:-1px}.pds-dropdown__item--focused,.pds-dropdown__item:hover{background-color:var(--pds-color-dropdown-item-background-hover)}.pds-dropdown__item:active{background-color:var(--pds-color-dropdown-item-background-active)}.pds-dropdown__selected-icon{align-self:center;color:var(--pds-color-foreground-default);display:flex;flex-shrink:0;height:.875em;width:.875em}.pds-dropdown__item--critical{color:var(--pds-color-status-critical-foreground)}.pds-dropdown__item--critical.pds-dropdown__item--focused,.pds-dropdown__item--critical:hover{background-color:var(--pds-color-status-critical-background)}.pds-dropdown__item--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.pds-dropdown__item-content{align-items:center;display:flex;gap:var(--pds-spacing-2xs)}.pds-dropdown__item-icon{display:flex;flex-shrink:0}.pds-dropdown__item-label{display:flex;flex-direction:column}.pds-dropdown__item-description{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-4xs)}.pds-dropdown__item-trailing{display:flex;flex-shrink:0}.pds-dropdown__checkbox-box{align-items:center;background-color:transparent;border:var(--pds-border-width-default) solid var(--pds-color-foreground-default);border-radius:var(--pds-border-radius-input);color:var(--pds-color-input-selected-foreground);display:flex;flex-shrink:0;height:1rem;justify-content:center;padding:.0625rem;transition:var(--pds-animation-transition-default);width:1rem}.pds-dropdown__checkbox-box--checked,.pds-dropdown__checkbox-box--indeterminate{background-color:var(--pds-color-input-selected-background);border-color:var(--pds-color-input-selected-background)}.pds-dropdown__checkbox-icon{height:100%;width:100%}.pds-dropdown__heading{color:var(--pds-color-dropdown-heading);font-family:var(--pds-typography-ff-compact);font-size:var(--pds-typography-size-xs);font-weight:var(--pds-typography-fw-regular);line-height:var(--pds-typography-lh-s);list-style:none;padding:var(--pds-spacing-xs) var(--pds-spacing-xs) var(--pds-spacing-3xs)}.pds-dropdown__separator{border-block-end:var(--pds-border-width-default) solid var(--pds-color-dropdown-separator);list-style:none;margin-block-end:2px;margin-inline:calc(var(--pds-spacing-2xs)*-1);padding-block:2px}.pds-dropdown__filter{list-style:none;margin-block-start:calc(var(--pds-spacing-2xs)*-1);margin-inline:calc(var(--pds-spacing-2xs)*-1);padding:0}.pds-dropdown__filter-wrapper{align-items:center;display:flex;position:relative}.pds-dropdown__filter-icon{block-size:.875rem;color:var(--pds-color-foreground-default-secondary);inline-size:.875rem;left:var(--pds-spacing-s);pointer-events:none;position:absolute}.pds-dropdown__filter-wrapper:has(.pds-dropdown__filter-icon)
1
+ @layer pds-v1, pds-v2;@layer pds-v2{.pds-dropdown{position:relative}.pds-dropdown--inline{display:inline-block}.pds-dropdown__trigger{align-items:center;background:transparent;border:none;border-radius:var(--pds-border-radius-container);color:inherit;cursor:pointer;display:inline-flex;font-family:inherit;gap:var(--pds-spacing-3xs);padding:var(--pds-spacing-3xs) var(--pds-spacing-2xs);transition:background-color .15s ease}.pds-dropdown__trigger:hover{background-color:var(--pds-color-interactive-background-hover)}.pds-dropdown__trigger:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:1px}.pds-dropdown__trigger-icon{color:var(--pds-color-foreground-default-secondary);transition:var(--pds-animation-transition-rotation)}.pds-dropdown__trigger[aria-expanded=true] .pds-dropdown__trigger-icon{transform:rotate(180deg)}.pds-dropdown__panel{background-color:var(--pds-color-dropdown-background);box-shadow:var(--pds-elevation-overlay);flex-direction:column;gap:var(--pds-spacing-4xs);margin:0;min-width:10rem;overflow-y:auto;padding-inline:var(--pds-spacing-2xs);z-index:var(--pds-z-index-dropdown)}.pds-dropdown__item,.pds-dropdown__panel{border-radius:var(--pds-border-radius-container);display:flex;list-style:none;outline:none;padding-block:var(--pds-spacing-2xs)}.pds-dropdown__item{align-items:center;color:var(--pds-color-dropdown-foreground);cursor:pointer;font-size:var(--pds-typography-size-s);gap:var(--pds-spacing-s);justify-content:space-between;min-height:var(--pds-spacing-2xl);padding-inline:var(--pds-spacing-xs)}.pds-dropdown__item:focus-visible:not(:hover){outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:-1px}.pds-dropdown__item--focused,.pds-dropdown__item:hover{background-color:var(--pds-color-dropdown-item-background-hover)}.pds-dropdown__item:active{background-color:var(--pds-color-dropdown-item-background-active)}.pds-dropdown__selected-icon{align-self:center;color:var(--pds-color-foreground-default);display:flex;flex-shrink:0;height:.875em;width:.875em}.pds-dropdown__item--critical{color:var(--pds-color-status-critical-foreground)}.pds-dropdown__item--critical.pds-dropdown__item--focused,.pds-dropdown__item--critical:hover{background-color:var(--pds-color-status-critical-background)}.pds-dropdown__item--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.pds-dropdown__item-content{align-items:center;display:flex;gap:var(--pds-spacing-2xs)}.pds-dropdown__item-icon{display:flex;flex-shrink:0}.pds-dropdown__item-label{display:flex;flex-direction:column}.pds-dropdown__item-description{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-4xs)}.pds-dropdown__item-trailing{display:flex;flex-shrink:0}.pds-dropdown__checkbox-box{align-items:center;background-color:transparent;border:var(--pds-border-width-default) solid var(--pds-color-foreground-default);border-radius:var(--pds-border-radius-default);color:var(--pds-color-input-selected-foreground);display:flex;flex-shrink:0;height:1rem;justify-content:center;padding:.0625rem;transition:var(--pds-animation-transition-default);width:1rem}.pds-dropdown__checkbox-box--checked,.pds-dropdown__checkbox-box--indeterminate{background-color:var(--pds-color-input-selected-background);border-color:var(--pds-color-input-selected-background)}.pds-dropdown__checkbox-icon{height:100%;width:100%}.pds-dropdown__heading{color:var(--pds-color-dropdown-heading);font-family:var(--pds-typography-ff-compact);font-size:var(--pds-typography-size-xs);font-weight:var(--pds-typography-fw-regular);line-height:var(--pds-typography-lh-s);list-style:none;padding:var(--pds-spacing-xs) var(--pds-spacing-xs) var(--pds-spacing-3xs)}.pds-dropdown__separator{border-block-end:var(--pds-border-width-default) solid var(--pds-color-dropdown-separator);list-style:none;margin-block-end:2px;margin-inline:calc(var(--pds-spacing-2xs)*-1);padding-block:2px}.pds-dropdown__filter{list-style:none;margin-block-start:calc(var(--pds-spacing-2xs)*-1);margin-inline:calc(var(--pds-spacing-2xs)*-1);padding:0}.pds-dropdown__filter-wrapper{align-items:center;display:flex;position:relative}.pds-dropdown__filter-icon{block-size:.875rem;color:var(--pds-color-foreground-default-secondary);inline-size:.875rem;left:var(--pds-spacing-s);pointer-events:none;position:absolute}.pds-dropdown__filter-wrapper:has(.pds-dropdown__filter-icon)
2
2
  .pds-dropdown__filter-input{padding-inline-start:calc(var(--pds-spacing-s) + var(--pds-spacing-xl))}.pds-dropdown__filter-input{background-color:transparent;border:none;border-block-end:var(--pds-border-width-default) solid var(--pds-color-border-input);border-radius:0;box-sizing:border-box;color:var(--pds-color-foreground-default);font-family:inherit;font-size:var(--pds-typography-size-s);padding:var(--pds-spacing-s);width:100%}.pds-dropdown__filter-input::placeholder{color:var(--pds-color-input-placeholder);font-size:var(--pds-typography-size-s)}.pds-dropdown__filter-input:focus-visible{border-radius:var(--pds-border-radius-container) var(--pds-border-radius-container) 0 0;outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:-3px}.pds-dropdown__no-results{color:var(--pds-color-foreground-default-secondary);font-size:var(--pds-typography-size-s);padding-block-end:var(--pds-spacing-s);padding-block-start:var(--pds-spacing-xs);padding-inline:var(--pds-spacing-s)}.pds-dropdown__footer{background-color:var(--pds-color-dropdown-background);border-block-start:var(--pds-border-width-default) solid var(--pds-color-dropdown-separator);bottom:calc(var(--pds-spacing-2xs)*-1);list-style:none;margin-block-end:calc(var(--pds-spacing-2xs)*-1);margin-block-start:var(--pds-spacing-3xs);margin-inline:calc(var(--pds-spacing-2xs)*-1);padding:var(--pds-spacing-s);position:sticky}.pds-dropdown__footer a,.pds-dropdown__footer button{align-items:center;background:none;border:none;color:var(--pds-color-interactive-link-default);cursor:pointer;display:flex;font:inherit;gap:var(--pds-spacing-3xs);padding:0;text-decoration:none;width:100%}.pds-dropdown__footer a:hover,.pds-dropdown__footer button:hover{color:var(--pds-color-interactive-link-hover);text-decoration:underline}.pds-dropdown__footer a:focus-visible,.pds-dropdown__footer button:focus-visible{outline:var(--pds-border-width-outline) solid var(--pds-color-interactive-focus);outline-offset:2px}}