Skip to content

Releases: palantir/blueprint

v1.15.0

18 Apr 22:15
Compare
Choose a tag to compare

πŸŽ† Highlights: top quality bug fixes and some very impressive new Table features.

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

@blueprintjs/core 1.15.0

  • Fixed Popover useSmartPositioning does not mutate defaultProps for all other popovers on the page #973
  • Fixed Collapse overflow styles (follow-up from #938) #976
  • Fixed Tooltip inheritDarkTheme prop now appears in interface #993
  • Fixed Tooltip warns about disabling empty popover only when popover would be shown #1000
  • Fixed set displayName correctly on all components (must be public static) #982
  • Fixed dark-menu-item sass mixin argument typo #961
  • Changed most props validation thrown errors to console warnings because they are not error-worthy, merely discouraged #977 #981
    • a handful of thrown errors remain: invariants that must be met

@blueprintjs/datetime 1.13.0

  • NEW DateInput popoverProps prop proxied to Popover #560 #974
  • Fixed DateInput correctly passes all props to DateTimePicker (when timePrecision is set) #980
  • Fixed DateRangeInput supports full HTMLInputProps on each input #945
  • Fixed DateRangeInput spreads all props to DateRangePicker #970
  • Fixed set displayName correctly on all components (must be public static) #982

@blueprintjs/table 1.12.0

  • 🌟 NEW drag-and-drop column and row reordering! #213
    reordering-v2
    • Column and row reordering can be toggled independently via the following API:
      <Table isColumnReorderable={true} onColumnsReordered={myCallback} />
      <Table isRowReorderable={true} onRowsReordered={myCallback} />
    • Table defers to you to reorder your data appropriately. See the documentation for details on myCallback implementation; the new Utils.reorderArray function can be helpful here.
  • 🌟 NEW table.resizeRowsByTallestCell(columnIndex) instance method resizes all rows by the tallest visible cell in that column #929
    table-resize-tallest
    • all rows (even those offscreen) are resized to match the desired height (based on content) of the tallest currently visible cell in the given column index
    • to access this instance method you must first get a ref to your <Table>
  • 🌟 Fixed eliminate so many unnecessary re-renders #998
    • added @PureRender decorator to all pure table components
    • added custom shouldComponentUpdate logic where necessary to handle complex props
    • πŸ”₯ RegionLayer internal component API accepts pre-computed regionStyles instead of getRegionStyle function (but you probably won't notice)

Documentation

  • Fixed examples now respond immediately when toggling dark theme #163
  • Fixed remove mentions of calendar button in DateInput documentation #966
  • Fixed add a note about i18n support #949

v1.14.0

05 Apr 20:51
Compare
Choose a tag to compare

πŸŽ† Highlights: modularized documentation infrastructure, small buttons, input times with dates, focused cells!

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

@blueprintjs/core 1.14.0

  • 🌟 NEW small buttons! #932
    release-small-buttons
    • ⚠️ small buttons do not support our UI icons because they are not tall enough
  • NEW UI icons (menu, collapse all, expand all, intersection) and updated several existing ones #889
  • Fixed Tooltips with empty content will be disabled automatically #886
    • this includes null, undefined, "", and strings composed entirely of whitespace
  • Fixed input borders in Safari on iOS (:tophat: @cbothner) #675
  • Fixed .pt-button-group.pt-minimal divider is now modifier-independent (to support .pt-large) #910
  • Fixed Collapse container only sets overflow-y #938
  • Added two new Classes constants: TEXT_MUTED and UI_TEXT_LARGE (:tophat: @ryanmcnamara) #951

@blueprintjs/datetime 1.12.0

  • NEW DateInput timePrecision prop adds a TimePicker to the popover! (:tophat: @mfedderly) #748
    release-datetimeinput
  • NEW DateRangeInput popoverProps prop to expose Popover lifecycle methods #940
  • NEW DateRangeInput supports the same props as DateRangePicker #897
    • specifically: added contiguousCalendarMonths and shortcuts props to DRI
  • Changed DateRangePicker internals have been refactored into a DateRangeSelectionStrategy class #880

@blueprintjs/table 1.11.0

  • 🌟 NEW Table "focused cell" feature provides a foundation for more spreadsheet-like interactions #718
    • added Table props enableFocus flag (default false), onFocus callback, and focusedCell for controlled mode
  • Changed header menu icon to chevron for better affordance #891
    release-table-header-icon
  • Fixed header menu click target and gradient improved #906
  • Fixed Table columnWidths type now accurately reflects sparse array #879
  • Fixed Table removes invalid selection regions when updating (uncontrolled mode only) #881

🎁 @blueprintjs/docs 1.0.0

@blueprintjs/docs is a new package providing the <Documentation> React component, which renders documentation data generated using Documentalist, a new documentation data extractor from the Blueprint team. It powers our own docs site and can power yours, too!

(Sorry, we're still polishing the documentation for this package so it's not listed on the docs site 😳)

Documentation

🌟 With this release, we finished a large project #796 to convert the existing documentation at http://blueprintjs.com/docs to use the new @blueprintjs/docs infrastructure. The internals of the site have been heavily refactored to leverage Documentalist for efficiently generating all the documentation data we could want (and nothing more) and the new @blueprintjs/docs package for presenting that data in a React app. The externals remain largely unchanged, save for some organizational changes.

  • πŸ”₯ Breaking Documentation is now organized by package #818
    release-docs-nav
  • πŸ”₯ Breaking all the documentation #-routes have changed to a more URL-like format #882
  • Fixed scroll spy behavior has matured considerably and won't jump around like it used to
  • Moved all the user docs from Sass block comments to Markdown files
  • Updated Core Kit sketch file on Resources page #920

v1.13.0

22 Mar 18:42
Compare
Choose a tag to compare

πŸŽ† Highlights: Tabs2 doesn't need kids to be happy, Popover and Table can see clearly now the blur is gone.

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

@blueprintjs/core 1.13.0

  • 🌟 Fixed blurry Popover issues seem much improved in recent versions of Chrome #394
  • 🌟 Fixed Tabs2 supports undefined children (or absence thereof entirely) #838, #841
  • Fixed Tabs2 supports .pt-large modifier via its own className #799
    <Tabs2 className={Classes.LARGE} />
  • Fixed disabled, minimal Button background on IE #865

@blueprintjs/datetime 1.11.0

  • NEW DateRangeInput selectAllOnFocus prop (default false) #858
  • NEW DateRangeInput allowSingleDayRange prop (default false) #861
    • these two new props directly mimic their counterparts on DateRangePicker.
  • Fixed DateRangeInput month view does not shift on day hover #853
  • Improved DateRangeInput more intuitive click-to-deselect behavior #856
  • Improved DateRangeInput shows formatted min and max dates in empty fields on focus (#874)
  • ❗️ Changed Deleted DateInput calendar icon button and added rightElement prop (#868)
    • To add the button back, supply a Button element via the new rightElement prop:
    const calendarButton = <Button
            className={Classes.MINIMAL}
            disabled={/* ... */}
            iconName="calendar"
            intent={Intent.PRIMARY}
            onClick={/* ... */}
    />;
    return <DateInput 
        rightElement={calendarButton}
    />;

@blueprintjs/table 1.10.0

  • 🌟 Fixed blurry table text (due to a recent Chrome bug) #742
  • Fixed className support in Table, Column, and ColumnHeaderCell #641, #690
  • ❗️ Changed TruncatedFormat preformatted prop now defaults to false #763
    • Set preformatted={true} if the cell contents are already formatted as desired; all whitespace and line breaks will be respected.

Documentation

  • update syntax highlighting: latest TS grammars enables fancier colors #848

v1.12.0

15 Mar 00:18
Compare
Choose a tag to compare

πŸŽ† Highlights: new Text component, tooltips can open on focus, Table select all, Table resize all selected rows/columns, Cell text wrapping!

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

@blueprintjs/core 1.12.0

  • 🌟 NEW Text component conditionally adds the title attribute and truncates with an ellipsis when content overflows its container (:tophat: @ryanmcnamara) #765
  • 🌟 NEW Popover/Tooltip openOnTargetFocus prop (default true) triggers the popover when its target is focused #734
    • this prop is only available when interactionKind is HOVER or HOVER_TARGET_ONLY
  • NEW Popover/Tooltip tetherOptions prop exposes the remaining Tether options (:tophat: @Binck360) #750 #789
    • this may allow you to resolve some issues with blurry popovers (see #394 for more info)
  • NEW Slider/RangeSlider labelPrecision prop determines decimal places for default label formatting #725
    • default value of the prop is the number of decimals used in the stepSize prop
    • this new prop has no effect if you supply a custom renderLabel callback
  • Fixed Slider/RangeSlider throw errors if given negative or zero for stepSize or labelStepSize #828
  • Fixed NumericInput supports step sizes smaller than 0.1, and infers precision (decimal places) based on smallest step size #833
  • Fixed NumericInput supports .pt-fill CSS modifier #792
  • Fixed .pt-file-upload supports .pt-fill CSS modifier #751
  • πŸ“  Deprecated Popover/Tooltip constraints prop in favor of new tetherOptions which has constraints property. #750
    <Popover
    -   constraints={constraints}
    +   tetherOptions={{ constraints }}
    >...</Popover>

@blueprintjs/datetime 1.10.0

  • Fixed DateRangePicker calendar ordering when changing right calendar (:tophat: @chux0519) #785
  • Fixed DateRangePicker popover does not reopen if mouse moved while it is closing #771
  • Fixed DateRangePicker display months do not update when selecting a shortcut with a range in a single month (:tophat: @omegdadi) #829

@blueprintjs/table 1.9.0

  • 🌟 NEW "select all" styles and interactions: click in the upper-left corner or press mod+a #822
    wefwef
  • 🌟 NEW resizing one row or column in a selection will resize all selected #802
    (Note that the entire row/column must be selected by clicking the header, not individual cells.)
    table-linked-resize
  • 🌟 NEW Cell wrapText prop (default false) allows text wrapping to multiple lines #809
    • this prop, in conjunction with selection resizing (noted above), allows users to easily enlarge multiple rows for quick visual comparisons
  • Fixed Column auto-resizing behavior #783

Documentation

v1.11.1

06 Mar 17:05
Compare
Choose a tag to compare

@blueprintjs/core 1.11.1

  • Fixed package manifests to work correctly with webpack (#777)
  • Renamed Tabs2 module files to match component names
    • tab.js β†’ tab2.js
    • tabs.js β†’ tabs2.js

@blueprintjs/datetime 1.9.1

  • Fixed package manifests to work correctly with webpack (#777)

@blueprintjs/table 1.8.1

  • Fixed package manifests to work correctly with webpack (#777)

v1.11.0

04 Mar 01:26
Compare
Choose a tag to compare

πŸŽ† Highlights: two new components DateRangeInput & Tabs2 (rewrite of Tabs) and some really great bugfixes.

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

General

  • πŸ“¦ Fixed added browser and webpack entries to each package.json so unpkg will serve the .bundle.js file #621
  • πŸ“¦ Fixed .bundle.js files now export to the global Blueprint variable, namespaced by package: Blueprint.Core.Button, Blueprint.Table.Table etc. #631

@blueprintjs/core 1.11.0

  • 🌟 NEW Tabs2 is a rewrite of Tabs with a simpler and more flexible API #261 #722
    <Tabs2 id="routes" onChange={this.handleTabChange} selectedTabId="pulls">
        <Tab2 id="code" title="Code" panel={<Code />} />
        <Tab2 id="issues" title="Issues" panel={<Issues />} />
        <Tab2 id="pulls" title="Pull Requests" panel={<PullRequests />} />
        <Tabs2.Expander />
        <input className="pt-input" type="text" placeholder="Search..." />
    </Tabs2>
    • This new API is offered in a backwards-compatible manner by appending a 2. The original Tabs components are still available under their old names but are deprecated and will be replaced in v2.0.
    • Only two components (Tabs2 and Tab2) are needed, rather than the previous four.
    • Selection is managed by ID, rather than by index. This is more reliable and deterministic and does not require translating between numbers and tab names. It does, however, require that every Tab2 have a locally unique id prop (which also resolves SSR issues #384).
    • Arbitrary elements are supported in the tab list, and order is respected. Yes, you can even insert things between tabs.
    • CSS API remains exactly the same.
  • 🌟 Fixed insidious cursor/selection rendering bug with multiple Popovers in Firefox #406
  • Fixed NumericInput & Button React prop warnings #736 #753
  • Fixed Tree error when removing nodes #741
  • Improved dark link color for more contrast #764
  • πŸ“  Deprecated Tabs component in favor of Tabs2 #767
    • a console warning will appear during development (not in production)

@blueprintjs/datetime 1.9.0

  • 🌟 NEW DateRangeInput component
    release-daterangeinput
    • A .pt-control-group of two InputGroups that shows a DateRangePicker on focus.
    • Supports selecting dates by typing in the input fields, clicking dates in the calendar, or clicking shortcuts in the popover.
    • Previews the date range in the calendar and in the input fields as you move your cursor within the calendar.
    • Supports controlled and uncontrolled usage.
  • Fixed DatePicker selected day is always blue #740
  • Fixed DatePicker outside days appearance #740

@blueprintjs/table 1.8.0

  • 🌟 Fixed JSONFormat detectTruncation properly detects truncation #760
    image
  • Fixed Column component respects className prop #690
  • Fixed TruncatedFormated Popover scrollbars only appear when needed #720
  • Fixed react-hot-loader support by console.warning instead of throwing errors #723

Documentation

v1.10.0

24 Feb 23:30
Compare
Choose a tag to compare

πŸŽ† Highlights: new NumericInput props, .pt-tag mixins support custom colors, non-contiguous DateRangePicker months.

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

General

  • πŸ–Œ Updated Sketch Kit: removed missing font references, added Callouts. #728

@blueprintjs/core 1.10.0

  • 🌟 NEW NumericInput props:
    • allowNumericCharactersOnly (default true) restricts the allowed characters. #618, #676
    • selectAllOnFocus selects all text when the input is focused #705
    • selectAllOnIncrement selects all text when the input is incremented #705
      f69dca2e-f52b-11e6-9bd3-6a42f085598b
  • NEW Tree getNodeContentElement instance method to access the underlying HTMLElement of tree nodes. Useful for implementing scrolling (#644). #679
  • NEW Button active prop sets .pt-active class (:tophat: @DrewDennison) #712
  • NEW .pt-file-upload supports :disabled attribute #689
  • Fixed EditableText fires onChange on escape when value is unconfirmed #687
  • Fixed InputGroup action default color in dark theme #709
  • Fixed NonIdealState vertical centering by adding height: 100% #651
  • Fixed NumericInput cursor placement on FF #703 and focus-hoarding on IE11 #704
  • Fixed Bourbon 4.3 deprecation warnings #674
  • Fixed minimal button uses the same styles for :focus and :hover #708
  • Fixed removed unnecessary font-family declarations on inputs #707
  • 🌟 Improved .pt-tag Sass mixins to support custom colors #606
    • ⚠️ this feature breaks the previous Sass mixin APIs for tags (see #668), but you probably weren't using those. now they're safe for public consumption. 🍺
  • Improved button styles no longer use @extend for pseudoclasses #654
  • Improved colored icons now use the same color as intent text #698
  • Improved intent text color contrast in dark theme #657
  • Improved some new Classes constants: ICON and TEXT_OVERFLOW_ELLIPSIS #691

@blueprintjs/datetime 1.8.0

  • 🌟 NEW DateRangePicker contiguousCalendarMonths prop (default true). Disabling this prop allows the left and right calendars to move independently. #432 #575
    drp

@blueprintjs/table 1.7.0

  • NEW Classes constants file (just like core) #438

v1.9.0

13 Feb 16:39
Compare
Choose a tag to compare

πŸŽ† Highlights: .pt-form-group with helper text, sensible EditableText events, smarter Table truncation popovers

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

General

  • πŸ”¨ Changed major refactors to Gulp build code should demystify the magic while retaining all the power and flexibility #617 #649

@blueprintjs/core 1.9.0

  • 🌟 NEW .pt-form-group CSS component is an advanced label that supports helper text below the input #594 #413

    release-form-group
  • NEW Add Tree onNodeContextMenu callback prop to support context menus per node #637
  • NEW Support for .pt-fill in control groups #633
  • NEW two UI icons: pt-icon-followers and pt-icon-following #665

    release-follower-following
  • 🌟 Changed EditableText event handling #629 #573 #483
    • onChange is called only when the input's value changes
    • onConfirm is called on enter or blur; onCancel is called on esc
  • Changed snappier tooltip animations #640

    release-tooltip-speed
  • Fixed NumericInput dark theme bugs #632
  • Fixed optimize Popover arrow rendering (🎩 @bogdanpetru) #650
  • Fixed style precedence of :disabled and [readonly] controls #652
  • Fixed NumericInput no longer selects all text when props change #658
  • Fixed Utils.safeInvoke supports strictNullChecks #666

@blueprintjs/table 1.6.0

  • 🌟 NEW TruncatedFormat detectTruncation prop (enabled by default) only shows popover when text exceeds length #634

Documentation

  • Fixed Table docs overflow on Firefox (🎩 @bogdanpetru) #598
  • Fixed Restore props default values #642
  • Updated Clean up wording inside props tables #639

v1.8.0

03 Feb 23:22
Compare
Choose a tag to compare

πŸŽ† Highlights: browser-ready bundles in NPM distribution (+unpkg), new NumericInput component, Menu is gray + "active" support, cmd+c copy table cells!

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

General

  • 🌟 NEW each package now includes a dist/<name>.bundle.js file which is a UMD bundle of all the javascript #588
    • this will allow us to support consumption from Unpkg CDN, which is useful for environments like JSFiddle
  • NEW test suite for NPM main files, ensures #566 won't happen again
  • NEW isomorphic test suite ensures basic component support for server-side rendering (:tophat: @codebling) #370, #595
  • Changed sweet refactors to the gulp build code make it friendlier #589
  • Updated wiki pages and CONTRIBUTING.md #5

@blueprintjs/core 1.8.0

  • 🌟 NEW NumericInput component (see docs)! #189
    Supports normal, major (hold shift), and minor (hold alt) steps. Step sizes default to 1, 10, 0.1 respectively.
    image
  • NEW EditableText maxLength prop #557
  • NEW @ContextMenuTarget decorator supports onContextMenuClose method (:tophat: @Binck360) #591
  • NEW Toast action can be a link (using AnchorButton internally) #611
  • 🌟 Changed Menu hover colors to gray; blue "selected" state can be applied with .pt-active.pt-intent-primary #389 #565
    menu colors
  • Fixed EditableText only adds buffer spacing on IE and Edge #482
  • Fixed Button correctly calls onKeyDown and onKeyUp props #561
  • Fixed Button type prop now appears in the documentation #571
  • Fixed loading Button now hides children as well as text #572
  • Fixed z-index stack for button groups and control groups ensures perfect shadows every time! #592

@blueprintjs/datetime 1.7.0

  • no code changes, merely the addition of dist/datetime.bundle.js

@blueprintjs/table 1.5.0

  • 🌟 NEW copy table cells with cmd+c / ctrl+c (welcome to the team @gscshoyru!) #542
    • you must implement the new getCellClipboardData(row, col) callback prop on Table to enable this functionalityβ€”it does not come for free πŸ’Έ
  • Fixed ghost cells appearance in empty table #603
  • Updated dependency on @blueprintjs/core to ^1.8.0 for latest features

Documentation

  • Fixed landing page tagline centering on IE #584

Table v1.4.1

30 Jan 21:36
Compare
Choose a tag to compare

@blueprintjs/table 1.4.1

  • Fixed misplaced main files so the package can be imported correctly #566