Releases: palantir/blueprint
v1.29.0
π Highlights: TimezonePicker
component
π Latest docs: blueprintjs.com/docs
General
@blueprintjs/core 1.29.0
π New features
- #1569
MenuItem
now acceptspopoverProps
, allowing for greater control over submenu popovers (π© @AlexMarvelo)
π Bug fixes
- #1600 File upload input with
.pt-large
modifier now has correct height (40px
instead of30px
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 viactrl+click
. - #1592
Table
now firesonCompleteRender
when cells finish rendering withRenderMode.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 triggersonSelection
properly whenselectedRegions
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 aSelect
control
v1.28.0
π 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 parentwidth
/height
as props- The props slightly improve performance by helping
TruncatedFormat
avoid re-measuring if the parent size didn't change across updates
- The props slightly improve performance by helping
π 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 fullitems
list)- This is distinct from
noResults
, which is rendered when a non-empty query returns zero results
- This is distinct from
- #1537
Select
disabled
prop disables thePopover
- You must manually disable your target element
Documentation
Table v1.24.1
π Latest docs: blueprintjs.com/docs
@blueprintjs/table 1.24.1
π Bug fixes
@blueprintjs/table
now exportsRenderMode
enum (for use inTable
'srenderMode?: RenderMode
prop).
v1.27.0
π 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 addsellipsis
styling to long, overflowing file names.
- #1510
Tabs2
now offers alarge
prop to enablept-large
styling.β οΈ This new prop addresses a reportedpt-large
regression from our last release (see: #1506).
@blueprintjs/datetime 1.22.0
π Bug fixes
@blueprintjs/table 1.24.0
π New features
- #1496 π
Table
now offers ascrollToRegion(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).
- The target region will be positioned in the top/left corner of the viewport.
- #1503 π
Table
now supports arenderMode?: 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 anonCompleteRender
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 whenenableFocus
becomestrue
. - #1502
Table
resizing columns no longer throws error whenisRowHeaderShown=false
- #1505
Table
no longer firesonVisibleCellsChange
redundantly when the viewport hasn't actually changed. - #1507
Table
FULL_ROWS
,FULL_COLUMNS
, andFULL_TABLE
selection overlays now align properly to cell borders.
@blueprintjs/labs 0.8.0
π New features
- #1499 π New
Suggest
component!
v1.26.0
π Highlights: Better Table
column reordering, inline RadioGroup
options
π Latest docs: blueprintjs.com/docs
@blueprintjs/core 1.26.0
π New features
π 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 orpt-large
) can now be easily nested.β οΈ If you are nesting two more levels ofpt-large
Tabs
in your application, you may need to addpt-large
to each set of tabs as of this release.
- #1482
NonIdealState
now properly line-wraps long text in Internet Explorer. (π© @AlexLandau)
@blueprintjs/datetime 1.21.0
π Bug fixes
- #1480
DateRangeInput
now uses providedlocale
properly when formatting dates. (π© @AlexLandau)
@blueprintjs/table 1.23.0
π New features
- #1462
Table
column reordering is now much improved!
@blueprintjs/labs 0.7.0
π New features
- #1465
MultiSelect
tags can now contain arbitrary React elements. (π© @sushain97)
π Bug fixes
- #1485
MultiSelect
andTagInput
styles are now more consistent with regularpt-input
s. (π© @sushain97)
Table v1.22.1
v1.25.1
v1.25.0
π 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
andpt-icon-add
. you know what this means: editor autocomplete π± β οΈ In introducing this newIconName
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 thattsc
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 fromstring
toIconName
- If your component accepts
- We've also added typings for
-
#1373 π much improving scrolling support for
Overlay
and centering forDialog
- We refactored
.pt-overlay
CSS to ensure that it sets the correctposition
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 theDialog
component, the new container element will be added automatically and you can likely remove any custom positioning styles you've written
- We refactored
π Bug fixes
- #1421 Remove small font-size from small buttons to improve legibility and fix icon centering
- #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 thenumFrozenColumns
andnumFrozenRows
props and you're set.
@blueprintjs/labs 0.6.0
π New features
-
#1364 π
Popover2
uses a new positioning engine that resolves our "smart positioning" bugs
- 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 onOverlay
- π₯
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
- Popper.js is a massive improvement over Tether in almost every way!
-
#1438 π
Tooltip2
exposes the same API asTooltip
but is backed byPopover2
(and has the same API changes noted above) -
#1418, #1419, #1420 π
TagInput
gets a lot of love this week!
- new
separator
prop allows adding multiple values at once - new
onChange
callback prop handlesonAdd
andonRemove
array manipulation for you. great for simple use cases! - new
placeholder
prop disappears whenvalues
is not empty, like an input placeholder normally does - new
leftIconName
andrightElement
props work exactly likeInputGroup
(with newIconName
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 receivesstring[]
instead of singlestring
- private handleAdd = (value: string) => this.setState([...this.state.values, value]) + private handleAdd = (values: string[]) => this.setState([...this.state.values, ...values])
- new
π Bug fixes
- #1403
QueryList
onKeyDown
is invoked for all keys (π© @paulpooch) - #1422
MultiSelect
placeholder can be overridden throughinputProps.placeholder
(π© @sushain97)
Documentation
- "Tabs 2.0" section has been renamed to "Tabs2" to match the component name
v1.24.0
π 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 ofstring
in TypeScript because it comes fromReact.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.
- the
- #1377
Dialog
transitionName
prop to conform with otherOverlay
-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
removesbody.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;
- set the following Sass variables when importing
- #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