All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Icon: Eliminating style tags to prevent CSP violations.
- Icon: Show warning in the dev console when codicon css is missing.
- Table: The empty component threw an error when it was deleted from the document.
- SingleSelect, MultiSelect: Fix selected state when opened by default.
- SingleSelect, MultiSelect: Added the ability to update the state of an already initialized component by modifying its child options.
- Checkbox: Fix the border color in the focused state.
- SingleSelect, MultiSelect: Added
open
property. - Button: Emit
click
event on enter or space key down.
- Divider: Make component color visible in all themes.
- SingleSelect: Add the ability to set an option's value to empty.
- SingleSelect: If no option is selected, the first one should be selected by default.
- Add support for two-way binding with form controls in Vue.
- ContextMenu: Added
preventClose
property.
- ContextMenu:
show
attribute was not synchronized correctly.
- SplitLayout: The fixed pane size was set to zero initially.
- SplitLayout: The mouse-over state was not reset when the button was released outside the component.
- SplitLayout: Added
handlePosition
property to adjust the handle position programmatically. - SplitLayout: Added
fixedPane
property. When the parent element is resized, the panes adjust proportionally. This parameter allows you to set one of the panes to a fixed size so its dimensions won’t change during resizing. - SplitLayout: Added
resetHandlePosition()
method to reset the handle position to the default value. - SplitLayout: Dispatch
vsc-split-layout-change
event when a panel is resized.
- SingleSelect, MultiSelect: Fix the widget height when it is empty.
- MultiSelect: The value of
selectedIndexes
was not correctly updated. - Tabs: Active tab highlights previously showed as inactive.
- SplitLayout: Reinitialize panes when the split layout orientation changes.
- Use fully specified import paths for better compatibility. See #213
- Checkbox: Bubbling change event in the same way as the native checkbox.
- Checkbox: Click event dispatched twice.
- SingleSelect, MultiSelect: The option description was not always visible on mouseover.
- SingleSelect, MultiSelect: Fixed the unfocusable element error when validation is triggered.
- Button: Add the ability to modify the icon animation parameters.
- Button: Align and arrange any content added through the main slot.
- SingleSelect, MultiSelect: Add the ability to control the position of the select dropdown.
- Collapsible: Add
body
css part. - Collapsible: Dispatch a toggle event when opening or closing.
- Textfield: Revalidate the element when the value is changed.
- Checkbox: Revalidate the element when
required
orchecked
properties are changed. - Badge: Reflect
variant
property.
- SingleSelect: Fix error throwing when non-existent option is selected.
- SingleSelect: Set initial form value before the first user interaction.
- SingleSelect: The option value was not registered when it was set as a property.
- SingleSelect: The option selected state was not registered when it was set as a property.
- Table: Fix (#161)
- Added Divider component
- Added ProgressRing component
- SingleSelect, MultiSelect: Highlight matches in combobox mode when the list is filtered
- SingleSelect, MultiSelect: Show dropdown on input click.
- SingleSelect, MultiSelect: The focus is delegated to the inner input in the combobox mode.
- SingleSelect, MultiSelect: components were be selectable in disabled mode.
- Upgrade codicons to 0.0.36
- Tree: Added tooltip property to the item configuration.
- Tree: Added customizable CSS part regions
- Tree: Added
deselectAll()
andgetItemByPath()
helper methods.
- Tree: Fixed the empty payload of the
vsc-tree-select
event.
- The form controls fully participate in the standard HTML forms. The affected components are the following: Button, Single Select, Multi Select, Textfield, Textarea, Radio, Checkbox.
- Custom events are exported as TypeScript types. Check the react-example repository for examples.
- SplitLayout: Added handle size property.
- Values from the options was not registered in the Select when the component is connected to the DOM.
- Reflect
name
property of the Input component similar to the native textfield. - Textarea, Textfield:
minlength
andmaxlength
property is renamed tominLength
andmaxLength
. This change adheres to the naming convention of the native<textarea>
element. The attribute names are not changed. - Textarea, Textfield: Dispatching native
input
andchange
events. - Radio, Checkbox, SingleSelect, MultiSelect: Dispatching native
change
event - Collapsible: Displaying the main content using the default slot instead of the named
body
slot. - Split Layout:
initial-pos
is renamed toinitial-handle-position
. - ContextMenu:
vsc-select
event is renamed tovsc-context-menu-select
. - Tabs:
vsc-select
event is renamed tovsc-tabs-select
. - Tree:
vsc-run-action
event is renamed tovsc-tree-action
. - Tree:
vsc-select
event is renamed tovsc-tree-select
. - Lit updated to 3.x
- Textarea, Textfield:
vsc-input
andvsc-change
events are deprecated. - Button:
vsc-click
event is deprecated. - Checkbox:
vsc-change
event is deprecated. - ContextMenu:
vsc-select
is deprecated. - FormContainer:
data
property is deprecated. - MultiSelect, SingleSelect:
vsc-change
event is deprecated.
- Deprecated components were removed. The affected components are: Inputbox, FormContainer, FormControl, FormDescription, FormItem, FormLabel
- Added a React demo app to the repository.
- Added
autofocus
attribute to Textarea and Textfield - All boolean properties are reflected. Read the Open Web Components documentation for more details.
- Added
indeterminate
attribute to Checkbox.
- Added
invalid
boolean property and attribute to SingleSelect and MultiSelect component.
- Added
decorations
slot to the Collapsible header. Decorations are always visible even if the collapsible is collapsed. - Added
description
property to Collapsible. - Added optional indent guides to Tree
- Added
description
property to Tree items - Added
iconUrls
property to the tree item data to set custom icons in the Tree. - Added Tree actions. See the documentation for the examples.
- Added Tree decorations. See the documentation for the examples.
- In the Tree item configuration, the
icons
property value can also be a boolean. If it's true, the default theme icons are visible:file
for the leaf items,folder
for the branch items,folder-opened
for the opened branch items. See the Codicon project for the icon references. If it's false, the icons won't be visible at all. - Tree The colors have been refined to closely align with the style of VSCode.
- Inactivate interactive elements during scroll in Scrollable
- The color of the selected item focus border has been refined in Tree
- Preventing overflowing long texts in the Select description. (Fix #61)
- Radio button behaved as a checkbox in the RadioGroup. (Fix #59)
Sometimes VSCode theme variables are renamed or removed by the VSCode authors. When this happens the appearance of the components will change unpredictably. To prevent this, every component got a fallback style. The components will look "good" even if no theme variables are available.
- Button and ContextMenu styles was updated to follow VSCode changes.
- Customizable header background color and tinted row background color instead of the hard-coded ones in Table.
- Textarea: The default display is
inline-block
, the default size is 320 x 40. It is automatically resized whenrows
orcols
attributes are set. - Textarea: Follow the source control input box styles of VSCode more closely:
- Change the cursor to hand when it is above the scrollbar.
- Add an unobtrusive drop shadow when the text is scrolled.
- Add active state to the scrollbar.
- Textarea: Fixed the ugly resize handler when the scrollbar is visible.
- Textfield: Customize the file input button styles.
- Add
cols
androws
attributes to Textarea by @chrjorgensen
- Set default color for Textfield.
- Textfield and Textarea values were not collected in the FormContainer form data.
- The value of the
value
property was not syncronized properly with the value of the inner form widget in Textfield and Textarea. - Fix top-margin of Textfield and Textarea in FormGroup when its
variant
is "settings-group".
- Allow file type in Textfield
- Fixed whitespace in Label when the asterisk symbol is visible
- Label Added
required
attribute
- SingleSelect, MultiSelect Minor CSS changes to better mimic VSCode styles
- Adapted latest VSCode design changes on the ContextMenu and the InputBox.
- Text inputs could not be edited in tab panels.
- Attribute names have been standardized. From now every attribute name uses the kebab-case format.
selectedIndex
attribute was renamed toselected-index
in the Tabs component.iconAfter
attribute was renamed toicon-after
in the Button component.selectedIndexes
attribute is removed from the MultiSelect component. It still accessible as a property.scrollPos
attribute was renamed toscroll-pos
in the Scrollable component.scrollMax
attribute was renamed toscroll-max
in the Scrollable component.selectedIndex
attribute was renamed toselected-index
in the SingleSelect component.resetOnDblClick
attribute was renamed toreset-on-dbl-click
in the SplitLayout component.columnLabel
attribute was renamed tocolumn-label
in the TableCell component.- The Tabs component markup has been changed. See the documentation page for examples.
- Inputbox has been deprecated. Use the Textarea or Textfield instead.
- Added Textfield and Textarea components.
- Lit upgraded to 2.4.x.
- Added keyboard navigation to ContextMenu.
- Adapted the latest VSCode button styles (rounded corner).
- Added
aria-checked
attribute to the radio buttons. - Icon component accessibility improvements.
- Tabs component is fully accessible.
- Radio and Checkbox are accessible.
- TabHeader and TabPanel were added to interoperate with Tabs.
addons
slot has been added to the Tabs toolbar.content-before
andcontent-after
slots have been added to the tab headers.- Label automatically sets the label for radios, checkboxes, and text inputs.
- Fixed the active state bug in the ContextMenu
- Fixed the Select height
- Tabs (Fix #32) Select the tab when a slotted element is clicked in the tab header
- Added scrollPos and scrollMax property to Scrollable
- Select: allow disabled single select option (thx ununian)
- Button: Fixed-width button text aligned to center
- Select: Removed the extra whitespaces from the value
- Select: css property to set the dropdown z-index to fix the overlapping issues
- Select: set multi-select value through prop
- Scrollable: The content covered the scrollbar if its position relative or absolute
- Scrollable: The scrollbar will be resized when the content height change
- The label didn't connect to the input widget in the shadow DOM.
- Added
@attr
jsdoc tag to the "name" attribute to prevent the "unknown attribute" warnings in the supported IDEs.
- Tree: focused list item outline offset
- Updated icon colors as in VSCode
- Icon:
- added proper theme variables
- added action icon pressed style
- added focus border style
- Collapsible:
- keyboard support
- icon visibility mimics the VSCode behavior: it is visible when the panel is open
- Table: added responsive mode
- SplitLayout: added hover color
- Inputbox: Type definition fine tuning
- Flexible table columns
- Small documentation changes in the Inputbox which provides better code completion
- Added Table component
- Added action-icon mode to the Icon
- Floating scrollbar in the Scrollable component
- Added new components: FormContainer, FormGroup, FromHelper, Label, Radio, RadioGrop, CheckboxGroup.
- Theme variable names are readjusted in the Tree, SingleSelect and MultiSelect components.
- Button outline styles has been restored.
- The following components will be removed: FormControl, FormDescription, FormItem, FormLabel. Use the new form components instead.
- Fix #16 SingleSelect isn't updated by value and selectedIndex
- Added keyboard navigation to the Tree component.
- SingleSelect and MultiSelect import path have been simplified.
- Combobox mode has been added to the SingleSelect and MultiSelect components.
- New attributes for InputBox: min, minlength, max, maxlength, multiple, readonly, step.
- Changelog was introduced.
- Select component has been split into two different component: SingleSelect and MultiSelect.
- Multiline Inputbox resizing behavior has been fixed
- Option hover color