Skip to content

Releases: palantir/blueprint

v1.29.0

24 Sep 22:59
Compare
Choose a tag to compare

πŸŽ† Highlights: TimezonePicker component

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

General

  • #1566 Add prettier formatting using tslint-plugin-prettier to automagically format the codebase

@blueprintjs/core 1.29.0

πŸ’Ž New features

  • #1569 MenuItem now accepts popoverProps, allowing for greater control over submenu popovers (🎩 @AlexMarvelo)

πŸ› Bug fixes

  • #1600 File upload input with .pt-large modifier now has correct height (40px instead of 30px previously) (🎩 @Landish)

@blueprintjs/table 1.26.0

πŸ› Bug fixes

  • #1580 Table interaction-bar cursor is now styled correctly when selection is disabled.
  • #1584 Table context menu no longer adds erroneous disjoint selections when triggered via ctrl+click.
  • #1592 Table now fires onCompleteRender when cells finish rendering with RenderMode.BATCH.
  • #1578 Table scrolling is now slightly more performant.
    • Minor view-update work is now debounced until after the scroll has completed.
    • In particular, the row-header width is now adjusted after scrolling, not during.
  • #1587 Table now validates prop values more rigorously.
  • #1595 Table now triggers onSelection properly when selectedRegions is controlled, firing only when the selection actually changes.
  • #1589 Table no longer throws an error when double-clicking row-header resize handles.

@blueprintjs/labs 0.10.0

πŸ’Ž New features

  • #1568 🌟 NEW TimezonePicker component lets you search and pick a time zone from a Select control

v1.28.0

16 Sep 00:29
Compare
Choose a tag to compare

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

@blueprintjs/core 1.28.0

πŸ’Ž New features

  • #1518 #1570 Added nine new icons
    • pt-icon-filter-keep, pt-icon-filter-remove, pt-icon-key, pt-feed-subscribed, pt-icon-widget-button, pt-icon-widget-header, pt-icon-widget-footer, pt-icon-header-one, pt-icon-header-two

@blueprintjs/table 1.25.0

πŸ’Ž New features

  • #1550 TruncatedFormat now receives parent width/height as props
    • The props slightly improve performance by helping TruncatedFormat avoid re-measuring if the parent size didn't change across updates

πŸ› Bug fixes

  • #1515 Fix column header borders on ghost cells
  • #1523 Select the target cell on right-click
  • #1524 Improve shift-select behavior
  • #1541 Move focused cell when columns/rows are reordered

@blueprintjs/labs 0.9.0

πŸ’Ž New features

  • #1493 Select/MultiSelect/Omnibox initialContent prop is rendered when query is empty (instead of full items list)
    • This is distinct from noResults, which is rendered when a non-empty query returns zero results
  • #1537 Select disabled prop disables the Popover
    • You must manually disable your target element

Documentation

  • #1528 Correct icon font variable names
  • #1542 Add copy/paste to sortable table example
  • #1522 Improve the Table development preview page
  • #1551 Split labs documentation page into one page per component (like other packages)
    • ⚠️ This change breaks URLs; you'll need to update any bookmarks manually

Table v1.24.1

31 Aug 23:31
Compare
Choose a tag to compare

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

@blueprintjs/table 1.24.1

πŸ› Bug fixes

  • @blueprintjs/table now exports RenderMode enum (for use in Table's renderMode?: RenderMode prop).

v1.27.0

30 Aug 19:37
Compare
Choose a tag to compare

πŸŽ† Highlights: Table scrollToRegion(region: IRegion) instance method, Table renderMode to toggle batched cell rendering, Table onCompleteRender prop, new Suggest component

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

@blueprintjs/core 1.27.0

πŸ› Bug fixes

  • #1498 pt-file-upload now adds ellipsis styling to long, overflowing file names.
    image
  • #1510 Tabs2 now offers a large prop to enable pt-large styling.
    • ⚠️ This new prop addresses a reported pt-large regression from our last release (see: #1506).

@blueprintjs/datetime 1.22.0

πŸ› Bug fixes

  • #1474 DateTimePicker no longer clears selected date when changing time values. (🎩 @cathyxz)

@blueprintjs/table 1.24.0

πŸ’Ž New features

  • #1496 🌟 Table now offers a scrollToRegion(region: IRegion) instance method to programmatically scroll a desired row, column, or cell into view!
    • The target region will be positioned in the top/left corner of the viewport.
      • Or if the table is maximally scrolled, then having the target cell simply in view is enough.
    • The target region will account for any frozen rows and/or columns and adjust its position accordingly to stay visible.
    • The scrolling happens instantaneously for now; in the future, we hope to add an animated?: boolean option to animate the scroll (see: #1501).
  • #1503 🌟 Table now supports a renderMode?: RenderMode prop:
    • RenderMode.BATCH (default): renders cells in batches to improve performance (see: #1201)
    • RenderMode.NONE: renders cells synchronously all at once
  • #1505 🌟 Table now offers an onCompleteRender prop.
    • This callback is invoked on mount/update when all cells in view have finished rendering.
    • This is particularly useful when batched cell rendering is enabled.

πŸ› Bug fixes

  • #1447 Table now shows the focused cell immediately and in the right place when enableFocus becomes true.
  • #1502 Table resizing columns no longer throws error when isRowHeaderShown=false
  • #1505 Table no longer fires onVisibleCellsChange redundantly when the viewport hasn't actually changed.
  • #1507 Table FULL_ROWS, FULL_COLUMNS, and FULL_TABLE selection overlays now align properly to cell borders.

@blueprintjs/labs 0.8.0

πŸ’Ž New features

  • #1499 🌟 New Suggest component!
    • Suggest behaves similarly to Select, except it renders a text input as the Popover target instead of arbitrary children.
      2017-08-30 10 04 51

v1.26.0

24 Aug 20:22
Compare
Choose a tag to compare

πŸŽ† Highlights: Better Table column reordering, inline RadioGroup options

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

@blueprintjs/core 1.26.0

πŸ’Ž New features

  • #1475 RadioGroup now supports the inline prop to render radio options inline. (🎩 @cathyxz)
    image

πŸ› Bug fixes

  • #1303 Hotkeys dialog now shows Cmd or Ctrl appropriately in hotkey combos, depending on the client platform.
  • #1476 Tabs of different sizes (regular or pt-large) can now be easily nested.
    • ⚠️ If you are nesting two more levels of pt-large Tabs in your application, you may need to add pt-large to each set of tabs as of this release.
  • #1482 NonIdealState now properly line-wraps long text in Internet Explorer. (🎩 @AlexLandau)
    image

@blueprintjs/datetime 1.21.0

πŸ› Bug fixes

  • #1480 DateRangeInput now uses provided locale properly when formatting dates. (🎩 @AlexLandau)

@blueprintjs/table 1.23.0

πŸ’Ž New features

  • #1462 Table column reordering is now much improved!
    • Reorderable columns now always have a reorder handle, even if the interaction bar is disabled.
    • Columns can now be reordered even when selection is disabled.
    • Reordering disjoint selections is now much more intuitive due to improved visual feedback.
      reordering

@blueprintjs/labs 0.7.0

πŸ’Ž New features

  • #1465 MultiSelect tags can now contain arbitrary React elements. (🎩 @sushain97)

πŸ› Bug fixes

  • #1485 MultiSelect and TagInput styles are now more consistent with regular pt-inputs. (🎩 @sushain97)

Table v1.22.1

23 Aug 01:05
Compare
Choose a tag to compare

@blueprintjs/table 1.22.1

πŸ› Bug fixes

  • #1479 Fix Table sizing when shown in fluid-height container
  • #1483 Fix Table SCSS compilation errors

Documentation

πŸ› Bug fixes

  • #1478 Fix normalize.css version on docs site

v1.25.1

18 Aug 06:19
Compare
Choose a tag to compare

@blueprintjs/core 1.25.1

πŸ› Bug fixes

  • #1456 Fix Sass compilation for users who were importing Blueprint's .scss files
  • #1458 Fixed pt-icon-bank-account class name (note that this is a very minor breaking changeβ€”previously this had a typo and was called pt-icon-banl-account).

v1.25.0

15 Aug 23:01
Compare
Choose a tag to compare

πŸŽ† Highlights: new Popover2/Tooltip2 components in labs, TagInput gets 5 new props, Table now supports frozen/sticky columns/rows, new Icon component, new IconName typings

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

General

  • 😭 This is my (@giladgray) last release as the Blueprint lead. I'm moving on to other frontend projects inside Palantir, but I'll always be connected to Blueprint (and just an at-mention away), and I may very well be back in a few months!

@blueprintjs/core 1.25.0

πŸ’Ž New features

  • #1427 🌟 Icon component is the CSS shorthand you've always dreamed of:

    private maybeRenderLeftIcon() {		
    -    const { leftIconName } = this.props;		
    -    if (leftIconName == null) {		
    -        return undefined;		
    -    }		
    -    const iconClass = Classes.iconClass(leftIconName);		
    -    return <span className={classNames(Classes.ICON_LARGE, iconClass)} />;		
    +    return <Icon iconName={leftIconName} iconSize={20} />
    }
    • We've also added typings for iconName throughout the library with a new string literal union type, IconName, that includes every short and long icon: add and pt-icon-add. you know what this means: editor autocomplete 😱 icon-autocomplete
    • ⚠️ In introducing this new IconName type, we've done our best to ensure compatibility with existing use cases (it supports both short and long names, for instance), but it is likely that tsc will complain lightly about a few usages in your codebase
      • If your component accepts iconName as a prop to pass to <Icon />, you'll need to change the type from string to IconName
  • #1373 🌟 much improving scrolling support for Overlay and centering for Dialog

    • We refactored .pt-overlay CSS to ensure that it sets the correct position at all times, whether inline or scrollable
    • Dialog component now renders a .pt-dialog-container wrapper as its root element which centers the .pt-dialog in a viewport-covering flex container. This provides super reliable centering behavior (#552) and much improved scrolling support (#1313) (though some issues are still present like #1008)
      • ⚠️ If you're rendering the .pt-dialog markup by hand, you may want to add the .pt-dialog-container parent element for perfect screen centering (and probably remove any custom styles you had); see the CSS API markup in the docs
      • ⚠️ If you're using the Dialog component, the new container element will be added automatically and you can likely remove any custom positioning styles you've written

πŸ› Bug fixes

  • #1421 Remove small font-size from small buttons to improve legibility and fix icon centering
    small-buttons-centered
  • #1434 Move $output-bourbon-deprecation-warnings variable to _variables.scss to globally disable Bourbon's deprecation warnings in any package that imports Blueprint Sass code

@blueprintjs/datetime 1.20.0

πŸ› Bug fixes

  • #1429 Pass locale to moment() for parsing and formatting
  • #1424 Speed up the test suite by a full 30 seconds!

@blueprintjs/table 1.22.0

  • #1445 🌟 Table now supports frozen/sticky columns and rows! Use the numFrozenColumns and numFrozenRows props and you're set.
    29045022-d060c77c-7b76-11e7-806c-054fd2debcfb

@blueprintjs/labs 0.6.0

πŸ’Ž New features

  • #1364 🌟 Popover2 uses a new positioning engine that resolves our "smart positioning" bugs
    popover2-auto

    • Popper.js is a massive improvement over Tether in almost every way!
      • all the fancy flipping behavior you could want enabled by default
      • endlessly customizable if it isn't perfect enough for you
      • look, it puts the arrow exactly where it's supposed to be. every time. what more could a blueprint dev want??
    • All the classic Popover features are still supported with the same names except...
      • πŸ”₯ isModal β†’ hasBackdrop to match corresponding prop on Overlay
      • πŸ”₯ isDisabled β†’ disabled for consistency with HTML elements
    • ...and the handful of Tether-specific props are now Popper.js-specific:
      • πŸ”₯ position: Position β†’ placement: PopperJS.Placement
      • πŸ”₯ tetherOptions: ITetherOptions β†’ modifiers: PopperJS.Modifiers
    • ...and one special addition:
      • minimal: boolean applies minimal styles, which includes removing the arrow and minimizing the transition
    • This new iteration of the Popover API will live in labs until our eventual 2.0 release, when it will be merged into core and will replace Tether entirely
  • #1438 🌟 Tooltip2 exposes the same API as Tooltip but is backed by Popover2 (and has the same API changes noted above)

  • #1418, #1419, #1420 🌟 TagInput gets a lot of love this week!
    tag-input-new-props

    • new separator prop allows adding multiple values at once
    • new onChange callback prop handles onAdd and onRemove array manipulation for you. great for simple use cases!
    • new placeholder prop disappears when values is not empty, like an input placeholder normally does
    • new leftIconName and rightElement props work exactly like InputGroup (with new IconName typings!)
    • values accepts any valid JSX, from strings to elements to fragments!
      • #1432 falsy values are ignored appropriately, like normal JSX
    • πŸ”₯ API BREAK: onAdd now receives string[] instead of single string
      - private handleAdd = (value: string) => this.setState([...this.state.values, value])
      + private handleAdd = (values: string[]) => this.setState([...this.state.values, ...values])

πŸ› Bug fixes

  • #1403 QueryList onKeyDown is invoked for all keys (🎩 @paulpooch)
  • #1422 MultiSelect placeholder can be overridden through inputProps.placeholder (🎩 @sushain97)

Documentation

  • "Tabs 2.0" section has been renamed to "Tabs2" to match the component name

v1.24.0

28 Jul 23:34
Compare
Choose a tag to compare

πŸŽ† Highlights: easier uncontrolled Select usage, better scroll behavior with nested overlays, better control of button gradients in Sass

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

General

  • #1376 πŸ”¨ Bump development dependencies

@blueprintjs/core 1.24.0

πŸ’Ž New features

  • #1378 Checkbox/Switch/Radio labelElement prop supports JSX content for typescript
    consumers
    • the label prop enforces a type of string in TypeScript because it comes from React.HTMLAttributes, though the implementation actually supports JSX for non-TS consumers
    • this new labelElement prop sidesteps the React typings to allow TS users to supply JSX content for checkboxes, etc.
  • #1377 Dialog transitionName prop to conform with other Overlay-based components
  • #1356, #1383 Added 8 UI icons
    • "Issue", "Issue: new", "Issue: closed", "Panel: stats", "Panel: table", "Tick circle", "Prescription" and "New prescription"

πŸ› Bug fixes

  • #1369 🌟 Overlay removes body.pt-overlay-open only when the overlay stack is empty
  • #1392 🌟 Refactor button gradients to allow for easy removal
    • set the following Sass variables when importing blueprint.scss to flatten buttons and button-like components:
      $button-gradient: none;
      $button-intent-gradient: none;
      $dark-button-gradient: none;
  • #1301 Hide hotkeys dialog on shift + ? keypress
  • #1330 Overlay enforces focus after backdrop mouse down

πŸ’ Other changes

  • #1389 Remove custom focus style in minimal state
  • #1366 More accurate icons for selects
  • #1391 Remove small button icon restriction

@blueprintjs/table 1.21.0

πŸ› Bug fixes

  • #1357 Show menu icon when menu is open in column header
  • #1379 Add pt-icon-standard to reordering drag handle

@blueprintjs/labs 0.5.0

πŸ’Ž New features

  • #1353 🌟 Select supports listening to inputProps.onChange without controlling inputProps.value
  • #1396 Select resetOnClose prop clears state when popover is closed (whether or not a selection was made)

v1.23.1

19 Jul 00:07
Compare
Choose a tag to compare

@blueprintjs/core 1.23.1

  • Fixed Apply baseline to .pt-form-group.pt-inline only (#1360)