Skip to content

Conversation

@Niznikr
Copy link
Contributor

@Niznikr Niznikr commented Jan 4, 2024

Summary

While StyleX provides some nice optimizations via atomic CSS, a couple drawbacks became apparent when trying to create styles for buttons: debugging the long list of classes via the browser dev tools is a pain (common for all atomic CSS solutions) and there isn't a way to target ancestor selectors (in this case dark mode via data-theme attr) for styles. Vanilla Extract does not have either of these issues and makes it easy to define locally scoped CSS custom properties. I believe VE's versatility and wider feature set at the expense of a larger CSS bundle size is a better fit for our needs in the long run.

@Niznikr Niznikr requested review from a team, erangeles, hisuida and vroske-ld January 4, 2024 21:54
@changeset-bot
Copy link

changeset-bot bot commented Jan 4, 2024

🦋 Changeset detected

Latest commit: a1157d7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 42 packages
Name Type
@launchpad-ui/components Patch
@launchpad-ui/tokens Patch
@launchpad-ui/alert Patch
@launchpad-ui/avatar Patch
@launchpad-ui/banner Patch
@launchpad-ui/button Patch
@launchpad-ui/card Patch
@launchpad-ui/chip Patch
@launchpad-ui/clipboard Patch
@launchpad-ui/collapsible Patch
@launchpad-ui/columns Patch
@launchpad-ui/counter Patch
@launchpad-ui/data-table Patch
@launchpad-ui/drawer Patch
@launchpad-ui/dropdown Patch
@launchpad-ui/filter Patch
@launchpad-ui/form Patch
@launchpad-ui/icons Patch
@launchpad-ui/inline-edit Patch
@launchpad-ui/inline Patch
@launchpad-ui/markdown Patch
@launchpad-ui/menu Patch
@launchpad-ui/modal Patch
@launchpad-ui/navigation Patch
@launchpad-ui/pagination Patch
@launchpad-ui/popover Patch
@launchpad-ui/progress-bubbles Patch
@launchpad-ui/progress Patch
@launchpad-ui/select Patch
@launchpad-ui/slider Patch
@launchpad-ui/snackbar Patch
@launchpad-ui/split-button Patch
@launchpad-ui/stack Patch
@launchpad-ui/tab-list Patch
@launchpad-ui/table Patch
@launchpad-ui/tag Patch
@launchpad-ui/toast Patch
@launchpad-ui/toggle Patch
@launchpad-ui/tooltip Patch
@launchpad-ui/vars Patch
@launchpad-ui/core Patch
@launchpad-ui/box Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Comment on lines +19 to +23
selectors: {
['[data-theme="dark"] &']: {
vars: { [accentVar]: vars.color.pink[200] },
},
},
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Simple example of how to tweak a local CSS custom property (component-level token) for dark mode.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 4, 2024

Size Change: -4.25 kB (-2%)

Total Size: 191 kB

Filename Size Change
packages/components/dist/index.es.js 743 B -96 B (-11%) 👏
packages/components/dist/index.js 812 B -277 B (-25%) 🎉
packages/components/dist/style.css 264 B -3.88 kB (-94%) 🏆
packages/tokens/dist/index.css 2.46 kB +1 B (0%)
packages/tokens/dist/themes.css 1.72 kB +1 B (0%)
ℹ️ View Unchanged
Filename Size
packages/alert/dist/index.es.js 1.37 kB
packages/alert/dist/index.js 1.44 kB
packages/alert/dist/style.css 1.58 kB
packages/avatar/dist/index.es.js 1.17 kB
packages/avatar/dist/index.js 1.23 kB
packages/avatar/dist/style.css 469 B
packages/banner/dist/index.es.js 644 B
packages/banner/dist/index.js 714 B
packages/banner/dist/style.css 548 B
packages/box/dist/index.es.js 6.58 kB
packages/box/dist/index.js 6.68 kB
packages/box/dist/style.css 2.5 kB
packages/button/dist/index.es.js 1.88 kB
packages/button/dist/index.js 1.95 kB
packages/button/dist/style.css 3.81 kB
packages/card/dist/index.es.js 707 B
packages/card/dist/index.js 775 B
packages/card/dist/style.css 758 B
packages/chip/dist/index.es.js 676 B
packages/chip/dist/index.js 745 B
packages/chip/dist/style.css 569 B
packages/clipboard/dist/index.es.js 1.51 kB
packages/clipboard/dist/index.js 1.59 kB
packages/clipboard/dist/style.css 839 B
packages/collapsible/dist/index.es.js 856 B
packages/collapsible/dist/index.js 926 B
packages/collapsible/dist/style.css 94 B
packages/columns/dist/index.es.js 619 B
packages/columns/dist/index.js 692 B
packages/columns/dist/style.css 354 B
packages/core/dist/index.es.js 1.14 kB
packages/core/dist/index.js 1.53 kB
packages/counter/dist/index.es.js 334 B
packages/counter/dist/index.js 397 B
packages/counter/dist/style.css 262 B
packages/data-table/dist/index.es.js 2.46 kB
packages/data-table/dist/index.js 2.52 kB
packages/data-table/dist/style.css 388 B
packages/drawer/dist/index.es.js 1.73 kB
packages/drawer/dist/index.js 2.29 kB
packages/drawer/dist/style.css 580 B
packages/dropdown/dist/index.es.js 1.15 kB
packages/dropdown/dist/index.js 1.21 kB
packages/filter/dist/index.es.js 2.3 kB
packages/filter/dist/index.js 2.37 kB
packages/filter/dist/style.css 1.01 kB
packages/focus-trap/dist/index.es.js 270 B
packages/focus-trap/dist/index.js 333 B
packages/form/dist/index.es.js 4.23 kB
packages/form/dist/index.js 4.34 kB
packages/form/dist/style.css 2.77 kB
packages/icons/dist/index.es.js 1.35 kB
packages/icons/dist/index.js 1.42 kB
packages/icons/dist/style.css 528 B
packages/inline-edit/dist/index.es.js 1.56 kB
packages/inline-edit/dist/index.js 1.65 kB
packages/inline-edit/dist/style.css 359 B
packages/inline/dist/index.es.js 565 B
packages/inline/dist/index.js 637 B
packages/inline/dist/style.css 299 B
packages/markdown/dist/index.es.js 960 B
packages/markdown/dist/index.js 1.03 kB
packages/markdown/dist/style.css 241 B
packages/menu/dist/index.es.js 3.8 kB
packages/menu/dist/index.js 3.88 kB
packages/menu/dist/style.css 1.1 kB
packages/modal/dist/index.es.js 3.03 kB
packages/modal/dist/index.js 3.59 kB
packages/modal/dist/style.css 1.04 kB
packages/navigation/dist/index.es.js 2.79 kB
packages/navigation/dist/index.js 2.86 kB
packages/navigation/dist/style.css 1.26 kB
packages/overlay/dist/index.es.js 1 kB
packages/overlay/dist/index.js 1.06 kB
packages/pagination/dist/index.es.js 1.17 kB
packages/pagination/dist/index.js 1.24 kB
packages/pagination/dist/style.css 363 B
packages/popover/dist/index.es.js 3.07 kB
packages/popover/dist/index.js 3.58 kB
packages/popover/dist/style.css 629 B
packages/portal/dist/index.es.js 393 B
packages/portal/dist/index.js 453 B
packages/progress-bubbles/dist/index.es.js 1.76 kB
packages/progress-bubbles/dist/index.js 1.83 kB
packages/progress-bubbles/dist/style.css 968 B
packages/progress/dist/index.es.js 1.02 kB
packages/progress/dist/index.js 1.09 kB
packages/progress/dist/style.css 272 B
packages/select/dist/index.es.js 5.92 kB
packages/select/dist/index.js 6.01 kB
packages/select/dist/style.css 1.34 kB
packages/slider/dist/index.es.js 580 B
packages/slider/dist/index.js 645 B
packages/slider/dist/style.css 676 B
packages/snackbar/dist/index.es.js 1.18 kB
packages/snackbar/dist/index.js 1.73 kB
packages/snackbar/dist/style.css 602 B
packages/split-button/dist/index.es.js 945 B
packages/split-button/dist/index.js 1.01 kB
packages/split-button/dist/style.css 535 B
packages/stack/dist/index.es.js 494 B
packages/stack/dist/index.js 565 B
packages/stack/dist/style.css 226 B
packages/tab-list/dist/index.es.js 737 B
packages/tab-list/dist/index.js 809 B
packages/tab-list/dist/style.css 460 B
packages/table/dist/index.es.js 1.02 kB
packages/table/dist/index.js 1.1 kB
packages/table/dist/style.css 912 B
packages/tag/dist/index.es.js 2.81 kB
packages/tag/dist/index.js 2.88 kB
packages/tag/dist/style.css 819 B
packages/toast/dist/index.es.js 980 B
packages/toast/dist/index.js 1.53 kB
packages/toast/dist/style.css 552 B
packages/toggle/dist/index.es.js 764 B
packages/toggle/dist/index.js 843 B
packages/toggle/dist/style.css 1.52 kB
packages/tokens/dist/index.es.js 3.08 kB
packages/tokens/dist/index.js 3.08 kB
packages/tokens/dist/media-queries.css 114 B
packages/tooltip/dist/index.es.js 515 B
packages/tooltip/dist/index.js 590 B
packages/tooltip/dist/style.css 370 B
packages/vars/dist/index.es.js 2.56 kB
packages/vars/dist/index.js 2.63 kB

compressed-size-action

@Niznikr Niznikr merged commit 91cfeaf into main Jan 5, 2024
@Niznikr Niznikr deleted the refactor/rac-vanilla branch January 5, 2024 15:07
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.

3 participants