Skip to content

Frequently asked questions

Adi Dahiya edited this page Apr 21, 2022 · 15 revisions

1. Is there support for mobile browsers?

Blueprint was designed from the ground up for desktop applications. It has not been tested thoroughly on mobile web browsers (iPad works ok). We have played around with the idea of more robust mobile support, but this is unlikely to happen soon and would likely require significant work. We'll write up a proposal RFC as a Github issue if this stance changes.

2. Do I need to write TypeScript to consume Blueprint?

No, you can consume Blueprint with any flavor of JavaScript. Of course, you'll get a better development experience if you do use TypeScript—autocompletion, in-editor props validation & docs, the works!

image

3. Can I use Blueprint with another UI view library like Angular, Vue.js, etc?

Yes! The components are built using React, but their APIs can be accessed using vanilla JavaScript. See the getting started guide for more information.

4. What about CSS-in-JS and inline styles?

Blueprint ships with a traditional global CSS stylesheet for a few reasons:

  • Tooling for inline styles was pretty nascent when the library was originally created (in 2016, there was no clear standard for CSS-in-JS), while Sass and Stylelint continue to be great tools with a mature ecosystem.
  • Regular CSS is easier for developers to override and theme—this is especially important when authoring a library instead of an application. We have some use cases where we want to allow consumers to do this after build time, which is cumbersome to do with inline styles that are applied in an application's JS bundle.

Additional notes:

  • This approach doesn't prevent you from using inline styles for your own application built on top of Blueprint.
  • We've generally been able to circumvent CSS class name collision issues with proper namespacing.
  • That said, we are considering something like CSS Modules for future major versions of Blueprint. There are also other approaches we might consider as per the discussion in #248, but it's not a high priority at the moment.

5. Does Blueprint support server-side rendering?

Yes. Blueprint components support SSR / isomorphic rendering as of @blueprintjs/core v1.4.0. Please file issues if you notice any regressions in SSR support.

6. How do I disable / minimize CSS transitions on components?

Overlay components support a transitionDuration prop that determines how long the transition runs. By setting transitionDuration={1} you can cut any transition short.

Also check out <Popover minimal> on the docs.

Clone this wiki locally