Skip to content

Surfaces

Callout

Bit.BlazorUIPopoverPopup

Callout is an anchored surface that hosts any content - a tip, a form, a filter panel, a menu - next to an anchor of its own, next to any element on the page, or at a point a right-click happened, without blocking what is behind it. It places itself where there is room, on the side and the alignment asked for wherever they fit, points at its anchor with an optional arrow, and keeps following it for as long as it is open. It opens on a click or on hover and closes on an outside click or the Escape key, and it can take the keyboard over, dim the page behind it, nest inside another callout, and become a swipeable panel on the small screens.

Usage

Every example is live. Open its code to see exactly what produced the component running underneath.

Basic

The Anchor is what the callout is positioned against and what toggles it on a click, and Content (an alias of ChildContent) is what the callout holds. The anchor is a plain container around whatever is put in it, so it should hold the focusable element the user activates - a button, most of the time. IsEnabled turns the whole callout off, down to the Open, OpenAt and Toggle methods, and closes one that was already open.

NoOverlay leaves the page its own clicks while the callout is open, by not rendering the overlay that otherwise covers the page and takes the click that dismisses the callout. Whatever is underneath stays usable - an outside click still dismisses the callout, but it also reaches what it landed on. DefaultIsOpen is the state the callout starts in and then manages itself, so the third one here is already open when the page loads; it is given NoOverlay as well, since a callout that opens with the page would otherwise spend the first click made anywhere on it on dismissing itself.

This is the callout content.
The page keeps its own clicks while this callout is open.
This callout owns its own open state.

External anchor

The callout does not have to render its own anchor: AnchorId points it at the id of any element on the page and AnchorEl at an element reference, which is the one to reach for when the anchor has no id of its own. Both leave the opening to the consumer, so the callout is driven through its Toggle, Open and Close methods, or through IsOpen.

Selected date
September 2026
S
M
T
W
T
F
S
Selected date
September 2026
S
M
T
W
T
F
S

Context menu

OpenAt opens the callout at a point on the screen instead of against an anchor, which is what a context menu needs. It takes the coordinates directly, or the mouse event they came from, so a right-click handler is the whole of it. The point is placed against exactly as an anchor would be, so the menu still flips to the side with the most room and is still kept within the screen. Calling it again while the callout is open moves it to the new point rather than closing and reopening it, and the anchor takes over again the next time anything else opens the callout.

A context menu is what NoOverlay is there for: with the overlay in the way, the second right-click would land on it, so the browser would show its own menu over the callout instead of the callout moving to the new point. The callout is still dismissed by an interaction outside of it - a click anywhere else on the page, or a right-click the page does not take for itself.

Right-click anywhere in here

Last action: none

Binding

IsOpen is two-way bindable, so the open state can be owned by the page: anything can open the callout and its own content can close it. DefaultIsOpen, in the Basic example above, is the uncontrolled version of the same thing - the state the callout starts in, which it then manages itself - and it is only read when IsOpen is not bound.

This is the callout content.
You can even close it from here!

Open on hover

OpenOnHover opens the callout when the pointer enters the anchor and closes it when the pointer leaves both the anchor and the callout, which is what a hover card is expected to do. HoverOpenDelay keeps a pointer that is only passing over the anchor from opening it, and HoverCloseDelay (150ms by default) bridges the gap between the anchor and the callout so that moving from one to the other does not close what the pointer is on its way to. The anchor keeps toggling the callout on a click, and the mode turns itself off on the touch screens, where hovering does not exist - so the keyboard and the finger are both left with a way in. The pointer is tracked over the anchor the callout renders itself, so this mode goes with Anchor rather than with an external one.

This callout opened on hover.
Both the opening and the closing waited half a second.

Arrow

ShowArrow draws a beak on the edge of the callout that faces the anchor, centred on the anchor and kept clear of the rounded corners of the callout. It follows the callout wherever it is placed - above, below or beside the anchor - and is painted in the same color as the callout, border included. ArrowSize sets the side of the square it is cut out of, in pixels (12 by default), and a bigger beak is kept further from the corners of the callout so the rounding never cuts it. ArrowPadding is that distance from the corners (16px by default, never less than the arrow itself): a wider one pulls the beak back towards the middle of a callout aligned with the edge of a wide anchor, and a narrower one lets it sit closer to the corner and nearer to what it points at. Pair it with a Gap to leave the beak room to stand out of the anchor.

This callout points at its anchor.
The beak takes the border of the callout too.
A beak twice the size of the default one.
The beak is held 64px away from the corners of the callout.

Positioning

Direction declares which sides the callout may be placed on, and it picks the one with the most room among them: TopAndBottom (the default) keeps it above or below the anchor, while All also lets it move beside the anchor when neither of those has room, where it is aligned with the top of the anchor. Side asks for one side by name and wins over Direction where it has the room; it is a preference rather than a demand, so a callout that does not fit there is placed on the opposite side, and only when neither fits does Direction decide as usual - unless NoFlip holds it to the side it was asked for whatever the room there, which is what a layout that has to stay put needs. Alignment runs across that choice: it lines the callout up with the Start edge of the anchor (the default), with its Center, or with its End edge - horizontally for a callout above or below the anchor, vertically for one beside it - and the callout is still slid back onto the screen afterwards if the alignment would hang it off an edge. AlignmentOffset slides the callout along that same axis, inwards from whichever edge the alignment picked, so the same value moves a Start-aligned callout and an End-aligned one towards each other and a centered one not at all. Gap is the distance in pixels the callout keeps from the anchor, on whichever side it ends up on, and CollisionPadding is the distance it keeps from the edges of the screen - the room to leave around it, and around a fixed header or toolbar it should not end up under.

The placement is kept up to date for as long as the callout is open: it follows the page scrolling and resizing under it, the visible area changing as a mobile keyboard comes and goes, and an anchor that changes size, and it hides itself while its anchor is scrolled out of sight rather than pointing at nothing. Reposition covers what it cannot see - a content of its own that has grown or shrunk - and lays it out again without replaying its entry animation. MaxWindowWidth is the window width below which the callout may hang off the end of the screen instead of being slid back onto it, for the layouts that scroll sideways on narrow screens and would otherwise have the callout pulled away from the anchor it belongs to.

Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Callout content 13
Callout content 14
Callout content 15
Callout content 16
Callout content 17
Callout content 18
Callout content 19
Callout content 20
Callout content 21
Callout content 22
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Callout content 13
Callout content 14
Callout content 15
Callout content 16
Callout content 17
Callout content 18
Callout content 19
Callout content 20
Callout content 21
Callout content 22
Placed above the anchor whenever there is room above it.
Placed beside the anchor, on the side the content ends at.
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Centered on the anchor.
Lined up with the end edge.
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Slid 32px in from the start edge of the anchor.
The same value, running in from the end edge instead.
This callout keeps 16px away from its anchor.
Callout content 1
Callout content 2
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Callout content 13
Callout content 14
Callout content 15
Callout content 16
Callout content 17
Callout content 18
Callout content 19
Callout content 20
Callout content 21
Callout content 22
Callout content 23
Callout content 24

Sizing

A callout is only as wide as its content needs by default. Width, MinWidth and MaxWidth take CSS values and size it directly - a width or a maximum width is one a long content wraps inside rather than stretching the callout past it - while MaxHeight caps it and scrolls whatever is left over. SetCalloutWidth widens the callout to at least the width of the anchor and FixedCalloutWidth holds it to at most that width, so a wider content wraps instead of stretching it; both are applied after the callout is measured, so they take precedence over Width.

A callout of a fixed width.
A long line of text that wraps inside the callout instead of stretching it across the page.
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Callout content 13
Callout content 14
Callout content 15
Callout content 16
Callout content 17
Callout content 18
Callout content 19
Callout content 20
Callout content 21
Callout content 22
Callout content 23
Callout content 24
Short content, anchor-wide callout.
A long line of text that wraps rather than making the callout wider than its anchor.

Header & footer

Header and Footer lay the callout out as a column of the two of them around a body that takes the scrolling, so a title and a row of actions stay put while a long content scrolls between them. The callout wires the three parts up itself: the body is what is capped to the room the viewport leaves, less the heights of the header and the footer, so the callout is never taller than the screen it is shown on and nothing is cut off. The header is also what names the callout to the screen readers unless AriaLabel names it directly, which is the accessible name a callout that reports itself as a dialog is required to have.

The same layout can be built by hand out of the consumer's own elements, which is what a content with more than three parts to it needs: ScrollContainerId hands the scrolling over to an element inside the content, HeaderId and FooterId name the elements above and below it whose heights come off the cap, and ScrollOffset is any further vertical space to keep out of it. All three win over the parts the callout renders itself.

A header that stays put
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Callout content 13
Callout content 14
Callout content 15
Callout content 16
Callout content 17
Callout content 18
Callout content 19
Callout content 20
Callout content 21
Callout content 22
Callout content 23
Callout content 24
Callout content 25
Callout content 26
Callout content 27
Callout content 28
Callout content 29
Callout content 30
Callout content 31
Callout content 32
Callout content 33
Callout content 34
Callout content 35
Callout content 36
Callout content 37
Callout content 38
Callout content 39
Callout content 40
Callout content 41
Callout content 42
Callout content 43
Callout content 44
Callout content 45
Callout content 46
Callout content 47
Callout content 48
Callout content 49
Callout content 50
Callout content 51
Callout content 52
Callout content 53
Callout content 54
Callout content 55
Callout content 56
Callout content 57
Callout content 58
Callout content 59
Callout content 60
Callout content 61
Callout content 62
Callout content 63
Callout content 64
Callout content 65
Callout content 66
Callout content 67
Callout content 68
A header that stays put
Callout content 1
Callout content 2
Callout content 3
Callout content 4
Callout content 5
Callout content 6
Callout content 7
Callout content 8
Callout content 9
Callout content 10
Callout content 11
Callout content 12
Callout content 13
Callout content 14
Callout content 15
Callout content 16
Callout content 17
Callout content 18
Callout content 19
Callout content 20
Callout content 21
Callout content 22
Callout content 23
Callout content 24
Callout content 25
Callout content 26
Callout content 27
Callout content 28
Callout content 29
Callout content 30
Callout content 31
Callout content 32
Callout content 33
Callout content 34
Callout content 35
Callout content 36
Callout content 37
Callout content 38
Callout content 39
Callout content 40
Callout content 41
Callout content 42
Callout content 43
Callout content 44
Callout content 45
Callout content 46
Callout content 47
Callout content 48
Callout content 49
Callout content 50
Callout content 51
Callout content 52
Callout content 53
Callout content 54
Callout content 55
Callout content 56
Callout content 57
Callout content 58
Callout content 59
Callout content 60
Callout content 61
Callout content 62
Callout content 63
Callout content 64
Callout content 65
Callout content 66
Callout content 67
Callout content 68

Responsive

ResponsiveMode turns the callout into a panel on small screens (under 600px), which slides in from an edge of the screen and is swiped away along the same axis it slid in on. Panel takes its edge from PanelPosition - Start or End for a side panel - while Top and Bottom are sheets that come down from the top or up from the bottom. Point ScrollContainerId at the scrollable element inside the content so the swipe gesture does not fight its scrolling. Resize the window to see it.

Filters
Filters
Swipe up to dismiss it
Swipe down to dismiss it

Surface

Background paints the callout in one of the background color kinds of the library and Border draws a border in one of the border kinds; the beak of an arrowed callout takes both, so it always matches the surface it points out of. NoShadow drops the elevation, for a callout that leans on its border instead.

A secondary background.
A primary border.
No elevation, only a border.

Modal

Modal dims the page behind the callout and holds it still while the callout is open, so the callout reads as the only thing in play - the wheel and the touch are the callout's, and the page cannot scroll the callout away underneath it. The overlay still dismisses it on a click, and pairing it with TrapFocus is what makes the callout modal to the keyboard and to the screen readers as well as to the eye.

The page behind is dimmed.

Keyboard & focus

The anchor carries the relationship of the callout for the screen readers (aria-haspopup, aria-controls and aria-expanded), and Escape closes the callout from either side of it - from inside the callout, and from the trigger in the anchor, where the focus stays unless the callout was asked to take it. Whenever the callout is closed while the focus is in it, the focus goes back to the anchor, so the keyboard never ends up at the top of the page.

AutoFocus moves the focus into the callout as soon as it opens, to its first focusable element - or to whichever element in the content carries a data-autofocus attribute, for the callouts whose first focusable element is not the one worth starting at - so a pointer user reaches the content without an extra Tab too. TrapFocus goes further and keeps the keyboard inside: Tab and Shift+Tab cycle within the callout instead of running on into the page behind it, and the callout reports itself as a modal dialog to the screen readers. It is what a callout hosting a form or a filter panel needs, and it implies AutoFocus. Role overrides the ARIA role for the cases those two do not cover, and AriaLabel names the callout where its content does not - which makes it a group unless a role of its own says otherwise, since a name on a plain container is one no screen reader announces. A callout that renders a Header is named by it without either of the two, so a dialog always has the accessible name it is required to have. The rest is wired up on its own: the trigger inside the anchor reports the callout with aria-controls and aria-expanded, and it names what it opens with aria-haspopup only where the callout really is one of the kinds that property can name - a dialog, a menu, a listbox, a tree or a grid.

Everything is up to date.

Dismissal

A callout is dismissed by a click outside of it, by the Escape key, and by the page scrolling or resizing under it. AutoClose adds a click inside it to that list, which is what an action list is expected to do: picking an item completes the interaction. NoDismissOnEscape and NoDismissOnOutsideClick each take one of the ways out away - the second also stops a scroll or a resize from dismissing it, re-anchoring it to its anchor instead - for the callouts that are only meant to be closed through their own content.

Neither Escape nor an outside click closes this one.

Nesting

Opening a callout normally takes over from the one that is already open, which is how two unrelated callouts stay from piling up on each other. A callout whose anchor lives inside another one is the exception: it is nested in it, so the outer callout stays open underneath it, and any number of levels can be stacked that way. Everything that follows from being open follows the stack too - dismissing the outer callout takes the inner ones with it, Escape peels off the innermost one, and a scroll or a resize re-anchors all of them at once. Any component that opens a callout of its own nests the same way, so a dropdown, a date picker or a menu button can sit inside a callout without closing it.

Filters
The panel behind is still open.
And so is this one.

Lazy rendering

The content of a callout is in the page whether the callout is open or not, so that whatever state it holds survives the callout closing. LazyRender keeps it out until the callout is first opened, for the contents expensive enough that rendering one behind a closed callout is a cost of its own - a calendar, a long list, a chart. It is only the first opening that is deferred: the content stays from then on, so its state still survives every close after that.

Pick a date
Selected date
September 2026
S
M
T
W
T
F
S

Events

OnToggle fires on every change of the open state and is handed the new one, while OnOpen and OnDismiss split that in two. All three fire however the callout was closed: an outside click, the Escape key, a swipe on a responsive panel, or another callout taking over.

This is the callout content.

Toggled: 0, Opened: 0, Dismissed: 0

Style & Class

Style and Class land on the root element, which is the container of the anchor - the callout itself is rendered outside of it and relocated to the body while it is open, so the way to reach it is Styles and Classes. Those carry a value per part: Root, AnchorContainer, Content, Header, Body, Footer, Arrow, Overlay, and Opened, which is applied to the root only while the callout is open.

Where the callout ended up is on the callout and on its arrow as it is laid out, so a style can follow the placement without knowing it in advance: data-bit-cal-pos is the physical side of the anchor the callout was placed on (below, above, left or right) and data-bit-cal-align is how it was lined up across that side (start, center or end). Both are rewritten on every layout pass, so a callout that flips while it is open never keeps the side it started on.

This is the callout content.
This is the callout content.
This is the callout content.
This is the callout content.

RTL

Set Dir to BitDir.Rtl to lay the callout out right-to-left. The direction travels with the callout to the body, where it is relocated while it is open, so its content is laid out in it too; the placement mirrors along with it, aligning the callout with the right edge of its anchor and preferring the left side when it has to move beside it.

این محتوای کال‌اوت است.
محتوای کال‌اوت 1
محتوای کال‌اوت 2
محتوای کال‌اوت 3
محتوای کال‌اوت 4
محتوای کال‌اوت 5
محتوای کال‌اوت 6
محتوای کال‌اوت 7
محتوای کال‌اوت 8
محتوای کال‌اوت 9
محتوای کال‌اوت 10
محتوای کال‌اوت 11
محتوای کال‌اوت 12

API

Every parameter, public member, sub-class and enum this component exposes.

BitCallout parameters

Name Type Default value Description
Alignment BitCalloutAlignment? null How the callout is lined up with its anchor along the axis it is not placed on. It defaults to Start.
AlignmentOffset int 0 The distance in pixels the callout is slid along the axis it is aligned on, inwards from the edge of the anchor the Alignment lined it up with. A centered callout has no edge for it to run from.
Anchor RenderFragment? null The content of the anchor element of the callout. The anchor is rendered as a plain container, so the content given here should hold the focusable element the user activates.
AnchorEl Func<ElementReference>? null The setter function for element reference to the external anchor element.
AnchorId string? null The id of the external anchor element.
ArrowPadding int? null The distance in pixels the arrow drawn by ShowArrow is kept away from the corners of the callout, so that the rounding never cuts it. It defaults to 16, and never drops below the size of the arrow itself.
ArrowSize int? null The size in pixels of the arrow drawn by ShowArrow, which is the length of the side of the square the beak is cut out of. It defaults to 12.
AutoClose bool false Closes the callout as soon as a click lands anywhere inside it.
AutoFocus bool false Moves the focus into the callout as soon as it opens, to its first focusable element, or to the callout itself when it holds none.
Background BitColorKind? null The color kind of the background of the callout.
Border BitColorKind? null The color kind of the border of the callout.
ChildContent RenderFragment? null The content of the callout.
Classes BitCalloutClassStyles? null Custom CSS classes for different parts of the callout.
CollisionPadding int 0 The distance in pixels the callout keeps from the edges of the screen when it is placed and when it is slid back onto it.
Content RenderFragment? null Alias for ChildContent.
DefaultIsOpen bool? null The initial opening state of the callout in the uncontrolled mode, which is when the IsOpen parameter is not set.
Direction BitDropDirection? null Determines the allowed directions in which the callout should decide to be opened.
FixedCalloutWidth bool false Holds the callout to the width of its anchor, so that a content wider than the anchor wraps inside it instead of stretching it.
Footer RenderFragment? null The content of a footer that stays at the bottom of the callout while the rest of it scrolls.
FooterId string? null The id of the footer element that renders at the end of the scrolling container of the callout content. It wins over the Footer parameter.
Gap int 0 The distance in pixels between the anchor and the callout, on whichever side the callout ends up being placed.
Header RenderFragment? null The content of a header that stays at the top of the callout while the rest of it scrolls.
HeaderId string? null The id of the header element that renders at the top of the scrolling container of the callout content. It wins over the Header parameter.
HoverCloseDelay int 150 The delay in milliseconds before the callout closes once the pointer leaves the callout and its anchor in the OpenOnHover mode.
HoverOpenDelay int 0 The delay in milliseconds before the callout opens once the pointer enters the anchor in the OpenOnHover mode.
IsOpen bool false Determines the opening state of the callout.
LazyRender bool false Keeps the content of the callout out of the page until the callout is opened for the first time. Once rendered it stays, so whatever state the content holds survives the callout closing.
MaxHeight string? null The maximum height of the callout as a CSS value, beyond which its content scrolls.
MaxWidth string? null The maximum width of the callout as a CSS value, beyond which its content wraps.
MaxWindowWidth int? null The window width in pixels below which the callout is allowed to hang off the end of the screen rather than being slid back onto it.
MinWidth string? null The minimum width of the callout as a CSS value, so that a narrow content does not end up in a cramped callout.
Modal bool false Dims the page behind the callout and holds it still while the callout is open, so that the callout reads as the only thing in play.
NoDismissOnEscape bool false Keeps the Escape key from dismissing the callout.
NoDismissOnOutsideClick bool false Keeps the callout open when a click lands outside of it, and when the page is scrolled or resized under it.
NoFlip bool false Keeps the callout on the Side it was asked for even when there is not enough room for it there, instead of flipping it to the opposite side.
NoOverlay bool false Leaves the page its own clicks while the callout is open, by not rendering the overlay that otherwise covers it. A Modal callout keeps its overlay.
NoShadow bool false Removes the box-shadow from the callout.
OnDismiss EventCallback The callback that is called when the callout is dismissed.
OnOpen EventCallback The callback that is called when the callout is opened.
OnToggle EventCallback<bool> The callback that is called when the callout opens or closes.
OpenOnHover bool false Opens the callout when the pointer enters the anchor and closes it when the pointer leaves both the anchor and the callout.
PanelPosition BitPanelPosition? null The edge of the screen the responsive panel slides in from, for a ResponsiveMode of Panel. It defaults to End.
ResponsiveMode BitResponsiveMode? null Configures the responsive mode of the callout for the small screens.
Role string? null The ARIA role of the callout. It defaults to dialog for a callout that traps the focus, and to nothing for the others.
ScrollContainerId string? null The id of the element which needs to be scrollable in the content of the callout.
ScrollOffset int? null The vertical offset of the scroll container to consider in the positioning and height calculation of the callout.
SetCalloutWidth bool false Widens the callout to at least the width of its anchor, so that a callout with little in it still reads as belonging to what it was opened from.
ShowArrow bool false Draws an arrow on the edge of the callout that faces the anchor, pointing at it.
Side BitCalloutSide? null The side of the anchor the callout is placed on when there is room for it there. It wins over Direction, falls back to the opposite side, and then to Direction.
Styles BitCalloutClassStyles? null Custom CSS styles for different parts of the callout.
TrapFocus bool false Keeps the keyboard inside the callout while it is open and reports it as a modal dialog to the screen readers. It implies AutoFocus.
Width string? null The width of the callout as a CSS value. SetCalloutWidth and FixedCalloutWidth take precedence over it.

BitCallout public members

Name Type Default value Description
Open Task Opens the callout programmatically, unless it is disabled.
OpenAt Task Opens the callout at a point on the screen rather than against an anchor, which is what a context menu needs. It takes the coordinates (double x, double y) or the MouseEventArgs they came from, and moves an already open callout to the new point.
Close Task Closes the callout programmatically.
Toggle Task Toggles the callout to open/close it.
Reposition Task Lays the open callout out again against what it is placed on, without reopening it or replaying its entry animation. It is for what the callout cannot see on its own: a content that has grown or shrunk, or an anchor moved by something other than a resize of it.

BitComponentBase parameters

Name Type Default value Description
AriaLabel string? null Gets or sets the accessible label for the component, used by assistive technologies.
Class string? null Gets or sets the CSS class name(s) to apply to the rendered element.
Dir BitDir? null Gets or sets the text directionality for the component's content.
ForceAnimation bool false Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested.
HtmlAttributes Dictionary<string, object> new Dictionary<string, object>() Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters.
Id string? null Gets or sets the unique identifier for the component's root element.
IsEnabled bool true Gets or sets a value indicating whether the component is enabled and can respond to user interaction.
Style string? null Gets or sets the CSS style string to apply to the rendered element.
TabIndex string? null Gets or sets the tab order index for the component when navigating with the keyboard.
Visibility BitVisibility BitVisibility.Visible Gets or sets the visibility state (visible, hidden, or collapsed) of the component.

BitComponentBase public members

Name Type Default value Description
UniqueId Guid Guid.NewGuid() Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed.
RootElement ElementReference Gets the reference to the root HTML element associated with this component.

BitCalloutClassStyles properties

Name Type Default value Description
Root string? null Custom CSS classes/styles for the root element of the BitCallout.
AnchorContainer string? null Custom CSS classes/styles for the anchor container element of the BitCallout.
Arrow string? null Custom CSS classes/styles for the arrow (beak) element of the BitCallout.
Opened string? null Custom CSS classes/styles for the opened callout state of the BitCallout.
Content string? null Custom CSS classes/styles for the content of the BitCallout.
Header string? null Custom CSS classes/styles for the header element of the BitCallout, which is rendered when the Header parameter is set.
Body string? null Custom CSS classes/styles for the scrolling body element of the BitCallout, which is rendered when the Header or the Footer parameter is set.
Footer string? null Custom CSS classes/styles for the footer element of the BitCallout, which is rendered when the Footer parameter is set.
Overlay string? null Custom CSS classes/styles for the overlay of the BitCallout.

BitDropDirection enum

Name Value Description
All 0 The direction determined automatically based on the available spaces in all directions.
TopAndBottom 1 The direction determined automatically based on the available spaces in only top and bottom directions.

BitResponsiveMode enum

Name Value Description
None 0 Disables the responsive mode.
Panel 1 Enables the panel responsive mode, whose edge comes from the PanelPosition parameter.
Top 2 Enables the responsive mode as a sheet that comes down from the top of the screen.
Bottom 3 Enables the responsive mode as a sheet that comes up from the bottom of the screen.

BitCalloutSide enum

Name Value Description
Top 0 Above the anchor.
Bottom 1 Below the anchor.
Start 2 Beside the anchor, on the side the content starts from - the left in a left-to-right layout.
End 3 Beside the anchor, on the side the content ends at - the right in a left-to-right layout.

BitCalloutAlignment enum

Name Value Description
Start 0 Lined up with the edge the anchor starts at - its left edge in a left-to-right layout for a callout above or below it, and its top edge for a callout beside it.
Center 1 Centered on the anchor.
End 2 Lined up with the edge the anchor ends at - its right edge in a left-to-right layout for a callout above or below it, and its bottom edge for a callout beside it.

BitPanelPosition enum

Name Value Description
Start 0 The panel slides in from the start edge of the screen.
End 1 The panel slides in from the end edge of the screen.
Top 2 The panel slides in from the top edge of the screen.
Bottom 3 The panel slides in from the bottom edge of the screen.

BitColorKind enum

Name Value Description
Primary 0 The primary color kind.
Secondary 1 The secondary color kind.
Tertiary 2 The tertiary color kind.
Transparent 3 The transparent color kind.

BitVisibility enum

Name Value Description
Visible 0 The content of the component is visible.
Hidden 1 The content of the component is hidden, but the space it takes on the page remains (visibility:hidden).
Collapsed 2 The component is hidden (display:none).

BitDir enum

Name Value Description
Ltr 0 Ltr (left to right) is to be used for languages that are written from the left to the right (like English).
Rtl 1 Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic).
Auto 2 Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element.

Feedback

Found a mistake, a gap, or something that could be clearer? Every page and every component is one click from its source.