OBE:BS4 EXTENSIONS


Extended Bootstrap 4 classes, elements and components to add more definitive and design-orientated functionalities to any Bootstrap 4 project.

Project

F O N T S

These are your standard text colors.


Your Primary Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Your Monospace Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Your Secondary Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Font

W E I G H T S

These are your project font weight classes. Please note they are only available based on the Google Font weights you specified in your settings.


Primary (300) Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Primary (400) Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Primary (700) Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Secondary (300) Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Secondary (400) Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Secondary (700) Font

No kidding, Lorenzo called off his trip to Mexico City just because they told him the conquistadors were extinct.

Button

S I Z E S

These are your expanded button sizes.


Text

S I Z E S

These are your expanded text sizes.


XXS Text
XS Text
SM Text
MD Text
LG Text
XL Text
XXL Text

Fab

B U T T O N S

These are your fab button options. Fab buttons have equal heights and widths and generally have a single character or icon in them. Fab buttons come in three basic shapes: Round Corner, Square Corner, and Circle.


Border

W I D T H S

These are your expanded border widths.


Border Width 0
Border Width 1
Border Width 2
Border Width 3
Border Width 4
Border Width 5
Border Width 6
Border Width 7
Border Width 8
Border Width 9
Border Width 10
Border Width 11
Border Width 12
Border Width 13
Border Width 14
Border Width 15

Box

S H A D O W S

These are your element box shadow options.


XS Box Shadow
SM Box Shadow
MD Box Shadow
LG Box Shadow
XL Box Shadow

Hover Box

S H A D O W S

These are your element box shadow hover effect options.


XS Shadow Down
XS Shadow Up
SM Shadow Down
SM Shadow Up
MD Shadow Down
MD Shadow Up
LG Shadow Down
LG Shadow Up
XL Shadow Down
XL Shadow Up

Text

S H A D O W S

These are your text shadow options.


Text Shadow
Large Text Shadow
Hard Text Shadow
Large Hard Shadow
White Text Shadow
White Large Text
White Hard Shadow
White Large Hard Shadow

Ordered

L I S T S

These are your ordered list element options.


  1. Default ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Default item
    2. Nested colored item
  1. Decimal ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Decimal item
    2. Nested colored item
  1. Leading Zero Decimal ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Leading Zero Decimal item
    2. Nested colored item
  1. Lowercase Roman ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Lowercase Roman item
    2. Nested colored item
  1. Uppercase Roman ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Uppercase Roman item
    2. Nested colored item
  1. Lowercase Latin ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Lowercase Latin item
    2. Nested colored item
  1. Uppercase Latin ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Uppercase Latin item
    2. Nested colored item
  1. Lowercase Greek ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Lowercase Greek item
    2. Nested colored item
  1. Disc ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Disc item
    2. Nested colored item
  1. Circle ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Circle item
    2. Nested colored item
  1. Square ordered list
  2. Custom colored item
  3. Standard Item
    1. Nested Square item
    2. Nested colored item

Unordered

L I S T S

These are your unordered list element options.


  • Default ordered list
  • Custom colored item
  • Standard Item
    • Nested Default item
    • Nested colored item
  • Decimal ordered list
  • Custom colored item
  • Standard Item
    • Nested Decimal item
    • Nested colored item
  • Leading Zero Decimal ordered list
  • Custom colored item
  • Standard Item
    • Nested Leading Zero Decimal item
    • Nested colored item
  • Lowercase Roman ordered list
  • Custom colored item
  • Standard Item
    • Nested Lowercase Roman item
    • Nested colored item
  • Uppercase Roman ordered list
  • Custom colored item
  • Standard Item
    • Nested Uppercase Roman item
    • Nested colored item
  • Lowercase Latin ordered list
  • Custom colored item
  • Standard Item
    • Nested Lowercase Latin item
    • Nested colored item
  • Uppercase Latin ordered list
  • Custom colored item
  • Standard Item
    • Nested Uppercase Latin item
    • Nested colored item
  • Lowercase Greek ordered list
  • Custom colored item
  • Standard Item
    • Nested Lowercase Greek item
    • Nested colored item
  • Disc ordered list
  • Custom colored item
  • Standard Item
    • Nested Disc item
    • Nested colored item
  • Circle ordered list
  • Custom colored item
  • Standard Item
    • Nested Circle item
    • Nested colored item
  • Square ordered list
  • Custom colored item
  • Standard Item
    • Nested Square item
    • Nested colored item
Dropdown Select help text.
Dropdown Select help text.
Dropdown Select help text.
Dropdown Select help text.
Dropdown Select help text.
This implementation uses a custom instantiation of the plugin to allow for programatic customization.
                                
                                    <div class="form-group">
                                        <label>Custom Classes & Submittable:</label>
                                        <div class="ddSelect btn-group w-100">
                                            <div class="d-flex justify-content-between align-items-center border rounded w-100 p-0" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" role="listbox">
                                                <div class="ddSelect-target">
                                                    <div class="py-2 px-3">Select An Option</div>
                                                </div>
                                                <div class="py-2 px-3">⇣</div>
                                            </div>
                                            <div class="dropdown-menu py-0 w-100">
                                                <div class="ddSelect-option py-2 px-3" data-value="One">Abstract One</div>
                                                <div class="ddSelect-option py-2 px-3" data-value="Two">Abstract Two</div>
                                                <div class="ddSelect-option py-2 px-3" data-value="Three">Abstract Three</div>
                                                <div class="ddSelect-option py-2 px-3" data-value="Four">Abstract Four</div>
                                                <div class="ddSelect-option py-2 px-3" data-value="Five">Abstract Five</div>
                                            </div>
                                        </div>
                                        <input type="hidden" name="ddSelect-input" value="">
                                        <small class="form-text text-muted">This implementation uses a custom instantiation of the plugin to allow for programatic customization.</small>
                                    </div>
                                
                            
                                
                                    // jQuery initialization of the OBE:BS4 Dropdown Select Plugin
                                    // (With options for matching any custom class/id requirements you may have)
                                    $('.ddSelect').obeDropdownSelect({
                                        formMode :            true,
                                        parentSelector :      '.ddSelect',
                                        optionSelector :      '.ddSelect-option',
                                        cloneTargetSelector : '.ddSelect-target',
                                        dataAttributeString : 'value',
                                    });
                                
                            
This implementation uses a custom instantiation of the plugin to allow for programatic customization.
                                
                                    <!-- Plugin/Customized Dropdown Select Markup Example -->
                                    <div class="form-group">
                                        <label>Plugin Dropdown Select:</label>
                                        <div class="ddSel btn-group w-100">
                                            <div class="d-flex justify-content-between align-items-center border rounded w-100 p-0" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" role="listbox">
                                                <div class="cloned-ddSel">
                                                    <div class="py-2 px-3">Select An Option</div>
                                                </div>
                                                <div class="py-2 px-3">⇣</div>
                                            </div>
                                            <div class="dropdown-menu py-0 w-100">
                                                <div class="ddSel-opt py-2 px-3" data-value="One" data-number="1">Abstract One</div>
                                                <div class="ddSel-opt py-2 px-3" data-value="Two" data-number="2">Abstract Two</div>
                                                <div class="ddSel-opt py-2 px-3" data-value="Three" data-number="3">Abstract Three</div>
                                                <div class="ddSel-opt py-2 px-3" data-value="Four" data-number="4">Abstract Four</div>
                                                <div class="ddSel-opt py-2 px-3" data-value="Five" data-number="5">Abstract Five</div>
                                            </div>
                                        </div>
                                        <small class="form-text text-muted">Plugin dropdown Select help text.</small>
                                    </div>
                                
                            
                                
                                    // jQuery initialization of the OBE:BS4 Dropdown Select Plugin
                                    // (With options for matching any custom class/id requirements you may have)
                                    $('.ddSel').obeDropdownSelect({
                                        formMode :            false,
                                        parentSelector :      '.ddSel',
                                        optionSelector :      '.ddSel-opt',
                                        cloneTargetSelector : '.cloned-ddSel',
                                        dataAttributeString : 'value',
                                        customEventString :   'ddSel.clicked'
                                    });

                                    // Custom event example (named in settings above)
                                    // Access 2 (or more) data attributes from a single option selection
                                    $('.ddSel').on( 'ddSel.clicked', '.ddSel-opt', function(event) {
                                        let option = $(event.target);
                                        let value = option.data('value');
                                        let number = option.data('number');
                                        console.log('Selected Option Value: ' + value);
                                        console.log('Selected Option Number: ' + number);
                                    });
                                
                            
                                
                                    // Complete List of OBE:BS4 Dropdown Select Options and Defaults
                                    $('SELECTOR-FOR-DROPDOWN-SELECT-HERE').obeDropdownSelect({
                                        formMode :            true, // choices are true or false, where true will allow you to write the selected option value to a hidden input in the markup to submit via GET/POST, and where false avoids writing anything to an input entirely for UI interactions that don't need to be submitted to a server
                                        parentSelector :      '.dropdown-select', // the parent selector class for the dropdown component (NOTE: this should ideally be a child of a .form-group element)
                                        optionSelector :      '.dropdown-select-option', // the class selector for each dropdown select option
                                        cloneTargetSelector : '.dropdown-select-target', // the class selector for the element that will receive a markup clone of the selected dropdown option
                                        dataAttributeString : 'option-value', // the data attribute string value used on each .dropdown-select-option element (Sans the 'data-' prefix of course!)
                                        hiddenInputSelector : 'input[type=hidden]', // selector to target the (usually hidden) input with the value of the selected option (for GET/POST submissions)
                                        customEventString :   'dropdown.select.selected' // the string name of the custom event you'd want to listen for to extend the functionality based on a user's interaction
                                    });
                                
                            

Off-Canvas Nav

M O D A L S

These are a pinned modals speficically setup for use as navigaiton components for a project.


Material Design

T E X T - I N P U T S

These are form elements that leverage Google's Material Design guidelines using the Bootstrap 4 styled naming conventions and utilities.


Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.
Additional help text here.

Opacity

U T I L I T I E S

These are opacity classes to allow for an artistic range of color blending possibilities.


0%
5%
10%
15%
20%
25%
30%
33%
35%
45%
50%
55%
65%
66%
70%
75%
80%
80%
90%
95%
99%
100%

Element

W I D T H S

These are your element width options and classes.


0%
5%
10%
15%
20%
25%
30%
33%
35%
40%
45%
50%
55%
60%
65%
66%
70%
75%
80%
85%
90%
95%
99%
100%

Element

H E I G H T S

These are your element height options and classes.


5%
10%
15%
20%
25%
30%
33%
35%
40%
45%
50%
55%
60%
65%
66%
70%
75%
80%
85%
90%
95%
99%
100%

Calendar Date Picker

C O M P O N E N T - P L U G I N

These are examples of different uses of the OBE:BS4 Calendar Datepicker Plugin. You can use these components to enhance the user experience whenever you need a user to specify a date in your application.


Click 'PICKER' to use a visual date picker.
                            
                                <!-- Date Picker (Compact Mode) Markup -->
                                <div class="form-group">
                                    <label for="datepicker-1-input text-left">Date Picker (Compact Mode):</label>
                                    <div class="input-group">
                                        <input type="text" class="form-control" placeholder="MM/DD/YYYY" id="datepicker-1-input" name="datepicker-1-input" aria-describedby="datepicker-2-input-help">
                                        <div class="input-group-append" data-toggle="collapse" data-target="#datepicker-1-collapse" aria-expanded="false" aria-controls="datepicker-2-collapse">
                                            <button class="btn btn-outline-secondary" type="button">PICKER</button>
                                        </div>
                                    </div>
                                    <div id="datepicker-1-collapse" class="collapse pt-1">
                                        <div class="obe-calendar-datepicker-1 text-center"></div>
                                    </div>
                                    <small id="datepicker-1-input-help" class="form-text text-muted">Click 'PICKER' to use a visual date picker.</small>
                                </div>
                            
                        
                            
                                // JavaScript initialization of the OBE:BS4 Calendar Datepicker Plugin (with options)
                                $('.obe-calendar-datepicker-1').obeDatepicker({
                                    outputSelector : '#datepicker-1-input',
                                    compactMode : true
                                });
                            
                        
Click 'PICKER' to use a visual date picker.
                            
                                <!-- Date Picker (Full Mode) Markup -->
                                <div class="form-group">
                                    <label for="datepicker-2-input text-left">Date Picker (Full Mode):</label>
                                    <div class="input-group">
                                        <input type="text" class="form-control" placeholder="MM/DD/YYYY" id="datepicker-2-input" name="datepicker-2-input" aria-describedby="datepicker-2-input-help">
                                        <div class="input-group-append" data-toggle="collapse" data-target="#datepicker-2-collapse" aria-expanded="false" aria-controls="datepicker-2-collapse">
                                            <button class="btn btn-outline-secondary" type="button">PICKER</button>
                                        </div>
                                    </div>
                                    <div id="datepicker-2-collapse" class="collapse pt-1">
                                        <div class="obe-calendar-datepicker-2 text-center"></div>
                                    </div>
                                    <small id="datepicker-2-input-help" class="form-text text-muted">Click 'PICKER' to use a visual date picker.</small>
                                </div>
                            
                        
                            
                                // JavaScript initialization of the OBE:BS4 Calendar Datepicker Plugin (with options)
                                $('.obe-calendar-datepicker-2').obeDatepicker({
                                    outputSelector : '#datepicker-2-input',
                                    outputFormat : 'MM-DD-YYYY',
                                    outputType : 'input',
                                    compactMode : false,
                                    baseColors : 'bg-gradient-azure-violet-vertical text-white',
                                    selectedBg : 'bg-gradient-yellow-orange-vertical text-dark opacity-100',
                                    standardBg : 'text-shadow',
                                    borders : 'border-dark',
                                    prevNextBg : 'bg-dark text-light opacity-50',
                                    theadBg : 'opacity-85',
                                    leftArrow : '❬',
                                    rightArrow : '❭',
                                    weekdayParentClasses : 'd-flex justify-content-center align-items-center text-center pt-4 text-shadow',
                                    dayParentClasses : 'd-flex justify-content-center align-items-center text-center pb-2 text-shadow',
                                    monthParentClasses : 'd-flex justify-content-center align-items-center text-center text-shadow',
                                    yearParentClasses : 'd-flex justify-content-center align-items-center text-center pb-4 text-shadow'
                                });
                            
                        
                                
                                    // Complete List of OBE:BS4 Calendar Datepicker Options and Defaults
                                    $('SELECTOR-FOR-DATEPICKER-TO-RENDER-WITHIN-HERE').obeDatepicker({
                                        outputSelector : 'SELECTOR-FOR-DATEPICKER-DATA-OUTPUT-HERE',
                                        outputType : 'input', // choices are 'input' or 'text'
                                        outputFormat : 'MM/DD/YYYY', // choices are 'MM/DD/YYYY', 'MM-DD-YYYY', 'DD/MM/YYYY', 'DD-MM-YYYY', 'YYYY/MM/DD', or 'YYYY-MM-DD'
                                        compactMode : false,
                                        baseColors : 'bg-light text-dark',
                                        cellSpacing : 'p-2',
                                        selectedBg : 'bg-primary text-white',
                                        standardBg : 'text-dark',
                                        borders : 'border-dark',
                                        prevNextBg : 'bg-secondary text-light',
                                        theadClass : 'thead-dark',
                                        theadBg : 'text-light',
                                        leftArrow : '‹', // Use any character including an HTML entity character
                                        rightArrow : '›', // Use any character including an HTML entity character
                                        weekdayParentClasses : 'd-flex justify-content-center align-items-center text-center pt-4',
                                        weekdayMinusClasses : 'flex-fill text-right lead font-weight-bold pr-4 opacity-30',
                                        weekdayTextClasses : 'lead font-weight-bold p-0 m-0',
                                        weekdayPlusClasses : 'flex-fill text-left lead font-weight-bold pl-4 opacity-30',
                                        dayParentClasses : 'd-flex justify-content-center align-items-center text-center pb-2',
                                        dayMinusClasses : 'flex-fill display-1 pr-4 opacity-30',
                                        dayTextClasses : 'p-0 m-0 display-1 font-secondary',
                                        dayPlusClasses : 'flex-fill display-1 pl-4 opacity-30',
                                        monthParentClasses : 'd-flex justify-content-center align-items-center text-center',
                                        monthMinusClasses : 'flex-fill text-right lead font-weight-bold pr-4 opacity-30',
                                        monthTextClasses : 'lead font-weight-bold p-0 m-0',
                                        monthPlusClasses : 'flex-fill text-left lead font-weight-bold pl-4 opacity-30',
                                        yearParentClasses : 'd-flex justify-content-center align-items-center text-center pb-4',
                                        yearMinusClasses : 'flex-fill text-right lead font-weight-bold pr-4 opacity-30',
                                        yearTextClasses : 'lead font-weight-bold p-0 m-0',
                                        yearPlusClasses : 'flex-fill text-left lead font-weight-bold pl-4 opacity-30'
                                    });
                                
                            

Toggle Text

M I N I - P L U G I N

A simple plugin that adds the ability to dynamically toggle text by adding a single data atrribute and value on an element.


DIV'S TOO!

Button Data Toggle Input

C O M P O N E N T - P L U G I N

These are examples of different uses of the OBE:BS4 Input Group Button Toggle Component Plugin. You can use these components to offer users a secondary data point that can toggle between two different string values.


Form element help text goes here.
Form element help text goes here.

Increment Counter Input

C O M P O N E N T - P L U G I N

These are examples of different uses of the highly customizable OBE:BS4 Increment Counter Component Plugin. There are nearly infinite ways to use the plugin for both horizontal and vertical increment counter UI needs.


Form element help text goes here.
Form element help text goes here.
Form element help text goes here.
Form element help text goes here.
Form element help text goes here.
Form element help text goes here.
Form element help text goes here.
Form element help text goes here.
Form element help text goes here.