-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Frequently asked questions
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.
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!
Yes! The components are built using React, but their APIs can be accessed using vanilla JavaScript. See the getting started guide for more information.
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.
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.
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.
- react-day-picker v8 migration
- HotkeysTarget & useHotkeys migration
- PanelStack2 migration
- Table 6.0 changes