Releases: looker-open-source/components
Releases · looker-open-source/components
0.9.24
@looker/components
Added
ExtendComponentsProvider
useDataTable
hook for simpleDataTable
rendering (used for testing)
Fixed
Avatar
will consistently maintain it's 1:1 aspect ratio within flex layoutsCodeBlock
should now usesoverflow-y: auto
instead ofoverflow-y: scroll
DataTable
with number columns now properly aligns the cell contentDataTableCell
truncatesdescription
appropriately nowDataTableCell
with a link is presented properly when it gains focus via keyboardDataTableColumn
width
again supportsnumber
for percentage-based column widthsDataTableHeaderCell
properly aligns sort direction icon when columnsize
is specifiedDataTableItem
supports a single columnDialogContent
now will only enter "overflow" state exactly once per render lifecycleDialogFooterLayout
is no longer exported
0.9.23
General (tooling and infrastructure)
Added
- Refine Storybook config to support build-modes
- enables faster image-snapshot generation and better development performance.
- specify mode via shell export:
export storybookBuildMode=develop
fast
- disables Typescript extraction and all addonsdevelop
- disables "Docs" addonpublish
- enables Typescript extraction and fulladdon-essentials
support
@looker/components
Added
DataTable
(the component formerly known asActionList
)- Columns now support
size
- If
small
,medium
orlarge
is specified the content will be truncated to fit - If
nowrap
column will not wrap white-space and will grow fit content width
- If
- Responsive support - if table exceeds viewport width it will scroll sideways
firstColumnStuck
developer can specify if the first column should "stick" to the viewport edge when scrolling- NOTE: Column for checkbox selection and actions column are always stuck to their respective edges
- Column selection - the user can select which columns are displayed (if any columns have
hide
specified in their configuration) - Supports
state="loading|noResults"
andnoResultsDisplay
- Columns now support
autoFocus
prop will now work for inputs inPopover
andDialog
Dialog
&Drawer
now support semantic sizes (xxsmall - xlarge
)Dialog
now supportsplacement
-center
(default),top
&cover
Drawer
now supportsplacement
-left
&right
(default)Select
,SelectMulti
,InputTimeSelect
, andInputSearch
now supportautoFocus
Changed
ActionList
was renamed toDataTable
- Now uses a
table
element instead of previous grid layout (IE11 compatible) - Vertical cadence of
ActionList
reduced to a minimum of36px
- Now uses a
Popover
,Menu
, andSelect
no longer cancel the first click outside by default (usecancelClickOutside
to override this)DialogContent
no longer haspy
unless it overflows the available space (acting asoverflow: scroll
)- Padding in
Button
's has been updated to have better visual balance when icons are used
Fixed
FieldCheckboxGroup
now setsborder-color
of child checkboxes to "critical" when validationMessage.type is equal to 'error'InlineInputText
now supportsdisabled
andreadOnly
propsInlineTextArea
now supportsdisabled
andreadOnly
propsInputColor
no longer allows user to click swatch whenreadOnly
is assignedMenuItems
within the sameMenuList
align consistently when icons are usedPage
fix size to use%
instead ofvh/vw
Popover
flashing in the upper left corner of the screen on slow pagesSelect
on a mobile device or with "tap to click" on a touch pad reopens immediately after clicking on an optionSelect
options not being announced in a screen reader on keyboard navigationSelect
that is controlled no longer loses focus if there's delay betweenonChange
andvalue
updateSelect
alignment of options when some have icons and others do notSelect
inappropriately shows "No options" when the current value is empty, after filtering a long list down to a single option then deleting the filter textSelect
remounts its options when the options prop changes, using a shallow comparison. This causes select via click to fail if the options prop "changes" (same values, new array instance) after a mousedown, e.g. if a parent component containsusePopover
.
Removed
ActionListManager
was removed (DataTable
now supportsstate=loading|noResults
)ActionList
(now known asDataTable
) no longer supportsheader
prop (header is always generated by component now)column
no longer supportswidth
(see newsize
behavior)
Dialog
no longer supportsmaxWidth
(it's now always100%
- usewidth
)Drawer
no longer supportsheight
(useminHeight
)Dialog
no longer supportssurfaceStyles
(use built-in props instead)DialogManager
is no longer available (Dialog
is completely compatible with previous interface)groupedPopoversRef
andgroupedMenusRef
(Popover
andMenu
no longer cancel the first click outside)
0.9.22
0.9.21
@looker/components
Changed
InputFilters
- Default editor uses
RadioGroup
(single choice) andCheckboxGroup
(multiple choice) - Developers can specify a custom editor that via
fieldFilter.editor
property (must match interface forInputFilterEditorRenderProp
)
- Default editor uses
Fixed
InputFilters
- improved styling when
Chips
wrap to additional lines Popover
no longer moves whenChip
is initially displayed
- improved styling when
Select
inside aDialog
losing focus after clicking an optionTooltip
adding extra space to its child'sclassName
0.9.20
@looker/components
Added
IconButton
supportstoggle
prop (useskey
color when toggled andaria-pressed
)Tooltip
anduseTooltip
now include a brief delay before showingdelay
prop controls the length- Improved test coverage / added image-snapshots
Tree
branchAlign
prop allows item be indented at the same depth as adjacentTreeItem
(s)Tree
now supportsdividers
to produce a small visual space between eachTreeItem
displayed in the list so that adjacent items in a "selected" or active state have visual separation.
Changed
ButtonItem
used insideButtonToggle
andButtonGroup
now usesfonts.body
Dialog
,Drawer
andPopover
no longer focus the first "tab-able" child. Instead they now focus the surface of the overlay itself.InputFilter
to support multiline filter tokensuseDialog
(Dialog
&Drawer
) refactored- Removed use of
react-transition-group
dependency - Added support for
aria-busy
- Simplified implementation of
DialogRender
component
- Removed use of
Swatch
no longer turns gray when disabled, but has a reduced opacity instead- Removed dependencies on
polished
library
Fixed
InputTimeSelect
can accept a time that is not included in the select dropdown optionsFieldInline
refactored to use MS-compatible grid (IE11 compatibility)FieldCheckbox
FieldRadio
FieldToggleSwitch
MenuItem
now receives and uses passed-in rel prop- Also auto appends "noopener noreferrer" to rel if target="_blank"
Popover
&usePopover
refactored internally to be consistent withDialog
refactor patterns- IMPORTANT NOTE: Popover will no longer apply
active
className to target. Instead it now applies[aria-expanded='true']
instead.Button*
has been updated to match this change but implementations that depend on the previous behavior will need to be updated.
- IMPORTANT NOTE: Popover will no longer apply
Select
/SelectMulti
/InputTimeSelect
click to select option in IE11
Removed
Drawer
no longer supportsbackdrop
prop for customizing backdrop presentationIconButton
support forcolor
(neutral
for all now)ToggleSwitch
no longer supportssize
(now always consistent withCheckbox
&Radio
)
@looker/design-tokens
Changed
theme.transitions
durations are now integers (in milliseconds) rather than strings- Reduced & consolidated dependencies on
polished
library
@looker/icons
Added
ScheduleOutline
0.9.19
Changed
InputDateRange
allows you to specify a single day range by clicking on one of the date range endpoints
Fixed
Truncate
no longer conflicts withText/truncate
helper (moved to separate directory)FieldTimeSelect
label ARIA accessibility fixesComboBox
and constituents caret color corrected, indicator size corrected
0.9.18
Added
TreeGroup
supportstruncate
andlabelColor
props
Changed
IconButton
w/size="small"
icon size adjusted tosmall
(wasxsmall
)useDialog
needs to support scenario it is controlled butonClose
isn't specified
Fixed
Space
revert mistakenly appliedflex-shrink: 0
- Reverts:
HoverDisclosure
toggles visibility with css rather than inserting elements into the DOM - Fix
image-snapshots
issue
0.9.17
Added
Combobox
andComboboxMulti
openOnClick
propComboboxInput
now supportsfreeInput
propMenuItem
&MenuGroup
now uselist-item-style
to suppress bullet for list item when rendered outside ofMenuList
context.Select
,SelectMulti
andInputSearch
now supportisLoading
anddetail
prop on optionsSpan
- same asText
without the annoyingfontSize="medium"
(inherits by default instead)Truncate
componentuseDialog
- all of the power ofDialog
in a hook!- Visual Snapshot test for
MenuItem
,MenuGroup
,Status
Changed
Code
,CodeBlock
&Paragraph
now explicitly usetheme.colors.text
as default colorDialog
Backdrop
is now dark (Material-esque)- now supports all previous
DialogManager
composition capabilities - can be used in either an "uncontrolled" or "controlled" manner
- temporarily supports optional
content
prop until existing call sites can be updated.content
will become required in next significant release.
DialogManager
is deprecated and all existing use cases should be replaced withDialog
- All internal use of
DialogManager
replaced withDialog
- All internal use of
Drawer
is nearly a direct pass-through toDialog
viauseDrawer
andDialogRender
useDrawer
is nearly a direct pass-through touseDrawer
with the key exception beingSurface
override
HoverDisclosure
toggles visibility with css rather than inserting elements into the DOMInputSearch
onChange
callback argument is now a string rather than an eventInputTimeSelect
supports 20- and 60-minute intervalsLegend
now applies font-familybrand
MenuGroupLabel
now applies font-familybrand
Span
replaced all library-internal usage ofText
withSpan
TreeItem
- now supports text truncation behavior
- now wraps long text pleasantly
- now defaults to
24px
minimum height (was previously25px
) - detail no longer has padding on the right side
Tooltip
now has a defaultmaxWidth
of30rem
(this can be overridden)- Brand font defaults to Roboto
- Adjusted icons sizes in
IconButtons
,Button
,MenuItems
,TextField
to ensure consistent sizing across components
Fixed
ComboboxMulti
issue with chips not updating reflecting updated option labelsDialogFooter
&DialogHeader
will no longer shrink in Safari when vertical space is limitedInputTimeSelect
disabled stateMessageBar
now displays properly in IE11 (switched from grid to flex layout)
Removed
InputSearch
onClear
– useonChange
with a check for empty value insteadInputSearch
andInputChips
hideControls
– useisClearable={false}
instead
Preview / Experimental
- Experimental:
InputSearch
supportsonSelectOption
,changeOnSelect
,clearOnClose
and allSelect
props exceptisFilterable
,onFilter
,showCreate
andformatCreateLabel
0.9.16
Added
-
Drawer
component- Note: This is a new implementation of the previously deprecated
Drawer
and features a more modern API.DrawerManager
behaviors are now baked in toDrawer
- Includes
useDrawer
hook
- Note: This is a new implementation of the previously deprecated
-
TabList
now supportsPaddingProps
andfontSize
-
TabList
w/distribute
now uses default "small"fontSize
-
Image snapshots tests
- Infrastructure to run image snapshot tests leveraging Storybook
storyshots
+jest-image-snapshots
- Image snapshot coverage for
Button*
,IconButton
&Tree
components
- Infrastructure to run image snapshot tests leveraging Storybook
-
Storybook: Preliminary infrastructure for composition
-
Storybook: Added support for extract behavior to improve published-Storybook performance
Changed
ComponentsProvider
now includesScrollLockContext
to manage all scroll locks forDialog
andPopover
- Where previously
DialogContext
propertiesenableScrollLock
,disableScrollLock
, andscrollLockEnabled
could previously be used to take control of a scroll lock, now useScrollLockContext
propertiesenableCurrentLock
,disableCurrentLock
, andactiveLockRef
to do so.
- Where previously
AccordionDisclosure
"indicator" now matches color of container rather than preserving it's initial color- Storybook configuration improvements
addons-essentials
now used- Replace
withKnobs
withControls
&Args
Fixed
- Page "jumps" when opening a
Popover
due to the scrollbar disappearing
Preview / Experimental
- Experimental:
@looker/components-theme-editor
package - Preview:
InputFilters
component and tests (this component is not yet ready for general-use) - Preview:
ActionListControls
component (this component is not yet ready for general-use) - Preview: "Semantic" Layout components -
Layout
,Header
,Footer
,Aside