bootstrap-vue
Version:
BootstrapVue, with over 40 plugins and more than 75 custom components, provides one of the most comprehensive implementations of Bootstrap v4 components and grid system for Vue.js. With extensive and automated WAI-ARIA accessibility markup.
152 lines (148 loc) • 3.4 kB
JavaScript
import { deepFreeze } from './object'
// General BootstrapVue configuration
//
// BREAKPOINT DEFINITIONS
//
// Some components (BCol and BFormGroup) generate props based on breakpoints, and this
// occurs when the component is first loaded (evaluated), which may happen before the
// config is created/modified
//
// To get around this we make these components async (lazy evaluation)
// The component definition is only called/executed when the first access to the
// component is used (and cached on subsequent uses)
//
// See: https://vuejs.org/v2/guide/components-dynamic-async.html#Async-Components
//
// PROP DEFAULTS
//
// For default values on props, we use the default value factory function approach so
// so that the default values are pulled in at each component instantiation
//
// props: {
// variant: {
// type: String,
// default: () => getConfigComponent('BAlert', 'variant')
// }
// }
// prettier-ignore
export default deepFreeze({
// Breakpoints
breakpoints: ['xs', 'sm', 'md', 'lg', 'xl'],
// Component Specific defaults are keyed by the component
// name (PascalCase) and prop name (camelCase)
BAlert: {
dismissLabel: 'Close',
variant: 'info'
},
BBadge: {
variant: 'secondary'
},
BButton: {
variant: 'secondary'
},
BButtonClose: {
// `textVariant` is `null` to inherit the current text color
textVariant: null,
ariaLabel: 'Close'
},
BCardSubTitle: {
// BCard and BCardBody also inherit this prop
subTitleTextVariant: 'muted'
},
BCarousel: {
labelPrev: 'Previous Slide',
labelNext: 'Next Slide',
labelGotoSlide: 'Goto Slide',
labelIndicators: 'Select a slide to display'
},
BDropdown: {
toggleText: 'Toggle Dropdown',
variant: 'secondary',
splitVariant: null
},
BFormFile: {
browseText: 'Browse',
// Chrome default file prompt
placeholder: 'No file chosen',
dropPlaceholder: 'Drop files here'
},
BFormText: {
textVariant: 'muted'
},
BImg: {
blankColor: 'transparent'
},
BImgLazy: {
blankColor: 'transparent'
},
BJumbotron: {
bgVariant: null,
borderVariant: null,
textVariant: null
},
BListGroupItem: {
variant: null
},
BModal: {
titleTag: 'h5',
size: 'md',
headerBgVariant: null,
headerBorderVariant: null,
headerTextVariant: null,
headerCloseVariant: null,
bodyBgVariant: null,
bodyTextVariant: null,
footerBgVariant: null,
footerBorderVariant: null,
footerTextVariant: null,
cancelTitle: 'Cancel',
cancelVariant: 'secondary',
okTitle: 'OK',
okVariant: 'primary',
headerCloseLabel: 'Close'
},
BNavbar: {
variant: null
},
BNavbarToggle: {
label: 'Toggle navigation'
},
BProgress: {
variant: null
},
BProgressBar: {
variant: null
},
BSpinner: {
variant: null
},
BTable: {
selectedVariant: 'primary',
headVariant: null,
footVariant: null
},
BToast: {
toaster: 'b-toaster-top-right',
autoHideDelay: 5000,
variant: null,
toastClass: null,
headerClass: null,
bodyClass: null,
solid: false
},
BToaster: {
ariaLive: null,
ariaAtomic: null,
role: null
},
BTooltip: {
delay: 0,
boundary: 'scrollParent',
boundaryPadding: 5
},
BPopover: {
delay: 0,
boundary: 'scrollParent',
boundaryPadding: 5
}
})