From 57c9f6f6fa388755bc74476c850de5c0116a93b6 Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Mon, 4 May 2026 18:45:48 +0330 Subject: [PATCH 1/2] fix positioning issues of callouts #11183 --- .../Buttons/MenuButton/BitMenuButton.razor | 275 +-- .../Buttons/MenuButton/BitMenuButton.razor.cs | 3 + .../BitCircularTimePicker.razor | 218 +-- .../BitCircularTimePicker.razor.cs | 3 + .../Inputs/DatePicker/BitDatePicker.razor | 1371 +++++++------- .../Inputs/DatePicker/BitDatePicker.razor.cs | 3 + .../DateRangePicker/BitDateRangePicker.razor | 1595 +++++++++-------- .../BitDateRangePicker.razor.cs | 3 + .../Inputs/Dropdown/BitDropdown.razor | 651 +++---- .../Inputs/Dropdown/BitDropdown.razor.cs | 3 + .../Inputs/SearchBox/BitSearchBox.razor | 97 +- .../Inputs/SearchBox/BitSearchBox.razor.cs | 3 + .../Inputs/TimePicker/BitTimePicker.razor | 218 +-- .../Inputs/TimePicker/BitTimePicker.razor.cs | 3 + .../Navs/Breadcrumb/BitBreadcrumb.razor | 459 ++--- .../Navs/Breadcrumb/BitBreadcrumb.razor.cs | 3 + .../Navs/DropMenu/BitDropMenu.razor | 101 +- .../Navs/DropMenu/BitDropMenu.razor.cs | 3 + .../Surfaces/Callout/BitCallout.razor | 19 +- .../Surfaces/Callout/BitCallout.razor.cs | 3 + .../JsInterop/CalloutsJsRuntimeExtensions.cs | 2 + src/BlazorUI/Bit.BlazorUI/Scripts/Callouts.ts | 56 +- 22 files changed, 2603 insertions(+), 2489 deletions(-) diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor index 2501a04127..3e58665974 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor +++ b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor @@ -1,139 +1,140 @@ -@namespace Bit.BlazorUI -@inherits BitComponentBase -@typeparam TItem +@namespace Bit.BlazorUI +@inherits BitComponentBase +@typeparam TItem + + + + + +@{ + var _selectedItem = Sticky ? SelectedItem : null; +} +
+ + + @if (Split) + { + + + + } +
- - - +
-@{ - var _selectedItem = Sticky ? SelectedItem : null; -} -
- - - @if (Split) - { - - - - } - -
- -
- -
-
\ No newline at end of file +
+ +
\ No newline at end of file diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor.cs b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor.cs index 2fa2ffbaa2..603afd16ee 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/MenuButton/BitMenuButton.razor.cs @@ -10,6 +10,7 @@ public partial class BitMenuButton : BitComponentBase where TItem : class private List _items = []; private BitButtonType _buttonType; private string _calloutId = default!; + private string _overlayId = default!; private IEnumerable _oldItems = default!; private DotNetObjectReference> _dotnetObj = default!; @@ -271,6 +272,7 @@ protected override void RegisterCssStyles() protected override async Task OnInitializedAsync() { _calloutId = $"BitMenuButton-{UniqueId}-callout"; + _overlayId = $"BitMenuButton-{UniqueId}-overlay"; if (Sticky && SelectedItemHasBeenSet is false && DefaultSelectedItem is not null) { @@ -617,6 +619,7 @@ await _js.BitCalloutToggleCallout( component: null, calloutId: _calloutId, callout: null, + overlayId: _overlayId, isCalloutOpen: IsOpen, responsiveMode: BitResponsiveMode.None, dropDirection: BitDropDirection.TopAndBottom, diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/CircularTimePicker/BitCircularTimePicker.razor b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/CircularTimePicker/BitCircularTimePicker.razor index f8496d2132..40c2f732e3 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/CircularTimePicker/BitCircularTimePicker.razor +++ b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/CircularTimePicker/BitCircularTimePicker.razor @@ -58,10 +58,6 @@ } - -
} else { @@ -76,125 +72,133 @@ readonly="@(AllowTextInput is false || ReadOnly)" /> } -
-