Skip to content

Fleet UI: PR #49292 follow-up — buttons, 8px gaps, focus ring - #50049

Merged
RachelElysia merged 6 commits into
mainfrom
49990-pr-49292-followup
Jul 28, 2026
Merged

Fleet UI: PR #49292 follow-up — buttons, 8px gaps, focus ring#50049
RachelElysia merged 6 commits into
mainfrom
49990-pr-49292-followup

Conversation

@RachelElysia

@RachelElysia RachelElysia commented Jul 28, 2026

Copy link
Copy Markdown
Member

Issue

Parent: #49990. Closes:

Also folds in the OktaConditionalAccessModal icon-gap called out on #49990.

Description

Shared primitives (drive every consumer):

  • Modal.modal-cta-wrap, ModalFooter, ActionButtons, DataTable.active-selection__inner — refactored margin-* cluster spacing to gap: $pad-small (uses gap per convention, not per-child margins).
  • styles/var/padding.scss: $gap-table-elements: $pad-medium$pad-small; every consumer that already used the semantic variable inherits automatically.
  • ActionsDropdown focus ring: outset box-shadow → outline + outline-offset: -1px, so the 1px ring sits inside the box (matches Button's ::after weight; no more stacking against the secondary variant's grey border).
  • TableContainer.__table-action-button.button { padding: $pad-small } override deleted — "Add fleet" and every other table action button restore primary default padding (8px 16px).
  • RevealButton: dropped variant?: "secondary" | "subdued" union (only secondary was used across 20 call sites); hardcoded inside; stripped variant="secondary" from all call sites. Also removed the inner .children-wrapper { padding: … $pad-xxsmall } that was inflating horizontal padding by 2px.

Per-page tightening: CustomLabelGroupHeading, ScriptListItem, SetupExperience cards, HostHeader, QueryDetailsPage, ManageHostsPage — 16px → 8px.

Screenrecording

Screen.Recording.2026-07-28.at.10.37.31.AM.mov
Screen.Recording.2026-07-28.at.10.41.13.AM.mov

Testing

  • Modal footers (FleetAppDetailsModal, EnrollSecretModal, install-details modals, etc.) — buttons now 8px apart, no visual regressions.

  • Controls > Scripts row: hover reveals bordered secondary Edit / Download / Delete buttons with 8px gaps.

  • Software > Self-service categories: row actions match Scripts (bordered secondary).

  • Tab to any <ActionsDropdown> — focus ring reads the same weight as tabbing a Button next to it (no ~2px band).

  • Settings > Fleets: "Add fleet" now matches other primary buttons (wider padding).

  • Fleet details header: Manage / Rename / Delete actions render without icons, 8px apart.

  • Any <RevealButton> (query editor advanced options, activity install-details "Show more", etc.) — horizontal padding matches sibling Save/Cancel buttons.

  • Okta conditional access modal: "Download certificate" button — text and download icon have visible 8px gap.

  • FleetAppDetailsModal slug row — copy button sits inline with slug text, doesn't push row taller than sibling DataSet rows.

  • BackButton — chevron matches Figma tone (no explicit black-50).

  • QA'd all new/changed functionality manually

Notes

  • No changes/ entry — parent #49990 is ~unreleased bug, nothing user-visible was ever shipped.
  • Two "needs design decision" items from PR #49292 follow-up: remaining button/design cleanup items #49990 (InfoBanner background color, ChartFilterModal Cancel button variant) are not in this PR — they need product/design input first.

Summary by CodeRabbit

  • Style
    • Standardized spacing between buttons, actions, filters, tables, and modal controls for a more consistent layout.
    • Refined dropdown, table, pagination, and chart control styling, including improved focus states and spacing.
    • Updated reveal controls to use consistent secondary-button styling and streamlined expand/collapse presentation.
    • Refined icon colors, sizes, and button content alignment across navigation and download actions.
    • Updated category management actions and compact copy controls for clearer visual hierarchy.

…ng cleanup

Bundles the quick-win tickets tracked under #49990:

- #49820 ActionsDropdown focus ring — was an outset box-shadow that rendered
  as a full-contrast 1px halo and stacked against the secondary variant's
  grey border. Switched to inset outline via `outline-offset: -1px` so it
  overlays the border pixel and matches Button's own :focus-visible weight.
- #49823 Controls > Scripts and Self-service categories row-action buttons
  → `variant="secondary"` to match Figma (both lists now consistent).
- #49824 "Add fleet" button (and every other TableContainer action button)
  — removed the `__table-action-button.button { padding: $pad-small }`
  override; restores default primary padding (8px 16px).
- #49825 Dead code cleanup:
  - `TeamDetailsWrapper`: removed unused `iconName` from Manage / Rename /
    Delete actions (no longer in Figma).
  - `DownloadABMKey` / `DownloadCSR`: dropped redundant `size="medium"`
    on `<Icon>` (medium is the default).
  - `RevealButton`: dropped the `variant?: "secondary" | "subdued"` prop
    entirely — every non-test call site passed `variant="secondary"`;
    hardcoded inside and stripped the redundant prop from 20 call sites.
- #49826 2px extra horizontal padding: removed `padding: $pad-small
  $pad-xxsmall` from `.reveal-button .children-wrapper` so RevealButton
  matches sibling Buttons in the same row (Save / Cancel).
- #49822 (previous commit context, on branch): `FleetAppDetailsModal`
  slug CopyButton — `size="small"` plus a local `margin: -4px` collapse
  so it sits inside the DataSet's x-small line-height.
- #49819 (previous commit context, on branch): `BackButton` chevron —
  removed the explicit `color="ui-fleet-black-50"` so the icon uses the
  Figma default fill.
Closes #49472 (and folds in the OktaConditionalAccessModal gap called
out in #49990). Aligns UI-element spacing with the Figma design system,
which specifies 8px between related actions (buttons in a modal footer,
grouped row actions, table header controls) rather than 16px.

Shared primitives (drives every consumer):
- `Modal.modal-cta-wrap` — 16→8px gap
- `ModalFooter` primary/secondary buttons wrapper — 16→8px
- `ActionButtons` — refactored `button { margin-left: $pad-medium }` to
  `gap: $pad-small` on the flex container (also matches the "use gap not
  margin" convention from #49472 review comment).
- `DataTable.active-selection__inner` (bulk-select action bar) —
  refactored per-child `margin-right: $pad-medium` overrides to
  `gap: $pad-small` on `__inner`, `__inner-left`, `__inner-right`.
- `styles/var/padding.scss` — `$gap-table-elements: $pad-medium` →
  `$pad-small`. Every table-header / filter-cluster gap that already
  used the semantic variable (HQRTable, HostSoftwareLibraryTable,
  TableContainer header/header-left, ManageHostsPage label filter)
  updates for free.

Per-page tightening (couldn't ride the variable change):
- `CustomLabelGroupHeading` filter row
- `ScriptListItem` actions row
- `SetupExperienceScriptCard` / `SetupAssistantProfileCard` actions
- `HostHeader.title__actions`
- `QueryDetailsPage.action-button-container`
- `ManageHostsPage.__button-wrap` and `.__table-actions`

`OktaConditionalAccessModal` (folded in from #49990): wrapped
"Download certificate" text in a `<span>` so Button's
`.children-wrapper` treats it as a distinct flex item, exposing the
8px `--secondary` gap between label and download icon (previously the
raw text node + trailing space collapsed against the icon with no
visible gap).
Copilot AI review requested due to automatic review settings July 28, 2026 14:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR is a Fleet UI styling follow-up that standardizes button/control spacing (moving many clusters to consistent 8px gaps), removes some per-consumer padding overrides, and aligns focus/hover behaviors with the design system across shared primitives and key pages.

Changes:

  • Refactors multiple shared UI containers from per-child margins to gap: $pad-small and updates $gap-table-elements to inherit the tighter spacing everywhere.
  • Adjusts button-related styling and usage (e.g., RevealButton no longer accepts a variant prop; various “Advanced options/Details” toggles stop passing variant="secondary").
  • Updates focus-visible treatment for ActionsDropdown (outline inset instead of an outset box-shadow) and makes several icon/button tweaks across pages/modals.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
frontend/styles/var/padding.scss Tightens semantic table element gap token to 8px.
frontend/pages/SoftwarePage/SoftwareLibrary/SelfServiceCategoriesPage/SelfServiceCategoriesPage.tsx Updates row action buttons to secondary variant.
frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/FleetAppDetailsModal.tsx Adjusts slug row rendering and copy button sizing/usage.
frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/_styles.scss Adds modal-scoped spacing rules for slug row copy affordance.
frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/queries/edit/components/SaveNewQueryModal/SaveNewQueryModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/queries/edit/components/EditQueryForm/EditQueryForm.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/queries/details/QueryDetailsPage/_styles.scss Reduces action cluster gap to 8px.
frontend/pages/policies/ManagePoliciesPage/components/AutomationsModal/components/OtherWorkflowsModal/OtherWorkflowsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/policies/ManagePoliciesPage/components/AutomationsModal/components/CalendarEventsModal/CalendarEventsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/ManageControlsPage/SetupExperience/cards/SetupAssistant/components/SetupAssistantProfileCard/_styles.scss Reduces actions gap to 8px.
frontend/pages/ManageControlsPage/SetupExperience/cards/SetupAssistant/components/AdvancedOptionsForm/AdvancedOptionsForm.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/ManageControlsPage/SetupExperience/cards/RunScript/components/SetupExperienceScriptCard/_styles.scss Reduces actions gap to 8px.
frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapAdvancedOptions/BootstrapAdvancedOptions.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/ManageControlsPage/Scripts/components/ScriptListItem/_styles.scss Reduces row actions gap to 8px.
frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/DiskEncryption.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/hosts/ManageHostsPage/components/CustomLabelGroupHeading/_styles.scss Reduces heading control gap to 8px.
frontend/pages/hosts/ManageHostsPage/_styles.scss Reduces multiple control clusters to 8px gap.
frontend/pages/hosts/details/DeviceUserPage/components/SettingUpYourDevice/SettingUpYourDevice.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/hosts/details/cards/HostHeader/_styles.scss Reduces header action gap to 8px.
frontend/pages/DashboardPage/components/ActivityFeedAutomationsModal/ActivityFeedAutomationsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/DashboardPage/cards/ChartCard/ChartFilterModal/SoftwareFilters/SoftwareFilters.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamDetailsWrapper.tsx Removes unused team action iconName fields.
frontend/pages/admin/IntegrationsPage/cards/ConditionalAccess/components/OktaConditionalAccessModal/OktaConditionalAccessModal.tsx Wraps button text to ensure consistent icon/text spacing.
frontend/pages/admin/components/DownloadFileButtons/DownloadCSR.tsx Removes redundant size="medium" from icon usage.
frontend/pages/admin/components/DownloadFileButtons/DownloadABMKey.tsx Removes redundant size="medium" from icon usage.
frontend/components/TableContainer/DataTable/_styles.scss Converts active selection spacing from margins to gap.
frontend/components/TableContainer/_styles.scss Removes table action button padding override to restore defaults.
frontend/components/ModalFooter/_styles.scss Reduces secondary button wrapper gap to 8px.
frontend/components/Modal/_styles.scss Reduces modal CTA wrap gap to 8px.
frontend/components/LiveQuery/SelectTargets.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/buttons/RevealButton/RevealButton.tsx Removes variant prop support; hardcodes secondary.
frontend/components/buttons/RevealButton/_styles.scss Removes extra inner padding that inflated horizontal size.
frontend/components/buttons/ActionButtons/_styles.scss Replaces per-button margins with container gap.
frontend/components/BackButton/BackButton.tsx Removes explicit icon color prop.
frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActivityDetails/InstallDetails/VppInstallDetailsModal/VppInstallDetailsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActivityDetails/InstallDetails/SoftwareUninstallDetailsModal/SoftwareUninstallDetailsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActivityDetails/InstallDetails/SoftwareScriptDetailsModal/SoftwareScriptDetailsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActivityDetails/InstallDetails/SoftwareIpaInstallDetailsModal/SoftwareIpaInstallDetailsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActivityDetails/InstallDetails/SoftwareInstallDetailsModal/SoftwareInstallDetailsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActivityDetails/InstallDetails/CertificateInstallDetailsModal/CertificateInstallDetailsModal.tsx Removes explicit variant="secondary" from RevealButton usage.
frontend/components/ActionsDropdown/ActionsDropdown.tsx Changes keyboard focus ring to inset outline with negative offset.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 85 to 88
<>
{slug} <CopyButton copyText={slug} variant="subdued" />
{slug}{" "}
<CopyButton copyText={slug} variant="subdued" size="small" />
</>

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

swapped to variant="compact" + delete override + delete {" "} at the slug row

Comment thread frontend/components/BackButton/BackButton.tsx
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.03%. Comparing base (bdd04ba) to head (0a1f673).
⚠️ Report is 45 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #50049      +/-   ##
==========================================
+ Coverage   67.97%   68.03%   +0.06%     
==========================================
  Files        3922     3929       +7     
  Lines      250031   250265     +234     
  Branches    13334    13430      +96     
==========================================
+ Hits       169948   170272     +324     
+ Misses      64781    64688      -93     
- Partials    15302    15305       +3     
Flag Coverage Δ
frontend 60.89% <100.00%> (+0.48%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Policies table filter dropdowns and Activity feed dropdown filters —
  16→8px gap.
- ActionButtons secondary buttons group — added missing gap.
- `ChevronLeft` default color: `core-fleet-black` → `ui-fleet-black-75`
  so the back-arrow matches the surrounding subdued Button text tone
  without every call site having to repeat the override. Removed the
  now-redundant `color="ui-fleet-black-75"` from `BackButton`,
  `Pagination`, and `LoginForm`.
Introduces `$gap-action-elements: $pad-small` in
`styles/var/padding.scss` as the design-system semantic for grouped
button/CTA gaps, so a future value change is a one-line lever.

Action-cluster locations now on `$gap-action-elements`:
- Global: `form, .form > .button-wrap` (base + `--center`)
- Shared: `Modal.modal-cta-wrap`, `Modal.__actions-footer > *`,
  `ModalFooter`, `ActionButtons` (`.action-buttons` and
  `__secondary-buttons` inside its media block)
- List/row/card action rows: `ScriptListItem __actions`,
  `SetupExperienceScriptCard __actions`,
  `SetupAssistantProfileCard __actions`
- Page-header action rows: `HostHeader.title__actions`,
  `QueryDetailsPage __action-button-container`,
  `ManageHostsPage __button-wrap`,
  `ManageQueriesPage __action-button-container`
- Software forms: `FleetAppDetailsForm __action-buttons`,
  `SoftwarePage __action-buttons`, `SoftwareAndroidForm`,
  `SoftwareVppForm` (16 -> 8), `PackageForm` (24 -> 8)
- Modals: `RenewCertModal __button-wrap`
- `ManagePoliciesPage __action-button-container`: converted per-child
  `__advanced-button { margin-right }` to `gap` on the flex parent
- `LiveQueryPage __targets-button-wrap`: same conversion, dropped
  `button:not(:first-of-type) { margin-left: 16px }` and the
  duplicated `margin-left: 16px` on `__targets-total-count`

Table-context locations now on `$gap-table-elements`:
- `DataTable.active-selection__inner*` (bulk-select bar)
- `PoliciesTable __filter-dropdowns`
- `ManageHostsPage __table-actions`
- `ActivityFeedFilters __dropdown-filters`

Other tweaks:
- Top-level `.table-container` gap: `$gap-table-elements` ->
  `$gap-page-component-inner` (search block <-> table body is a page
  component gap, not a table-element gap).
- `ActionsDropdown` control: added `gap: "8px"` between placeholder /
  text / caret. Placeholder margin: `marginTop: "1px"` -> `margin: 0`.
- `ActionsDropdown __wrapper button .children-wrapper` gap:
  `$pad-xsmall` -> `$pad-small`.
Copilot AI review requested due to automatic review settings July 28, 2026 17:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 59 out of 59 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (2)

frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/FleetAppDetailsModal.tsx:88

  • DataSet dd is already display: flex and this modal adds dd { gap: ... }, so the extra {" "} becomes its own flex item and can inflate spacing. Also, CopyButton already has a purpose-built variant="compact" for inline-with-text copy actions (20×20 hit area + inset focus ring) so we don’t need variant="subdued" size="small" + custom CSS overrides.
    frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/_styles.scss:25
  • This overrides the CopyButton size globally for this modal and duplicates the existing CopyButton variant="compact" styling (which already provides a 20×20 footprint and an inset focus ring). Keeping this override makes the layout dependent on a brittle selector and may regress focus-visible styling.

Removed the local .chart-card__settings-btn block that was overriding
Button's subdued 36px height + padding to squeeze the settings icon
into the header. The class was also removed from the JSX — the Button
now renders with its normal subdued sizing.
Copilot AI review requested due to automatic review settings July 28, 2026 17:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 61 out of 61 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (3)

frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/FleetAppDetailsModal.tsx:88

  • CopyButton already supports variant="compact" specifically for inline-with-text copy actions (20×20 footprint without growing the row). Using variant="subdued" + size="small" here forces a modal-specific CSS override to shrink the button, duplicating existing component behavior.
    frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/_styles.scss:23
  • This modal-specific .copy-button__button width/height override duplicates CopyButton’s existing variant="compact" styling (and the comment mentions trimming margin, but the code changes width/height). Prefer relying on the component’s compact variant and removing this override to avoid future drift.
    frontend/pages/DashboardPage/cards/ChartCard/ChartCard.tsx:487
  • After removing the chart-card__settings-btn class (and its SCSS), this icon-only variant="subdued" Button will render at the default 36px height/width (see .button base styles and button--icon-only), which can make the chart card header taller than adjacent card headers. Setting size="small" keeps the icon-only button at 28px to match the header’s min-height: 28px.
          <Button
            type="button"
            variant="subdued"
            ariaLabel="Configure chart filters"
            onClick={() => openFilterModal()}

- FleetAppDetailsModal slug row: switched CopyButton to
  variant="compact" (the purpose-built inline-with-text variant with
  the 20x20 hit area and inset focus ring) and dropped the "{" "}"
  that was becoming its own flex item inside the modal's dd gap.
  Deleted the local .copy-button__button width/height override that
  was reinventing what compact already provides.
- ChartCard settings Button: added size="small" so the icon-only
  subdued Button renders at 28px, matching the chart-card __header's
  min-height: 28px (it was going to 36px after the __settings-btn
  override was removed).
Copilot AI review requested due to automatic review settings July 28, 2026 18:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 60 out of 60 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

frontend/components/TableContainer/_styles.scss:4

  • $gap-page-component-inner is $pad-medium (16px) in padding.scss, so switching the top-level .table-container gap to that value prevents TableContainer from inheriting the new 8px $gap-table-elements spacing used throughout the rest of this component (e.g. .container, .stackable-header). If the intent of this PR is the 8px gap sweep for table controls/layout (#49472), keep the top-level gap on $gap-table-elements so it tightens consistently with the other table element gaps.
  gap: $gap-page-component-inner;

@RachelElysia
RachelElysia marked this pull request as ready for review July 28, 2026 20:48
@RachelElysia
RachelElysia requested a review from a team as a code owner July 28, 2026 20:48
hideText="Details"
caretPosition="after"
onClick={toggleInstallDetails}
variant="secondary"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

variant: secondary is now default variant


return (
<Button variant="subdued" onClick={onClick} className={classes}>
<Icon name="chevron-left" color="ui-fleet-black-50" />

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ui-fleet-black-75 default color is correct

$gap-data-sets: $pad-medium;
$gap-table-elements: $pad-medium;
$gap-table-elements: $pad-small;
$gap-action-elements: $pad-small;

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gaps between action buttons everywhere

$gap-form-component: $pad-small;
$gap-data-sets: $pad-medium;
$gap-table-elements: $pad-medium;
$gap-table-elements: $pad-small;

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gaps between table buttons/filters/search/etc

@RachelElysia
RachelElysia merged commit f7c2cf4 into main Jul 28, 2026
26 of 27 checks passed
@RachelElysia
RachelElysia deleted the 49990-pr-49292-followup branch July 28, 2026 20:52
@RachelElysia RachelElysia linked an issue Jul 28, 2026 that may be closed by this pull request
12 tasks
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6a54a587-5343-4c6c-a2a1-4a4c3de01d69

📥 Commits

Reviewing files that changed from the base of the PR and between 8e0c038 and 0a1f673.

📒 Files selected for processing (60)
  • frontend/components/ActionsDropdown/ActionsDropdown.tsx
  • frontend/components/ActionsDropdown/_styles.scss
  • frontend/components/ActivityDetails/InstallDetails/CertificateInstallDetailsModal/CertificateInstallDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareInstallDetailsModal/SoftwareInstallDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareIpaInstallDetailsModal/SoftwareIpaInstallDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareScriptDetailsModal/SoftwareScriptDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareUninstallDetailsModal/SoftwareUninstallDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/VppInstallDetailsModal/VppInstallDetailsModal.tsx
  • frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx
  • frontend/components/BackButton/BackButton.tsx
  • frontend/components/LiveQuery/SelectTargets.tsx
  • frontend/components/Modal/_styles.scss
  • frontend/components/ModalFooter/_styles.scss
  • frontend/components/Pagination/Pagination.tsx
  • frontend/components/TableContainer/DataTable/_styles.scss
  • frontend/components/TableContainer/_styles.scss
  • frontend/components/buttons/ActionButtons/_styles.scss
  • frontend/components/buttons/RevealButton/RevealButton.tsx
  • frontend/components/buttons/RevealButton/_styles.scss
  • frontend/components/forms/LoginForm/LoginForm.tsx
  • frontend/components/icons/ChevronLeft.tsx
  • frontend/pages/DashboardPage/cards/ActivityFeed/components/ActivityFeedFilters/_styles.scss
  • frontend/pages/DashboardPage/cards/ChartCard/ChartCard.tsx
  • frontend/pages/DashboardPage/cards/ChartCard/ChartFilterModal/SoftwareFilters/SoftwareFilters.tsx
  • frontend/pages/DashboardPage/cards/ChartCard/_styles.scss
  • frontend/pages/DashboardPage/components/ActivityFeedAutomationsModal/ActivityFeedAutomationsModal.tsx
  • frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/DiskEncryption.tsx
  • frontend/pages/ManageControlsPage/Scripts/components/ScriptListItem/_styles.scss
  • frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapAdvancedOptions/BootstrapAdvancedOptions.tsx
  • frontend/pages/ManageControlsPage/SetupExperience/cards/RunScript/components/SetupExperienceScriptCard/_styles.scss
  • frontend/pages/ManageControlsPage/SetupExperience/cards/SetupAssistant/components/AdvancedOptionsForm/AdvancedOptionsForm.tsx
  • frontend/pages/ManageControlsPage/SetupExperience/cards/SetupAssistant/components/SetupAssistantProfileCard/_styles.scss
  • frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsForm/_styles.scss
  • frontend/pages/SoftwarePage/SoftwareAddPage/SoftwareFleetMaintained/FleetMaintainedAppDetailsPage/FleetAppDetailsModal/FleetAppDetailsModal.tsx
  • frontend/pages/SoftwarePage/SoftwareLibrary/SelfServiceCategoriesPage/SelfServiceCategoriesPage.tsx
  • frontend/pages/SoftwarePage/_styles.scss
  • frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx
  • frontend/pages/SoftwarePage/components/forms/PackageForm/_styles.scss
  • frontend/pages/SoftwarePage/components/forms/SoftwareAndroidForm/_styles.scss
  • frontend/pages/SoftwarePage/components/forms/SoftwareVppForm/_styles.scss
  • frontend/pages/admin/IntegrationsPage/cards/ConditionalAccess/components/OktaConditionalAccessModal/OktaConditionalAccessModal.tsx
  • frontend/pages/admin/IntegrationsPage/cards/MdmSettings/AppleMdmPage/components/modals/RenewCertModal/_styles.scss
  • frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamDetailsWrapper.tsx
  • frontend/pages/admin/components/DownloadFileButtons/DownloadABMKey.tsx
  • frontend/pages/admin/components/DownloadFileButtons/DownloadCSR.tsx
  • frontend/pages/hosts/ManageHostsPage/_styles.scss
  • frontend/pages/hosts/ManageHostsPage/components/CustomLabelGroupHeading/_styles.scss
  • frontend/pages/hosts/details/DeviceUserPage/components/SettingUpYourDevice/SettingUpYourDevice.tsx
  • frontend/pages/hosts/details/cards/HostHeader/_styles.scss
  • frontend/pages/policies/ManagePoliciesPage/_styles.scss
  • frontend/pages/policies/ManagePoliciesPage/components/AutomationsModal/components/CalendarEventsModal/CalendarEventsModal.tsx
  • frontend/pages/policies/ManagePoliciesPage/components/AutomationsModal/components/OtherWorkflowsModal/OtherWorkflowsModal.tsx
  • frontend/pages/policies/ManagePoliciesPage/components/PoliciesTable/_styles.scss
  • frontend/pages/queries/ManageQueriesPage/_styles.scss
  • frontend/pages/queries/details/QueryDetailsPage/_styles.scss
  • frontend/pages/queries/edit/components/EditQueryForm/EditQueryForm.tsx
  • frontend/pages/queries/edit/components/SaveNewQueryModal/SaveNewQueryModal.tsx
  • frontend/pages/queries/live/LiveQueryPage/_styles.scss
  • frontend/styles/global/_global.scss
  • frontend/styles/var/padding.scss
💤 Files with no reviewable changes (22)
  • frontend/pages/admin/ManageFleetsPage/TeamDetailsWrapper/TeamDetailsWrapper.tsx
  • frontend/pages/DashboardPage/cards/ChartCard/ChartFilterModal/SoftwareFilters/SoftwareFilters.tsx
  • frontend/pages/ManageControlsPage/SetupExperience/cards/BootstrapPackage/components/BootstrapAdvancedOptions/BootstrapAdvancedOptions.tsx
  • frontend/pages/SoftwarePage/components/forms/PackageAdvancedOptions/PackageAdvancedOptions.tsx
  • frontend/pages/DashboardPage/cards/ChartCard/_styles.scss
  • frontend/components/LiveQuery/SelectTargets.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareScriptDetailsModal/SoftwareScriptDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareUninstallDetailsModal/SoftwareUninstallDetailsModal.tsx
  • frontend/pages/ManageControlsPage/SetupExperience/cards/SetupAssistant/components/AdvancedOptionsForm/AdvancedOptionsForm.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareInstallDetailsModal/SoftwareInstallDetailsModal.tsx
  • frontend/pages/policies/ManagePoliciesPage/components/AutomationsModal/components/OtherWorkflowsModal/OtherWorkflowsModal.tsx
  • frontend/pages/ManageControlsPage/OSSettings/cards/DiskEncryption/DiskEncryption.tsx
  • frontend/components/ActivityDetails/InstallDetails/CertificateInstallDetailsModal/CertificateInstallDetailsModal.tsx
  • frontend/components/buttons/RevealButton/_styles.scss
  • frontend/pages/queries/edit/components/SaveNewQueryModal/SaveNewQueryModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/SoftwareIpaInstallDetailsModal/SoftwareIpaInstallDetailsModal.tsx
  • frontend/components/ActivityDetails/InstallDetails/VppInstallDetailsModal/VppInstallDetailsModal.tsx
  • frontend/pages/queries/edit/components/EditQueryForm/EditQueryForm.tsx
  • frontend/pages/DashboardPage/components/ActivityFeedAutomationsModal/ActivityFeedAutomationsModal.tsx
  • frontend/components/AddHostsModal/PlatformWrapper/PlatformWrapper.tsx
  • frontend/pages/policies/ManagePoliciesPage/components/AutomationsModal/components/CalendarEventsModal/CalendarEventsModal.tsx
  • frontend/pages/hosts/details/DeviceUserPage/components/SettingUpYourDevice/SettingUpYourDevice.tsx

Walkthrough

Standardizes frontend spacing through new action and table gap tokens and applies them across shared layouts. Simplifies RevealButton by fixing its rendered variant to secondary and updating callers. Adjusts dropdown focus, placeholder, and child spacing, icon color and sizing defaults, chart settings controls, copy-button presentation, and certificate download markup.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the PR’s main UI spacing, button, and focus-ring follow-up.
Description check ✅ Passed The description covers the issue links, change summary, testing, and notes, and is mostly complete for the template.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 49990-pr-49292-followup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PR #49292 follow-up: remaining button/design cleanup items

3 participants