- 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
getInitialValuesand related functionality inOmniSearchBar. - (BREAKING) Removed legacy value from OmniSearch search values.
- (BREAKING) Deprecated ExportTableButton.
- (BREAKING) Deprecated Alert. Use Alert from
@material-ui/labinstead. - (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 inCommonDialogs. - Add support for date-fns library for Date/Time pickers.
- Add PDFViewer Component.
AvatarIconnow acceptschildren.
- Make LargeSimpleTable sortable.
- Add
autosizeHeightprop toLargeSimpleTable. - Add optional
subheaderprop to SignInPage.
- Add
hasColumnVisibilityChooserprop toSimpleTableandPagedTablewhich, if enabled, allows user to select which columns should be shown/hidden.
- Support
isVisibleparameter 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
ExportButtonto take a className. - Fix
ExternalLinkButtonstyling not to highlight like a link - Fix
CommonPageV2where secondary actions were not rendering in disabled state. - Add optional
hrefprop 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
TextInputV2component.
- Change
totalCountprop 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
variantforCommonSelect/CommonMultiSelect. - Allow styling of
DateInput/TimeInputto be more customizable. - Support
marginforCommonSelect/CommonMultiSelect. - Add
isWideprop toLargeSimpleTable, which allows columns to scroll horizontally rather than squeezing all columns into the viewable area. - Add
isIconButtontoLinkButton. - Add
isLoadingtoTimelineCard. - Fix major bug with the aforementioned
isLoadingprop that broke all existingTimelineCards. - Add
ExternalDomainstype as Map or Object type. - Make
NavbarandSidebarsexternalDomainsoptional, defaulting to dev mode Object. - Add
actionstoCommonSuggest. - Add accessibility text to logos. Include terms of service for GRAIL logo.
- Change
noOptionsMessageforCommonMultiSelectwhen a user attempts to create a duplicate value. - Add
sortAccessortoPagedTableColumnwhich takes precedence overaccessorto get passed toonSort. - Columns on
PagedTables that are not sortable no longer are clickable. - Add
CommonDropdownMenucomponent. - Upgrade packages.
- Add
isLoadingtoCommonPage, and Loading Spinner when true. - Moved
GrailLogoandbackgroundImage(used forSignInPage) to new package@grail/common-private. When upgrading, you will need to specifylogoandbackgroundImagetoNavBarandSignInPageas appropriate. - Send
{ isUserSearchAction: true }when a user changes a value inOmniSearchBar. - Add static footer to
PagedTablefor 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
isLoadingtoCommonSelectandCommonMultiSelect, 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
TextInputV2component. - Add
resultCountparameter totableOptionsprop 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
isFullBleedtoPagedTableto allow for non-card based paged table that expands to 100% of the height of the parent element. - Add
hasTableMargintoPagedTableto enable/disable table margin. - Add
DateValue,DateTimeValue, andHumanizedDateTime. - Standardize CommonPage-based components subtitle size.
CommonPagenow takeschildren, allowing shared components to be held or displayed across pages.CommonTabbedPagetabs now take atabClassesprop to specify classes for each individual tab.CommonTabbedPagenow hasSpinnerOverlaybuilt-in. IfisLoadingis provided and true, the overlay will be displayed over the page content.CommonTypeaheadremoved from dev components.- Add
SelectionGrid. CollapsableListis now identified as a specific component of NavBar.NavBarsidebar does not support placeholders anymore.- Update
CommonDialogandCommonMultiPageDialogto usebodyscrolling by default, and correct style to match latest Material UI. Delete unneededenableOverflow. - Update CSS of
TwoColumnGridso that padding doesn't obscure clickable areas. - Add
rowHeightprop toLargeSimpleTable. Row height for the table rows default to 50px.rowHeightcan either be a number or function. - Set default row width for
LargeSimpleTableto 100px. This change allows a more comprehensive snapshot testing of the rendered table. - Update
CommonTabbedPageclasses and tab styling. - Update
breakpoints.scssto use material-ui breakpoint values. Previously they were using bootstrap ones. - Introduce new
NavbarV2, a slimmer version of the original Navbar. TagNavbaras a soon-to-be-deprecated component. - Convert
OmniDropdowntoOmniDialogto correctly handle scroll. - Add
LinkButtoncomponent and use it inCommonPage. As part of this, addreact-router-domas a peer dependency. - Add
shadeOnHoverprop toSimpleTableandPagedTable(works only whenonHighlightRowis 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.scssstyles for bold purple links, etc. - Update
primarycolors for Material components, and default plain button color. - Increase button weight.
- Replaces
ExportTableButtonwithExportButtonwhich has a slightly different signature and shows a modal to give user options (e.g. CSV/TSV) before downloading. MarkExportTableButtonas deprecated (although in the meantime it just wrapsExportButton). - Update
PagedTableto use newExportButton. - Rename
PagedTableprop fromincludeExportAsCsvButtontoincludeExportButton. - Add
fetchBulkExportRowsprop to PagedTable to specify bulk data to be exported when using the Export button. - Support input labels for
CommonSelect/CommonMultiSelect. - Increase
padding-leftfor the first column of full-bleed tables. - Update buggy CSS media query for
CommonDialogand get rid of unused size CSS classes. - Add header option to
TwoColumnGrid.
TabbedTimelineCardtabs 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
LargeSimpleTableto render lots (100-millions) of rows of tabular data, performantly. Similar signature toSimpleTable. - Make very minor adjustment to padding of
SimpleTablecheckboxes. - Ensure that
CommonSelectlogs exceptions inloadOptionscallback. - Add
Clearbutton toCommonSuggestand remove button padding. - Add max-height and overflow to
CommonSuggestpopdown. - Move value suggest logic to common lib.
- Deprecate
Selectorcomponent. - Add Export to CSV button in
PagedTable. Can be disabled by passing includeExportAsCsvButton={false}. - Add
ExportTableButtonwhich exports a CSV containing any generic data that is passed into it. - Add
UploadButtoncomponent 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
Sidebarto collapse all content. This allows tests to consistently control the sidebar state. - Dialog buttons are now
variant="text"when disabled. - Added more options for
PagedTablepagination numbers. - Add ability to use custom
Components inCommonPageheaderactions. - Add
TabbedTimelineCard. - Add
isClearabletoCommonSelect - 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
CommonTimelineGraphtoTimelineGraph. - 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
OmniChipcomponent, and communication mechanism forOmniSearchBar. - No longer open omni dropdown on focus or click.
OmniSearchBarlocalStorage now includesomni-prefix.- If omni search values don't change, don't trigger a search request.
- Add
CommonPagewhich provides a skeleton for a page with a title, subtitle, and optional side menu (with links to anchors on the page). - Add
CommonTabbedPagewhich extendsCommonPageto allow for tabs. - Add classes object to
Alertcomponent 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
PagedTableandCommonTable: scroll only the table body and limit the max-height - Allow for highlighting of table rows in PagedTable and SimpleTable
- Add chips to
PagedTableheader to indicate searched fields - Adjust
PagedTableandSimpleTableto make scrolling more obvious. - Allow custom date formats for
DateInputandDateTimeInput - 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
CommonTimelineGraphandTimelineCardcomponents, 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
CommonPanelandTwoColumnGrid - Make
CommonDialogscrollable
CommonTypeahead will soon be deprecated for CommonSelect. CommonSelect supports all of the same features
as CommonTypeahead.
- Added
AvatarIcon. - Added
TabbedCard. - Refactor
CommonTypeaheadto be entirely controlled. TwoColumnGridrows objects now take other key-values.- Pass
...otherPropsto 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
classesprop toCommonCardandCommonDialog. - Add error handling to
Selector. - Refactor
CommonTypeahead(src/dev). - Add
MultiPageDialog. - Add
CommonSwitch. - Fix
DateInputandDateTimeInputbugs. - Fix
Navbarlogo.
- Use @babel/plugin-transform-runtime.
- Renamed package to @grail/components.
1.Initial release!