{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./app/javascript/controllers/content_pages/top_gallery_controller.js","webpack:///./app/javascript/packs/content_pages.js","webpack:///./node_modules/@stimulus/webpack-helpers/dist/index.js","webpack:///./node_modules/@stimulus/core/dist/event_listener.js","webpack:///./node_modules/@stimulus/core/dist/dispatcher.js","webpack:///./node_modules/@stimulus/core/dist/action_descriptor.js","webpack:///./node_modules/@stimulus/core/dist/action.js","webpack:///./node_modules/@stimulus/core/dist/binding.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/element_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/attribute_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/string_map_observer.js","webpack:///./node_modules/@stimulus/multimap/dist/set_operations.js","webpack:///./node_modules/@stimulus/multimap/dist/multimap.js","webpack:///./node_modules/@stimulus/multimap/dist/indexed_multimap.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/token_list_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/value_list_observer.js","webpack:///./node_modules/@stimulus/core/dist/binding_observer.js","webpack:///./node_modules/@stimulus/core/dist/value_observer.js","webpack:///./node_modules/@stimulus/core/dist/context.js","webpack:///./node_modules/@stimulus/core/dist/inheritable_statics.js","webpack:///./node_modules/@stimulus/core/dist/blessing.js","webpack:///./node_modules/@stimulus/core/dist/module.js","webpack:///./node_modules/@stimulus/core/dist/definition.js","webpack:///./node_modules/@stimulus/core/dist/class_map.js","webpack:///./node_modules/@stimulus/core/dist/string_helpers.js","webpack:///./node_modules/@stimulus/core/dist/data_map.js","webpack:///./node_modules/@stimulus/core/dist/guide.js","webpack:///./node_modules/@stimulus/core/dist/selectors.js","webpack:///./node_modules/@stimulus/core/dist/target_set.js","webpack:///./node_modules/@stimulus/core/dist/scope.js","webpack:///./node_modules/@stimulus/core/dist/scope_observer.js","webpack:///./node_modules/@stimulus/core/dist/router.js","webpack:///./node_modules/@stimulus/core/dist/schema.js","webpack:///./node_modules/@stimulus/core/dist/application.js","webpack:///./node_modules/@stimulus/core/dist/class_properties.js","webpack:///./node_modules/@stimulus/core/dist/target_properties.js","webpack:///./node_modules/@stimulus/core/dist/value_properties.js","webpack:///./node_modules/@stimulus/core/dist/controller.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./app/javascript/controllers/content_pages sync \\.js$","webpack:///./app/javascript/controllers/content_pages/badge_scroller_controller.js","webpack:///./app/javascript/controllers/content_pages/search_box_controller.js","webpack:///./app/javascript/controllers/content_pages/subscribe_controller.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","innerWidth","imgs","this","itemTargets","map","item","Promise","resolve","domImg","querySelector","img","Image","classList","add","src","onload","onerror","reappear","promises","all","forEach","index","setTimeout","remove","Controller","targets","application","Application","start","context","require","load","definitionsFromContext","keys","identifier","logicalName","match","replace","identifierForContextKey","controllerConstructor","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","filter","EventListener","eventTarget","eventName","eventOptions","unorderedBindings","Set","connect","addEventListener","disconnect","removeEventListener","bindingConnected","binding","bindingDisconnected","handleEvent","event","extendedEvent","stopImmediatePropagation_1","stopImmediatePropagation","assign","immediatePropagationStopped","extendEvent","_i","_a","bindings","length","Array","from","sort","left","right","leftIndex","rightIndex","configurable","Dispatcher","eventListenerMaps","Map","started","eventListeners","eventListener","stop","values","reduce","listeners","concat","fetchEventListenerForBinding","handleError","error","message","detail","fetchEventListener","eventListenerMap","fetchEventListenerMapForEventTarget","cacheKey","createEventListener","set","parts","push","join","descriptorPattern","parseEventTarget","eventTargetName","document","Action","element","descriptor","tagName","toLowerCase","defaultEventNames","getDefaultEventNameForElement","methodName","forToken","token","descriptorString","content","matches","trim","split","options","test","toString","eventNameSuffix","e","getAttribute","Error","Binding","action","willBeInvokedByEvent","invokeWithEvent","method","controller","target","Element","contains","scope","containsElement","ElementObserver","delegate","_this","elements","mutationObserver","MutationObserver","mutations","processMutations","observe","attributes","childList","subtree","refresh","takeRecords","matchElementsInTree","has","removeElement","_b","_c","addElement","mutations_1","mutation","processMutation","type","processAttributeChange","attributeName","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","node","elementAttributeChanged","matchElement","nodes","elementFromNode","processTree","elementIsActive","tree","processor","nodeType","Node","ELEMENT_NODE","isConnected","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","querySelectorAll","selector","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","StringMapObserver","stringMap","knownAttributeNames","refreshAttribute","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","fetch","del","size","prune","_extendStatics","Multimap","valuesByKey","hasKey","hasValue","some","getValuesForKey","getKeysForValue","__extends","b","setPrototypeOf","__proto__","__","constructor","_super","IndexedMultimap","keysByValue","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","refreshTokensForElement","unmatchedTokens","matchedTokens","tokensUnmatched","tokens","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","Math","max","_","findIndex","tokensAreEqual","slice","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","WeakMap","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","schema","connectAction","disconnectAction","clear","ValueObserver","receiver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","attributeValue","invokeChangedCallbackForValue","valueDescriptors","name_1","undefined","defaultValue","data","Context","bindingObserver","dispatcher","valueObserver","initialize","parentElement","readInheritableStaticArrayValues","propertyName","ancestors","getAncestorsForConstructor","definition","isArray","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","apply","getOwnStaticObjectPairs","getPrototypeOf","reverse","__spreadArrays","il","arguments","k","a","j","jl","bless","properties","shadowConstructor","extend","shadowProperties","getOwnKeys","shadowingDescriptor","getOwnPropertyDescriptor","getShadowedDescriptor","getShadowProperties","defineProperties","shadow","blessedProperties","blessing","getBlessedProperties","getOwnPropertySymbols","getOwnPropertyNames","extendWithReflect","extended","_newTarget","Reflect","construct","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAttributeName","getAttributeNameForKey","camelize","_char","toUpperCase","capitalize","charAt","dasherize","_char2","DataMap","setAttribute","removeAttribute","Guide","logger","warnedKeysByObject","warn","warnedKeys","attributeValueContainsToken","TargetSet","targetName","find","targetNames","findTarget","findLegacyTarget","findAll","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","getLegacySelectorForTargetName","deprecate","targetDescriptor","targetAttribute","guide","Scope","classes","closest","controllerSelector","queryElements","controllerAttribute","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","contexts","loadDefinition","unloadIdentifier","connectModule","disconnectModule","getContextForElementAndIdentifier","defaultSchema","__awaiter","thisArg","_arguments","P","generator","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","documentElement","console","router","readyState","register","head","rest","definitions","unload","identifiers","getControllerForElementAndIdentifier","ClassPropertiesBlessing","classDefinition","TargetPropertiesBlessing","targetDefinition","_typeof","obj","ValuePropertiesBlessing","valueDefinitionPairs","propertyDescriptorMap","valueDefinitionPair","valueDescriptor","parseValueDefinitionPair","read","readers","write","writers","propertiesForValueDefinitionPair","defaultValuesByType","valueDescriptorForTokenAndType","typeConstant","Boolean","Number","String","parseValueTypeConstant","number","string","array","JSON","parse","parseFloat","writeJSON","stringify","blessings","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","_invoke","state","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","fn","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","skipTempReset","prev","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackContext","req","id","webpackContextResolve","code","badgesTarget","denom","ceil","scrollWidth","offsetWidth","iconTargets","icon","scrollAmount","scrollLeft","closed","iconTarget","formTarget","style","width","ev","email","inputTarget","preventDefault","placeholder","pathValue","headers","submittedTarget","path"],"mappings":"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","file":"js/content_pages-bf3673bb4c18d59abd71.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//www.publicist.co/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 165);\n","module.exports = require(\"regenerator-runtime\");\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = ['item'];\n\n connect() {\n if (window.innerWidth < 768)\n return;\n\n const imgs = this.itemTargets.map(item => {\n return new Promise(resolve => {\n const domImg = item.querySelector('img');\n const img = new Image();\n\n domImg.classList.add('opacity-0');\n\n img.src = domImg.src;\n img.onload = () => { resolve(domImg); };\n img.onerror = () => { resolve(domImg); };\n });\n });\n\n this.reappear(imgs);\n }\n\n async reappear(promises) {\n (await Promise.all(promises)).forEach((img, index) => {\n setTimeout(() => {\n img.classList.remove('opacity-0');\n }, index * 250);\n });\n }\n}\n","import 'stylesheets/application.scss';\nimport 'stylesheets/root.scss';\n\nimport { Application } from 'stimulus';\nimport { definitionsFromContext } from 'stimulus/webpack-helpers';\n\nconst application = Application.start();\nconst context = require.context('controllers/content_pages', true, /\\.js$/);\n\napplication.load(definitionsFromContext(context));\n","export function definitionsFromContext(context) {\n return context.keys().map(function (key) {\n return definitionForModuleWithContextAndKey(context, key);\n }).filter(function (value) {\n return value;\n });\n}\n\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\n\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module[\"default\"];\n\n if (typeof controllerConstructor == \"function\") {\n return {\n identifier: identifier,\n controllerConstructor: controllerConstructor\n };\n }\n}\n\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}","var EventListener =\n/** @class */\nfunction () {\n function EventListener(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n\n EventListener.prototype.connect = function () {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n };\n\n EventListener.prototype.disconnect = function () {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }; // Binding observer delegate\n\n /** @hidden */\n\n\n EventListener.prototype.bindingConnected = function (binding) {\n this.unorderedBindings.add(binding);\n };\n /** @hidden */\n\n\n EventListener.prototype.bindingDisconnected = function (binding) {\n this.unorderedBindings[\"delete\"](binding);\n };\n\n EventListener.prototype.handleEvent = function (event) {\n var extendedEvent = extendEvent(event);\n\n for (var _i = 0, _a = this.bindings; _i < _a.length; _i++) {\n var binding = _a[_i];\n\n if (extendedEvent.immediatePropagationStopped) {\n break;\n } else {\n binding.handleEvent(extendedEvent);\n }\n }\n };\n\n Object.defineProperty(EventListener.prototype, \"bindings\", {\n get: function get() {\n return Array.from(this.unorderedBindings).sort(function (left, right) {\n var leftIndex = left.index,\n rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n },\n enumerable: false,\n configurable: true\n });\n return EventListener;\n}();\n\nexport { EventListener };\n\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n } else {\n var stopImmediatePropagation_1 = event.stopImmediatePropagation;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation_1.call(this);\n }\n });\n }\n}","import { EventListener } from \"./event_listener\";\n\nvar Dispatcher =\n/** @class */\nfunction () {\n function Dispatcher(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n\n Dispatcher.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach(function (eventListener) {\n return eventListener.connect();\n });\n }\n };\n\n Dispatcher.prototype.stop = function () {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach(function (eventListener) {\n return eventListener.disconnect();\n });\n }\n };\n\n Object.defineProperty(Dispatcher.prototype, \"eventListeners\", {\n get: function get() {\n return Array.from(this.eventListenerMaps.values()).reduce(function (listeners, map) {\n return listeners.concat(Array.from(map.values()));\n }, []);\n },\n enumerable: false,\n configurable: true\n }); // Binding observer delegate\n\n /** @hidden */\n\n Dispatcher.prototype.bindingConnected = function (binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n };\n /** @hidden */\n\n\n Dispatcher.prototype.bindingDisconnected = function (binding) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n }; // Error handling\n\n\n Dispatcher.prototype.handleError = function (error, message, detail) {\n if (detail === void 0) {\n detail = {};\n }\n\n this.application.handleError(error, \"Error \" + message, detail);\n };\n\n Dispatcher.prototype.fetchEventListenerForBinding = function (binding) {\n var eventTarget = binding.eventTarget,\n eventName = binding.eventName,\n eventOptions = binding.eventOptions;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n };\n\n Dispatcher.prototype.fetchEventListener = function (eventTarget, eventName, eventOptions) {\n var eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n var cacheKey = this.cacheKey(eventName, eventOptions);\n var eventListener = eventListenerMap.get(cacheKey);\n\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n\n return eventListener;\n };\n\n Dispatcher.prototype.createEventListener = function (eventTarget, eventName, eventOptions) {\n var eventListener = new EventListener(eventTarget, eventName, eventOptions);\n\n if (this.started) {\n eventListener.connect();\n }\n\n return eventListener;\n };\n\n Dispatcher.prototype.fetchEventListenerMapForEventTarget = function (eventTarget) {\n var eventListenerMap = this.eventListenerMaps.get(eventTarget);\n\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n\n return eventListenerMap;\n };\n\n Dispatcher.prototype.cacheKey = function (eventName, eventOptions) {\n var parts = [eventName];\n Object.keys(eventOptions).sort().forEach(function (key) {\n parts.push(\"\" + (eventOptions[key] ? \"\" : \"!\") + key);\n });\n return parts.join(\":\");\n };\n\n return Dispatcher;\n}();\n\nexport { Dispatcher };","// capture nos.: 12 23 4 43 1 5 56 7 768 9 98\nvar descriptorPattern = /^((.+?)(@(window|document))?->)?(.+?)(#([^:]+?))(:(.+))?$/;\nexport function parseActionDescriptorString(descriptorString) {\n var source = descriptorString.trim();\n var matches = source.match(descriptorPattern) || [];\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName: matches[2],\n eventOptions: matches[9] ? parseEventOptions(matches[9]) : {},\n identifier: matches[5],\n methodName: matches[7]\n };\n}\n\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n } else if (eventTargetName == \"document\") {\n return document;\n }\n}\n\nfunction parseEventOptions(eventOptions) {\n return eventOptions.split(\":\").reduce(function (options, token) {\n var _a;\n\n return Object.assign(options, (_a = {}, _a[token.replace(/^!/, \"\")] = !/^!/.test(token), _a));\n }, {});\n}\n\nexport function stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n } else if (eventTarget == document) {\n return \"document\";\n }\n}","import { parseActionDescriptorString, stringifyEventTarget } from \"./action_descriptor\";\n\nvar Action =\n/** @class */\nfunction () {\n function Action(element, index, descriptor) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n }\n\n Action.forToken = function (token) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content));\n };\n\n Action.prototype.toString = function () {\n var eventNameSuffix = this.eventTargetName ? \"@\" + this.eventTargetName : \"\";\n return \"\" + this.eventName + eventNameSuffix + \"->\" + this.identifier + \"#\" + this.methodName;\n };\n\n Object.defineProperty(Action.prototype, \"eventTargetName\", {\n get: function get() {\n return stringifyEventTarget(this.eventTarget);\n },\n enumerable: false,\n configurable: true\n });\n return Action;\n}();\n\nexport { Action };\nvar defaultEventNames = {\n \"a\": function a(e) {\n return \"click\";\n },\n \"button\": function button(e) {\n return \"click\";\n },\n \"form\": function form(e) {\n return \"submit\";\n },\n \"input\": function input(e) {\n return e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\";\n },\n \"select\": function select(e) {\n return \"change\";\n },\n \"textarea\": function textarea(e) {\n return \"input\";\n }\n};\nexport function getDefaultEventNameForElement(element) {\n var tagName = element.tagName.toLowerCase();\n\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\n\nfunction error(message) {\n throw new Error(message);\n}","var Binding =\n/** @class */\nfunction () {\n function Binding(context, action) {\n this.context = context;\n this.action = action;\n }\n\n Object.defineProperty(Binding.prototype, \"index\", {\n get: function get() {\n return this.action.index;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventTarget\", {\n get: function get() {\n return this.action.eventTarget;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventOptions\", {\n get: function get() {\n return this.action.eventOptions;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"identifier\", {\n get: function get() {\n return this.context.identifier;\n },\n enumerable: false,\n configurable: true\n });\n\n Binding.prototype.handleEvent = function (event) {\n if (this.willBeInvokedByEvent(event)) {\n this.invokeWithEvent(event);\n }\n };\n\n Object.defineProperty(Binding.prototype, \"eventName\", {\n get: function get() {\n return this.action.eventName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"method\", {\n get: function get() {\n var method = this.controller[this.methodName];\n\n if (typeof method == \"function\") {\n return method;\n }\n\n throw new Error(\"Action \\\"\" + this.action + \"\\\" references undefined method \\\"\" + this.methodName + \"\\\"\");\n },\n enumerable: false,\n configurable: true\n });\n\n Binding.prototype.invokeWithEvent = function (event) {\n try {\n this.method.call(this.controller, event);\n } catch (error) {\n var _a = this,\n identifier = _a.identifier,\n controller = _a.controller,\n element = _a.element,\n index = _a.index;\n\n var detail = {\n identifier: identifier,\n controller: controller,\n element: element,\n index: index,\n event: event\n };\n this.context.handleError(error, \"invoking action \\\"\" + this.action + \"\\\"\", detail);\n }\n };\n\n Binding.prototype.willBeInvokedByEvent = function (event) {\n var eventTarget = event.target;\n\n if (this.element === eventTarget) {\n return true;\n } else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n } else {\n return this.scope.containsElement(this.action.element);\n }\n };\n\n Object.defineProperty(Binding.prototype, \"controller\", {\n get: function get() {\n return this.context.controller;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"methodName\", {\n get: function get() {\n return this.action.methodName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"scope\", {\n get: function get() {\n return this.context.scope;\n },\n enumerable: false,\n configurable: true\n });\n return Binding;\n}();\n\nexport { Binding };","var ElementObserver =\n/** @class */\nfunction () {\n function ElementObserver(element, delegate) {\n var _this = this;\n\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver(function (mutations) {\n return _this.processMutations(mutations);\n });\n }\n\n ElementObserver.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, {\n attributes: true,\n childList: true,\n subtree: true\n });\n this.refresh();\n }\n };\n\n ElementObserver.prototype.stop = function () {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n };\n\n ElementObserver.prototype.refresh = function () {\n if (this.started) {\n var matches = new Set(this.matchElementsInTree());\n\n for (var _i = 0, _a = Array.from(this.elements); _i < _a.length; _i++) {\n var element = _a[_i];\n\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n\n for (var _b = 0, _c = Array.from(matches); _b < _c.length; _b++) {\n var element = _c[_b];\n this.addElement(element);\n }\n }\n }; // Mutation record processing\n\n\n ElementObserver.prototype.processMutations = function (mutations) {\n if (this.started) {\n for (var _i = 0, mutations_1 = mutations; _i < mutations_1.length; _i++) {\n var mutation = mutations_1[_i];\n this.processMutation(mutation);\n }\n }\n };\n\n ElementObserver.prototype.processMutation = function (mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n } else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n };\n\n ElementObserver.prototype.processAttributeChange = function (node, attributeName) {\n var element = node;\n\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n } else {\n this.removeElement(element);\n }\n } else if (this.matchElement(element)) {\n this.addElement(element);\n }\n };\n\n ElementObserver.prototype.processRemovedNodes = function (nodes) {\n for (var _i = 0, _a = Array.from(nodes); _i < _a.length; _i++) {\n var node = _a[_i];\n var element = this.elementFromNode(node);\n\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n };\n\n ElementObserver.prototype.processAddedNodes = function (nodes) {\n for (var _i = 0, _a = Array.from(nodes); _i < _a.length; _i++) {\n var node = _a[_i];\n var element = this.elementFromNode(node);\n\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }; // Element matching\n\n\n ElementObserver.prototype.matchElement = function (element) {\n return this.delegate.matchElement(element);\n };\n\n ElementObserver.prototype.matchElementsInTree = function (tree) {\n if (tree === void 0) {\n tree = this.element;\n }\n\n return this.delegate.matchElementsInTree(tree);\n };\n\n ElementObserver.prototype.processTree = function (tree, processor) {\n for (var _i = 0, _a = this.matchElementsInTree(tree); _i < _a.length; _i++) {\n var element = _a[_i];\n processor.call(this, element);\n }\n };\n\n ElementObserver.prototype.elementFromNode = function (node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n };\n\n ElementObserver.prototype.elementIsActive = function (element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n } else {\n return this.element.contains(element);\n }\n }; // Element tracking\n\n\n ElementObserver.prototype.addElement = function (element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n };\n\n ElementObserver.prototype.removeElement = function (element) {\n if (this.elements.has(element)) {\n this.elements[\"delete\"](element);\n\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n };\n\n return ElementObserver;\n}();\n\nexport { ElementObserver };","import { ElementObserver } from \"./element_observer\";\n\nvar AttributeObserver =\n/** @class */\nfunction () {\n function AttributeObserver(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n\n Object.defineProperty(AttributeObserver.prototype, \"element\", {\n get: function get() {\n return this.elementObserver.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AttributeObserver.prototype, \"selector\", {\n get: function get() {\n return \"[\" + this.attributeName + \"]\";\n },\n enumerable: false,\n configurable: true\n });\n\n AttributeObserver.prototype.start = function () {\n this.elementObserver.start();\n };\n\n AttributeObserver.prototype.stop = function () {\n this.elementObserver.stop();\n };\n\n AttributeObserver.prototype.refresh = function () {\n this.elementObserver.refresh();\n };\n\n Object.defineProperty(AttributeObserver.prototype, \"started\", {\n get: function get() {\n return this.elementObserver.started;\n },\n enumerable: false,\n configurable: true\n }); // Element observer delegate\n\n AttributeObserver.prototype.matchElement = function (element) {\n return element.hasAttribute(this.attributeName);\n };\n\n AttributeObserver.prototype.matchElementsInTree = function (tree) {\n var match = this.matchElement(tree) ? [tree] : [];\n var matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n };\n\n AttributeObserver.prototype.elementMatched = function (element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n };\n\n AttributeObserver.prototype.elementUnmatched = function (element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n };\n\n AttributeObserver.prototype.elementAttributeChanged = function (element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n };\n\n return AttributeObserver;\n}();\n\nexport { AttributeObserver };","var StringMapObserver =\n/** @class */\nfunction () {\n function StringMapObserver(element, delegate) {\n var _this = this;\n\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver(function (mutations) {\n return _this.processMutations(mutations);\n });\n }\n\n StringMapObserver.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, {\n attributes: true\n });\n this.refresh();\n }\n };\n\n StringMapObserver.prototype.stop = function () {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n };\n\n StringMapObserver.prototype.refresh = function () {\n if (this.started) {\n for (var _i = 0, _a = this.knownAttributeNames; _i < _a.length; _i++) {\n var attributeName = _a[_i];\n this.refreshAttribute(attributeName);\n }\n }\n }; // Mutation record processing\n\n\n StringMapObserver.prototype.processMutations = function (mutations) {\n if (this.started) {\n for (var _i = 0, mutations_1 = mutations; _i < mutations_1.length; _i++) {\n var mutation = mutations_1[_i];\n this.processMutation(mutation);\n }\n }\n };\n\n StringMapObserver.prototype.processMutation = function (mutation) {\n var attributeName = mutation.attributeName;\n\n if (attributeName) {\n this.refreshAttribute(attributeName);\n }\n }; // State tracking\n\n\n StringMapObserver.prototype.refreshAttribute = function (attributeName) {\n var key = this.delegate.getStringMapKeyForAttribute(attributeName);\n\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n\n var value = this.element.getAttribute(attributeName);\n\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key);\n }\n\n if (value == null) {\n this.stringMap[\"delete\"](attributeName);\n this.stringMapKeyRemoved(key, attributeName);\n } else {\n this.stringMap.set(attributeName, value);\n }\n }\n };\n\n StringMapObserver.prototype.stringMapKeyAdded = function (key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n };\n\n StringMapObserver.prototype.stringMapValueChanged = function (value, key) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key);\n }\n };\n\n StringMapObserver.prototype.stringMapKeyRemoved = function (key, attributeName) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName);\n }\n };\n\n Object.defineProperty(StringMapObserver.prototype, \"knownAttributeNames\", {\n get: function get() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StringMapObserver.prototype, \"currentAttributeNames\", {\n get: function get() {\n return Array.from(this.element.attributes).map(function (attribute) {\n return attribute.name;\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StringMapObserver.prototype, \"recordedAttributeNames\", {\n get: function get() {\n return Array.from(this.stringMap.keys());\n },\n enumerable: false,\n configurable: true\n });\n return StringMapObserver;\n}();\n\nexport { StringMapObserver };","export function add(map, key, value) {\n fetch(map, key).add(value);\n}\nexport function del(map, key, value) {\n fetch(map, key)[\"delete\"](value);\n prune(map, key);\n}\nexport function fetch(map, key) {\n var values = map.get(key);\n\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n\n return values;\n}\nexport function prune(map, key) {\n var values = map.get(key);\n\n if (values != null && values.size == 0) {\n map[\"delete\"](key);\n }\n}","import { add, del } from \"./set_operations\";\n\nvar Multimap =\n/** @class */\nfunction () {\n function Multimap() {\n this.valuesByKey = new Map();\n }\n\n Object.defineProperty(Multimap.prototype, \"values\", {\n get: function get() {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (values, set) {\n return values.concat(Array.from(set));\n }, []);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Multimap.prototype, \"size\", {\n get: function get() {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (size, set) {\n return size + set.size;\n }, 0);\n },\n enumerable: false,\n configurable: true\n });\n\n Multimap.prototype.add = function (key, value) {\n add(this.valuesByKey, key, value);\n };\n\n Multimap.prototype[\"delete\"] = function (key, value) {\n del(this.valuesByKey, key, value);\n };\n\n Multimap.prototype.has = function (key, value) {\n var values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n };\n\n Multimap.prototype.hasKey = function (key) {\n return this.valuesByKey.has(key);\n };\n\n Multimap.prototype.hasValue = function (value) {\n var sets = Array.from(this.valuesByKey.values());\n return sets.some(function (set) {\n return set.has(value);\n });\n };\n\n Multimap.prototype.getValuesForKey = function (key) {\n var values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n };\n\n Multimap.prototype.getKeysForValue = function (value) {\n return Array.from(this.valuesByKey).filter(function (_a) {\n var key = _a[0],\n values = _a[1];\n return values.has(value);\n }).map(function (_a) {\n var key = _a[0],\n values = _a[1];\n return key;\n });\n };\n\n return Multimap;\n}();\n\nexport { Multimap };","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nimport { Multimap } from \"./multimap\";\nimport { add, del } from \"./set_operations\";\n\nvar IndexedMultimap =\n/** @class */\nfunction (_super) {\n __extends(IndexedMultimap, _super);\n\n function IndexedMultimap() {\n var _this = _super.call(this) || this;\n\n _this.keysByValue = new Map();\n return _this;\n }\n\n Object.defineProperty(IndexedMultimap.prototype, \"values\", {\n get: function get() {\n return Array.from(this.keysByValue.keys());\n },\n enumerable: false,\n configurable: true\n });\n\n IndexedMultimap.prototype.add = function (key, value) {\n _super.prototype.add.call(this, key, value);\n\n add(this.keysByValue, value, key);\n };\n\n IndexedMultimap.prototype[\"delete\"] = function (key, value) {\n _super.prototype[\"delete\"].call(this, key, value);\n\n del(this.keysByValue, value, key);\n };\n\n IndexedMultimap.prototype.hasValue = function (value) {\n return this.keysByValue.has(value);\n };\n\n IndexedMultimap.prototype.getKeysForValue = function (value) {\n var set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n };\n\n return IndexedMultimap;\n}(Multimap);\n\nexport { IndexedMultimap };","import { AttributeObserver } from \"./attribute_observer\";\nimport { Multimap } from \"@stimulus/multimap\";\n\nvar TokenListObserver =\n/** @class */\nfunction () {\n function TokenListObserver(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n\n Object.defineProperty(TokenListObserver.prototype, \"started\", {\n get: function get() {\n return this.attributeObserver.started;\n },\n enumerable: false,\n configurable: true\n });\n\n TokenListObserver.prototype.start = function () {\n this.attributeObserver.start();\n };\n\n TokenListObserver.prototype.stop = function () {\n this.attributeObserver.stop();\n };\n\n TokenListObserver.prototype.refresh = function () {\n this.attributeObserver.refresh();\n };\n\n Object.defineProperty(TokenListObserver.prototype, \"element\", {\n get: function get() {\n return this.attributeObserver.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TokenListObserver.prototype, \"attributeName\", {\n get: function get() {\n return this.attributeObserver.attributeName;\n },\n enumerable: false,\n configurable: true\n }); // Attribute observer delegate\n\n TokenListObserver.prototype.elementMatchedAttribute = function (element) {\n this.tokensMatched(this.readTokensForElement(element));\n };\n\n TokenListObserver.prototype.elementAttributeValueChanged = function (element) {\n var _a = this.refreshTokensForElement(element),\n unmatchedTokens = _a[0],\n matchedTokens = _a[1];\n\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n };\n\n TokenListObserver.prototype.elementUnmatchedAttribute = function (element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n };\n\n TokenListObserver.prototype.tokensMatched = function (tokens) {\n var _this = this;\n\n tokens.forEach(function (token) {\n return _this.tokenMatched(token);\n });\n };\n\n TokenListObserver.prototype.tokensUnmatched = function (tokens) {\n var _this = this;\n\n tokens.forEach(function (token) {\n return _this.tokenUnmatched(token);\n });\n };\n\n TokenListObserver.prototype.tokenMatched = function (token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n };\n\n TokenListObserver.prototype.tokenUnmatched = function (token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement[\"delete\"](token.element, token);\n };\n\n TokenListObserver.prototype.refreshTokensForElement = function (element) {\n var previousTokens = this.tokensByElement.getValuesForKey(element);\n var currentTokens = this.readTokensForElement(element);\n var firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(function (_a) {\n var previousToken = _a[0],\n currentToken = _a[1];\n return !tokensAreEqual(previousToken, currentToken);\n });\n\n if (firstDifferingIndex == -1) {\n return [[], []];\n } else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n };\n\n TokenListObserver.prototype.readTokensForElement = function (element) {\n var attributeName = this.attributeName;\n var tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n };\n\n return TokenListObserver;\n}();\n\nexport { TokenListObserver };\n\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString.trim().split(/\\s+/).filter(function (content) {\n return content.length;\n }).map(function (content, index) {\n return {\n element: element,\n attributeName: attributeName,\n content: content,\n index: index\n };\n });\n}\n\nfunction zip(left, right) {\n var length = Math.max(left.length, right.length);\n return Array.from({\n length: length\n }, function (_, index) {\n return [left[index], right[index]];\n });\n}\n\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}","import { TokenListObserver } from \"./token_list_observer\";\n\nvar ValueListObserver =\n/** @class */\nfunction () {\n function ValueListObserver(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n\n Object.defineProperty(ValueListObserver.prototype, \"started\", {\n get: function get() {\n return this.tokenListObserver.started;\n },\n enumerable: false,\n configurable: true\n });\n\n ValueListObserver.prototype.start = function () {\n this.tokenListObserver.start();\n };\n\n ValueListObserver.prototype.stop = function () {\n this.tokenListObserver.stop();\n };\n\n ValueListObserver.prototype.refresh = function () {\n this.tokenListObserver.refresh();\n };\n\n Object.defineProperty(ValueListObserver.prototype, \"element\", {\n get: function get() {\n return this.tokenListObserver.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ValueListObserver.prototype, \"attributeName\", {\n get: function get() {\n return this.tokenListObserver.attributeName;\n },\n enumerable: false,\n configurable: true\n });\n\n ValueListObserver.prototype.tokenMatched = function (token) {\n var element = token.element;\n var value = this.fetchParseResultForToken(token).value;\n\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n };\n\n ValueListObserver.prototype.tokenUnmatched = function (token) {\n var element = token.element;\n var value = this.fetchParseResultForToken(token).value;\n\n if (value) {\n this.fetchValuesByTokenForElement(element)[\"delete\"](token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n };\n\n ValueListObserver.prototype.fetchParseResultForToken = function (token) {\n var parseResult = this.parseResultsByToken.get(token);\n\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n\n return parseResult;\n };\n\n ValueListObserver.prototype.fetchValuesByTokenForElement = function (element) {\n var valuesByToken = this.valuesByTokenByElement.get(element);\n\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n\n return valuesByToken;\n };\n\n ValueListObserver.prototype.parseToken = function (token) {\n try {\n var value = this.delegate.parseValueForToken(token);\n return {\n value: value\n };\n } catch (error) {\n return {\n error: error\n };\n }\n };\n\n return ValueListObserver;\n}();\n\nexport { ValueListObserver };","import { Action } from \"./action\";\nimport { Binding } from \"./binding\";\nimport { ValueListObserver } from \"@stimulus/mutation-observers\";\n\nvar BindingObserver =\n/** @class */\nfunction () {\n function BindingObserver(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n\n BindingObserver.prototype.start = function () {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n };\n\n BindingObserver.prototype.stop = function () {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n };\n\n Object.defineProperty(BindingObserver.prototype, \"element\", {\n get: function get() {\n return this.context.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"identifier\", {\n get: function get() {\n return this.context.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"actionAttribute\", {\n get: function get() {\n return this.schema.actionAttribute;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"schema\", {\n get: function get() {\n return this.context.schema;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"bindings\", {\n get: function get() {\n return Array.from(this.bindingsByAction.values());\n },\n enumerable: false,\n configurable: true\n });\n\n BindingObserver.prototype.connectAction = function (action) {\n var binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n };\n\n BindingObserver.prototype.disconnectAction = function (action) {\n var binding = this.bindingsByAction.get(action);\n\n if (binding) {\n this.bindingsByAction[\"delete\"](action);\n this.delegate.bindingDisconnected(binding);\n }\n };\n\n BindingObserver.prototype.disconnectAllActions = function () {\n var _this = this;\n\n this.bindings.forEach(function (binding) {\n return _this.delegate.bindingDisconnected(binding);\n });\n this.bindingsByAction.clear();\n }; // Value observer delegate\n\n\n BindingObserver.prototype.parseValueForToken = function (token) {\n var action = Action.forToken(token);\n\n if (action.identifier == this.identifier) {\n return action;\n }\n };\n\n BindingObserver.prototype.elementMatchedValue = function (element, action) {\n this.connectAction(action);\n };\n\n BindingObserver.prototype.elementUnmatchedValue = function (element, action) {\n this.disconnectAction(action);\n };\n\n return BindingObserver;\n}();\n\nexport { BindingObserver };","import { StringMapObserver } from \"@stimulus/mutation-observers\";\n\nvar ValueObserver =\n/** @class */\nfunction () {\n function ValueObserver(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n this.invokeChangedCallbacksForDefaultValues();\n }\n\n ValueObserver.prototype.start = function () {\n this.stringMapObserver.start();\n };\n\n ValueObserver.prototype.stop = function () {\n this.stringMapObserver.stop();\n };\n\n Object.defineProperty(ValueObserver.prototype, \"element\", {\n get: function get() {\n return this.context.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ValueObserver.prototype, \"controller\", {\n get: function get() {\n return this.context.controller;\n },\n enumerable: false,\n configurable: true\n }); // String map observer delegate\n\n ValueObserver.prototype.getStringMapKeyForAttribute = function (attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n };\n\n ValueObserver.prototype.stringMapValueChanged = function (attributeValue, name) {\n this.invokeChangedCallbackForValue(name);\n };\n\n ValueObserver.prototype.invokeChangedCallbacksForDefaultValues = function () {\n for (var _i = 0, _a = this.valueDescriptors; _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b.key,\n name_1 = _b.name,\n defaultValue = _b.defaultValue;\n\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallbackForValue(name_1);\n }\n }\n };\n\n ValueObserver.prototype.invokeChangedCallbackForValue = function (name) {\n var methodName = name + \"Changed\";\n var method = this.receiver[methodName];\n\n if (typeof method == \"function\") {\n var value = this.receiver[name];\n method.call(this.receiver, value);\n }\n };\n\n Object.defineProperty(ValueObserver.prototype, \"valueDescriptors\", {\n get: function get() {\n var valueDescriptorMap = this.valueDescriptorMap;\n return Object.keys(valueDescriptorMap).map(function (key) {\n return valueDescriptorMap[key];\n });\n },\n enumerable: false,\n configurable: true\n });\n return ValueObserver;\n}();\n\nexport { ValueObserver };","import { BindingObserver } from \"./binding_observer\";\nimport { ValueObserver } from \"./value_observer\";\n\nvar Context =\n/** @class */\nfunction () {\n function Context(module, scope) {\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n\n try {\n this.controller.initialize();\n } catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n\n Context.prototype.connect = function () {\n this.bindingObserver.start();\n this.valueObserver.start();\n\n try {\n this.controller.connect();\n } catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n };\n\n Context.prototype.disconnect = function () {\n try {\n this.controller.disconnect();\n } catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n\n this.valueObserver.stop();\n this.bindingObserver.stop();\n };\n\n Object.defineProperty(Context.prototype, \"application\", {\n get: function get() {\n return this.module.application;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"identifier\", {\n get: function get() {\n return this.module.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"schema\", {\n get: function get() {\n return this.application.schema;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"dispatcher\", {\n get: function get() {\n return this.application.dispatcher;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"parentElement\", {\n get: function get() {\n return this.element.parentElement;\n },\n enumerable: false,\n configurable: true\n }); // Error handling\n\n Context.prototype.handleError = function (error, message, detail) {\n if (detail === void 0) {\n detail = {};\n }\n\n var _a = this,\n identifier = _a.identifier,\n controller = _a.controller,\n element = _a.element;\n\n detail = Object.assign({\n identifier: identifier,\n controller: controller,\n element: element\n }, detail);\n this.application.handleError(error, \"Error \" + message, detail);\n };\n\n return Context;\n}();\n\nexport { Context };","export function readInheritableStaticArrayValues(constructor, propertyName) {\n var ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce(function (values, constructor) {\n getOwnStaticArrayValues(constructor, propertyName).forEach(function (name) {\n return values.add(name);\n });\n return values;\n }, new Set()));\n}\nexport function readInheritableStaticObjectPairs(constructor, propertyName) {\n var ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce(function (pairs, constructor) {\n pairs.push.apply(pairs, getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\n\nfunction getAncestorsForConstructor(constructor) {\n var ancestors = [];\n\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n\n return ancestors.reverse();\n}\n\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n var definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\n\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n var definition = constructor[propertyName];\n return definition ? Object.keys(definition).map(function (key) {\n return [key, definition[key]];\n }) : [];\n}","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nimport { readInheritableStaticArrayValues } from \"./inheritable_statics\";\n/** @hidden */\n\nexport function bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\n\nfunction shadow(constructor, properties) {\n var shadowConstructor = extend(constructor);\n var shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\n\nfunction getBlessedProperties(constructor) {\n var blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce(function (blessedProperties, blessing) {\n var properties = blessing(constructor);\n\n for (var key in properties) {\n var descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n\n return blessedProperties;\n }, {});\n}\n\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce(function (shadowProperties, key) {\n var _a;\n\n var descriptor = getShadowedDescriptor(prototype, properties, key);\n\n if (descriptor) {\n Object.assign(shadowProperties, (_a = {}, _a[key] = descriptor, _a));\n }\n\n return shadowProperties;\n }, {});\n}\n\nfunction getShadowedDescriptor(prototype, properties, key) {\n var shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n var shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n\n if (!shadowedByValue) {\n var descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n\n return descriptor;\n }\n}\n\nvar getOwnKeys = function () {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return function (object) {\n return __spreadArrays(Object.getOwnPropertyNames(object), Object.getOwnPropertySymbols(object));\n };\n } else {\n return Object.getOwnPropertyNames;\n }\n}();\n\nvar extend = function () {\n function extendWithReflect(constructor) {\n function extended() {\n var _newTarget = this && this instanceof extended ? this.constructor : void 0;\n\n return Reflect.construct(constructor, arguments, _newTarget);\n }\n\n extended.prototype = Object.create(constructor.prototype, {\n constructor: {\n value: extended\n }\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n\n function testReflectExtension() {\n var a = function a() {\n this.a.call(this);\n };\n\n var b = extendWithReflect(a);\n\n b.prototype.a = function () {};\n\n return new b();\n }\n\n try {\n testReflectExtension();\n return extendWithReflect;\n } catch (error) {\n return function (constructor) {\n return (\n /** @class */\n function (_super) {\n __extends(extended, _super);\n\n function extended() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n return extended;\n }(constructor)\n );\n };\n }\n}();","import { Context } from \"./context\";\nimport { blessDefinition } from \"./definition\";\n\nvar Module =\n/** @class */\nfunction () {\n function Module(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n\n Object.defineProperty(Module.prototype, \"identifier\", {\n get: function get() {\n return this.definition.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"controllerConstructor\", {\n get: function get() {\n return this.definition.controllerConstructor;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"contexts\", {\n get: function get() {\n return Array.from(this.connectedContexts);\n },\n enumerable: false,\n configurable: true\n });\n\n Module.prototype.connectContextForScope = function (scope) {\n var context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n };\n\n Module.prototype.disconnectContextForScope = function (scope) {\n var context = this.contextsByScope.get(scope);\n\n if (context) {\n this.connectedContexts[\"delete\"](context);\n context.disconnect();\n }\n };\n\n Module.prototype.fetchContextForScope = function (scope) {\n var context = this.contextsByScope.get(scope);\n\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n\n return context;\n };\n\n return Module;\n}();\n\nexport { Module };","import { bless } from \"./blessing\";\n/** @hidden */\n\nexport function blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor)\n };\n}","var ClassMap =\n/** @class */\nfunction () {\n function ClassMap(scope) {\n this.scope = scope;\n }\n\n ClassMap.prototype.has = function (name) {\n return this.data.has(this.getDataKey(name));\n };\n\n ClassMap.prototype.get = function (name) {\n return this.data.get(this.getDataKey(name));\n };\n\n ClassMap.prototype.getAttributeName = function (name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n };\n\n ClassMap.prototype.getDataKey = function (name) {\n return name + \"-class\";\n };\n\n Object.defineProperty(ClassMap.prototype, \"data\", {\n get: function get() {\n return this.scope.data;\n },\n enumerable: false,\n configurable: true\n });\n return ClassMap;\n}();\n\nexport { ClassMap };","export function camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, function (_, _char) {\n return _char.toUpperCase();\n });\n}\nexport function capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nexport function dasherize(value) {\n return value.replace(/([A-Z])/g, function (_, _char2) {\n return \"-\" + _char2.toLowerCase();\n });\n}","import { dasherize } from \"./string_helpers\";\n\nvar DataMap =\n/** @class */\nfunction () {\n function DataMap(scope) {\n this.scope = scope;\n }\n\n Object.defineProperty(DataMap.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DataMap.prototype, \"identifier\", {\n get: function get() {\n return this.scope.identifier;\n },\n enumerable: false,\n configurable: true\n });\n\n DataMap.prototype.get = function (key) {\n var name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n };\n\n DataMap.prototype.set = function (key, value) {\n var name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n };\n\n DataMap.prototype.has = function (key) {\n var name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n };\n\n DataMap.prototype[\"delete\"] = function (key) {\n if (this.has(key)) {\n var name_1 = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name_1);\n return true;\n } else {\n return false;\n }\n };\n\n DataMap.prototype.getAttributeNameForKey = function (key) {\n return \"data-\" + this.identifier + \"-\" + dasherize(key);\n };\n\n return DataMap;\n}();\n\nexport { DataMap };","var Guide =\n/** @class */\nfunction () {\n function Guide(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n\n Guide.prototype.warn = function (object, key, message) {\n var warnedKeys = this.warnedKeysByObject.get(object);\n\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n };\n\n return Guide;\n}();\n\nexport { Guide };","/** @hidden */\nexport function attributeValueContainsToken(attributeName, token) {\n return \"[\" + attributeName + \"~=\\\"\" + token + \"\\\"]\";\n}","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nimport { attributeValueContainsToken } from \"./selectors\";\n\nvar TargetSet =\n/** @class */\nfunction () {\n function TargetSet(scope) {\n this.scope = scope;\n }\n\n Object.defineProperty(TargetSet.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"identifier\", {\n get: function get() {\n return this.scope.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"schema\", {\n get: function get() {\n return this.scope.schema;\n },\n enumerable: false,\n configurable: true\n });\n\n TargetSet.prototype.has = function (targetName) {\n return this.find(targetName) != null;\n };\n\n TargetSet.prototype.find = function () {\n var _this = this;\n\n var targetNames = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n\n return targetNames.reduce(function (target, targetName) {\n return target || _this.findTarget(targetName) || _this.findLegacyTarget(targetName);\n }, undefined);\n };\n\n TargetSet.prototype.findAll = function () {\n var _this = this;\n\n var targetNames = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n\n return targetNames.reduce(function (targets, targetName) {\n return __spreadArrays(targets, _this.findAllTargets(targetName), _this.findAllLegacyTargets(targetName));\n }, []);\n };\n\n TargetSet.prototype.findTarget = function (targetName) {\n var selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n };\n\n TargetSet.prototype.findAllTargets = function (targetName) {\n var selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n };\n\n TargetSet.prototype.getSelectorForTargetName = function (targetName) {\n var attributeName = \"data-\" + this.identifier + \"-target\";\n return attributeValueContainsToken(attributeName, targetName);\n };\n\n TargetSet.prototype.findLegacyTarget = function (targetName) {\n var selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n };\n\n TargetSet.prototype.findAllLegacyTargets = function (targetName) {\n var _this = this;\n\n var selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map(function (element) {\n return _this.deprecate(element, targetName);\n });\n };\n\n TargetSet.prototype.getLegacySelectorForTargetName = function (targetName) {\n var targetDescriptor = this.identifier + \".\" + targetName;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n };\n\n TargetSet.prototype.deprecate = function (element, targetName) {\n if (element) {\n var identifier = this.identifier;\n var attributeName = this.schema.targetAttribute;\n this.guide.warn(element, \"target:\" + targetName, \"Please replace \" + attributeName + \"=\\\"\" + identifier + \".\" + targetName + \"\\\" with data-\" + identifier + \"-target=\\\"\" + targetName + \"\\\". \" + (\"The \" + attributeName + \" attribute is deprecated and will be removed in a future version of Stimulus.\"));\n }\n\n return element;\n };\n\n Object.defineProperty(TargetSet.prototype, \"guide\", {\n get: function get() {\n return this.scope.guide;\n },\n enumerable: false,\n configurable: true\n });\n return TargetSet;\n}();\n\nexport { TargetSet };","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nimport { ClassMap } from \"./class_map\";\nimport { DataMap } from \"./data_map\";\nimport { Guide } from \"./guide\";\nimport { attributeValueContainsToken } from \"./selectors\";\nimport { TargetSet } from \"./target_set\";\n\nvar Scope =\n/** @class */\nfunction () {\n function Scope(schema, element, identifier, logger) {\n var _this = this;\n\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n\n this.containsElement = function (element) {\n return element.closest(_this.controllerSelector) === _this.element;\n };\n\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n }\n\n Scope.prototype.findElement = function (selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n };\n\n Scope.prototype.findAllElements = function (selector) {\n return __spreadArrays(this.element.matches(selector) ? [this.element] : [], this.queryElements(selector).filter(this.containsElement));\n };\n\n Scope.prototype.queryElements = function (selector) {\n return Array.from(this.element.querySelectorAll(selector));\n };\n\n Object.defineProperty(Scope.prototype, \"controllerSelector\", {\n get: function get() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n },\n enumerable: false,\n configurable: true\n });\n return Scope;\n}();\n\nexport { Scope };","import { ValueListObserver } from \"@stimulus/mutation-observers\";\n\nvar ScopeObserver =\n/** @class */\nfunction () {\n function ScopeObserver(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n\n ScopeObserver.prototype.start = function () {\n this.valueListObserver.start();\n };\n\n ScopeObserver.prototype.stop = function () {\n this.valueListObserver.stop();\n };\n\n Object.defineProperty(ScopeObserver.prototype, \"controllerAttribute\", {\n get: function get() {\n return this.schema.controllerAttribute;\n },\n enumerable: false,\n configurable: true\n }); // Value observer delegate\n\n /** @hidden */\n\n ScopeObserver.prototype.parseValueForToken = function (token) {\n var element = token.element,\n identifier = token.content;\n var scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n var scope = scopesByIdentifier.get(identifier);\n\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n\n return scope;\n };\n /** @hidden */\n\n\n ScopeObserver.prototype.elementMatchedValue = function (element, value) {\n var referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n };\n /** @hidden */\n\n\n ScopeObserver.prototype.elementUnmatchedValue = function (element, value) {\n var referenceCount = this.scopeReferenceCounts.get(value);\n\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n };\n\n ScopeObserver.prototype.fetchScopesByIdentifierForElement = function (element) {\n var scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n\n return scopesByIdentifier;\n };\n\n return ScopeObserver;\n}();\n\nexport { ScopeObserver };","import { Module } from \"./module\";\nimport { Multimap } from \"@stimulus/multimap\";\nimport { Scope } from \"./scope\";\nimport { ScopeObserver } from \"./scope_observer\";\n\nvar Router =\n/** @class */\nfunction () {\n function Router(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n\n Object.defineProperty(Router.prototype, \"element\", {\n get: function get() {\n return this.application.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"schema\", {\n get: function get() {\n return this.application.schema;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"logger\", {\n get: function get() {\n return this.application.logger;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"controllerAttribute\", {\n get: function get() {\n return this.schema.controllerAttribute;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"modules\", {\n get: function get() {\n return Array.from(this.modulesByIdentifier.values());\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"contexts\", {\n get: function get() {\n return this.modules.reduce(function (contexts, module) {\n return contexts.concat(module.contexts);\n }, []);\n },\n enumerable: false,\n configurable: true\n });\n\n Router.prototype.start = function () {\n this.scopeObserver.start();\n };\n\n Router.prototype.stop = function () {\n this.scopeObserver.stop();\n };\n\n Router.prototype.loadDefinition = function (definition) {\n this.unloadIdentifier(definition.identifier);\n var module = new Module(this.application, definition);\n this.connectModule(module);\n };\n\n Router.prototype.unloadIdentifier = function (identifier) {\n var module = this.modulesByIdentifier.get(identifier);\n\n if (module) {\n this.disconnectModule(module);\n }\n };\n\n Router.prototype.getContextForElementAndIdentifier = function (element, identifier) {\n var module = this.modulesByIdentifier.get(identifier);\n\n if (module) {\n return module.contexts.find(function (context) {\n return context.element == element;\n });\n }\n }; // Error handler delegate\n\n /** @hidden */\n\n\n Router.prototype.handleError = function (error, message, detail) {\n this.application.handleError(error, message, detail);\n }; // Scope observer delegate\n\n /** @hidden */\n\n\n Router.prototype.createScopeForElementAndIdentifier = function (element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n };\n /** @hidden */\n\n\n Router.prototype.scopeConnected = function (scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n var module = this.modulesByIdentifier.get(scope.identifier);\n\n if (module) {\n module.connectContextForScope(scope);\n }\n };\n /** @hidden */\n\n\n Router.prototype.scopeDisconnected = function (scope) {\n this.scopesByIdentifier[\"delete\"](scope.identifier, scope);\n var module = this.modulesByIdentifier.get(scope.identifier);\n\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }; // Modules\n\n\n Router.prototype.connectModule = function (module) {\n this.modulesByIdentifier.set(module.identifier, module);\n var scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(function (scope) {\n return module.connectContextForScope(scope);\n });\n };\n\n Router.prototype.disconnectModule = function (module) {\n this.modulesByIdentifier[\"delete\"](module.identifier);\n var scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(function (scope) {\n return module.disconnectContextForScope(scope);\n });\n };\n\n return Router;\n}();\n\nexport { Router };","export var defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\"\n};","var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nimport { Dispatcher } from \"./dispatcher\";\nimport { Router } from \"./router\";\nimport { defaultSchema } from \"./schema\";\n\nvar Application =\n/** @class */\nfunction () {\n function Application(element, schema) {\n if (element === void 0) {\n element = document.documentElement;\n }\n\n if (schema === void 0) {\n schema = defaultSchema;\n }\n\n this.logger = console;\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n }\n\n Application.start = function (element, schema) {\n var application = new Application(element, schema);\n application.start();\n return application;\n };\n\n Application.prototype.start = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4\n /*yield*/\n , domReady()];\n\n case 1:\n _a.sent();\n\n this.dispatcher.start();\n this.router.start();\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n Application.prototype.stop = function () {\n this.dispatcher.stop();\n this.router.stop();\n };\n\n Application.prototype.register = function (identifier, controllerConstructor) {\n this.load({\n identifier: identifier,\n controllerConstructor: controllerConstructor\n });\n };\n\n Application.prototype.load = function (head) {\n var _this = this;\n\n var rest = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n\n var definitions = Array.isArray(head) ? head : __spreadArrays([head], rest);\n definitions.forEach(function (definition) {\n return _this.router.loadDefinition(definition);\n });\n };\n\n Application.prototype.unload = function (head) {\n var _this = this;\n\n var rest = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n\n var identifiers = Array.isArray(head) ? head : __spreadArrays([head], rest);\n identifiers.forEach(function (identifier) {\n return _this.router.unloadIdentifier(identifier);\n });\n };\n\n Object.defineProperty(Application.prototype, \"controllers\", {\n // Controllers\n get: function get() {\n return this.router.contexts.map(function (context) {\n return context.controller;\n });\n },\n enumerable: false,\n configurable: true\n });\n\n Application.prototype.getControllerForElementAndIdentifier = function (element, identifier) {\n var context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }; // Error handling\n\n\n Application.prototype.handleError = function (error, message, detail) {\n this.logger.error(\"%s\\n\\n%o\\n\\n%o\", message, error, detail);\n };\n\n return Application;\n}();\n\nexport { Application };\n\nfunction domReady() {\n return new Promise(function (resolve) {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n } else {\n resolve();\n }\n });\n}","import { readInheritableStaticArrayValues } from \"./inheritable_statics\";\nimport { capitalize } from \"./string_helpers\";\n/** @hidden */\n\nexport function ClassPropertiesBlessing(constructor) {\n var classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce(function (properties, classDefinition) {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\n\nfunction propertiesForClassDefinition(key) {\n var _a;\n\n var name = key + \"Class\";\n return _a = {}, _a[name] = {\n get: function get() {\n var classes = this.classes;\n\n if (classes.has(key)) {\n return classes.get(key);\n } else {\n var attribute = classes.getAttributeName(key);\n throw new Error(\"Missing attribute \\\"\" + attribute + \"\\\"\");\n }\n }\n }, _a[\"has\" + capitalize(name)] = {\n get: function get() {\n return this.classes.has(key);\n }\n }, _a;\n}","import { readInheritableStaticArrayValues } from \"./inheritable_statics\";\nimport { capitalize } from \"./string_helpers\";\n/** @hidden */\n\nexport function TargetPropertiesBlessing(constructor) {\n var targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce(function (properties, targetDefinition) {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\n\nfunction propertiesForTargetDefinition(name) {\n var _a;\n\n return _a = {}, _a[name + \"Target\"] = {\n get: function get() {\n var target = this.targets.find(name);\n\n if (target) {\n return target;\n } else {\n throw new Error(\"Missing target element \\\"\" + this.identifier + \".\" + name + \"\\\"\");\n }\n }\n }, _a[name + \"Targets\"] = {\n get: function get() {\n return this.targets.findAll(name);\n }\n }, _a[\"has\" + capitalize(name) + \"Target\"] = {\n get: function get() {\n return this.targets.has(name);\n }\n }, _a;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { readInheritableStaticObjectPairs } from \"./inheritable_statics\";\nimport { camelize, capitalize, dasherize } from \"./string_helpers\";\n/** @hidden */\n\nexport function ValuePropertiesBlessing(constructor) {\n var valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n var propertyDescriptorMap = {\n valueDescriptorMap: {\n get: function get() {\n var _this = this;\n\n return valueDefinitionPairs.reduce(function (result, valueDefinitionPair) {\n var _a;\n\n var valueDescriptor = parseValueDefinitionPair(valueDefinitionPair);\n\n var attributeName = _this.data.getAttributeNameForKey(valueDescriptor.key);\n\n return Object.assign(result, (_a = {}, _a[attributeName] = valueDescriptor, _a));\n }, {});\n }\n }\n };\n return valueDefinitionPairs.reduce(function (properties, valueDefinitionPair) {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\n/** @hidden */\n\nexport function propertiesForValueDefinitionPair(valueDefinitionPair) {\n var _a;\n\n var definition = parseValueDefinitionPair(valueDefinitionPair);\n var type = definition.type,\n key = definition.key,\n name = definition.name;\n var read = readers[type],\n write = writers[type] || writers[\"default\"];\n return _a = {}, _a[name] = {\n get: function get() {\n var value = this.data.get(key);\n\n if (value !== null) {\n return read(value);\n } else {\n return definition.defaultValue;\n }\n },\n set: function set(value) {\n if (value === undefined) {\n this.data[\"delete\"](key);\n } else {\n this.data.set(key, write(value));\n }\n }\n }, _a[\"has\" + capitalize(name)] = {\n get: function get() {\n return this.data.has(key);\n }\n }, _a;\n}\n\nfunction parseValueDefinitionPair(_a) {\n var token = _a[0],\n typeConstant = _a[1];\n var type = parseValueTypeConstant(typeConstant);\n return valueDescriptorForTokenAndType(token, type);\n}\n\nfunction parseValueTypeConstant(typeConstant) {\n switch (typeConstant) {\n case Array:\n return \"array\";\n\n case Boolean:\n return \"boolean\";\n\n case Number:\n return \"number\";\n\n case Object:\n return \"object\";\n\n case String:\n return \"string\";\n }\n\n throw new Error(\"Unknown value type constant \\\"\" + typeConstant + \"\\\"\");\n}\n\nfunction valueDescriptorForTokenAndType(token, type) {\n var key = dasherize(token) + \"-value\";\n return {\n type: type,\n key: key,\n name: camelize(key),\n\n get defaultValue() {\n return defaultValuesByType[type];\n }\n\n };\n}\n\nvar defaultValuesByType = {\n get array() {\n return [];\n },\n\n \"boolean\": false,\n number: 0,\n\n get object() {\n return {};\n },\n\n string: \"\"\n};\nvar readers = {\n array: function array(value) {\n var array = JSON.parse(value);\n\n if (!Array.isArray(array)) {\n throw new TypeError(\"Expected array\");\n }\n\n return array;\n },\n \"boolean\": function boolean(value) {\n return !(value == \"0\" || value == \"false\");\n },\n number: function number(value) {\n return parseFloat(value);\n },\n object: function object(value) {\n var object = JSON.parse(value);\n\n if (object === null || _typeof(object) != \"object\" || Array.isArray(object)) {\n throw new TypeError(\"Expected object\");\n }\n\n return object;\n },\n string: function string(value) {\n return value;\n }\n};\nvar writers = {\n \"default\": writeString,\n array: writeJSON,\n object: writeJSON\n};\n\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\n\nfunction writeString(value) {\n return \"\" + value;\n}","import { ClassPropertiesBlessing } from \"./class_properties\";\nimport { TargetPropertiesBlessing } from \"./target_properties\";\nimport { ValuePropertiesBlessing } from \"./value_properties\";\n\nvar Controller =\n/** @class */\nfunction () {\n function Controller(context) {\n this.context = context;\n }\n\n Object.defineProperty(Controller.prototype, \"application\", {\n get: function get() {\n return this.context.application;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"scope\", {\n get: function get() {\n return this.context.scope;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"identifier\", {\n get: function get() {\n return this.scope.identifier;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"targets\", {\n get: function get() {\n return this.scope.targets;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"classes\", {\n get: function get() {\n return this.scope.classes;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"data\", {\n get: function get() {\n return this.scope.data;\n },\n enumerable: false,\n configurable: true\n });\n\n Controller.prototype.initialize = function () {// Override in your subclass to set up initial controller state\n };\n\n Controller.prototype.connect = function () {// Override in your subclass to respond when the controller is connected to the DOM\n };\n\n Controller.prototype.disconnect = function () {// Override in your subclass to respond when the controller is disconnected from the DOM\n };\n\n Controller.blessings = [ClassPropertiesBlessing, TargetPropertiesBlessing, ValuePropertiesBlessing];\n Controller.targets = [];\n Controller.values = {};\n return Controller;\n}();\n\nexport { Controller };","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var map = {\n\t\"./badge_scroller_controller.js\": 97,\n\t\"./search_box_controller.js\": 98,\n\t\"./subscribe_controller.js\": 99,\n\t\"./top_gallery_controller.js\": 100\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 96;","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = ['badges', 'icon'];\n\n connect() {\n this.badgesTarget.classList.add('overflow-hidden');\n\n setTimeout(() => {\n const denom = Math.ceil(this.badgesTarget.scrollWidth / this.badgesTarget.offsetWidth);\n\n if (denom === 1) {\n this.iconTargets.forEach(icon => icon.classList.add('hidden'));\n }\n\n this.scrollAmount = this.badgesTarget.scrollWidth / denom;\n }, 1);\n }\n\n scrollLeft() {\n this.badgesTarget.scrollLeft -= this.scrollAmount;\n }\n\n scrollRight() {\n this.badgesTarget.scrollLeft += this.scrollAmount;\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = ['icon', 'form'];\n\n connect() {\n if (window.innerWidth < 420)\n return;\n\n this.closed = true\n\n this.iconTarget.classList.remove('hidden');\n this.iconTarget.setAttribute('aria-pressed', 'false');\n this.formTarget.style.width = 0;\n }\n\n toggle() {\n if (this.closed) {\n this.iconTarget.setAttribute('aria-pressed', 'true');\n this.formTarget.style.width = '280px';\n } else {\n this.iconTarget.setAttribute('aria-pressed', 'false');\n this.formTarget.style.width = 0;\n }\n\n this.closed = !this.closed;\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = ['input', 'form', 'submitted'];\n static values = { path: String };\n\n async send(ev) {\n const email = this.inputTarget.value;\n\n ev.preventDefault()\n\n if (email === '' || !/^[^@\\s]+@[^@\\s]+$/.test(email)) {\n this.inputTarget.value = '';\n this.inputTarget.placeholder = 'Enter a valid email';\n this.inputTarget.setAttribute(\"aria-invalid\", \"true\");\n\n return;\n }\n\n const response = await fetch(this.pathValue, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ email })\n });\n\n this.submittedTarget.classList.remove('opacity-0');\n this.formTarget.classList.add('hidden');\n this.inputTarget.setAttribute(\"aria-invalid\", \"false\");\n }\n}\n"],"sourceRoot":""}