https://purchasing.idaho.gov/wp-content/themes/Webmaster-v4/js/jquery.scrolling-tabs.js?ver=6.9.1
Federal opportunity from State of Idaho. Place of performance: ID.
Market snapshot
Baseline awarded-market signal across all contracting (sample of 400 recent awards; refreshed periodically).
Related hubs & trends
Navigate the lattice: hubs for browsing, trends for pricing signals.
Point of Contact
Agency & Office
Description
/** * jquery-bootstrap-scrolling-tabs * @version v2.6.1 * @link https://github.com/mikejacobson/jquery-bootstrap-scrolling-tabs * @author Mike Jacobson * @license MIT License, http://www.opensource.org/licenses/MIT */ ;(function ($, window) { 'use strict'; var CONSTANTS = { CONTINUOUS_SCROLLING_TIMEOUT_INTERVAL: 50, SCROLL_OFFSET_FRACTION: 1, DATA_KEY_DDMENU_MODIFIED: 'scrtabsddmenumodified', DATA_KEY_IS_MOUSEDOWN: 'scrtabsismousedown', DATA_KEY_BOOTSTRAP_TAB: 'bs.tab', CSS_CLASSES: { BOOTSTRAP4: 'scrtabs-bootstrap4', RTL: 'scrtabs-rtl', SCROLL_ARROW_CLICK_TARGET: 'scrtabs-click-target', SCROLL_ARROW_DISABLE: 'scrtabs-disable', SCROLL_ARROW_WITH_CLICK_TARGET: 'scrtabs-with-click-target' }, SLIDE_DIRECTION: { LEFT: 1, RIGHT: 2 }, EVENTS: { CLICK: 'click.scrtabs', DROPDOWN_MENU_HIDE: 'hide.bs.dropdown.scrtabs', DROPDOWN_MENU_SHOW: 'show.bs.dropdown.scrtabs', FORCE_REFRESH: 'forcerefresh.scrtabs', MOUSEDOWN: 'mousedown.scrtabs', MOUSEUP: 'mouseup.scrtabs', TABS_READY: 'ready.scrtabs', TOUCH_END: 'touchend.scrtabs', TOUCH_MOVE: 'touchmove.scrtabs', TOUCH_START: 'touchstart.scrtabs', WINDOW_RESIZE: 'resize.scrtabs' } }; (function (sr) { var debounce = function (func, threshold, execAsap) { var timeout; return function debounced() { var obj = this, args = arguments; function delayed() { if (!execAsap) { func.apply(obj, args); } timeout = null; } if (timeout) { clearTimeout(timeout); } else if (execAsap) { func.apply(obj, args); } timeout = setTimeout(delayed, threshold || 100); }; }; $.fn[sr] = function (fn, customEventName) { var eventName = customEventName || CONSTANTS.EVENTS.WINDOW_RESIZE; return fn ? this.bind(eventName, debounce(fn)) : this.trigger(sr); }; })('smartresizeScrtabs'); /* *********************************************************************************** * ElementsHandler - Class that each instance of ScrollingTabsControl will instantiate * **********************************************************************************/ function ElementsHandler(scrollingTabsControl) { var ehd = this; ehd.stc = scrollingTabsControl; } (function (p) { p.initElements = function (options) { var ehd = this; ehd.setElementReferences(options); ehd.setEventListeners(options); }; p.listenForTouchEvents = function () { var ehd = this, stc = ehd.stc, smv = stc.scrollMovement, ev = CONSTANTS.EVENTS; var touching = false; var touchStartX; var startingContainerLeftPos; var newLeftPos; stc.$movableContainer .on(ev.TOUCH_START, function (e) { touching = true; startingContainerLeftPos = stc.movableContainerLeftPos; touchStartX = e.originalEvent.changedTouches[0].pageX; }) .on(ev.TOUCH_END, function () { touching = false; }) .on(ev.TOUCH_MOVE, function (e) { if (!touching) { return; } var touchPageX = e.originalEvent.changedTouches[0].pageX; var diff = touchPageX - touchStartX; if (stc.rtl) { diff = -diff; } var minPos; newLeftPos = startingContainerLeftPos + diff; if (newLeftPos > 0) { newLeftPos = 0; } else { minPos = smv.getMinPos(); if (newLeftPos < minPos) { newLeftPos = minPos; } } stc.movableContainerLeftPos = newLeftPos; var leftOrRight = stc.rtl ? 'right' : 'left'; stc.$movableContainer.css(leftOrRight, smv.getMovableContainerCssLeftVal()); smv.refreshScrollArrowsDisabledState(); }); }; p.refreshAllElementSizes = function () { var ehd = this, stc = ehd.stc, smv = stc.scrollMovement, scrollArrowsWereVisible = stc.scrollArrowsVisible, actionsTaken = { didScrollToActiveTab: false }, isPerformingSlideAnim = false, minPos; ehd.setElementWidths(); ehd.setScrollArrowVisibility(); if (stc.scrollArrowsVisible) { minPos = smv.getMinPos(); isPerformingSlideAnim = smv.scrollToActiveTab({ isOnWindowResize: true }); if (!isPerformingSlideAnim) { smv.refreshScrollArrowsDisabledState(); if (stc.rtl) { if (stc.movableContainerRightPos < minPos) { smv.incrementMovableContainerLeft(minPos); } } else { if (stc.movableContainerLeftPos < minPos) { smv.incrementMovableContainerRight(minPos); } } } actionsTaken.didScrollToActiveTab = true; } else if (scrollArrowsWereVisible) { stc.movableContainerLeftPos = 0; smv.slideMovableContainerToLeftPos(); } return actionsTaken; }; p.setElementReferences = function (settings) { var ehd = this, stc = ehd.stc, $tabsContainer = stc.$tabsContainer, $leftArrow, $rightArrow, $leftArrowClickTarget, $rightArrowClickTarget; stc.isNavPills = false; if (stc.rtl) { $tabsContainer.addClass(CONSTANTS.CSS_CLASSES.RTL); } if (stc.usingBootstrap4) { $tabsContainer.addClass(CONSTANTS.CSS_CLASSES.BOOTSTRAP4); } stc.$fixedContainer = $tabsContainer.find('.scrtabs-tabs-fixed-container'); $leftArrow = stc.$fixedContainer.prev(); $rightArrow = stc.$fixedContainer.next(); if (settings.leftArrowContent) { $leftArrowClickTarget = $leftArrow.find('.' + CONSTANTS.CSS_CLASSES.SCROLL_ARROW_CLICK_TARGET); } if (settings.rightArrowContent) { $rightArrowClickTarget = $rightArrow.find('.' + CONSTANTS.CSS_CLASSES.SCROLL_ARROW_CLICK_TARGET); } if ($leftArrowClickTarget && $leftArrowClickTarget.length) { $leftArrow.addClass(CONSTANTS.CSS_CLASSES.SCROLL_ARROW_WITH_CLICK_TARGET); } else { $leftArrowClickTarget = $leftArrow; } if ($rightArrowClickTarget && $rightArrowClickTarget.length) { $rightArrow.addClass(CONSTANTS.CSS_CLASSES.SCROLL_ARROW_WITH_CLICK_TARGET); } else { $rightArrowClickTarget = $rightArrow; } stc.$movableContainer = $tabsContainer.find('.scrtabs-tabs-movable-container'); stc.$tabsUl = $tabsContainer.find('.nav-tabs'); if (!stc.$tabsUl.length) { stc.$tabsUl = $tabsContainer.find('.nav-pills'); if (stc.$tabsUl.length) { stc.isNavPills = true; } } stc.$tabsLiCollection = stc.$tabsUl.find('> li'); stc.$slideLeftArrow = stc.reverseScroll ? $leftArrow : $rightArrow; stc.$slideLeftArrowClickTarget = stc.reverseScroll ? $leftArrowClickTarget : $rightArrowClickTarget; stc.$slideRightArrow = stc.reverseScroll ? $rightArrow : $leftArrow; stc.$slideRightArrowClickTarget = stc.reverseScroll ? $rightArrowClickTarget : $leftArrowClickTarget; stc.$scrollArrows = stc.$slideLeftArrow.add(stc.$slideRightArrow); stc.$win = $(window); }; p.setElementWidths = function () { var ehd = this, stc = ehd.stc; stc.winWidth = stc.$win.width(); stc.scrollArrowsCombinedWidth = stc.$slideLeftArrow.outerWidth() + stc.$slideRightArrow.outerWidth(); ehd.setFixedContainerWidth(); ehd.setMovableContainerWidth(); }; p.setEventListeners = function (settings) { var ehd = this, stc = ehd.stc, evh = stc.eventHandlers, ev = CONSTANTS.EVENTS, resizeEventName = ev.WINDOW_RESIZE + stc.instanceId; if (settings.enableSwiping) { ehd.listenForTouchEvents(); } stc.$slideLeftArrowClickTarget .off('.scrtabs') .on(ev.MOUSEDOWN, function (e) { evh.handleMousedownOnSlideMovContainerLeftArrow.call(evh, e); }) .on(ev.MOUSEUP, function (e) { evh.handleMouseupOnSlideMovContainerLeftArrow.call(evh, e); }) .on(ev.CLICK, function (e) { evh.handleClickOnSlideMovContainerLeftArrow.call(evh, e); }); stc.$slideRightArrowClickTarget .off('.scrtabs') .on(ev.MOUSEDOWN, function (e) { evh.handleMousedownOnSlideMovContainerRightArrow.call(evh, e); }) .on(ev.MOUSEUP, function (e) { evh.handleMouseupOnSlideMovContainerRightArrow.call(evh, e); }) .on(ev.CLICK, function (e) { evh.handleClickOnSlideMovContainerRightArrow.call(evh, e); }); if (stc.tabClickHandler) { stc.$tabsLiCollection .find('a[data-toggle="tab"]') .off(ev.CLICK) .on(ev.CLICK, stc.tabClickHandler); } if (settings.handleDelayedScrollbar) { ehd.listenForDelayedScrollbar(); } stc.$win .off(resizeEventName) .smartresizeScrtabs(function (e) { evh.handleWindowResize.call(evh, e); }, resizeEventName); $('body').on(CONSTANTS.EVENTS.FORCE_REFRESH, stc.elementsHandler.refreshAllElementSizes.bind(stc.elementsHandler)); }; p.listenForDelayedScrollbar = function () { var iframe = document.createElement('iframe'); iframe.id = "scrtabs-scrollbar-resize-listener"; iframe.style.cssText = 'height: 0; background-color: transparent; margin: 0; padding: 0; overflow: hidden; border-width: 0; position: absolute; width: 100%;'; iframe.onload = function() { var timeout; function handleResize() { try { $(window).trigger('resize'); timeout = null; } catch(e) {} } iframe.contentWindow.addEventListener('resize', function() { if (timeout) { clearTimeout(timeout); } timeout = setTimeout(handleResize, 100); }); }; document.body.appendChild(iframe); }; p.setFixedContainerWidth = function () { var ehd = this, stc = ehd.stc, tabsContainerRect = stc.$tabsContainer.get(0).getBoundingClientRect(); stc.fixedContainerWidth = tabsContainerRect.width || (tabsContainerRect.right - tabsContainerRect.left); stc.fixedContainerWidth = stc.fixedContainerWidth * stc.widthMultiplier; stc.$fixedContainer.width(stc.fixedContainerWidth); }; p.setFixedContainerWidthForHiddenScrollArrows = function () { var ehd = this, stc = ehd.stc; stc.$fixedContainer.width(stc.fixedContainerWidth); }; p.setFixedContainerWidthForVisibleScrollArrows = function () { var ehd = this, stc = ehd.stc; stc.$fixedContainer.width(stc.fixedContainerWidth - stc.scrollArrowsCombinedWidth); }; p.setMovableContainerWidth = function () { var ehd = this, stc = ehd.stc, $tabLi = stc.$tabsUl.find('> li'); stc.movableContainerWidth = 0; if ($tabLi.length) { $tabLi.each(function () { var $li = $(this), totalMargin = 0; if (stc.isNavPills) { // pills have a margin-left, tabs have no margin totalMargin = parseInt($li.css('margin-left'), 10) + parseInt($li.css('margin-right'), 10); } stc.movableContainerWidth += ($li.outerWidth() + totalMargin); }); stc.movableContainerWidth += 1; if (stc.movableContainerWidth < stc.fixedContainerWidth) { stc.movableContainerWidth = stc.fixedContainerWidth; } } // scrtabs-tabs-movable-container width stc.$movableContainer.width(stc.movableContainerWidth + 10); }; p.setScrollArrowVisibility = function () { var ehd = this, stc = ehd.stc, shouldBeVisible = stc.movableContainerWidth > stc.fixedContainerWidth; if (shouldBeVisible && !stc.scrollArrowsVisible) { stc.$scrollArrows.show(); stc.scrollArrowsVisible = true; } else if (!shouldBeVisible && stc.scrollArrowsVisible) { stc.$scrollArrows.hide
Files
Files size/type shown when available.
BidPulsar Analysis
A practical, capture-style breakdown of fit, requirements, risks, and next steps.
FAQ
How do I use the Market Snapshot?
It summarizes awarded-contract behavior for the opportunity’s NAICS and sector, including a recent pricing band (P10–P90), momentum, and composition. Use it as context, not a guarantee.
Is the data live?
The signal updates as new awarded notices enter the system. Always validate the official award and solicitation details on SAM.gov.
What do P10 and P90 mean?
P10 is the 10th percentile award size and P90 is the 90th percentile. Together they describe the typical spread of award values.