A React-based UI toolkit for the web

Overview

Blueprint CircleCI

Blueprint is a React-based UI toolkit for the web.

It is optimized for building complex, data-dense web interfaces for desktop applications which run in modern browsers and IE11. This is not a mobile-first UI toolkit.

Read the introductory blog post ▸

View the full documentation ▸

Try it out on CodeSandbox ▸

Read frequently asked questions (FAQ) on the wiki ▸

Changelog

Blueprint's change log and migration guides for major versions live on the repo's Github wiki.

Packages

This repository contains multiple projects in the packages/ directory that fall into 3 categories:

Libraries

These are the component libraries we publish to NPM.

  • npm – Core styles & components.
  • npm – Components for interacting with dates and times.
  • npm – Components for generating and displaying icons.
  • npm – Popover2 and Tooltip2 components.
  • npm – Components for selecting items from a list.
  • npm – Scalable interactive table component.
  • npm – Components for picking timezones.

Applications

These are hosted on GitHub Pages as static web applications:

  • docs-app – Documentation site at blueprintjs.com/docs
  • landing-app – Landing page at blueprintjs.com

These are used as development playground environments:

  • table-dev-app – demo page that supports manual testing of all table features

Build tooling

These packages define development dependencies and contain build configuration. They adhere to the standard NPM package layout, which allows us to keep clear API boundaries for build configuration and isolate groups of devDependencies. They are published to NPM in order to allow other Blueprint-related projects to use this infrastructure outside this monorepo.

  • npm – Documentation theme for Documentalist data.
  • npm – ESLint configuration used in this repo and recommended for Blueprint-related projects
  • npm – implementations for custom ESLint rules which enforce best practices for Blueprint usage
  • npm
  • npm – various utility scripts for linting, working with CSS variables, and building icons
  • npm – various utility functions used in Blueprint test suites
  • npm – TSLint configuration used in this repo and recommended for Blueprint-related projects (should be installed by @blueprintjs/eslint-config, not directly)
  • npm

Contributing

Looking for places to contribute to the codebase? First read the contribution guidelines, then check out the "help wanted" label.

Development

Lerna manages inter-package dependencies in this monorepo. Builds are orchestrated via lerna run and NPM scripts.

Prerequisites: Node.js v12+, Yarn v1.22+

One-time setup

After cloning this repo, run:

  1. yarn to install all dependencies.
  2. If running on Windows:
    1. npm install -g windows-build-tools to install build tools globally
    2. Ensure bash is your configured script-shell by running:
      npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
  3. yarn verify to ensure you have all the build tooling working properly.

Incorporating upstream changes

If you were previously in a working state and have just pulled new code from develop:

  • If there were package dependency changes, run yarn at the root.
    • This command is very quick if there are no new things to install.
  • Run yarn compile to get the latest built versions of the library packages in this repo.
    • This command is quicker than yarn verify since it doesn't build the application packages (docs-app, landing-app, etc.) or run tests

Developing libraries

Run yarn dev from the root directory to watch changes across all packages and run the docs application with webpack-dev-server.

Alternately, each library has its own dev script to run the docs app and watch changes to just that package (and its dependencies): yarn dev:core, yarn dev:datetime, etc. One exception is table: since it has its own dev application, the dev:table script runs table-dev-app instead of the docs.

Updating documentation

Much of Blueprint's documentation lives inside source code as JSDoc comments in .tsx files and KSS markup in .scss files. This documentation is extracted and converted into static JSON data using documentalist.

If you are updating documentation sources (not the docs UI code which lives in packages/docs-app or the docs theme in packages/docs-theme), you'll need to run yarn compile from packages/docs-data to see changes reflected in the application. For simplicity, an alias script yarn docs-data exists in the root to minimize directory hopping.

Updating icons

The One-time setup and Incorporating upstream changes steps should produce the generated source code in this repo used to build the icons documentation. This is sufficient for most development workflows.

If you are updating icons or adding new ones, you'll need to run yarn compile in packages/icons to see those changes reflected before running any of the dev scripts.

License

This project is made available under the Apache 2.0 License.

Issues
  • [Sketch] provide Symbols for components

    [Sketch] provide Symbols for components

    Continuing from #2668.
    Sketch file does not represent UI as symbols. Symbols in Sketch are like components in React.

    Imagine if controls in Blueprint were developed as functions in one monolithic javascript file. Then in order to use a component the developer had to open a large javascript file, copy relevant code and paste into their application.

    Domain: design 
    opened by romanr 67
  • First-class support for @import'ing blueprint scss files

    First-class support for @import'ing blueprint scss files

    Given this import:

    @import "node_modules/@blueprintjs/core/src/blueprint.scss";
    

    Webpack is throwing an error

    ERROR in ./~/css-loader!./~/postcss-loader!./~/resolve-url-loader!./~/sass-loader?sourceMap!./src/styles/app.scss
    Module build failed: 
    @import "../node_modules/bourbon/app/assets/stylesheets/bourbon";
    ^
          File to import not found or unreadable: ../node_modules/bourbon/app/assets/stylesheets/bourbon
    Parent style sheet: /Users/dave/www/portalv3/node_modules/@blueprintjs/core/src/common/_font-imports.scss
          in /Users/dave/www/portalv3/node_modules/@blueprintjs/core/src/common/_font-imports.scss (line 4, column 1)
    ...
    

    The path to ../node_modules/bourbon/app/assets/stylesheets/bourbon is invalid, as bourbon isn't installed as a dependency because it's listed under devDependencies. Is this library not intended to allow users to override the variables?

    Type: enhancement Domain: documentation Resolution: fixed P1 Package: core 
    opened by dmackerman 46
  • Support for client-side routing on href props

    Support for client-side routing on href props

    Many components (such as Menu) can take an href prop. This prop maps to the href value of an <a> tag. For many react projects that use client-side routing, anchor tags are replaced by <Link> (e.g. in react-router) components that ensure the routing happens client-side.

    If the <Link> component is placed inside the text prop, everything behaves as expected, but React throws a warning for having nested <a> tags.

    Perhaps we could supply our own component to be used in place of the <a> tag in these situations.

    Type: enhancement Status: needs proposal P2 Package: core 
    opened by isTravis 44
  • Add Text component with overflow ellipsis behavior

    Add Text component with overflow ellipsis behavior

    Fixes https://github.com/palantir/blueprint/issues/765

    Checklist

    opened by ryanmcnamara 36
  • [Core] Add overflow list component

    [Core] Add overflow list component

    This is good stuff. Check it out. No tests or documentation yet, just an example.

    opened by invliD 35
  • TypeError: moment is not a function

    TypeError: moment is not a function

    It seems that [email protected] exports moment as a function by default but it's being imported with the syntax import * as moment from 'moment', yet this file https://github.com/palantir/blueprint/blob/master/packages/datetime/src/common/dateUtils.ts #calls moment as a function in multiple places, which leads to this error. Has anyone seen this or been able to reproduce? Might be missing something here...

    Also obligatory shoutout for the awesome lib, thanks for all your hard work.

    Bug report

    • Package version(s): 1.14
    • Browser and OS versions: OSX El Capitan

    Steps to reproduce

    1. Import DateRangeInput and pass in valid dates

    Actual behavior

    TypeError: moment is not a function is thrown

    Expected behavior

    Should not throw an error.

    Type: question Package: datetime 
    opened by zsherman 34
  • @HotkeysTarget TypeError: class constructors must be invoked with |new|

    @HotkeysTarget TypeError: class constructors must be invoked with |new|

    Environment

    • Package version(s): "@blueprintjs/core": "^3.15.1", "typescript": "3.5.1"
    • Browser and OS versions: Ubuntu 18.04, FireFox 67.0.2

    Steps to reproduce

    import { Hotkey, Hotkeys, HotkeysTarget } from "@blueprintjs/core";
    @HotkeysTarget
    export class MyComponent extends React.PureComponent<{}> {
         public render () { return <div>Hello there</div> };
         public renderHotkeys() {
            return <Hotkeys>
                <Hotkey
                    combo="up"
                    label="Up"
                    onKeyDown={() => { alert('Need to go up'); } }
                />
            </Hotkeys>;
        }    
    }
    

    Actual behavior

    The component cannot be rendered. I get an error that starts with this:

    
    TypeError: class constructors must be invoked with |new|
    HotkeysTargetClass
    node_modules/@blueprintjs/core/lib/esm/components/hotkeys/hotkeysTarget.js:32
    
      29 | tslib_1.__extends(HotkeysTargetClass, _super);
      30 | 
      31 | function HotkeysTargetClass() {
    > 32 |   return _super !== null && _super.apply(this, arguments) || this;
         | ^  33 | }
      34 | 
      35 | HotkeysTargetClass.prototype.componentWillMount = function () {
    
    

    Full traceback available, but probably not needed.

    Expected behavior

    The component should be rendered and the hotkey should be working.

    Type: bug Domain: tooling Package: core 
    opened by nagylzs 34
  • SVG Icons!

    SVG Icons!

    Fixes #365

    Checklist

    • [x] 🔥 Update documentation
    • [x] how to handle the CSS API now?
      • Buttons, all the way down
      • Input Group CSS API examples
    • [x] improve example
    • [x] Callout still uses icon classes because it relies on ::before and position trickery
      • ~~can't resolve this without an API break~~ totally did it #2060
    • [x] MenuItem icon color

    Changes proposed in this pull request:

    • generate-icons-source script now generates iconSvgPaths.tsx file with export const IconSvgPaths{16,20}: Record<IconName, string[]> where value is array of <path d="..." /> strings
    • 🔥 IconName only includes short names. LegacyIconName extends it with long names.
      • I made this change for the Record type above to support indexing
      • open to a less-breaking approach, but i'd also love to drop support for the long names.
    • 🔥 core Icon component now renders SVG content instead of span.pt-icon...
      • removed iconSize prop, replaced with width/height. this isn't totally ideal, I could use some help figuring out the ideal API here.

    Reviewers should focus on:

    • [x] what to do with the CSS icon API?
    • [x] how to support 16px / 20px switch?

    Follow-up work

    • 🔥 refactor iconName?: IconName prop ⇒ icon?: IconName | JSX.Element? #2067
      • bunch of breaking changes here
      • necessary to support custom SVG icon components
    • 🔥 IconName or LegacyIconName #2066
      • can we drop support for the long names pt-icon-time?
    • download links in Icons list should use large icon for 20px download. requires #2066 so I can pass <Icon iconSize={20} ... /> in that case
    Type: breaking change 
    opened by giladgray 34
  • [Table] Support for column and row reordering

    [Table] Support for column and row reordering

    Fixes #213

    Checklist

    • [x] Include tests
    • [x] ~Update documentation~ (will add language in a separate PR if we want it)
    • [x] Add new example
    • [x] Fix interaction regression w/ TruncatedPopover

    Changes proposed in this pull request:

    Behold: column and row reordering in Table.

    Basic points:

    • Reordering works only if selection is also enabled. If this assumption is bad, let me know.
    • Reordering is performed by mousing down within a selected column header, then dragging. If reordering is enabled, it is no longer possible to deselect a column by clicking on its header. LMK how that feels; I don't love it yet.
    • You can enable reordering for columns, rows, or both via Table props.
    • You can reorder a single entity or a region of multiple entities (having FULL_COLUMNS or FULL_ROWS cardinality).
    • You CANNOT reorder anything if there are multiple regions selected. It's too much of a pain for a v1 implementation, plus initial feedback suggested that no user will be able to predict what will happen anyway. We can revisit this later if we want.
    • The Table does not handle the actual reordering! It simply emits (oldIndex, newIndex, length) and lets the caller pass in updated data.

    Reviewers should focus on:

    • High-level architecture. Does it look reasonable?
    • One thing that felt a little gross was the introduction of a "reordering cursor overlay" that displays invisibly over the whole table while you're dragging to reorder. I couldn't think of a better way to guarantee that the cursor would appear as grabbing no matter where your mouse moved during the drag. LMK what you think.

    Screenshot

    2017-04-07 12 38 28

    opened by cmslewis 33
  • Form groups: label + input + helper text

    Form groups: label + input + helper text

    Fixes #413

    Checklist

    • [x] Update documentation

    @llorca @thisisalessandro

    Reviewers should focus on:

    • Wording in documentation - is this enough to show the variants of controls that we provide?
    • Class naming

    screen shot 2017-02-01 at 11 35 19

    screen shot 2017-02-01 at 12 01 29

    with .pt-inline

    screen shot 2017-02-01 at 11 37 08

    screen shot 2017-02-01 at 12 01 33

    P0 
    opened by leebyp 29
  • Your logo is a cool cube yet all of your themes have rounded corners, why?

    Your logo is a cool cube yet all of your themes have rounded corners, why?

    Environment

    • Package version(s): na
    • Browser and OS versions: na

    Question

    Is there a non-rounded corner theme? The cool cube logo drew me in but then when I got to see the actual components I was dissappointed by the softness and rounded corners. Is there a cubist theme?

    Maybe soften the cube on the logo if not to correspond to the reality of the esthetic otherwise?

    opened by justinmchase 0
  • Input - add small prop to numeric and file inputs

    Input - add small prop to numeric and file inputs

    opened by aycai 0
  • [docs-app] popover2 package has no version number listed in docs

    [docs-app] popover2 package has no version number listed in docs

    Environment

    • Package version(s): docs-app 3.x + 4.0.0-beta.x
    • Operating System: macOS
    • Browser name and version: Chrome / FF

    Actual behavior

    As reported in https://github.com/palantir/blueprint/issues/5030#issuecomment-975901941, the popover2 package section header in the navigation list has no version number listed.

    Expected behavior

    The latest popover2 package version should be listed.

    Type: bug Domain: documentation P3 
    opened by adidahiya 0
  • Remove border on the table

    Remove border on the table

    Is there a way to remove the border in the table column header? I want to override it with border:0 just like using table HTML tag normally but in blueprintjs it's using div tag instead. How can I override it?

    Type: question Package: table 
    opened by Lemmaho 1
  • Toast drop focus on close

    Toast drop focus on close

    Environment

    • Package version(s): "@blueprintjs/core": "^3.51.3", "@blueprintjs/datetime": "^3.23.6", "@blueprintjs/icons": "^3.27.0", "@blueprintjs/popover2": "^0.12.8", "@blueprintjs/select": "^3.18.10",
    • Operating System: Mac Os
    • Browser name and version: Chrome last

    Code Sandbox

    Link to a minimal repro (fork this code sandbox):

    Steps to reproduce

    1. Open Tost
    2. Open select or focus input field
    3. After closing toast - focus is droped

    Actual behavior

    https://www.loom.com/share/c072f69bea5d4ea9a3dbbfe21be32379

    Expected behavior

    After closing Toast a focus is not droped

    Status: needs more info 
    opened by HZ-labs 2
  • Add label helper text to FormGroup

    Add label helper text to FormGroup

    Fixes #5019

    Checklist

    • [ ] Includes tests
    • [x] Update documentation

    Changes proposed in this pull request:

    To resolve #5019 this PR adds a new prop labelHelperText to FormGroup which adds helperText between label and children.

    Reviewers should focus on:

    We could have ignored the labelHelperText if label is empty, but decided against it as it seemed to add unnecessary complexity. Similarly, there's no restriction on specifying only one type of helperText. It looks slightly odd when both helper texts are used, but we may end up using both with one of our use case where we have a list of fields specified as children.

    Screenshot

    Screen Shot 2021-11-22 at 10 36 24 AM
    opened by mud 0
  • Browser selects in DateRangeSelect close immediately

    Browser selects in DateRangeSelect close immediately

    Environment

    Google Chrome, MacOS 11.6

    • Package version(s):
      "@blueprintjs/core": "3.51.3", "@blueprintjs/datetime": "3.23.4",

    https://user-images.githubusercontent.com/76954367/142578128-cdea44dc-85e6-44ee-bb95-5adb602f836e.mov

    • Google Chrome, MacOS 11.6

    Question

    After upgrade @blueprintjs/[email protected] to @blueprintjs/[email protected] DateRangeSelect behaves in a different way. Once I open select for month/year, it immediately closes. It looks like its been clicked two times, but it doesn't. In the previous blueprint It worked correctly. I wasn't able to create pure sandbox with that issue, but maybe you can give some hints how to debug it to find a reason?

    It happens only in modals/drawers. Once I put this in standard dom tree (without portals) it works correctly.

    Type: bug Status: in discussion Package: datetime 
    opened by paweljurczynski-flyr 4
  • Resizing a frozen column creates empty space / overlaps other columns

    Resizing a frozen column creates empty space / overlaps other columns

    Environment

    • Package version(s): blueprint 4 core and table

    Code Sandbox

    Link to a minimal repro: https://codesandbox.io/s/quirky-mendeleev-30dm3?file=/src/App.js

    Steps to reproduce

    resizeFrozenColumn

    The bug only appears if you pass widths to the Table component and update them via onColumnWidthChanged. Scrolling in the table re-renders the columns normally.

    Possible solution

    Not a solution but It looks like the column header resizes 1 cycle behind each update e.g when changing the width from 100 to 200 the header width stays at 100. Then when changing from 200 to 300 the header width changes from 100 to 200.

    Type: bug P1 Package: table 
    opened by mattskrobola 1
  • Table with ghost cells continues to scroll when there are no more rows

    Table with ghost cells continues to scroll when there are no more rows

    Environment

    • Package version(s): blueprint 4 core and table

    Code Sandbox

    Link to a minimal repro: https://codesandbox.io/s/cool-benz-es9oo?file=/src/App.js

    Steps to reproduce

    Create a scrollable Table with enableGhostCells set to true

    Actual behavior

    Scrollbar continues to scroll when reaching the bottom of the table. Also grabbing the scrollbar and dragging down creates more ghost rows. scrolling

    Expected behavior

    The scrollbar stops scrolling when it reached the bottom of the table

    Notes: Scrolling over a frozen column to the bottom of the table behaves as normal

    Type: bug P1 Package: table 
    opened by mattskrobola 1
  • [Suggest] View does not update with activeItem

    [Suggest] View does not update with activeItem

    Environment

    • Package version(s): v3.18.10
    • Operating System: macOS 11.6
    • Browser name and version: Firefox 94.0.1

    Code Sandbox

    Link to a minimal repro: https://codesandbox.io/s/blissful-engelbart-u9rch

    Steps to reproduce

    1. Render a controlled Suggest component with activeItem={null}
    2. While the component is mounted, re-render it with a new activeItem value

    Actual behavior

    Component still appears as if no item is selected

    Expected behavior

    Component updates to reflect new activeItem value

    opened by dallonf 1
Releases(@blueprintjs/[email protected])
  • @blueprintjs/[email protected](Jun 11, 2018)

  • @blueprintjs/[email protected](Jun 11, 2018)

  • @blueprintjs/[email protected](May 29, 2018)

    • fix TS compiler issue in IHotkeysTarget with latest @types/[email protected]
      lerna ERR! ERROR in [at-loader] ../../node_modules/@blueprintjs/core/dist/esm/components/hotkeys/hotkeysTarget.d.ts:4:18
      lerna ERR!     TS2320: Interface 'IHotkeysTarget' cannot simultaneously extend types 'Component<any, any, any>' and 'ComponentLifecycle<any, any, never>
      
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](May 19, 2018)

    • new Example frame! #2489
      • Example component is now composed in render() instead of extend BaseExample
      • examples are clearly separated from surrounding text with structure for example/options/source
      • completely rewrite CSS examples so they're more similar to React examples, with checkboxes for each modifier
      • deprecate BaseExample; will remove in next beta release
    • upgrade Documentalist, fix React key warnings #2510
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](May 19, 2018)

    • :package: move react-transition-group from peer to standard dependency #2511
    • :package: new 3.0 upgrade script, improve 2.0 upgrade script #2488
    • new icons: crown and tree-diagram #2507
    • fix typings of HTML Table component #2509
    • fix upgrade script's treatment of removed props #2486
    • Button fix button width with large CSS icon only #2497
    • Tabs fix vertical style #2495
    • Tag improve outline behavior #2428
    • Spinner adjust stroke width #2491
    • Switch fix align-right style #2494
    • Toaster.create() throws error if used within lifecycle method #2522
    • ensureElement utility supports React.Fragment #2499
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](May 18, 2018)

    • new icons: crown, shield, tree-diagram (#2519, #2448)
    • Toaster.create() throws an error if ReactDOM.render() returns null (#2523)
      • React 16 has a breaking change where ReactDOM.render() returns null if invoked within a lifecycle method, which breaks the Toaster.create() contract of returning a Toaster instance
      • we handle this by throwing an error, forcing you to refactor your usage of the Toaster to either an element ref or a singleton module
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Apr 20, 2018)

  • @blueprintjs/[email protected](Apr 19, 2018)

    • ⭐️ #2325 Support for customizing the CSS class namespace pt-
      • in the upcoming 3.0 release, we will change this namespace to bp3- to avoid style conflicts with previous versions of Blueprint on the same page
      • added a new docs page about Classes to encourage use of the forward-compatible Classes constants
    • ⭐️ #2341 Slider now uses percentages instead of pixels for layout, resulting in effortless resizes! (🎩 @reiv) 2018-03-30_18-58-56
    • 📦 #2362 Upgrade to Normalize.css 8.0.0 to fix font-family issues on some components (🎩 @reiv)
    • 🔨 #2328 Fix Webpack externals so *.bundle.js files are as light as possible
    • 🔨 #2367 Fix TypeScript bundling with at-loader on Windows (🎩 @reiv
    • #2399 Added Overlay didClose and Popover popoverDidClose lifecycle props!
      • now possible with react-transition-group onExited method (did not exist in 1.0)
    • #2131 ContextMenu now re-creates its DOM element when it closes, allowing it to be used in other overlays like Dialog
    • #2344 InputGroup now supports .pt-fill modifier (🎩 @qcz)
    • #1861 InputGroup now has default right padding when rightElement is omitted
    • #2382 Popover improved focus event handling, particularly when switching tabs (🎩 @reiv)
    • #2400 Fix Callout icon positioning
    • #2377 Fix Checkbox onChange 😨 (🎩 @js-um)
    • #803 Fix ContextMenu so it will remain inside the viewport
    • #1188 Fix Overlay outside click logic when hasBackdrop=false
    • #2401 Fix Portal onChildrenMount so it is invoked after children mount
    • #2365 Fix large TagInput tag-remove button size
    • #2409 File input Sass variables now have !default
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Apr 19, 2018)

    • ⭐️ #2325 Support for customizing the CSS class namespace pt-
      • in the upcoming 3.0 release, we will change this namespace to bp3- to avoid style conflicts with previous versions of Blueprint on the same page
      • added a new docs page about Classes to encourage use of the forward-compatible Classes constants
    • #2390 Fix hot reload support (🎩 @dan-katz)
    • #2118 Fix scroll syncing when widths/heights change (🎩 @mcintyret)
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Apr 19, 2018)

    • ⭐️ #2394 Add a new lint rule blueprint-classes-constants to enforce use of Classes.* constants instead of "pt-prefixed-strings". This rule is enabled by default.
      • Also added blueprint-icon-components rule to enforce JSX component or string literal usage for icon props. This rule is disabled by default and has little practical purpose until we ship individual components for the icons #2193
    • removed file-header configuration as it mentioned Palantir
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Apr 5, 2018)

  • @blueprintjs/[email protected](Apr 5, 2018)

  • @blueprintjs/[email protected](Apr 5, 2018)

    • #2329, #2333 Add props for common modifier classes
      • Button: fill, large, minimal, small
      • Checkbox etc: alignIndicator, large
      • InputGroup: large, round
      • Label: inline
      • Menu: large
      • MenuItem: active
      • Navbar: fixedToTop
      • NumericInput: fill
      • ProgressBar: animate, stripes
      • Spinner: large, small
      • Tag: large, minimal, round
      • TagInput: fill, large
    • #2330 Add more Classes constants
    • #2323 Checkbox renders SVG icons
    • #2346 .pt-html-table supports th cells in tbody (🎩 @VictorHom)
    • #2343 Fix invalid prop warning (🎩 @CPyle)
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Apr 5, 2018)

  • @blueprintjs/[email protected](Apr 4, 2018)

  • @blueprintjs/[email protected](Mar 26, 2018)

    • #2316 Bump react peerDependency to 16.2.0 for fragment support
      • release notes for 2.0.0 declared this minimum version but it was not enforced in core's package.json
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Mar 22, 2018)

  • @blueprintjs/[email protected](Mar 22, 2018)

    General

    • 🌟 #2241 Run published CSS files through postcss to remove comments and run Autoprefixer.
    • #2268 Copyright comments in files use /* comments only.
    • #2269 Use React.HTMLAttributes instead of React.HTMLProps in components that support arbitrary HTML props.

    @blueprintjs/core 2.0.0-rc.4

    • #2230 Publish the 2.0.0 upgrade script which renames most symbols.
      # the following script will now appear in your `npm bin` directory.
      # run it for full usage instructions.
      ./upgrade-blueprint-2.0.0-rename
      
    • #2256 Add KeyCombo minimal prop to render icon and text only
    • #2251 Add Tag interactive modifier support (through .pt-interactive class)
    • #2276 Add Popover targetElementTag prop a la rootElementTag (:tophat: @tgreen7)
    • #2174 NumericInput supports continuous value change by holding down the button (:tophat: @reiv)
    • #2255 blueprintPortalClassName context key supports multiple classes
    • #2231 Tag uses SVG Icon for remove button
    • #2233 Fix Toaster layout regression (:tophat: @reiv)
    • #2275 Fix FileInput default button shadow
    • #2262 Fix Overlay React unique key warning
    • #2280 Fix Label helperText to accept React nodes (:tophat: @will-stone)
    • #2282 Fix input shadow clipping by removing .pt-popover-target styles
    • #2265, #2285 Fix MenuItem text clipping with alternate fonts and icon alignment (:tophat: @reiv)
    • #2284 Hide .pt-skeleton nested content such as items (:tophat: @univerio)
    • #2247 Upgrade Popper.js and react-popper for latest typings
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Mar 22, 2018)

    General

    • 🌟 #2241 Run published CSS files through postcss to remove comments and run Autoprefixer.

    @blueprintjs/datetime 2.0.0-rc.4

    • :star2: #2151 TimePicker new useAmPm prop adds support for 12-hour format (:tophat: @colinbr96)
    • #2271 Remove TimePicker outside padding
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Mar 22, 2018)

  • @blueprintjs/[email protected](Mar 22, 2018)

    General

    • 🌟 #2241 Run published CSS files through postcss to remove comments and run Autoprefixer.

    @blueprintjs/select 2.0.0-rc.4

    • :star2: #2252 Add itemListRenderer prop to all select components
      • Pull initialContent, noResults, itemListRenderer up to QueryList props (other components extend this shared interface)
      • QueryList renderer receives rendered itemList ReactNode.
      • itemListRenderer is now the only one with access to items/itemsParentRef/renderItem props.
      • The default itemListRenderer produces a Menu using filteredItems (to preserve arrow keys order).
      • New utility function renderFilteredItems() exported from package.
    • #2213 Add filteredItems to renderer props
    • #2245 Add query to itemRenderer props (:tophat: @reiv)
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Mar 22, 2018)

    General

    • 🌟 #2241 Run published CSS files through postcss to remove comments and run Autoprefixer.
    • #2268 Copyright comments in files use /* comments only.
    • #2269 Use React.HTMLAttributes instead of React.HTMLProps in components that support arbitrary HTML props.

    @blueprintjs/table 2.0.0-rc.4

    • #2228 EditableCell fix controlled mode to allow edits to be rejected
    • #2267 Fix onVisibleCellsChange on scroll in React 16 (:tophat: @mmoutenot)
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Mar 22, 2018)

    General

    • 🌟 #2241 Run published CSS files through postcss to remove comments and run Autoprefixer.
    • #2268 Copyright comments in files use /* comments only.
    • #2269 Use React.HTMLAttributes instead of React.HTMLProps in components that support arbitrary HTML props.

    @blueprintjs/timezone 2.0.0-rc.4

    • No changes since RC 3, just bumping version.
    Source code(tar.gz)
    Source code(zip)
  • @blueprintjs/[email protected](Mar 16, 2018)

Owner
Palantir Technologies
Palantir Technologies
Fluent UI web represents a collection of utilities, React components, and web components for building web applications.

Fluent UI Web Fluent UI web represents a collection of utilities, React components, and web components for building web applications. This repo is hom

Microsoft 12.5k Nov 24, 2021
a react-based framework that provides accessibility, modularity, responsiveness, and theming in a tidy package

Grommet: focus on the essential experience Documentation Visit the Grommet website for more information. Support / Contributing Before opening an issu

grommet 7.6k Nov 24, 2021
React.js components for Modern CSS framework based on Flexbox

React-Bulma React.js components for Modern CSS framework based on Flexbox Styleguide: https://kulakowka.github.io/react-bulma/ Official Repo: https://

Anton Kulakov 461 Nov 20, 2021
A comprehensive React UI components library based on the Arco Design system.

A comprehensive React UI components library based on the Arco Design system.

null 2.2k Nov 26, 2021
DevUI components based on React

DevUI components based on React

Xie Jay 5 Nov 26, 2021
Slot-based children organization for React components.

React Slot Pattern Slot-based children organization for React. Component useSlot hook is a selector for named slots. withSlot wrapper function generat

Kerim Tuncer 2 Nov 26, 2021
:monkey: Clean UI based on tailwindcss

Tails-UI React UI components using tailwindcss Components: Alert Article Box Breadcrumbs Button Card CodeBlock DangerousHTML Dropdown Flex ImageCarous

Tyler Knipfer 169 Jul 12, 2021
A collection of JetBrains Web UI components

Ring UI — JetBrains Web UI components This collection of UI components aims to provide all of the necessary building blocks for web-based products bui

JetBrains 2.8k Dec 1, 2021
An open-source UI component library for building high-quality, accessible design systems and web apps

An open-source UI component library for building high-quality, accessible design systems and web apps

Radix 2.3k Nov 23, 2021
A collection of JetBrains Web UI components

This collection of UI components aims to provide all of the necessary building blocks for web-based products built inside JetBrains, as well as third-party plugins developed for JetBrains' products.

JetBrains 2.7k Sep 16, 2021
react-var-ui is a simple React component library for variable setting and preview, inspired by iOS settings, react-dat-gui and dat.gui.

react-var-ui is a simple React component library for variable setting and preview, inspired by iOS settings, react-dat-gui and dat.gui. While some cod

Mat Sz 55 Nov 21, 2021
dataminr-react-components - Collection of reusable React Components and utility functions.

react-components A collection of reusable React components with their own Flux lifecycle. What's inside react-components? Table Component From a simpl

Dataminr 262 Oct 30, 2021
react-health-card 🏥💳 An awesome react health card component.

react-health-card An awesome health card component. Installation yarn add react-health-card or npm install react-health-card --save Usage import Healt

medipass 26 Nov 8, 2021
React standard library—must-have toolbox for any React project.

libreact React standard library—must-have toolbox for any React project. LAUNCH STORYBOOK ?? See documentation Most components implement Isomorphic -

Vadim Dalecky 2.5k Nov 17, 2021
Material-UI is a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design.

Material-UI Quickly build beautiful React apps. Material-UI is a simple and customizable component library to build faster, beautiful, and more access

Material-UI 73.4k Dec 2, 2021
🌈 A UI Design Language and React UI library

Ant Design An enterprise-class UI design language and React UI library. English | Português | 简体中文 ✨ Features ?? Enterprise-class UI designed for web

Ant Design Team 75.8k Nov 24, 2021
Bootstrap components built with React

React-Bootstrap Bootstrap 4 components built with React. Docs See the documentation with live editable examples and API documentation. To find the doc

react-bootstrap 20.2k Nov 23, 2021
Simple React Bootstrap 4 components

reactstrap Stateless React Components for Bootstrap 4. Getting Started Follow the create-react-app instructions to get started and then follow the rea

reactstrap 10.2k Nov 25, 2021
The official Semantic-UI-React integration

Semantic UI React Installation & Usage See the Documentation for an introduction, usage information, and examples. Built With Amazon Publishing — the

Semantic Org 12.5k Nov 27, 2021