{"version":3,"mappings":"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","names":["factory","module","_window","Glider","element","settings","_","x","t","b","c","d","gliderPrototype","refresh","paging","width","height","breakpointChanged","slideCount","__","mouseup","events","e","i","dot","direction","arrow","event","disableArrows","middle","extraMiddle","slide","index","slideClasses","wasVisible","start","end","itemStart","itemEnd","className","isVisible","originalSlide","backwards","scrollLeft","resp","a","size","scrollTarget","scrollDuration","callback","animateIndex","animate","now","ele","double","step","inv","opt","global","v","replace","clear","name","arg","type","args","eventHandler","k","DEFAULT_DURATION","options","init","carousel","page","idx","initGlider","glider","path","html","fetchHTML","LazyImages","registeredInModuleLoader","OldCookies","api","extend","result","attributes","key","decode","s","converter","set","value","stringifiedAttributes","attributeName","get","json","jar","cookies","parts","cookie","manualPreview","contentWrapper","frame","previewContent","manualClose","manualViewModes","activateButtons","originalWidth","originalHeight","ESCAPE","isFullscreen","isPersistedFullscreen","Cookie","scaleManual","currentWidth","currentHeight","widthScale","heightScale","scale","resetScale","applyScale","enableHotkeys","checkForHotkeys","disableHotkeys","leaveFullscreen","enablePersistViewMode","disablePersistViewMode","leaveOnOverlayClick","activateBtn","mode","enterFullscreen","switchViewMode","enableScaling","debounce","enableViewModes","ManualPreview","allowOnlyNumbers","pager","input","normalizedValue","forbidInvalidSubmit","ManualQuickPager","loadCsrfOnSubmit","form","load","Csrf","__vitePreload","loadSearchOnFocus","loadSummary","container","fetchJSON","error","ready","ManualCarousel"],"sources":["../../../node_modules/glider-js/glider.js","../../../app/javascript/components/ManualCarousel.js","../../../node_modules/js-cookie/src/js.cookie.js","../../../app/javascript/components/ManualPreview.js","../../../app/javascript/components/ManualQuickPager.js","../../../app/javascript/entrypoints/manual_preview.js"],"sourcesContent":["/* @preserve\n _____ __ _ __ _\n / ___// /(_)___/ /___ ____ (_)___\n / (_ // // // _ // -_)/ __/_ / /(_-<\n \\___//_//_/ \\_,_/ \\__//_/ (_)__/ //___/\n |___/\n\n Version: 1.7.3\n Author: Nick Piscitelli (pickykneee)\n Website: https://nickpiscitelli.com\n Documentation: http://nickpiscitelli.github.io/Glider.js\n License: MIT License\n Release Date: October 25th, 2018\n\n*/\n\n/* global define */\n\n(function (factory) {\n typeof define === 'function' && define.amd\n ? define(factory)\n : typeof exports === 'object'\n ? (module.exports = factory())\n : factory()\n})(function () {\n ('use strict') // eslint-disable-line no-unused-expressions\n\n /* globals window:true */\n var _window = typeof window !== 'undefined' ? window : this\n\n var Glider = (_window.Glider = function (element, settings) {\n var _ = this\n\n if (element._glider) return element._glider\n\n _.ele = element\n _.ele.classList.add('glider')\n\n // expose glider object to its DOM element\n _.ele._glider = _\n\n // merge user setting with defaults\n _.opt = Object.assign(\n {},\n {\n slidesToScroll: 1,\n slidesToShow: 1,\n resizeLock: true,\n duration: 0.5,\n // easeInQuad\n easing: function (x, t, b, c, d) {\n return c * (t /= d) * t + b\n }\n },\n settings\n )\n\n // set defaults\n _.animate_id = _.page = _.slide = 0\n _.arrows = {}\n\n // preserve original options to\n // extend breakpoint settings\n _._opt = _.opt\n\n if (_.opt.skipTrack) {\n // first and only child is the track\n _.track = _.ele.children[0]\n } else {\n // create track and wrap slides\n _.track = document.createElement('div')\n _.ele.appendChild(_.track)\n while (_.ele.children.length !== 1) {\n _.track.appendChild(_.ele.children[0])\n }\n }\n\n _.track.classList.add('glider-track')\n\n // start glider\n _.init()\n\n // set events\n _.resize = _.init.bind(_, true)\n _.event(_.ele, 'add', {\n scroll: _.updateControls.bind(_)\n })\n _.event(_window, 'add', {\n resize: _.resize\n })\n })\n\n var gliderPrototype = Glider.prototype\n gliderPrototype.init = function (refresh, paging) {\n var _ = this\n\n var width = 0\n\n var height = 0\n\n _.slides = _.track.children;\n\n [].forEach.call(_.slides, function (_) {\n _.classList.add('glider-slide')\n })\n\n _.containerWidth = _.ele.clientWidth\n\n var breakpointChanged = _.settingsBreakpoint()\n if (!paging) paging = breakpointChanged\n\n if (\n _.opt.slidesToShow === 'auto' ||\n typeof _.opt._autoSlide !== 'undefined'\n ) {\n var slideCount = _.containerWidth / _.opt.itemWidth\n\n _.opt._autoSlide = _.opt.slidesToShow = _.opt.exactWidth\n ? slideCount\n : Math.floor(slideCount)\n }\n if (_.opt.slidesToScroll === 'auto') {\n _.opt.slidesToScroll = Math.floor(_.opt.slidesToShow)\n }\n\n _.itemWidth = _.opt.exactWidth\n ? _.opt.itemWidth\n : _.containerWidth / _.opt.slidesToShow;\n\n // set slide dimensions\n [].forEach.call(_.slides, function (__) {\n __.style.height = 'auto'\n __.style.width = _.itemWidth + 'px'\n width += _.itemWidth\n height = Math.max(__.offsetHeight, height)\n })\n\n _.track.style.width = width + 'px'\n _.trackWidth = width\n _.isDrag = false\n _.preventClick = false\n\n _.opt.resizeLock && _.scrollTo(_.slide * _.itemWidth, 0)\n\n if (breakpointChanged || paging) {\n _.bindArrows()\n _.buildDots()\n _.bindDrag()\n }\n\n _.updateControls()\n\n _.emit(refresh ? 'refresh' : 'loaded')\n }\n\n gliderPrototype.bindDrag = function () {\n var _ = this\n _.mouse = _.mouse || _.handleMouse.bind(_)\n\n var mouseup = function () {\n _.mouseDown = undefined\n _.ele.classList.remove('drag')\n if (_.isDrag) {\n _.preventClick = true\n }\n _.isDrag = false\n }\n\n var events = {\n mouseup: mouseup,\n mouseleave: mouseup,\n mousedown: function (e) {\n e.preventDefault()\n e.stopPropagation()\n _.mouseDown = e.clientX\n _.ele.classList.add('drag')\n },\n mousemove: _.mouse,\n click: function (e) {\n if (_.preventClick) {\n e.preventDefault()\n e.stopPropagation()\n }\n _.preventClick = false\n }\n }\n\n _.ele.classList.toggle('draggable', _.opt.draggable === true)\n _.event(_.ele, 'remove', events)\n if (_.opt.draggable) _.event(_.ele, 'add', events)\n }\n\n gliderPrototype.buildDots = function () {\n var _ = this\n\n if (!_.opt.dots) {\n if (_.dots) _.dots.innerHTML = ''\n return\n }\n\n if (typeof _.opt.dots === 'string') {\n _.dots = document.querySelector(_.opt.dots)\n } else _.dots = _.opt.dots\n if (!_.dots) return\n\n _.dots.innerHTML = ''\n _.dots.classList.add('glider-dots')\n\n for (var i = 0; i < Math.ceil(_.slides.length / _.opt.slidesToShow); ++i) {\n var dot = document.createElement('button')\n dot.dataset.index = i\n dot.setAttribute('aria-label', 'Page ' + (i + 1))\n dot.className = 'glider-dot ' + (i ? '' : 'active')\n _.event(dot, 'add', {\n click: _.scrollItem.bind(_, i, true)\n })\n _.dots.appendChild(dot)\n }\n }\n\n gliderPrototype.bindArrows = function () {\n var _ = this\n if (!_.opt.arrows) {\n Object.keys(_.arrows).forEach(function (direction) {\n var element = _.arrows[direction]\n _.event(element, 'remove', { click: element._func })\n })\n return\n }\n ['prev', 'next'].forEach(function (direction) {\n var arrow = _.opt.arrows[direction]\n if (arrow) {\n if (typeof arrow === 'string') arrow = document.querySelector(arrow)\n arrow._func = arrow._func || _.scrollItem.bind(_, direction)\n _.event(arrow, 'remove', {\n click: arrow._func\n })\n _.event(arrow, 'add', {\n click: arrow._func\n })\n _.arrows[direction] = arrow\n }\n })\n }\n\n gliderPrototype.updateControls = function (event) {\n var _ = this\n\n if (event && !_.opt.scrollPropagate) {\n event.stopPropagation()\n }\n\n var disableArrows = _.containerWidth >= _.trackWidth\n\n if (!_.opt.rewind) {\n if (_.arrows.prev) {\n _.arrows.prev.classList.toggle(\n 'disabled',\n _.ele.scrollLeft <= 0 || disableArrows\n )\n }\n if (_.arrows.next) {\n _.arrows.next.classList.toggle(\n 'disabled',\n Math.ceil(_.ele.scrollLeft + _.containerWidth) >=\n Math.floor(_.trackWidth) || disableArrows\n )\n }\n }\n\n _.slide = Math.round(_.ele.scrollLeft / _.itemWidth)\n _.page = Math.round(_.ele.scrollLeft / _.containerWidth)\n\n var middle = _.slide + Math.floor(Math.floor(_.opt.slidesToShow) / 2)\n\n var extraMiddle = Math.floor(_.opt.slidesToShow) % 2 ? 0 : middle + 1\n if (Math.floor(_.opt.slidesToShow) === 1) {\n extraMiddle = 0\n }\n\n // the last page may be less than one half of a normal page width so\n // the page is rounded down. when at the end, force the page to turn\n if (_.ele.scrollLeft + _.containerWidth >= Math.floor(_.trackWidth)) {\n _.page = _.dots ? _.dots.children.length - 1 : 0\n }\n\n [].forEach.call(_.slides, function (slide, index) {\n var slideClasses = slide.classList\n\n var wasVisible = slideClasses.contains('visible')\n\n var start = _.ele.scrollLeft\n\n var end = _.ele.scrollLeft + _.containerWidth\n\n var itemStart = _.itemWidth * index\n\n var itemEnd = itemStart + _.itemWidth;\n\n [].forEach.call(slideClasses, function (className) {\n /^left|right/.test(className) && slideClasses.remove(className)\n })\n slideClasses.toggle('active', _.slide === index)\n if (middle === index || (extraMiddle && extraMiddle === index)) {\n slideClasses.add('center')\n } else {\n slideClasses.remove('center')\n slideClasses.add(\n [\n index < middle ? 'left' : 'right',\n Math.abs(index - (index < middle ? middle : extraMiddle || middle))\n ].join('-')\n )\n }\n\n var isVisible =\n Math.ceil(itemStart) >= start && Math.floor(itemEnd) <= end\n slideClasses.toggle('visible', isVisible)\n if (isVisible !== wasVisible) {\n _.emit('slide-' + (isVisible ? 'visible' : 'hidden'), {\n slide: index\n })\n }\n })\n if (_.dots) {\n [].forEach.call(_.dots.children, function (dot, index) {\n dot.classList.toggle('active', _.page === index)\n })\n }\n\n if (event && _.opt.scrollLock) {\n clearTimeout(_.scrollLock)\n _.scrollLock = setTimeout(function () {\n clearTimeout(_.scrollLock)\n // dont attempt to scroll less than a pixel fraction - causes looping\n if (Math.abs(_.ele.scrollLeft / _.itemWidth - _.slide) > 0.02) {\n if (!_.mouseDown) {\n _.scrollItem(_.round(_.ele.scrollLeft / _.itemWidth))\n }\n }\n }, _.opt.scrollLockDelay || 250)\n }\n }\n\n gliderPrototype.scrollItem = function (slide, dot, e) {\n if (e) e.preventDefault()\n\n var _ = this\n\n var originalSlide = slide\n ++_.animate_id\n\n if (dot === true) {\n slide = slide * _.containerWidth\n slide = Math.round(slide / _.itemWidth) * _.itemWidth\n } else {\n if (typeof slide === 'string') {\n var backwards = slide === 'prev'\n\n // use precise location if fractional slides are on\n if (_.opt.slidesToScroll % 1 || _.opt.slidesToShow % 1) {\n slide = _.round(_.ele.scrollLeft / _.itemWidth)\n } else {\n slide = _.slide\n }\n\n if (backwards) slide -= _.opt.slidesToScroll\n else slide += _.opt.slidesToScroll\n\n if (_.opt.rewind) {\n var scrollLeft = _.ele.scrollLeft\n slide =\n backwards && !scrollLeft\n ? _.slides.length\n : !backwards &&\n scrollLeft + _.containerWidth >= Math.floor(_.trackWidth)\n ? 0\n : slide\n }\n }\n\n slide = Math.max(Math.min(slide, _.slides.length), 0)\n\n _.slide = slide\n slide = _.itemWidth * slide\n }\n\n _.scrollTo(\n slide,\n _.opt.duration * Math.abs(_.ele.scrollLeft - slide),\n function () {\n _.updateControls()\n _.emit('animated', {\n value: originalSlide,\n type:\n typeof originalSlide === 'string' ? 'arrow' : dot ? 'dot' : 'slide'\n })\n }\n )\n\n return false\n }\n\n gliderPrototype.settingsBreakpoint = function () {\n var _ = this\n\n var resp = _._opt.responsive\n\n if (resp) {\n // Sort the breakpoints in mobile first order\n resp.sort(function (a, b) {\n return b.breakpoint - a.breakpoint\n })\n\n for (var i = 0; i < resp.length; ++i) {\n var size = resp[i]\n if (_window.innerWidth >= size.breakpoint) {\n if (_.breakpoint !== size.breakpoint) {\n _.opt = Object.assign({}, _._opt, size.settings)\n _.breakpoint = size.breakpoint\n return true\n }\n return false\n }\n }\n }\n // set back to defaults in case they were overriden\n var breakpointChanged = _.breakpoint !== 0\n _.opt = Object.assign({}, _._opt)\n _.breakpoint = 0\n return breakpointChanged\n }\n\n gliderPrototype.scrollTo = function (scrollTarget, scrollDuration, callback) {\n var _ = this\n\n var start = new Date().getTime()\n\n var animateIndex = _.animate_id\n\n var animate = function () {\n var now = new Date().getTime() - start\n _.ele.scrollLeft =\n _.ele.scrollLeft +\n (scrollTarget - _.ele.scrollLeft) *\n _.opt.easing(0, now, 0, 1, scrollDuration)\n if (now < scrollDuration && animateIndex === _.animate_id) {\n _window.requestAnimationFrame(animate)\n } else {\n _.ele.scrollLeft = scrollTarget\n callback && callback.call(_)\n }\n }\n\n _window.requestAnimationFrame(animate)\n }\n\n gliderPrototype.removeItem = function (index) {\n var _ = this\n\n if (_.slides.length) {\n _.track.removeChild(_.slides[index])\n _.refresh(true)\n _.emit('remove')\n }\n }\n\n gliderPrototype.addItem = function (ele) {\n var _ = this\n\n _.track.appendChild(ele)\n _.refresh(true)\n _.emit('add')\n }\n\n gliderPrototype.handleMouse = function (e) {\n var _ = this\n if (_.mouseDown) {\n _.isDrag = true\n _.ele.scrollLeft +=\n (_.mouseDown - e.clientX) * (_.opt.dragVelocity || 3.3)\n _.mouseDown = e.clientX\n }\n }\n\n // used to round to the nearest 0.XX fraction\n gliderPrototype.round = function (double) {\n var _ = this\n var step = _.opt.slidesToScroll % 1 || 1\n var inv = 1.0 / step\n return Math.round(double * inv) / inv\n }\n\n gliderPrototype.refresh = function (paging) {\n var _ = this\n _.init(true, paging)\n }\n\n gliderPrototype.setOption = function (opt, global) {\n var _ = this\n\n if (_.breakpoint && !global) {\n _._opt.responsive.forEach(function (v) {\n if (v.breakpoint === _.breakpoint) {\n v.settings = Object.assign({}, v.settings, opt)\n }\n })\n } else {\n _._opt = Object.assign({}, _._opt, opt)\n }\n\n _.breakpoint = 0\n _.settingsBreakpoint()\n }\n\n gliderPrototype.destroy = function () {\n var _ = this\n\n var replace = _.ele.cloneNode(true)\n\n var clear = function (ele) {\n ele.removeAttribute('style');\n [].forEach.call(ele.classList, function (className) {\n /^glider/.test(className) && ele.classList.remove(className)\n })\n }\n // remove track\n replace.children[0].outerHTML = replace.children[0].innerHTML\n clear(replace);\n [].forEach.call(replace.getElementsByTagName('*'), clear)\n _.ele.parentNode.replaceChild(replace, _.ele)\n _.event(_window, 'remove', {\n resize: _.resize\n })\n _.emit('destroy')\n }\n\n gliderPrototype.emit = function (name, arg) {\n var _ = this\n\n var e = new _window.CustomEvent('glider-' + name, {\n bubbles: !_.opt.eventPropagate,\n detail: arg\n })\n _.ele.dispatchEvent(e)\n }\n\n gliderPrototype.event = function (ele, type, args) {\n var eventHandler = ele[type + 'EventListener'].bind(ele)\n Object.keys(args).forEach(function (k) {\n eventHandler(k, args[k])\n })\n }\n\n return Glider\n})\n","import Glider from 'glider-js';\nimport 'glider-js/glider.css';\nimport { fetchHTML } from '~/utils/net';\nimport LazyImages from '~/components/LazyImages';\n\nconst DEFAULT_DURATION = 0.8;\n\nconst options = {\n draggable: true,\n duration: DEFAULT_DURATION,\n arrows: {\n prev: '.carousel-nav--prev',\n next: '.carousel-nav--next'\n },\n responsive: [\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 7,\n slidesToScroll: 6\n }\n },\n {\n breakpoint: 960,\n settings: {\n slidesToShow: 5,\n slidesToScroll: 4\n }\n },\n {\n breakpoint: 768,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 3\n }\n },\n {\n breakpoint: 640,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 2\n }\n },\n {\n breakpoint: 450,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1\n }\n },\n {\n breakpoint: 356,\n settings: {\n slidesToShow: 1.4,\n slidesToScroll: 1\n }\n },\n {\n breakpoint: 320,\n settings: {\n slidesToShow: 1.2,\n slidesToScroll: 1\n }\n },\n {\n breakpoint: 320,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1\n }\n },\n ]\n};\n\nconst init = function() {\n const carousel = document.querySelector('#manual-carousel');\n const page = carousel.dataset.page || 1;\n const idx = page - 1;\n\n const initGlider = function() {\n if (idx > 0) {\n options.duration = 0;\n }\n\n const glider = new Glider(carousel, options);\n\n if (idx > 0) {\n glider.scrollItem(idx);\n glider.setOption({ duration: DEFAULT_DURATION });\n }\n };\n\n const loadManualSlides = async function() {\n const path = carousel.dataset.carouselPath;\n const html = await fetchHTML(`${path}?page=${page}`);\n\n carousel.appendChild(html);\n initGlider();\n LazyImages();\n };\n\n loadManualSlides();\n};\n\nexport default init;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","import { debounce } from 'lodash';\nimport Cookie from 'js-cookie';\n\nvar manualPreview;\nvar contentWrapper;\nvar frame;\nvar previewContent;\nvar manualClose;\nvar manualViewModes;\nvar activateButtons;\n\nvar originalWidth;\nvar originalHeight;\n\nconst ESCAPE = 27;\n\nconst isFullscreen = function() {\n return manualPreview.classList.contains('manual-preview--fullscreen');\n};\n\nconst isPersistedFullscreen = function() {\n return Cookie.get('fullscreen') === '1';\n};\n\nconst scaleManual = function() {\n const { width: currentWidth, height: currentHeight } = contentWrapper.getBoundingClientRect();\n\n var widthScale = 1;\n var heightScale = 1;\n var scale;\n\n if (\n currentWidth >= originalWidth &&\n currentHeight >= originalHeight\n ) {\n resetScale();\n return;\n }\n\n if (currentWidth < originalWidth) {\n widthScale = currentWidth / originalWidth;\n }\n\n if (isFullscreen() && currentHeight < originalHeight) {\n heightScale = currentHeight / originalHeight;\n }\n\n scale = Math.min(widthScale, heightScale);\n\n applyScale(scale);\n};\n\nconst resetScale = function() {\n previewContent.style.transform = null;\n frame.removeAttribute('style');\n};\n\nconst applyScale = function(scale) {\n previewContent.style.transform = 'scale(' + scale + ')';\n frame.style.width = originalWidth * scale + 'px';\n frame.style.height = originalHeight * scale + 'px';\n};\n\nconst enableHotkeys = function() {\n document.addEventListener('keyup', checkForHotkeys);\n};\n\nconst disableHotkeys = function() {\n document.removeEventListener('keyup', checkForHotkeys);\n};\n\nconst checkForHotkeys = function(e) {\n if (e.keyCode === ESCAPE){\n leaveFullscreen();\n }\n};\n\nconst enablePersistViewMode = function() {\n Cookie.set('fullscreen', 1);\n};\n\nconst disablePersistViewMode = function() {\n Cookie.remove('fullscreen');\n};\n\nconst leaveOnOverlayClick = function(e) {\n if (e.target.classList.contains('manual-preview__content-wrapper')) {\n leaveFullscreen();\n }\n};\n\nconst activateBtn = function(mode) {\n activateButtons.forEach((b) => {\n if (b.dataset.mode === mode) {\n b.classList.add('manual-menu__view-mode--active');\n } else {\n b.classList.remove('manual-menu__view-mode--active');\n }\n });\n};\n\nconst enterFullscreen = function() {\n manualPreview.classList.add('manual-preview--fullscreen');\n manualClose.addEventListener('click', leaveFullscreen);\n manualPreview.addEventListener('click', leaveOnOverlayClick);\n\n activateBtn('fullscreen');\n scaleManual();\n enableHotkeys();\n enablePersistViewMode();\n};\n\nconst leaveFullscreen = function() {\n manualClose.removeEventListener('click', leaveFullscreen);\n manualPreview.removeEventListener('click', leaveOnOverlayClick);\n manualPreview.classList.remove('manual-preview--fullscreen');\n\n activateBtn('standard');\n scaleManual();\n disableHotkeys();\n disablePersistViewMode();\n};\n\nconst switchViewMode = function(e) {\n if (e.target.dataset.mode === 'fullscreen') {\n enterFullscreen();\n } else {\n leaveFullscreen();\n }\n};\n\n\nconst enableScaling = function() {\n originalWidth = previewContent.offsetWidth;\n originalHeight = previewContent.offsetHeight;\n\n window.addEventListener('resize', debounce(scaleManual));\n};\n\nconst enableViewModes = function() {\n manualViewModes.addEventListener('click', switchViewMode);\n\n if (isPersistedFullscreen()) {\n enterFullscreen();\n } else {\n activateBtn('standard');\n }\n};\n\nexport default function() {\n manualViewModes = document.getElementById('manual-view-modes');\n activateButtons = Array.from(manualViewModes.querySelectorAll('.manual-menu__view-mode'));\n\n manualPreview = document.getElementById('manual-preview');\n contentWrapper = manualPreview.querySelector('.manual-preview__content-wrapper');\n frame = manualPreview.querySelector('.manual-preview__frame');\n previewContent = manualPreview.querySelector('.manual-preview__content');\n manualClose = manualPreview.querySelector('.manual-preview__close-fullscreen');\n\n enableScaling();\n enableViewModes();\n\n // To fix Safari layout bug\n window.addEventListener('load', scaleManual);\n\n scaleManual();\n}\n","const allowOnlyNumbers = function(pager) {\n const input = pager.querySelector('.manual-quick-pager__input');\n\n input.addEventListener('input', () => {\n var normalizedValue = input.value.replace(/[^0-9]/g, '');\n input.value = normalizedValue;\n });\n};\n\nconst forbidInvalidSubmit = function(pager) {\n pager.addEventListener('submit', (e) => {\n if (!pager.checkValidity()) {\n e.preventDefault();\n }\n });\n};\n\nexport default function() {\n const pager = document.querySelector('#manual-quick-pager');\n if (!pager) return;\n\n allowOnlyNumbers(pager);\n forbidInvalidSubmit(pager);\n}\n","import { fetchJSON } from '~/utils/net';\nimport { ready } from '~/utils/common';\nimport ManualCarousel from '~/components/ManualCarousel';\nimport ManualPreview from '~/components/ManualPreview';\nimport ManualQuickPager from '~/components/ManualQuickPager';\n\nconst loadCsrfOnSubmit = () => {\n document.querySelectorAll('form[method=\"post\"]').forEach(form => {\n const load = async (e) => {\n e.preventDefault();\n e.target.removeEventListener('submit', load);\n\n const { default: Csrf } = await import('~/components/Csrf');\n await new Csrf().fetchIfNotLoaded();\n\n e.target.submit();\n };\n\n form.addEventListener('submit', load);\n });\n};\n\nconst loadSearchOnFocus = () => {\n const input = document.querySelector('#manual-search-input');\n const load = async () => {\n input.removeEventListener('focus', load);\n\n const { default: Csrf } = await import('~/components/Csrf');\n const { default: init } = await import('~/components/ManualSearch');\n\n await new Csrf().fetchIfNotLoaded();\n init();\n };\n\n input.addEventListener('focus', load);\n};\n\nconst loadSummary = () => {\n const container = document.querySelector('section.manual-summary.manual__summary');\n if (!container) { return; }\n\n fetchJSON('summary/')\n .then(resp => container.innerHTML = resp.html)\n .catch((error) => {\n console.log(error);\n });\n};\n\nready(() => {\n ManualCarousel();\n ManualPreview();\n ManualQuickPager();\n loadCsrfOnSubmit();\n loadSearchOnFocus();\n loadSummary();\n});\n"],"file":"assets/manual_preview-3a69681e.js"}