{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/packs/controllers/application_controller.js","webpack:///./node_modules/@stimulus/core/dist/src/event_listener.js","webpack:///./node_modules/@stimulus/core/dist/src/dispatcher.js","webpack:///./node_modules/@stimulus/core/dist/src/action_descriptor.js","webpack:///./node_modules/@stimulus/core/dist/src/action.js","webpack:///./node_modules/@stimulus/core/dist/src/binding.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/element_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/attribute_observer.js","webpack:///./node_modules/@stimulus/multimap/dist/src/set_operations.js","webpack:///./node_modules/@stimulus/multimap/dist/src/multimap.js","webpack:///./node_modules/@stimulus/multimap/dist/src/indexed_multimap.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/token_list_observer.js","webpack:///./node_modules/@stimulus/mutation-observers/dist/src/value_list_observer.js","webpack:///./node_modules/@stimulus/core/dist/src/binding_observer.js","webpack:///./node_modules/@stimulus/core/dist/src/context.js","webpack:///./node_modules/@stimulus/core/dist/src/definition.js","webpack:///./node_modules/@stimulus/core/dist/src/module.js","webpack:///./node_modules/@stimulus/core/dist/src/data_map.js","webpack:///./node_modules/@stimulus/core/dist/src/selectors.js","webpack:///./node_modules/@stimulus/core/dist/src/target_set.js","webpack:///./node_modules/@stimulus/core/dist/src/scope.js","webpack:///./node_modules/@stimulus/core/dist/src/scope_observer.js","webpack:///./node_modules/@stimulus/core/dist/src/router.js","webpack:///./node_modules/@stimulus/core/dist/src/schema.js","webpack:///./node_modules/@stimulus/core/dist/src/application.js","webpack:///./node_modules/@stimulus/core/dist/src/target_properties.js","webpack:///./node_modules/@stimulus/core/dist/src/controller.js","webpack:///./app/javascript/packs/controllers/assign_answers_controller.js","webpack:///./app/javascript/packs/controllers/bad_actor_checks_checkout_controller.js","webpack:///./app/javascript/packs/controllers/checkout_controller.js","webpack:///./app/javascript/packs/controllers/eligibility_controller.js","webpack:///./app/javascript/packs/controllers/onboarding_controller.js","webpack:///./app/javascript/packs/controllers/package_questions_controller.js","webpack:///./app/javascript/packs/controllers/question_controller.js","webpack:///./app/javascript/packs/controllers/subscribe_or_buy_controller.js","webpack:///./app/javascript/packs/controllers/upload_controller.js","webpack:///./app/javascript/packs/controllers sync \\.js$","webpack:///./node_modules/alpinejs/dist/alpine.js","webpack:///./app/javascript/packs/application.js","webpack:///./node_modules/@stimulus/webpack-helpers/dist/index.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","target","$","this","removeClass","prop","addClass","setAttribute","Controller","EventListener","eventTarget","eventName","unorderedBindings","Set","connect","addEventListener","disconnect","removeEventListener","bindingConnected","binding","add","bindingDisconnected","delete","handleEvent","event","extendedEvent","stopImmediatePropagation_1","stopImmediatePropagation","assign","immediatePropagationStopped","extendEvent","_i","_a","bindings","length","Array","from","sort","left","right","leftIndex","index","rightIndex","configurable","Dispatcher","application","eventListenerMaps","Map","started","start","eventListeners","forEach","eventListener","stop","values","reduce","listeners","map","concat","fetchEventListenerForBinding","handleError","error","message","detail","fetchEventListener","eventListenerMap","fetchEventListenerMapForEventTarget","createEventListener","set","descriptorPattern","parseEventTarget","eventTargetName","window","document","Action","element","descriptor","tagName","toLowerCase","defaultEventNames","getDefaultEventNameForElement","identifier","methodName","forToken","token","descriptorString","content","matches","trim","match","toString","eventNameSuffix","e","getAttribute","Error","Binding","context","action","willBeInvokedByEvent","invokeWithEvent","method","controller","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","fetch","del","size","prune","extendStatics","Multimap","valuesByKey","hasKey","hasValue","some","getValuesForKey","getKeysForValue","filter","__extends","setPrototypeOf","__proto__","b","__","constructor","_super","IndexedMultimap","keysByValue","keys","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","refreshTokensForElement","unmatchedTokens","matchedTokens","tokensUnmatched","tokens","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","Math","max","_","findIndex","tokensAreEqual","slice","tokenString","split","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","WeakMap","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","schema","connectAction","disconnectAction","clear","Context","controllerConstructor","bindingObserver","dispatcher","initialize","parentElement","blessControllerConstructor","extend","bless","extendWithReflect","_newTarget","Reflect","construct","arguments","a","apply","Module","definition","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","DataMap","getFormattedKey","removeAttribute","replace","char","attributeValueContainsToken","TargetSet","targetName","find","targetNames","getSelectorForTargetNames","findElement","findAll","findAllElements","getSelectorForTargetName","join","targetDescriptor","targetAttribute","Scope","targets","data","head","tail","filterElements","closest","controllerSelector","controllerAttribute","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","scopesByIdentifier","fetchScopesByIdentifierForElement","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","contexts","loadDefinition","unloadIdentifier","connectModule","disconnectModule","getContextForElementAndIdentifier","defaultSchema","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","Application","documentElement","router","readyState","register","load","rest","definitions","isArray","unload","identifiers","getControllerForElementAndIdentifier","console","defineTargetProperties","ancestors","getPrototypeOf","getAncestorsForConstructor","getOwnTargetNamesForConstructor","getTargetNamesForConstructor","properties","charAt","toUpperCase","capitalize","ev","user_id","answer_id","post","_method","answer","assignee_id","topic_id","preventDefault","html","attr","val","modal","onApprove","initUI","ApplicationController","stripe","Stripe","card","mount","cardInputTarget","cardInputChanged","connectRemoveEmailAddressButtons","addIndividualCheckBtnTarget","on","addEmailAddressClicked","addCompanyCheckBtnTarget","addCompanyCheckClicked","setPrices","remove","removeEmailAddressClicked","removeCompanyClicked","individualChecksTarget","append","companyChecksTarget","connectRemoveCompanyButtons","zip","postalCode","zipHiddenTarget","individualChecksTotalPriceTarget","individualChecksTotalWithTax","toFixed","companyChecksTotalPriceTarget","companyChecksTotalWithTax","totalWithTax","Number","totalPriceTarget","individualChecksTotal","companyChecksTotal","taxAmount","tax","taxAmountTarget","taxTarget","toggle","md","prefix","total","children","firstCompanyTarget","every","input","amount","isTaxableZip","ajax","url","formTarget","serialize","success","formValidated","errors","errorMessages","classList","createToken","errorListTarget","empty","text","appendTo","errorsTarget","show","stripeTokenHiddenInputTarget","id","submitTarget","click","updateForTax","addTax","totalTarget","innerText","hide","$this","setTimeout","getElementById","dataset","submitForm","textContent","questions","JSON","parse","showQuestion","q","querySelector","questionElement","pass","showFailMessage","showPassed","skip","skip_next","el","scrollIntoViewIfNeeded","disabled","showPage","page","enableNextButton","isPageDone","results","nodeName","checked","selectedVal","price","attorneyUpgradeTier","variant","attorneyUpgradePriceTarget","attorneyUpgradePrice","availablePages","pageTargets","pageIsActive","pageName","nonUSInvestors","questionsComplete","showPreview","toArray","hideName","hideVal","showHide","disableButton","dataType","resultsPanelTarget","innerHTML","enableButton","saveSameAs","sameAs","params","answer_fields","same_as","$question","popup","status","fail","xhr","position","variation","href","packageSelectorTargets","query","location","pathname","Turbolinks","visit","self","dragElement","authenticityToken","dropzone","clickable","previewTemplate","init","parent","slideUp","slideDown","destination","dragId","documentIdTarget","file","progressEvent","previewElement","icon","folder","folderIdTarget","is","trigger","webpackContext","req","webpackContextResolve","code","_slicedToArray","arr","_arrayWithHoles","_s","_e","_arr","_n","_d","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","_defineProperty","obj","writable","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","source","getOwnPropertyDescriptors","defineProperties","domReady","arrayUnique","array","isTesting","navigator","userAgent","includes","checkedAttrLooseCompare","valueA","valueB","warnIfMalformedTemplate","directive","warn","childElementCount","kebabCase","subject","camelCase","walk","callback","firstElementChild","nextElementSibling","debounce","func","wait","timeout","args","later","clearTimeout","expression","tryCatch","cb","_ref","catch","saferEval","dataContext","additionalHelperVariables","undefined","Function","saferEvalNoReturn","AsyncFunction","async","methodReference","xAttrRE","isXAttr","replaceAtAndColonWithStandardSyntax","getXAttrs","component","directives","parseHtmlAttribute","spreadDirective","spreadObject","$data","entries","_ref2","_ref3","sortDirectives","directiveOrder","typeA","indexOf","typeB","_ref4","normalizedName","typeMatch","valueMatch","modifiers","isBooleanAttr","attrName","startsWith","convertClassStringToArray","filterFn","Boolean","TRANSITION_TYPE_IN","TRANSITION_TYPE_OUT","TRANSITION_CANCELLED","transitionIn","__x_transition","attrs","showAttr","settingBothSidesOfTransition","transitionHelperIn","transitionClassesIn","transitionOut","transitionHelperOut","transitionClassesOut","showCallback","transitionHelper","duration","modifierValue","origin","first","opacity","scale","second","hideCallback","fallback","rawValue","isNumeric","hook1","hook2","styleValues","cancel","opacityCache","style","transformCache","transform","transformOriginCache","transformOrigin","noModifiers","transitionOpacity","transitionScale","stages","transitionProperty","transitionDuration","transitionTimingFunction","transition","ensureStringExpression","evaluateReturnExpression","transitionClasses","classesDuring","classesStart","classesEnd","originalClasses","__x_original_classes","finish","once","cleanup","nextFrame","during","requestAnimationFrame","getComputedStyle","animationDuration","end","isNaN","called","handleForDirective","templateEl","initialUpdate","extraVars","iteratorNames","parseForExpression","items","evaluateItemsAndReturnEmptyIfXIfIsPresentAndFalseOnElement","currentEl","item","iterationScopeVariables","getIterationScopeVariables","currentKey","generateKeyForIteration","nextEl","lookAheadForMatchingKeyedElementAndMoveItIfFound","__x_for_key","__x_for","updateElements","addElementInLoopAfterCurrentEl","initializeElements","removeAnyLeftOverElementsFromPreviousUpdate","forIteratorRE","stripParensRE","forAliasRE","inMatch","String","res","iteratorMatch","collection","scopeVariables","bindKeyAttribute","ifAttribute","clone","importNode","insertBefore","tmpNextEl","nextElementFromOldLoop","nextElementFromOldLoopImmutable","nextSibling","handleAttributeBindingDirective","attrType","Alpine","ignoreFocusedForValueBinding","activeElement","isSameNode","updateSelect","classNames","className","newClasses","setIfChanged","arrayWrappedValue","options","option","selected","handleTextDirective","output","handleHtmlDirective","handleShowDirective","display","__x_is_shown","removeProperty","handle","showDirectiveLastElement","executeAndClearRemainingShowDirectiveStack","showDirectiveStack","handleIfDirective","expressionResult","elementHasAlreadyBeenAdded","__x_inserted_me","registerListener","passive","handler","listenerTarget","offsetWidth","offsetHeight","runListenerHandler","isKeyEvent","isListeningForASpecificKeyThatHasntBeenPressed","stopPropagation","nextModifier","evaluateCommandExpression","keyModifiers","debounceIndex","splice","keyToModifier","selectedSystemKeyModifiers","modifier","registerModelListener","listenerExpression","rightSideOfExpression","generateModelAssignmentFunction","currentValue","CustomEvent","newValue","safeParseNumber","multiple","selectedOptions","number","parseFloat","ObjectDefineProperty","isExtensible","getOwnPropertyNames","preventExtensions","_Array$prototype","ArrayConcat","isUndefined","isFunction","isObject","proxyToValueMap","registerProxy","proxy","unwrap","replicaOrAny","wrapValue","membrane","valueIsObservable","getProxy","unwrapDescriptor","lockShadowTarget","shadowTarget","originalTarget","wrapDescriptor","ReactiveProxyHandler","valueObserved","valueMutated","argArray","newTarget","shadowIsExtensible","targetIsExtensible","desc","shadowDescriptor","originalDescriptor","wrapReadOnlyValue","getReadOnlyProxy","ReadOnlyHandler","createShadowTarget","ObjectDotPrototype","defaultValueIsObservable","proto","defaultValueObserved","defaultValueMutated","defaultValueDistortion","getValue","unwrapProxy","ReactiveMembrane","valueDistortion","objectGraph","unwrappedValue","distorted","getReactiveState","readOnly","reactive","distortedValue","reactiveState","reactiveHandler","Proxy","readOnlyHandler","wrap","mutationCallback","unwrap$1","observable","unwrappedData","copy","Component","componentForClone","$el","dataAttr","dataExpression","initExpression","dataExtras","canonicalComponentElementReference","magicProperties","_ref5","_ref6","unobservedData","getUnobservedData","_this$wrapDataInObser","wrapDataInObservable","initReturnedCallback","$refs","getRefsProxy","nextTickStack","$nextTick","watchers","$watch","_ref7","_ref8","onBeforeComponentInitializeds","pauseReactivity","listenForNewElementsToInitialize","onComponentInitializeds","updateDom","fullDotNotationKey","dotNotationParts","comparisonData","part","initializeComponentCallback","__x","rootEl","shouldRegisterListeners","walkAndSkipNestedComponents","initializeElement","executeAndClearNextTickStack","registerListeners","resolveBoundAttributes","updateElement","shift","reverse","promiseChain","promise","finishElement","_ref9","_ref10","$dispatch","getDispatchFunction","dispatchEvent","bubbles","targetNode","observerOptions","closestParentComponent","xAttr","rawData","ref","version","pauseMutationObserver","discoverComponents","initializeComponent","discoverUninitializedComponents","listenForNewUninitializedComponentsAtRunTime","rootEls","newEl","addMagicProperty","onComponentInitialized","onBeforeComponentInitialized","deferLoadingAlpine","factory","require","logicalName","identifierForContextKey","default","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","definitionsFromContext"],"mappings":"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","file":"js/application-f7c0e55f18ccbb804384.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 = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 13);\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n\n enableButton(target) {\n $(this[target + \"Target\"]).removeClass('loading').prop('disabled', false)\n }\n\n disableButton(target) {\n $(this[target + \"Target\"]).addClass('loading').prop('disabled', true)\n }\n\n show(target) {\n this[target + \"Target\"].setAttribute(\"style\", \"\")\n }\n\n hide(target) {\n this[target + \"Target\"].setAttribute(\"style\", \"display:none\")\n }\n}\n","var EventListener =\n/** @class */\nfunction () {\n function EventListener(eventTarget, eventName) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.unorderedBindings = new Set();\n }\n\n EventListener.prototype.connect = function () {\n this.eventTarget.addEventListener(this.eventName, this, false);\n };\n\n EventListener.prototype.disconnect = function () {\n this.eventTarget.removeEventListener(this.eventName, this, false);\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 () {\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: true,\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 () {\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 () {\n return Array.from(this.eventListenerMaps.values()).reduce(function (listeners, map) {\n return listeners.concat(Array.from(map.values()));\n }, []);\n },\n enumerable: true,\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 return this.fetchEventListener(eventTarget, eventName);\n };\n\n Dispatcher.prototype.fetchEventListener = function (eventTarget, eventName) {\n var eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n var eventListener = eventListenerMap.get(eventName);\n\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName);\n eventListenerMap.set(eventName, eventListener);\n }\n\n return eventListener;\n };\n\n Dispatcher.prototype.createEventListener = function (eventTarget, eventName) {\n var eventListener = new EventListener(eventTarget, eventName);\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 return Dispatcher;\n}();\n\nexport { Dispatcher };","// capture nos.: 12 23 4 43 1 5 56 7 76\nvar descriptorPattern = /^((.+?)(@(window|document))?->)?(.+?)(#(.+))?$/;\nexport function parseDescriptorString(descriptorString) {\n var source = descriptorString.trim();\n var matches = source.match(descriptorPattern) || [];\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName: matches[2],\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\nexport function stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n } else if (eventTarget == document) {\n return \"document\";\n }\n}","import { parseDescriptorString, 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.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, parseDescriptorString(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 () {\n return stringifyEventTarget(this.eventTarget);\n },\n enumerable: true,\n configurable: true\n });\n return Action;\n}();\n\nexport { Action };\nvar defaultEventNames = {\n \"a\": function (e) {\n return \"click\";\n },\n \"button\": function (e) {\n return \"click\";\n },\n \"form\": function (e) {\n return \"submit\";\n },\n \"input\": function (e) {\n return e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"change\";\n },\n \"select\": function (e) {\n return \"change\";\n },\n \"textarea\": function (e) {\n return \"change\";\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 () {\n return this.action.index;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventTarget\", {\n get: function () {\n return this.action.eventTarget;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"identifier\", {\n get: function () {\n return this.context.identifier;\n },\n enumerable: true,\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 () {\n return this.action.eventName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"method\", {\n get: function () {\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: true,\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 true;\n }\n };\n\n Object.defineProperty(Binding.prototype, \"controller\", {\n get: function () {\n return this.context.controller;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"methodName\", {\n get: function () {\n return this.action.methodName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"scope\", {\n get: function () {\n return this.context.scope;\n },\n enumerable: true,\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 () {\n return this.elementObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AttributeObserver.prototype, \"selector\", {\n get: function () {\n return \"[\" + this.attributeName + \"]\";\n },\n enumerable: true,\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 () {\n return this.elementObserver.started;\n },\n enumerable: true,\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 };","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 () {\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: true,\n configurable: true\n });\n Object.defineProperty(Multimap.prototype, \"size\", {\n get: function () {\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: true,\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 = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\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 () {\n return Array.from(this.keysByValue.keys());\n },\n enumerable: true,\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 () {\n return this.attributeObserver.started;\n },\n enumerable: true,\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 () {\n return this.attributeObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TokenListObserver.prototype, \"attributeName\", {\n get: function () {\n return this.attributeObserver.attributeName;\n },\n enumerable: true,\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 () {\n return this.tokenListObserver.started;\n },\n enumerable: true,\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 () {\n return this.tokenListObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ValueListObserver.prototype, \"attributeName\", {\n get: function () {\n return this.tokenListObserver.attributeName;\n },\n enumerable: true,\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 () {\n return this.context.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"identifier\", {\n get: function () {\n return this.context.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"actionAttribute\", {\n get: function () {\n return this.schema.actionAttribute;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"schema\", {\n get: function () {\n return this.context.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"bindings\", {\n get: function () {\n return Array.from(this.bindingsByAction.values());\n },\n enumerable: true,\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 { BindingObserver } from \"./binding_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\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\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.bindingObserver.stop();\n };\n\n Object.defineProperty(Context.prototype, \"application\", {\n get: function () {\n return this.module.application;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"identifier\", {\n get: function () {\n return this.module.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"schema\", {\n get: function () {\n return this.application.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"dispatcher\", {\n get: function () {\n return this.application.dispatcher;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"parentElement\", {\n get: function () {\n return this.element.parentElement;\n },\n enumerable: true,\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 };","var __extends = this && this.__extends || function () {\n var 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) if (b.hasOwnProperty(p)) d[p] = b[p];\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/** @hidden */\n\n\nexport function blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: blessControllerConstructor(definition.controllerConstructor)\n };\n}\n\nfunction blessControllerConstructor(controllerConstructor) {\n var constructor = extend(controllerConstructor);\n constructor.bless();\n return constructor;\n}\n\nvar extend = function () {\n function extendWithReflect(constructor) {\n function Controller() {\n var _newTarget = this && this instanceof Controller ? this.constructor : void 0;\n\n return Reflect.construct(constructor, arguments, _newTarget);\n }\n\n Controller.prototype = Object.create(constructor.prototype, {\n constructor: {\n value: Controller\n }\n });\n Reflect.setPrototypeOf(Controller, constructor);\n return Controller;\n }\n\n function testReflectExtension() {\n var a = function () {\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(Controller, _super);\n\n function Controller() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n return Controller;\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 () {\n return this.definition.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"controllerConstructor\", {\n get: function () {\n return this.definition.controllerConstructor;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"contexts\", {\n get: function () {\n return Array.from(this.connectedContexts);\n },\n enumerable: true,\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 };","var DataMap =\n/** @class */\nfunction () {\n function DataMap(scope) {\n this.scope = scope;\n }\n\n Object.defineProperty(DataMap.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DataMap.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n\n DataMap.prototype.get = function (key) {\n key = this.getFormattedKey(key);\n return this.element.getAttribute(key);\n };\n\n DataMap.prototype.set = function (key, value) {\n key = this.getFormattedKey(key);\n this.element.setAttribute(key, value);\n return this.get(key);\n };\n\n DataMap.prototype.has = function (key) {\n key = this.getFormattedKey(key);\n return this.element.hasAttribute(key);\n };\n\n DataMap.prototype.delete = function (key) {\n if (this.has(key)) {\n key = this.getFormattedKey(key);\n this.element.removeAttribute(key);\n return true;\n } else {\n return false;\n }\n };\n\n DataMap.prototype.getFormattedKey = function (key) {\n return \"data-\" + this.identifier + \"-\" + dasherize(key);\n };\n\n return DataMap;\n}();\n\nexport { DataMap };\n\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, function (_, char) {\n return \"-\" + char.toLowerCase();\n });\n}","/** @hidden */\nexport function attributeValueContainsToken(attributeName, token) {\n return \"[\" + attributeName + \"~=\\\"\" + token + \"\\\"]\";\n}","import { 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 () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"schema\", {\n get: function () {\n return this.scope.schema;\n },\n enumerable: true,\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 targetNames = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n\n var selector = this.getSelectorForTargetNames(targetNames);\n return this.scope.findElement(selector);\n };\n\n TargetSet.prototype.findAll = function () {\n var targetNames = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n targetNames[_i] = arguments[_i];\n }\n\n var selector = this.getSelectorForTargetNames(targetNames);\n return this.scope.findAllElements(selector);\n };\n\n TargetSet.prototype.getSelectorForTargetNames = function (targetNames) {\n var _this = this;\n\n return targetNames.map(function (targetName) {\n return _this.getSelectorForTargetName(targetName);\n }).join(\", \");\n };\n\n TargetSet.prototype.getSelectorForTargetName = function (targetName) {\n var targetDescriptor = this.identifier + \".\" + targetName;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n };\n\n return TargetSet;\n}();\n\nexport { TargetSet };","import { DataMap } from \"./data_map\";\nimport { TargetSet } from \"./target_set\";\nimport { attributeValueContainsToken } from \"./selectors\";\n\nvar Scope =\n/** @class */\nfunction () {\n function Scope(schema, identifier, element) {\n this.schema = schema;\n this.identifier = identifier;\n this.element = element;\n this.targets = new TargetSet(this);\n this.data = new DataMap(this);\n }\n\n Scope.prototype.findElement = function (selector) {\n return this.findAllElements(selector)[0];\n };\n\n Scope.prototype.findAllElements = function (selector) {\n var head = this.element.matches(selector) ? [this.element] : [];\n var tail = this.filterElements(Array.from(this.element.querySelectorAll(selector)));\n return head.concat(tail);\n };\n\n Scope.prototype.filterElements = function (elements) {\n var _this = this;\n\n return elements.filter(function (element) {\n return _this.containsElement(element);\n });\n };\n\n Scope.prototype.containsElement = function (element) {\n return element.closest(this.controllerSelector) === this.element;\n };\n\n Object.defineProperty(Scope.prototype, \"controllerSelector\", {\n get: function () {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n },\n enumerable: true,\n configurable: true\n });\n return Scope;\n}();\n\nexport { Scope };","import { Scope } from \"./scope\";\nimport { 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 () {\n return this.schema.controllerAttribute;\n },\n enumerable: true,\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 = new Scope(this.schema, identifier, element);\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 { 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 () {\n return this.application.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"schema\", {\n get: function () {\n return this.application.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"controllerAttribute\", {\n get: function () {\n return this.schema.controllerAttribute;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"modules\", {\n get: function () {\n return Array.from(this.modulesByIdentifier.values());\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"contexts\", {\n get: function () {\n return this.modules.reduce(function (contexts, module) {\n return contexts.concat(module.contexts);\n }, []);\n },\n enumerable: true,\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.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 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) : new P(function (resolve) {\n resolve(result.value);\n }).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 () {\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 (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, 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 if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\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.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.router.start();\n this.dispatcher.start();\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n Application.prototype.stop = function () {\n this.router.stop();\n this.dispatcher.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 : [head].concat(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 : [head].concat(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 () {\n return this.router.contexts.map(function (context) {\n return context.controller;\n });\n },\n enumerable: true,\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 console.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}","/** @hidden */\nexport function defineTargetProperties(constructor) {\n var prototype = constructor.prototype;\n var targetNames = getTargetNamesForConstructor(constructor);\n targetNames.forEach(function (name) {\n var _a;\n\n return defineLinkedProperties(prototype, (_a = {}, _a[name + \"Target\"] = {\n get: function () {\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 () {\n return this.targets.findAll(name);\n }\n }, _a[\"has\" + capitalize(name) + \"Target\"] = {\n get: function () {\n return this.targets.has(name);\n }\n }, _a));\n });\n}\n\nfunction getTargetNamesForConstructor(constructor) {\n var ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce(function (targetNames, constructor) {\n getOwnTargetNamesForConstructor(constructor).forEach(function (name) {\n return targetNames.add(name);\n });\n return targetNames;\n }, new Set()));\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;\n}\n\nfunction getOwnTargetNamesForConstructor(constructor) {\n var definition = constructor[\"targets\"];\n return Array.isArray(definition) ? definition : [];\n}\n\nfunction defineLinkedProperties(object, properties) {\n Object.keys(properties).forEach(function (name) {\n if (!(name in object)) {\n var descriptor = properties[name];\n Object.defineProperty(object, name, descriptor);\n }\n });\n}\n\nfunction capitalize(name) {\n return name.charAt(0).toUpperCase() + name.slice(1);\n}","import { defineTargetProperties } from \"./target_properties\";\n\nvar Controller =\n/** @class */\nfunction () {\n function Controller(context) {\n this.context = context;\n }\n\n Controller.bless = function () {\n defineTargetProperties(this);\n };\n\n Object.defineProperty(Controller.prototype, \"application\", {\n get: function () {\n return this.context.application;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"scope\", {\n get: function () {\n return this.context.scope;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"element\", {\n get: function () {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"identifier\", {\n get: function () {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"targets\", {\n get: function () {\n return this.scope.targets;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"data\", {\n get: function () {\n return this.scope.data;\n },\n enumerable: true,\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.targets = [];\n return Controller;\n}();\n\nexport { Controller };","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n\n assign(ev) {\n let user_id = ev.target.getAttribute('data-user-id')\n let answer_id = this.data.get('answer-id')\n if (answer_id) {\n // Assign a single answer\n $.post(\"/l/answers/\" + answer_id, {_method: \"put\", answer: {assignee_id: user_id}})\n } else {\n // Assign an entire topic\n $.post(\"/l/documents/\" + this.data.get('document-id') + \"/assign_topic\", {assignee_id: user_id, topic_id: this.data.get('topic-id')})\n }\n ev.preventDefault()\n }\n\n newUser() {\n $('#invite-and-flag-form').html($('#invite-and-flag-form-blank').html())\n $('#invite-and-flag-form form').attr('id', 'new_user')\n $('#invite-and-flag-form #new_user_assign_answer_id').val(this.data.get('answer-id'))\n $('#invite-and-flag-modal').modal({onApprove: () => false}).modal('show')\n initUI($('#invite-and-flag-form'))\n }\n\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n static targets = [\n \"form\",\n \"errors\",\n \"errorList\",\n \"cardInput\",\n \"addIndividualCheckBtn\",\n \"individualChecks\",\n \"individualChecksTotalPrice\",\n \"addCompanyCheckBtn\",\n \"companyChecks\",\n \"companyChecksTotalPrice\",\n \"totalPrice\",\n \"tax\",\n \"taxAmount\",\n \"stripeTokenHiddenInput\",\n \"zipHidden\",\n \"submit\"\n ]\n\n connect() {\n this.stripe = Stripe(this.data.get(\"stripe-key\"))\n this.card = this.stripe.elements().create('card')\n this.card.mount(this.cardInputTarget)\n\n this.card.addEventListener('change', this.cardInputChanged.bind(this))\n\n this.connectRemoveEmailAddressButtons()\n\n $(this.addIndividualCheckBtnTarget).on(\"click\", this.addEmailAddressClicked.bind(this));\n $(this.addCompanyCheckBtnTarget).on(\"click\", this.addCompanyCheckClicked.bind(this));\n\n this.setPrices(null)\n }\n\n companyFieldUpdated() {\n this.setPrices()\n }\n\n removeEmailAddressClicked(event) {\n event.target.closest('.item').remove()\n this.setPrices()\n }\n\n removeCompanyClicked(event) {\n event.target.closest('.item').remove()\n this.setPrices()\n }\n\n connectRemoveEmailAddressButtons() {\n $(\".remove-email-address\").on(\"click\", this.removeEmailAddressClicked.bind(this))\n }\n\n connectRemoveCompanyButtons() {\n $(\".remove-company\").on(\"click\", this.removeCompanyClicked.bind(this))\n }\n\n addEmailAddressClicked(event) {\n $(this.individualChecksTarget).append(this.data.get(\"emailHtml\"))\n this.connectRemoveEmailAddressButtons()\n this.setPrices()\n }\n\n addCompanyCheckClicked(event) {\n $(this.companyChecksTarget).append(this.data.get(\"companyHtml\"))\n this.connectRemoveCompanyButtons()\n this.setPrices()\n }\n\n cardInputChanged(event) {\n let zip = event.value.postalCode\n this.setPrices(zip)\n this.zipHiddenTarget.value = zip\n }\n\n setPrices(zip) {\n $(this.individualChecksTotalPriceTarget).html(\"$\" + this.individualChecksTotalWithTax(zip).toFixed(2))\n $(this.companyChecksTotalPriceTarget).html(\"$\" + this.companyChecksTotalWithTax(zip).toFixed(2))\n\n let individualChecksTotalWithTax = this.individualChecksTotalWithTax(zip).toFixed(2)\n let companyChecksTotalWithTax = this.companyChecksTotalWithTax(zip).toFixed(2)\n let totalWithTax = Number(individualChecksTotalWithTax) + Number(companyChecksTotalWithTax)\n $(this.totalPriceTarget).html(totalWithTax)\n\n let individualChecksTotal = this.individualChecksTotal().toFixed(2)\n let companyChecksTotal = this.companyChecksTotal().toFixed(2)\n let taxAmount = this.tax(individualChecksTotal + companyChecksTotal, zip).toFixed(2)\n $(this.taxAmountTarget).html(taxAmount)\n $(this.taxTarget).toggle(taxAmount > 0)\n }\n\n isTaxableZip(zip) {\n if(!zip) return false\n let md = zip.match(/^(\\d{3})\\d{2}$/)\n let prefix = md && md[1]\n return (prefix >= 100 && prefix <= 149) || prefix == \"005\" || prefix == \"063\"\n }\n\n individualChecksTotalWithTax(zip) {\n let total = this.individualChecksTotal()\n\n return total + this.tax(total, zip)\n }\n\n companyChecksTotalWithTax(zip) {\n let total = this.companyChecksTotal()\n\n return total + this.tax(total, zip)\n }\n\n individualChecksTotal() {\n let actorsCount = $(this.individualChecksTarget).children().length\n\n return actorsCount * this.data.get(\"pricePerActor\")\n }\n\n companyChecksTotal() {\n var firstCompanyTarget = $(this.companyChecksTarget)[0]\n var companyDetailsEntered = Array.from(firstCompanyTarget.querySelectorAll(\"input\")).every(input => input.value.length > 0)\n if (!companyDetailsEntered) { return 0 }\n\n let companyCount = $(this.companyChecksTarget).children().length\n\n return companyCount * this.data.get(\"pricePerActor\")\n }\n\n tax(amount, zip) {\n if (!this.isTaxableZip(zip)) return 0\n\n return amount * this.data.get(\"taxRate\")\n }\n\n submitForm(event) {\n $.ajax({\n type: \"GET\",\n url: \"/l/bad_actor_check_purchases/validate\",\n data: $(this.formTarget).serialize(),\n success: this.formValidated.bind(this)\n });\n }\n\n async formValidated(data) {\n let errors = data.errorMessages\n\n this.element.classList.add(\"loading\")\n let result = await this.stripe.createToken(this.card)\n if (result.error) {\n errors.push(result.error.message)\n }\n\n if (errors.length > 0) {\n this.element.classList.remove(\"loading\")\n $(this.errorListTarget).empty()\n errors.forEach(e => {\n $('
  • ').text(e).appendTo($(this.errorListTarget))\n })\n $(this.errorsTarget).show()\n return\n }\n\n this.stripeTokenHiddenInputTarget.value = result.token.id\n this.submitTarget.click()\n }\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n static targets = [ \"cardInput\", \"errors\", \"total\", \"tax\", \"taxAmount\", \"stripeTokenHiddenInput\",\n \"zipHidden\", \"submit\" ]\n\n connect() {\n this.stripe = Stripe(this.data.get(\"stripe-key\"))\n this.card = this.stripe.elements().create('card')\n this.card.mount(this.cardInputTarget)\n this.card.addEventListener('change', this.cardInputChanged.bind(this))\n }\n\n cardInputChanged(event) {\n let zip = event.value.postalCode\n if (zip) {\n this.zipHiddenTarget.value = zip\n this.updateForTax(this.isTaxableZip(zip))\n }\n }\n\n updateForTax(addTax) {\n if (addTax) {\n this.totalTarget.innerText = this.data.get(\"total-with-tax\")\n this.show('tax')\n } else {\n this.totalTarget.innerText = this.data.get(\"net-amount\")\n this.hide('tax')\n }\n }\n\n validateForm(event) {\n const $this = this;\n setTimeout(function() {\n const submitBtn = document.getElementById(\"submit-checkout-btn\");\n const target = submitBtn.dataset.target\n if (target !== 'null') {\n $this.submitForm(event);\n }\n }, 500);\n }\n\n async submitForm(event) {\n this.element.classList.add(\"loading\")\n let result = await this.stripe.createToken(this.card)\n if (result.error) {\n this.element.classList.remove(\"loading\")\n this.errorsTarget.textContent = result.error.message\n } else {\n this.stripeTokenHiddenInputTarget.value = result.token.id\n this.submitTarget.click()\n }\n }\n\n isTaxableZip(zip) {\n let md = zip.match(/^(\\d{3})\\d{2}$/)\n let prefix = md && md[1]\n return (prefix >= 100 && prefix <= 149) || prefix == \"005\" || prefix == \"063\"\n }\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n static targets = [ \"\" ]\n\n connect() {\n this.questions = JSON.parse(this.data.get('questions'))\n this.showQuestion(this.questions[0], true)\n }\n\n questionElement(q) {\n return this.element.querySelector(`*[data-eligibility-question='${q.name}'`)\n }\n\n showQuestion(q, show) {\n this.show(this.questionElement(q), show)\n }\n\n questionAnswered(ev) {\n let i = this.questions.findIndex(q => q.name == ev.target.name)\n let q = this.questions[i]\n if (q.pass) {\n // Pass / fail question\n\n if (ev.target.value == q.pass) {\n // Pass this question\n this.showFailMessage(q, false)\n i += 1\n let next = this.questions[i]\n if (next) {\n this.showQuestion(next, true)\n } else {\n this.showPassed(true)\n }\n } else {\n // Fail this question\n this.showFailMessage(q, true)\n for (i+=1 ; i < this.questions.length; i++) {\n this.showQuestion(this.questions[i], false)\n }\n this.showPassed(false)\n }\n\n } else {\n // Skip next question\n\n let skip = (ev.target.value == q.skip_next)\n this.showQuestion(this.questions[i+1], !skip)\n this.showQuestion(this.questions[i+2], skip)\n }\n }\n\n showFailMessage(q, show) {\n let el = this.questionElement(q).querySelector('.not_eligible')\n this.show(el, show)\n }\n\n show(el, show) {\n if (show) {\n el.classList.remove(\"hidden\")\n el.scrollIntoViewIfNeeded()\n } else {\n el.classList.add(\"hidden\")\n }\n }\n\n showPassed(show) {\n this.show(this.element.querySelector(\".success\"), show)\n }\n\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n\n static targets = [ \"entityFormed\", \"gotFormID\", \"companyReviewState\", \"consultationLevel\", \"dpa\",\n \"nonUsInvestors\", \"attorneyUpgradePrice\", \"filedformDs\", \"nextButton\", \"page\",\n \"raiseMoreThan5M\", \"buyAttorneyUpgrade\", \"buyFormation\"]\n\n initialize() {\n for (const b of this.element.querySelectorAll('button')) {\n b.disabled = true\n }\n this.showPage(0)\n }\n\n answer(ev) {\n const page = ev.target.closest('.page')\n this.enableNextButton(page)\n }\n\n enableNextButton(page) {\n page.querySelector('button').disabled = !this.isPageDone(page)\n }\n\n isPageDone(page) {\n const results = {}\n for (const input of (page.querySelectorAll('input,select'))) {\n if (input.nodeName == \"SELECT\" ? input.value != \"\" : input.checked) {\n results[input.name] = input.value\n }\n }\n return Object.keys(results).length == page.querySelectorAll('.question').length\n }\n\n get attorneyUpgradeTier() {\n if (this.selectedVal(\"raiseMoreThan5M\") == \"no\") {\n return 1\n }\n\n const l = this.selectedVal(\"consultationLevel\")\n return l == 'level-3' ? 3 :\n l == 'level-2' ? 2 :\n 1\n }\n\n get attorneyUpgradePrice() {\n let i = this.attorneyUpgradeTier - 1\n let price;\n if (this.variant == \"Form C\") {\n price = [1500, 2500, 3500][i]\n } else if (this.variant == \"PPM\") {\n price = [6500, 10000, 13500][i]\n } else {\n price = 2600\n }\n if (this.selectedVal(\"dpa\") == \"yes\") {\n price += this.variant == \"Form C\" ? 2500 : 5000\n }\n return price\n }\n\n showPage(index) {\n this.attorneyUpgradePriceTarget.innerText = this.attorneyUpgradePrice\n let page = this.availablePages[index]\n if (page) {\n this.enableNextButton(page)\n this.index = index\n this.availablePages.forEach(el => {\n el.classList.toggle(\"page__current\", el === page)\n })\n return true\n } else {\n return false\n }\n }\n\n next(ev) {\n if (this.showPage(this.index + 1)) {\n ev.preventDefault()\n }\n }\n\n get availablePages() {\n return this.pageTargets.filter(p => this.pageIsActive(p.getAttribute(\"data-page-name\")))\n }\n\n get variant() { return this.data.get(\"variant\"); }\n\n get nonUSInvestors() { return this.selectedVal(\"nonUsInvestors\") == \"yes\" }\n\n pageIsActive(pageName) {\n switch (pageName) {\n case \"consultation-1\":\n return !this.nonUSInvestors;\n\n case \"form-d\":\n let c = this.selectedVal(\"consultationLevel\")\n return c == \"level-2\" || c == \"level-3\"\n\n case \"form-d-2\":\n return this.selectedVal(\"filedformDs\") == \"no\"\n\n case \"formation\":\n return this.selectedVal(\"entityFormed\") == \"no\"\n\n case \"formation-state\":\n return this.selectedVal(\"buyFormation\") == \"yes\"\n\n case \"form-id\":\n return this.selectedVal(\"gotFormID\") == \"no\"\n\n case \"company-review\":\n return this.selectedVal(\"companyReviewState\") == \"review-necessary\";\n\n case \"attorney-upgrade\":\n return !this.nonUSInvestors;\n\n case \"full-service\":\n return !this.nonUSInvestors && this.selectedVal(\"buyAttorneyUpgrade\") == \"yes\";\n\n case \"custom-review-contact\":\n return this.nonUSInvestors;\n }\n return true\n }\n\n selectedVal(target) {\n var el = this[target + 'Targets'].find(el => el.checked)\n return el && el.value\n }\n\n}\n","import ApplicationController from \"./application_controller.js\"\n\nfunction show(el, showHide) {\n el.setAttribute(\"style\", showHide ? \"\" : \"display:none\")\n}\n\nexport default class extends ApplicationController {\n static targets = [ \"resultsPanel\", \"documentList\", \"submitButton\" ]\n\n connect() {\n if (this.questionsComplete) {\n this.showPreview()\n }\n }\n\n get questionsComplete() {\n return $(\".package-question:visible\").length > 0 &&\n $(\".package-question:visible\").length == $('.package-question:visible input:checked').length\n }\n\n question_answered(ev) {\n let name = ev.target.name.match(/\\[.*?\\]\\[(.*?)\\]/)[1]\n\n $('*[data-hide-when]').toArray().forEach((el) => {\n let [hideName, hideVal] = $(el).data(\"hide-when\").split('=')\n if (hideName == name) {\n show(el, hideVal == ev.target.value)\n }\n })\n\n if (this.questionsComplete) {\n this.showPreview()\n } else {\n this.hide(\"resultsPanel\")\n }\n }\n\n async showPreview() {\n this.disableButton(\"submitButton\")\n const html = await $.ajax({url: this.data.get('refresh-url') + '.js', data: $(this.element).serialize(), dataType: 'html'})\n this.resultsPanelTarget.innerHTML = html\n this.show(\"resultsPanel\")\n this.enableButton(\"submitButton\")\n }\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n\n static targets = [ \"questionFields\", \"alternateHiddenField\" ]\n\n alternateSelectionChange(ev) {\n var {target} = ev\n var {checked} = target\n this.element.querySelectorAll('.alternate input').forEach(e => { if (e != target) e.checked = false })\n if (checked) {\n this.hide(\"questionFields\")\n this.saveSameAs(target.value)\n } else {\n this.show(\"questionFields\")\n this.saveSameAs(null)\n }\n }\n\n saveSameAs(sameAs) {\n let params = {_method: \"put\", answer: {answer_fields: { same_as: sameAs }}}\n let $question = $(this.element)\n $question.find('.status.icon').attr('class', 'spinner loading status icon').popup('destroy')\n\n $.post(\"/l/answers/\" + this.data.get('answer-id'), params, (data, status) => {\n $question.find('.status.icon').attr('class', 'green check circle status icon')\n }).fail(function(xhr, status, error) {\n $question.find('.status.icon')\n .attr('class', 'red minus circle status icon')\n .popup({\n content: error + ' (' + xhr.status + ')',\n position: 'top center',\n variation: 'tiny',\n })\n })\n }\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n static targets = [ \"packageSelector\" ]\n\n connect() {\n }\n\n packageSelectionChanged(ev) {\n let checked = this.packageSelectorTargets.filter(el => el.checked)\n let href\n if (checked.length > 0) {\n let query = '?packages=' + checked.map(el => el.value).join()\n href = location.pathname + query\n } else {\n href = location.pathname\n }\n Turbolinks.visit(href, { action: 'replace' })\n }\n}\n","import ApplicationController from \"./application_controller.js\"\n\nexport default class extends ApplicationController {\n static targets = [ 'documentId', 'folderId' ];\n\n connect() {\n let self = this;\n let dragElement = null;\n let authenticityToken = $(this.element).find('input[name=authenticity_token]').val();\n let template = '
  • ' +\n '' +\n '
    ' +\n '' +\n '' +\n '
  • ';\n\n $(this.element).dropzone({\n clickable: '.upload-handler',\n previewTemplate: template,\n init() {\n this.on('success', (...args) => self.success(...args));\n }\n }).on('click', 'li a[data-remote]', function() {\n $(this).parent().remove();\n });\n\n $(this.element).on('click', 'li.folder.open', function() {\n $(this).removeClass('open').next('ul').slideUp();\n });\n\n $(this.element).on('click', 'li.folder:not(.open)', function() {\n $(this).addClass('open').next('ul').slideDown();\n })\n\n $(this.element).on('drag', 'li:not(.folder)', function(ev) {\n dragElement = $(ev.target);\n }).on('drop', 'li.folder', function(ev) {\n let destination = $(ev.target);\n let dragId = dragElement.data('id');\n $.post(`/l/uploads/${dragId}`, {\n '_method': 'put',\n 'authenticity_token': authenticityToken,\n 'document_id': self.documentIdTarget.value,\n 'upload_folder_id': destination.data('folder-id'),\n }, () => {\n dragElement.appendTo(destination.removeClass('dragover').next('ul'));\n });\n }).on('dragenter', 'li.folder', function() {\n $(this).addClass('dragover');\n }).on('dragleave', 'li.folder', function() {\n $(this).removeClass('dragover');\n });\n }\n\n success(file, data, progressEvent) {\n let element = $(file.previewElement);\n element.data('id', data.id).find('a').attr(\n 'href', `/l/uploads/${data.id}?document_id=${this.documentIdTarget.value}`\n ).on('click', () => element.remove());\n\n element.find('.icon-ref').addClass(data.icon);\n\n if($(this.element).has('#upload_folder_id').length == 1) {\n let folder = $(this.element).find(`#upload_folder_${this.folderIdTarget.value}`);\n element.appendTo(folder.next('ul'));\n\n if(!folder.is('.open')) {\n folder.trigger('click');\n }\n } else {\n element.appendTo($(this.element).children('ul'));\n }\n }\n}\n","var map = {\n\t\"./application_controller.js\": 0,\n\t\"./assign_answers_controller.js\": 2,\n\t\"./bad_actor_checks_checkout_controller.js\": 3,\n\t\"./checkout_controller.js\": 4,\n\t\"./eligibility_controller.js\": 5,\n\t\"./onboarding_controller.js\": 6,\n\t\"./package_questions_controller.js\": 7,\n\t\"./question_controller.js\": 8,\n\t\"./subscribe_or_buy_controller.js\": 9,\n\t\"./upload_controller.js\": 10\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 = 11;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.Alpine = factory());\n})(this, function () {\n 'use strict';\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n } // Thanks @stimulus:\n // https://github.com/stimulusjs/stimulus/blob/master/packages/%40stimulus/core/src/application.ts\n\n\n function domReady() {\n return new Promise(resolve => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", resolve);\n } else {\n resolve();\n }\n });\n }\n\n function arrayUnique(array) {\n return Array.from(new Set(array));\n }\n\n function isTesting() {\n return navigator.userAgent.includes(\"Node.js\") || navigator.userAgent.includes(\"jsdom\");\n }\n\n function checkedAttrLooseCompare(valueA, valueB) {\n return valueA == valueB;\n }\n\n function warnIfMalformedTemplate(el, directive) {\n if (el.tagName.toLowerCase() !== 'template') {\n console.warn(\"Alpine: [\".concat(directive, \"] directive should only be added to