You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Vue 3 component library built with Vite and Vuetify.
Introduction
Baran Component is a collection of reusable Vue 3 components, styled with Vuetify, and optimized for performance using Vite. This library aims to provide a set of commonly used components to speed up the development process of your Vue.js applications.
The BaranCard component is a versatile card component with a customizable button. It is built using Vuetify's card and button components and offers various customization options for appearance and behavior.
Props
Prop
Type
Default
Description
text
String
''
The main text content of the card.
buttonText
String
Click
The text displayed on the button.
buttonBackground
String
#7367f0
The background color of the button.
buttonColor
String
#fff
The text color of the button.
showButton
Boolean
false
Whether to show the button.
title
String
''
The title of the card.
target
String
''
The target attribute for the link, if href is provided.
subtitle
String
''
The subtitle of the card.
variant
String
''
The variant of the card (outlined, tonal, elevated, flat, text, plain).
loading
Boolean
false
Whether the card shows a loading state.
hover
Boolean
false
Whether the card has a hover effect.
href
String
''
The link URL for the card.
rounded
String
xs
The border radius of the card (e.g., xs, sm, md, lg, xl).
elevation
Number
1
The elevation (shadow) level of the card.
image
String
''
The image URL for the card.
color
String
''
The color of the card.
disabled
Boolean
false
Whether the card is disabled.
prependIcon
String
''
The icon to prepend to the card content.
appendIcon
String
''
The icon to append to the card content.
density
String
'comfortable'
The density of the card (comfortable, compact).
width
String
''
The width of the card.
maxWidth
String
''
The maximum width of the card.
minWidth
String
''
The minimum width of the card.
height
String
''
The height of the card.
maxHeight
String
''
The maximum height of the card.
minHeight
String
''
The minimum height of the card
Slots
Slot Name
Description
prepend
Slot for custom prepend content.
``
append
Slot for custom append content.
actions
Slot for actions loader content.
Events
Event
Description
@click
Event emitted when the button is clicked.
Example Usage
<template>
<BaranCardtitle="Card Title"subtitle="Card Subtitle"text="This is some example text content for the card.":show-button="true"button-text="Learn More"button-background="#ff5722"button-color="#ffffff":hover="true":elevation="4"href="https://example.com"target="_blank"class="my-custom-class":rounded="'md'"
>
<template #prepend>
<BaranAvatarsize="56">
<imgsrc="https://example.com/avatar.jpg"alt="Avatar" />
</BaranAvatar>
</template>
<template #append>
<v-icon>mdi-heart</v-icon>
</template>
</BaranCard>
</template>
<script setup></script>
Chip Component
The BaranChips component represents a small interactive element used to represent information such as tags, categories, or actions.
Props
Prop
Type
Default
Description
title
String
'Chip'
The text content displayed within the chip.
color
String
'#7367f0'
The background color of the chip.
elevation
Number
0
Elevation level of the chip.
size
String
'default'
Size of the chip (small, default, large).
variant
String
'tonal'
Visual variant of the chip (outlined, elevated, text, plain).
prependIcon
String
''
Icon to prepend before the chip text.
appendIcon
String
''
Icon to append after the chip text.
closable
Boolean
false
If true, displays a close icon for removing the chip.
The BaranExpansionPanels component allows for displaying collapsible panels with customizable options.
Props
Prop
Type
Default
Description
bg-color
String
undefined
Restricted
collapse-icon
Any
'$collapse'
Icon used when the expansion panel is in a collapsable state.
color
String
undefined
Applies specified color to the control - supports utility colors or CSS color values.
disabled
Boolean
false
Puts all children components into a disabled state.
eager
Boolean
false
Forces the component’s content to render when it mounts - useful for SEO.
elevation
String | Number
undefined
Designates an elevation applied to the component between 0 and 24.
expand-icon
Any
'$expand'
Icon used when the expansion panel is in an expandable state.
flat
Boolean
false
Removes the expansion-panel’s elevation and borders.
focusable
Boolean
false
Makes the expansion-panel headers focusable.
hide-actions
Boolean
false
Hide the expand icon in the content title.
mandatory
Boolean | 'force'
false
Forces at least one item to always be selected (if available).
max
Number
undefined
Sets a maximum number of selections that can be made.
model-value
Any
undefined
The v-model value of the component - if component supports the multiple prop, this defaults to an array.
multiple
Boolean
false
Allows one to select multiple items.
readonly
Boolean
false
Makes the entire expansion-panel read only.
ripple
Boolean | { class: string }
false
Applies the v-ripple directive.
rounded
String | Number | Boolean
undefined
Designates the border-radius applied to the component - can be 0, xs, sm, true, lg, xl, pill, circle, and shaped.
selected-class
String
undefined
Configure the active CSS class applied when an item is selected.
static
Boolean
false
Remove title size expansion when selected.
tag
String
'div'
Specify a custom tag used on the root element.
theme
String
undefined
Specify a theme for this component and all of its children.
tile
Boolean
false
Removes the border-radius.
variant
'default' | 'accordion' | 'inset' | 'popout'
'default'
Applies a distinct style to the component.
Example Usage
<template>
<BaranExpansionPanelsvariant="accordion"rounded="md":elevation="3">
<BaranExpansionPanel>
<templatev-slot:title> Title Slot </template>
<templatev-slot:text> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </template>
</BaranExpansionPanel>
<BaranExpansionPaneltitle="Title"text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.">
</BaranExpansionPanel>
</BaranExpansionPanels>
</template>
<script setup></script>
<style></style>
Expansion Panel Component
The BaranExpansionPanel is sub-component used to display a single expansion panel item.
Props
Prop
Type
Default
Description
bg-color
String
undefined
Applies specified color to the control’s background - supports utility colors or CSS color values.
collapse-icon
Any
'$collapse'
Icon used when the expansion panel is in a collapsable state.
color
String
undefined
Applies specified color to the control - supports utility colors or CSS color values.
disabled
Boolean
false
Disables the expansion-panel content.
eager
Boolean
false
Forces the component’s content to render when it mounts - useful for SEO.
elevation
String | Number
undefined
Designates an elevation applied to the component between 0 and 24.
expand-icon
Any
'$expand'
Icon used when the expansion panel is in an expandable state.
focusable
Boolean
false
MISSING DESCRIPTION (edit in github).
hide-actions
Boolean
false
Hide the expand icon in the content title.
readonly
Boolean
false
Makes the expansion-panel content read only.
ripple
Boolean | { class: string }
false
Applies the v-ripple directive.
rounded
String | Number | Boolean
undefined
Designates the border-radius applied to the component - can be 0, xs, sm, true, lg, xl, pill, circle, and shaped.
selected-class
String
undefined
Configure the active CSS class applied when an item is selected.
static
Boolean
false
Remove title size expansion when selected.
tag
String
'div'
Specify a custom tag used on the root element.
text
String
undefined
Specify content text for the component.
tile
Boolean
false
Removes any applied border-radius from the component.
title
String
undefined
Specify a title text for the component.
value
Any
undefined
Controls the opened/closed state of content.
Slots
Slot Name
Description
default
The default Vue slot.
title
Slot for title.
text
Slot for text.
Example Usage
<template>
<BaranExpansionPanelsvariant="accordion"rounded="md":elevation="3">
<BaranExpansionPanel>
<templatev-slot:title> Title Slot </template>
<templatev-slot:text> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </template>
</BaranExpansionPanel>
<BaranExpansionPaneltitle="Title"text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.">
</BaranExpansionPanel>
</BaranExpansionPanels>
</template>
<script setup></script>
<style></style>
Dialog Component
The BaranDialog component provides a dialog with an activator slot for flexibility in triggering the dialog.
Props
Prop
Type
Default
Description
title
String
'Title'
Title of the dialog.
text
String
'Lorem ipsum...'
Text content displayed within the dialog.
closeButtonText
String
'Close'
Text for the close button inside the dialog.
rounded
String
'xs'
Rounded corner size of the dialog.
buttonText
String
'Open Modal'
Text displayed on the activator button triggering the dialog.
buttonColor
String
'#7367f0'
Color of the activator button.
buttonElevation
Number
2
Elevation level of the activator button.
persistent
Boolean
false
Whether the dialog persists after being closed.
transition
String
''
Transition name for dialog animation.
scrollable
Boolean
false
Whether the dialog content is scrollable.
fullscreen
Boolean
false
Whether the dialog should occupy the full screen.
width
String
''
Width of the dialog.
maxWidth
String
''
Maximum width of the dialog.
minWidth
String
''
Minimum width of the dialog.
height
String
''
Height of the dialog.
maxHeight
String
''
Maximum height of the dialog.
minHeight
String
''
Minimum height of the dialog.
buttonVariant
String
''
Variant style of the activator button.
buttonDisabled
Boolean
false
Whether the activator button is disabled.
buttonDensity
String
'comfortable'
Density of the activator button.
buttonClass
String
''
Custom CSS classes for the activator button.
buttonSize
String
'default'
Size of the activator button.
buttonBlock
Boolean
false
Whether the activator button spans full width.
buttonRounded
String
'xs'
Rounded corner size of the activator button.
buttonLoading
Boolean
false
Whether the activator button is in a loading state.
buttonWidth
String
''
Width of the activator button.
buttonMaxWidth
String
''
Maximum width of the activator button.
buttonMinWidth
String
''
Minimum width of the activator button.
buttonHeight
String
''
Height of the activator button.
buttonMaxHeight
String
''
Maximum height of the activator button.
buttonMinHeight
String
''
Minimum height of the activator button.
Slots
Slot Name
Description
activator
Slot for replacing the default activator button. Provides props (activatorProps) to customize the activator button.
default
Slot for customizing the content inside the dialog. Receives the isActive prop indicating whether the dialog is currently active.
Example Usage
<template>
<BaranDialogwidth="auto"scrollable:title="dialogTitle":text="dialogText">
<templatev-slot:activator="{ props: activatorProps }">
<BaranButtoncolor="brown"prepend-icon="mdi-earth"text="Custom Modal Activator"variant="outlined"v-bind="activatorProps"></BaranButton>
</template>
</BaranDialog>
</template>
<script setup>
constdialogTitle="Example Dialog";constdialogText="This is an example of a dialog component with custom slots and props.";
</script>
List Component
The BaranList component renders a list of items with optional sub-groups, allowing customization of each list item.
Props
Prop
Type
Default
Description
activatable
Boolean
false
MISSING DESCRIPTION (edit in github).
activated
Any
undefined
Array of ids of activated nodes.
active-class
String
undefined
The class applied to the component when it is in an active state.
active-color
String
undefined
The applied color when the component is in an active state.
base-color
String
undefined
Sets the color of component when not focused.
bg-color
String
undefined
Applies specified color to the control’s background - supports utility colors or CSS color values.
border
String | Number | Boolean
false
Designates the border-radius applied to the component - can be xs, sm, md, lg, xl.
collapse-icon
String
undefined
MISSING DESCRIPTION (edit in github).
color
String
undefined
Applies specified color to the control - supports utility colors or CSS color values.
density
'default' | 'comfortable' | 'compact'
'comfortable'
Adjusts the vertical height used by the component.
disabled
Boolean
false
Puts all children inputs into a disabled state.
elevation
String | Number
undefined
Designates an elevation applied to the component between 0 and 24.
expand-icon
String
undefined
MISSING DESCRIPTION (edit in github).
height
String | Number
undefined
Sets the height for the component.
item-children
SelectItemKey<any>
'children'
Property on supplied items that contains its children.
item-props
SelectItemKey<any>
'props'
Props object that will be applied to each item component.
items
Any[]
[]
Can be an array of objects or strings.
item-title
SelectItemKey<any>
'title'
Property on supplied items that contains its title.
item-type
String
'type'
Designates the key on the supplied items that is used for determining the nodes type.
item-value
SelectItemKey<any>
'value'
Property on supplied items that contains its value.
lines
Boolean | 'one' | 'two' | 'three'
'one'
Designates a minimum-height for all children v-list-item components.
mandatory
Boolean
false
Forces at least one item to always be selected (if available).
max-height
String | Number
undefined
Sets the maximum height for the component.
max-width
String | Number
undefined
Sets the maximum width for the component.
min-height
String | Number
undefined
Sets the minimum height for the component.
min-width
String | Number
undefined
Sets the minimum width for the component.
nav
Boolean
false
An alternative styling that reduces v-list-item width and rounds the corners.
opened
Unknown
undefined
An array containing the values of currently opened groups.
open-strategy
'single' | 'multiple' | 'list' | OpenStrategy
'list'
Affects how items with children behave when expanded.
return-object
Boolean
false
Changes the selection behavior to return the object directly rather than the value specified with item-value.
rounded
String | Number | Boolean
undefined
Designates the border-radius applied to the component - can be 0, xs, sm, true, lg, xl, pill, circle, and shaped.
selectable
Boolean
false
MISSING DESCRIPTION (edit in github).
selected
Unknown
undefined
An array containing the values of currently selected items.
slim
Boolean
false
Reduces horizontal spacing for badges, icons, tooltips, and avatars within slim list items.
tag
String
'div'
Specify a custom tag used on the root element.
theme
String
undefined
Specify a theme for this component and all of its children.
tile
Boolean
false
Removes any applied border-radius from the component.
value-comparator
(a: any, b: any) => Boolean
undefined
Apply a custom comparison algorithm to compare model-value and values contains in the items prop.
The BaranTabs component is a customizable tab component with support for icons, dynamic tab content, and various styling options. It allows for flexible props, slots, and a simple API to manage the tabs.
The BaranSpeedDial component provides a customizable speed dial menu with various items. Extended from Vuetify.
Props
Prop
Type
Default
Description
items
Array
See Example
An array of objects, each representing an item in the speed dial menu.
position
Array
['bottom', 'center']
The position of the speed dial menu (horizontal and vertical alignment).
icon
String
'mdi-translate'
The icon for the speed dial activator button.
color
String
'#7367f0'
The color of the speed dial activator button.
variant
String
'tonal'
The variant style of the activator button.
density
String
'comfortable'
The density of the activator button.
Slots
Slot Name
Description
activator
Slot for customizing the activator button.
Events
The BaranSpeedDial component emits a 'click' event when any item in the speed dial menu is clicked. The clicked item object is passed as the event payload.
The BaranTextbox component is a customizable text field component with various props, computed properties, and reactive data bindings. This component leverages Vuetify's v-text-field and offers additional flexibility through props and slots.
Props
Prop
Type
Default
Description
label
String
'Text'
The label of the text field.
value
[String, Number]
''
The value of the text field.
variant
String
'outlined'
The variant of the text field (e.g., outlined, underlined, solo, etc.).
density
String
'compact'
The density of the text field (e.g., comfortable, compact).
prependIcon
String
''
The icon to prepend to the text field.
appendIcon
String
''
The icon to append to the text field.
appendInnerIcon
String
''
The inner icon to append to the text field.
clearable
Boolean
false
Whether the text field is clearable.
type
String
'text'
The type of the input (e.g., text, password, email).
The BaranTable component is a versatile data table with search functionality, sorting, and customizable headers and items. It supports various props, slots, and events to provide flexibility.
Whether the header should be fixed. Make sure specify height.
show-select
Boolean
false
Whether to show selection checkboxes.
selectableKey
String
``
The key used to determine if an item is selectable.
select-strategy
String
page
The strategy for item selection. page, single, all
multi-sort
Boolean
false
Whether to allow multiple column sorting.
groupBy
Boolean
false
Whether to enable grouping of items.
loading
Boolean
false
Whether to show the loading state.
disable-sort
Boolean
false
Disables sorting completely.
expanded
string[]
[]
Whether the item is expanded or not.
expand-on-click
boolean
false
Expands item when the row is clicked.
filter-keys
string - string[]
undefined
Array of specific keys to filter on the item.
first-icon
string
'$first'
First icon.
first-page-label
string
'$vuetify.dataFooter.firstPage'
Label for first page.
fixed-footer
boolean
false
Use the fixed-footer prop together with the height prop to fix the footer to the bottom of the table.
hide-no-data
boolean
false
Hides the menu when there are no options to show. Useful for preventing the menu from opening before results are fetched asynchronously. Also has the effect of opening the menu when the items array changes if not already open.
The BaranCarousel component is a versatile carousel that can display images, text, or a mix of both. It is built with Vuetify's carousel functionality and offers various customization options.
Props
Prop
Type
Default
Description
type
String
mix
The type of carousel items to display (image, text, mix).
The BaranAvatarMenu component is a dropdown menu activated by clicking on an avatar image. It includes a navigation drawer with a list of items and integrates with Vue Router for navigation.
The BaranChartWidget component is a flexible and customizable chart component using ApexCharts. It provides various props to configure the chart and card appearance, including dynamic data and styles.
Props
Prop
Type
Default
Description
chartProps
Object
{}
Configuration object for the ApexCharts chart. This prop is required.
series
Array
[]
Data series for the chart.
bgColor
String
#fff
Background color of the card.
elevation
Number
0
Elevation of the card (range from 0 to 24).
chartProps Object Properties
Property
Type
Description
chartId
String
Unique identifier for the chart.
chartType
String
Type of the chart (e.g., line, bar, pie).
toolbarShow
Boolean
Whether to show the chart toolbar.
fillColors
Array
Colors for filling the chart.
fillType
String
Fill type (e.g., solid, gradient).
gradientShade
String
Gradient shade type (e.g., light, dark).
gradientType
String
Gradient type (e.g., vertical, horizontal).
gradientShadeIntensity
Number
Intensity of the gradient shade.
gradientOpacityFrom
Number
Starting opacity for the gradient.
gradientOpacityTo
Number
Ending opacity for the gradient.
gridShow
Boolean
Whether to show the grid.
gridPadding
Object
Padding for the grid.
xaxisLabelsShow
Boolean
Whether to show labels on the x-axis.
xaxisCategories
Array
Categories for the x-axis.
xaxisAxisBorderShow
Boolean
Whether to show the x-axis border.
xaxisAxisTicksShow
Boolean
Whether to show ticks on the x-axis.
dataLabelsEnabled
Boolean
Whether to enable data labels.
strokeCurve
String
Curve type for the stroke (e.g., smooth, straight).
strokeWidth
Number
Width of the stroke.
titleText
String
Title text of the chart.
titleAlign
String
Alignment of the title (e.g., left, center, right).
titleMargin
Number
Margin for the title.
titleOffsetX
Number
Horizontal offset for the title.
titleOffsetY
Number
Vertical offset for the title.
titleFloating
Boolean
Whether the title is floating.
titleStyle
Object
Style object for the title.
subtitleText
String
Subtitle text of the chart.
subtitleAlign
String
Alignment of the subtitle (e.g., left, center, right).
The BaranTooltip component is a customizable tooltip with various props and events. Tooltips can wrap any element.
Props
Prop
Type
Default
Description
text
String
Tooltip!
The text of tooltip content.
location
String
left
The location of the tooltip.
model-value
Boolean
false
Always show.
bgColor
String
#424242
Background color of the tooltip.
color
String
#fff
Text color of the tooltip.
disabled
Boolean
false
Whether the tooltip is disabled.
width
String
''
The width of the tooltip.
maxWidth
String
''
The maximum width of the tooltip.
minWidth
String
''
The minimum width of the tooltip.
height
String
''
The height of the tooltip.
maxHeight
String
''
The maximum height of the tooltip.
minHeight
String
''
The minimum height of the tooltip.
openDelay
[String, Number]
undefined
Delay (in ms) after which tooltip opens (when open-on-hover prop is set to true).
closeDelay
[String, Number]
undefined
Delay (in ms) after which menu closes (when open-on-hover prop is set to true).
openOnClick
Boolean
false
Designates whether the tooltip should open on activator click.
openOnFocus
Boolean
undefined
Activate the component when the activator is focused.
openOnHover
Boolean
true
Designates whether the tooltip should open on activator hover.
z-index
[String, Number]
2000
The z-index used for the component.
id
String
undefined
HTML id attribute of the tooltip overlay. If not set, a globally unique id will be used.
attach
[String, Boolean, Element]
false
Specifies which DOM element the overlay content should teleport to. Can be a direct element reference, querySelector string, or true to disable teleporting. Uses body by default.
The BaranBreadcrumbs component is a customizable breadcrumb with various props and events.
Props
Prop
Type
Default
Description
activeClass
String
undefined
The class applied to the component when it is in an active state.
activeColor
String
undefined
The applied color when the component is in an active state.
bgColor
String
undefined
Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
color
String
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
density
String
default
Adjusts the vertical height used by the component.
disabled
Boolean
galse
Removes the ability to click or target the component.
divider
String
/
Specifies the dividing character between items.
icon
Any
undefined
Apply a specific icon using the v-icon.
items
Array
[]
An array of strings or objects used for automatically generating children components..
rounded
[String, Number Boolean]
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
tag
String
ul
Specify a custom tag used on the root element.
tile
Boolean
false
Removes any applied border-radius from the component.
The BaranPagination component is a customizable pagination with various props and events.
Props
Prop
Type
Default
Description
active-color
String
undefined
The applied color when the component is in an active state.
aria-label
String
'$vuetify.pagination.ariaLabel.root'
Label for the root element.
border
[String, Number, Boolean]
false
Designates the border-radius applied to the component. This can be xs, sm, md, lg, xl.
color
String
undefined
Applies specified color to the selected page button - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
current-page-aria-label
String
'$vuetify.pagination.ariaLabel.currentPage'
Label for the currently selected page.
density
String
'default'
Adjusts the vertical height used by the component ('default', comfortable, compact).
disabled
Boolean
false
Removes the ability to click or target the component.
elevation
[String, Number]
undefined
Designates an elevation applied to the component between 0 and 24.
ellipsis
String
'...'
Text to show between page buttons when truncating the list.
first-aria-label
String
'$vuetify.pagination.ariaLabel.first'
Label for the go to first button.
first-icon
Any
'$first'
The icon to use for the first button.
last-aria-label
String
'$vuetify.pagination.ariaLabel.last'
Label for the go to last button.
last-icon
Any
'$last'
The icon to use for the last button.
length
[String, Number]
1
The number of pages.
model-value
Number
undefined
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
next-aria-label
String
'$vuetify.pagination.ariaLabel.next'
Label for the next button.
next-icon
Any
'$next'
The icon to use for the next button.
page-aria-label
String
'$vuetify.pagination.ariaLabel.page'
Label for each page button.
prev-icon
Any
'$prev'
The icon to use for the prev button.
previous-aria-label
String
'$vuetify.pagination.ariaLabel.previous'
Label for the previous button.
rounded
[String, Number, Boolean]
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
show-first-last-page
Boolean
false
Show buttons for going to first and last page.
size
[String, Number]
'default'
Sets the height and width of the component. Default unit is px. Can also use the following predefined sizes: x-small, small, default, large, and x-large.
start
[String, Number]
1
Specify the starting page.
tag
String
'nav'
Specify a custom tag used on the root element.
theme
String
undefined
Specify a theme for this component and all of its children.
tile
Boolean
false
Removes any applied border-radius from the component.
total-visible
[String, Number]
undefined
Specify the total visible pagination numbers.
variant
String
'text'
Applies a distinct style to the component. (flat, elevated, tonal, outlined, text, plain)
The BaranSlider component is a customizable slider with various props and events.
Props
Prop
Type
Default
Description
append-icon
Any
undefined
Creates a v-icon component after default content in the append slot.
center-affix
Boolean
true
Vertically align appendInner, prependInner, clearIcon and label in the center.
color
String
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
density
String
'default'
Adjusts the vertical height used by the component. ('default', comfortable, compact)
direction
String
'horizontal'
Changes the direction of the input. (horizontal, vertical)
disabled
Boolean
null
Removes the ability to click or target the component.
elevation
[String, Number]
2
Designates an elevation applied to the component between 0 and 24.
error
Boolean
false
Puts the input in a manual error state.
error-messages
String | String[]
[]
Puts the input in an error state and passes through custom error messages. Will be combined with any validations that occur from the rules prop. This field will not trigger validation.
focused
Boolean
false
Forces a focused state styling on the component.
hide-details
Boolean | 'auto'
false
Hides hint and validation errors. When set to auto messages will be rendered only if there’s a message (hint, error message, counter value etc) to display.
hide-spin-buttons
Boolean
false
Hides spin buttons on the input when type is set to number.
hint
string
undefined
Displays hint text below the input when focused. Force this always open with the persistent-hint property.
id
string
undefined
Sets the DOM id on the component.
label
string
undefined
Sets the text of the v-label or v-field-label component.
max
[String, Number]
100
Sets the maximum allowed value.
max-errors
[String, Number]
1
Control the maximum number of shown errors from validation.
max-width
[String, Number]
undefined
Sets the maximum width for the component.
messages
String | String[]
[]
Displays a list of messages or a single message if using a string.
min
[String, Number]
0
Sets the minimum allowed value.
min-width
[String, Number]
undefined
Sets the minimum width for the component.
model-value
[String, Number]
0
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
name
string
undefined
Sets the component’s name attribute.
persistent-hint
Boolean
false
Forces hint to always be visible.
prepend-icon
any
undefined
Prepends an icon to the component, uses the same syntax as v-icon.
readonly
Boolean
null
Puts input in readonly state.
reverse
Boolean
false
Reverses the slider direction.
ripple
Boolean
true
Applies the v-ripple directive.
rounded
[String, Number, Boolean]
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
rules
ValidationRule[]
[]
Accepts a mixed array of types function, boolean and string. Functions pass an input value as an argument and must return either true / false or a string containing an error message. The input field will enter an error state if a function returns (or any value in the array contains) false or is a string.
show-ticks
Boolean | 'always'
false
Show track ticks. If true it shows ticks when using slider. If set to 'always' it always shows ticks.
step
[String, Number]
0
If greater than 0, sets step interval for ticks.
theme
String
undefined
Specify a theme for this component and all of its children.
thumb-color
String
undefined
Sets the thumb and thumb label color.
thumb-label
Boolean | 'always'
undefined
Show thumb label. If true it shows label when using slider. If set to 'always' it always shows label.
thumb-size
[String, Number]
20
Controls the size of the thumb label.
ticks
Number[] | Record<number, string>
undefined
Show track ticks. If true it shows ticks when using slider. If set to 'always' it always shows ticks.
tick-size
[String, Number]
2
Controls the size of ticks.
tile
Boolean
false
Removes any applied border-radius from the component.
The BaranTextarea component is a customizable textarea with various props and events.
Props
Prop
Type
Default
Description
active
boolean
false
Controls the active state of the item. This is typically used to highlight the component.
append-icon
any
undefined
Creates a v-icon component after default content in the append slot.
append-inner-icon
any
undefined
Creates a v-icon component in the append-inner slot.
autofocus
boolean
false
MISSING DESCRIPTION (edit in github)
auto-grow
boolean
false
Automatically grow the textarea depending on amount of text.
base-color
string
undefined
Sets the color of the input when it is not focused.
bg-color
string
undefined
Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
clearable
boolean
false
Allows for the component to be cleared.
clear-icon
any
'$clear'
The icon used when the clearable prop is set to true.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
counter
string | number | true
false
Creates counter for input length; if no number is specified, it defaults to 25. Does not apply any validation.
counter-value
(value: any) => number
compact
Display the input length but do not provide any validation.
density
String
'compact'
Adjusts the vertical height used by the component. ('default' | 'comfortable' | 'compact')
direction
'horizontal' | 'vertical'
'horizontal'
Changes the direction of the input.
dirty
boolean
false
Manually apply the dirty state styling.
disabled
boolean
null
Removes the ability to click or target the input.
error
boolean
false
Puts the input in a manual error state.
error-messages
string | string[]
[]
Puts the input in an error state and passes through custom error messages. Will be combined with any validations that occur from the rules prop. This field will not trigger validation.
flat
boolean
false
Removes box shadow when using a variant with elevation.
focused
boolean
false
Forces a focused state styling on the component.
hide-details
boolean | 'auto'
false
Hides hint and validation errors. When set to auto messages will be rendered only if there’s a message (hint, error message, counter value etc) to display.
hide-spin-buttons
boolean
false
Hides spin buttons on the input when type is set to number.
hint
string
undefined
Displays hint text below the input when focused. Force this always open with the persistent-hint property.
id
string
undefined
Sets the DOM id on the component.
label
string
Textarea
Sets the text of the v-label or v-field-label component.
loading
string | boolean
false
Displays linear progress bar. Can either be a String which specifies which color is applied to the progress bar (any material color or theme color - primary, secondary, success, info, warning, error) or a Boolean which uses the component color (set by color prop - if it’s supported by the component) or the primary color.
max-errors
string | number
1
Control the maximum number of shown errors from validation.
max-rows
string | number
undefined
Specifies the maximum number of row count.
max-width
string | number
undefined
Sets the maximum width for the component.
messages
string | string[]
[]
Displays a list of messages or a single message if using a string.
min-width
string | number
undefined
Sets the minimum width for the component.
model-value
any
undefined
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
name
string
undefined
Sets the component’s name attribute.
no-resize
boolean
false
Remove resize handle.
persistent-clear
boolean
false
Always show the clearable icon when the input is dirty (By default it only shows on hover).
persistent-counter
boolean
false
Forces counter to always be visible.
persistent-hint
boolean
false
Forces hint to always be visible.
persistent-placeholder
boolean
false
Forces placeholder to always be visible.
placeholder
string
Type something
Sets the input’s placeholder text.
prefix
string
undefined
Displays prefix text.
prepend-icon
any
undefined
Prepends an icon to the component, uses the same syntax as v-icon.
prepend-inner-icon
any
undefined
Creates a v-icon component in the prepend-inner slot.
readonly
boolean
null
Puts input in readonly state.
reverse
boolean
false
Reverses the orientation.
rounded
string | number | boolean
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
rows
string | number
5
Default row count.
rules
ValidationRule[]
[]
Accepts a mixed array of types function, boolean and string. Functions pass an input value as an argument and must return either true / false or a string containing an error message. The input field will enter an error state if a function returns (or any value in the array contains) false or is a string.
single-line
boolean
false
Label does not move on focus/dirty.
suffix
string
undefined
Displays suffix text.
theme
string
undefined
Specify a theme for this component and all of its children.
tile
boolean
false
Removes any applied border-radius from the component.
The BaranInfiniteScroll component displays a potentially infinite list, by loading more items of the list when scrolling. It supports either vertical or horizontal scrolling.
Props
Prop
Type
Default
Description
custom-filter
FilterFunction
undefined
Function to filter items.
custom-key-filter
unknown
undefined
Function used on specific keys within the item object. customFilter is skipped for columns with customKeyFilter specified.
custom-key-sort
unknown
undefined
Function used on specific keys within the item object. customSort is skipped for columns with customKeySort specified.
expanded
string[]
[]
Array of expanded items. Can be used with .sync modifier.
expand-on-click
boolean
false
Expands item when the row is clicked.
filter-keys
string | string[]
undefined
Array of specific keys to filter on the item.
filter-mode
'every' | 'some' | 'union' | 'intersection'
'intersection'
Controls how the results of customFilter and customKeyFilter are combined. some: There is at least one match from either the custom filter or the custom key filter. every: All columns match either the custom filter or the custom key filter. union: There is at least one match from the custom filter, or all columns match the custom key filters. intersection: There is at least one match from the custom filter, and all columns match the custom key filters.
group-by
SortItem[]
[]
Changes which item property should be used for grouping items. Currently only supports a single grouping in the format: group or ['group']. When using an array, only the first element is considered. Can be used with .sync modifier.
items
unknown[]
[]
An array of strings or objects used for automatically generating children components.
item-selectable
SelectItemKey
null
Property on supplied items that contains the boolean value indicating if the item is selectable.
items-per-page
string | number
5
Changes how many items per page should be visible. Can be used with .sync modifier. Setting this prop to -1 will display all items on the page.
item-value
SelectItemKey
'id'
Property on supplied items that contains its value.
loading
boolean
false
If true and no items are provided, then a loading text will be shown.
model-value
any[]
[]
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
multi-sort
boolean
false
If true then one can sort on multiple properties.
must-sort
boolean
false
If true then one cannot disable sorting, it will always switch between ascending and descending.
no-filter
boolean
false
Disables all item filtering.
page
string | number
1
The current displayed page number (1-indexed).
return-object
boolean
false
Changes the selection behavior to return the object directly rather than the value specified with item-value.
search
string
undefined
Text input used to filter items.
select-strategy
'single' | 'page' | 'all'
'page'
Defines the strategy of selecting items in the list. Possible values are: ‘single’ (only one item can be selected at a time), ‘page’ (‘Select all’ button will select only items on the current page), ‘all’ (‘Select all’ button will select all items in the list).
show-expand
boolean
false
Shows the expand icon.
show-select
boolean
false
Shows the column with checkboxes for selecting items in the list.
sort-by
SortItem[]
[]
Changes which item property (or properties) should be used for sort order. Can be used with .sync modifier.
The BaranSparkline component can be used to create simple graphs, like GitHub’s contribution chart.
Props
Prop
Type
Default
Description
auto-draw
boolean
false
Trace the length of the line when first rendered.
auto-draw-duration
string | number
undefined
Amount of time (in ms) to run the trace animation.
auto-draw-easing
string
'ease'
The easing function to use for the trace animation.
auto-line-width
boolean
false
Automatically expand bars to use space efficiently.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
fill
boolean
false
Using the fill property allows you to better customize the look and feel of your sparkline.
gradient
string[]
[]
An array of colors to use as a linear-gradient.
gradient-direction
'top' | 'bottom' | 'left' | 'right'
'top'
The direction the gradient should run.
height
string | number
75
Height of the SVG trendline or bars.
id
string
undefined
MISSING DESCRIPTION (edit in github).
item-value
string
'value'
MISSING DESCRIPTION (edit in github).
labels
(number | { value: number })[]
[]
An array of string labels that correspond to the same index as its data counterpart.
label-size
string | number
7
The label font size.
line-width
string | number
4
The thickness of the line, in px.
max
string | number
undefined
MISSING DESCRIPTION (edit in github).
min
string | number
undefined
MISSING DESCRIPTION (edit in github).
model-value
(number | { value: number })[]
[]
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
padding
string | number
8
Low smooth or high line-width values may result in cropping, increase padding to compensate.
show-labels
boolean
false
Show labels below each data point.
smooth
boolean
false
Number of px to use as a corner radius. true defaults to 8, false is 0.
The BaranAlert component is used to convey important information to the user through the use of contextual types, icons, and colors.
Props
Prop
Type
Default
Description
border
boolean | 'top' | 'end' | 'bottom' | 'start'
false
Adds a colored border to the component.
border-color
string
undefined
Specifies the color of the border. Accepts any color value.
closable
boolean
false
Adds a close icon that can hide the alert.
close-icon
any
'$close'
Change the default icon used for closable alerts.
close-label
string
'$vuetify.close'
Text used for aria-label on closable alerts. Can also be customized globally in Internationalization.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
density
'default' | 'comfortable' | 'compact'
'default'
Adjusts the vertical height used by the component.
elevation
string | number
undefined
Designates an elevation applied to the component between 0 and 24. You can find more information on the elevation page.
height
string | number
undefined
Sets the height for the component.
icon
any
null
Apply a specific icon using the v-icon component.
location
Anchor
undefined
Specifies the component’s location. Can combine by using a space separated string.
max-height
string | number
undefined
Sets the maximum height for the component.
max-width
string | number
undefined
Sets the maximum width for the component.
min-height
string | number
undefined
Sets the minimum height for the component.
min-width
string | number
undefined
Sets the minimum width for the component.
model-value
boolean
true
Controls whether the component is visible or hidden.
Displays a larger vertically centered icon to draw more attention.
rounded
string | number | boolean
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
tag
string
'div'
Specify a custom tag used on the root element.
text
string
'...'
Specify content text for the component.
theme
string
undefined
Specify a theme for this component and all of its children.
tile
boolean
false
Removes the component’s border-radius.
title
string
undefined
Specify a title text for the component.
type
'success' | 'info' | 'warning' | 'error'
undefined
Create a specialized alert that uses a contextual color and has a pre-defined icon.
The BaranBadge component superscripts or subscripts an avatar-like icon or text onto content to highlight information to a user or to just draw attention to a specific element. Content within the badge usually contains numbers or icons.
Props
Prop
Type
Default
Description
bordered
boolean
false
Applies a 2px by default and 1.5px border around the badge when using the dot property.
color
string
#7367f0
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
content
string | number
undefined
Text content to show in the badge.
dot
boolean
false
Reduce the size of the badge and hide its contents.
floating
boolean
false
Elevates the badge above the slotted content.
icon
any
undefined
Apply a specific icon using the v-icon component.
inline
boolean
false
Moves the badge to be inline with the wrapping element. Supports the usage of the left prop.
label
string
'$vuetify.badge'
The aria-label used for the badge.
location
Anchor
'top end'
Specifies the component’s location. Can combine by using a space separated string.
max
string | number
undefined
Sets the maximum number allowed when using the content prop with a number like value. If the content number exceeds the maximum value, a + suffix is added.
model-value
boolean
true
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
offset-x
string | number
undefined
Offset the badge on the x-axis.
offset-y
string | number
undefined
Offset the badge on the y-axis.
rounded
string | number | boolean
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
tag
string
'div'
Specify a custom tag used on the root element.
text-color
string
undefined
Applies a specified color to the control text - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
theme
string
undefined
Specify a theme for this component and all of its children.
tile
boolean
false
Removes any applied border-radius from the component.
The BaranBanner component is used as a middle-interrupting message to the user with one to two actions.
Props
Prop
Type
Default
Description
avatar
string
undefined
Designates a specific src image to pass to the thumbnail.
bg-color
string
undefined
Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)).
border
string | number | boolean
false
Designates the border-radius applied to the component. This can be xs, sm, md, lg, xl.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
density
'default' | 'comfortable' | 'compact'
'default'
Adjusts the vertical height used by the component.
elevation
string | number
undefined
Designates an elevation applied to the component between 0 and 24. You can find more information on the elevation page.
height
string | number
undefined
Sets the height for the component.
icon
any
undefined
Apply a specific icon using the v-icon component.
lines
'one' | 'two' | 'three'
undefined
The amount of visible lines of text before it truncates.
location
Anchor
undefined
Specifies the component’s location. Can combine by using a space separated string.
max-height
string | number
undefined
Sets the maximum height for the component.
max-width
string | number
undefined
Sets the maximum width for the component.
min-height
string | number
undefined
Sets the minimum height for the component.
min-width
string | number
undefined
Sets the minimum width for the component.
mobile
boolean
null
Applies the mobile banner styles.
mobile-breakpoint
number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'
undefined
Overrides the display configuration default screen size that the component should be considered in mobile.
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
stacked
boolean
false
Forces the banner actions onto a new line. This is not applicable when the banner has lines="one".
sticky
boolean
false
Applies position: sticky to the component with top: 0. You can find more information on the MDN documentation for sticky position.
tag
string
'div'
Specify a custom tag used on the root element.
text
string
undefined
Specify content text for the component.
theme
string
undefined
Specify a theme for this component and all of its children.
tile
boolean
false
Removes any applied border-radius from the component.
Sets the component transition. Can be one of the built-in or custom transition.
Slots
Slot Name
Description
actions
The slot used for the action’s content such as a BaranButton.
``
The default Vue slot
prepend
Adds an item outside the input and before input content.
text
Slot for the component’s text content.
Example Usage
<template>
<BaranBannercolor="success"icon="$vuetify"lines="three"text="Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquam earum, est illo quae fugit voluptatum fuga magni hic maiores ipsa, illum, tenetur accusamus cupiditate? Dolorem ad nisi eveniet officia voluptatibus."stacked>
<templatev-slot:actions>
<BaranButton>Click me</BaranButton>
</template>
</BaranBanner>
</template>
<script setup>
importBaranBannerfrom"baran-component/BaranBanner.vue";
</script>
Skeleton Loader Component
The BaranSkeletonLoader component provides a simple way to display loading placeholders in your application.
Props
Prop
Type
Default
Description
boilerplate
boolean
false
Remove the loading animation from the skeleton.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
elevation
string | number
undefined
Designates an elevation applied to the component between 0 and 24. You can find more information on the elevation page.
height
string | number
undefined
Sets the height for the component.
loading
boolean
false
Applies a loading animation with a on-hover loading cursor. A value of false will only work when there is content in the default slot.
loading-text
string
'$vuetify.loading'
MISSING DESCRIPTION (edit in github).
max-height
string | number
undefined
Sets the maximum height for the component.
max-width
string | number
undefined
Sets the maximum width for the component.
min-height
string | number
undefined
Sets the minimum height for the component.
min-width
string | number
undefined
Sets the minimum width for the component.
theme
string
undefined
Specify a theme for this component and all of its children.
A string delimited list of skeleton components to create such as type="text@3" or type="card, list-item". Will recursively generate a corresponding skeleton from the provided string. Also supports short-hand for multiple elements such as article@3 and paragraph@2 which will generate 3 article skeletons and 2 paragraph skeletons. Please see below for a list of available pre-defined options.
The BaranSnackbar component provides a simple way to display loading placeholders in your application.
Props
Prop
Type
Default
Description
absolute
boolean
false
Applies position: absolute to the content element.
activator
Element | 'parent' | (string & {}) | ComponentPublicInstance
undefined
Explicitly sets the overlay’s activator.
activator-props
unknown
{}
Apply custom properties to the activator.
attach
string | boolean | Element
false
Specifies which DOM element the overlay content should teleport to. Can be a direct element reference, querySelector string, or true to disable teleporting. Uses body by default.
close-delay
string | number
undefined
Milliseconds to wait before closing component. Only applies to hover and focus events.
close-on-back
boolean
true
Closes the overlay content when the browser’s back button is pressed or $router.back() is called, cancelling the original navigation. Persistent overlays will cancel navigation and animate as if they were clicked outside instead of closing.
close-on-content-click
boolean
false
Closes component when you click on its content.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
contained
boolean
false
Limits the size of the component and scrim to its offset parent. Implies absolute and attach. (Note: The parent element must have position: relative.)
disabled
Boolean
false
Removes the ability to click or target the component.
eager
Boolean
false
Forces the component’s content to render when it mounts.
height
String | Number
undefined
Sets the height for the component.
location
Anchor
'bottom'
Specifies the anchor point for positioning the component, using directional cues to align it either horizontally, vertically, or both.
location-strategy
'static' | 'connected' | LocationStrategyFn
'static'
Specifies how the component should position relative to its activator.
max-height
String | Number
undefined
Sets the maximum height for the component.
max-width
String | Number
undefined
Sets the maximum width for the component.
min-height
String | Number
undefined
Sets the minimum height for the component.
min-width
String | Number
undefined
Sets the minimum width for the component.
model-value
Boolean
false
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
multi-line
Boolean
false
Gives the snackbar a larger minimum height.
offset
String | Number | Number[]
undefined
A single value that offsets content away from the target based upon what side it is on.
opacity
String | Number
undefined
Sets the overlay opacity.
open-delay
String | Number
undefined
Milliseconds to wait before opening component. Only applies to hover and focus events.
open-on-click
Boolean
undefined
Activate the component when the activator is clicked.
open-on-focus
Boolean
undefined
Activate the component when the activator is focused.
open-on-hover
Boolean
false
Activate the component when the activator is hovered.
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
For locationStrategy="connected", specify an element or array of x,y coordinates that the overlay should position itself relative to. This will be the activator element by default.
text
String
undefined
Specify content text for the component.
theme
String
undefined
Specify a theme for this component and all of its children.
tile
Boolean
false
Removes any applied border-radius from the component.
timeout
String | Number
5000
Time (in milliseconds) to wait until snackbar is automatically hidden. Use -1 to keep open indefinitely (0 in version < 2.3). It is recommended for this number to be between 4000 and 10000. Changes to this property will reset the timeout.
timer
String | Boolean
false
Display a progress bar that counts down until the snackbar closes. Pass a string to set a custom color, otherwise uses info.
The BaranRating component is a specialized but important piece in building user widgets. Collecting user feedback via ratings is a simple analytic that can provide a lot of feedback to your product or application.
Props
Prop
Type
Default
Description
active-color
String
undefined
The applied color when the component is in an active state.
clearable
Boolean
false
Allows for the component to be cleared by clicking on the current value.
color
String
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
density
'default' | 'comfortable' | 'compact'
'default'
Adjusts the vertical height used by the component.
disabled
Boolean
false
Removes the ability to click or target the component.
empty-icon
Any
$ratingEmpty
The icon displayed when empty.
full-icon
Any
$ratingFull
The icon displayed when full.
half-increments
Boolean
false
Allows the selection of half increments.
hover
Boolean
false
Provides visual feedback when hovering over icons.
item-aria-label
String
$vuetify.rating.ariaLabel.item
Label for each rating item (description missing).
item-label-position
String
'top'
Position of item labels. Accepts 'top' and 'bottom'.
item-labels
String[]
undefined
Array of labels to display next to each item.
length
String | Number
5
The amount of items to show.
model-value
String | Number
0
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
name
String
undefined
Sets the component’s name attribute.
readonly
Boolean
false
Removes all hover effects and pointer events.
ripple
Boolean
false
Applies the v-ripple directive.
size
String | Number
'default'
Sets the height and width of the component. Default unit is px. Can also use the following predefined sizes: x-small, small, default, large, and x-large.
tag
String
'div'
Specify a custom tag used on the root element.
theme
String
undefined
Specify a theme for this component and all of its children.
The BaranTimeline is useful for stylistically displaying chronological information.
Props
Prop
Type
Default
Description
align
'center' | 'start'
'center'
Places the timeline dot at the top or center of the timeline item.
density
'default' | 'compact' | 'comfortable'
'default'
Adjusts the vertical height used by the component.
direction
'vertical' | 'horizontal'
'vertical'
Display timeline in a vertical or horizontal direction.
dot-color
String
undefined
Color of the item dot.
fill-dot
Boolean
false
Remove outer border of item dot, making the color fill the entire dot.
hide-opposite
Boolean
undefined
Hide opposite content if it exists.
icon-color
String
undefined
Color of the icon.
justify
String
'auto'
Places timeline line at the center or automatically on the left or right side.
line-color
String
undefined
Color of the timeline line.
line-inset
String | Number
0
Specifies the distance between the line and the dot of timeline items.
line-thickness
String | Number
2
Thickness of the timeline line.
side
'start' | 'end'
undefined
Display all timeline items on one side of the timeline, either before or after.
size
String | Number
'default'
Size of the item dot.
tag
String
'div'
Specify a custom tag used on the root element.
theme
String
undefined
Specify a theme for this component and all of its children.
truncate-line
'start' | 'end' | 'both'
undefined
Truncate timeline directly at the start or end of the line, or on both ends.
Slots
Slot Name
Description
``
The default Vue slot.
Example Usage
<template>
<BaranTimelinealign="start"direction="vertical">
<BaranTimelineItemv-for="(year, i) in years":key="i":dot-color="year.color"size="small">
<templatev-slot:opposite>
<div:class="`pt-1 headline font-weight-bold text-${year.color}`"v-text="year.year"></div>
</template>
<div>
<h2:class="`mt-n1 headline font-weight-light mb-4 text-${year.color}`">Lorem ipsum</h2>
<div>Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.</div>
</div>
</BaranTimelineItem>
</BaranTimeline>
</template>
<script setup>
import { ref } from"vue";importBaranTimelinefrom"baran-component/BaranTimeline.vue";constyears=ref([ { color:"cyan", year:"1960", }, { color:"green", year:"1970", }, { color:"pink", year:"1980", }, { color:"amber", year:"1990", }, { color:"orange", year:"2000", },]);
</script>
Timeline Item Component
The BaranTimelineItem is sub-component used to display a single timeline item.
Props
Prop
Type
Default
Description
density
'default' | 'compact'
undefined
Adjusts the vertical height used by the component.
dot-color
String
undefined
Color of the item dot.
elevation
String | Number
undefined
Designates an elevation applied to the component between 0 and 24. You can find more information on the elevation page.
fill-dot
Boolean
false
Remove outer border of item dot, making the color fill the entire dot.
height
String | Number
undefined
Sets the height for the component.
hide-dot
Boolean
false
Hide the timeline item dot.
hide-opposite
Boolean
undefined
Hide opposite content if it exists.
icon
Any
undefined
Apply a specific icon to the inside dot using the v-icon component.
icon-color
String
undefined
Color of the icon.
line-inset
String | Number
undefined
Specifies the distance between the line and the dot of the item.
max-height
String | Number
undefined
Sets the maximum height for the component.
max-width
String | Number
undefined
Sets the maximum width for the component.
min-height
String | Number
undefined
Sets the minimum height for the component.
min-width
String | Number
undefined
Sets the minimum width for the component.
rounded
String | Number | Boolean
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped.
size
String | Number
'default'
Size of the item dot.
tag
String
'div'
Specify a custom tag used on the root element.
tile
Boolean
false
Removes any applied border-radius from the component.
width
String | Number
undefined
Sets the width for the component.
Slots
Slot Name
Description
icon
Insert avatars into dots with use of the icon slot and v-avatar.
opposite
The opposite slot provides an additional layer of customization within your timelines.
Example Usage
<template>
<BaranTimelinealign="start"direction="vertical">
<BaranTimelineItemv-for="(year, i) in years":key="i":dot-color="year.color"size="small">
<templatev-slot:opposite>
<div:class="`pt-1 headline font-weight-bold text-${year.color}`"v-text="year.year"></div>
</template>
<div>
<h2:class="`mt-n1 headline font-weight-light mb-4 text-${year.color}`">Lorem ipsum</h2>
<div>Lorem ipsum dolor sit amet, no nam oblique veritus. Commune scaevola imperdiet nec ut, sed euismod convenire principes at. Est et nobis iisque percipit, an vim zril disputando voluptatibus, vix an salutandi sententiae.</div>
</div>
</BaranTimelineItem>
</BaranTimeline>
</template>
<script setup>
import { ref } from"vue";importBaranTimelinefrom"baran-component/BaranTimeline.vue";constyears=ref([ { color:"cyan", year:"1960", }, { color:"green", year:"1970", }, { color:"pink", year:"1980", }, { color:"amber", year:"1990", }, { color:"orange", year:"2000", },]);
</script>
Hover Component
The BaranHover component provides a simple interface for handling hover states for any component.
Props
Prop
Type
Default
Description
close-delay
String | Number
undefined
Milliseconds to wait before closing component. Only applies to hover and focus events.
disabled
Boolean
false
Removes hover functionality.
model-value
Boolean
null
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
open-delay
String | Number
undefined
Milliseconds to wait before opening component. Only applies to hover and focus events.
Slots
Slot Name
Description
default
The default Vue slot. Recives (isHovering).
Example Usage
<template>
<BaranHover>
<templatev-slot:default="{ isHovering, ...props }">
<BaranCardv-bind="props":color="isHovering ? 'primary' : undefined"title="Hover over me"text="Lorem ipsum dolor sit amet consectetur adipisicing elit."></BaranCard>
</template>
</BaranHover>
</template>
<script setup>
importBaranHoverfrom"baran-component/BaranHover.vue";importBaranCardfrom"baran-component/BaranCard.vue";
</script>
Progress Circular Component
The BaranProgressCircular component is used to convey data circularly to users. It also can be put into an indeterminate state to portray loading.
Props
Prop
Type
Default
Description
bg-color
String
undefined
Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
color
String
#7367f0
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
indeterminate
Boolean | 'disable-shrink'
false
Constantly animates, use when loading progress is unknown. If set to the string 'disable-shrink' it will use a simpler animation that does not run on the main thread.
model-value
String | Number
0
The percentage value for current progress.
rotate
String | Number
0
Rotates the circle start point in degrees.
size
String | Number
'default'
Sets the diameter of the circle in pixels.
tag
String
'div'
Specify a custom tag used on the root element.
theme
String
undefined
Specify a theme for this component and all of its children.
width
String | Number
4
Sets the stroke of the circle in pixels.
Slots
Slot Name
Description
default
The default Vue slot. Slot can be used to replace the text inside the loader
The BaranProgressLinear component is used to convey data visually to users. It supports both indeterminate amounts, such as loading or processing, and finite amounts of progress (including separate buffer values).
Props
Prop
Type
Default
Description
absolute
boolean
false
Applies position: absolute to the component.
active
boolean
true
Reduce the height to 0, hiding component.
bg-color
string
undefined
Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
bg-opacity
string | number
undefined
Background opacity, if null it defaults to 0.3 if background color is not specified or 1 otherwise.
buffer-color
string
undefined
Sets the color of the buffer bar.
buffer-opacity
string | number
undefined
Set the opacity of the buffer bar.
buffer-value
string | number
0
The percentage value for the buffer.
clickable
boolean
false
Clicking on the progress track will automatically set the value.
color
string
#7367f0
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
height
string | number
4
Sets the height for the component.
indeterminate
boolean
false
Constantly animates, use when loading progress is unknown.
location
Anchor
'top'
Specifies the component’s location. Can combine by using a space separated string.
max
string | number
100
Sets the maximum value the progress can reach.
model-value
string | number
0
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
opacity
string | number
undefined
Set the opacity of the progress bar.
reverse
boolean
false
Displays reversed progress (right to left in LTR mode and left to right in RTL).
rounded
string | number | boolean
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
rounded-bar
boolean
false
Applies a border radius to the progress bar.
stream
boolean
false
An alternative style for portraying loading that works in tandem with buffer-value.
striped
boolean
false
Adds a stripe background to the filled portion of the progress component.
tag
string
'div'
Specify a custom tag used on the root element.
theme
string
undefined
Specify a theme for this component and all of its children.
tile
boolean
false
Removes any applied border-radius from the component.
Slots
Slot Name
Description
default
The default Vue slot. Slot can be used to replace the text inside the bar
The BaranAvatar component is typically used to display circular user profile pictures. This component will allow you to dynamically size and add a border radius of responsive images, icons, and text. When rounded prop set to 0 will display an avatar without border radius.
Props
Prop
Type
Default
Description
color
string
#7367f0
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
density
'default' | 'comfortable' | 'compact'
'default'
Adjusts the vertical height used by the component.
end
boolean
false
Applies margin at the start of the component.
icon
any
undefined
Apply a specific icon using the v-icon component.
image
string
undefined
Apply a specific image using v-img.
rounded
string | number | boolean
undefined
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.
size
string | number
'default'
Sets the height and width of the component. Default unit is px. Can also use the following predefined sizes: x-small, small, default, large, and x-large.
start
boolean
false
Applies margin at the end of the component.
tag
string
'div'
Specify a custom tag used on the root element.
text
string
undefined
Specify content text for the component.
theme
string
undefined
Specify a theme for this component and all of its children.
tile
boolean
false
Removes any applied border-radius from the component.
An object of additional props to be passed to each <td> in the table body. Also accepts a function that will be called for each cell. If the same prop is defined both here and in cellProps in a headers object, the value from the headers object will be used.
color
string
undefined
Applies specified color to the control - supports utility colors (for example success or purple) or css color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.
custom-key-sort
unknown
undefined
Function used on specific keys within the item object. customSort is skipped for columns with customKeySort specified.
density
'default' | 'comfortable' | 'compact'
'default'
Adjusts the vertical height used by the component.
disable-sort
boolean
false
Toggles rendering of sort button.
expanded
string[]
[]
Whether the item is expanded or not.
expand-on-click
boolean
false
Expands item when the row is clicked.
first-icon
any
'$first'
First icon.
first-page-label
string
'$vuetify.dataFooter.firstPage'
Label for first page.
fixed-footer
boolean
false
Use the fixed-footer prop together with the height prop to fix the footer to the bottom of the table.
fixed-header
boolean
false
Use the fixed-header prop together with the height prop to fix the header to the top of the table.
An array of objects that each describe a header column.
height
string | number
undefined
Use the height prop to set the height of the table.
hide-default-body
boolean
false
MISSING DESCRIPTION (edit in github)
hide-default-footer
boolean
false
MISSING DESCRIPTION (edit in github)
hide-default-header
boolean
false
MISSING DESCRIPTION (edit in github)
hide-no-data
boolean
false
Hides the menu when there are no options to show. Useful for preventing the menu from opening before results are fetched asynchronously. Also has the effect of opening the menu when the items array changes if not already open.
hover
boolean
false
Will add a hover effect to a table’s row when the mouse is over it.
items
any[]
[]
An array of strings or objects used for automatically generating children components.
item-selectable
SelectItemKey
null
Property on supplied items that indicates whether the item is selectable.
Array of options to show in the items-per-page dropdown.
items-per-page-text
string
'$vuetify.dataFooter.itemsPerPageText'
Text for items-per-page dropdown.
item-value
SelectItemKey
'id'
Property on supplied items that contains its value.
last-icon
any
'$last'
Last icon.
last-page-label
string
'$vuetify.dataFooter.lastPage'
Label for last page.
loading
string | boolean
false
Displays linear progress bar. Can either be a String which specifies which color is applied to the progress bar (any material color or theme color - primary, secondary, success, info, warning, error) or a Boolean which uses the component color (set by color prop - if it’s supported by the component) or the primary color.
loading-text
string
'$vuetify.dataIterator.loadingText'
Text shown when the data is loading.
mobile
boolean
false
Determines the display mode of the component. If true, the component will be displayed in mobile mode. If false, the component will be displayed in desktop mode. If null, will be based on the current mobile-breakpoint.
mobile-breakpoint
number | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'
undefined
Overrides the display configuration default screen size that the component should be considered in mobile.
model-value
unknown
[]
The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.
multi-sort
boolean
false
Allows sorting by multiple columns.
must-sort
boolean
false
Forces sorting on the column(s).
next-icon
any
'$next'
Next icon.
next-page-label
string
'$vuetify.dataFooter.nextPage'
Label for next page.
no-data-text
string
'$vuetify.noDataText'
Text shown when no items are provided to the component.
page
string | number
1
The current displayed page number (1-indexed).
page-text
string
'$vuetify.dataFooter.pageText'
Label for page number.
prev-icon
any
'$prev'
Previous icon.
prev-page-label
string
'$vuetify.dataFooter.prevPage'
Label for previous page.
return-object
boolean
false
Changes the selection behavior to return the object directly rather than the value specified with item-value.
An object of additional props to be passed to each <tr> in the table body. Also accepts a function that will be called for each row.
search
string
undefined
Text input used to filter items.
select-strategy
'page' | 'single' | 'all'
'page'
Defines the strategy of selecting items in the list. Possible values are: ‘single’ (only one item can be selected at a time), ‘page’ (‘Select all’ button will select only items on the current page), ‘all’ (‘Select all’ button will select all items in the list).
show-current-page
boolean
false
Show current page number between prev/next icons.
show-expand
boolean
false
Shows the expand icon.
show-select
boolean
false
Shows the column with checkboxes for selecting items in the list.
sort-asc-icon
any
'$sortAsc'
Icon used for ascending sort button.
sort-by
SortItem[]
[]
Array of column keys and sort orders that determines the sort order of the table.
sort-desc-icon
any
'$sortDesc'
Icon used for descending sort button.
sticky
boolean
false
Sticks the header to the top of the table.
tag
string
'div'
Specify a custom tag used on the root element.
theme
string
undefined
Specify a theme for this component and all of its children.
value-comparator
(a: any, b: any) => boolean
undefined
Apply a custom comparison algorithm to compare model-value and values contains in the items prop.
width
string | number
undefined
Sets the width for the component.
Slots
Slot Name
Description
header.id
Slot for customizing the header of a column with key id.
headers
Slot for customizing the headers row. Receives columns, isSorted, getSortIcon, and toggleSort as scoped slot props.
item
Slot for customizing an item row. Receives item as a scoped slot prop.
item.actions
Slot for customizing actions for each item. Receives item as a scoped slot prop.
group-header
Slot for customizing the group header. Receives item, columns, toggleGroup, and isGroupOpen as scoped slot props.
top
Slot for placing content above the table.
activator
Slot for customizing the activator button of a row.
expanded-row
Slot for customizing the expanded row content. Receives item and columns as scoped slot props.
loading
Slot for customizing the loading state.
Events
Event
Description
@update:expanded
Emits when the expanded property of the options prop is updated.
@update:groupBy
Emits when the group-by property of the options property is updated.
@update:itemsPerPage
Emits when the items-per-page property of the options prop is updated.
@update:modelValue
Emits when the component’s model changes.
@update:options
Emits when one of the options properties is updated.
@update:page
Emits when the page property of the options prop is updated.
@update:sortBy
Emits when the sort-by property of the options prop is updated.