- Update Textarea snapshot for field-sizing: content #2555 (@Copilot)
- Update Alert snapshot for role="alert" attribute #2554 (@Copilot)
- Update package.json to 0.17.3-develop.9 (@hasparus)
- Bump version to 0.17.3-develop.8 (@hasparus)
- Bump version to 0.17.3-develop.4 (@hasparus)
- Merge stable into develop for release preparation (@hasparus)
- Trigger CI (@hasparus)
- docs: Update Resources links (@lachlanjc)
- components: [Textarea] Add field-sizing: content #2553 (@lachlanjc @Copilot @hasparus)
- components: [Alert] Add ARIA role #2552 (@lachlanjc @Copilot @hasparus)
- @Copilot
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
- Ryan Turner (@rtturner)
- fix(types): don't lock csstype version (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
- fix(color-modes): make useRootStyles=false work with useCustomProperties #2519 (@hasparus @dependabot[bot])
- @dependabot[bot]
- Piotr Monwid-Olechnowicz (@hasparus)
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Arun Sathiya (@arunsathiya)
❤️ Jeff Bell (@jhbell)
❤️ Paweł Kowalewski (@pawkow)
❤️ Sam Marxz (@sammarxz)
- fix(theme-ui): generate missing exports field (@hasparus)
- Filter scale tuples in Theme type inside .sx prop #2457 (@hasparus)
- (chore) upload logo dark version #2446 (@sammarxz)
- (chore) Update logo.svg to use currentColor #2446 (@sammarxz)
- Bump version (@hasparus)
- Arun Sathiya (@arunsathiya)
- Jeff Bell (@jhbell)
- Paweł Kowalewski (@pawkow)
- Piotr Monwid-Olechnowicz (@hasparus)
- Sam Marxz (@sammarxz)
- fix: ThemeProvider warning message (@hasparus)
- Add missing migration notes on 0.16 to docs (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
Deps bumps for 0.16.0 (#2432)
@theme-ui/sidenav package was removed due to low usage and breaking changes in @types/react.
- Deps bumps for 0.16.0 #2432 (@hasparus)
- Deprecate/rename ThemeProvider to ThemeUIProvider #2360 (@lachlanjc @hasparus)
- Trigger release again (@hasparus)
- Trigger release (@hasparus)
- Update lockfile (@hasparus)
- Update Browserlist (@hasparus)
- Update pnpm-lock.yaml (@hasparus)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
🎉 This release contains work from a new contributor! 🎉
Thank you, CJ (@dev-cj), for all your work!
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Ben (@benchilds)
❤️ Justin Cooper (@JustinotherGitter)
- Update variants.mdx #2408 (@benchilds)
- fix: Use
typeimports on src/index #2392 (@lachlanjc)
- docs: Fix color modes code sample typo #2399 (@JustinotherGitter)
- Ben (@benchilds)
- Justin Cooper (@JustinotherGitter)
- Lachlan Campbell (@lachlanjc)
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Nischal Shakya (@Nischal2015)
❤️ Wahid Rahim (@wahidrahim)
- fix(custom-properties): use default key name if pluralize returns empty #2389 (@wahidrahim)
- Add theme-aware Global component #2385 (@lachlanjc @hasparus)
- components: Rewrite Spinner for better performance #2384 (@lachlanjc)
- docs: Add missing
useMDXComponentsimport #2370 (@Nischal2015) - docs: Reorganize Color Modes doc for clarity #2365 (@lachlanjc)
- Lachlan Campbell (@lachlanjc)
- Lennart (@LekoArts)
- Nischal Shakya (@Nischal2015)
- Piotr Monwid-Olechnowicz (@hasparus)
- Wahid Rahim (@wahidrahim)
- lock file #2358 (@LekoArts)
- add peerDep change #2359 (@LekoArts)
- Update preset-tailwind for Tailwind v3 (breaking) #2357 (@lachlanjc)
- docs: Add destructuring example to useThemeUI API #2359 (@lachlanjc)
- Lachlan Campbell (@lachlanjc)
- Lennart (@LekoArts)
- lock file #2358 (@LekoArts)
- add peerDep change #2359 (@LekoArts)
- Update preset-tailwind for Tailwind v3 (breaking) #2357 (@lachlanjc)
- docs: Add destructuring example to useThemeUI API #2359 (@lachlanjc)
- Lachlan Campbell (@lachlanjc)
- Lennart (@LekoArts)
- Add
@mdx-js/reactto peerDeps forgatsby-plugin-theme-ui#2331 (@hasparus) - Fix MDXProvider example #2329 (@shawnbot)
- fix(typography): drop broken dev dependencies (@hasparus)
- fix(match-media): add dev dependency on react-dom (@hasparus)
- fix(theme-ui): remove redundant dependency on @theme-ui/mdx from package.json (@hasparus)
- docs: Mention that /core doesn't add global styles #2333 (@lachlanjc)
- docs: Group & update all MDX-related docs #2339 (@lachlanjc)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
- Shawn Allen (@shawnbot)
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Luke Watts (@thisislawatts)
❤️ Valto Savi (@pointlessrapunzel)
❤️ Brage Sekse Aarset (@braaar)
Pull out MDX to be opt-in (#2288)
If your project is not using MDX or importing Themed, you shouldn't need to
change anything.
-
MDXProvideris no longer included in Theme UIThemeProvider, and has been removed in favour of anuseThemedStylesWithMdxhook.-
Migration: Use
useThemedStylesWithMdxtogether withMDXProvideranduseMDXComponentsfrom@mdx-js/react.import { MDXProvider, useMDXComponents, Components as MDXComponents, MergeComponents as MergeMDXComponents, } from '@mdx-js/react' import { useThemedStylesWithMdx } from '@theme-ui/mdx' import { ThemeProvider, Theme } from 'theme-ui' interface MyProviderProps { theme: Theme components?: MDXComponents | MergeMDXComponents children: React.ReactNode } function MyProvider({ theme, components, children }: MyProviderProps) { const componentsWithStyles = useThemedStylesWithMdx(useMDXComponents(components)) return ( <ThemeProvider theme={theme}> <MDXProvider components={componentsWithStyles}> {children} </MDXProvider> </ThemeProvider> ) }
-
-
Themedcomponents dict and other exports from@theme-ui/mdxare no longer reexported fromtheme-ui.-
Migration: Import it from
@theme-ui/mdxinstead.- import { Themed } from 'theme-ui' + import { Themed } from '@theme-ui/mdx'
-
Remove @theme-ui/editor (#2292)
- Breaking:
@theme-ui/editorwas removed. Use CSS GUI instead./customizepage in Theme UI docs has been removed. Use Components.ai Theme Builder or an alternative instead.
Drop support for React 16 + 17 (#2215)
Theme UI 0.15.0 drops support for React 16 and React 17. Your use case may still work, but we don't guarantee it.
refactor: setting padding-right to size 4 for dynamic value (#2058)
Select component default paddingRight style has increased to spaces[4] (32px by default), to avoid text flowing behind the chevron icon.
- Pull out MDX to be opt-in #2288 (@hasparus @beerose @lachlanjc hasparus@Piotrs-MacBook.local)
- Drop support for React 16 + 17 #2215 (@hasparus)
- refactor: setting padding-right to size 4 for dynamic value #2058 (@appsparkler)
- Remove @theme-ui/editor #2292 (@hasparus)
- fix(mdx): add .sx props to Themed.X styles #2250 (@hasparus)
- docs(size-scales): Add reference of sizing scales in documentation #2327 (@cobraz @lachlanjc)
- docs: Update Contributing doc with pnpm info #2320 (@lachlanjc @hasparus)
- prism: Fix crash when className prop is missing #2322 (@lachlanjc)
- Docs: Group project templates by framework, add Remix #2276 (@lachlanjc)
- docs: re-order sidebar components into alphabetical order #2232 (@thisislawatts)
- docs: Specify MDX React version #2233 (@pointlessrapunzel)
- @dependabot[bot]
- Akash (@appsparkler)
- Aleksandra (@beerose)
- Brage Sekse Aarset (@braaar)
- Lachlan Campbell (@lachlanjc)
- Luke Watts (@thisislawatts)
- Piotr (hasparus@Piotrs-MacBook.local)
- Piotr Monwid-Olechnowicz (@hasparus)
- Simen A. W. Olsen (@cobraz)
- Valto Savi (@pointlessrapunzel)
- Update index.mdx (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/prism- fix(prism): fix peer dependency version (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
gatsby-plugin-theme-ui- fix(gatsby-plugin-theme-ui): Stop using JSX in gatsby-browser.js and gatsby-ssr.js (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
🎉 This release contains work from a new contributor! 🎉
Thank you, kamatte (@kamatte-me), for all your work!
@theme-ui/components- fix: Donut component's
viewBoxsvg property #2209 (@kamatte-me)
- fix: Donut component's
- kamatte (@kamatte-me)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/editor,@theme-ui/match-media,theme-ui
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/color-modes,@theme-ui/components,@theme-ui/core,@theme-ui/editor,gatsby-plugin-theme-ui,gatsby-theme-style-guide,gatsby-theme-ui-layout,@theme-ui/match-media,@theme-ui/mdx,@theme-ui/parse-props,@theme-ui/sidenav,@theme-ui/style-guide,@theme-ui/theme-provider,theme-ui- fix: change react and react-dom peer dependency to >16 (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/components- fix(components): add missing forwardRef and fix Switch props (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Brage (@braaar)
❤️ peterlits zo (@PeterlitsZo)
❤️ Ryan Turner (@rtturner)
❤️ Cannon Lock (@CannonLock)
- feat(examples/next): Add new deps, fully use TSX, rebuild #2068 (@lachlanjc)
@theme-ui/components,@theme-ui/css,gatsby-plugin-theme-ui,@theme-ui/mdx,@theme-ui/sidenav,@theme-ui/theme-provider,theme-ui- Remove @emotion/styled usage #2043 (@atanasster @hasparus @lachlanjc)
@theme-ui/tailwind- feat(tailwind): Upgrade Tailwind theme conversion for v3.0 #2082 (@lachlanjc)
@theme-ui/custom-properties- feat(custom-properties): Warn in development on invalid theme keys #2080 (@lachlanjc)
@theme-ui/color-modes- feat(color-modes): Warn when theme color keys have leading/trailing whitespace #2099 (@lachlanjc)
theme-ui- feat(theme-ui): Add sx prop to BaseStyles component #2081 (@lachlanjc)
- fix(docs): make layout more consistent #2168 (@hasparus)
- feat(docs): Add custom content for sketchy preset demo #1236 (@atanasster @hasparus @lachlanjc)
- fix(docs): Update recommendations in Keyframes doc #2079 (@lachlanjc)
- docs: add dependencies to "getting started" #2075 (@braaar)
@theme-ui/color-modesgatsby-plugin-theme-ui@theme-ui/style-guide@theme-ui/components- fix(components): Update IconButton type definition to include size prop #2121 (@rtturner)
- components: Fix visual collapsing bug with Switch component #2067 (@lachlanjc)
@theme-ui/sidenav- fix(sidenav): Build with latest theme-ui version #2084 (@lachlanjc)
- Make change non-breaking #2075 (@lachlanjc)
- Remove sx prop #2075 (@lachlanjc)
- sidenav: Fix props leaking to DOM on Pagination component #2075 (@lachlanjc)
- docs(sx-prop): add more detail for responsive values. #2116 (@PeterlitsZo @lachlanjc)
- docs(jsx-pragma): Add section on using with vite #2119 (@PeterlitsZo @lachlanjc)
- docs: Clarify usage of theme prop in MDX Layout docs #2100 (@CannonLock)
- docs(jsx): add some more detail to #with-swc section in jsx-pragma docs #2094 (@hasparus @lachlanjc)
- e2e: Upgrade dependencies #2098 (@lachlanjc)
- Set up CodeSandbox CI #2085 (@lachlanjc)
- examples: Remove CodeSandbox starter example #2086 (@lachlanjc)
- docs: Document default theme values #2087 (@lachlanjc)
@theme-ui/sidenav- sidenav: Fix props leaking to DOM on Pagination component #2057 (@lachlanjc)
- Finish editing note #2079 (@lachlanjc)
- Atanas Stoyanov (@atanasster)
- Brage (@braaar)
- Cannon Lock (@CannonLock)
- Lachlan Campbell (@lachlanjc)
- Lennart (@LekoArts)
- peterlits zo (@PeterlitsZo)
- Piotr Monwid-Olechnowicz (@hasparus)
- Ryan Turner (@rtturner)
@theme-ui/css- css: Make background a theme-aware property #2056 (@lachlanjc)
- @dependabot[bot]
- Akash (@appsparkler)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Simen A. W. Olsen (@cobraz)
❤️ Akash (@appsparkler)
❤️ Greg Poole (@gpoole)
Move Emotion and MDX packages to peerDeps (#1867)
BREAKING CHANGE: @emotion/react and @mdx-js/react were moved to peerDependencies of theme-ui, @theme-ui/mdx and @theme-ui/sidenav and must be installed separately. This is a revert of change from Theme UI v0.3, and it's meant to help solve version clashes and context mismatch bugs on user side. Connected issues: #1793, #1531, #1530, #1388, #1345, #1130.
@theme-ui/color-modes,@theme-ui/components,@theme-ui/core,@theme-ui/css,gatsby-plugin-theme-ui,@theme-ui/mdx,@theme-ui/parse-props,@theme-ui/sidenav,@theme-ui/theme-provider,theme-ui
- fix(docs): Set text color on Demo page JSON code #2024 (@appsparkler)
@theme-ui/core- fix: add missing deepmerge dependency (@hasparus)
- Try out CodeQL (@lachlanjc)
@theme-ui/core,theme-ui- docs: Write migration notes for v0.13 (@hasparus)
gatsby-plugin-theme-ui- Bump peerDependency in
gatsby-plugin-theme-ui(@hasparus)
- Bump peerDependency in
- docs: Add 3 new projects to Resources page #2044 (@lachlanjc)
- docs: Add indivorg/theme to resources #2040 (@cobraz)
- docs: Add next-theme-ui #2041 (@cobraz)
- docs(pragma): add SWC instructions for Next.js #2020 (@gpoole)
- Akash (@appsparkler)
- Greg Poole (@gpoole)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
- Simen A. W. Olsen (@cobraz)
- Add .md to .eslintignore (@hasparus)
@theme-ui/prism- docs: use the @theme-ui/components Select in /demo page (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
🎉 This release contains work from a new contributor! 🎉
Thank you, William Pei (@draekien), for all your work!
@theme-ui/color-modes,@theme-ui/css- Use media query value when useColorSchemeMediaQuery is set to 'system' #1981 (@julianbenegas @draekien)
@theme-ui/color-modes,@theme-ui/color,@theme-ui/components,@theme-ui/core,@theme-ui/css,@theme-ui/custom-properties,@theme-ui/editor,gatsby-plugin-theme-ui,gatsby-theme-style-guide,gatsby-theme-ui-layout,@theme-ui/match-media,@theme-ui/mdx,@theme-ui/parse-props,@theme-ui/preset-base,@theme-ui/preset-bootstrap,@theme-ui/preset-bulma,@theme-ui/preset-dark,@theme-ui/preset-deep,@theme-ui/preset-funk,@theme-ui/preset-future,@theme-ui/preset-polaris,@theme-ui/preset-roboto,@theme-ui/preset-sketchy,@theme-ui/preset-swiss,@theme-ui/preset-system,@theme-ui/preset-tailwind,@theme-ui/preset-tosh,@theme-ui/presets,@theme-ui/prism,@theme-ui/sidenav,@theme-ui/style-guide,@theme-ui/tailwind,@theme-ui/theme-provider,theme-ui,@theme-ui/typography
- docs(components): Include form control color names #1982 (@lachlanjc)
- @dependabot[bot]
- Julian Benegas (@julianbenegas)
- Lachlan Campbell (@lachlanjc)
- Lennart (@LekoArts)
- Piotr Monwid-Olechnowicz (@hasparus)
- William Pei (@draekien)
@theme-ui/components- Patch GridProps #1933 (@aaronadamsCA)
- Aaron Adams (@aaronadamsCA)
🎉 This release contains work from a new contributor! 🎉
Thank you, Matt Gleich (@gleich), for all your work!
@theme-ui/color-modes,@theme-ui/color,@theme-ui/components,@theme-ui/core,@theme-ui/css,@theme-ui/custom-properties,@theme-ui/editor,gatsby-plugin-theme-ui,gatsby-theme-style-guide,gatsby-theme-ui-layout,@theme-ui/match-media,@theme-ui/mdx,@theme-ui/parse-props,@theme-ui/preset-base,@theme-ui/preset-bootstrap,@theme-ui/preset-bulma,@theme-ui/preset-dark,@theme-ui/preset-deep,@theme-ui/preset-funk,@theme-ui/preset-future,@theme-ui/preset-polaris,@theme-ui/preset-roboto,@theme-ui/preset-sketchy,@theme-ui/preset-swiss,@theme-ui/preset-system,@theme-ui/preset-tailwind,@theme-ui/preset-tosh,@theme-ui/presets,@theme-ui/prism,@theme-ui/sidenav,@theme-ui/style-guide,@theme-ui/tachyons,@theme-ui/tailwind,@theme-ui/theme-provider,theme-ui,@theme-ui/typography- Merge remote-tracking branch 'origin/stable' into develop (@hasparus)
- docs(examples/next): showcase automatic runtime pragma comment in document.js #1923 (@hasparus)
- docs(examples/next): use TS, variants and improve contrast #1923 (@hasparus)
- docs: correct location of
initialColorModeName: 'light'#1922 (@gleich)
🎉 This release contains work from new contributors! 🎉
Thanks for all your work!
❤️ Torne Wuff (@tornewuff)
❤️ Jordie Bodlay (@jordie23)
Fixed a long-standing bug with color modes in nested providers (#1456)
Added @theme-ui/css/utils with TypeScript CIF functions and fix preset types (#1862)
- Added TypeScript
Constrained identity functions
makeTheme,makeStylesandmakeColorsScalewhich can be imported from @theme-ui/css/utils. - Used aformentioned functions to properly define types of presets. Exported themes are now assignable to Theme but their types narrowly describe their exact values.
@theme-ui/color,@theme-ui/css,@theme-ui/preset-base,@theme-ui/preset-bootstrap,@theme-ui/preset-bulma,@theme-ui/preset-dark,@theme-ui/preset-deep,@theme-ui/preset-funk,@theme-ui/preset-future,@theme-ui/preset-polaris,@theme-ui/preset-roboto,@theme-ui/preset-sketchy,@theme-ui/preset-swiss,@theme-ui/preset-system,@theme-ui/preset-tailwind,@theme-ui/preset-tosh,@theme-ui/presets- Add @theme-ui/css/utils with TypeScript CIF functions and fix preset types #1862 (@tornewuff @hasparus)
@theme-ui/color-modes,@theme-ui/core,@theme-ui/editor,@theme-ui/theme-provider,theme-ui
- Update global-styles.mdx #1858 (@jordie23)
@theme-ui/core,@theme-ui/css@theme-ui/color-modes,@theme-ui/components,@theme-ui/core,@theme-ui/editor,gatsby-theme-style-guide,gatsby-theme-ui-layout,@theme-ui/match-media,@theme-ui/mdx,@theme-ui/parse-props,@theme-ui/sidenav,@theme-ui/style-guide,@theme-ui/theme-provider,theme-ui
- Remove dependabot from the changelog (@hasparus)
- docs: add
@theme-ui/cssto sidebar and packages page #1877 (@hasparus) - docs: change intro code snippets to TypeScript #1877 (@hasparus)
@theme-ui/css@theme-ui/core,@theme-ui/csstheme-ui
@theme-ui/prism- Update snapshots #1768 (@lachlanjc)
- Jordie Bodlay (@jordie23)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
- Torne Wuff (@tornewuff)
🎉 This release contains work from a new contributor! 🎉
Thank you, Vlad Shcherbin (@vladshcherbin), for all your work!
Allow easy styling autofilled of Inputs (#1811)
Background color of autofilled inputs will now default to
theme.colors.background. It can be changed by setting
autofillBackgroundColor prop.
- Fix typo #1835 (@vladshcherbin)
@theme-ui/color-modes,@theme-ui/components,@theme-ui/editor,theme-ui@theme-ui/color,@theme-ui/css@theme-ui/color,@theme-ui/components,@theme-ui/css,@theme-ui/custom-properties,@theme-ui/editor,gatsby-theme-style-guide,@theme-ui/preset-bootstrap,@theme-ui/preset-bulma,@theme-ui/preset-dark,@theme-ui/preset-deep,@theme-ui/preset-funk,@theme-ui/preset-future,@theme-ui/preset-polaris,@theme-ui/preset-roboto,@theme-ui/preset-sketchy,@theme-ui/preset-swiss,@theme-ui/preset-system,@theme-ui/preset-tailwind,@theme-ui/style-guide- Add missing meta repository to published packages #1807 (@aaronadamsCA)
- Add missing repository metadata to published packages #1779 (@aaronadamsCA)
- Docs: update JSX pragma guide with automatic runtime section #1718 (@flo-sch @hasparus)
- docs: fix DocSearch not loading in SSR (@hasparus)
- Docs: Move homepage to root path #1783 (@lachlanjc)
@theme-ui/components- docs(components): fix Paragraph default variant #1795 (@bernharduw)
- Aaron Adams (@aaronadamsCA)
- Bernhard Gschwantner (@bernharduw)
- Florent SCHILDKNECHT (@flo-sch)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
- Vlad Shcherbin (@vladshcherbin)
@theme-ui/components- fix: Allow overriding Paragraph margins via theme #1775 (@bernharduw)
- Bernhard Gschwantner (@bernharduw)
modernize Babel config (#1721)
Theme UI packages became lighter! Built source code is now 9.5 kB (34%) smaller.
The trade-off is, Babel config has changed and it no longer supports Internet Explorer 11. If you need to support legacy browsers, you can transpile node_modules (e.g. with next-transpile-modules).
- See build raport with size comparison for each package
- Inspect updated Babel config
- Visit Bundlephobia
@theme-ui/preset-base,@theme-ui/preset-bootstrap,@theme-ui/sidenav,@theme-ui/typography
@theme-ui/components- fix(components): set Select's bgColor to "background" - fixes dark mode (@hasparus)
- style DocSearch #1714 (@atanasster @hasparus)
- Atanas Stoyanov (@atanasster)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/theme-provider- fix(theme-provider): set body margin to 0 (@hasparus)
@theme-ui/theme-provider- Merge branch 'develop' into stable (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/color-modes- fix(color-modes): stop showing current color mode as initial mode in rawColors.modes (@hasparus)
@theme-ui/color-modes,@theme-ui/color,@theme-ui/components,@theme-ui/core,@theme-ui/css,@theme-ui/custom-properties,@theme-ui/editor,gatsby-plugin-theme-ui,gatsby-theme-code-recipes,gatsby-theme-style-guide,gatsby-theme-ui-layout,@theme-ui/match-media,@theme-ui/mdx,@theme-ui/parse-props,@theme-ui/preset-base,@theme-ui/preset-bootstrap,@theme-ui/preset-bulma,@theme-ui/preset-dark,@theme-ui/preset-deep,@theme-ui/preset-funk,@theme-ui/preset-future,@theme-ui/preset-polaris,@theme-ui/preset-roboto,@theme-ui/preset-sketchy,@theme-ui/preset-swiss,@theme-ui/preset-system,@theme-ui/preset-tailwind,@theme-ui/preset-tosh,@theme-ui/presets,@theme-ui/prism,@theme-ui/sidenav,@theme-ui/style-guide,@theme-ui/tachyons,@theme-ui/tailwind,@theme-ui/theme-provider,theme-ui,@theme-ui/typography- Merge branch 'stable' into develop (@hasparus)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/color-modes@theme-ui/color-modes,@theme-ui/css,@theme-ui/custom-properties,theme-ui- fix(color-modes): merge rawColors from nested theme providers (@hasparus)
- Reverted
cache-providerPR as it significantly complicates SSR setup and breaks apps without explicit Emotion SSR config. #1717 (comment).
- @Zolwiastyl
- Piotr Monwid-Olechnowicz (@hasparus)
-
BREAKING:
theme.config.useRootStylesnow defaults totruefollowing deprecation ofuseBodyStyles. Styles fromtheme.styles.rootare now added to<html>element by default. -
Moved theme configuration options to
configobject in theme.- Deprecations:
useRootStyles,useCustomProperties,useColorSchemeMediaQuery,useBorderBox, anduseLocalStorageoptions on the theme object are now scoped under aconfigobject on the theme, and the root-level options, now deprecated, will be removed in a future release.
(e.g. you should be setting
theme.config.useBorderBoxinstead oftheme.useBorderBox)- ⚠ All config options should be migrated at once. If Theme UI sees
theme.configexists, it won't look for options on thetheme.
- Deprecations:
-
Removed APIs, previously deprecated in 0.6.0
theme.useBodyStyles⟶theme.config.useRootStylesStyled⟶Themed
@theme-ui/color-modes,@theme-ui/css,gatsby-plugin-theme-ui
- (REVERTED in v0.8.1)
@theme-ui/core,@theme-ui/sidenav- Wrap top level ThemeProvider in CacheProvider #1717 (@hasparus @Zolwiastyl)
- Improve Switch component documentation #1687 (@flo-sch)
- Describe Preconstruct in Contributing.md #1715 (@hasparus)
🎉 v0.8.0 contains work from a new contributor! 🎉
Thank you, @Zolwiastyl, for all your work!
- @Zolwiastyl
- Florent SCHILDKNECHT (@flo-sch)
- Francis Champagne (@fcisio)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
@theme-ui/css- Add 6 border logical color properties to scales #1668 (@lachlanjc)
- docs: useColorSchemeMediaQuery defaults to true (@hasparus)
- Lachlan Campbell (@lachlanjc)
- Piotr Monwid-Olechnowicz (@hasparus)
- Add new links to Resources page #1670 (@lachlanjc)
- Add link to JSX Pragma page on Getting Started doc (@lachlanjc)
@theme-ui/css- Add 2 missing CSS column properties to scales #1669 (@lachlanjc)
- Add text-decoration-color to scales #1667 (@lachlanjc)
- Lachlan Campbell (@lachlanjc)
🎉 This release contains work from a new contributor! 🎉
❤️ David Dios (@dios-david)
Thanks for all your work!
@theme-ui/css- Adding
scroll-marginprops #1664 (@dios-david)
- Adding
@theme-ui/editor- chore(deps): bump reakit from 1.3.5 to 1.3.7 #1644 (@dependabot-preview[bot] @lachlanjc)
- David Dios (@dios-david)
- Kenny (@kenny-f)
- Lachlan Campbell (@lachlanjc)
🎉 This release contains work from a new contributor! 🎉
Thank you, Jonathan Van Buren (@vanbujm), for all your work!
gatsby-plugin-theme-ui@theme-ui/components
- chore(deps): bump ssri from 6.0.1 to 6.0.2 in /examples/next #1661 (@dependabot[bot])
- chore(deps): [security] bump ssri from 6.0.1 to 6.0.2 #1660 (@dependabot-preview[bot])
- Have
breakpointsaccept custom media queries #1653 @carolinmaisenbacher
gatsby-plugin-theme-ui,gatsby-theme-code-recipes,gatsby-theme-style-guide,gatsby-theme-ui-layout
- all packages -Build packages with Preconstruct 2 #1423 (@alexanderchan @hasparus)
-
Reexported
jsxascreateElementto fix babel JSX pragma crash. Issue #1603, PR #1604 by @ethanwu10.The following code doesn't crash anymore.
<div {...{}} key="1" />
changes relative to 0.3, not the latest 0.6 prerelease
-
Styledcomponents dict was renamed toThemedto avoid confusion withstyledcomponents constructors from@emotion/styledand similar libraries. -
theme.useRootStylesconfiguration option (false by default). Set it totrueto addstyles.roottohtmlinstead ofbody.theme.useBodyStylesconfiguration option still defaults totrue, but it's going in to be deprecated in favor oftheme.useRootStylesin the future.
-
New scale:
transitionssupportingtransitionCSS property. Issue #1079, PR #1272 -
Objects in nested scales can now have a
__defaultkey. PR #951Given the theme
const theme = { colors: { primary: { __default: '#00f', light: '#33f', } } }color: 'primary'resolves tocolor: '#00f'. -
Configuration option for printing color mode. PR #1267, issue #1144. No more wasted ink.
{ initialColorModeName: "dark", printColorModeName: "light" } -
A new component, Paragraph was added in PR #1298
-
Theme UI 0.6 depends on Emotion 11, and isn't compatible with Emotion 10 anymore.
- If you didn't install Emotion separately, this update shouldn't affect you.
- If your other dependencies depend on Emotion 10, and have no published versions for Emotion 11, you can use Yarn resolutions or Webpack's resolve.alias to enforce a version.
Refer to Emotion 11 release notes for more information.
-
Color mode flash on first render is gone, but to achieve this we had to bring back
theme.rawColors.- You can no longer read raw color values from
theme.colorswhen reading theme fromuseThemeUIor insidesx. .colorsobject contains Custom CSS Properties now.- If you need to pass original value somewhere where CSS Properties (e.g.
WebGL Canvas) won't work use
.rawColors.
- You can no longer read raw color values from
-
Default color mode name is no longer
"default"— it's nowundefined, what represents the lack of color mode set by user or detected from preferences. -
useColorSchemeMediaQuerydefaults totrue. Issue #624, PR #1373How to migrate? Add
useColorSchemeMediaQuery: falseto your theme if you don't have this property. Read more in the docs. -
We no longer export internal React context named as
Context😅 It wasn't and it's still not public API, but if you used it and you really need it, you can grab it as__ThemeUIContext. (But please don't do this. UseThemeProviderfrom @theme-ui/core for local theme overrides instead.)
Styledwill be removed in v0.7. UseThemedinstead.useBodyStyleswill be removed in v0.7. UseuseRootStylesinstead.
Theme UI is now written in TypeScript, and the emitted types differ from
@types/theme-ui.
-
falsein now accepted in responsive tuple types. PR #1499 -
Known colors (primary, text, background, accent, secondary) in
ColorModecan now be nested scales.The following no longer typechecks, as
colors.primarycan be an object.sx={{ color: theme => theme.colors?.primary?.toUpperCase() }}
But the following code still works.
sx={{ color: theme => theme.colors?.primary }}
If
colors.primaryis an object,colors.primary.__defaultis used. -
falsevalues are skipped before passing style objects to Emotion. Issue #1297, PR #1460.The following syntax is now supported
sx={{ color: isActive && blue }}
-
"as" prop on Themed.X components now properly opts out of typechecking
- TypeScript users, don't use
ComponentProps<typeof Themed['div']>, importThemedComponentand useThemedComponent<'div'>instead.
- TypeScript users, don't use
-
Theme UI 0.6 depends on
csstypev3 instead ofcsstypev2. -
Renamed types
- Anything copied from
styled-systemtypes was renamed or removed. SxPropswas renamed toSxProp.SxStyleProp, an alias forThemeUIStyleObjectwas removed. UseThemeUIStyleObjectinstead.
- Anything copied from
Refer to the changelog for a full list of changes.
-
Make the rename of
StyledtoThemednon-breaking. Add a deprecation warning onStyleduntil a future release. PR #1461 -
Paragraph component's hardcoded responsive style has been removed (issue #1476)
-
Fix issue where css custom vars are only added to body if modes is in the colors declaration of the theme.
-
BREAKING: Move theme configuration options to
configobject in theme.
-
Breaking TypeScript: Known colors (primary, text, background, accent, secondary) in
ColorModecan now be nested scales.The following no longer typechecks, as
colors.primarycan be an object.sx={{ color: theme => theme.colors?.primary?.toUpperCase() }}
But the following code still works.
sx={{ color: theme => theme.colors?.primary }}
If
colors.primaryis an object,colors.primary.__defaultis used. -
Add
theme.useRootStylesconfiguration option (false by default). Set it totrueto addstyles.roottohtmlinstead ofbody.theme.useBodyStylesconfiguration option still defaults totrue, but it's going in to be deprecated in favor oftheme.useRootStylesin the future. -
Accept `false` in responsive tuple types. PR #1499
-
Skip
falsevalues before passing style objects to Emotion. Issue #1297, PR #1460.
-
BREAKING: Default
useColorSchemeMediaQuerytotrue. Issue #624, PR #1373How to migrate? Add
useColorSchemeMediaQuery: falseto your theme if you don't have this property. Read more in the docs. -
Option for
gatsby-plugin-theme-uito disable body script (injectColorFlashScript, defaulting totrue). Issue #1369, PR #1370 -
Bump versions
@mdx-js/mdxand@mdx-js/reactto^1.6.22, gatsby-plugin-mdx to^1.6.0. PR #1351 -
Fix: "as" prop on Themed.X components now properly opts out of typechecking
- TypeScript users, don't use
ComponentProps<typeof Themed['div']>, importThemedComponent<'div'>instead.
- TypeScript users, don't use
-
@theme-ui/prism: Support multiple highlight wrappers in a single code block. PR #1393
-
Support a default key for object in scales. PR #951
Given the theme
const theme = { colors: { primary: { __default: '#00f', light: '#33f', } } }color: 'primary'resolves tocolor: '#00f'.
- Extract objects with nested variant props. Issue #1357
- Add ability for MDX styling, and fix mdx table align styles. Issue #654
- Remove recursive default values from CSS custom properties. PR #1327
- Render extra Embed props onto
iframetag instead of wrappingdiv. Issue #966, PR #1122
- Remove recursive default values from CSS custom properties. PR #1327
- Switches from lodash.kebabCase to alternative package (param-case) per official Lodash documentation. PR #1304
- Rebuilds Prism preset with latest upstream theme changes. PR #1304
- Fix: Preserve order of variant expansion props. PR #1326 (bug introduced in 0.5.0-alpha.1)
- BREAKING: Rename
Styledcomponent toThemed. PR #1323 - BREAKING: Make Text component use
spaninstead ofdiv - breaking TypeScript: Renamed and removed types. PR #1308
SxPropstoSxProp.SxStyleProp, an alias forThemeUIStyleObjectremoved. UseThemeUIStyleObjectinstead.
- Fix: Add
sxprops types to all props acceptingclassName. PR #1308 - Fix WithPoorAsProp to work with ComponentProps utility type. PR #1308
- Add Paragraph component. PR #1298
- Bump React peerDependency to
"^16.14.0 || ^17.0.0". - Support automatic JSX runtime. Issue #1160, PR #1237
- Bump React peerDependency to
"^16.14.0 || ^17.0.0". - Apply variant styles before responsive styles. Issues #1030, and #720, PR #1273
- BREAKING: Upgrade to Emotion 11, and
csstype3. PR #1261- We are now depending on
@emotion/react@11instead of@emotion/core@10 sxprop types are still global, and we opt in for Emotioncssprop types (This will change in the future.)- Refer to Emotion 11 release notes for more information.
- We are now depending on
- Fix color CSS Custom Properties recursive reference
- Add transitions scale. Issue #1079, PR #1272
- Use correct version of @theme-ui/components in theme-ui package. (Locked dependencies on other Theme UI packages)
- Add documentation on CSS keyframes #1269
-
Add configuration option for printing color mode. PR #1267, issue #1144.
{ initialColorModeName: "dark", printColorModeName: "light" }
- Add
arrowprop to Select to allow passing custom arrow icon. Issues #1177 #1151, PR #1232 - Fix: Field component uses
idif passed. PR #1252 - Fix circular import in Switch.js
- Fix Button not respecting hidden prop. Issue #1254
- Add
minWidth: min-contenton Checkbox and Radio. PR #1256
- Fix support for rgb/hsl color values
-
Add Switch component #1035
<Label> <Switch /> Enable email alerts? </Label>
-
Pass
sizeprop down to IconButton in Close component. PR #1242<Close size={24} />
- Convert Gatsby example to TypeScript and stop using removed components. Issue #1227, PR #1229
- Make ThemeProvider
themeprop required
- Removes overriding property on editor combobox #687
- Add
@theme-ui/preset-sketchy
- Add support for highlighting lines #895
@theme-ui/sidenav: move React to peerDependencies #978
- Pass
sizeprop to ColorRow component #941
- Accept SetStateAction and generic parameter #1174
- Fix broken base-preset link on
themingpage
- Fix peer dependencies. Issue #725, PR #836
- Add theme colors support to columnRuleColor and caretColor #1085
- Support scrollPadding variations in sx props. Issue #1214
- Support Webpack 5. (Uses default export from package.json instead of named export) #1141
- Add
primaryas default variant forBadgecomponent #1109 - Add
primaryas default variant forAlertcomponent #1102 - Add
theme.text.defaultvariant forTextcomponent #870
- Fix example logo on Avatar & Image component docs #1233
- Fix theme editor output in docs #1182
- Adjusts media query sort logic #600
- Fixes link to Gatsby Plugin page in
getting-startedpage. Issue #602, PR #603
- Split theme-ui package into
@theme-ui/core,@theme-ui/mdx, and@theme-ui/color-modes - Removes
context.components(still available through MDX context) - Adds separate
ColorModeProvidercomponent - Removes support for
theme.initialColorMode- useinitialColorModeNameinstead - Removes layout components (
Layout,Header,Main,Footer) - useBoxandFlexinstead - Updates CSS custom properties implementation for color modes
- When using
useColorSchemeMediaQueryflag, it will initialize the mode tolightwhen@media (prefers-color-scheme: light)is enabled - Global color mode styles are automatically added to the body without needing
to render the
ColorModecomponent - Adds global typographic styles, set
useBodyStyles: falseto disable - Removes
ThemeStateProvider - Fix issue where
<del>tag was incorrectly specified asdelete - The
@theme-ui/editorAPI has changed significantly. See the README.md for more information. @theme-ui/components: on Grid component, allow customcolumnsdefinitions via strings #541@theme-ui/gatsby-theme-style-guide: add docs on shadowing #558- Adds
@theme-ui/preset-polaris#567 - Adjusts default font stack in presets #568
@theme-ui/color: addtransparentizefunction #370@theme-ui/style-guide: move context dependencies to peer dependencies #521
- Fix for issues when
localStorageis not available #514 @theme-ui/match-media: add option for default index in hook #460@theme-ui/editor: Update Reakit #517
@theme-ui/editor: fix color picker #498
@theme-ui/components: fix NavLink base styles #497
@theme-ui/components: add more components #458@theme-ui/color: addalphautility #441@theme-ui/match-media: Add default breakpoint index argument for SSR
@theme-ui/editoradd components for editingsxstyles
@theme-ui/editoraddStylesFormcomponent
- Fix environment check #415
- Update dependencies
- Add
@theme-ui/match-mediapackage #375 - Add
@theme-ui/componentspackage #411
- Fix prop forwarding in styled HOC #377
- Add missing key #406
- Add support for functional themes #400
- Fix Reakit for ColorPicker test #357
- Simplify color mode API and disable
prefers-color-schememedia query behavior by default #246 - Add BaseStyles component #369
- Updated UI in chrome extension
- Fix typo in tailwind preset #346
- Fix state bug in chrome extension
- Move React to peer dependencies
- Updated
@theme-ui/editorpackage - New Customize page
- Pass outer context through RootProvider #340
- Update dependencies
- Added new
ColorPickercomponent to@theme-ui/editor#327 - Added warning for conflicting versions of Emotion #297
- Added color utility package #331
- Update dependencies
- Added
gatsby-theme-ui-blogpackage #311 - Added
gatsby-theme-code-recipepackage #313 - Updated styles in
gatsby-theme-style-guide#315
- Adds
gatsby-theme-style-guidepackage #301 - Fix for
jsxcreate element function #302
gatsby-plugin-theme-uiremove JSX syntax from gatsby-ssr in Gatsby plugin #299@theme-ui/typographyfix for CSS font-family keywords #285@theme-ui/preset-tailwindadd button and input variants #291
- Add support for FOUC fix in Next.js #277
- Update dependencies
- Add accordion sidenav #279
- Maintain raw color values in Theme UI context when
useCustomPropertiesis enabled #274
- Updates for tailwind preset #272
- Update dependencies
- Add tosh preset #264
- Bad lerna publish
- Fix for CSS custom properties when using nested color objects #259
- Add warning when
initialColorModematches a color mode name #245 - Fix for forwarding refs #261
- Fix peer dependency version #263
- Add
@theme-ui/custom-propertiespackage #235
- Adds preset packages #210
- Add base colors to prism presets #249
- Add key to element in gatsby-plugin-theme-ui #248
- Add metadata to packages #244
- Update docs
- Update dependencies
- Add presets to
@theme-ui/prism#231 - Fix array merging #230
- Fix for color mode in context #226
- Fix for unsupported Prism languages #218
- Update dependencies
- Update docs
- Update dependencies
- Forward all props to functional components #197
- Update dependencies
- Only pass
cssprop through when needed injsx#182
- Fix bad publish
- Adds Chrome extension package #136
- Fix keys in tailwind preset #171
- Add optional support for CSS custom properties #166
@theme-ui/sidenavinitial publish@theme-ui/prismadddisplay: inline-blockto keep empty lines
@theme-ui/prismpass outer className to element #163
- Adjust color mode initialization from media query #157
- Fix publish
- Adjust microbundle setup for @theme-ui/prism
- Add @theme-ui/prism package
- Add
keyprop to element in gatsby-plugin-theme-ui #145 - Update docs
- Rename
gatsby-plugin-theme-ui#137 - Update docs
- Replaced
lodash.mergewithdeepmerge - Updated to use smaller Styled System v5 packages
- Removed layout and flexbox style props from
Boxand layout components - Renamed
cssprop in experimental custom pragma tosxto avoid collisions with Emotion and other libraries - Refactored
ThemeProvider - Removed
toStyleAPI from Typography.js package - Renamed Typography.js package to
@theme-ui/typography - Removed
@emotion/styleddependency - layout components are no longer created withstyledso passing non-HTML attributes to the component will result in React rendering those props to the DOM - Removed legacy
ColorModeProviderandComponentProviderexports