- Icon tabs
- Added
popup
parameter toUtilityService.OpenUrlAsync
- Checkbox binding
- Make
placeholder
attribute responsive to binding changes
- Improved
ElementList
style
TextInput.LoadSuggestions
RenderFragment
support toDialogService.Show
- Update to .NET 9, with multitargeting for .NET 8
DataGrid.AddDialog
andDataGrid.EditDialog
now expect aRenderFragment
andRenderFragment<TDataItem>
, respectively, to better support AOT compilation and trimmingDataGrid.AddDialogParamaters
andDataGrid.EditDialogParamaters
have been replaced byDataGrid.AddDialogCallback
andDataGrid.EditDialogCallback
, which do not return a value. Since the dialog properties are nowRenderFragment
s, they no longer support or require component parameters, but if you previously took advantage of these function properties to perform lazy loading of data, that behavior can be migrated to the new callbacks.
DateTime
andDateTimeOffset
binding inDateTimeInput
- Missing image editor file
- Editor styles
- Select submission on select
- Tab initialization
Quality
parameter onImageEditor
- Made
Checkbox
,ColorInput
,DateTimeInput
,Dropdown
,Editor
,EmojiInput
,ImageEditor
,MultiSelect
,NumericInput
,Pagination
,RadioButton
,RadioGroup
,Rating
,Select
,Slider
,Switch
,Tabs
,TextArea
,TextInput
, andTooltip
partially compatible with static server-side rendering- These controls now support most use cases even on static pages, and inputs should pass their value to submitted forms
- Data binding, validation, and other features which operate exclusively in an interactive context will still not function on statically rendered pages
- The
Editor
component has been heavily overhauled- WYSIWYG support has been added for Handlebars
- Syntax highlighting support has been added for Handlebars, XML, and YAML
- Syntax support has been dropped for Less, PHP, and Sass
CurrentPage
inPagination
changed from 0-based to 1-based indexing.
RenderBodyWhenClosed
onCollapse
LostFocus
andClearIcon
onTextInput
StepDownIcon
andStepUpIcon
onNumericInput
FirstPageIcon
,LastPageIcon
,NextPageIcon
, andPreviousPageIcon
onPagination
AddIcon
,BackIcon
, andForwardIcon
onTabs
Icon
andOutputHexStrings
onColorInput
Icon
onDateTimeInput
SetModeAsync
onEditor
EditorMode
now reacts to changes dynamically
Origin
onDialogOptions
FocusOut
onPopover
IsOpenChanged
onDropdown
AddTextAsync
,BrushColor
,BrushSize
,CancelAsync
,CropAspectRatioChanged
,DrawingMode
,EditIcon
,ExportImageAsync
,FlipHorizontalAsync
,FlipVerticalAsync
,ImageClass
,ImageStyle
,RotateClockwiseAsync
,RotateCounterClockwiseAsync
,SetBrushColorAsync
,SetBrushSizeAsync
,SaveAsync
,SetCropAspectRatioAsync
onImageEditor
CropAspectRatio
now reacts to changes dynamically, but is no longer bindable
PageClass
,PageStyle
onPagination
- Additional URI modifier methods to
QueryStateService
- CSS import location
- List styles
- Simplify build
tf-emoji
custom element which renders emoji short codes as emojiEmojiInput
component which displays a picker and binds the result to an input- A built-in emoji button has been added to
TextInput
andTextArea
, shown if the newShowEmoji
property istrue
(false
by default) - A new emoji toolbar button was also added to the
Editor
- The new built-in emoji buttons insert the selected emoji into the input (or overwrite any selected text, in the case of the editor)
- A built-in emoji button has been added to
- Default numeric format for integral
DataGrid
columns changed fromN0
toF0
- Collapse initial open behavior
RenderBodyWhenClosed
toCollapse
- Field style in lists
- Pagination collapsing
DataGrid
pagination on filter changes
ShowAllSuggestions
property toTextInput
- Made only dialog header a drag control, to avoid interfering with controls in the dialog.
- Fields no longer have
flex-grow
set to 1 by default
- Tree style
- Dialog style
- Contents behavior
- Input style regression
- Font fallback
tf-accordion
custom element (replacement forAccordion
component which does not require interactivity)
- Reimplemented Collapse with
details
andsummary
HTML elements, no longer requires interactivity for basic functionalityIsOpen
parameter of Collapse split intoIsOpen
public property for current state andIsInitiallyOpen
parameter for initial stateOnOpening
callback now invoked after state change, rather than before
- Implemented CSS cascade layers for the framework's CSS
- It is no longer necessary to include the framework's CSS stylesheet manually. This is now handled automatically.
Accordion
component (replaced withtf-accordion
custom HTML element)OnIsOpenChanged
event fromCollapse
TitleIsToggle
property fromCollapse
(always true with newdetails
+summary
implementation)
- Nested popovers
- Null exception
- Sublist style fix
- Improve popover list sizing
- Contents links
- Enable non-global interactivity for dialogs and snackbars
DismissAllDialogs
method onFrameworkLayout
(necessary to enable interactivity for theDialogContainer
)
- Popover placement in offset containers
- Improve popover placement
- Dropdown interactivity
- Editor buttons
- Drawer toggle
- Grouped paging in DataGrid
- CSS file no longer auto-injected into head, enabling easier overrides
- Fixed change detection
- Fixed change notification
- Notify any containing
EditContext
when aFormComponent
has itsValue
changed externally
- Tabs
- Do not present persistence links for stateful components when not interactive and not opted into persistence (e.g. when prerendering). Instead, show the component in a disabled state.
- Restore
tf-syntax-highlight
to previous behavior ofSyntaxHighlighter
: operate separately on all nestedpre code
elements, rather than the whole element content
DataGrid
column filtering
- More manual control properties to
Steps
- Trim issues
- Image Editor display bug
- Trimming and AOT compatibility
- Close button
auto
attribute, which allows automatically closing a parent element with thedata-can-close
attribute Collapse.NavUrl
andCollapse.NavLinkMatch
to enable auto-open based onNavLink
-style logic- Added properties to
Contents
to improve customizability:MaxLevel
MaxLevelOffset
MinHeadings
DialogContainer
to support use of dialogs without theFrameworkLayout
DrawerToggle
placeable button to automatically control a drawerDrawer.ShowAtBreakpoint
andDrawer.HideAtBreakpoint
MarkdownRenderer
componentSnackbarContainer
to support use of snackbars without theFrameworkLayout
- More manual control properties and methods to
Steps
tf-scroll-top
custom element (replacement forScrollToTop
component)tf-syntax-highlight
custom element (replacement forSyntaxHighlighter
component)
- Update to .NET 8
- Adds support for prerendering and static render mode
- Use Material Symbols instead of Material Icons
- Added
ChildContent
outlet for most components where it was missing AppBar
component replaced by simple CSS class (built-in drawer functionality replaced byDrawerToggle
)Tooltip
component drastically changed- No longer wraps an anchor component
- Any element can now reference a
Tooltip
by itsId
with adata-tooltip-id
HTML attribute - A
Tooltip
nested inside an element is automatically associated with that element, unlessIsContainerTrigger
is set tofalse
- All properties for specifying the content of the tooltip have been dropped
- The
ChildContent
specifies the content of the tooltip popover - Removed no-hover icons
- Added
IsButton
property to explicitly specify when to display an icon button to act as the trigger
- Grouped paging in DataGrid
- Added field flex grow
- Tab scrolling
- Data grid loading behavior
- Improved
Tooltip
behavior
- .NET 6 and .NET 7 targets
AnchorLink
(replaced by native fragment handling and built-in Collapse NavLink functionality)Drawer.BeforeClosing
,IsOpen
,IsOpenChanged
. These were never reliable due to breakpoint and navigation automatic behavior.Drawer.Breakpoint
(replaced byDrawer.ShowAtBreakpoint
andDrawer.HideAtBreakpoint
)Dropdown.TriggerContent
Heading
component (Contents
now works with standard HTML headings, and any element with thetav-heading
CSS class)LightDarkToggle
component (replaced bytf-darkmode-toggle
custom HTML element)ScrollService.ScrollSpyTags
(ScrollService.ScrollSpy
now accepts a CSS selector rather than a class name only)ScrollToTop
(replaced bytf-scroll-top
custom element)SyntaxHighlighter
(replaced bytf-syntax-highlight
custom element)ThemeService
(replaced bytf-darkmode-toggle
custom HTML element and built-in features, in order to fully support static and prerendering)Timeline
component (div
withtimeline
CSS class provides all the same functionality)
DataGridColumnAttribute.IsShown
ColumnOrder
toDataGrid
columnsDataGridColumnAttribute
attribute, which can be used to configure column properties when auto-generatingDataGrid
columnsSystem.ComponentModel.DataAnnotations
attribute support for certain column properties when auto-generatingDataGrid
columns
- Editor selection and read-only improvements
- Image crop aspect ratios
- Image auto-scale for editor to prevent drastic UI scaling
- Add top margin to contents to match main
- Dark theme persistence when light theme is the browser default
Src
change inImageEditor
- Image sizing in
ImageEditor
- Canvas resizing in
ImageEditor
- Fit image in
ImageEditor
BeginEditAsync
inImageEditor
- Improved
ImageEditor
stream handling
- List item clicking
- Class, property, and method accessibility changes
- Text editing enabled for
DateTimeInput
- Editor lists
- Editor clear
- Enable scroll spy for manual headings
- Headings
- Manual headings
- Inline radio options
- Editor dialogs update on input
- Collapsible list item improvements
- Adjust outlined form styles
- Enable selection of collapsible list items
- Adjust nested list styles
- Adjust nested list styles in popovers
- Adjust nested list styles
- Adjust list drag styles
- Improved keyboard navigation in
DataGridSelect
- Gave auto edit dialogs for
DataGrid
a minimum width
DataGrid
quick search larger
- Added
StateHasChanged
invocation onDataGrid
row edit/delete
- Column mapping support for
DataGridRequest
- Improved keyboard navigation for various controls
- Enable persistent
DataGrid
state when explicit columns are used
DataGrid
components with an explicitId
will now persist paging, filter, and sort information between in-app page navigations
- Values in a
DataGrid
select component withLoadItems
defined can now be selected even when not present in the currently loaded page
- Improve Steps styles
- Allow cascading
CollapsibleTemplate
from parentElementList
components
- Add
Clicked
handler toTimelineItem
- Optional
DialogOptions
for theAddDialog
andEditDialog
ofDataGrid
- Add slight delay to setting
IsTouched
on inputs, to avoid a flash of invalid style
- Input controls now respond to dynamic changes to the
Required
property DateTimeInput
navigation bug
DataGrid
page count
- Select input style tweaks
DataGrid
paging when grouped or filtered
- Minor style fix for alerts
- Improve form validation for required fields
DateTimeInput
year navigation bugMultiSelect
behavior
- Improve form validation for required fields
- Do not use
codeblock
class on entire SyntaxHighlighter
First stable release
- SyntaxHighlighter component
- Update to .NET 7
- Reposition popovers on refresh to ensure layout changes haven't invalidated previously calculated position
- Change retention of object URLs for image editor, to enable re-editing
- Revoke object URL called when no URL was provisioned
- Prevented image editor from entering edit mode when loading an image from a stream
- Additional bindable properties and callbacks for image editor
- Image editor
- Event support for .NET 6
OnValidEnter
callback toTextInput
- Update to .NET 7 RC 2
OutputHexStrings
property toColorInput
DismissOnTap
property to tooltips
- Button group styling
- Behavior of mobile tooltip icon
- Tooltips are dismissed when interacting with the underlying element
- Tooltip delay
- Apply theme color to color and date picker buttons
- Button group style for tooltips
- Hide clear icon instead of remove it in clearable inputs, to prevent width changes
- Made some extension methods public:
ToHtmlId
(Guid
) - format suitable for use as an HTML idToHumanReadable
(string
orEnum
): replaces '_' with ' ' and inserts spaces intocamelCase
andPascalCase
termsToCSS
(Enum
): formats in lowercase, replaces '_' with '-'ToCSS
(floating point types): formats in the most compact notation suitable for a CSS property valueToPixels
(floating point types): asToCss
, followed by "px"
Size
toTextInput
,NumericInput
,Select
,MultiSelect
,DataGridSelect
, andDataGridMultiSelect
: specify the minimum width of the inner input control in displayed charactersOptionSize
toSelect
andMultiSelect
to calculate size for templated optionsNerdbank.GitVersioning
- Removed minimum width for most input controls
- Minimum width for selects calculated automatically in most situations
- Removed top margin from form controls when there is no label
- Fix build
HelpTextContent
added toInputComponentBase
, which overridesHelpText
if provided
- Update to .NET 7 RC 1.
- Preserve collapse child padding
- Collapse body form fields align stretch
- Collapse body align start
- Light/dark theme persistence.
- Disable library trimming; too many unidentified (de)serialized objects needed for JS interop.
- Dependency update, fix broken dependency chain.
- Field style.
- Enable library trimming.
- Removed default getter and setter implementations from InputValueConverter. These relied on reflection of unknown types and were unsuited to trimming.
- Card styles.
- Update to .NET 7 preview 7.
- Update dependencies.
- Removed required attribute from hidden inputs.
- Disable browser validation in Forms by default.
- Pagination focus.
- Column filtering on initially hidden columns.
- Load async items after column filtering.
- Column initial sorting in DataGridSelects.
- Form with explicitly null
EditContext
.
- Popover placement within dialogs.
- Setting editor value in HTML WYSIWYG mode.
- Initially sorted columns are included in sort order, even when hidden.
- Disposed object exceptions on timers.
- Null references on disposed timers.
- Give dialogs flat background.
- External ElementList changes.
- Dialog title.
- ElementList.GetItemDragData.
- Dragging custom types.
- Display initially shown inline dialogs.
- Drag not working in focus traps.
- Drag indicator for list items.
- Collapsible & draggable list items.
- DataGrid bool filter behavior.
- Make DataGrid TDataItem type nullable.
- Multitarget .NET 6 and 7-preview.
- Remove dependency on framework InputBase.
- Select option correctly clears selection icon after clear.
- DataGrid async pagination behavior fixed.
- DataGrid async quick filtering now works on hidden columns.
- DataGrid async loading quick filter fixed.
- Dialog style fixes.
- Improve popover behavior
- Minor style change to form controls within tables.
- Extracted internal Dialogs to separate components to avoid nesting dialog problem.
- Updated icon.
- Harden JS Interop calls.
- Improved keyboard navigation within selects.
- Preserve focus after pagination operations.
- DataGrid: columns with unsupported types no longer filtered.
- Correct height and width attribute for img in Editor.
- Max height for dialogs.
- Update to .NET 7 preview 6.
- MultiSelect binding.
- Tabs.ActivePanelIndexChanged fires as expected.
- Align content to start in card body.
- Editor.SetModeAsync
- Editor.EditorMode now sets initial state only.
- Style changes.
- LightDarkToggle state saved to localStorage when different from system preference.
- Removed extraneous files from package.
- Added README to NuGet.
- Adjusted default styles for containers.
- MaxWidth for Popover
- Select Popover anchored to bottom-left, instead of center.
- More style improvements.
- Improved styles.
- Initial int filters on DataGrid fixed.
- Clearer message when DataGrid has no items because of filtering.
- Initial sort for DataGrid columns.
- Asynchronous DataGrid loading.
- Refresh after loading DataGrid items asynchronously.
- Icon display priority.
- LightDarkToggle initial state correctly reflects dark mode.
- Initial bool filters on DataGrid fixed.
- Selects now have a max height.
- Steps component.
- Codeblock does not disable child scroll.
- Fix TextArea ignoring Rows parameter.
- Use AddDialog as intended.
- AddDialog for DataGrid.
- Initial filter for DataGrid Column.
- Improve List drag-drop.
- Added RowValue to DataGridSelect and DataGridMultiSelect.
- Improve Select keyboard behavior.
- Removed circular TypeScript import.
- Ensure ItemAdded and ItemSaved and invoked when DataGrid.EditDialog is defined, and provide automatic item add and update on success.
- DataGrid.EditDialogParameters is now asynchronous, and receives the edited item
- Allow passing parameters to the edit dialog for DataGrid
- Update to .NET 7 preview 5
- Initial preview release