- Handle string values properly in date components.
- Support nested routes in tabbed pages.
- (BREAKING) Replace internal implementation of CommonSelect, CommonMultiSelect and CommonSuggest with Autocomplete. Upgrade dependency @material-ui/core >= 4.6.0.
- (BREAKING) wrapPickerUtilProvider calls must pass in a @date-io/moment or @date-io/date-fns utils.
- (BREAKING) Deprecate
getInitialValues
and related functionality inOmniSearchBar
. - (BREAKING) Removed legacy value from OmniSearch search values.
- (BREAKING) Deprecated ExportTableButton.
- (BREAKING) Deprecated Alert. Use Alert from
@material-ui/lab
instead. - (BREAKING) Removed deprecated className prop from CommonCard.
- (BREAKING) Remove deprecated Navbar and renamed NavbarV2 to Navbar.
- (BREAKING) Rename CommonPageV2 to SlimPage. Rename CommonTabbedPageV2 to SlimTabbedPage.
- (BREAKING) TextInputV2 default variant is reverted to material-ui default "standard". "filled" variants must be defined explicitly.
- (BREAKING) TextInput is deprecated. TextInputV2 renamed to TextInput. readyOnly prop for original TextInput now renders the Material-UI TextField in readOnly mode, as opposed to ReadOnlyTextField.
- Simple / Paged tables can force headers to inline as opposed to wrap text.
- Simple / Paged tables have standardized header height.
- Standardize table header height.
- Fix selection logic to uncheck all checkboxes when checkbox header is indeterminate.
- Tables now support
adjustToSelectableTable
, which will align non-selectable table's first row to where it would be if there were a checkbox column to its left. - Add pollyfill to TabbedPageV2 for ResizeObserver.
- Deprecate TextInput. Rename TextInputV2 to TextInput.
- Fix margins on
ExportButton
,NotificationCard
, and the "back" button inCommonDialog
s. - Add support for date-fns library for Date/Time pickers.
- Add PDFViewer Component.
AvatarIcon
now acceptschildren
.
- Make LargeSimpleTable sortable.
- Add
autosizeHeight
prop toLargeSimpleTable
. - Add optional
subheader
prop to SignInPage.
- Add
hasColumnVisibilityChooser
prop toSimpleTable
andPagedTable
which, if enabled, allows user to select which columns should be shown/hidden.
- Support
isVisible
parameter on page configs inCommonTabbedPageV2
.
- Allow rows to be inverted in
SelectionGrid
. - Add ability to disable tabs on
CommonTabbedPageV2
. - Fix bug where observer call exceeding limit in
CommonTabbedPageV2
. - Fix
ExportButton
to take a className. - Fix
ExternalLinkButton
styling not to highlight like a link - Fix
CommonPageV2
where secondary actions were not rendering in disabled state. - Add optional
href
prop to actions inCommonDropdownMenu
. - Make title larger in
CommonPageV2
.
- Update /dist folder to fix import errors.
- Fix bug to pass down onFocus and onBlur props in
TextInputV2
component.
- Change
totalCount
prop name toresultCount
. - Fix bug related to table pagination. For example when showing element 61 to 70 and user changes count per row to 25 per page, we now will show elements 51 to 75.
- Add back old date picker for backward compatibility.
- Support
variant
forCommonSelect
/CommonMultiSelect
. - Allow styling of
DateInput
/TimeInput
to be more customizable. - Support
margin
forCommonSelect
/CommonMultiSelect
. - Add
isWide
prop toLargeSimpleTable
, which allows columns to scroll horizontally rather than squeezing all columns into the viewable area. - Add
isIconButton
toLinkButton
. - Add
isLoading
toTimelineCard
. - Fix major bug with the aforementioned
isLoading
prop that broke all existingTimelineCard
s. - Add
ExternalDomains
type as Map or Object type. - Make
Navbar
andSidebar
sexternalDomains
optional, defaulting to dev mode Object. - Add
actions
toCommonSuggest
. - Add accessibility text to logos. Include terms of service for GRAIL logo.
- Change
noOptionsMessage
forCommonMultiSelect
when a user attempts to create a duplicate value. - Add
sortAccessor
toPagedTableColumn
which takes precedence overaccessor
to get passed toonSort
. - Columns on
PagedTable
s that are not sortable no longer are clickable. - Add
CommonDropdownMenu
component. - Upgrade packages.
- Add
isLoading
toCommonPage
, and Loading Spinner when true. - Moved
GrailLogo
andbackgroundImage
(used forSignInPage
) to new package@grail/common-private
. When upgrading, you will need to specifylogo
andbackgroundImage
toNavBar
andSignInPage
as appropriate. - Send
{ isUserSearchAction: true }
when a user changes a value inOmniSearchBar
. - Add static footer to
PagedTable
for non-paginated tables, showing number of records. - Add secondary actions button to
CommonCard
. - Add some flexibility to
CommonDropdownMenu
, namely the ability to define anchor and transform origins and styling parameters. - Add
isLoading
toCommonSelect
andCommonMultiSelect
, which adds an indefinite loading bar beneath the select when true. - Remove default sidebar content and external domains. Should specify explicit content, such as from
@grail/common-private
. - Add
TextInputV2
component. - Add
resultCount
parameter totableOptions
prop forPagedTable
. This allows the display of the total number of results in table if it is known. - Rename package to
@grailbio/components
, publish to github and npm.
- Bug fixes and improved unit tests.
- Update react peer dependency to 16.8 for hooks usage.
- Update to Material-UI and Material-UI date-picker to 4.0.0
- Fix sidebar to grow and shrink using flex-grow/shrink.
- Add
isFullBleed
toPagedTable
to allow for non-card based paged table that expands to 100% of the height of the parent element. - Add
hasTableMargin
toPagedTable
to enable/disable table margin. - Add
DateValue
,DateTimeValue
, andHumanizedDateTime
. - Standardize CommonPage-based components subtitle size.
CommonPage
now takeschildren
, allowing shared components to be held or displayed across pages.CommonTabbedPage
tabs now take atabClasses
prop to specify classes for each individual tab.CommonTabbedPage
now hasSpinnerOverlay
built-in. IfisLoading
is provided and true, the overlay will be displayed over the page content.CommonTypeahead
removed from dev components.- Add
SelectionGrid
. CollapsableList
is now identified as a specific component of NavBar.NavBar
sidebar does not support placeholders anymore.- Update
CommonDialog
andCommonMultiPageDialog
to usebody
scrolling by default, and correct style to match latest Material UI. Delete unneededenableOverflow
. - Update CSS of
TwoColumnGrid
so that padding doesn't obscure clickable areas. - Add
rowHeight
prop toLargeSimpleTable
. Row height for the table rows default to 50px.rowHeight
can either be a number or function. - Set default row width for
LargeSimpleTable
to 100px. This change allows a more comprehensive snapshot testing of the rendered table. - Update
CommonTabbedPage
classes and tab styling. - Update
breakpoints.scss
to use material-ui breakpoint values. Previously they were using bootstrap ones. - Introduce new
NavbarV2
, a slimmer version of the original Navbar. TagNavbar
as a soon-to-be-deprecated component. - Convert
OmniDropdown
toOmniDialog
to correctly handle scroll. - Add
LinkButton
component and use it inCommonPage
. As part of this, addreact-router-dom
as a peer dependency. - Add
shadeOnHover
prop toSimpleTable
andPagedTable
(works only whenonHighlightRow
is defined). Enables rows to be highlighted when hovered over. - Introduce CommonPageV2 and CommonTabbedPageV2 which are slimmer versions of the original CommonPage and CommonTabbedPage.
- Add
common.scss
styles for bold purple links, etc. - Update
primary
colors for Material components, and default plain button color. - Increase button weight.
- Replaces
ExportTableButton
withExportButton
which has a slightly different signature and shows a modal to give user options (e.g. CSV/TSV) before downloading. MarkExportTableButton
as deprecated (although in the meantime it just wrapsExportButton
). - Update
PagedTable
to use newExportButton
. - Rename
PagedTable
prop fromincludeExportAsCsvButton
toincludeExportButton
. - Add
fetchBulkExportRows
prop to PagedTable to specify bulk data to be exported when using the Export button. - Support input labels for
CommonSelect
/CommonMultiSelect
. - Increase
padding-left
for the first column of full-bleed tables. - Update buggy CSS media query for
CommonDialog
and get rid of unused size CSS classes. - Add header option to
TwoColumnGrid
.
TabbedTimelineCard
tabs are now fixed at the top of the card.- Fix timeline card styling to properly handle custom heights.
- Timelines now support displaying the day of the week (Mon Tue Wed)
- TabbedTimelineCard now takes objects for each key which specify content, isTimeVisible, and isDayVisible
- Refactor to use new Api search types like
SearchOptionsV2
. See D24185 - Add
LargeSimpleTable
to render lots (100-millions) of rows of tabular data, performantly. Similar signature toSimpleTable
. - Make very minor adjustment to padding of
SimpleTable
checkboxes. - Ensure that
CommonSelect
logs exceptions inloadOptions
callback. - Add
Clear
button toCommonSuggest
and remove button padding. - Add max-height and overflow to
CommonSuggest
popdown. - Move value suggest logic to common lib.
- Deprecate
Selector
component. - Add Export to CSV button in
PagedTable
. Can be disabled by passing includeExportAsCsvButton={false}. - Add
ExportTableButton
which exports a CSV containing any generic data that is passed into it. - Add
UploadButton
component to handle file uploads through a Button component. - Add file utils to extract content from uploaded files.
- Un-export components that are used internally for testing (e.g. ExampleBlock, TestWrapper, ExampleWrapper).
- Add a hidden element to
Sidebar
to collapse all content. This allows tests to consistently control the sidebar state. - Dialog buttons are now
variant="text"
when disabled. - Added more options for
PagedTable
pagination numbers. - Add ability to use custom
Component
s inCommonPage
headeractions. - Add
TabbedTimelineCard
. - Add
isClearable
toCommonSelect
- Allow the user to choose falsey values for
CommonSelect
. - Cleanup Flow types.
- Include flow definitions in build.
- Bug fixes.
- Test updates.
- Styleguidist updates.
- When rendering an omnibar on page that has been searched before, restore the last used search values. See T14858
- Deprecate old TimelineGraph component.
- Rename
CommonTimelineGraph
toTimelineGraph
. - Fix TimelineGraph bug where width of content did not match the width of the card, displaying the username in different places along the timeline graph.
- Add
OmniChip
component, and communication mechanism forOmniSearchBar
. - No longer open omni dropdown on focus or click.
OmniSearchBar
localStorage now includesomni-
prefix.- If omni search values don't change, don't trigger a search request.
- Add
CommonPage
which provides a skeleton for a page with a title, subtitle, and optional side menu (with links to anchors on the page). - Add
CommonTabbedPage
which extendsCommonPage
to allow for tabs. - Add classes object to
Alert
component to allow more custom styling. - For
CommonDialog
, changed color of "Close" button to "primary" - Add
CommonSuggest
, development implementation of a free form text input with suggestions. (Dev) - Add read-only functionality to
CommonSelect
.
- Bug Fixes
- Improve testing
- Update
PagedTable
andCommonTable
: scroll only the table body and limit the max-height - Allow for highlighting of table rows in PagedTable and SimpleTable
- Add chips to
PagedTable
header to indicate searched fields - Adjust
PagedTable
andSimpleTable
to make scrolling more obvious. - Allow custom date formats for
DateInput
andDateTimeInput
- Convert Omni-bar field to act more like Omni search.
The first search field will act as global search (only if its type is
OMNI_TEXT_SEARCH_TYPE
). This maintains backward compatibility. Ideally, we can require an omni field definition. - Create New
CommonTimelineGraph
andTimelineCard
components, which uses Material-UI components rather than SVGs, allowing for more customization. - Add classes object to some components that didn't have it before, such as
CommonPanel
andTwoColumnGrid
- Make
CommonDialog
scrollable
CommonTypeahead
will soon be deprecated for CommonSelect
. CommonSelect
supports all of the same features
as CommonTypeahead
.
- Added
AvatarIcon
. - Added
TabbedCard
. - Refactor
CommonTypeahead
to be entirely controlled. TwoColumnGrid
rows objects now take other key-values.- Pass
...otherProps
to common components. - Support multi-select for async select type.
- Support multi-select for creatable select type.
- Support custom content for suggestion items (
formatOption
). - Support loading initial values into async select type.
- Add option to disable selectAll in CommonTable.
- Fix pipeline navigation links.
- Standardized onChange behavior for CommonTypeahead.
- Upgraded CommonTypeahead to use react-select 2.0.
- Revamped asyc CommonTypeahead API.
- Pinned DatePicker to use material-ui-pickers 1.0.0-rc.11 due to babel issue.
- Added notification center.
- Add number of selected items to table header.
- Add
classes
prop toCommonCard
andCommonDialog
. - Add error handling to
Selector
. - Refactor
CommonTypeahead
(src/dev). - Add
MultiPageDialog
. - Add
CommonSwitch
. - Fix
DateInput
andDateTimeInput
bugs. - Fix
Navbar
logo.
- Use @babel/plugin-transform-runtime.
- Renamed package to @grail/components.
1.Initial release!