Documentation
¶
Overview ¶
Package breadcrumbs provides breadcrumb navigation components for the LiveTemplate framework.
Breadcrumbs display the current page location within a navigational hierarchy.
Available Templates ¶
- lvt:breadcrumbs:default:v1 - Standard breadcrumb navigation
Basic Usage ¶
bc := breadcrumbs.New("nav",
breadcrumbs.WithItems(
breadcrumbs.NewItem("home", breadcrumbs.WithItemLabel("Home"), breadcrumbs.WithItemHref("/")),
breadcrumbs.NewItem("products", breadcrumbs.WithItemLabel("Products"), breadcrumbs.WithItemHref("/products")),
breadcrumbs.NewItem("current", breadcrumbs.WithItemLabel("Laptop"), breadcrumbs.WithItemCurrent(true)),
),
)
{{template "lvt:breadcrumbs:default:v1" .Breadcrumbs}}
Index ¶
- func Templates() *base.TemplateSet
- type BreadcrumbItem
- type Breadcrumbs
- func (bc *Breadcrumbs) AddItem(item *BreadcrumbItem)
- func (bc *Breadcrumbs) HasItems() bool
- func (bc *Breadcrumbs) HiddenCount() int
- func (bc *Breadcrumbs) IsChevronSeparator() bool
- func (bc *Breadcrumbs) IsCollapsed() bool
- func (bc *Breadcrumbs) ItemCount() int
- func (bc *Breadcrumbs) LastItem() *BreadcrumbItem
- func (bc *Breadcrumbs) SeparatorSymbol() string
- func (bc *Breadcrumbs) SizeClass() string
- func (bc *Breadcrumbs) Styles() styles.BreadcrumbsStyles
- func (bc *Breadcrumbs) VisibleItems() []*BreadcrumbItem
- type ItemOption
- type Option
- func WithCollapsible(collapsible bool) Option
- func WithHomeHref(href string) Option
- func WithItems(items ...*BreadcrumbItem) Option
- func WithMaxVisible(max int) Option
- func WithSeparator(s Separator) Option
- func WithShowHome(show bool) Option
- func WithSize(s Size) Option
- func WithStyled(styled bool) Option
- type Separator
- type Size
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BreadcrumbItem ¶
type BreadcrumbItem struct {
base.Base
// Label is the display text.
Label string
// Href is the link URL.
Href string
// Icon is an optional icon before the label.
Icon string
// Current marks this as the current page.
Current bool
// Disabled prevents interaction.
Disabled bool
}
BreadcrumbItem represents a single breadcrumb item.
func NewItem ¶
func NewItem(id string, opts ...ItemOption) *BreadcrumbItem
NewItem creates a new BreadcrumbItem with the given ID and options.
func (*BreadcrumbItem) HasHref ¶
func (i *BreadcrumbItem) HasHref() bool
HasHref returns true if href is set.
func (*BreadcrumbItem) HasIcon ¶
func (i *BreadcrumbItem) HasIcon() bool
HasIcon returns true if icon is set.
func (*BreadcrumbItem) HasLabel ¶
func (i *BreadcrumbItem) HasLabel() bool
HasLabel returns true if label is set.
func (*BreadcrumbItem) IsClickable ¶
func (i *BreadcrumbItem) IsClickable() bool
IsClickable returns true if item can be clicked.
func (*BreadcrumbItem) LinkClass ¶
func (i *BreadcrumbItem) LinkClass() string
LinkClass returns CSS class for link state.
func (*BreadcrumbItem) Styles ¶
func (i *BreadcrumbItem) Styles() styles.BreadcrumbItemStyles
Styles returns the resolved BreadcrumbItemStyles for this item.
type Breadcrumbs ¶
type Breadcrumbs struct {
base.Base
// Items in the breadcrumb trail.
Items []*BreadcrumbItem
// Separator between items.
Separator Separator
// Size of the breadcrumb text.
Size Size
// ShowHome displays a home icon as the first item.
ShowHome bool
// HomeHref is the URL for the home link.
HomeHref string
// Collapsible enables collapsing middle items.
Collapsible bool
// MaxVisible is the max items to show when collapsed.
MaxVisible int
}
Breadcrumbs represents a breadcrumb navigation component.
func New ¶
func New(id string, opts ...Option) *Breadcrumbs
New creates a new Breadcrumbs with the given ID and options.
func (*Breadcrumbs) AddItem ¶
func (bc *Breadcrumbs) AddItem(item *BreadcrumbItem)
AddItem adds an item to the breadcrumbs.
func (*Breadcrumbs) HasItems ¶
func (bc *Breadcrumbs) HasItems() bool
HasItems returns true if there are items.
func (*Breadcrumbs) HiddenCount ¶
func (bc *Breadcrumbs) HiddenCount() int
HiddenCount returns the number of hidden items.
func (*Breadcrumbs) IsChevronSeparator ¶
func (bc *Breadcrumbs) IsChevronSeparator() bool
IsChevronSeparator returns true if using chevron separator.
func (*Breadcrumbs) IsCollapsed ¶
func (bc *Breadcrumbs) IsCollapsed() bool
IsCollapsed returns true if items should be collapsed.
func (*Breadcrumbs) ItemCount ¶
func (bc *Breadcrumbs) ItemCount() int
ItemCount returns the number of items.
func (*Breadcrumbs) LastItem ¶
func (bc *Breadcrumbs) LastItem() *BreadcrumbItem
LastItem returns the last item or nil.
func (*Breadcrumbs) SeparatorSymbol ¶
func (bc *Breadcrumbs) SeparatorSymbol() string
SeparatorSymbol returns the separator character/symbol.
func (*Breadcrumbs) SizeClass ¶
func (bc *Breadcrumbs) SizeClass() string
SizeClass returns CSS class for size.
func (*Breadcrumbs) Styles ¶
func (bc *Breadcrumbs) Styles() styles.BreadcrumbsStyles
Styles returns the resolved BreadcrumbsStyles for this component.
func (*Breadcrumbs) VisibleItems ¶
func (bc *Breadcrumbs) VisibleItems() []*BreadcrumbItem
VisibleItems returns the items to display when collapsed.
type ItemOption ¶
type ItemOption func(*BreadcrumbItem)
ItemOption configures a BreadcrumbItem.
func WithItemCurrent ¶
func WithItemCurrent(current bool) ItemOption
WithItemCurrent marks the item as current.
func WithItemDisabled ¶
func WithItemDisabled(disabled bool) ItemOption
WithItemDisabled disables the item.
func WithItemStyled ¶
func WithItemStyled(styled bool) ItemOption
WithItemStyled sets the item styled mode.
type Option ¶
type Option func(*Breadcrumbs)
Option configures a Breadcrumbs.
func WithCollapsible ¶
WithCollapsible enables collapsing.
func WithItems ¶
func WithItems(items ...*BreadcrumbItem) Option
WithItems sets the breadcrumb items.
func WithMaxVisible ¶
WithMaxVisible sets max visible items when collapsed.
type Separator ¶
type Separator string
Separator defines the visual separator between items.
const ( // SeparatorSlash uses "/" as separator. SeparatorSlash Separator = "slash" // SeparatorChevron uses ">" as separator. SeparatorChevron Separator = "chevron" // SeparatorArrow uses "→" as separator. SeparatorArrow Separator = "arrow" // SeparatorDot uses "•" as separator. SeparatorDot Separator = "dot" )