Skip to content

Conversation

@QuintonJason
Copy link
Contributor

@QuintonJason QuintonJason commented Dec 8, 2025

Update Semantic Tokens & Add Storybook Dark Mode Support

Summary

Updates Pine components to use new semantic tokens from ds-tokens and adds dark mode theme switching to Storybook for testing.

Fixes: DSS-34

Changes

Semantic Token Updates:

  • Updated component SCSS files to use new semantic tokens
  • Replaced hardcoded grey tokens with semantic equivalents
  • Updated table background color token

Storybook Dark Mode:

  • Added storybook-addon-themes for light/dark mode switching
  • Added theme toggle to Storybook toolbar
  • Enables visual testing of components in both themes

Token Migrations

Old Token New Token
--pine-color-text-active --pine-color-text-strong
--pine-color-background-container-disabled --pine-color-background-muted (non-disabled contexts)
--pine-color-grey-* Various semantic tokens

Testing

Use the theme switcher in Storybook toolbar to toggle between light and dark modes.

@netlify
Copy link

netlify bot commented Dec 8, 2025

Deploy Preview for pine-design-system ready!

Name Link
🔨 Latest commit c15814a
🔍 Latest deploy log https://app.netlify.com/projects/pine-design-system/deploys/6939efb95be062000759c03d
😎 Deploy Preview https://deploy-preview-606--pine-design-system.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions bot added bug Something isn't working package: core Changes have been made to the Core package labels Dec 8, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 8, 2025

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@storybook/addon-themes ^10.1.3 🟢 7.2
Details
CheckScoreReason
Binary-Artifacts🟢 10no binaries found in the repo
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
CI-Tests🟢 1011 out of 11 merged PRs checked by a CI test -- score normalized to 10
CII-Best-Practices⚠️ 0no badge detected
Code-Review🟢 79 out of last 12 changesets reviewed before merge -- score normalized to 7
Contributors🟢 1042 different organizations found -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Dependency-Update-Tool🟢 10update tool detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Maintained🟢 1030 commit(s) out of 30 and 11 issue activity out of 30 found in the last 90 days -- score normalized to 10
Packaging⚠️ -1no published package detected
Pinned-Dependencies🟢 7dependency not pinned by hash detected -- score normalized to 7
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
Security-Policy🟢 10security policy file detected
Signed-Releases⚠️ -1no releases found
Token-Permissions⚠️ 0non read-only tokens detected in GitHub workflows
Vulnerabilities🟢 10no vulnerabilities detected

Scanned Files

  • libs/core/package.json

@QuintonJason QuintonJason self-assigned this Dec 8, 2025
@QuintonJason QuintonJason marked this pull request as ready for review December 8, 2025 22:07
@QuintonJason
Copy link
Contributor Author

@coderabbitai review this pr

@coderabbitai
Copy link

coderabbitai bot commented Dec 8, 2025

@QuintonJason: I'll review this PR for you. Let me analyze the semantic token updates and Storybook dark mode additions.

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link

coderabbitai bot commented Dec 8, 2025

📝 Walkthrough

Walkthrough

This pull request implements a comprehensive color token migration and dark mode theming system across the Pine design system. Changes include: adding a theme decorator to Storybook preview configuration with light/dark toggle functionality; updating preview head and body HTML files with dark theme CSS overrides; replacing grey-based color tokens with semantic tokens (e.g., text-secondary, background-subtle, border-subtle) across 25+ component SCSS files; modifying Storybook theme configuration files; and updating component documentation. No logic or control flow modifications were made; all changes are styling and theming related.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: add semantic tokens' directly summarizes the main change: updating components to use new semantic tokens as documented in the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description is well-structured, includes issue reference, clear summary of changes, and testing instructions. However, it lacks specific details on how to run tests and missing optional sections like dependencies.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/semantic-tokens

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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
libs/core/src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss (1)

75-80: Missing semicolon on Line 79.

The width: 100% property is missing a trailing semicolon, which violates CSS/SCSS syntax and may cause linting failures.

 pds-link::part(link) {
   display: block;
   margin-inline: calc(var(--pine-dimension-xs) * -1);
   padding-inline: var(--pine-dimension-xs);
-  width: 100%
+  width: 100%;
 }
libs/doc-components/src/components/docCanvas/docCanvas.css (1)

1-21: Use Pine semantic tokens for consistency with other doc-components styles.

The docCanvas.css file uses hardcoded hex values while docTokenTable.css in the same package successfully uses Pine semantic tokens like --pine-dimension-xs, --pine-border, and --pine-color-grey-200. This creates inconsistency across the doc-components library.

Refactor to use available Pine tokens:

 :root {
-  --doc-canvas-background: #f9fafa;
+  --doc-canvas-background: var(--pine-color-background-subtle);
-  --doc-canvas-border: 1px solid #eceeef;
+  --doc-canvas-border: 1px solid var(--pine-color-border);
-  --doc-canvas-grey: #ececec;
+  --doc-canvas-grey: var(--pine-color-grey-200);
-  --doc-canvas-color-light: #ffffff;
+  --doc-canvas-color-light: var(--pine-color-background-default);
-  --doc-canvas-color: #333333;
+  --doc-canvas-color: var(--pine-color-text-default);
 }

-[data-theme="dark"] {
-  --doc-canvas-background: #1a1a1a;
-  --doc-canvas-border: 1px solid #2d2d2d;
-  --doc-canvas-grey: #2d2d2d;
-  --doc-canvas-green: #628b83;
-  --doc-canvas-color-light: #000000;
-  --doc-canvas-color: #ffffff;
-}
🧹 Nitpick comments (4)
libs/core/.storybook/preview-body.html (1)

7-12: Backgrounds now use semantic tokens; consider migrating remaining grey text token

The new backgrounds for .sbdocs-wrapper, .sb-unstyled, and body correctly use var(--pine-color-background-*) tokens, which should behave well with your theme switching.

There is still a direct use of var(--pine-color-grey-700) for blockquote text (.sb-unstyled blockquote p). If the goal is to fully migrate away from --pine-color-grey-*, consider switching this to an appropriate semantic text token (e.g., a muted/secondary text token) to keep docs styling aligned with the rest of the system:

-      p {
-        color: var(--pine-color-grey-700);
-      }
+      p {
+        color: var(--pine-color-text-muted);
+      }

Adjust the exact token as needed to match your visual spec.

Also applies to: 78-85, 89-91

libs/core/.storybook/preview-head.html (1)

8-175: Dark theme scaffolding for Storybook docs/canvas looks solid

The [data-theme="dark"] block correctly uses CSS custom properties for core Pine surfaces and text, and the additional selectors for .sbdocs, argstables, and canvas give you a workable dark-docs experience without touching component logic.

If you expect to iterate on dark-mode colors often, consider, over time, migrating more of the hard-coded hex values in these rules into shared design tokens or a small palette map so that Storybook docs and the main design tokens stay in sync. Not urgent, but it will simplify future tuning of dark mode.

libs/doc-components/src/components/docCanvas/docCanvas.css (2)

76-106: Dark theme hover relies on specificity override.

The dark theme hover rule at lines 92-94 overrides the base hover rule at lines 102-106 through CSS specificity ([data-theme="dark"] adds extra specificity). While functional, this creates a cascade that might be unclear to future maintainers.

Consider grouping theme-specific styles together or documenting the override pattern:

 .doc-canvas-action:hover {
   background: rgba(204, 204, 204, 0.28);
   box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
   color: #000;
+
+  [data-theme="dark"] & {
+    color: #ffffff;
+  }
 }
-
-.doc-canvas-action:first-child {
-  border-right: 1px solid rgba(0, 0, 0, 0.1);
-  padding: 8px 15px;
-}
-
-.doc-canvas-action:hover {
-  background: rgba(204, 204, 204, 0.28);
-  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
-  color: #000;
-
-  [data-theme="dark"] &:hover {
-    color: #ffffff;
-  }
-}

135-144: Note: Pre-existing typo in class name.

The class name .doc-cavas-actions-toggle has a typo (should be .doc-canvas-actions-toggle with double 's'). While this is pre-existing and not introduced by this PR, it's worth noting for future cleanup.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f75ae29 and 3bf8e37.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (27)
  • libs/core/.storybook/PineTheme.js (1 hunks)
  • libs/core/.storybook/preview-body.html (2 hunks)
  • libs/core/.storybook/preview-head.html (1 hunks)
  • libs/core/.storybook/preview.js (1 hunks)
  • libs/core/src/components/pds-accordion/pds-accordion.scss (1 hunks)
  • libs/core/src/components/pds-box/pds-box.scss (1 hunks)
  • libs/core/src/components/pds-button/pds-button.scss (2 hunks)
  • libs/core/src/components/pds-checkbox/pds-checkbox.scss (1 hunks)
  • libs/core/src/components/pds-combobox/pds-combobox.scss (4 hunks)
  • libs/core/src/components/pds-copytext/pds-copytext.scss (1 hunks)
  • libs/core/src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss (1 hunks)
  • libs/core/src/components/pds-filters/pds-filter/pds-filter.scss (3 hunks)
  • libs/core/src/components/pds-input/docs/pds-input.mdx (1 hunks)
  • libs/core/src/components/pds-input/pds-input.scss (2 hunks)
  • libs/core/src/components/pds-link/pds-link.scss (1 hunks)
  • libs/core/src/components/pds-loader/pds-loader.scss (1 hunks)
  • libs/core/src/components/pds-modal/pds-modal-content/pds-modal-content.scss (1 hunks)
  • libs/core/src/components/pds-progress/pds-progress.scss (1 hunks)
  • libs/core/src/components/pds-switch/pds-switch.scss (1 hunks)
  • libs/core/src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss (2 hunks)
  • libs/core/src/components/pds-table/pds-table-head/pds-table-head.scss (1 hunks)
  • libs/core/src/components/pds-tabs/pds-tab/pds-tab.scss (3 hunks)
  • libs/core/src/components/pds-tabs/pds-tabs.scss (1 hunks)
  • libs/core/src/components/pds-text/pds-text.scss (1 hunks)
  • libs/core/src/components/pds-textarea/pds-textarea.scss (1 hunks)
  • libs/doc-components/src/components/docArgsTable/docArgsTable.css (1 hunks)
  • libs/doc-components/src/components/docCanvas/docCanvas.css (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: test-specs (22)
  • GitHub Check: test-specs (20)
  • GitHub Check: test-lint (18)
  • GitHub Check: test-specs (18)
  • GitHub Check: test-lint (20)
  • GitHub Check: test-lint (22)
🔇 Additional comments (28)
libs/core/src/components/pds-loader/pds-loader.scss (1)

50-50: Semantic token migration looks correct.

The change from --pine-color-background-container-disabled to --pine-color-background-muted is appropriate for this use case—the loader is an active component, not disabled. Using muted semantics fits the neutral, recessed appearance needed for a loading animation container.

Please verify the visual appearance of the typing loader matches expectations by toggling between light and dark modes in the Storybook theme switcher before merging.

libs/core/src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss (1)

33-36: Semantic token migration on hover state looks good.

The update from --pine-color-grey-150 to --pine-color-background-muted aligns with the PR's token migration strategy and should properly support both light and dark modes through CSS variable reassignment.

Ensure that --pine-color-background-muted is properly defined in the ds-tokens package for both light and dark themes.

libs/core/src/components/pds-filters/pds-filter/pds-filter.scss (1)

17-17: Semantic token migration looks consistent and logical.

The changes follow a clear pattern: icon colors use text-secondary, placeholder text uses text-tertiary, hover backgrounds use background-subtle, and hover borders use border-hover. The token selections are contextually appropriate across both the main trigger button and the "more" trigger variant.

Please verify that these semantic tokens are properly defined in the ds-tokens package and that they produce acceptable contrast ratios in both light and dark modes. You can confirm this by:

  1. Checking the ds-tokens package for token definitions matching the names used here:

    • --pine-color-text-secondary
    • --pine-color-text-tertiary
    • --pine-color-background-subtle
    • --pine-color-background-container-hover
    • --pine-color-border
    • --pine-color-border-hover
  2. Visually testing the filter component in Storybook using the new dark mode theme toggle (mentioned in the PR summary) to confirm colors appear correct in both light and dark modes.

  3. Running an accessibility checker or manually verifying that text-to-background contrast ratios meet WCAG AA or AAA standards for the updated color combinations.

Also applies to: 32-32, 39-40, 44-44, 86-88, 91-91, 96-97, 101-101

libs/core/src/components/pds-modal/pds-modal-content/pds-modal-content.scss (1)

11-12: Semantic token migration looks solid.

The replacement of --pine-color-grey-200 with --pine-color-border-subtle is semantically clearer and aligns with the token migration objectives. All three border modifiers are updated consistently.

Verify that --pine-color-border-subtle is defined in the ds-tokens package and configured correctly for both light and dark themes.

Also applies to: 16-16, 20-20

libs/core/src/components/pds-box/pds-box.scss (1)

123-127: Default border color migration to semantic token is appropriate.

The change from --pine-color-grey-300 to --pine-color-border on Line 124 improves clarity and consistency. The fallback pattern (var(--color-border-box, var(--pine-color-border))) is well-structured, allowing component-level overrides while using semantic defaults.

Confirm that --pine-color-border is defined in ds-tokens with values suitable for both light and dark themes, and verify the token provides adequate visual contrast for bordered boxes.

libs/core/src/components/pds-switch/pds-switch.scss (1)

113-128: Verify token migration rule application in disabled context.

Line 122 applies --pine-color-background-muted to a hover state within a disabled input (input:disabled). However, the PR's documented token migrations explicitly state: --pine-color-background-container-disabled--pine-color-background-muted (non-disabled contexts).

This appears to be a semantic inconsistency—the token is being applied in a disabled context when the migration rules specify non-disabled contexts only.

Is this intentional? If so, the migration rules or documentation may need updating. If not, consider whether --pine-color-background-muted is the correct token for styling the disabled switch's toggle indicator on hover, or if a different semantic token should be used.

libs/core/src/components/pds-link/pds-link.scss (1)

27-33: Confirm token definition in Tokens Studio before merging.

The semantic token name --pine-color-text-inverse-secondary follows Pine's naming convention (namespace-base-context-modifier) and is appropriately used for the secondary link hover state. However, this token is new and not defined anywhere in the repository—it must exist in the external Tokens Studio to function. Before merging this PR, verify that:

  1. The token --pine-color-text-inverse-secondary is properly defined in Tokens Studio and exported via Style Dictionary
  2. The hover color meets WCAG AA contrast requirements in both light and dark themes
libs/core/src/components/pds-progress/pds-progress.scss (1)

23-23: Token migration is correct and well-established.

The --pine-color-background-muted token is properly defined in the @kajabi-ui/styles design tokens package and supports dark mode theming via Tokens Studio exports. The semantic shift from background-container-disabled to background-muted is appropriate for a progress bar track, which represents a neutral background state rather than a disabled UI element. This token is consistently used across multiple components in the codebase (tabs, switch, loader, dropdown menu, combobox) and integrates correctly with the Pine design system's light/dark theme support.

libs/core/src/components/pds-checkbox/pds-checkbox.scss (1)

108-110: Token migration looks appropriate for disabled checkbox state.

The change from --pine-color-grey-300 to --pine-color-border is semantically clearer and aligns with the PR's semantic token migration. The disabled state styling remains consistent.

Verify that --pine-color-border is properly defined with dark mode variants in ds-tokens to ensure consistent rendering in both themes.

libs/core/src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss (1)

2-2: Verify semantic correctness of border-subtle token for cell borders.

Line 2: Using --pine-color-background-subtle for a border is semantically unusual. Borders typically use border tokens. Verify this is intentional or if a border-specific token should be used instead.

Line 47: The text-activetext-strong change is semantically appropriate for sortable/active states.

Confirm whether --pine-color-background-subtle is the correct choice for table cell borders, or if a --pine-color-border-subtle or similar token should be used instead.

Also applies to: 47-47

libs/core/src/components/pds-accordion/pds-accordion.scss (1)

20-20: Inconsistent text color tokens between accordion states.

Line 20: Open state uses --pine-color-text-active (unchanged).
Line 32: Closed state changed from --pine-color-text-readonly to --pine-color-text-muted.

This creates an inconsistency—other PR changes migrate text-active to text-strong. Consider whether the open summary should also use text-strong for consistency, or if text-active is intentionally kept for the active/expanded state.

Verify the intended semantics: should the open accordion summary use text-strong instead of text-active for consistency with other token migrations in this PR?

Also applies to: 32-32

libs/core/src/components/pds-text/pds-text.scss (1)

5-6: Semantic token migration for underline decoration is appropriate.

The change from --pine-color-grey-600 to --pine-color-text-tertiary is semantically sound for a decorative element. Tertiary text color provides appropriate visual hierarchy for underline decorations.

Ensure --pine-color-text-tertiary meets WCAG contrast requirements for text decoration in both light and dark themes.

libs/core/src/components/pds-table/pds-table-head/pds-table-head.scss (1)

1-2: Border token consistency check (continued from pds-table-head-cell.scss).

This file uses the same pattern—--pine-color-background-subtle for table borders. Confirm this is the intended design system convention for subtle borders, or if a dedicated border token should be used.

This is part of the table border token migration. Please verify the background-subtle token choice alongside your response for pds-table-head-cell.scss.

libs/core/src/components/pds-combobox/pds-combobox.scss (3)

31-67: Input styling token migration is appropriate.

Line 36: Changing text-active to text-strong for input text is semantically correct—user input should have strong contrast and visibility.


104-137: Selected/highlighted option styling updated to use semantic tokens.

Lines 105 & 136: Changing from --pine-color-grey-150 to --pine-color-background-muted for selected options is semantically appropriate and supports dark mode theming.


145-157: Group label color updated to text-tertiary for appropriate visual hierarchy.

Line 146: The change from --pine-color-text-placeholder to --pine-color-text-tertiary for group labels is semantically sound. Group labels should be subtle/tertiary in the visual hierarchy.

libs/core/src/components/pds-tabs/pds-tab/pds-tab.scss (3)

25-81: Tab base and availability variant color updates are semantically appropriate.

Lines 29 & 89: The --pine-color-grey-800--pine-color-text-secondary migrations for tab text provide proper semantic meaning for inactive tabs. The redundancy between base tab color (line 29) and availability variant (line 89) appears intentional for the variant-specific styling.


154-184: Filter tab variant updated to use background-muted.

Line 156: Changing --pine-color-background-container-disabled to --pine-color-background-muted for inactive filter tabs is semantically clearer and better aligns with the token system.


186-227: Pill tab variant color migration to text-muted.

Line 193: Updating --pine-color-text-readonly to --pine-color-text-muted for inactive pill tabs is semantically appropriate. Note: The active pill state (line 210) still uses --pine-color-text-active—verify this is intentional or should be migrated to text-strong for consistency with other PR changes.

Confirm whether the active pill tab state (line 210) should also migrate from text-active to text-strong for consistency with other token migrations in this PR.

libs/core/src/components/pds-tabs/pds-tabs.scss (1)

28-36: Pill tablist border token migration looks good

Using var(--pine-color-border-subtle) for the pill tablist border aligns with the semantic token strategy and should behave well in both light/dark themes.

libs/core/src/components/pds-input/pds-input.scss (1)

12-12: Input text + label using text-strong is consistent with token strategy

Aligning both --pds-input-text-color and .pds-input__label to var(--pine-color-text-strong) matches the semantic token migration and keeps primary input text appropriately emphasized.

Also applies to: 185-187

libs/core/src/components/pds-input/docs/pds-input.mdx (1)

378-393: Prefix/suffix text docs correctly updated to text-muted

The React, web component, and live examples all consistently use var(--pine-color-text-muted) for prefix/suffix text, matching the semantic token migration and intended visual hierarchy.

libs/core/src/components/pds-textarea/pds-textarea.scss (1)

130-146: Character counter color migration aligns with semantic tokens

Using var(--pine-color-text-muted) for the character counter in the default state fits the muted/secondary text semantics, while state overrides (disabled/readonly) remain correctly in place.

libs/core/.storybook/PineTheme.js (1)

9-13: Unified Storybook app backgrounds look reasonable

Setting both appBg and appContentBg to #f8f8f8 should give a more consistent canvas/chrome appearance and plays nicely with the token-based body backgrounds configured elsewhere.

libs/core/src/components/pds-copytext/pds-copytext.scss (1)

1-4: Copytext hover now driven by a semantic background token

Defining --copytext-color-background-hover as var(--pine-color-background-inset) and reusing it in the button hover state keeps the hover styling token-driven and consistent with other components.

libs/core/src/components/pds-button/pds-button.scss (2)

166-188: LGTM!

The filter button hover state correctly adopts the semantic token, maintaining consistency with the tertiary button changes.


153-164: Token migration is correct and consistent with established patterns.

The --pine-color-background-subtle token is properly defined in the external ds-tokens package (listed as a dependency in catalog-info.yaml) and is actively used across multiple components including pds-input, pds-filters, and pds-table, confirming it's a valid semantic token that responds to theme changes. The migration from --pine-color-grey-100 to this semantic token on lines 155 and 158 maintains visual consistency and aligns with the PR's semantic token adoption strategy.

libs/core/.storybook/preview.js (1)

127-150: LGTM!

The global theme configuration is well-structured with intuitive UI elements (sun/moon icons) and sensible defaults. The dynamicTitle setting enhances UX by displaying the active theme in the toolbar.

Copy link
Member

@pixelflips pixelflips left a comment

Choose a reason for hiding this comment

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

See my comment for issues that I came across.

@pixelflips
Copy link
Member

Cant see text in the invalid input:
Screenshot 2025-12-09 at 3 11 57 PM

@pixelflips
Copy link
Member

Text not flipping in layout docs exaample in dark mode.

Screenshot 2025-12-10 at 9 55 37 AM

@pixelflips
Copy link
Member

Popover doesn't have border to match Sage in dark mode.

Screenshot 2025-12-10 at 9 58 29 AM

@pixelflips
Copy link
Member

Disable switch circle disappears on hover:

Screenshot 2025-12-10 at 10 00 55 AM

@pixelflips
Copy link
Member

Text not readable inside textarea. May need to check other inputs as well. (showing text selected just to show there is content)

Screenshot 2025-12-10 at 10 04 32 AM

Copy link
Member

@pixelflips pixelflips left a comment

Choose a reason for hiding this comment

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

Phenomanal work my man! LGTM!

@QuintonJason QuintonJason merged commit 1b7567d into main Dec 11, 2025
17 checks passed
@QuintonJason QuintonJason deleted the fix/semantic-tokens branch December 11, 2025 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working package: core Changes have been made to the Core package package: doc-componenets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants