Pickers
CircularTimePicker
Bit.BlazorUI
A BitCircularTimePicker picks a single time from an analog clock dial: an hour ring the pointer snaps to, then a minute ring and an optional second ring, with an AM/PM pair in 12-hour mode. It can be driven with a pointer or entirely from the keyboard, restricted to a range or a step, edited as text, laid out portrait or landscape, and rendered either inline or in a callout that becomes a sheet on small screens.
Usage
Every example is live. Open its code to see exactly what produced the component running underneath.
Basic
The picker is a read-only text field that opens a clock callout when it is clicked. Label names it,
Placeholder fills the empty field, Required marks it with an asterisk and hands the
requirement to the browser, IsEnabled turns it off, and IconName replaces the clock glyph
that trails the field.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Standalone
Standalone drops the field and the callout and renders the clock inline, as a permanent part of the
page. The value still travels through a hidden input, so a standalone picker takes part in a form exactly
like a callout one does - but that input is kept out of the tab order, so the dial is the one thing the
keyboard lands on, and the one FocusAsync puts the focus on.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Time format
TimeFormat chooses the face. TwentyFourHours (the default) draws a double ring - 13 to 00 on
the outside, 01 to 12 on the inside - and the pointer picks the ring it is closest to. TwelveHours
draws a single 1 to 12 ring and adds the AM/PM pair to the toolbar, whose labels come from the culture of
the picker. AmPmInClock moves that pair under the clock as a segmented control instead, which is
what keeps the toolbar legible when the seconds are shown too. On an empty 12-hour picker the dial opens
on the half that has something to offer, so a range that starts in the afternoon does not greet you with
twelve dimmed numbers.
Select hour
131415161718192021222300010203040506070809101112
Select hour
123456789101112
Select hour
123456789101112
Seconds
ShowSeconds adds a third part: a second ring the dial moves on to after the minute, a third
read-out in the toolbar, and the seconds kept in the value instead of zeroed. SecondStep and
AllowedSeconds narrow it exactly as their minute counterparts do, and the default
ValueFormat grows a seconds part with it. A picker left without the seconds still carries the ones
a bound value came with - it simply never offers a way to change them.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Selected time: 14:05:30
Edit mode & views
EditMode decides which parts of the time the dial offers. Normal edits all of them and
settles onto the next one as soon as the current one is picked, while OnlyHours,
OnlyMinutes and OnlySeconds pin the dial to a single part and leave the rest as it is.
StartView chooses which part an opening picker lands on in Normal mode, View reports the one
it is on, SwitchView moves it from code, and OnViewChange reports every switch - including
the automatic one after a pick.
Select hour
09:30
131415161718192021222300010203040506070809101112
Select minute
09:30
000510152025303540455055
Select second
09:30:15
000510152025303540455055
Select minute
000510152025303540455055
Last view change: -
Steps
MinuteStep and HourStep set the granularity the dial and the arrow keys move in. A step lays
a grid over its range that the pick snaps to, which is what turns the face into a five-minute or
quarter-hour picker, and dims the numbers in between so a value the picker does not accept is never
offered. A press on a dimmed number changes nothing and leaves the dial where it is. The grid starts at
the matching part of MinTime, and at the top of the range where there is none, so a picker whose
range begins at 09:07 can still be set to 09:07.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Selectable range
MinTime and MaxTime bound what can be picked: the hours outside the range are dimmed, and
inside the boundary hours only the minutes still within it stay selectable. AllowedHours,
AllowedMinutes and AllowedSeconds add an arbitrary rule on top of that. The pointer refuses
a dimmed number, the arrow keys step over it, and a time typed outside the range fails validation with
its own OutOfRangeErrorMessage rather than the message an unreadable one gets.
DisablePast and DisableFuture bound the range by the current time exactly as a
MinTime or a MaxTime of now would; where both apply, the narrower of the two wins.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Picker actions
ShowNowButton jumps to the current time - snapped to the steps and clamped into the range, so it
can never land on a time the dial itself refuses - and ShowClearButton empties the picker.
ShowCloseButton adds a dismiss button in the corner of the callout, and AutoClose closes it
the moment the selection is complete, without waiting for either. Their captions are set with
NowButtonText, ClearButtonText and CloseButtonTitle.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Open state
@bind-IsOpen puts the callout under the control of the page, so it can be opened and closed
from anywhere - the OpenCallout and DismissCallout methods do the same from code.
DropDirection chooses the sides the callout may open towards: TopAndBottom (the default)
keeps it above or below the field, while All lets it take whichever side has the room. OnOpen
and OnClose report every change either way, and closing the picker hands the focus back to the
field so the keyboard carries on where it left off. Tabbing out of the callout closes it too, and leaves
the focus where it was going: the callout is moved to the end of the document while it is open, so a
picker left behind would be one nothing on the page could reach any more.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Text input
AllowTextInput makes the field editable, so a time can be typed instead of dialled. The text is
parsed with the exact ValueFormat of the picker, so what is typed has to match what the picker
itself writes - which is why the format is worth putting in the placeholder.
Select hour
131415161718192021222300010203040506070809101112
Value format
ValueFormat is the .NET format string the field is rendered with, and - when the text input is
allowed - parsed back with. Left unset, the picker writes the time the way its culture writes one:
the pattern of the culture, rewritten into the clock format the dial is in (TimeFormat),
extended with the seconds where ShowSeconds is set and written with the leading zeros -
though a time typed without them is still read.
Select hour
123456789101112
Binding
@bind-Value keeps a TimeSpan? in step with the dial in both directions. Where the value
does not need to be held anywhere, DefaultValue seeds the picker once and OnChange reports
every change from then on, so the picker keeps its own state (uncontrolled mode).
Select hour
131415161718192021222300010203040506070809101112
Selected time: 05:12:00
Select hour
131415161718192021222300010203040506070809101112
Changed time:
Culture
Culture is what the value is formatted and parsed with, and what the AM/PM designators of the
12-hour toolbar are taken from; left unset it follows CultureInfo.CurrentUICulture. Our
CultureInfoHelper
class shows how to build a custom one. The face itself is a deliberate choice rather than a
consequence of the culture - TimeFormat stays where it is put - but the short time pattern of a
culture says which of the two its readers expect, so a picker that should follow them can be wired to it
in a line.
Select hour
123456789101112
Select hour
123456789101112
ReadOnly
ReadOnly shows the value and lets the callout open, but nothing on the dial can be moved: the
pointer, the arrow keys, the AM/PM pair and the action buttons all stop short of a change. Unlike a
disabled picker it stays in the tab order and keeps being announced, so the value can still be read out.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Appearance
Underlined trades the box of the field for a single rule under it, HasBorder is on by
default and set to false takes the box away altogether - for a picker that sits inside a container of
its own - and IconLocation moves the clock glyph to the leading edge.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Templates
LabelTemplate and IconTemplate replace the label and the trailing glyph with arbitrary
markup. The first picker below drives its callout from a button inside its own label, through the public
OpenCallout and DismissCallout methods of the component.
CalloutHeaderTemplate and CalloutFooterTemplate add arbitrary markup above and below the
dial inside the callout itself.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Pick a time
Select hour
131415161718192021222300010203040506070809101112
Responsive
Responsive turns the callout into a sheet anchored to the top of the screen once the viewport is
narrow enough, and lets it be swiped away upwards. Resize the window below the small breakpoint to see it.
Select hour
131415161718192021222300010203040506070809101112
Keyboard & accessibility
The dial is a listbox whose options are the numbers of the current view, so a screen reader reads out what
the pointer rests on, and the whole time can be set without ever touching the clock:
- Enter, Space or ↓ on the field opens the picker; Esc closes it and puts the focus back on the field, while Tab closes it and carries on to the next control.
- Tab inside the callout moves between the toolbar, the dial and the buttons, and leaving the last of them closes the picker rather than stranding it behind the overlay.
- ↑ / → and ↓ / ← move the pointer by one step, PageUp / PageDown by five.
- Home and End jump to the first and the last selectable value.
- Enter or Space settles the current view - moving on to the next part, and closing an AutoClose picker once the time is complete.
- Shift + the mouse wheel over the focused dial moves it by one step as well. Both conditions keep an ordinary scroll of the page from changing the time; NoMouseWheel turns it off altogether and InvertMouseWheel reverses it.
CalloutAriaLabel names the dialog, HourButtonTitle, MinuteButtonTitle and
SecondButtonTitle name the toolbar buttons and the dial in each view, AutoFocus puts the
focus on the field as the page renders, and TabIndex reaches the dial as well as the field. Values
the constraints rule out are marked aria-disabled rather than merely dimmed, and a live region
announces every move of the dial - the part it switches to, and the value it lands on where no number of
the face stands for it, so a step of a single minute is never made in silence.
Meeting hour
131415161718192021222300010203040506070809101112
Validation
Inside an EditForm the picker is an ordinary form input: it registers with the EditContext,
turns red and gets aria-invalid when its field has messages, and reports a value that cannot be
parsed - or that falls outside MinTime / MaxTime - through InvalidErrorMessage.
The custom invalid error message shows when an unparsable or out-of-range time is entered.
Events
OnSelectTime fires for every change the dial makes, OnChange for every change of the value
itself, OnOpen and OnClose follow the callout, OnViewChange follows the dial between
the parts of the time, and OnClick, OnFocusIn and OnFocusOut follow the field.
Select hour
131415161718192021222300010203040506070809101112
Landscape
Landscape puts the toolbar down the leading edge of the picker instead of above the clock,
stacking the parts of the time in a column - which is roughly half the height for a picker that has
width to spare. It takes effect from the small breakpoint up: below it there is no width to give the
toolbar, so the picker keeps its portrait layout. The Body slot of Styles and
Classes reaches the column the toolbar is set beside - the clock, the AM/PM pair when
AmPmInClock puts it there, and the row of actions.
Select hour
131415161718192021222300010203040506070809101112
Select hour
123456789101112
Select hour
131415161718192021222300010203040506070809101112
Color
Color picks the theme color of the accent the dial is painted with - the toolbar, the hand, the pin
and the selected number - with Primary as the default. The semantic colors tie the picker to what
the time it sets means, while the Background, Foreground and Border families keep it
legible on non-default surfaces.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
External Icons
The glyphs are not limited to the built-in icon font: Icon and CloseButtonIcon take a
BitIconInfo - or a raw CSS class string - that can point at any icon library whose stylesheet is
loaded. Use BitIconInfo.Fa(), BitIconInfo.Bi() or BitIconInfo.Css() to build one.
FontAwesome:
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Bootstrap:
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Size
Size scales the dial, its numbers and the toolbar together: Small where the clock has to
share a dense layout, Medium (the default) for forms, and Large where the picker is the
point of the screen or aimed at touch. The two rings and the hand keep their proportions at every size.
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Style & Class
Style and Class land on the root element, while Styles and Classes reach every
named part of the picker on their own - the toolbar, the face, the numbers, the hand and its thumb - so
the callout can be restyled without a single descendant selector.
Component's Style & Class:
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
Styles & Classes:
Select hour
131415161718192021222300010203040506070809101112
Select hour
131415161718192021222300010203040506070809101112
RTL
Dir flips the field, the label and the toolbar into a right-to-left layout, and reaches the callout
as well even though it is rendered outside the root element. The dial itself keeps running clockwise, and
the parts of the time in the toolbar stay in reading order, because a clock reads the same way in every
script.
Select hour
123456789101112
API
Every parameter, public member, sub-class and enum this component exposes.
BitCircularTimePicker parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| AllowedHours | Func<int, bool>? | null | The hours that can be selected, on top of what MinTime, MaxTime and HourStep already allow. The predicate receives an hour of the day (0-23) whichever TimeFormat the clock is in. |
| AllowedMinutes | Func<int, bool>? | null | The minutes that can be selected, on top of what MinTime, MaxTime and MinuteStep already allow. The predicate receives a minute of the hour (0-59). |
| AllowedSeconds | Func<int, bool>? | null | The seconds that can be selected, on top of what MinTime, MaxTime and SecondStep already allow. The predicate receives a second of the minute (0-59). |
| AllowTextInput | bool | false | Whether the TimePicker allows input a time string directly or not. The text is parsed with the exact ValueFormat of the picker. |
| AmPmInClock | bool | false | Renders the AM/PM pair under the clock instead of beside the time in the toolbar. Only the 12-hour format has a meridiem to place. |
| AutoClose | bool | false | Closes the callout as soon as the selection is complete - the last part the dial offers is picked, or the "now" button is used - without waiting for the close button or a click outside of it. |
| AutoFocus | bool | false | If true, the input of the TimePicker automatically receives focus when the page renders. |
| CalloutAriaLabel | string | Clock | Aria label for time picker popup for screen reader users. |
| CalloutFooterTemplate | RenderFragment? | null | Custom template to render at the bottom of the callout, below everything it holds. |
| CalloutHeaderTemplate | RenderFragment? | null | Custom template to render at the top of the callout, above everything it holds. |
| CalloutHtmlAttributes | Dictionary<string, object> | new Dictionary<string, object>() | Capture and render additional attributes in addition to the main callout's parameters. |
| Classes | BitCircularTimePickerClassStyles | null | Custom CSS classes for different parts of the TimePicker. |
| ClearButtonText | string | Clear | The text of the button that clears the value of the TimePicker. |
| CloseButtonIcon | BitIconInfo? | null | The icon for the close button using external icon libraries. Takes precedence over CloseButtonIconName when both are set. |
| CloseButtonIconName | string? | Cancel | The name of the icon for the close button from the built-in Fluent UI icons. For external icon libraries, use CloseButtonIcon instead. |
| CloseButtonTitle | string | Close time picker | The title of the close button (tooltip). |
| Color | BitColor? | null | The general color of the TimePicker, applied to the toolbar, the dial pointer and the selected numbers. |
| Culture | CultureInfo? | CultureInfo.CurrentUICulture | CultureInfo for the TimePicker. |
| DropDirection | BitDropDirection | BitDropDirection.TopAndBottom | Determines the allowed drop directions of the callout. |
| EditMode | BitCircularTimePickerEditMode | BitCircularTimePickerEditMode.Normal | Choose the edition mode. By default, you can edit every part the picker shows. |
| HasBorder | bool | true | Determines if the TimePicker has a border. |
| HourButtonTitle | string | Select hour | The title (and accessible name) of the button that switches the dial to the hours. |
| HourStep | int | 1 | The step, in hours, the dial and the keyboard move the hour by. A step greater than 1 lays a grid over the day that the pick snaps to, dimming the hours in between, starting at the hour of MinTime and at midnight where there is none. |
| Icon | BitIconInfo? | null | The icon to display using custom CSS classes for external icon libraries (e.g., FontAwesome, Bootstrap Icons). Takes precedence over IconName when both are set. |
| IconLocation | BitIconLocation | BitIconLocation.Right | TimePicker icon location. |
| IconName | string? | Clock | The name of the icon from the built-in Fluent UI icons. For external icon libraries, use Icon instead. |
| IconTemplate | RenderFragment? | null | Custom TimePicker icon template. |
| InvalidErrorMessage | string? | null | The custom validation error message for the invalid value. |
| InvertMouseWheel | bool | false | Reverses the direction the mouse wheel moves the dial in. |
| IsOpen | bool | false | Whether or not this TimePicker is open. Supports two-way binding. |
| Label | string? | null | Label for the TimePicker. |
| LabelTemplate | RenderFragment? | null | Used to customize the label for the TimePicker. |
| Landscape | bool | false | Lays the clock out beside its toolbar instead of under it, from the small breakpoint up. |
| MaxTime | TimeSpan? | null | The latest time that can be selected. Later hours, and the minutes past it inside its own hour, are dimmed on the dial and refused by the pointer, the keyboard and the text input. |
| MinTime | TimeSpan? | null | The earliest time that can be selected. Earlier hours, and the minutes before it inside its own hour, are dimmed on the dial and refused by the pointer, the keyboard and the text input. |
| MinuteButtonTitle | string | Select minute | The title (and accessible name) of the button that switches the dial to the minutes. |
| MinuteStep | int | 1 | The step, in minutes, the dial and the keyboard move the minute by. A step greater than 1 lays a grid over the hour that the pick snaps to, starting at the minute of MinTime and at the top of the hour where there is none. |
| NoMouseWheel | bool | false | Disables moving the dial with the mouse wheel entirely. By default the wheel moves it by one step while scrolled over the focused dial with the Shift key held down. |
| NowButtonText | string | Now | The text of the button that sets the TimePicker to the current time. |
| OnClear | EventCallback | Callback for when the value is cleared using the clear button. | |
| OnClick | EventCallback | Callback for when clicking on TimePicker input. | |
| OnClose | EventCallback | Callback for when the callout of the TimePicker closes. | |
| OnFocus | EventCallback | Callback for when the TimePicker input receives focus. Unlike OnFocusIn it does not bubble, so it is the one to use when only the input itself receiving focus is of interest. | |
| OnFocusIn | EventCallback | Callback for when focus moves into the TimePicker input or any of its descendants, since unlike OnFocus it bubbles. | |
| OnFocusOut | EventCallback | Callback for when focus moves out of the TimePicker input. | |
| OnOpen | EventCallback | Callback for when the callout of the TimePicker opens. | |
| OnSelectTime | EventCallback<TimeSpan?> | Callback for when the selected time changes. | |
| OnViewChange | EventCallback<BitCircularTimePickerView> | Callback for when the dial switches between the hours, the minutes and the seconds. | |
| OutOfRangeErrorMessage | string? | null | The custom validation error message for a time entered as text that falls outside of MinTime and MaxTime. Text that does not read as a time at all reports InvalidErrorMessage instead. |
| Placeholder | string? | null | Placeholder text for the TimePicker. |
| Responsive | bool | false | Enables the responsive mode in small screens. |
| SecondButtonTitle | string | Select second | The title (and accessible name) of the button that switches the dial to the seconds. |
| SecondStep | int | 1 | The step, in seconds, the dial and the keyboard move the second by. A step greater than 1 lays a grid over the minute that the pick snaps to, starting at the second of MinTime and at the top of the minute where there is none. |
| ShowClearButton | bool | false | Renders a button that clears the value of the TimePicker under the clock. |
| ShowCloseButton | bool | false | Whether the TimePicker's close button should be shown or not. |
| ShowNowButton | bool | false | Renders a button that sets the TimePicker to the current time under the clock, snapped to the steps and clamped into the selectable range. |
| ShowSeconds | bool | false | Adds the seconds to the picker: a third ring the dial moves on to after the minute, a third part in the toolbar, and the seconds of the value kept instead of zeroed. |
| Size | BitSize? | null | The size of the TimePicker. |
| Standalone | bool | false | Whether the TimePicker is rendered standalone or with the input component and callout. |
| StartingValue | TimeSpan? | null | The time an empty TimePicker starts from, instead of midnight. It is not a value: an untouched picker stays empty and the dial shows nothing selected - it is only where the first change lands. |
| StartView | BitCircularTimePickerView | BitCircularTimePickerView.Hour | The part of the time the clock starts on when the picker opens. The EditMode wins over it, and so does a Second start view on a picker that does not show the seconds. |
| Styles | BitCircularTimePickerClassStyles | null | Custom CSS styles for different parts of the TimePicker. |
| TimeFormat | BitTimeFormat | BitTimeFormat.TwentyFourHours | The time format of the time-picker, 24H or 12H. |
| Underlined | bool | false | Whether or not the Text field of the TimePicker is underlined. |
| ValueFormat | string? | null | The format of the time in the TimePicker like "HH:mm". Left unset it follows the time pattern of the culture, rewritten into the TimeFormat, extended with the seconds where ShowSeconds is set and padded with the leading zeros. |
BitCircularTimePicker public members
| Name | Type | Default value | Description |
|---|---|---|---|
| InputId | string? | The id of the input element of the TimePicker. | |
| View | BitCircularTimePickerView | The part of the time the clock is currently editing. | |
| OpenCallout | Task OpenCallout() | Opens the callout of the TimePicker, doing nothing when it is already open or when the picker is standalone and has no callout to open. | |
| DismissCallout | Task DismissCallout() | Closes the callout of the TimePicker. | |
| SwitchView | Task SwitchView(BitCircularTimePickerView view) | Switches the dial to the hours, the minutes or the seconds, as far as the EditMode and ShowSeconds allow it. |
BitInputBase parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| DefaultValue | TValue? | null | The default value of the input to be used in uncontrolled mode (i.e. when the Value is not bound), typically used alongside the OnChange callback. |
| DisplayName | string? | null | Gets or sets the display name for this field. |
| InputHtmlAttributes | IReadOnlyDictionary<string, object>? | null | Gets or sets a collection of additional attributes that will be applied to the created element. |
| Name | string? | null | Gets or sets the name of the element. Allows access by name from the associated form. |
| NoValidate | bool | false | Disables the validation of the input. |
| OnChange | EventCallback<TValue?> | Callback for when the input value changes. | |
| ReadOnly | bool | false | Makes the input read-only. |
| Required | bool | false | Makes the input required. |
| Value | TValue? | null | Gets or sets the value of the input. This should be used with two-way binding. |
BitInputBase public members
| Name | Type | Default value | Description |
|---|---|---|---|
| InputElement | ElementReference | The ElementReference of the input element. | |
| FocusAsync() | () => ValueTask | Gives focus to the input element. | |
| FocusAsync(bool preventScroll) | (bool preventScroll) => ValueTask | Gives focus to the input element. |
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. |
BitCircularTimePickerClassStyles properties
| Name | Type | Default value | Description |
|---|---|---|---|
| Root | string? | null | Custom CSS classes/styles for the root element of the BitCircularTimePicker. |
| Focused | string? | null | Custom CSS classes/styles for the focused state of the BitCircularTimePicker. |
| Label | string? | null | Custom CSS classes/styles for the Label of the BitCircularTimePicker. |
| InputWrapper | string? | null | Custom CSS classes/styles for the input wrapper of the BitCircularTimePicker. |
| InputContainer | string? | null | Custom CSS classes/styles for the input container of the BitCircularTimePicker. |
| Input | string? | null | Custom CSS classes/styles for the input of the BitCircularTimePicker. |
| Icon | string? | null | Custom CSS classes/styles for the icon of the BitCircularTimePicker. |
| Overlay | string? | null | Custom CSS classes/styles for the overlay of the BitCircularTimePicker. |
| Callout | string? | null | Custom CSS classes/styles for the callout of the BitCircularTimePicker. |
| CalloutContainer | string? | null | Custom CSS classes/styles for the callout container of the BitCircularTimePicker. |
| Toolbar | string? | null | Custom CSS classes/styles for the toolbar of the BitCircularTimePicker. |
| Body | string? | null | Custom CSS classes/styles for the body of the BitCircularTimePicker - everything under the toolbar: the clock, the AM/PM pair when it is placed there, and the row of actions. |
| HourMinuteContainer | string? | null | Custom CSS classes/styles for the hour and minute container of the BitCircularTimePicker. |
| HourButton | string? | null | Custom CSS classes/styles for the hour button of the BitCircularTimePicker. |
| MinuteButton | string? | null | Custom CSS classes/styles for the minute button of the BitCircularTimePicker. |
| SecondButton | string? | null | Custom CSS classes/styles for the second button of the BitCircularTimePicker. |
| HourMinuteSeparator | string? | null | Custom CSS classes/styles for the hour minute separator of the BitCircularTimePicker. |
| HourMinuteText | string? | null | Custom CSS classes/styles for the hour/minute text rendered in the single-part edit modes of the BitCircularTimePicker. |
| AmPmContainer | string? | null | Custom CSS classes/styles for the AM/PM container of the BitCircularTimePicker. |
| AmButton | string? | null | Custom CSS classes/styles for the AM button of the BitCircularTimePicker. |
| PmButton | string? | null | Custom CSS classes/styles for the PM button of the BitCircularTimePicker. |
| SelectedButtons | string? | null | Custom CSS classes/styles for the selected buttons of the BitCircularTimePicker. |
| ClockContainer | string? | null | Custom CSS classes/styles for the clock container of the BitCircularTimePicker. |
| ClockFace | string? | null | Custom CSS classes/styles for the clock face of the BitCircularTimePicker. |
| ClockPin | string? | null | Custom CSS classes/styles for the clock pin of the BitCircularTimePicker. |
| ClockNumber | string? | null | Custom CSS classes/styles for the clock number of the BitCircularTimePicker. |
| ClockSelectedNumber | string? | null | Custom CSS classes/styles for the clock selected number of the BitCircularTimePicker. |
| ClockDisabledNumber | string? | null | Custom CSS classes/styles for a clock number that cannot be selected, because of the time bounds, the steps or the allowed-value predicates. |
| ClockPointer | string? | null | Custom CSS classes/styles for the clock pointer of the BitCircularTimePicker. |
| ClockPointerThumb | string? | null | Custom CSS classes/styles for the clock pointer thumb of the BitCircularTimePicker. |
| ClockPointerThumbMinute | string? | null | Custom CSS classes/styles for the clock pointer thumb of the BitCircularTimePicker when it does not rest on a number of the dial - between two marks, or on a part of the time that has not been set yet. |
| Actions | string? | null | Custom CSS classes/styles for the row holding the "now" and "clear" buttons of the BitCircularTimePicker. |
| NowButton | string? | null | Custom CSS classes/styles for the button that sets the BitCircularTimePicker to the current time. |
| ClearButton | string? | null | Custom CSS classes/styles for the button that clears the value of the BitCircularTimePicker. |
| CloseButton | string? | null | Custom CSS classes/styles for the close button of the BitCircularTimePicker. |
| CloseButtonIcon | string? | null | Custom CSS classes/styles for the close button icon of the BitCircularTimePicker. |
BitVisibility enum
| Name | Value | Description |
|---|---|---|
| Visible | 0 | Show content of the component. |
| Hidden | 1 | Hide content of the component,though the space it takes on the page remains. |
| Collapsed | 2 | Hide content of the component,though the space it takes on the page gone. |
BitIconLocation enum
| Name | Value | Description |
|---|---|---|
| Left | 0 | Show the icon at the left side. |
| Right | 1 | Show the icon at the right side. |
BitCircularTimePickerEditMode enum
| Name | Value | Description |
|---|---|---|
| Normal | 0 | Every part the picker shows can be edited, and settling one moves the dial on to the next. |
| OnlyMinutes | 1 | Only the minute can be edited; the rest of the current value is kept as it is. |
| OnlyHours | 2 | Only the hour can be edited; the rest of the current value is kept as it is. |
| OnlySeconds | 3 | Only the second can be edited; the rest of the current value is kept as it is. The picker deals in seconds in this mode whether or not ShowSeconds is set. |
BitCircularTimePickerView enum
| Name | Value | Description |
|---|---|---|
| Hour | 0 | The dial selects the hour. |
| Minute | 1 | The dial selects the minute. |
| Second | 2 | The dial selects the second, which only a picker that shows the seconds ever moves on to. |
BitTimeFormat enum
| Name | Value | Description |
|---|---|---|
| TwentyFourHours | 0 | Show time pickers in 24 hours format. |
| TwelveHours | 1 | Show time pickers in 12 hours format. |
BitSize enum
| Name | Value | Description |
|---|---|---|
| Small | 0 | The small size. |
| Medium | 1 | The medium size. |
| Large | 2 | The large size. |
BitColor enum
| Name | Value | Description |
|---|---|---|
| Primary | 0 | Primary general color. |
| Secondary | 1 | Secondary general color. |
| Tertiary | 2 | Tertiary general color. |
| Info | 3 | Info general color. |
| Success | 4 | Success general color. |
| Warning | 5 | Warning general color. |
| SevereWarning | 6 | SevereWarning general color. |
| Error | 7 | Error general color. |
| PrimaryBackground | 8 | Primary background color. |
| SecondaryBackground | 9 | Secondary background color. |
| TertiaryBackground | 10 | Tertiary background color. |
| PrimaryForeground | 11 | Primary foreground color. |
| SecondaryForeground | 12 | Secondary foreground color. |
| TertiaryForeground | 13 | Tertiary foreground color. |
| PrimaryBorder | 14 | Primary border color. |
| SecondaryBorder | 15 | Secondary border color. |
| TertiaryBorder | 16 | Tertiary border color. |
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.