Skip to content

Releases: palantir/blueprint

v1.23.0

14 Jul 21:30
Compare
Choose a tag to compare

πŸŽ† Highlights: New MultiSelect<T> and Omnibox<T> components, new Hotkey props, new TimePicker props

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/core 1.23.0

  • 🌟 NEW Hotkey Add allowInInput, disabled, preventDefault, stopPropagation props (#1304)
  • NEW Menu Add ulRef prop (#1319)
  • NEW Add eraser icon (#1326)
  • Fixed Tag Fix HTMLAttributes type (#1342)
  • Fixed NonIdealState Improve title centering (#1329)
  • Fixed Fix .pt-navbar mention, add dom4 script to HTML example (#1337)
  • Fixed Improve .pt-control support within form groups (#1336)
  • Changed Dialog Reduce top position (#1338)
  • Updated EditableText Improve tests for onConfirm and onCancel behavior (#1310)

@blueprintjs/table 1.20.0

  • Fixed Disable the RoundSize component wrapper (#1333)
  • Fixed TruncatedFormat Fix popover size issues leading to infinite loops (#1344)

@blueprintjs/datetime 1.19.0

  • 🌟 NEW TimePicker Added minTime and maxTime props (#1272) (🎩 @jacekjagiello)
  • Fixed DateRangePicker Disable out-of-range shortcuts (#1311)
  • Fixed DateInput No longer defaults to Today with time precision enabled (#1349)

@blueprintjs/labs 0.4.0

  • 🌟 NEW New MultiSelect<T> component (#1275)
  • 🌟 NEW New Omnibox<T> component (#1325)
  • Changed TagInput onAdd can return false to prevent clearing input (#1309)
  • Updated Various code cleanups and followups (#1339)

v1.22.0

06 Jul 02:08
Compare
Choose a tag to compare

πŸŽ† Highlights: TS 2.4-compatible typings, Table onVisibleCellsChange prop

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/core 1.22.0

  • 🌟 Fixed TS 2.4-compatible typings for React.HTMLAttributes overflowY in Collapse (#1296) (🎩 @sandersn)
  • Updated Keys Added keyCode value for "delete" (#1321) (🎩 @invliD)

@blueprintjs/table 1.19.0

  • 🌟 NEW onVisibleCellsChange prop to know which cells to lazy load next (#1268)
  • Fixed Utils.times now uses a simple loop instead of a map (#1282)
  • Fixed HeaderCell Set proper deprecated package version for menu prop (#1289)

@blueprintjs/datetime 1.18.0

  • Fixed TimePicker Show not-allowed cursor when disabled (#1290)
  • Fixed DateInput Properly deselect date when time precision is enabled (#1300)
  • Fixed DateRangeInput Show empty fields when value is [undefined, undefined] (#1302)

@blueprintjs/labs 0.3.0

  • Changed Replicate @blueprintjs/core directory structure (#1316)

v1.21.0

22 Jun 23:45
Compare
Choose a tag to compare

πŸŽ† Highlights: TagInput component, Table column reorder handles, Tab/Enter to navigate Table focus cell

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/core 1.21.0

  • NEW Tag onRemove callback now receives full tag props as second argument (#1267)
  • NEW Portal now receives blueprintPortalClassName context property (#1244, #1245) (🎩 @jrafidi)
    • This is beneficial if you are displaying dialogs within a shared component/larger plugin and want to scope your styles.

@blueprintjs/labs 0.2.0

  • 🌟 NEW TagInput component (#1232)
    • Renders Tags inside an input, followed by an actual (ghosted) text input.
    • On Enter, the inputted text is displayed in a new tag.
    • This component is fully controlled, and all tags are individually customizable via tagProps.

taginput

  • Fixed QueryList (formerly InputList) no longer invokes onActiveItemChange if list is empty or activeItem is undefined (#1256) (🎩 @k-simons)
  • Changed InputList is now QueryList andΒ has a new directory structure for consistency with other packages (#1243)

@blueprintjs/table 1.18.0

  • 🌟 NEW Column now has reorder handles when interaction bar enabled (#1250)
    reorder-handle
  • 🌟 NEW Table now supports focus-cell Tab and Enter microinteraction behavior (#1251)
    • Tab moves the focus cell to the right (Shift + Tab moves it to the left)
    • Enter moves the focus cell down (Shift + Enter moves it up)
    • The focus cell is constrained within selected regions if one or more are present.
      jun-19-2017 17-13-53
  • Fixed EditableCell now updates text in response to controlled value prop change (#1239)

Documentation

  • NEW Table docs now have a section about reorderable content (#1271)
  • NEW Added additional Table functionality to the dev preview page
    • Add menu to change cell content (#1229)
    • Add content truncation controls (#1253)
    • Make reordering work (#1263)
  • Changed pt-table docs example code now includes <tr> (#1265) (🎩 @tomshen)

v1.20.0

13 Jun 19:19
Compare
Choose a tag to compare

πŸŽ† Highlights: Table batch cell rendering and other performance improvements

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/core 1.20.0

  • NEW Added four UI icons (#1221)
    • Bank account, IP address, cell tower, ID number

@blueprintjs/datetime 1.17.0

  • NEW TimePicker disabled prop (#1219) (🎩 @AlexMarvelo)

@blueprintjs/table 1.17.0

  • 🌟 NEW Table cells are now batch-rendered within each frame when scrolling (#1201)
    • This yields much smoother scrolling, with the tradeoff of showing momentary flashes of white as rendering catches up.
    • This batching behavior is not yet user toggle-able or configurable, but will be in the future.
      2017-06-13 09 20 18
  • NEW ColumnHeaderCell/RowHeaderCell index prop, which is passed to callbacks if provided (#1210)
    • No more having to instantiate new anonymous callback functions when rendering either of these components; the index can be passed directly to a persistent callback function instance.
  • NEW ColumnHeaderCell/RowHeaderCell renderMenu prop
    • renderMenu is an example of a callback that henceforth can be instantiated only once, because it receives the row/column index as a parameter.
    • menu is now deprecated in favor of renderMenu (#1218)
  • NEW getShallowUnequalKeyValues and getDeepUnequalKeyValues utility functions (#1222)
    • These functions streamline debugging of shouldComponentUpdate methods; they will thus be more useful for Blueprint contributors than for Blueprint consumers.
  • Fixed Table componentWillReceiveProps now responds to more prop changes and updates the component accordingly (#1165)
  • Fixed ColumnHeader/RowHeader shouldComponentUpdate issues (#1215) (#1217)

v1.19.0

09 Jun 00:07
Compare
Choose a tag to compare

πŸŽ† Highlights: Select 😱 , Table re-rendering performance refactors

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/core 1.19.0

  • NEW Tabs2 onChange handler now receives event as its third argument #1156
  • NEW NumericInput onButtonClick prop is invoked when +/- buttons are clicked (either via mouse or keyboard) #607 (comment), #1178
  • Fixed .pt-card hover transition flicker #1192

🎁 @blueprintjs/labs 0.1.0

@blueprintjs/labs is a new package for in-development and unstable React components owned by the Blueprint team. Each new release should be considered breaking, and we will promote components to core once they reach a certain level of stability.

This first release provides two new components (see PR #1159):

  • InputList<T> is a generic higher-order component for managing a queryable list of items

    • <T> is the type of one item in the array; all props are parameterized on this so it speaks your language, no translations required. this has the side effect of making more props required, as we can't provide even default implementations of filtering.
    • supports filtering items individually or on the entire array
    • provides generic keyboard selection and interaction (up, down and enter keys)
    • defers all rendering logic to a renderer callback prop that receives a set of props that can be attached to elements to configure the above interactions
  • 🌟 Select<T> is a generic component for selecting a single item from a list
    select-filtering-memory

    • again, <T> is the type of an item in the array and props are parameterized to use it
    • analogous to the HTML <select> element: query input and item list in a Popover attached to the children, so you can render your own trigger
    • classic uncontrolled selection is supported out-of-the-box: click an item to invoke onItemSelect, then track the new value in your application state
    • controlled usage is not supported directly, but can be achieved by leveraging inputProps and popoverProps
    • if Select's interactions and appearance do not meet your needs, you can use InputList directly to implement custom list behavior
      • internally, Select simply leverages InputList for most of the interactions; it just tracks state for query string and queried items. as such, its source code makes a great guide for how to use InputList yourself.

@blueprintjs/table 1.16.0

  • 🌟 NEW Eliminate excessive re-renders throughout the codebase!
    • Added custom shouldComponentUpdate implementations to Table #1162 and to Header, HeaderCell, and EditableCell #1206.
    • Fixed onSelection is only invoked when selection actually changes #1185
      • previously, it was called every time the mouse moved within a cell, resulting in many unnecessary re-renders. see PR linked above for some sweet before/after GIFs.
    • Changed Utils.shallowCompareKeys now accepts whitelist or blacklist of props #1181
  • Changed pull shared header code into base component Header, used by ColumnHeader and RowHeader #1109
  • Changed pull shared header cell code into base component HeaderCell, used by ColumnHeaderCell and RowHeaderCell #1109
  • Fixed focus cell now moves with selection on drag #1171
    2017-05-31 09 02 21
  • Fixed focus cell moves to top-left corner when full table is selected #1172
  • Fixed header cells are ignored by resizeByTallest (only considers body cells) #1194
  • Fixed added default fallback for tallest cell calculations (uses current cached cell height) #1200
  • Fixed interaction bar cursor and background color #1163

Documentation

  • NEW Table playground in our PR preview comments lets you toggle very single table feature in one convenient place! #1154

v1.18.0

26 May 21:06
Compare
Choose a tag to compare

πŸŽ† Highlights: more ways to Popover, Table shift+click selection expansion, so many fixes!

πŸ“– Latest docs: blueprintjs.com/docs

General

  • πŸ”¨ Resolved all warnings and deprecation messages in our test suites #1088
    • πŸ’‘ These are development-only changes so they do not affect library consumption.
    • Replaced deprecated react-addons-test-utils package with react-test-renderer and react-dom/test-utils.
    • Updated to latest enzyme to make use of these new libraries.
    • Fixed isomorphic testing for some skipped components #781

@blueprintjs/core 1.18.0

  • 🌟 NEW more ways to Popover: define content and target as props, children, or both #1118
    1. NEW Provide both the content and target props, which accept a string or a JSX element.
      Omitting the target prop will produce an error.

      <Popover content={<Content />} target={<Button text="Open" />} />
    2. NEW Provide one or two children. The first child will become the target, the second the content. Omitting a target element will produce an error.

      <Popover>
          <Button text="Open" />
          <Content />
      </Popover>
    3. It is possible to mix the two (pre-existing usage): provide the content prop and one React child as the target. (Using the target prop with children is not supported and will produce a warning.)

      <Popover content={<Content />}>
          <Button text="Open" />
      </Popover>
  • NEW Popover exposes popoverElement and targetElement instance properties #1123
    • both are refs to the underlying HTML elements and can be very useful for testing non-inline Popovers
    • access these properties by getting a ref to a Popover instance:
      <Popover ref={(popover) => popover.popoverElement}>
  • Fixed NonIdealState margins between items are more consistent and reliably support all combinations (as most props are optional) #994
  • NEW .pt-file-input supports .pt-large CSS modifier #1112
  • Fixed RadioGroup onChange event type is now correct for HTMLInputElement #1128
  • Fixed Checkbox indeterminate docs have been clarified #1127
  • Fixed NumericInput sets autoComplete="off" #1146
  • Fixed Popover with empty or whitespace content will not open and will log a warning #1094
    • this feature was added for Tooltip only in 1.14.0; in this release it now applies to Popover directly so Tooltip inherits this behavior through composition.
  • Fixed default font stack so CSS minifiers won't strip the final "Icons16" entry to support inline icons #1060 #1107
  • Fixed ContextMenu uses tetherOptions to avoid deprecation warnings #1088
  • Updated bold, italic, and underline icons for consistent text baseline #1135
  • Added satellite and paragraph icons #1135

@blueprintjs/datetime 1.16.0

  • Fixed DateInput with closeOnSelection={true} will no longer close when the time changes (only when date is chosen) #1092
  • Fixed DateInput and DateRangeInput set autoComplete="off" #1146
  • Fixed typo in DateInput popoverPosition deprecation warning (🎩 @lucasray) #1139

@blueprintjs/docs 1.1.1

  • Fixed Navigator sets autoComplete="off" #1146

@blueprintjs/table 1.15.0

  • 🌟 NEW shift+click to expand selection region #1071
  • Fixed region selection stays anchored to original activation cell when scrolling #950 #1114
  • Fixed row resize for truncated, non-word-wrapped cells #1100
  • Fixed pure render logic on Cell to avoid unnecessary re-renders (🎩 @zerovox) #1104
    • first step in some significant performance improvements; see profile screenshot PR above
  • Fixed Table children type to support TS 2.3 (🎩 @cetra3) #1143
  • Fixed hide regions that lie fully outside of the Table #1077 #1122
  • Fixed TruncatedFormat uses width of ellipsis when calculating whether to show it #953

Documentation

  • Fixed Popover example with nested Popover example content #1097

v1.17.1

12 May 21:00
Compare
Choose a tag to compare

πŸŽ† Highlights: Fixes a breaking change introduced in v1.17.0 (#1085)

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/core 1.17.1

  • ❗ REVERT #1051 (reintroduces deprecated package react-addons-css-transition-group, because adding react-transition-group as a peer dependency is technically a breaking change that would drop React 0.14 support)

v1.17.0

11 May 01:56
Compare
Choose a tag to compare

πŸŽ† Highlights: clutch fixes, dependency upgrades, and smarter table rows

πŸ“– Latest docs: blueprintjs.com/docs

General

  • πŸ“¦ Peer dependency replaced react-addons-css-transition-group β‡’ react-transition-group per facebook/react#8125 (:tophat: @benhjames) #1051
    • πŸ”₯ this is an artifact of our recent peer dependency update to React 15.5, and requires that you manually install the new package:
      npm install --save react-transition-group
    • you can then remove react-addons-css-transition-group (after updating your own usages, if any):
      npm uninstall --save react-addons-css-transition-group
    • don't forget to update @types packages accordingly!
    • πŸ’‘ while the only code change here is in core, every package is affected by this change, through the magic of peer dependencies

@blueprintjs/core 1.17.0

  • NEW NumericInput clampValueOnBlur prop will restrict the value to between min and max when the input is blurred (default false for compatibility) #1044
  • NEW NumericInput large prop applies .pt-large modifier to use larger inputs and buttons #907
    • this was not as simple as adding .pt-large once to the container element, so we opted for a prop to ensure the correct classes are added correctly, see #1038
  • Fixed EditableText only sets defaultValue on initial render #987
  • Fixed Tabs2 clicking selected tab again fires onChange #1067

@blueprintjs/datetime 1.15.0

  • Fixed DateRangePicker with contiguousCalendarMonths=false now shows hovered range #1048
  • πŸ“¦ Updated react-day-picker dependency to latest v5.3.0 #688 #1014
    • react-day-picker NPM module now includes its own typings, so we were able to remove some interfaces that were redefined locally to avoid adding an @types dependency
    • nothing has changed in the Date[Range]Picker APIs, but they are no longer compatible with older versions of react-day-picker

@blueprintjs/docs 1.1.0

  • NEW Navigator scrolls selected item into viewport #335
    navigator-key-scroll

@blueprintjs/table 1.14.0

  • 🌟 NEW Table#resizeRowsByTallestCell instance method now accepts an array of column indices to consider when computing tallest cell, or no arguments to consider all columns in the viewport (:tophat: @philcchen) #1070
    • it still accepts a single column index (not an array) for the one-column case
  • Fixed divider appearance between headings and ghost cells #972

Documentation

Datetime v1.14.1

27 Apr 20:55
Compare
Choose a tag to compare

πŸŽ† Highlights: So many fixes for DateRangeInput!

πŸ“– Latest docs: blueprintjs.com/docs

@blueprintjs/datetime 1.14.1

This patch release contains a series of significant fixes to the behavior of DateRangeInput including much improved support for controlled mode and better handling of hovered dates. All notes apply only to DateRangeInput:

  • Fixed Clicking a start date in controlled mode moves the focus to the end date #971
  • Fixed Controlled mode now has the same UX as uncontrolled mode #1040
  • Fixed Editing date with the keyboard overrides display of hovered date #1041
  • Fixed After typing an invalid date into a field, hovering over a valid date will hide the error state for the duration of the hover #1041
  • Changed Throw a descriptive error if value === null #1041
    • undefined triggers uncontrolled mode and [null, null] empties the fields in a controlled fashion, but a strictly null value didn't have clear semantics. now it's an error!

Documentation

  • Changed EU-style DD/MM/YYYY format in datetime examples to US-style MM/DD/YYYY #1042
  • Fixed NumericInput example "Full width" switch #1043

v1.16.0

26 Apr 00:18
Compare
Choose a tag to compare

πŸŽ† Highlights: colored icons, DateInput inputProps, Table arrow key scrolling

πŸ“– Latest docs: blueprintjs.com/docs

General

  • We now develop against React 15.5.1 for the latest hotness! Peer dependency versions have not changed.

@blueprintjs/core 1.16.0

  • 🌟 NEW support .pt-intent-* modifiers on the icon classes .pt-icon, .pt-icon-standard, .pt-icon-large #1019
    image
  • NEW three UI icons: blocked-person, slash, percentage #1018
  • Fixed .pt-control-group creates a new stacking context to isolate z-indices of its controls #700
  • Fixed React PropTypes deprecation warning #991

@blueprintjs/datetime 1.14.0

  • 🌟 NEW DateInput inputProps prop just like DateRangeInput #387, #1010
  • ⚠️ React PropTypes warning #991 is still present in datetime package due to react-day-picker dependency being out-of-date. PR to fix this is blocked on typings #1014

@blueprintjs/table 1.13.0

  • 🌟 NEW auto-scroll the viewport when moving focused cell with arrow keys! #915
    2017-04-20 16 22 53
  • Fixed Truncated cell icons appear when expected (regression in 1.12.0) #1022
  • Fixed Table auto-resize columns (by double-clicking on edge) correctly computes header width #952
  • Fixed deprecation warning from Popover #1012

Documentation

  • NEW Add ?examples query string to URL to hide all text and tables, leaving only CSS and React examples #1020, #125
    • This is meant primarily for development and testing, not presentation, so text-heavy pages can look pretty awkward
    • Try it out for the Buttons page