UNPKG

bootstrap-vue

Version:

With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens

257 lines (254 loc) 9.45 kB
var _deepFreeze; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import { NAME_ALERT, NAME_AVATAR, NAME_BADGE, NAME_BUTTON, NAME_BUTTON_CLOSE, NAME_CALENDAR, NAME_CARD_SUB_TITLE, NAME_CAROUSEL, NAME_DROPDOWN, NAME_FORM_DATEPICKER, NAME_FORM_FILE, NAME_FORM_RATING, NAME_FORM_SPINBUTTON, NAME_FORM_TAG, NAME_FORM_TAGS, NAME_FORM_TEXT, NAME_FORM_TIMEPICKER, NAME_IMG, NAME_IMG_LAZY, NAME_INPUT_GROUP, NAME_JUMBOTRON, NAME_LINK, NAME_LIST_GROUP_ITEM, NAME_MODAL, NAME_NAVBAR, NAME_NAVBAR_TOGGLE, NAME_PAGINATION, NAME_PAGINATION_NAV, NAME_POPOVER, NAME_PROGRESS, NAME_PROGRESS_BAR, NAME_SPINNER, NAME_SKELETON, NAME_SKELETON_ICON, NAME_SIDEBAR, NAME_TABLE, NAME_TIME, NAME_TOAST, NAME_TOASTER, NAME_TOOLTIP } from '../constants/components'; import { deepFreeze } from './object'; // --- General BootstrapVue configuration --- // NOTES // // The global config SHALL NOT be used to set defaults for Boolean props, as the props // would loose their semantic meaning, and force people writing 3rd party components to // explicitly set a true or false value using the v-bind syntax on boolean props // // Supported config values (depending on the prop's supported type(s)): // `String`, `Array`, `Object`, `null` or `undefined` // BREAKPOINT DEFINITIONS // // Some components (`<b-col>` and `<b-form-group>`) 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' props async (lazy evaluation) // The component definition is only called/executed when the first access to the // component is used (and cached on subsequent uses) // PROP DEFAULTS // // For default values on props, we use the default value factory function approach so // that the default values are pulled in at each component instantiation // // props: { // variant: { // type: String, // default: () => getConfigComponent('BAlert', 'variant') // } // } // // We also provide a cached getter for breakpoints, which are "frozen" on first access // prettier-ignore export default deepFreeze((_deepFreeze = { // Breakpoints breakpoints: ['xs', 'sm', 'md', 'lg', 'xl'], // Form controls formControls: { size: undefined } }, _defineProperty(_deepFreeze, NAME_ALERT, { dismissLabel: 'Close', variant: 'info' }), _defineProperty(_deepFreeze, NAME_AVATAR, { variant: 'secondary', badgeVariant: 'primary' }), _defineProperty(_deepFreeze, NAME_BADGE, { variant: 'secondary' }), _defineProperty(_deepFreeze, NAME_BUTTON, { size: undefined, variant: 'secondary' }), _defineProperty(_deepFreeze, NAME_BUTTON_CLOSE, { content: '&times;', // `textVariant` is `undefined` to inherit the current text color textVariant: undefined, ariaLabel: 'Close' }), _defineProperty(_deepFreeze, NAME_CALENDAR, { selectedVariant: 'primary', // Defaults to `selectedVariant` todayVariant: undefined, navButtonVariant: 'secondary', // BFormDate will choose these first if not provided in BFormDate section labelPrevDecade: 'Previous decade', labelPrevYear: 'Previous year', labelPrevMonth: 'Previous month', labelCurrentMonth: 'Current month', labelNextMonth: 'Next month', labelNextYear: 'Next year', labelNextDecade: 'Next decade', labelToday: 'Today', labelSelected: 'Selected date', labelNoDateSelected: 'No date selected', labelCalendar: 'Calendar', labelNav: 'Calendar navigation', labelHelp: 'Use cursor keys to navigate calendar dates' }), _defineProperty(_deepFreeze, NAME_CARD_SUB_TITLE, { // `<b-card>` and `<b-card-body>` also inherit this prop subTitleTextVariant: 'muted' }), _defineProperty(_deepFreeze, NAME_CAROUSEL, { labelPrev: 'Previous Slide', labelNext: 'Next Slide', labelGotoSlide: 'Goto Slide', labelIndicators: 'Select a slide to display' }), _defineProperty(_deepFreeze, NAME_DROPDOWN, { toggleText: 'Toggle Dropdown', size: undefined, variant: 'secondary', splitVariant: undefined }), _defineProperty(_deepFreeze, NAME_FORM_DATEPICKER, { // BFormDatepicker will choose from BCalendar first if not provided here selectedVariant: undefined, todayVariant: undefined, navButtonVariant: undefined, labelPrevDecade: undefined, labelPrevYear: undefined, labelPrevMonth: undefined, labelCurrentMonth: undefined, labelNextMonth: undefined, labelNextYear: undefined, labelNextDecade: undefined, labelToday: undefined, labelSelected: undefined, labelNoDateSelected: undefined, labelCalendar: undefined, labelNav: undefined, labelHelp: undefined, // These props are specific to BFormDatepicker labelTodayButton: 'Select today', labelResetButton: 'Reset', labelCloseButton: 'Close' }), _defineProperty(_deepFreeze, NAME_FORM_FILE, { browseText: 'Browse', // Chrome default file prompt placeholder: 'No file chosen', dropPlaceholder: 'Drop files here', noDropPlaceholder: 'Not allowed' }), _defineProperty(_deepFreeze, NAME_FORM_RATING, { variant: null, color: null }), _defineProperty(_deepFreeze, NAME_FORM_TAG, { removeLabel: 'Remove tag', variant: 'secondary' }), _defineProperty(_deepFreeze, NAME_FORM_TAGS, { addButtonText: 'Add', addButtonVariant: 'outline-secondary', duplicateTagText: 'Duplicate tag(s)', invalidTagText: 'Invalid tag(s)', limitTagsText: 'Tag limit reached', placeholder: 'Add tag...', tagRemoveLabel: 'Remove tag', tagRemovedLabel: 'Tag removed', tagVariant: 'secondary' }), _defineProperty(_deepFreeze, NAME_FORM_TEXT, { textVariant: 'muted' }), _defineProperty(_deepFreeze, NAME_FORM_TIMEPICKER, { // Fallback to BTime labelNoTimeSelected: undefined, labelSelected: undefined, labelHours: undefined, labelMinutes: undefined, labelSeconds: undefined, labelAmpm: undefined, labelAm: undefined, labelPm: undefined, // Fallback to BTime then BFormSpinbutton labelDecrement: undefined, labelIncrement: undefined, // These props are specific to BFormTimepicker labelNowButton: 'Select now', labelResetButton: 'Reset', labelCloseButton: 'Close' }), _defineProperty(_deepFreeze, NAME_FORM_SPINBUTTON, { labelDecrement: 'Decrement', labelIncrement: 'Increment' }), _defineProperty(_deepFreeze, NAME_IMG, { blankColor: 'transparent' }), _defineProperty(_deepFreeze, NAME_IMG_LAZY, { blankColor: 'transparent' }), _defineProperty(_deepFreeze, NAME_INPUT_GROUP, { size: undefined }), _defineProperty(_deepFreeze, NAME_JUMBOTRON, { bgVariant: undefined, borderVariant: undefined, textVariant: undefined }), _defineProperty(_deepFreeze, NAME_LINK, { routerComponentName: undefined }), _defineProperty(_deepFreeze, NAME_LIST_GROUP_ITEM, { variant: undefined }), _defineProperty(_deepFreeze, NAME_MODAL, { titleTag: 'h5', size: 'md', headerBgVariant: undefined, headerBorderVariant: undefined, headerTextVariant: undefined, headerCloseVariant: undefined, bodyBgVariant: undefined, bodyTextVariant: undefined, footerBgVariant: undefined, footerBorderVariant: undefined, footerTextVariant: undefined, cancelTitle: 'Cancel', cancelVariant: 'secondary', okTitle: 'OK', okVariant: 'primary', headerCloseContent: '&times;', headerCloseLabel: 'Close' }), _defineProperty(_deepFreeze, NAME_NAVBAR, { variant: null }), _defineProperty(_deepFreeze, NAME_NAVBAR_TOGGLE, { label: 'Toggle navigation' }), _defineProperty(_deepFreeze, NAME_PAGINATION, { size: undefined }), _defineProperty(_deepFreeze, NAME_PAGINATION_NAV, { size: undefined }), _defineProperty(_deepFreeze, NAME_POPOVER, { boundary: 'scrollParent', boundaryPadding: 5, customClass: undefined, delay: 50, variant: undefined }), _defineProperty(_deepFreeze, NAME_PROGRESS, { variant: undefined }), _defineProperty(_deepFreeze, NAME_PROGRESS_BAR, { variant: undefined }), _defineProperty(_deepFreeze, NAME_SPINNER, { variant: undefined }), _defineProperty(_deepFreeze, NAME_SKELETON, { animation: 'wave' }), _defineProperty(_deepFreeze, NAME_SKELETON_ICON, { animation: 'wave' }), _defineProperty(_deepFreeze, NAME_SIDEBAR, { bgVariant: 'light', textVariant: 'dark', shadow: false, width: undefined, tag: 'div', backdropVariant: 'dark' }), _defineProperty(_deepFreeze, NAME_TABLE, { selectedVariant: 'active', headVariant: undefined, footVariant: undefined }), _defineProperty(_deepFreeze, NAME_TIME, { labelNoTimeSelected: 'No time selected', labelSelected: 'Selected time', labelHours: 'Hours', labelMinutes: 'Minutes', labelSeconds: 'Seconds', labelAmpm: 'AM/PM', // It would be nice to be able to get these from Intl.DateTimeFormat somehow labelAm: 'AM', labelPm: 'PM', // The following inherit from BFormSpinbutton if not provided labelIncrement: undefined, labelDecrement: undefined }), _defineProperty(_deepFreeze, NAME_TOAST, { toaster: 'b-toaster-top-right', autoHideDelay: 5000, variant: undefined, toastClass: undefined, headerClass: undefined, bodyClass: undefined }), _defineProperty(_deepFreeze, NAME_TOASTER, { ariaLive: undefined, ariaAtomic: undefined, role: undefined }), _defineProperty(_deepFreeze, NAME_TOOLTIP, { boundary: 'scrollParent', boundaryPadding: 5, customClass: undefined, delay: 50, variant: undefined }), _deepFreeze));