{"version":3,"sources":["jsdelivr-header.js","/npm/enonic-cms-stk-shim@1.0.3/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,EAAI,QAAQ,UAEhB,OAAO,IAAM,OAAO,KAAO,CAAC,EAE5B,IAAI,cAAgB,CAChB,aAAc,WACV,EAAE,8CAA8C,OAAM,WAClD,EAAE,MAAM,KAAK,KAAK,QACtB,GACJ,GAGJ,IAAI,WAAa,CACb,WAAY,SAAU,GAElB,EAAK,KAAK,aAAa,MAAK,WACxB,IAAI,EAAe,EAAE,SAAS,cAAc,WAAW,SAAS,iBAAiB,KAAK,aAAc,kBACpG,EAAa,GAAG,SAAS,SAAU,GAC/B,EAAE,MAAM,QAAQ,MAAM,MAAK,WACnB,EAAE,MAAM,GAAG,YACX,EAAE,MAAM,SAAS,SAAS,cAAc,YAAY,YAEpD,EAAE,MAAM,SAAS,SAAS,YAAY,YAAY,cAEtD,EAAE,MAAM,aACZ,IACA,EAAE,gBACN,IACA,EAAE,MAAM,QAAQ,EACpB,GACJ,EACA,WAAY,SAAU,EAAM,EAAS,GACjC,IAGI,EAAW,EAAE,OAAO,CACxB,EAJe,CACX,MAAO,KAID,GACV,EAAQ,OAAM,SAAU,GACpB,EAAE,kBACE,EAAK,GAAG,YACR,EAAK,UAAU,EAAS,OACxB,EAAQ,YAAY,cAAc,SAAS,cAE3C,EAAK,QAAQ,EAAS,OACtB,EAAQ,YAAY,YAAY,SAAS,cAEjD,IACA,EAAK,SAAS,OAAM,SAAU,GAC1B,EAAE,iBACN,GACJ,GAGJ,IAAI,WAAa,CAEb,UAAW,SAAU,EAAM,EAAY,GACnC,GAAI,EAAK,QAAU,EAAW,OAAQ,CAClC,IAAI,EAAe,EACf,EAAQ,SAAS,EAAW,KAAK,SAAU,IAC3C,EAAa,SAAS,EAAW,KAAK,cAAe,IACrD,EAAY,EAAW,KAAK,aAC5B,GAAgB,EAAW,KAAK,mBAAqB,oBAAoB,QAAQ,SAAU,GAC3F,EAAc,WACd,OAAQ,EAAW,KAAK,iBAAmB,iCAAiC,QAAQ,cAAe,GAAY,QAAQ,SAAU,EAAQ,EAC7I,EAEA,IAAM,MAAM,KAAY,MAAM,IAAe,GAAa,EAAQ,EAAY,CAC1E,IAAI,GAAO,EACX,EAAW,SAAS,cACpB,EAAW,KAAK,MAAM,SAAS,WAC/B,IAAI,EAAU,EAAE,UAAU,SAAS,mBACnC,EAAQ,OAAO,EAAE,UAAU,SAAS,aAAa,KAAK,IACtD,EAAQ,OAAO,EAAE,UAAU,SAAS,WAAW,KAAK,MACpD,EAAQ,SAAS,GACjB,EAAQ,OAAM,WACJ,IACF,EAAQ,SAAS,WACjB,GAAO,EACP,EAAE,KAAK,CACH,IAAK,EAAU,QAAQ,mBAAoB,GAAgB,GAC3D,QAAS,SAAU,GACI,KAAK,IAAI,EAAe,EAAO,KAC7B,GACjB,EAAQ,OAEZ,EAAQ,KAAK,YAAY,KAAK,KAC9B,IAAI,EAAe,EAAE,SAAS,cAAc,QAAQ,OAAO,GAAM,KAAK,EAAK,SAAW,SACtF,EAAK,OAAO,EAChB,EACA,MAAO,WACH,GAAgB,CACpB,EACA,SAAU,WACoB,mBAAf,GACP,GAER,IACD,QAAO,WACN,EAAQ,YAAY,WACpB,GAAO,CACX,IAER,GACJ,CACJ,CACJ,GAIJ,IAAI,WAAa,CACb,eAAgB,SAAU,GACtB,EAAE,oBAAoB,MAAK,WACvB,IAAI,EAAM,EAAE,MACR,EAAS,EAAI,KAAK,UACtB,GAAsB,iBAAX,EAAqB,CAC5B,IAAI,EAAO,GACX,EAAE,KAAK,GAAQ,SAAU,GACrB,EAAM,KAAK,SAAS,EAAO,IAC/B,IACA,EAAM,MAAK,SAAU,EAAG,GACpB,OAAO,EAAI,CACf,IACA,IACI,EAUZ,SAA6B,EAAK,GAE9B,IADA,IAAI,EAAU,EAAG,EAAG,OAAS,GACpB,EAAI,EAAG,OAAQ,EAAI,EAAG,IACvB,EAAG,GAAK,IACR,EAAU,EAAG,IAGrB,OAAO,CACX,CAlBuB,CADH,KAAK,MAAM,EAAI,SAAW,OAAO,kBAAoB,IACvB,GAC1C,EAAI,KAAK,MAAO,EAAO,GAC3B,CACJ,IAE0B,mBAAf,GACP,GAaR,EAGA,gBAAiB,SAAU,GACvB,EAAU,MAAK,WACX,IAAI,EAAS,EAAE,MACX,EAAS,EAAO,SAAW,EAAO,QAAW,IAC7C,EAAU,EAAE,UAAU,SAAS,kBAAkB,IAAI,cAAe,EAAQ,KAChF,EAAO,KAAK,EAChB,GACJ","file":"/npm/enonic-cms-stk-shim@1.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/enonic-cms-stk-shim@1.0.3/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var $ = require('jquery');\n\nwindow.STK = window.STK || {};\n\nSTK.accessibility = {\n    textResizing: function () {\n        $('.accessibility.text-resizing-guidance span').hover(function () {\n            $(this).next('p').toggle();\n        });\n    }\n};\n\nSTK.navigation = {\n    mobileMenu: function (tree) {\n        // adds branch buttons for expanding/contracting submenu\n        tree.find('li.parent').each(function () {\n            var branchButton = $(document.createElement('button')).addClass('branch-button').attr('aria-label', 'Toggle submenu');\n            branchButton.on('click', function (e) {\n                $(this).nextAll('ol').each(function () {\n                    if ($(this).is(':visible')) {\n                        $(this).parent().addClass('contracted').removeClass('expanded');\n                    } else {\n                        $(this).parent().addClass('expanded').removeClass('contracted');\n                    }\n                    $(this).slideToggle();\n                });\n                e.preventDefault();\n            });\n            $(this).prepend(branchButton);\n        });\n    },\n    toggleMenu: function (menu, trigger, options) {\n        var defaults = {\n            speed: 100\n        };\n        var settings = $.extend({\n        },\n        defaults, options);\n        trigger.click(function (e) {\n            e.stopPropagation();\n            if (menu.is(':hidden')) {\n                menu.slideDown(settings.speed);\n                trigger.removeClass('contracted').addClass('expanded');\n            } else {\n                menu.slideUp(settings.speed);\n                trigger.removeClass('expanded').addClass('contracted');\n            }\n        });\n        menu.parent().click(function (e) {\n            e.stopPropagation();\n        });\n    }\n};\n\nSTK.pagination = {\n    // add ajax (click triggered) pagination to a content list\n    clickLoad: function (list, pagination, callback) {\n        if (list.length && pagination.length) {\n            var indexCounter = 0;\n            var count = parseInt(pagination.data('count'), 10);\n            var totalCount = parseInt(pagination.data('totalcount'), 10);\n            var windowUrl = pagination.data('windowurl');\n            var showMoreText = (pagination.data('show-more-text') || 'Show #count more').replace('#count', count);\n            var showingText = function () {\n                return (pagination.data('showing-text') || 'Showing #count of #totalcount').replace('#totalcount', totalCount).replace('#count', count + indexCounter);\n            };\n\n            if (! isNaN(count) && ! isNaN(totalCount) && windowUrl && count < totalCount) {\n                var wait = false;\n                pagination.addClass('click-load');\n                pagination.find('ul').addClass('audible');\n                var trigger = $('<div/>').addClass('pagination ajax');\n                trigger.append($('<div/>').addClass('show-more').text(showMoreText));\n                trigger.append($('<div/>').addClass('showing').text(showingText()));\n                trigger.appendTo(pagination);\n                trigger.click(function () {\n                    if (! wait) {\n                        trigger.addClass('loading');\n                        wait = true;\n                        $.ajax({\n                            url: windowUrl.replace('REPLACEWITHINDEX', indexCounter += count),\n                            success: function (data) {\n                                var showingCount = Math.min(indexCounter + count, totalCount);\n                                if (showingCount === totalCount) {\n                                    trigger.hide();\n                                }\n                                trigger.find('.showing').text(showingText());\n                                var listElements = $(document.createElement('div')).append(data).find(list.selector + ' > li');\n                                list.append(listElements);\n                            },\n                            error: function () {\n                                indexCounter -= count;\n                            },\n                            complete: function () {\n                                if (typeof (callback) === 'function') {\n                                    callback();\n                                }\n                            }\n                        }).always(function () {\n                            trigger.removeClass('loading');\n                            wait = false;\n                        });\n                    }\n                });\n            }\n        }\n    }\n};\n\n\nSTK.responsive = {\n    optimizeImages: function (callback) {\n        $('img[data-srcset]').each(function () {\n            var img = $(this);\n            var srcset = img.data('srcset');\n            if (typeof srcset === 'object') {\n                var sizes =[];\n                $.each(srcset, function (index) {\n                    sizes.push(parseInt(index, 10));\n                });\n                sizes.sort(function (a, b) {\n                    return a - b;\n                });\n                var width = Math.floor(img.width() * (window.devicePixelRatio || 1));\n                var srcIndex = getClosestHigherNum(width, sizes);\n                img.attr('src', srcset[srcIndex]);\n            }\n        });\n        \n        if (typeof (callback) === 'function') {\n            callback();\n        }\n        \n        // Get's the closest higher number in array\n        function getClosestHigherNum(num, ar) {\n            var closest = ar[ar.length - 1];\n            for (var i = ar.length; i > 0; i--) {\n                if (ar[i] > num) {\n                    closest = ar[i];\n                }\n            }\n            return closest;\n        }\n    },\n    \n    \n    optimizeIframes: function (selectors) {\n        selectors.each(function () {\n            var iframe = $(this);\n            var ratio = (iframe.height() / iframe.width()) * 100;\n            var wrapper = $('<div/>').addClass('iframe-wrapper').css('padding-top', ratio + '%');\n            iframe.wrap(wrapper);\n        });\n    }\n};\n"]}