# RayCraft documentation > Documentation for RayCraft Blazor controls, version 1.0.3. One page per control with parameters and events. Official site: https://raycraft.dev/ ## Start - [Getting started](https://docs.raycraft.dev/getting-started): install the packages and register the services. - [Free and Complete](https://docs.raycraft.dev/free-and-complete): the two editions. ## Buttons - [Button](https://docs.raycraft.dev/controls/button): Triggers an action, or navigates when Href is set (the button then renders as a link with the same look). - [ButtonGroup](https://docs.raycraft.dev/controls/buttongroup): Joins buttons into one segmented control, horizontally or vertically. - [CopyButton](https://docs.raycraft.dev/controls/copybutton): Copies a text to the clipboard and confirms it with a check mark. - [FloatingActionButton](https://docs.raycraft.dev/controls/floatingactionbutton): A square button fixed to a corner of the screen for the main action. - [IconButton](https://docs.raycraft.dev/controls/iconbutton): Button that shows only an icon. - [ProgressButton](https://docs.raycraft.dev/controls/progressbutton): A button that shows work in progress: a spinner while Progress is not set, a bar along the bottom edge and a spoken percentage when it is. - [SpeedDial](https://docs.raycraft.dev/controls/speeddial): A floating button that opens a short list of actions. - [SplitButton](https://docs.raycraft.dev/controls/splitbutton): A main action with a menu of related actions. - [ToggleButton](https://docs.raycraft.dev/controls/togglebutton): Button that keeps an on/off state and exposes it with aria-pressed. ## Text and numbers - [InPlaceEditor](https://docs.raycraft.dev/controls/inplaceeditor): Shows a value as text; a click turns it into a field with save and cancel buttons. - [MaskedInput](https://docs.raycraft.dev/controls/maskedinput): Text field that formats what you type by a mask: 0 is a digit, a is a letter, * is a letter or digit, any other character is a fixed separator (escape a mask character with a backslash). - [MoneyField](https://docs.raycraft.dev/controls/moneyfield): Amount field for decimal and decimal? - [NumericField](https://docs.raycraft.dev/controls/numericfield): Number input for any numeric type (int, decimal, double, nullable versions). - [OtpInput](https://docs.raycraft.dev/controls/otpinput): One box per character for verification codes. - [PasswordStrength](https://docs.raycraft.dev/controls/passwordstrength): Shows how strong a password is with four bars, a word and a list of the rules it meets. - [PercentField](https://docs.raycraft.dev/controls/percentfield): Number field that the user types as a percentage (12.5) while the value is stored as a fraction (0.125). - [SearchBox](https://docs.raycraft.dev/controls/searchbox): Search field with an icon and a clear button. - [TextField](https://docs.raycraft.dev/controls/textfield): Single-line text input. ## Choice - [Checkbox](https://docs.raycraft.dev/controls/checkbox): Boolean input with a label. - [CheckboxGroup](https://docs.raycraft.dev/controls/checkboxgroup): A group of check boxes for choosing several items from a list, inside a fieldset with a legend so screen readers announce the group name. - [Chip](https://docs.raycraft.dev/controls/chip): Compact label, optionally removable. - [ChipSet](https://docs.raycraft.dev/controls/chipset): Chips that can be selected, for filters and tags. - [Radio](https://docs.raycraft.dev/controls/radio): A single option inside a RadioGroup. - [RadioGroup](https://docs.raycraft.dev/controls/radiogroup): One choice from a short list. - [Switch](https://docs.raycraft.dev/controls/switch): Boolean toggle, announced to assistive technology as a switch. - [ToggleGroup](https://docs.raycraft.dev/controls/togglegroup): Segmented control for one choice (radio group) or several (toggle buttons). - [TransferList](https://docs.raycraft.dev/controls/transferlist): Two lists with buttons for moving items between them, for choosing a subset from a long list. ## List selection - [Autocomplete](https://docs.raycraft.dev/controls/autocomplete): Text field that filters a list while you type. - [Cascader](https://docs.raycraft.dev/controls/cascader): Pick one value from a hierarchy: a column of choices opens a column of sub choices. - [DropDownList](https://docs.raycraft.dev/controls/dropdownlist): A combobox for very long lists. - [DropDownTree](https://docs.raycraft.dev/controls/dropdowntree): A drop-down field that opens a tree to choose one node. - [ListBox](https://docs.raycraft.dev/controls/listbox): Always-visible list for one choice (radio buttons underneath) or several (check boxes). - [Mention](https://docs.raycraft.dev/controls/mention): A text box that suggests names after a trigger character (@ by default). - [MultiColumnComboBox](https://docs.raycraft.dev/controls/multicolumncombobox): An Autocomplete whose list shows several columns with a header row. - [MultiSelect](https://docs.raycraft.dev/controls/multiselect): Dropdown with check boxes for choosing several items. - [Select](https://docs.raycraft.dev/controls/select): Drop-down for choosing one item. - [TagInput](https://docs.raycraft.dev/controls/taginput): Free-form list of tags. ## Date and time - [Calendar](https://docs.raycraft.dev/controls/calendar): Month grid used by DatePicker and DateTimeRangePicker. - [DatePicker](https://docs.raycraft.dev/controls/datepicker): Date field with a calendar. - [DateTimePicker](https://docs.raycraft.dev/controls/datetimepicker): One field for date and time: a DatePicker and a TimePicker side by side that together bind a DateTime. - [DateTimeRangePicker](https://docs.raycraft.dev/controls/datetimerangepicker): Period with start and end, picked on one calendar that shows two months side by side (Months) (first click sets the start, second sets the end) and typed or adjusted per field. - [EventCalendar](https://docs.raycraft.dev/controls/eventcalendar): Month view with events. - [MonthPicker](https://docs.raycraft.dev/controls/monthpicker): Chooses a month and year. - [TimeField](https://docs.raycraft.dev/controls/timefield): The bare time text box that TimePicker, TimeRangePicker and DateTimeRangePicker are built on. - [TimePicker](https://docs.raycraft.dev/controls/timepicker): Time field written in the format of the current RayCraft language (9:30 AM in English, 9:30 in Bulgarian), so it looks the same in every browser. - [TimeRangePicker](https://docs.raycraft.dev/controls/timerangepicker): Start and end time in one field, each written in the format of the current language like TimePicker. - [TimeSpanPicker](https://docs.raycraft.dev/controls/timespanpicker): Enters a duration as days, hours, minutes and seconds. - [WeekPicker](https://docs.raycraft.dev/controls/weekpicker): Chooses a whole week. - [YearPicker](https://docs.raycraft.dev/controls/yearpicker): Chooses a year from a grid of twelve years with buttons for earlier and later pages. ## Sliders and rating - [RangeSelector](https://docs.raycraft.dev/controls/rangeselector): A strip with two handles that selects an interval of a series; a small preview of the data sits behind the handles. - [RangeSlider](https://docs.raycraft.dev/controls/rangeslider): Slider with two thumbs for choosing a lower and an upper value. - [Rating](https://docs.raycraft.dev/controls/rating): Star rating. - [RatingDisplay](https://docs.raycraft.dev/controls/ratingdisplay): Read-only stars with fractions (4.5 shows four and a half), an optional number and a review count. - [Slider](https://docs.raycraft.dev/controls/slider): Drag to choose a number in a range. ## Forms - [Captcha](https://docs.raycraft.dev/controls/captcha): Simple human check with a small arithmetic question. - [ErrorSummary](https://docs.raycraft.dev/controls/errorsummary): Lists every validation message of the surrounding EditForm in one block. - [FormBuilder](https://docs.raycraft.dev/controls/formbuilder): Builds a form from field definitions: text, email, password, number, date, text area, select, radio, check box and switch. - [FormLayout](https://docs.raycraft.dev/controls/formlayout): Arranges labels and fields in a responsive twelve-column grid, with titled sections. - [FormState](https://docs.raycraft.dev/controls/formstate): Locks every RayCraft field inside it with one parameter: Disabled blocks them completely, ReadOnly shows the values without allowing changes. - [LoginForm](https://docs.raycraft.dev/controls/loginform): Ready-made sign-in form with localized validation. - [RegisterForm](https://docs.raycraft.dev/controls/registerform): Ready-made registration form: name, email, password and confirmation, with localized validation. ## Layout - [Accordion](https://docs.raycraft.dev/controls/accordion): Expandable sections. - [Card](https://docs.raycraft.dev/controls/card): Container with optional header and footer. - [Collapse](https://docs.raycraft.dev/controls/collapse): Shows or hides its content. - [Container](https://docs.raycraft.dev/controls/container): Centers content and limits its width. - [Divider](https://docs.raycraft.dev/controls/divider): Thin line separating content, horizontal or vertical. - [Fieldset](https://docs.raycraft.dev/controls/fieldset): Groups related form controls under a legend. - [Grid](https://docs.raycraft.dev/controls/grid): 12-column grid. - [GridItem](https://docs.raycraft.dev/controls/griditem): A cell of a Grid. - [Panel](https://docs.raycraft.dev/controls/panel): Titled section with an optional collapse button and header actions. - [Spacer](https://docs.raycraft.dev/controls/spacer): Empty element that grows to fill the free space in a flex row, pushing the items after it to the end. - [Splitter](https://docs.raycraft.dev/controls/splitter): Two resizable panes. - [Stack](https://docs.raycraft.dev/controls/stack): Lays children out in a row or column with a consistent gap. - [TagCloud](https://docs.raycraft.dev/controls/tagcloud): Words in sizes that follow their weight. - [TitleIndex](https://docs.raycraft.dev/controls/titleindex): A list grouped by first letter with a letter bar on top. - [Toolbar](https://docs.raycraft.dev/controls/toolbar): Row of tool buttons with role=toolbar. ## Navigation - [AppBar](https://docs.raycraft.dev/controls/appbar): Top bar for the title and primary actions. - [Breadcrumbs](https://docs.raycraft.dev/controls/breadcrumbs): Shows the path to the current page. - [CommandContextMenu](https://docs.raycraft.dev/controls/commandcontextmenu): A context menu built from MenuCommand data, with submenus, check marks, shortcuts and the same keyboard handling as MenuBar. - [ContextMenu](https://docs.raycraft.dev/controls/contextmenu): Menu opened with the right mouse button or the context menu key over its content. - [Drawer](https://docs.raycraft.dev/controls/drawer): Side panel. - [Menu](https://docs.raycraft.dev/controls/menu): Button that opens a list of actions. - [MenuBar](https://docs.raycraft.dev/controls/menubar): A horizontal menu bar for applications: top-level menus with commands, shortcuts, check marks, icons and submenus. - [MenuItem](https://docs.raycraft.dev/controls/menuitem): A command in a Menu. - [NavGroup](https://docs.raycraft.dev/controls/navgroup): A group of NavItem links in a NavMenu with a title. - [NavItem](https://docs.raycraft.dev/controls/navitem): A link in a NavMenu. - [NavMenu](https://docs.raycraft.dev/controls/navmenu): Vertical navigation with active-page highlighting (built on NavLink) and collapsible groups. - [Pagination](https://docs.raycraft.dev/controls/pagination): Page selector with ellipsis for long ranges. - [ProfileMenu](https://docs.raycraft.dev/controls/profilemenu): Avatar, name and a menu for the signed-in user, built from the same MenuItem elements as Menu. - [ScrollSpy](https://docs.raycraft.dev/controls/scrollspy): An in-page contents list that highlights the heading currently at the top of the screen. - [Stepper](https://docs.raycraft.dev/controls/stepper): Guides the user through a sequence of steps with Back and Next buttons. - [Tabs](https://docs.raycraft.dev/controls/tabs): Switches between panels. - [TextContextMenu](https://docs.raycraft.dev/controls/textcontextmenu): The right-click menu of an editable text element: undo, redo, cut, copy, paste and select all, plus commands you add. - [TreeView](https://docs.raycraft.dev/controls/treeview): Hierarchical list following the ARIA tree pattern. - [Wizard](https://docs.raycraft.dev/controls/wizard): A guided flow in steps. ## Overlays - [ColorDialog](https://docs.raycraft.dev/controls/colordialog): A dialog for choosing a color. - [Dialog](https://docs.raycraft.dev/controls/dialog): Modal window. - [DialogHost](https://docs.raycraft.dev/controls/dialoghost): The place where dialogs opened from code are shown (IRayCraftDialogs.ConfirmAsync, AlertAsync, PromptAsync, ShowAsync). - [FontDialog](https://docs.raycraft.dev/controls/fontdialog): A dialog for choosing a font. - [Overlay](https://docs.raycraft.dev/controls/overlay): Dims the page (or, with Absolute, its positioned parent) and can show content such as a spinner. - [Popover](https://docs.raycraft.dev/controls/popover): Floating panel opened by an activator. - [SnackbarHost](https://docs.raycraft.dev/controls/snackbarhost): Short notification added from code with IRayCraftSnackbar.Add. - [Tooltip](https://docs.raycraft.dev/controls/tooltip): Short hint shown on hover and on keyboard focus. - [Tour](https://docs.raycraft.dev/controls/tour): Step-by-step introduction that highlights page elements chosen by CSS selector. ## Feedback - [Alert](https://docs.raycraft.dev/controls/alert): Inline message colored by severity, with a matching icon. - [Badge](https://docs.raycraft.dev/controls/badge): Small status label. - [BusyOverlay](https://docs.raycraft.dev/controls/busyoverlay): Wraps a region and, while Busy is true, dims it and shows a spinner on top. - [CookieConsent](https://docs.raycraft.dev/controls/cookieconsent): A banner that asks which cookies are allowed. - [EmptyState](https://docs.raycraft.dev/controls/emptystate): Message for lists and pages without content, with an icon, an explanation and optional actions. - [NotificationCenter](https://docs.raycraft.dev/controls/notificationcenter): A bell button with a count of unread notifications and a panel that lists them. - [ProgressBar](https://docs.raycraft.dev/controls/progressbar): Shows progress from 0 to Max. - [ProgressCircular](https://docs.raycraft.dev/controls/progresscircular): Ring that shows a determinate progress value. - [ResultPage](https://docs.raycraft.dev/controls/resultpage): A full page message for an outcome: success, error, information, warning, page not found, no access and server error, with an icon, a title, a text and buttons. - [Skeleton](https://docs.raycraft.dev/controls/skeleton): Placeholder shown while content loads. - [SkeletonPreset](https://docs.raycraft.dev/controls/skeletonpreset): Ready-made loading placeholders: card, list, table, profile and paragraph. - [Spinner](https://docs.raycraft.dev/controls/spinner): Indeterminate loading indicator with a localized accessible name. ## Content - [ActivityFeed](https://docs.raycraft.dev/controls/activityfeed): A list of what happened and who did it, newest first, grouped by day, with an icon or the initials of the actor and an optional detail line. - [Avatar](https://docs.raycraft.dev/controls/avatar): Square user badge: image, initials computed from a name, or a default user icon. - [AvatarGroup](https://docs.raycraft.dev/controls/avatargroup): Overlapping avatars for a team or the people on an item. - [Barcode](https://docs.raycraft.dev/controls/barcode): Draws Code 128 (all printable ASCII, digits are packed in pairs), Code 39 (capitals, digits and - . - [Carousel](https://docs.raycraft.dev/controls/carousel): Slides with previous and next buttons and indicators. - [CodeBlock](https://docs.raycraft.dev/controls/codeblock): Shows source code with light syntax coloring (C#, JavaScript, TypeScript, JSON, HTML, SCSS, SQL and shell), optional line numbers and a copy button. - [CommentThread](https://docs.raycraft.dev/controls/commentthread): Comments with replies, a box for a new comment and Reply and Delete commands. - [Countdown](https://docs.raycraft.dev/controls/countdown): Counts down to a moment in time and raises OnFinished when it is reached. - [Descriptions](https://docs.raycraft.dev/controls/descriptions): Key and value pairs in a grid, for details of a record. - [Diagram](https://docs.raycraft.dev/controls/diagram): Flow charts and organization charts drawn as SVG. - [Highlighter](https://docs.raycraft.dev/controls/highlighter): Marks every occurrence of a search text inside a string, ignoring case unless CaseSensitive is set. - [Icon](https://docs.raycraft.dev/controls/icon): A library of 334 icons in one consistent style: 24 px grid, 2 px strokes, round ends and joins. - [Image](https://docs.raycraft.dev/controls/image): Image with required alternative text, fit modes, optional border and caption. - [ImageGallery](https://docs.raycraft.dev/controls/imagegallery): Grid of thumbnails that opens a full-screen viewer (Lightbox) with previous and next buttons, the arrow keys and Escape. - [Lightbox](https://docs.raycraft.dev/controls/lightbox): A full-screen viewer for the images of an ImageGallery. - [Link](https://docs.raycraft.dev/controls/link): Styled anchor. - [Markdown](https://docs.raycraft.dev/controls/markdown): Shows Markdown text: headings, emphasis, links, images, lists (nested), quotes, code, tables and rules. - [Marquee](https://docs.raycraft.dev/controls/marquee): Scrolling strip for short announcements. - [PricingTable](https://docs.raycraft.dev/controls/pricingtable): Plan cards with a price, a feature list and a button, with an optional switch between monthly and yearly billing. - [QrCode](https://docs.raycraft.dev/controls/qrcode): Draws a QR code as plain SVG, with no image service or script. - [Statistic](https://docs.raycraft.dev/controls/statistic): Large number with a label, an optional trend and extra content such as a Sparkline. - [Timeline](https://docs.raycraft.dev/controls/timeline): Vertical sequence of events with a marker, time and optional severity color. - [Typography](https://docs.raycraft.dev/controls/typography): Headings, body text, captions and overlines with the theme font and sizes. ## Data - [DataFilter](https://docs.raycraft.dev/controls/datafilter): Builds a filter from conditions (field, operator, value) and returns it as a predicate, so it works with any list and with DataGrid items. - [DataGrid](https://docs.raycraft.dev/controls/datagrid): Table with sorting (click a header: ascending, descending, off), per-column filters, paging, row selection and templates. - [DataGridPdfButton](https://docs.raycraft.dev/controls/datagridpdfbutton): A button that exports the connected DataGrid to a PDF file. - [FileExplorer](https://docs.raycraft.dev/controls/fileexplorer): File browser for a store that your code provides (a database, a disk or a cloud). - [FileManager](https://docs.raycraft.dev/controls/filemanager): Folder tree, path, and a list or tile view of the files in the current folder, with search, sorting, new folder, rename, delete and upload. - [PivotGrid](https://docs.raycraft.dev/controls/pivotgrid): Summarizes a list into a cross-table: fields on the rows, fields across the columns and figures in the cells, with subtotals, grand totals and a field chooser. - [QueryBuilder](https://docs.raycraft.dev/controls/querybuilder): Builds a query from nested groups of conditions, each group combined with AND or OR. - [TreeList](https://docs.raycraft.dev/controls/treelist): A tree whose nodes are table rows. ## Light data - [List](https://docs.raycraft.dev/controls/list): Vertical list of items with icon, two text lines and a trailing action. - [PropertyGrid](https://docs.raycraft.dev/controls/propertygrid): Edits the public properties of any object, grouped by Category and labeled with DisplayName. - [Repeater](https://docs.raycraft.dev/controls/repeater): Shows a list of items with your own template. - [Table](https://docs.raycraft.dev/controls/table): Simple styled HTML table for static data. - [VirtualList](https://docs.raycraft.dev/controls/virtuallist): A scrolling list that draws only the rows in view, for hundreds of thousands of items. ## Charts - [AreaChart](https://docs.raycraft.dev/controls/areachart): Stacked, percent and overlapping areas. - [BarChart](https://docs.raycraft.dev/controls/barchart): Clustered or stacked bars, vertical or horizontal, with negative values supported in clustered mode. - [BoxPlot](https://docs.raycraft.dev/controls/boxplot): The spread of a group of numbers. - [BubbleChart](https://docs.raycraft.dev/controls/bubblechart): A scatter chart with a third dimension: the area of each square marker follows the size value. - [BulletChart](https://docs.raycraft.dev/controls/bulletchart): Compact progress against a target: one bar per measure with qualitative ranges and a target mark. - [CalendarHeatmap](https://docs.raycraft.dev/controls/calendarheatmap): A year of days as small squares, one column per week, darker where the value is higher. - [CandlestickChart](https://docs.raycraft.dev/controls/candlestickchart): Open, high, low and close for each period, with optional volume. - [ChartDataTable](https://docs.raycraft.dev/controls/chartdatatable): A table of the chart data that is hidden from the screen and read by screen readers, so the chart values are available as text. - [ChartLegend](https://docs.raycraft.dev/controls/chartlegend): The legend of a chart. - [ChartToolbar](https://docs.raycraft.dev/controls/charttoolbar): The chart tool buttons: zoom in, zoom out, pan left, pan right, reset and export. - [ComboChart](https://docs.raycraft.dev/controls/combochart): Bars and lines on shared axes. - [FunnelChart](https://docs.raycraft.dev/controls/funnelchart): Stages that narrow according to their values, with the share of the first stage. - [Gauge](https://docs.raycraft.dev/controls/gauge): Arc meter for a single value with optional colored bands. - [HeatmapChart](https://docs.raycraft.dev/controls/heatmapchart): Grid of cells whose intensity shows the value. - [Histogram](https://docs.raycraft.dev/controls/histogram): Counts of values in equal ranges, drawn as touching bars. - [LineChart](https://docs.raycraft.dev/controls/linechart): Line chart with several series, optional smoothing and area fill. - [LinearGauge](https://docs.raycraft.dev/controls/lineargauge): Straight meter for a single value, horizontal or vertical, with optional colored bands. - [Map](https://docs.raycraft.dev/controls/map): A map drawn as plain SVG from GeoJSON. - [PieChart](https://docs.raycraft.dev/controls/piechart): Pie or donut chart. - [RadarChart](https://docs.raycraft.dev/controls/radarchart): Compares several measures for each series on spokes around a center. - [SankeyChart](https://docs.raycraft.dev/controls/sankeychart): Flow diagram: nodes are placed in columns by their path and link widths are proportional to the amount. - [ScatterChart](https://docs.raycraft.dev/controls/scatterchart): Points on two numeric axes. - [Sparkline](https://docs.raycraft.dev/controls/sparkline): Tiny trend line without axes, sized to sit inside text or table cells. - [SunburstChart](https://docs.raycraft.dev/controls/sunburstchart): Hierarchy as concentric rings: each ring is one level and the angle of an arc is proportional to its total. - [TreemapChart](https://docs.raycraft.dev/controls/treemapchart): Rectangles whose areas are proportional to the values, laid out with the squarified algorithm. - [WaterfallChart](https://docs.raycraft.dev/controls/waterfallchart): A running total with increases, decreases and totals. ## Scheduling - [Gantt](https://docs.raycraft.dev/controls/gantt): A project plan: a task list on the left, bars on a time scale on the right, with subtasks, progress, milestones and finish-to-start dependencies. - [RecurrenceEditor](https://docs.raycraft.dev/controls/recurrenceeditor): Edits a repeat rule (iCalendar RRULE): daily, weekly on chosen days, monthly on a day or on the nth weekday, yearly; every N periods; never, after a number of times or until a date. - [Scheduler](https://docs.raycraft.dev/controls/scheduler): Day, week, month, agenda, year and timeline views with events placed by time, overlapping events side by side, drag and drop to move an event, Shift with the arrow keys as the keyboard way, and a panel with a date and time field that opens when an event is selected, so events can also be moved on touch screens. - [SchedulerEventEditor](https://docs.raycraft.dev/controls/schedulereventeditor): The form used by the Scheduler event dialog: title, description, place, all-day, start and end, resource, color, reminder, time zone and repeat. - [SchedulerPdfButton](https://docs.raycraft.dev/controls/schedulerpdfbutton): A button that exports the connected Scheduler to a PDF file. ## Workspace - [Chat](https://docs.raycraft.dev/controls/chat): Message list with a composer. - [DashboardLayout](https://docs.raycraft.dev/controls/dashboardlayout): Grid of tiles that the user moves and resizes with the mouse, touch or the keyboard (Alt with arrow keys moves, Alt with Shift resizes). - [DesktopShell](https://docs.raycraft.dev/controls/desktopshell): An application shell with a wallpaper layer and a taskbar at the bottom. - [DockLayout](https://docs.raycraft.dev/controls/docklayout): A workspace of panels. - [Kanban](https://docs.raycraft.dev/controls/kanban): Board with columns. - [MailView](https://docs.raycraft.dev/controls/mailview): Shows the HTML of an e-mail message that comes from outside. - [MessageEditor](https://docs.raycraft.dev/controls/messageeditor): A light editor for writing a message: bold, italic, underline, lists, quote, link and clear formatting, with a switch to plain text. - [Ribbon](https://docs.raycraft.dev/controls/ribbon): The Office-style command bar: tabs with groups of commands, contextual tabs, a quick access strip and a minimized mode. - [Taskbar](https://docs.raycraft.dev/controls/taskbar): The bar at the bottom of the page with a start region, the module name, a centre region and a tray. - [Window](https://docs.raycraft.dev/controls/window): A floating window that is not modal: move it, resize it, minimize it, maximize it, and open several at once. ## Office - [DataGridSpreadsheetButton](https://docs.raycraft.dev/controls/datagridspreadsheetbutton): A toolbar button for a DataGrid that saves the rows of the grid (all pages, after filtering and sorting, visible columns only) as an .xlsx file. - [DocumentEditor](https://docs.raycraft.dev/controls/documenteditor): A word processor that opens and saves .docx (and the older .doc), Rich Text Format (.rtf) and OpenDocument (.odt) files. - [PasswordPrompt](https://docs.raycraft.dev/controls/passwordprompt): A form that asks for the password of a protected file, with a message when the password is wrong, Submit and Cancel. - [PdfCompare](https://docs.raycraft.dev/controls/pdfcompare): Compares the text of two versions of a PDF page by page and lists what was added, removed and changed, side by side. - [PdfViewer](https://docs.raycraft.dev/controls/pdfviewer): A viewer for every PDF version up to 2.0 (ISO 32000-2): continuous pages, zoom and rotation, thumbnails, bookmarks, search, text selection, links, annotations, form fields, layers, attachments, passwords (RC4 and AES-256), printing and spelling, grammar and logic checks. - [PresentationEditor](https://docs.raycraft.dev/controls/presentationeditor): A presentation editor that opens and saves .pptx (and the older .ppt) and OpenDocument (.odp) files. - [ProofingPanel](https://docs.raycraft.dev/controls/proofingpanel): The list of spelling, grammar and logic issues that the PDF viewer, the document editor, the spreadsheet and the presentation editor show. - [ReportButton](https://docs.raycraft.dev/controls/reportbutton): A report that is described in code and written as a PDF: title block, chart, page header and footer with page numbers, columns, groups with counts and totals, a grand total and bookmarks for the groups. - [RichTextEditor](https://docs.raycraft.dev/controls/richtexteditor): A compact editor for formatted text inside a form: it has a Value like a text box, but the text can be bold, italic, a list, a link, a picture or a table. - [SaveAsDialog](https://docs.raycraft.dev/controls/saveasdialog): A dialog that asks for a file name before saving a copy (Save as). - [SlideView](https://docs.raycraft.dev/controls/slideview): Draws one slide of a presentation, with its elements, the master slide and the footer. - [Spreadsheet](https://docs.raycraft.dev/controls/spreadsheet): A full spreadsheet: formulas and functions, formatting, merged cells, frozen panes, charts, conditional formatting, data validation, several sheets, undo and redo, copy and paste, fill, sort, find and replace, and CSV, .xlsx and JSON files. - [UnsavedChanges](https://docs.raycraft.dev/controls/unsavedchanges): Guards unsaved work: it shows an indicator while there are changes and asks before leaving the page or closing the file. ## Editors - [AddressField](https://docs.raycraft.dev/controls/addressfield): A recipient field for e-mail: every address becomes a chip. - [MarkdownEditor](https://docs.raycraft.dev/controls/markdowneditor): Text area with a formatting toolbar and a live preview, for people who write Markdown instead of rich text. - [WysiwygEditor](https://docs.raycraft.dev/controls/wysiwygeditor): A full WYSIWYG editor for web pages and articles: configurable toolbar, tables, images and media library, clean pasting from Word and Excel, Markdown shortcuts, blocks with the / menu, and output as clean HTML, Markdown, JSON or e-mail HTML. ## Color and file - [ColorButton](https://docs.raycraft.dev/controls/colorbutton): A toolbar button for a color: an icon with a bar of the chosen color under it. - [ColorPalette](https://docs.raycraft.dev/controls/colorpalette): A grid of color swatches that works as a radio group: one tab stop, the arrow keys, Home and End move and choose. - [ColorPicker](https://docs.raycraft.dev/controls/colorpicker): Color field with the native color chooser, a hex text box and optional preset swatches. - [FileUpload](https://docs.raycraft.dev/controls/fileupload): Drop zone and file picker. - [SignaturePad](https://docs.raycraft.dev/controls/signaturepad): Canvas for drawing a signature with a mouse, finger or pen. ## Preferences - [DensityToggle](https://docs.raycraft.dev/controls/densitytoggle): A button that switches the whole interface between comfortable and compact density. - [LanguageToggle](https://docs.raycraft.dev/controls/languagetoggle): A button that shows the current language code and switches the interface language. - [ThemeMenu](https://docs.raycraft.dev/controls/thememenu): One drop-down for the theme and the density: Slate, Slate Dark, RayCraft, RayCraft Dark, Desktop, Desktop Dark, Mist, Mist Dark, Dark and Light, each in the normal and the compact density. - [ThemeToggle](https://docs.raycraft.dev/controls/themetoggle): Ready-made switches for the Light, Dark, Slate, Slate Dark, RayCraft and RayCraft Dark themes (ThemeToggle goes through them one by one), the comfortable/compact density (DensityToggle) and the en-US/bg-BG language (LanguageToggle). ## Utilities - [BreakpointObserver](https://docs.raycraft.dev/controls/breakpointobserver): Tells your code which named breakpoint (Xs to Xxl) the window is in and re-renders when it changes. - [Fullscreen](https://docs.raycraft.dev/controls/fullscreen): Adds a button that shows its content full screen. - [Hotkey](https://docs.raycraft.dev/controls/hotkey): Invisible component that runs a callback for a keyboard shortcut such as alt+k or mod+shift+l (mod is Ctrl on Windows and Cmd on macOS). - [InfiniteScroll](https://docs.raycraft.dev/controls/infinitescroll): Loads more content when the end of a list comes into view. - [ScrollToTop](https://docs.raycraft.dev/controls/scrolltotop): Floating button that appears after scrolling down and returns to the top of the page. - [Sortable](https://docs.raycraft.dev/controls/sortable): List that can be reordered by dragging, or with the move buttons for keyboard and touch use.