- [ImageCapture][Android] Fixed an issue where on some devices you could not rotate images because 'Thumbnail' was null.
- [ListItem] Fixed an issue where the visibility of
Subtitle
were not updated when theSubtitle
were set at a later point.
- [ImageCapture][Android] Fixed an issue where the tap to focus indicator were not animated
- [ImageCapture][iOS] Fixed an issue where the tap to focus indicator were not placed correctly
- [ItemPicker] Fixed an issue where
IsEnabled
was ignored.
- [ImageCapture][Android] Fixed an issue where the rotated image would have wrong translation in either X or Y direction, when in edit mode.
- [Button][iOS] Fixed an edge-case where some buttons did not get rounded corners.
- [ImageCapture] Fixed toolbar height on smaller devices.
- [ImageCapture][iOS] Fixed close button on thumbnail
- [ImageCapture][Gallery] Can now rotate images after capturing the photo. Both in gallery and in the actual capturing component.
- [ImageCapture] Controls will now rotate with the device.
- [ImageCapture][Android] Fixed a bug where devices with ultra-wide lens would get a lot of decimals in zoom buttons.
- [ImageCapture] Zoom-slider will now only be visible when the camera is ready.
- [Button][iOS] Fixed an issue where buttons with
IconButtonSmall
style would have a glitchy icon.
- Buttons will now calculate their own size instead of setting static height.
- Resources was updated from DIPS.Mobile.DesignTokens
- [SegmentedControl] Avoid setting static Height, instead use padding of content to calculate height so it scales better with font-size. Removing the static height also reduced its height so its similar to the design.
- [Switch][iOS] Fixed an issue where the off color would blend into the background color of the view that is below the
Switch
.
- [Chip] Fixed bug where consumer could not bind to
CustomIcon
because BindableProperty name did not correspond to the getter and setter - Will now localize text correctly
- Resources was updated from DIPS.Mobile.DesignTokens
- [StateView] Fixed bug where content were not always displayed.
- [Chip] Fixed bug where consumer could not bind to
CustomIcon
because BindableProperty name did not correspond to the getter and setter
- [ImageCapture] Changed text from "Take new photo" to "Retake photo".
- [ImageCapture] Changed text from "Done" to "Cancel".
- [ImageCapture] Changed icon from "information_line" to "information_fill".
- [ImageCapture] Changed text from "Remove" to "Delete".
- [ImageCapture] Added a new
ImageCapture
API along side withCamera
api that can be used for both image capture and bar code scanning. - [BarcodeScanner][BreakingChange] Requires you to provide a CameraFailed delegate when starting the barcode scanner.
- [BottomSheet] Added new property 'IsDraggable', which prevents users from dragging the
BottomSheet
.
- Set default date to
DateTime.Now
on datepickers to avoid a bug where the datepickers jumps two dates forward.
- Upgraded MAUI to 8.0.82.
- [ScrollPicker][iOS] Fixed crash when trying to display scroll pickers.
- [MemoryLeak] Added navigation testing.
- [Chip][Android] Made sure the text is centered horizontally.
- [Chip] Changed its styling so that it corresponds better to the design.
- [Chip][iOS] Changed the implementation from
UIButton
to usage ofBorder
instead. - [DatePickers][iOS] Moved away from using native compact chip, to using
Chip
, and then show inline date pickers in a popover instead. - [DatePicker/DateAndTimePicker] Consumers can now add a "Today" button.
- [DatePicker/DateAndTimePicker] Consumers can now set the desired format of the date text.
- [DatePicker] Consumers can now toggle if the date picker should close when selecting a date.
- [NullableDatePickers] Now you can clear the date by tapping a button on the
Chip
.
- [MemoryLeak] Will now correctly log GC of modal pages.
- [MemoryLeak] Added better logging.
- [Label] Made sure people can change
Text
after it has been truncated and has added theTruncationText
to the end.
- [Button] Made sure to guard changing style if platformview is null.
- [MultiLineInputField] Add
MaxTextLength
property.
- [Android][DateAndTimePicker] If there is not enough space to show all characters in DateAndTimePicker, the date will be truncated.
- [MemoryLeak] Added a bindable attached property so that consumers can ignore memory leak resolving on certain views/pages.
- Resources was updated from DIPS.Mobile.DesignTokens
- [MemoryLeak] Will now try to resolve memory leaks before checking if there are any.
- [MemoryLeak] Fixed duplicate checking of memory leaks in
BindingContext
of BottomSheets.
- [MemoryLeak] Fixed crash of app when changing root page.
- [MemoryLeak] Always wait for 9 GC collections before checking if there is any memory leaks.
- [BottomSheet] Fixed an issue where app would crash if attempting to create a bottom bar in bottom sheet.
- [MemoryLeak] Improved GC helping and better output for developers to solve memory leaks.
- [MemoryLeak] Improved GC helping when changing root and when modals are present, both modals with navigation and not.
- [MemoryLeak] Made sure BottomSheet binding context will try to GC in debug.
- [MemoryLeak][iOS] Fixed an issue where a leak could appear in context menu with
Pressed
mode.
- [MemoryLeak] Improved the output when pages/binding context is resolved or has leaks.
- [MemoryLeak] Added observing of a pages BindingContext.
- [MemoryLeak] Fixed an error where if you removed a page from the stack while in a modal context, all pages in the navigation stack would try to be resolved for memory leaks.
- Refactor
TryResolvePoppedPages
function.
- [Android][Chip] Fixed an issue where checkmark were sometimes not visible or the checkmark icon were tinted as black
- [Android][ChipGroup] Fixed an issue where you could not de-toggle toggled chips when multi-selected
ChipGroup
were used. - [Android][Chip] Some refactor and code cleanup in its handler.
- Fixed an issue where the app could crash when navigating back and forth if the automatic memory resolving were activated.
- Updated .NET MAUI from 8.0.60 to 8.0.70.
- Fixed an issue where pages inbetween were not GC'ed when
PopToRoot
were used.
- Refactored
GCCollectionMonitor
, so that it pinpoints what handlers/views that is leaking GCCollectionMonitor
will now try to resolve memory leaks automatically.- Patched up all/most leaks in DUI.
- [Android] Removed workaround for setting border px to 0 in ListItem
- [iOS] Removed workaround in ContentControl where CollectionView did not use available space
- [iOS] Removed workaround for setting correct width on button/chip when they have an image.
- Removed
VirtualListView
.
- [Android] Removed old code for a workaround where we created our own toolbar for modals
- Upgraded MAUI to 8.0.60.
- [MAUI-Upgrade][Android] Fixed an issue where icons were not placed at center in buttons
- [ShellRenderer][Android] Check if index is out of range before trying to get
ToolbarItem
.
- [ShellRenderer][Android] Null check on
CurrentPage
.
- [ContextMenuToolbarItem][Android] Made sure menu listeners are re-added when a modal page has been popped.
- [ContextMenuToolbarItem][Android] Made sure it does not memoery leak.
- [ContextMenuToolbarItem] Bindings for Context Menu Items now works.
- Added internal logging framework for DUI. The logs can be observerd in LogCat, Console and XCode logs.
- [FloatingNavigationMenu][Android] Prevent fragment from creating its self
- Library is now built on latest macOS 14.
- Added exception handling for components app.
- [Icons] Now return as ImageSource.
- [Icons] Removed AsImageSource method as its not needed anymore.
- [FloatingNavigationButton] Added try-catch to prevent app crash and it now logs to the Console for debugging.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- [AlertView] Corrected icon for Error style.
- Resources was updated from DIPS.Mobile.DesignTokens
- [AlertView] Corrected design.
- Resources was updated from DIPS.Mobile.DesignTokens
- [AlertView] Updated icons for Error and Warning style.
- Resources was updated from DIPS.Mobile.DesignTokens
- [AlertView] Added alert view. A new component to use in line when you need to alert people using your app.
- [BottomSheet] Added property
IsBackButtonVisible
.
- Made sure all public image sources has a image source converter so the component do not freeze up on Android when passing strings.
- [Icons] Changed icons from ImageSource to string to prevent memory leaks when using icons.
- Resources was updated from DIPS.Mobile.DesignTokens
- [DateAndTimePicker][Android] Fixed an issue where Time would only add +2 hours no matter what you did.
- [DateAndTimePicker][Android] Fixed an issue where the component would show the converted date to consumer, and not the actual DateTime set from consumer.
- [DateAndTimePicker][Android] Fixed an issue where IgnoreLocalTime did not work correctly.
- [BottomSheet] Added property 'BackButtonBehavior', so that the back button can be set in a bottomsheet.
- [MultiItemsPicker] Fixed an issue where
MultiItemsPicker.DidSelectItem
was not triggered when first item was selected
- [iOS][ContextMenuToolbarItem] Fixed an issue where
IsCheckable
did not work.
- Added
ContextMenuToolbarItem
, to set context menu on aToolbarItem
.
- Resources was updated from DIPS.Mobile.DesignTokens
- [ListItem] Now there is no need to set
Title
orSubtitle
onListItem
in order to use theFormattedText
in their options. - [ListItem][Android] Fixed an issue where a blank
Subtitle
would take up space. - [ListItem] Fixed a bug where a
ListItem
in aCollectionView
sometimes don't giveTitle
it's required space. - [VirtualListView][Android] The
OnScrolled
event will never be invoked now unless user has scrolled.
- [VirtualListView][Android] When the list is rendered the first time, it won't invoke
OnScrolled
event. - [ListItem]
Title
,Subtitle
andInlineContent
will now always be centered no matter the height of theListItem
(If underlying content has not been set). - [ListItem] Setting
FormattedText
ofTitle
inTitleOptions
will now make theTitleLabel
wrap correctly. - [ListItem]
Subtitle
will now adhere toLineBreakMode
, instead of just cutting off.
- [NullableDatePicker] Fixed an issue where if dates were set as default, the pickers would still be null.
- [SegmentedControl] Added property
ShouldDeSelectOnSameItemTapped
. - [SegmentedControl] Fixed bug where
DidDeSelectItem
andDidSelectItem
were fired when consumer tapped on the item that already was selected.
- [SaveView] Made sure SaveView SavingText is bindable.
- [DatePicker][iOS] Made sure IgnoreLocalTime is respected.
- [DateAndTimePicker][Android] Made sure IgnoreLocalTime is respected.
- [NullableDatePickers] Fixed an issue where consumers could not set date or time.
- [ScrollPicker][iOS] Fixed an issue where you mass pressed on a scroll picker the application would crash
- [ScrollPicker][iOS] If consumer sets selected index to -1, the scroll picker's popover will be closed.
- [NullableDatePickers] If consumer sets the date or time to null, the switch will be set to false.
- [BreakingChange][ScrollPicker] Refactored so that it can be nullable.
- [iOS][Chip] Add slightly more width when
IsToggleable=True
in order to not truncate title.
- Added new components:
NullableDatePicker
,NullableTimePicker
andNullableDateAndTimePicker
. - [iOS] DatePickers will now have exact same design as Chips.
- Resources was updated from DIPS.Mobile.DesignTokens
- [ChipGroup] Clear old items when
ItemsSource
changes.
- [iOS][InlineDatePicker] Changed the presentation of
InlinedatePicker
from BottomSheet to Popover.
- [Tip] Made sure tip can be opened inside bottom sheets on iOS.
- [ItemPicker] Fixed an issue where the context menu did not reflect correctly what item was selected when setting selected item programatically.
- [iOS] Fixed performance of BottomSheet
- Resources was updated from DIPS.Mobile.DesignTokens
- Revert MAUI 8.0.20
- [ScrollPicker][BreakingChange] Added
OnDataInvalidated
, to force the UI to update itself. Added a BaseScrollPickerComponent.
- Added support for MAUI 8.0.20
- [ChipGroup] Added the ability to set the selected items to an empty list.
- [ChipGroup] Fixed an issue where the consumer could not set selected items after the component has been initialized.
- Added 'FormattedText' to Subtitle in
ListItem
.
- Added support for MAUI 8.0.14.
- [Android] Ensure
TaskCompletionSource.Result
forBottomSheetFragment
is set after fragment is removed from stack.
- Handle
IScrollPickerComponent
beingnull
.
- Added
VirtualListView
- Fixed an issue where
Sizes as font sizes
page were jittering
- Added
ScrollPicker
.
- [Tip] Added a new
TipService
to attach a tip to a view and show it. - [Tip] Added
TipCommand
to easily show a tip with your view. - [BarcodeScanner] Added the possibility of adding a tip to the zoom slider.
- Changed default localization to norwegian.
- Resources was updated from DIPS.Mobile.DesignTokens
- Added new component:
ChipGroup
.
- [EmptyView] is now public
- [EmptyView] Added EmptyViewModel as a property
- [ErrorView] is now public
- [ErrorView] Added ErrorViewModel as a property
- [BarcodeScanner][iOS] Made sure capture output runs on its own dispatcher.
- [BarcodeScanner][iOS] Set preset to PresetHigh for better image quality while scanning.
- [BreakingChange][Camera] Renamed
Preview
toCameraPreview
- [BarcodeScanner] Made sure the bar code scanning result goes through an observation process to determine the barcode with the most number of scans to the consumer.
- [BreakingChange][BarcodeScanner] BarcodeScanner.Start now requires a
DidFindBarcodeCallback(BarcodeScanResult)
instead ofAction<Barcode>
. - [BreakingChange][BarcodeScanner]
BarcodeScanMetadataView
is now renamed toBarcodeScanResultView
which acceptsBarcodeScanResult
.
- [BarcodeScanner][iOS] Improved rect of interest
- [BarcodeScanner][iOS] Improved recommended zoom factor
- [BarcodeScanner][iOS] Made sure the components app does not stop and start between results, this makes it more stable on iOS.
- [Image][iOS] Made sure we do nessesary null-check when the image is ready to be tinted.
- [BarcodeScanner][Android] Added slider for zooming.
- [BarcodeScanner][iOS] Added haptic when people tap to focus
- [BarcodeScanner][iOS] Added pinch to zoom
- [BarcodeScanner][iOS] Improved tap to focus
- [BarcodeScanner][iOS] Improved recommended zoom factor for people
- [BarcodeScanner][iOS] Accessability: Added better VoiceOver feedback for zoom slider
- Fixed components app.
- Added Barcode Scanner. This is not stable yet, but ready to be tested.
- Pin dotnet SDK and MAUI version (8.0.100 | 8.0.3).
- Resources was updated from DIPS.Mobile.DesignTokens
- [Picker] Provide
Title
property forMode=BottomSheet
.
- [Android] Fixed an issue where icons were black in modal pages.
- Fixed an issue where several
SaveView
's inContentSavePage
could potentially be created.
- Make event for context menu item clicked be triggered before the command is triggered
- [Android] Fixed an issue where application would crash if the
ShellToolbarAppearanceTracker
disposed itself before setting appearance
- Added possibility to set options for DIPS UI in
MauiProgram.cs
- Added option for setting global callback for when a context menu item is clicked
- [Android] Fixed an issue where toolbar items with icon added later to the page would be black.
- Fixed an issue where the label inside
SaveView
would take up space when text empty.
- [GarbageCollecting] Added
ShouldGarbageCollectPreviousPage
to Shell for a simple way of monitoring the previous page.
- Set default
MaxLines
andLineBreakMode
for subtitle onListItem
.
- [Android] Added null check to
CornerRadius
effect.
- Added 'Layout' effect with attached property
CornerRadius
.
- Added
FooterView
toSearchPage
.
- Added profiling properties for pages. See this link.
- [ListItem] Added
MaxLines
andLineBreakMode
to subtitle
- [GarbageCollection] Added garbage collection API to use whever you want.
- [MemoryLeaks] Added memory leaks project to use for testing in the future.
- [StateView] Fixed an issue where RefreshCommand would get executed several times when consumer enabling RefreshView for default implementations.
- Reset before memory leak.
- [BreakingChange][StateView] Added the ability for consumer to add a RefreshView to some state views.
- [ContextMenu] Add icon to group if Icon property is set and
IsCheckable
is false.
- Fixed an issue where title and description on EmptyView and ErrorView were not horizontally aligned
- [Label] Fixed an issue where label would not be shown if text was set after view was loaded.
- Resources was updated from DIPS.Mobile.DesignTokens
- [Label] Fixed an issue where Label would crash application if Text was not set.
- [StateView] Fixed an issue where the starting state was not set
- [StateView] Fixed an issue where the default views would always reference to the same object in memory, even though user has navigated back from the page and navigated in again
- Added option to turn on garbage collection logging when debugging for content pages.
- [BreakingChange] [StateView] ViewModel is now in charge of creating 'StateViewModel', added new property: 'ShouldUpdateViewWhenStateSetToSame'
- [iOS] [Label] Added a null check when checking for truncation
- Added two new properties to Label: 'TruncatedText' and 'TruncatedTextColor'
- [SystemMessage] Removed animation from the Android implementation to make sure the system message is horizontally in center and that the font size is correct.
- [ListItem] Made sure list item can be subscribed to and tapped on without having to set the
Command
as well.
- Added StateView.
- [SearchBar] Made sure to colorize cancel button when HasCancelButton has changed on ios.
- [ContextMenu] Fixed Context Menu data context not getting updated in collections that are updated from another page
- [SearchBar] Made sure
CancelCommand
is nullable and cancling without having aCancelCommand
does not crash.
- [iOS][ItemPicker] Ensure chip resizes when selected item changes.
- [SearchBar] Made sure unfocused event was correctly mapped.
- Fixed an issue where keyboard would still be opened when scrolling in ItemPicker bottomsheet.
- Added new property: 'ShouldAutoFocusSearchBar' for BottomSheet and ItemPicker.
- Fixed an issue where HorizontalInlineDatePicker took too much height when in landscape mode.
- Fixed an issue where HorizontalInlineDatePicker would instantly snap to dates when scrolling.
- DateView now changes its view based on its orientation.
- Resources was updated from DIPS.Mobile.DesignTokens
- [iOS] Chip will now have touch effect when tapping
- [iOS] Fixed an issue where the commands would fire when touches began and not ending on Chip
- Cleanup in ChipHandler for iOS
- [Button][iOS] Made sure setting size from the library only happens when the button has a text and a an image.
- Resources was updated from DIPS.Mobile.DesignTokens
- Fixed an issue where the floating navigation button sometimes did not respect changing orientation.
- Fixed an issue where buttons with only an icon did not have the correct layout.
- [SlidableLayout] Fixed a bug where you couldn't tap the next element (only the previous) in a slidable layout
- [Button] Fixed an issue when setting image to a button taking the entire parent space.
- Introduced two new properties on SearchBar.
- Keyboard now dismisses when pressing return key when having focus on dui:SearchBar
- SearchPage now changes the text/icon of return key determined by 'SearchMode'
- [iOS] Fixed an issue where the return key were not set as 'Done' when focusing dui:Entry
- [Android] Fixed an issue where dui:Entry were not unfocused when pressing the return key
- Make sure dui:Editor and dui:Entry capitalizes each new sentence.
- Added new property to ContentPage: 'ShouldHideFloatingNavigationMenuButton'.
- [BreakingChange] Removed the ability to set predefined pages where the FloatingNavigationMenuButton would hide itself automatically.
- [BreakingChange] Changed so that any type can be compared with when checking to hide the floating navigation button.
- Fixed an issue where floating navigation button would go out of bounds when changing orientation
- [MultiLineInputField] Added CancelCommand.
- [MultiLineInputField] Added Save and Cancel tapped events.
- [BottomSheet][Android] Fixed an issue where pressing delete buttons when the bottom sheet was open caused it to try closing.
- Set default margin for dividers on ListItem.
- Added new property to ListItem: 'AutoDivider'
- [iOS] Fixed an issue where releasing the long-press context menu interaction too early would fire off the tap event.
- Changed default padding of ListItem
- [BottomSheet] Made sure
Title
is visible for Android.
- Added
MaxWidth
toListItem.TitleOptions
- Resources was updated from DIPS.Mobile.DesignTokens
- Moved the sort icon to the left side of the text in SortControl, this implicitly also fixes that the text wont ever get truncated
- [BottomSheet][Android] Made sure consumers do not need to set the text of a toolbar item to add the toolbar item on Android.
- [ScrollView] Added additional space at the bottom of scroll view to make sure the last item is scrolled to approx half the size of the scrollview for better UX.
- [SearchPage] Made sure keyboard will disapear when scrolling the result.
- [SearchPage] Keyboard is now removed when people tap the cancel button.
- [CollectionView] Added a new ContentHeight property that will return the correct height of the CollectionView on iOS and Android.
- [CollectionView] Changed the size of the invisible footer from 1/3 to 1/2 of the CollectionView.
- SaveView will now only vibrate on success when user actually taps the SaveView (Added new property 'Command' to SaveView)
- [Android] Fixed a regression bug where the cursor would not be set at the end of the text when focusing Editor
- Fixed an issue where buttons in BottombarButtons (BottomSheet) did not take up full width
- [Android] Fixed an issue where the Bottombar had too low height
- Fixed an issue where changing the 'Position' property on BottomSheet would only run one time.
- [iOS] Fixed an issue where changing the 'Position' property on BottomSheet would not animate the change
- Added the ability to set the position of the last opened BottomSheet in BottomSheetService
- [Android] dui:Entry and dui:Editor will now expand the BottomSheet it is in when they have focus
- [iOS] Fixed an issue with nesting of the touch API, where several touch commands would fire at the same time.
- [Android] Fixed an issue where the keyboard would not show up if BottomBarButtons were set in a BottomSheet
- Fix padding for toggleable chip on iOS.
- [MultiLineInputField] Buttons will be disabled when programatically saving
- Fixed an issue where the 'IsInteractiveCloseable' property on BottomSheet was set to BindingMode.OneTime
- Added new option to InLineContentOptions in ListItem so that the InLineContent can span over UnderlyingContent
- Fixed an issue where focusing on a dui:Editor for the first time would not place cursor at the end of the text
- Fixed an issue where the BindingContext were not set for BottomBarButtons in a BottomSheet
- Added new properties to MultiLineInputField so that consumers can give users feedback when saving
- Fixed an issue where consumers could not set the padding of ListItem to zero.
- [BottomSheet] Added BottomBarButtons, to add floating buttons to the bottom of the bottom sheet.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- Renamed 'IsEllipsized' property to 'IsTruncated' in Label
- Now checks if the Label is truncated, does not matter if LineBreakMode is set (Ellipsis is apparent)
- Added new components: SingleLineInputField and MultiLineInputField
- Can now disable default padding in dui:Entry and dui:Editor
- [BottomSheet] Will now respond to property changes when its open.
- [BottomSheet] Added new
Position
property which will determine what position the bottom sheet will present in when opened. - [BottomSheet] People can drag the bottom sheet to large when the position is medium and vica versa.
- [BottomSheet] Consumer can open multiple bottom sheets and close them by using
BottomSheetService.CloseAll()
- [BottomSheet][BreakingChange] Replaced
OpenBottomSheet()
withOpen()
- [BottomSheet][BreakingChange] ShouldFitContent is replaced with
Position
=Fit
- [ContextMenu] Group
ContextMenuGroup
if at least one item alongside it.
- [SearchBar] Made it possible to Focus and Unfocus
- [SearchBar] Made sure consumers can set
Text
property.
- Fixed an issue with ListItem where Dividers took up space in height
- Fixed an issue where setting CornerRadius on ListItem would make the ListItem take up more space in height
- [SearchBar] Hooked up Focused event from internal serach bar to the component.
- [SearchPage] Added ShouldAutoFocus for the consumer to disable focusing.
- [SearchPage] Added SearchBarFocused event.
- Bottom sheets can now be set to not be dismissed when user swipes down the bottomsheet.
- Added two new properties to BottomSheet: 'IsInteractiveCloseable' and 'OnBackButtonPressedCommand'.
- Added
TextColor
andStyle
properties toSubtitleOptions
- [CollectionView] Added ReloadData method for consumers to redraw all items without modifying ItemSource.
- Resources was updated from DIPS.Mobile.DesignTokens
- Fix not being able to set
LoadableListItem.ContextMenu
- Resources was updated from DIPS.Mobile.DesignTokens
- Changed default dui:ContentPage background color
- Reverted change where color on Image were default set
- Fixed an issue where SectionHeader style was not correct
- Changed 'UI' font to a more bold font so that it is easier to differentiate between 'UI' and 'Body' fonts.
- Changed default page background-color.
- Added new component: dui:Editor.
- Changed from 16 -> 12 padding left and right in ListItem
- Changed from 16 -> 8 margin between icon and title in ListItem
- Moved icon to the left of the text in SortControl
- Set font-size, fontfamily and placeholdercolor in dui:Entry
- Set default textcolor and placeholdercolor in dui:SearchBar
- Changed default tintcolor for dui:Image.
- Added new style for Labels: 'SectionHeader'
- Reset base size changes on icons.
- Increased base size of icons.
- Ensure correct style is set for toggleable
Chip
when toggled off.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- [iOS] Fix distance between toggled icon and title on
Chip
.
- Added toggleable property on
Chip
- [BreakingChange] Change property
Chip.HasCloseButton
toChip.IsCloseable
- Added new control: 'Entry'
- [Android] Fixed a bug where progress bar would not take full width in Searchbar
- Set Ghost buttons to transparent background
- Cleaned up unused component
- Fixed a bug in SavingSamples where it would remove the SaveView before popping the page
- [BreakingChange] Changed TitleOptions property from FontSize to Style
- Added styles for Labels
- [iOS] Fixed periodic crash on initialization of Button in new .NET MAUI version.
- Upgraded to newest .NET MAUI version
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- [iOS] Fixed a bug where items inside ListItem were sometimes not tappable
- Added support for dividers in context menu
- [iOS] Fixed an issue where having native buttons in a subview of a view that has the touch API on it, would fire both the button and the view that has the touch api .
- [iOS] Fixed an issue with the touch API, where if you press and then drag the element, the touch effect would never go back to its default state.
- [Android] Fixed an issue where the action buttons in dialogs were not sometimes placed on the bottom
- Fixed an issue where the first and the last button in segmentedcontrol were squished to the side when selected
- [iOS] Fixed ShouldFitToContent on BottomSheet ignoring height of navigation bar
- [iOS] Possible fix for crash when using long press context menu
- [Android] Keyboard will now close when navigating from a searchbar
- Modified 'CheckmarkListItem' so that changing IsSelected does not fire SelectedCommand
- [RefreshView] Removed work around for RefreshView for .NET 7 which causes a glitch for iOS CollectionView in .NET 8.
- [ContextMenuItem] Made sure Item is a bindable property.
- Added 'FormattedText' property on TitleOptions
- Added 'IsDebugMode' and 'DebugOptions' property on ListItem
- Added 'IsDestructive' property on ContextMenuItem
- Added ContextMenuOptions on ListItem
- [Android] Fixed an issue where setting both ContextMenu and Touch API, would disable ContextMenu
- [Button] Renamed Rounded styles to IconButton
- [Button] Changed the disabled text color of buttons.
- [Button][Styles] Added PrimaryRoundedSmall/Large
- [Button][Styles] Added SecondaryRoundedSmall/Large
- [Button][Styles] Added GhostRoundedSmall/Large
- [iOS] Fixed another issue where Context menu would crash when in a CollectionView
- [ListItem] Margin and Paddings are now set on the underlying Border to prevent glitching placements of the containers contet.
- [iOS] Fixed an issue where Context menu would crash when in a CollectionView
- Added 'IsVisible' property to ContextMenuItem
- Fixed an issue where ContextMenuEffect could not be used in a CollectionView
- Made property 'IsChecked' bindable in ContextMenuItem
- [ListItem] Title will wrap better for consumers.
- [ListItem][TitleOptions] Added ability to control
LineBreakMode
andMaxLines
to support truncation and wrapping properly. - [ListItem] Made sure width options are set even if the corresponding view for the options is not set.
- [ComponentsApp] Made sure
none
is not added to animations page.
- [ImageButton] Made sure ImageButton padding is correctly set when IsVisible is flipped for Android
- [DatePicker][DateAndTimePicker] Fixed default colors being broken on iOS.
- [ContentSavePage] Setting IsSaving back to 'false' will now switch the content back to the original content
- Added
DateTimeView
component - Made
DateView
andSelectableDateViewModel
part of the public API
- [FilledCheckBox][SaveView][ContentSavePage] Changed the way the filled checkedbox looks when its not checked.
- [SaveView] Changed vibration effect to
success
vibration. - [Switch] Made sure it takes less space on Android.
- [SegmentedControl] Made sure it does not clip on Android.
- [FloatingNavigationButton] Changed the colors when opened and closed.
- [FloatingNavigationButton] Removed opacity.
- [FloatingNavigationButton] Changed the menu icons when opened and closed.
- [FloatingNavigationButton] Made sure VoiceOver and TalkBack works better with the component.
- [Android] Fixed an issue where icon in ToolbarItem did not set correct color
- Resources was updated from DIPS.Mobile.DesignTokens
- [FloatingNavigationButton] Made sure people can tap the right side of the screen.
- Fixed an issue where app would crash trying to set tint color on Button when using hot reload
- Resources was updated from DIPS.Mobile.DesignTokens
- Fixed an issue where app would crash trying to set tint color on ImageButton when using hot reload
- [FloatingNavigationButton] Fixed an bug where the entire page of the app was not clickable until you opened the Floating Navigation.
- [Layout] Made sure all layouts ignore safe area when its not set by the consumer. Grid, StackLayout etc.
- [FloatingNavigationButton] Made sure people can tap the background of the FAB to close it.
- [FloatingNavigationButton] Made sure sizes of the icons are smaller for better UX.
- [FloatingNavigationButton] Made sure its accesibile for text readers.
- Resources was updated from DIPS.Mobile.DesignTokens
- Changed touch effect color on Android for dui:Buttons
- Icon size on buttons will now scale down with the Button's height
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- Added Button styles
- [ItemPicker] Added haptics for when people select a item from ItemPicker with context menu mode.
- [SortControl] Added haptics for when people select a sort option.
- [SegmentedControl] Added haptics for when people select/deselect a segment from the segmented control.
- [ContextMenu] Added more shadow to context menu on Android.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- [SaveContentPage] Added haptics when the page has finished saving.
- [ItemPicker] Added haptics when people select a item.
- [MultiItemsPicker] Added haptics when people select a items.
- [Checkmark] Added haptics when people touch it.
- [RadioButton] Added haptics when people touch it.
- Fixed an issue where ItemPicker in bottom sheet had strange behavior when searching.
- [ItemPicker] The style when a placeholder is present has now changed.
- [ItemPicker] The default Placeholder is now
Choose
. The previous value was string empty. - [ItemPicker] Fixed an issue where ItemPicker in bottom sheet had strange behavior when searching.
- [ItemPicker] If the consumer changes ItemsSource when people have selected an item that is not a part of the new ItemsSource, the SelecteItem should be set to null.
- [SearchPage] Made sure the Android keyboard is removed when the search page is destroyed.
- [SearchPage] Made sure Android keyboard is shown when the page is displayed and the search bar has focus.
- [SearchBar] Made sure we can set focus correct for Android with Focus().
- [ContentSavePage] Made sure animation is always displaying.
- [Chip] Made sure truncates and the end of the chip if the title is too long.
- Resources was updated from DIPS.Mobile.DesignTokens
- [Components] Fixed an issue where iOS appicon did not work.
- [Android] Removed workaround for padding on ImageButton
- Fixed an issue where Components would not build
- Upgraded project to .NET 8
- Removed Modal effect
- Resources was updated from DIPS.Mobile.DesignTokens
- Added new property to SearchPage: CancelCommand
- Changed design of SortControl
- Changed so that items will be compared with .Equals function instead of by memory reference in SortControl
- Fixed a bug where SortControl would crash if ItemsSource were not set instantly
- Added SortControl
- [iOS] Fixed a bug where the color of an Image/ImageButton would be reset to black when changing the source in runtime
- Added DividersOptions property to ListItem to be able to set margin on TopDivider and BottomDivider
- [SearchBar] Made sure android removes the text when the clear button is tapped.
- [InLineDatePicker] Fixed an bug where it would sometimes not render until people had tapped or slided the layout.
- Resources was updated from DIPS.Mobile.DesignTokens
- [FloatingNavigationButton] Added option to add a navigation button as the last button. This will be respected if a new button is added after the button was added.
- [SearchBar] Added ClearCommand as a command to execute when people tap the clear button (x mark).
- [SearchPage] Make sure clear the text and state of the view when people tap the clear button.
- [ItemPicker] Made sure Placeholder gets set the first time it draws.
- Selected Item can now be set to null. When its set to null the placeholder will be used.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- Added unique identifiers for the animations,sizes and colors resources enum.
- Made sure to do a nullcheck on SearchCommand before executing it.
- Added unique identifiers for the icon resources enum.
- Made sure filled check box touch effect works when the command property changes
- Resources was updated from DIPS.Mobile.DesignTokens
- [Android] Made sure we safely commit the fragmentmanager when the state was lost to prevent app crashes.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- [ContentControl][iOS] If content is CollectionView we wrap it in a grid with row=auto.
- [ListItem] Options now inherit the BindingContext of the ListItem.
- [Chip] Made sure background color of chip is set correctly.
- [Checkmark] Added
- [RadioButton] Added
- [Switch] Added
- [SearchBar] Change the default BarColor to Transparent
- [MultiItemsPicker] Changed the style of the items to select from.
- [ItemPicker] Changed the style of the items to select from.
- [ComponentsApp] Removed CheckBoxes samples and added Selection samples.
- Resources was updated from DIPS.Mobile.DesignTokens
- Added animations API and added SkiaSharp Lottie nuget dependency.
- [Android] Fixed a bug where setting IsEllipzised property were not set correctly when in a CollectionView
- Fixed a bug where setting FormattedText on dui:Label would crash the application.
- [Android] Fixed a bug where content in LoadableListItem were invisible.
- Fixed a bug where if InLineContent were not set in NavigationListItem, the navigation icon were not visible.
- Added a new property to dui:Label to check if the text were ellipsized.
- Fixed a bug where setting LineBreakMode on Label would always truncate to one line.
- Resources was updated from DIPS.Mobile.DesignTokens
- [ComponentsApp] Fixed an issue where the wrong data was displayed when picking items from the multi item picker.
- [MultiItemsPicker] Will now use ToString if ItemDisplayProperty is not set.
- [SegmentedControl] Added segmented control.
- [Label] Changed default text color to neutral_90.
- [CollectionView] Added ShouldBounce property.
- [ScrollView] Added ScrollView as a component, with ShouldBounce property.
- [SearchPage] The underlying SearchBar is now public. This can be used to clear the search bar programatically or other things.
- [Android][CollectionView] Fixed a bug where if you set ItemSpacing on a CollectionView, the CollectionView tries to snap to the elements.
- [ItemPicker] Made sure to use
Equals
instead of memory reference to check if an item was selected the first timeItemPicker
opens. - [HorizontalInlineDatePicker] Fixed an issue where the date picker when people press the current date did not appear on iOS.
- ItemPicker and MultiItemsPicker can now be opened from a
Open()
method or by usingOpenCommand
property.
- Removed obsolete properties from ListItem
- Made sure in line label for date and time picker has the correct color and that the size is not bigger than what it should.
- Made sure Delay and ShouldDelay are added to SearchBar as well as SearchPage.
- Made sure SearchPage does not crash when you have not set a HintView or NoResultView
- [BreakingChange] Refactored ListItem and its API, along with its extensions; LoadableListItem and NavigationListItem. Wiki page with the changes can be found here.
- [MultiItemPicker] Added new component to pick multiple items.
- [Chip] Changed default colors and added property to change it.
- [Chip] Added property to set corner radius.
- [DatePicker] Made sure the iOS inline date picker follow the same default color as Chip. This however is not the case for [TimePicker] as of yet.
- [ItemPicker] Renamed BottomSheetConfiguration to BottomSheetPickerConfiguration
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- [ListItem] made sure subtitle changes are reflected to title label.
- Fixed bug where content would not expand when setting static content item on LoadableListItem.
- [ItemPicker] Made sure the search bar is default visible when in bottom sheet mode.
- [ItemPicker] Added the posibility of adding a custom selectable item template.
- [ItemPicker][Breaking Change] Should have search bar is now moved to
BottomSheetConfiguration
.
- [Colors] Added the posibility of setting an colors
Alpha
if needed. - [Button] Made sure the shadows are properly removed no matter what color.
- [Button] Made sure paddings are correct.
- [CollectionView][iOS] Fixed an issue where collectionview had the wrong width when in a scrollview.
- [RefreshView] Removed workaround code for refreshview when the new collection view hotfix was added to remove complexity.
- [CollectionView] Fixed an issue where Itemspacing was inherited between collection views between pages.
- [ListItem] Added
VerticalContentItemRowHeight
.
- Fixed an issue where dividers was using extra space on iOS.
- [ListItem] Added the ability to set the icons visibility.
- [ListItem] Changed inheritance from ContentView to Border for consumers to modify the shape and colors of the list item.
- [ComponentsApp] Cleaned up List Items page.
- Rollback changes to 13.14.0 to add FloationgNavButton to RemoveViewsLocatedOnTopOfPage
- Added
FloatingNavigationButtonService.Remove()
toRemoveViewsLocatedOnTopOfPage
- Changed default values of column width in ListItem for Title and HorizontalContentItem
- Consumers can now override column width for Title and HorizontalContentItem in ListItem
- Resources was updated from DIPS.Mobile.DesignTokens
- LoadableListItem can now have a static item, that is not affected when the LoadableListItem is set to busy or error.
- Added properties: TitleTextColor and TitleFontSize on ListItem
- Moved Icon property from NavigationListItem to ListItem
- Changed color of Divider
- Fixed a bug where items inside ListItem were not clickable
- Hooked IsEnabled property on ListItem to enable/disable touch
- Fixed a bug where you could not set Command on LoadableListItem
- Extended LoadableListItem with BusyText and ErrorText, also the possibility to fade content in
- Fixed bug where ItemPicker's ItemsSource would not update itself
- [Android] Fixed visual bug with dui:Touch.IsEnabled
- Added LoadableListItem
- Extended ListItem to be able to contain a vertical content item
- Added SaveView
- Added FilledCheckBox
- Added ContentSavePage
- ListItem can now take in a Command and a CommandParameter
- Extended FloatingNavigationButton so that consumers can programatically close it and also remove it from layout.
- [Android] Changed API calls to get FragmentManager so Android < 31 can also execute the code.
- Changed animation of FloatingNavigationButton.
- [Android] dui:ImageButton now fixes padding issue: dotnet/maui#14905
- Added ShouldDelay property to SearchPage for enabling a small delay before search is invoked
- Added Delay property for defining delay in milliseconds (default = 500)
- Added SearchMode property for disabling automatic search triggering on search text changed
- Add IsEnabled property for Touch.
- Added IndicatorView.
- Made sure RefreshView is wrapping the content in a Grid to fix : dotnet/maui#7315 on dotnet 7.
- [ListItem] Added font attributes for title and subtitle.
- [BottomSheet] Made sure Android and iOS bottom sheets are always closed from RemoveViewsLocatedOnTopOfPage().
- [BottomSheet] Made sure Android bottom sheet service returns a task that waits until the fragment is dismissed for consumers to rely on the task from closing methods.
- [CollectionView] Made sure we add additional space at the end of the list (footer) so the last item is always visible. 1/3 of the visible list will be added as a invisible footer so people can easily see and tap the last item.
- Added ActivityIndicator and RefreshView to reuse same colors and size for indicator.
- [ComponentsApp] Made sure that only positive sizes are displayed in the samples, as negatives or 0 makes sense.
- Resources was updated from DIPS.Mobile.DesignTokens
- [BreakingChange] List item corner radius defaults to 0.
- Extended dui:Button and dui:ImageButton so consumers can set additional hitbox size.
- Added ripple effect to dui:ImageButton.
- Added DateTimeFormatter
- Made sure modal effect on Android to add navbar does not use a vertical stack layout because it will break collection view scrolling on Android.
- Icons on a context menu item is now of type icon image source.
- [iOS] Fixed an issue where Floating Navigation Button did not work
- Extended NavigationListItem with the possibility to add an icon to it
- [Android] Fixed an issue where setting padding directly on a (modal)contentpage would also pad the toolbar
- [iOS] Fixed an issue where touch effect would still be imminent when a user taps and then slides the finger out of bounds
- [Android] Fixed an issue where touch effect would go out of bounds on some elements
- [Android] Added a workaround to enable toolbar for modal pages
- Rewrote how icons, sizes and colors are stored
- [iOS] Fixed an issue when displaying two dialogs concurrently
- Added dialogs
- Added SystemMessage
- Fixed an issue where touch effect were not displayed on some devices
- Changed touch behaviour
- Fixed an issue with ios Inline date pickers width being too small.
- Made sure that Android date picker respects the day of min and max dates.
- Resources was updated from DIPS.Mobile.DesignTokens
- Made sure nuget package uses releaes configuration
- Made sure the Touch effect on iOS does not UI freeze when people touch view elements its attached to.
- Fixed an issue on iOS with Touch effect when people tap and pan, like in a scrollable view.
- Fixed an issue where Title and Subtitle of ListItem would not wrap and continue horizontally, overwriting content.
- Added possibility to set TopDivider and BottomDivider on ListItem
- Added dui:Image to set color of an image
- Added option to add custom view to navigationlistitem
- [BreakingChange] Changed colors of ContentPage, BottomSheet, Context Menu Android and Chip (Pickers).
- [DatePicker] Made sure android only sets date when people tap the ok (positive) button.
- [TimePicker] Made sure android only sets time when people tap the ok (positive) button.
- [TimePicker] Made sure android timepicker uses 12/24H format based on the users locale.
- [HorizontaInlineDatePicker] Made sure it doesnt crash when people select a date from the date picker service.
- [HorizontaInlineDatePicker] Made sure people can not set a date outside of the upper and lower ranges of the horizontal inline date picker.
- [DatePickerService] Made sure people have to manually close the date picker to set the date.
- [BottomSheet] Made sure iOS closed events is called when bottom sheet is programatically closed.
- [BottomSheet] Made sure toolbar items inherits the consumers bottom sheet binding context.
- [ContextMenu] Changed the style of context menu on Android. It now has more rounded corners, more elevation and the correct surface color as other material components.
- [ComponentsApp] Added sizes as font sizes and as boxes to size samples.
- [ImageButton] Made sure a default TintColor is set to make sure it doesnt crash when its not set.
- Resources was updated from DIPS.Mobile.DesignTokens
- Added Divider
- [Android] Removed margin around material buttons
- [Android] Fixed an issue where ListItem had margin
- Made sure that HorizontalInlineDatePicker do not crash when you change date.
- [ComponentsApp] Made sure the correct version of gets set to the iOS app.
- Resources was updated from DIPS.Mobile.DesignTokens
- Extended our Touch(effect) to include "LongPressCommand", users can now long press on any element
- Added AsyncCommand
- [BreakingChange] Changed the animated flag for closing bottom sheets from bottom sheet service from default:false to true.
- Fixed an issue where HorizontalInlineDatePicker did not set a colors for the date that it started with.
- Fixed an issue where item picker bottom sheet mode did not close the bottom sheet.
- Fixed an issue where setting animated flag when closing bottom sheet did not do anything for Android.
- [ComponentsApp] Added version number to the first pages title.
- [BreakingChange] Changed API of BottomSheet regarding events when closing/opening
- Added the ability to set title and toolbar items to BottomSheet
- [iOS] Fixed an issue where OnClosed were not called when BottomSheet is closed
- Added SlideableLayout
- Added SlideableContentLayout
- Added HorizontalInlineDatePicker
- Changed namespace of builder to correspond with internal project structure. Use DIPS.Mobile.UI.API.Builder now.
- [Android] Fixed an issue where CollectionView's height inside BottomSheet would expand beyond its items
- [Android] Fixed an issue where the Handle and Searchbar were scrollable inside BottomSheet
- [iOS] Fixed an issue where CollectionView's height inside BottomSheet would be cut short
- Consumers has now the option to include a searchbar in BottomSheet's
- Added FloatingNavigationButton
- Added new effect: ImageTint
- Renamed existing effect: DUITouchEffect => Touch
- Added test project: Playground
- Resources was updated from DIPS.Mobile.DesignTokens
- ListItem: Renamed SubTitle to Subtitle
- SkeletonView: Added SkeletonView as a new component. This is placed in the Loading namespace.
- Components app: New Loading page with Skeleton loading.
- Markup extensions: Added Margin and Padding markup extensions.
- Resources was updated from DIPS.Mobile.DesignTokens
- Resources was updated from DIPS.Mobile.DesignTokens
- Content Control: Added a new ContentControl for consumers to easily switch between two different views in a page based on a item and a template selector.
- Components app: Cleaned up search bar pages background.
- Colors: Added Deprecated Colors API with mapping to the new Colors to use.
- Colors: Added new colors from the design system
- Sizes: Changed namespace of Sizes, breaking change.
- Context Menu: Fixed a bug where context menus sometimes does not show on iOS.
- Context Menu: Fixed issue where checking items did not work as expected for both platforms.
- Added new colors from Design System.
- Components app: Added better download message.
- Components app: Added search for resources.
- Added build script for delivering Components app to AppCenter
- Added in app API for checking version of AppCenter
- Breaking change: Changed the ItemPicker base class to remove unessesary properties.
- Breaking change: Changed ItemPickers Title property to Placeholder
- Added ItemSpacing for CollectionView
- Added a default ItemSpacing for CollectionView
- Added VerticalStackLayout
- Added default Spacing for VerticalStackLayout
- Added StringFormat markup extension to easily use a static string format with an hard argument in XAML.
- Cleaned up components app
- Made sure Components app samples are alphabetical
- Added Splash screen, this can be disabled by setting False in consumers csproj.
- Added TimePicker
- Added DateAndTimePicker
- Can now set Minimum and Maximum date for DatePickers
- Added Chip
- Changed style of Pickers
- Added ListItems
- Added TouchEffect
- Minor changes to the search bar in order for it to work more smoothly.
- Breaking change: Renamed dui:Image to dui:NativeIcon and simplified the ios and android properties for setting the icon.
- Added for our icons. This can be disabled by setting DIPSIncludeIcons = False in your .csproj.
- SearchBar on Android is now showing if you have set HasCancelButton = false.
- Added DatePicker
- Added ItemPicker
- Added SearchPage
- Added SearchBar
- Added CheckBoxes
- Fixed bottom sheet height issues / scroll issues when using collection view on iOS
- Made bottom sheet content is centered and reset the background color.
- Added first version