UNPKG

@thebase/ui

Version:

CDN-installable Owl and Bootstrap 5 UI component library.

121 lines (107 loc) • 4.24 kB
# Button Group Groups related buttons while preserving native button semantics. ## Pure Owl component ```js import { ButtonGroup, ButtonGroupSeparator, ButtonGroupText } from "@thebase/ui"; ``` ```base-ui <div style="max-width: 32rem" class="w-100"> <ButtonGroup> <ButtonGroup className="'d-none d-sm-flex'"> <Button variant="'outline'" size="'icon'" ariaLabel="'Go Back'" icon="'arrow-left'"/> </ButtonGroup> <ButtonGroup> <Button variant="'outline'" label="'Archive'"/> <Button variant="'outline'" label="'Report'"/> </ButtonGroup> <ButtonGroup> <Button variant="'outline'" label="'Snooze'"/> <DropdownMenu> <DropdownMenuTrigger> <Icon name="'more-horizontal'"/> </DropdownMenuTrigger> <DropdownMenuContent align="'end'" className="'w-52'"> <DropdownMenuGroup> <DropdownMenuItem> <Icon name="'mail-check'"/> Mark as Read </DropdownMenuItem> <DropdownMenuItem> <Icon name="'archive'"/> Archive </DropdownMenuItem> </DropdownMenuGroup> <DropdownMenuSeparator/> <DropdownMenuGroup> <DropdownMenuItem> <Icon name="'clock'"/> Snooze </DropdownMenuItem> <DropdownMenuItem> <Icon name="'calendar-plus'"/> Add to Calendar </DropdownMenuItem> <DropdownMenuItem> <Icon name="'list-filter'"/> Add to List </DropdownMenuItem> <DropdownMenuSub> <DropdownMenuSubTrigger> <Icon name="'tag'"/> Label As... </DropdownMenuSubTrigger> <DropdownMenuSubContent> <DropdownMenuRadioGroup value="'personal'"> <DropdownMenuRadioItem value="'personal'">Personal</DropdownMenuRadioItem> <DropdownMenuRadioItem value="'work'">Work</DropdownMenuRadioItem> <DropdownMenuRadioItem value="'other'">Other</DropdownMenuRadioItem> </DropdownMenuRadioGroup> </DropdownMenuSubContent> </DropdownMenuSub> </DropdownMenuGroup> <DropdownMenuSeparator/> <DropdownMenuGroup> <DropdownMenuItem variant="'destructive'"> <Icon name="'trash-2'"/> Trash </DropdownMenuItem> </DropdownMenuGroup> </DropdownMenuContent> </DropdownMenu> </ButtonGroup> </ButtonGroup> </div> ``` | Component | Prop | Type | Notes | | --- | --- | --- | --- | | `ButtonGroup` | `orientation` | `String` | optional | | `ButtonGroup` | `size` | `String` | optional | | `ButtonGroup` | `aria-label` | `String` | optional accessible label | | `ButtonGroup` | `aria-labelledby` | `String` | optional visible label reference | | `ButtonGroup` | `className` | `String` | optional | | `ButtonGroupSeparator` | `orientation` | `String` | `vertical` by default | | `ButtonGroupSeparator` | `className` | `String` | optional | | `ButtonGroupText` | `className` | `String` | optional | See [Pure Owl Components](/examples/blocks.html#/docs/guide/owl-components) for how to load `@base/owl` and `dist/baseui.templates.xml`. ## Static component ```base-ui <div b-ui="button-group" aria-label="View mode"> <button b-ui="button" b-att-variant="outline">Day</button> <button b-ui="button" b-att-variant="outline">Week</button> </div> ``` Options: `b-att-orientation="horizontal|vertical"`, `b-att-size="sm|lg"`. Use `b-button-group-separator` to divide filled/split actions and `b-button-group-text` for inline label text: ```base-ui <div b-ui="button-group" aria-label="Archive actions"> <button b-ui="button">Archive</button> <span b-button-group-separator></span> <button b-ui="button" b-att-size="icon" aria-label="More actions">...</button> </div> <div b-ui="button-group"> <span b-button-group-text>Search</span> <input b-ui="input" placeholder="Messages"> <button b-ui="button" b-att-variant="outline">Go</button> </div> ``` Accessibility: provide an `aria-label` or visible label for the group.