Skip to content

Add CSS appearance: base-select support for customizable select dropdowns#123

Merged
argyleink merged 17 commits into
mainfrom
copilot/style-custom-select-elements
Jan 31, 2026
Merged

Add CSS appearance: base-select support for customizable select dropdowns#123
argyleink merged 17 commits into
mainfrom
copilot/style-custom-select-elements

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 29, 2026

Implements the new CSS customizable select spec (appearance: base-select) with styled dropdowns matching the app's design system when supported.

HTML Structure

  • Added <button><selectedcontent></selectedcontent></button> inside selects (required by spec for popover activation)
  • Added SVG icons with aria-hidden="true" to action menu options
  • Removed <hr> separators from action menus

CSS (@supports (appearance: base-select))

  • ::picker(select)--shadow-6, surface colors, --radius-2, fade+scale transitions via @starting-style
  • ::picker-icon — hidden
  • option::checkmarkorder: 2 for inline-end positioning
  • option[disabled] — hidden
  • optiongap: var(--size-3); padding: var(--size-2)
  • overflow: hiddenoverflow: clip on ancestors for anchor positioning

Svelte Reactivity

Base-select's popover doesn't trigger Svelte's binding detection. Added explicit oninput handlers:

<select bind:value={$store} oninput={(e) => $store = e.currentTarget.value}>
  <button><selectedcontent></selectedcontent></button>
  <option><svg aria-hidden="true">...</svg> Label</option>
</select>

Action Button Selects

.global-actions, .layer-actions, .stop-actions selects use opacity: 0; inset: 0; padding: 0 to fit parent and let background icon show through.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@netlify
Copy link
Copy Markdown

netlify Bot commented Jan 29, 2026

Deploy Preview for hd-gradients ready!

Name Link
🔨 Latest commit b8728ba
🔍 Latest deploy log https://app.netlify.com/projects/hd-gradients/deploys/697da4d52dcd1300083f71a5
😎 Deploy Preview https://deploy-preview-123--hd-gradients.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.

Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Copilot AI changed the title Add CSS appearance: base-select styling for customizable select elements Add base-select styling and fix overflow blocking anchor positioning Jan 29, 2026
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Copilot AI changed the title Add base-select styling and fix overflow blocking anchor positioning Add CSS appearance: base-select support with proper activation elements Jan 30, 2026
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Copilot AI changed the title Add CSS appearance: base-select support with proper activation elements Add CSS appearance: base-select support for customizable select dropdowns Jan 30, 2026
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
…ect mode

Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
…dlers

Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
Co-authored-by: argyleink <1134620+argyleink@users.noreply.github.com>
@argyleink argyleink marked this pull request as ready for review January 31, 2026 06:50
@argyleink argyleink merged commit 947a619 into main Jan 31, 2026
4 checks passed
@argyleink argyleink deleted the copilot/style-custom-select-elements branch January 31, 2026 06:50
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.

2 participants