{"version":3,"sources":["tipi.component.form.unified-select/tipi.component.form.unified-select.js","tipi.component.tabs/tipi.component.tabs.js","tipi.component.top-bar/tipi.component.top-bar.js","tipi.component.viewport-toggler/tipi.component.viewport-toggler.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"tipi.js","sourcesContent":["(function (win, doc, $){\n\n\t$(window).on({\n\t\t// All function needed on the first init\n\t\t'tipi.unified-select.init': function (event, unified_select, unified_selects) {\n\t\t\tsetUnifiedSelectReadyState(unified_select)\n\t\t\tsetUnifiedSelectDisabledState(unified_select);\n\t\t\tsetUnifiedSelectEvents(unified_select);\n\t\t\tsetUnifiedSelectValue(unified_select);\n\t\t\tsetUnifiedSelectNativeState(unified_select);\n\t\t\tunsetUnifiedSelectDropdown(unified_select);\n\t\t\tsetUnifiedSelectDropdown(unified_select);\n\t\t\tsetUnifiedSelectFilter(unified_select);\n\t\t\tsetUnifiedSelectDropdownItemEvents(unified_select);\n\n\t\t\tsetUnifiedSelectDropdownEvents(unified_select, unified_selects);\n\t\t},\n\t\t'tipi.unified-select.focus': function (event, unified_select) {\n\t\t\tfocusUnifiedSelect(unified_select);\n\t\t},\n\t\t'tipi.unified-select.blur': function (event, unified_select) {\n\t\t\tblurUnifiedSelect(unified_select);\n\t\t},\n\t\t'tipi.unified-select.open': function (event, unified_select, unified_selects) {\n\t\t\topenUnifiedSelectDropdown(unified_select, unified_selects);\n\t\t\tfocusFilterUnifiedSelect(unified_select);\n\t\t},\n\t\t'tipi.unified-select.close': function (event, unified_select) {\n\t\t\tcloseUnifiedSelectDropdown(unified_select);\n\t\t\tblurFilterUnifiedSelect(unified_select);\n\t\t},\n\t\t// All function needed when we changed the value of the select\n\t\t'tipi.unified-select.change': function (event, unified_select, index) {\n\t\t\tsetUnifiedSelectSelectedIndex(unified_select, index);\n\t\t},\n\t\t// Function to init when we wan't to update our select\n\t\t'tipi.unified-select.setValue' : function(event, unified_select) {\n\t\t\tsetUnifiedSelectValue(unified_select);\n\t\t}\n\t});\n\n\twindow.setUnifiedSelect = function() {\n\t\tvar unified_selects = $('.select').not('js__select--ready');\n\n\t\tif (unified_selects.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tunified_selects.each(function() {\n\t\t\tvar unified_select = $(this);\n\t\t\tvar select = unified_select.find('select');\n\n\t\t\tif(select.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$(window).trigger('tipi.unified-select.init', [unified_select, unified_selects]);\n\t\t});\n\t}\n\n\t// Add the ready state and show it to the world\n\tfunction setUnifiedSelectReadyState(unified_select) {\n\t\tunified_select.addClass('js__select--ready');\n\t}\n\n\t// Add the disabled state if our select is disabled\n\tfunction setUnifiedSelectDisabledState(unified_select) {\n\t\tvar disabled = getUnifiedSelectDisabledState(unified_select);\n\n\t\tif (disabled) {\n\t\t\tunified_select.addClass('js__select--disabled');\n\t\t}\n\t\telse {\n\t\t\tunified_select.removeClass('js__select--disabled');\n\t\t}\n\t}\n\n\tfunction getUnifiedSelectDisabledState(unified_select) {\n\t\tvar select = unified_select.find('select');\n\n\t\t// Try to define the disabled from the disabled attribute\n\t\tvar disabled = select.attr('disabled');\n\n\t\t// Check if the disabled state has been set as DOM property\n\t\tif (typeof disabled === 'undefined') {\n\t\t\tdisabled = select.prop('disabled');\n\t\t} else {\n\t\t\tdisabled = true;\n\t\t}\n\n\t\treturn disabled;\n\t}\n\n\tfunction setUnifiedSelectEvents(unified_select) {\n\t\tvar select = unified_select.find('select');\n\t\tselect.off('focus blur keyup change').on({\n\t\t\tfocus: function () {\n\t\t\t\t$(document).trigger('tipi.unified-select.focus', [unified_select]);\n\t\t\t},\n\t\t\tblur: function () {\n\t\t\t\t$(document).trigger('tipi.unified-select.blur', [unified_select]);\n\t\t\t},\n\t\t\tkeyup: function () {\n\t\t\t\tselect.blur().focus();\n\t\t\t},\n\t\t\tchange: function () {\n\t\t\t\t$(document).trigger('tipi.unified-select.setValue', [unified_select]);\n\t\t\t}\n\t\t});\n\t}\n\n\t// Append the dropdown and items for our select\n\tfunction setUnifiedSelectValue(unified_select) {\n\t\tvar unified_select_field_value = unified_select.find('.select-field-value');\n\n\t\tvar select = unified_select.find('select');\n\n\t\tvar selected_index = select.get(0).selectedIndex;\n\t\tvar option = select.find('option').eq(selected_index);\n\n\t\tif (option.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar label = getUnifiedSelectOptionLabelAttribute(option);\n\n\t\t// Set the actual selected value!\n\t\tunified_select_field_value.text(label);\n\t}\n\n\t// Setup our unified select so it uses the native browser controls\n\tfunction setUnifiedSelectNativeState(unified_select) {\n\t\tif(!unified_select.hasClass('select--native')) {\n\t\t\tunsetUnifiedSelectNativeState(unified_select);\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure our unified select has no tab-index so we can focus the select directly\n\t\tunified_select.removeAttr('tabindex');\n\n\t\t// Remove any events we've added in the native state\n\t\tunified_select.off('focus blur');\n\t}\n\n\tfunction unsetUnifiedSelectNativeState(unified_select) {\n\t\t// Enable support for tabbing the selectbox\n\t\tunified_select.attr('tabindex', '0');\n\n\t\tunified_select.off('focus blur').on({\n\t\t\tfocus: function () {\n\t\t\t\t$(document).trigger('tipi.unified-select.focus', [unified_select]);\n\t\t\t},\n\t\t\tblur: function () {\n\t\t\t\t$(document).trigger('tipi.unified-select.blur', [unified_select]);\n\t\t\t}\n\t\t});\n\n\t\tvar select = unified_select.find('select');\n\t\t// Disable support for tabbing in the actual select element\n\t\tselect.attr('tabindex', '-1');\n\n\t}\n\n\t// Remove the dropdown and items for our select\n\tfunction unsetUnifiedSelectDropdown(unified_select) {\n\t\tvar unified_select_dropdown = unified_select.find('.select-dropdown');\n\n\t\t// Cancel unset if we don't have a dropdown defined.\n\t\tif (unified_select_dropdown.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove the unified_select_dropdown\n\t\tunified_select_dropdown.remove();\n\t}\n\n\t// Append the dropdown and items for our select\n\tfunction setUnifiedSelectDropdown(unified_select) {\n\t\t// Don't append the dropdown if we wan't to use the native select\n\t\tif (unified_select.hasClass('select--native')) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar unified_select_dropdown = unified_select.find('.select-dropdown');\n\t\tvar unified_select_dropdown_items = unified_select_dropdown.find('.select-dropdown-items');\n\t\tvar unified_select_dropdown_item = unified_select_dropdown_items.find('.select-dropdown-item');\n\n\t\t// Cancel set if we have a dropdown defined\n\t\tif (unified_select_dropdown_item.length > 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar select = unified_select.find('select');\n\t\tvar options = select.find('option');\n\n\t\t// Cancel set if we have no options defined.\n\t\tif(options.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Append the dropdown\n\t\tunified_select.append('
');\n\t\tunified_select_dropdown = unified_select.find('.select-dropdown');\n\n\t\t// Append the dropdown items\n\t\tunified_select_dropdown.append('');\n\t\tunified_select_dropdown_items = unified_select_dropdown.find('.select-dropdown-items');\n\n\t\tvar json_data = [];\n\n\t\t// Loop through each select option and set it's attribute\n\t\toptions.each(function(index) {\n\t\t\tvar option = $(this);\n\n\t\t\tvar label = getUnifiedSelectOptionLabelAttribute(option);\n\t\t\tvar disabled = getUnifiedSelectOptionDisabledAttribute(option);\n\t\t\tif(disabled) {\n\t\t\t\tdisabled = ' js__select-dropdown-item--disabled';\n\t\t\t} else {\n\t\t\t\tdisabled = '';\n\t\t\t}\n\n\t\t\tjson_data.push(label);\n\n\t\t\tunified_select_dropdown_items.append('