adamwathan · GitHub

Have been keeping track of this stuff in my personal to-do tracker but publishing them here in case anyone is interested.

Naturally a ton of stuff has already been done for v1.0 and deleted from my to-do list, so this is only the stuff remaining as of today.

Expect this list to grow and change over the next few weeks as I work towards finishing v1.0, but generally these are the things I've got lined up. They aren't in any sort of priority order or anything.

Done/Merged

  • Re-evaluate flex-grow/flex-no-grow, etc.
  • Re-assess using postcss-selector-parser for escaping
  • Update plugins to source their config from theme/variants
  • Think about if there's a smarter way to make sure the separator is escaped
  • Pass theme and variants to plugins explicitly? No measurable benefit, easy to add later
  • Add new shadows
  • Rename config function to theme?
  • Fix letterSpacing classes not being escaped
  • Add 56 as a width?
  • Add extended widths (48, 56, 64) to entire spacing scale?
  • Make flex-* customizable
  • Remove .clearfix? Nah still useful enough to not make people add it themselves.
  • Add new maxWidth scale
  • Revisit which variants to enable by default for split up text style plugins
  • Make preflight more hardcore, reset headings, etc.
  • Autodetect presence of tailwind.config.js?
  • Headings should inherit line-height like they inherit font-size and font-weight. Not necessary, browser inherits line-height already for headings.
  • Inherit font-related properties on form controls by default (line-height, font-family, color, maybe others, see sanitize.css for ideas)
  • Use line-height: 1.5 on body or html by default (why not? I never want 1.15 and we set that 🤷‍♂️)
  • Use system font stack by default instead of "sans-serif", I literally never want that either
  • Use fontFamily.mono for pre/code if possible, fall back to monospaced (beware double monospace thing)
  • Add text-6xl? 64px?
  • Add new default color palette
  • Bump sm breakpoint up to 640px?
  • Inherit color and text-decoration on links
  • Reconsider lists core plugin, maybe handle list style only and not padding
  • Re-evaluate truncate, possibly replace with ellipsis-only utility Class is convenient and useful, could still add ellipsis utility separately though
  • Consider making break-normal handle both properties to provide a nicer experience
  • Get rid of pin utilities in favor of top/right/bottom/left/inset? Unsure if worth break.
  • Consider if container should become a true core plugin instead of an included third-party plugin
  • Split whitespace plugin into whitespace and wordBreak/wordWrap?
  • Rework CLI for new config structure
  • Make sure shadow-outline matches new blue
  • Error if we find @tailwind preflight in your CSS or keys in the wrong place in your config file to help guide people during the upgrade process? Whatever, can do this if it actually bites people.
  • Consider if defaultConfig/defaultTheme need to be separate files or even importable? Maybe make it possible to export a function from your config, and we just pass you the defaults? Will keep these exports for now, we could add function syntax later if it feels like a slicker solution since it is non-breaking
  • Make img, canvas, video, etc. block by default, and constrain max width?
  • Make utilities important by default? I always do this on my own projects Easy to tweak yourself and it's nice that inline-styles override utilities if they aren't important
  • Maybe pass theme function to config callbacks?
  • Consider trying to make form elements more consistent by default across browsers? BuzzFeed Solid framework pretty good reference for super vanilla looking forms.
  • Fix theme('negativeMargin.5') sort of stuff, maybe by negating all values in the default config in the callback
  • Write upgrade guide
  • Write function/tool to upgrade 0.x config files

PR Opened

  • Consider removing border radius on inputs because of the iOS crap, and fixing radio buttons with just a [type="radio"] selector to keep specificity down

Next (painful)

Next (straightforward)

  • Make sure shadow-inset doesn't suck
  • Update the docs

Next (could wait until after 1.0)

  • Add sanity test for a heavily customized config
  • Allow specifying a base config to extend (extends root level key)
  • Add disabled variant?
  • Pass parseSelector to plugins?

Read the original on github.com ↗