Havit.Blazor

Free Bootstrap 5 components for ASP.NET Blazor + optional enterprise-level stack for Blazor development (gRPC code-first, layered architecture, localization, auth, ...)

MIT License

Stars
438
Committers
33

Bot releases are visible (Hide)

Havit.Blazor - v2.5.0

Published by hakenr over 2 years ago

  • ⚠️ HxGrid - parameter IsResponsive renamed to Responsive to align with library conventions
  • ⚠️ DictionaryStaticDataStore.TryGetByValue[Async]() method renamed to GetByValueOrDefault[Async]()
  • added net6.0 version via multitargeting (net5.0 still supported)
    • HxGrid columns infer generic type parameter in NET 6+
    • some parameters were marked with [EditorRequired] attribute
  • HxInputTags, HxInputDate, HxInputDateRange, HxSearchBox, HxAutosuggest and HxMultiselect - added support for input-groups
  • added version-modifier to JSModules imports (to force loading of new version)
  • fixed disposing logic in some components (#107, #126)
  • fixed rendering of additional attributes to input-components (#121)
  • fixed HxCollapse not hiding brand name when collapsed (#127)
  • HxCalendar - removed caching of CalendarDateCustomizationResult (#130)
Havit.Blazor - v2.4.0

Published by hakenr over 2 years ago

Components

  • consolidated CSS class names to hx-kebab-case-component-name (⚠️check your CSS rules, adjustments might be necessary⚠️)
  • HxDropdownToggleElement ⚠️no longer renders the dropdown caret (removed .dropdown-toggle CSS class) #113
  • HxGrid - new IsResponsive parameter which adds Bootstrap's .table-responsive responsiveness (also added to Defaults and Settings)
  • HxSelect - added full support for input-groups
  • HxTabPanel - new NavVariant parameter which allows setting Variant of the underlying HxNav (Tabs, Pills or Standard)
  • HxCloseButton - new component added (Bootstrap close button)

Infrastructure

  • StaticDataStores - synchronous methods return default value if not loaded (+ new overload for throwIfNotLoaded)
Havit.Blazor - v2.3.1

Published by hakenr over 2 years ago

  • HxTreeView - new ItemInitialExpandedSelector parameter to allow setting initial expand/collapse state of individual items (#106)
  • HxGrid - EmptyDataTemplate behavior adjusted (#112)
  • HxAutosuggest and HxInputTags - consolidated drop-down content when reopening
  • HxProgressIndicator - refactoring to use Timer instead of Task.Delay()
  • HxSelect - fixed rendering of chips for initial values
  • tweaked HxInputBase indication of incorrect FieldIdentifier (ValueExpression) during chip-removal
  • tweaked IDisposableAsync implementations
Havit.Blazor - v2.3.0

Published by hakenr over 2 years ago

  • 🆕 HxMultiSelect - new component which allows the user to select multiple options at once
  • 🆕 HxSearchBox - new component which allows you to create search inputs with suggestions and free-text queries
  • HxInputText and HxInputTextArea - new MaxLength parameter allows you to set/override the maximum length of the text (also uses [MaxLength] attribute from the model)
  • HxSelect[Base] - fixed InputSize not applying correct CSS classes
  • HxSidebar - fixed CSS styles of the Brand/Logo
  • HxGrid - fixed re-rendering logic (#102)
Havit.Blazor - v2.2.8

Published by hakenr over 2 years ago

  • HxTreeView - new ItemCssClass and ItemCssClassSelector parameters which allow customization of CSS class of individual items
  • HxIcon - documentation on creating custom icons
  • minor visual tweaks for Havit.Blazor theme
Havit.Blazor - v2.2.7

Published by hakenr over 2 years ago

  • HxTreeView - better visual alignment of leaf nodes
  • HxAutosuggest - default ClearIcon changed from BootstrapIcon.XCircleFill to BootstrapIcon.XLg
  • Havit.Blazor theme - minor visual adjustments

(The lib contains pre-release version of new HxSearchBox component, which is still WIP.)

Havit.Blazor - v2.2.6

Published by hakenr over 2 years ago

  • HxChipList - ChipBadgeSettings, Defaults, Settings and CssClass added
  • Bootstrap Icons upgraded to v1.8.1
  • completed Simplified Chinese resources (credits to @linjianlin)
Havit.Blazor - v2.2.5

Published by hakenr over 2 years ago

  • HxDropdownItem and other dropdown-item components received new ContainerCssClass parameter to allow setting custom CSS-class to the wrapping <li> element
  • HxMessageBox - resources translated to Chinese
  • HxProgressIndicator - fixed styling
Havit.Blazor - v2.2.4

Published by hakenr over 2 years ago

  • HxInputFile - fixed #87 - JavaScript error when calling ResetAsync() before StartUploadAsync()
  • HxGrid - documentation enhancements
Havit.Blazor - v2.2.3

Published by hakenr over 2 years ago

  • updated dependencies
  • HxDropdown - fixes DropdownReference implementation for HTMLElement values (will work as far as Bootstrap releases new version with fixed Dropdown.js)
  • HxDropdownItem - attribute splatting added
Havit.Blazor - v2.2.2

Published by hakenr over 2 years ago

  • HxOffcanvas - the HideAsync() method no longer requires the offcanvas to be opened. If it is not, the method just quietly does nothing.
  • HxSidebar - white background removed, adjusted to better fit with custom Bootstrap themes
  • HxFilterForm - fixed rare cases where calling RemoveChipAsync() did not raise the OnChipsUpdated callback
  • documention site applies geofiltering and rejects requests from Russia 💙💛
Havit.Blazor - v2.2.1

Published by hakenr over 2 years ago

Havit.Blazor - v2.2.0

Published by hakenr over 2 years ago

  • ⚠️ HxInputDateRange - DateTimeRange type used for component's Value moved from Havit.Blazor.Components.Web.Bootstrap package to Havit.Core (e.g. to be able to use the type in DTOs)
  • HxListLayout - doc - added demos for Title, Search and Named views
  • Bootstrap utility classes used in component's design are replaced with custom CSS to allow better customization (utility classes come with !important modifier which makes them harder to override)
  • HxInputTags - CSS classes and variables consolidation
  • HxSidebar - new --hx-sidebar-brand-name-font-weight CSS variable
  • minor doc improvements
Havit.Blazor - v2.1.2

Published by hakenr over 2 years ago

Havit.Blazor - v2.1.1

Published by hakenr over 2 years ago

  • HxSelect - fix of rendering Nullable (NullText) item
Havit.Blazor - v2.1.0

Published by hakenr over 2 years ago

  • HxCollapseToggleElement - new component to be able to create collapse-toggles from generic HTML elements
  • HxBadge - new Settings and Defaults for better customization
  • HxInputTags - new TagBadgeSettings for wide customization of the tags rendered as badges
    • ⚠️ replaces former TagTextColor and TagBackgroundColor parameters
Havit.Blazor - v2.0.3

Published by hakenr almost 3 years ago

  • HxInputFileCore - FIXED - the OnUploadCompleted event was fired multiple times
  • dependencies updated
Havit.Blazor - v2.0.2

Published by hakenr almost 3 years ago

  • HxInputTags - fixed Naked version where there was a border visible
  • HxTreeView - new CSS variables added for item-border, item-spacer, item-icon and the item itself
Havit.Blazor - v2.0.1

Published by hakenr almost 3 years ago

  • HxCarousel - new Pause parameter which allows disabling pausing the sliding on hover
  • HxCarousel - new CarouselSlideEventArgs for OnSlide & OnSlid events, where there are From, To and Direction values available
  • HxTreeView - does not expand/collapse on item selected anymore (just the chevron icon toggles now)
  • HxInputFile and HxInputFileCore - new MaxParallelUploads parameter (incl. HxInputFileCore.Defaults and Settings) limits the number of allowed parallel uploads (default is 6).
  • HxGrid - new demo for inline-editing added to documentation
Havit.Blazor - v2.0.0

Published by hakenr almost 3 years ago

Highlights

  • 🆕HxTreeView component for presenting hierarchical data (credits to @sshulik)
  • 🆕 HxComponent.Settings concept, which allows applying set of component settings (can be used for skins or to pass detailed settings to inner components, i.e. HxMessageBox.PrimaryButtonSettings)
  • improved extensibility to support creating derived component bundles (themes)
  • a few ⚠️breaking changes⚠️ (see details bellow)

Detailed list of changes

  • HxTreeView - new component for presenting hierarchical data (credits to @sshulik)
  • ⚠️ all ComponentDefaults classes renamed to ComponentSettings (used by HxComponent.Defaults static properties) to allow future usage for new scenarios (such as setting buttons for message-boxes, etc.)
    • default values removed from ComponentSettings class and their assignment is moved to component's static constructor (assignments to HxComponent.Defaults)
    • all ComponentSettings became record so you can use with { ...overrides... } syntax in derived components
  • ⚠️ HxGrid consolidation of Defaults and Settings
    • Defaults property for application-wide settings moved from generic to nongeneric HxGrid class
    • PagerContainerCssClass renamed to PagerCssClass and the wrapping div was removed in favor of new HxPager.CssClass parameter
  • ⚠️ HxGrid automatically refreshes data on CurrentUserState change
  • ⚠️ HxToastContainerPosition enum renamed to ToastContainerPosition (to align with project naming conventions)
  • ⚠️ HxMessageBoxHost fixed to pass Title to HxModal.Title instead of part of HxModal.BodyTemplate (changes rendering of message-boxes where the Title gets wrapped inside Bootstrap's .modal-title class)
  • ⚠️HxMessageBox - TitleTemplate parameter renamed to HeaderTemplate (to align with underlying HxModal and stress the difference of Title where there is an additional .modal-title wrapper) + ContentTemplate parameter renamed to BodyTemplate (same applies for corresponding MessageBoxRequest members
  • ⚠️HxTooltip - the .d-inline-block class was removed from the wrapping span (credits to @robertmclaws)
    • moved to HxButton with tooltip to aling with .btn display setting
  • ⚠️InputType enum moved from Havit.Blazor.Components.Web.Bootstrap to Havit.Blazor.Components.Web (incl. the namespace change)
  • ⚠️ HxInputDate - DefaultDates property renamed to PredefinedDates and moved to HxInputDate.Defaults; parameter UseDefaultDates replaced with ShowPredefinedDates
  • ⚠️ HxInputDateRange - DefaultDateRanges property renamed to PredefinedDateRanges and moved to HxInputDateRange.Defaults; parameter UseDefaultDateRanges replaced with ShowPredefinedDateRanges
  • ⚠️ HxProgressIndicator - DefaultDelay property and moved to HxProgressIndicator.Defaults.Delay
  • MessageBoxRequest - new AdditionalAttributes property which gets splatted to the underlying UI component (HxModal)
  • HxPager - new CssClass parameter to allow adding custom CSS class to main ul element
  • HxOffcanvas - new Placement, ScrollingEnabled, Size and CloseOnEscape properties in HxOffcanvas.Defaults to allow additional application-wide settings of offcanvas and derived components
  • all eventcallback parameters received an protected virtual Task InvokeOnXyAsync() method to allow interception of the events in derived components
  • HxMessageBox - new PrimaryButtonSettings and SecondaryButtonSettings parameters to allow customization of the buttons + new HxMessageBox.Defaults static property to allow setting application-wide defaults
  • all Dispose and DisposeAsync methods consolidated to be virtual methods
  • HxInputTags - the "plus" icon for adding new tag is now larger (BootstrapIcon.PlusLg instead of BootstrapIcon.Plus)
  • HxGrid - the result of DataProvider is now checked against required contract to not return null + adjustment for more relaxed interpretation of GridDataProviderResult (allow Data to be null).
  • HxListLayout
    • new Defaults and Settings - CardSettings, FilterSubmitButtonSettings, FilterOpenButtonSettings and FilterOffcanvasSettings
    • ⚠️ rendering adjustments - wrapping HxCard no longer brings bg-white as default HeaderCssClass + DataTemplate now renders directly into Card.ChildContent (was BodyTemplate rendered inside .offcanvas-body with p-0)
  • HxInputNumber and HxInputText - new InputMode parameter to allow explicit setting of input-mode (hint for the browser as of which keyboard to use for entering the data), credits to @robertmclaws