{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////member-portal/node_modules/@stimulus/core/dist/src/event_listener.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/dispatcher.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/action_descriptor.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/action.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/binding.js","webpack:////member-portal/node_modules/@stimulus/mutation-observers/dist/src/element_observer.js","webpack:////member-portal/node_modules/@stimulus/mutation-observers/dist/src/attribute_observer.js","webpack:////member-portal/node_modules/@stimulus/multimap/dist/src/set_operations.js","webpack:////member-portal/node_modules/@stimulus/multimap/dist/src/multimap.js","webpack:////member-portal/node_modules/@stimulus/multimap/dist/src/indexed_multimap.js","webpack:////member-portal/node_modules/@stimulus/mutation-observers/dist/src/token_list_observer.js","webpack:////member-portal/node_modules/@stimulus/mutation-observers/dist/src/value_list_observer.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/binding_observer.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/context.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/definition.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/module.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/data_map.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/selectors.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/target_set.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/scope.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/scope_observer.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/router.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/schema.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/application.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/target_properties.js","webpack:////member-portal/node_modules/@stimulus/core/dist/src/controller.js","webpack:///./app/javascript/packs/polyfills.js","webpack:////member-portal/node_modules/iban/iban.js","webpack:///./app/javascript/controllers sync _controller\\.js$","webpack:///./app/javascript/controllers/amount_controller.js","webpack:///./app/javascript/controllers/changepassword_controller.js","webpack:///./app/javascript/controllers/credentials_controller.js","webpack:///./app/javascript/controllers/feedback_controller.js","webpack:///./app/javascript/controllers/iban_controller.js","webpack:///./app/javascript/controllers/ibanchange_controller.js","webpack:///./app/javascript/controllers/initiative_controller.js","webpack:///./app/javascript/controllers/initiativevote_controller.js","webpack:///./app/javascript/controllers/membercard_controller.js","webpack:///./app/javascript/controllers/membervoting_controller.js","webpack:///./app/javascript/controllers/newmember_controller.js","webpack:///./app/javascript/controllers/notice_controller.js","webpack:///./app/javascript/controllers/ownedshares_controller.js","webpack:///./app/javascript/controllers/postcodes_controller.js","webpack:///./app/javascript/controllers/resignation_controller.js","webpack:///./app/javascript/controllers/sales_controller.js","webpack:///./app/javascript/controllers/subscriptions_controller.js","webpack:///./app/javascript/controllers/userprofile_controller.js","webpack:///./app/javascript/features/topbar.js","webpack:///./app/javascript/features/member_activations.js","webpack:///./app/javascript/features/navigation.js","webpack:///./app/javascript/features/home.js","webpack:///./app/javascript/features/card_notice.js","webpack:///./app/javascript/features/member_voting_navi.js","webpack:///./app/javascript/controllers/index.js","webpack:////member-portal/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","EventListener","eventTarget","eventName","this","unorderedBindings","Set","connect","addEventListener","disconnect","removeEventListener","bindingConnected","binding","add","bindingDisconnected","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","target","Element","contains","scope","containsElement","ElementObserver","delegate","_this","elements","mutationObserver","MutationObserver","mutations","processMutations","observe","attributes","childList","subtree","refresh","takeRecords","matchElementsInTree","has","removeElement","_b","_c","addElement","mutations_1","mutation","processMutation","type","processAttributeChange","attributeName","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","node","elementAttributeChanged","matchElement","nodes","elementFromNode","processTree","elementIsActive","tree","processor","nodeType","Node","ELEMENT_NODE","isConnected","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","querySelectorAll","selector","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","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","Controller","_newTarget","Reflect","construct","arguments","a","apply","Module","definition","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","DataMap","getFormattedKey","setAttribute","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","NodeList","msMatchesSelector","webkitMatchesSelector","el","parentNode","fun","len","res","A","charCodeAt","Z","iso13616Prepare","iban","substr","code","iso7064Mod97_10","block","remainder","parseInt","parseStructure","structure","regex","format","pattern","repeats","RegExp","electronicFormat","NON_ALPHANUM","Specification","countryCode","example","_regex","_cachedRegex","isValid","test","toBBAN","separator","exec","fromBBAN","bban","isValidBBAN","checkDigit","countries","addSpecification","IBAN","EVERY_FOUR_CHARS","isString","String","countryStructure","printFormat","webpackContext","req","id","webpackContextResolve","amount","validate","amountTarget","valid","status","removeStatus","clearBackEndErrors","addStatus","updateSubscriptionPrice","classList","remove","querySelector","style","beErrorText","getElementById","innerHTML","checkbox_amount","checkbox_eur_amount","undefined","toggleSuccess","submitTarget","successTarget","CredentialsController","deferTimeouts","initialValidations","emailTarget","validateEmail","passwordTarget","validatePassword","updateSubmitAvailability","isValidForm","getTarget","preserveServerErrors","validateNow","validateField","notBlank","longerThan","isValidFromServer","requiresImmediateAction","defer","serverError","emailValidationRe","field","validityStatus","validations","fn","keyCode","num","re","childElementCount","textContent","clearTimeout","setTimeout","error_status","error_info","bank_account","bank_accountTarget","display","ibanController","submit","preventDefault","checkbox","entitlementTarget","fields","fieldTargets","checked","CheckIfBlank","click","overlay","createElement","appendChild","noticeHolder","noticeContent","close","getElementsByClassName","toggle","location","reload","onConfirm","state","confirmTarget","disabled","prevent","count","optionTargets","togglePasswordVisibility","passwordvisibilityTarget","emptyInit","validatePhone","phonenumberTarget","validateEmpty","addressTarget","zipcodeTarget","cityTarget","setTarget","validateRegExp","reset","membercardTarget","newsletterTarget","contentTarget","overlayTarget","hasContentTarget","removeChild","hasOverlayTarget","showTab","change","tabTargets","indexOf","profit_shares_elem","sold_profit_shares_elem","removeAndAddClasses","PostcodesController","search","response","json","confirm","amountController","sell_confirm","checkValidity","checkboxTargets","checkboxes","cb","checkFieldsValidity","topBar","clicked","parent","children","bindEvents","toggleNavi","topBarEl","userBirthday","registrationView","input","prev","stepForward","stepBack","setValue","focus","setInput","setBackspace","val","hiddenEl","inputElements","birthdayArr","datePicker","birthdayEl","birthday","setDefaultVal","setEvents","blur","userId","inputs","toggleFormState","check","navigation","trigger","toggleLanguage","init","addEvents","actions","setSmall","viewports","desktop","self","dtNavEl","area","dtArea","offset","dtAreaOffset","mobile","mobNavEl","mobArea","mobAreaOffset","viewport","pageYOffset","clientHeight","css","obj","moveDown","navigationEl","moveUp","scroll","topBarEls","scrollHeight","subNavInit","getElOffsetTop","offsetTop","checkEl","getEl","isNumeric","isNaN","parseFloat","isFinite","password","passwords","launch","toggleErrorText","do","statusIcon","true","false","form","email","checkInit","checkValue","validateForm","events","addEvent","newUser","orientation","navigator","userAgent","toggleSubmit","card_notice","onscroll","membervotingarchive","onload","hash","scrollTo","qrButton","qrButtonMobile","open","overlayEl","noticeEl","up","scrollDown","sidenav","mvNav","outerHeight","dimensions","bottom","checkIfBelowBottom","nav","checkGoingUp","top","mainnav","checkGoingDown","setBottom","height","innerHeight","placeholder","setTop","width","holder","getBoundingClientRect","x","require","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","definitionsFromContext"],"mappings":"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","file":"js/application-be21cc1364beee62583a.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 = 30);\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 get() {\n return Array.from(this.unorderedBindings).sort(function (left, right) {\n var leftIndex = left.index,\n rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n },\n enumerable: 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 stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation_1.call(this);\n }\n });\n }\n}","import { EventListener } from \"./event_listener\";\n\nvar Dispatcher =\n/** @class */\nfunction () {\n function Dispatcher(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n\n Dispatcher.prototype.start = function () {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach(function (eventListener) {\n return eventListener.connect();\n });\n }\n };\n\n Dispatcher.prototype.stop = function () {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach(function (eventListener) {\n return eventListener.disconnect();\n });\n }\n };\n\n Object.defineProperty(Dispatcher.prototype, \"eventListeners\", {\n get: function get() {\n return Array.from(this.eventListenerMaps.values()).reduce(function (listeners, map) {\n return listeners.concat(Array.from(map.values()));\n }, []);\n },\n enumerable: 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 get() {\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 a(e) {\n return \"click\";\n },\n \"button\": function button(e) {\n return \"click\";\n },\n \"form\": function form(e) {\n return \"submit\";\n },\n \"input\": function input(e) {\n return e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"change\";\n },\n \"select\": function select(e) {\n return \"change\";\n },\n \"textarea\": function textarea(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 get() {\n return this.action.index;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"eventTarget\", {\n get: function get() {\n return this.action.eventTarget;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"identifier\", {\n get: function get() {\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 get() {\n return this.action.eventName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"method\", {\n get: function get() {\n var method = this.controller[this.methodName];\n\n if (typeof method == \"function\") {\n return method;\n }\n\n throw new Error(\"Action \\\"\" + this.action + \"\\\" references undefined method \\\"\" + this.methodName + \"\\\"\");\n },\n enumerable: 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 get() {\n return this.context.controller;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"methodName\", {\n get: function get() {\n return this.action.methodName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Binding.prototype, \"scope\", {\n get: function get() {\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 get() {\n return this.elementObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AttributeObserver.prototype, \"selector\", {\n get: function get() {\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 get() {\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 get() {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (values, set) {\n return values.concat(Array.from(set));\n }, []);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Multimap.prototype, \"size\", {\n get: function get() {\n var sets = Array.from(this.valuesByKey.values());\n return sets.reduce(function (size, set) {\n return size + set.size;\n }, 0);\n },\n enumerable: 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) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return function (d, b) {\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nimport { Multimap } from \"./multimap\";\nimport { add, del } from \"./set_operations\";\n\nvar IndexedMultimap =\n/** @class */\nfunction (_super) {\n __extends(IndexedMultimap, _super);\n\n function IndexedMultimap() {\n var _this = _super.call(this) || this;\n\n _this.keysByValue = new Map();\n return _this;\n }\n\n Object.defineProperty(IndexedMultimap.prototype, \"values\", {\n get: function get() {\n return Array.from(this.keysByValue.keys());\n },\n enumerable: 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 get() {\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 get() {\n return this.attributeObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TokenListObserver.prototype, \"attributeName\", {\n get: function get() {\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 get() {\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 get() {\n return this.tokenListObserver.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ValueListObserver.prototype, \"attributeName\", {\n get: function get() {\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 get() {\n return this.context.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"identifier\", {\n get: function get() {\n return this.context.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"actionAttribute\", {\n get: function get() {\n return this.schema.actionAttribute;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"schema\", {\n get: function get() {\n return this.context.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BindingObserver.prototype, \"bindings\", {\n get: function get() {\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 get() {\n return this.module.application;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"identifier\", {\n get: function get() {\n return this.module.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"schema\", {\n get: function get() {\n return this.application.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"dispatcher\", {\n get: function get() {\n return this.application.dispatcher;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"parentElement\", {\n get: function get() {\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) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\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 a() {\n this.a.call(this);\n };\n\n var b = extendWithReflect(a);\n\n b.prototype.a = function () {};\n\n return new b();\n }\n\n try {\n testReflectExtension();\n return extendWithReflect;\n } catch (error) {\n return function (constructor) {\n return (\n /** @class */\n function (_super) {\n __extends(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 get() {\n return this.definition.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"controllerConstructor\", {\n get: function get() {\n return this.definition.controllerConstructor;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Module.prototype, \"contexts\", {\n get: function get() {\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 get() {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DataMap.prototype, \"identifier\", {\n get: function get() {\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 get() {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"identifier\", {\n get: function get() {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TargetSet.prototype, \"schema\", {\n get: function get() {\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 get() {\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 get() {\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 get() {\n return this.application.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"schema\", {\n get: function get() {\n return this.application.schema;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"controllerAttribute\", {\n get: function get() {\n return this.schema.controllerAttribute;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"modules\", {\n get: function get() {\n return Array.from(this.modulesByIdentifier.values());\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Router.prototype, \"contexts\", {\n get: function get() {\n return this.modules.reduce(function (contexts, module) {\n return contexts.concat(module.contexts);\n }, []);\n },\n enumerable: 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 sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = 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\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 get() {\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 get() {\n var target = this.targets.find(name);\n\n if (target) {\n return target;\n } else {\n throw new Error(\"Missing target element \\\"\" + this.identifier + \".\" + name + \"\\\"\");\n }\n }\n }, _a[name + \"Targets\"] = {\n get: function get() {\n return this.targets.findAll(name);\n }\n }, _a[\"has\" + capitalize(name) + \"Target\"] = {\n get: function get() {\n return this.targets.has(name);\n }\n }, _a));\n });\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 get() {\n return this.context.application;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"scope\", {\n get: function get() {\n return this.context.scope;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"element\", {\n get: function get() {\n return this.scope.element;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"identifier\", {\n get: function get() {\n return this.scope.identifier;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"targets\", {\n get: function get() {\n return this.scope.targets;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Controller.prototype, \"data\", {\n get: function get() {\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 };","// Polyfill for NodeList.forEach\n// Will be included to babel-polyfill when it starts to use core-js 3\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach;\n}\n\n// Polyfill for .closest\n\nif (!Element.prototype.matches) {\n Element.prototype.matches =\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n}\n\nif (!Element.prototype.closest) {\n Element.prototype.closest = function(s) {\n var el = this;\n\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['exports'], factory);\n } else if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof exports.nodeName !== 'string') {\n // CommonJS\n factory(exports);\n } else {\n // Browser globals\n factory(root.IBAN = {});\n }\n})(this, function (exports) {\n // Array.prototype.map polyfill\n // code from https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/map\n if (!Array.prototype.map) {\n Array.prototype.map = function (fun\n /*, thisArg */\n ) {\n \"use strict\";\n\n if (this === void 0 || this === null) throw new TypeError();\n var t = Object(this);\n var len = t.length >>> 0;\n if (typeof fun !== \"function\") throw new TypeError();\n var res = new Array(len);\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n\n for (var i = 0; i < len; i++) {\n // NOTE: Absolute correctness would demand Object.defineProperty\n // be used. But this method is fairly new, and failure is\n // possible only if Object.prototype or Array.prototype\n // has a property |i| (very unlikely), so use a less-correct\n // but more portable alternative.\n if (i in t) res[i] = fun.call(thisArg, t[i], i, t);\n }\n\n return res;\n };\n }\n\n var A = 'A'.charCodeAt(0),\n Z = 'Z'.charCodeAt(0);\n /**\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\n *\n * @param {string} iban the IBAN\n * @returns {string} the prepared IBAN\n */\n\n function iso13616Prepare(iban) {\n iban = iban.toUpperCase();\n iban = iban.substr(4) + iban.substr(0, 4);\n return iban.split('').map(function (n) {\n var code = n.charCodeAt(0);\n\n if (code >= A && code <= Z) {\n // A = 10, B = 11, ... Z = 35\n return code - A + 10;\n } else {\n return n;\n }\n }).join('');\n }\n /**\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\n *\n * @param iban\n * @returns {number}\n */\n\n\n function iso7064Mod97_10(iban) {\n var remainder = iban,\n block;\n\n while (remainder.length > 2) {\n block = remainder.slice(0, 9);\n remainder = parseInt(block, 10) % 97 + remainder.slice(block.length);\n }\n\n return parseInt(remainder, 10) % 97;\n }\n /**\n * Parse the BBAN structure used to configure each IBAN Specification and returns a matching regular expression.\n * A structure is composed of blocks of 3 characters (one letter and 2 digits). Each block represents\n * a logical group in the typical representation of the BBAN. For each group, the letter indicates which characters\n * are allowed in this group and the following 2-digits number tells the length of the group.\n *\n * @param {string} structure the structure to parse\n * @returns {RegExp}\n */\n\n\n function parseStructure(structure) {\n // split in blocks of 3 chars\n var regex = structure.match(/(.{3})/g).map(function (block) {\n // parse each structure block (1-char + 2-digits)\n var format,\n pattern = block.slice(0, 1),\n repeats = parseInt(block.slice(1), 10);\n\n switch (pattern) {\n case \"A\":\n format = \"0-9A-Za-z\";\n break;\n\n case \"B\":\n format = \"0-9A-Z\";\n break;\n\n case \"C\":\n format = \"A-Za-z\";\n break;\n\n case \"F\":\n format = \"0-9\";\n break;\n\n case \"L\":\n format = \"a-z\";\n break;\n\n case \"U\":\n format = \"A-Z\";\n break;\n\n case \"W\":\n format = \"0-9a-z\";\n break;\n }\n\n return '([' + format + ']{' + repeats + '})';\n });\n return new RegExp('^' + regex.join('') + '$');\n }\n /**\n *\n * @param iban\n * @returns {string}\n */\n\n\n function electronicFormat(iban) {\n return iban.replace(NON_ALPHANUM, '').toUpperCase();\n }\n /**\n * Create a new Specification for a valid IBAN number.\n *\n * @param countryCode the code of the country\n * @param length the length of the IBAN\n * @param structure the structure of the underlying BBAN (for validation and formatting)\n * @param example an example valid IBAN\n * @constructor\n */\n\n\n function Specification(countryCode, length, structure, example) {\n this.countryCode = countryCode;\n this.length = length;\n this.structure = structure;\n this.example = example;\n }\n /**\n * Lazy-loaded regex (parse the structure and construct the regular expression the first time we need it for validation)\n */\n\n\n Specification.prototype._regex = function () {\n return this._cachedRegex || (this._cachedRegex = parseStructure(this.structure));\n };\n /**\n * Check if the passed iban is valid according to this specification.\n *\n * @param {String} iban the iban to validate\n * @returns {boolean} true if valid, false otherwise\n */\n\n\n Specification.prototype.isValid = function (iban) {\n return this.length == iban.length && this.countryCode === iban.slice(0, 2) && this._regex().test(iban.slice(4)) && iso7064Mod97_10(iso13616Prepare(iban)) == 1;\n };\n /**\n * Convert the passed IBAN to a country-specific BBAN.\n *\n * @param iban the IBAN to convert\n * @param separator the separator to use between BBAN blocks\n * @returns {string} the BBAN\n */\n\n\n Specification.prototype.toBBAN = function (iban, separator) {\n return this._regex().exec(iban.slice(4)).slice(1).join(separator);\n };\n /**\n * Convert the passed BBAN to an IBAN for this country specification.\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\n *\n * @param bban the BBAN to convert to IBAN\n * @returns {string} the IBAN\n */\n\n\n Specification.prototype.fromBBAN = function (bban) {\n if (!this.isValidBBAN(bban)) {\n throw new Error('Invalid BBAN');\n }\n\n var remainder = iso7064Mod97_10(iso13616Prepare(this.countryCode + '00' + bban)),\n checkDigit = ('0' + (98 - remainder)).slice(-2);\n return this.countryCode + checkDigit + bban;\n };\n /**\n * Check of the passed BBAN is valid.\n * This function only checks the format of the BBAN (length and matching the letetr/number specs) but does not\n * verify the check digit.\n *\n * @param bban the BBAN to validate\n * @returns {boolean} true if the passed bban is a valid BBAN according to this specification, false otherwise\n */\n\n\n Specification.prototype.isValidBBAN = function (bban) {\n return this.length - 4 == bban.length && this._regex().test(bban);\n };\n\n var countries = {};\n\n function addSpecification(IBAN) {\n countries[IBAN.countryCode] = IBAN;\n }\n\n addSpecification(new Specification(\"AD\", 24, \"F04F04A12\", \"AD1200012030200359100100\"));\n addSpecification(new Specification(\"AE\", 23, \"F03F16\", \"AE070331234567890123456\"));\n addSpecification(new Specification(\"AL\", 28, \"F08A16\", \"AL47212110090000000235698741\"));\n addSpecification(new Specification(\"AT\", 20, \"F05F11\", \"AT611904300234573201\"));\n addSpecification(new Specification(\"AZ\", 28, \"U04A20\", \"AZ21NABZ00000000137010001944\"));\n addSpecification(new Specification(\"BA\", 20, \"F03F03F08F02\", \"BA391290079401028494\"));\n addSpecification(new Specification(\"BE\", 16, \"F03F07F02\", \"BE68539007547034\"));\n addSpecification(new Specification(\"BG\", 22, \"U04F04F02A08\", \"BG80BNBG96611020345678\"));\n addSpecification(new Specification(\"BH\", 22, \"U04A14\", \"BH67BMAG00001299123456\"));\n addSpecification(new Specification(\"BR\", 29, \"F08F05F10U01A01\", \"BR9700360305000010009795493P1\"));\n addSpecification(new Specification(\"BY\", 28, \"A04F04A16\", \"BY13NBRB3600900000002Z00AB00\"));\n addSpecification(new Specification(\"CH\", 21, \"F05A12\", \"CH9300762011623852957\"));\n addSpecification(new Specification(\"CR\", 22, \"F04F14\", \"CR72012300000171549015\"));\n addSpecification(new Specification(\"CY\", 28, \"F03F05A16\", \"CY17002001280000001200527600\"));\n addSpecification(new Specification(\"CZ\", 24, \"F04F06F10\", \"CZ6508000000192000145399\"));\n addSpecification(new Specification(\"DE\", 22, \"F08F10\", \"DE89370400440532013000\"));\n addSpecification(new Specification(\"DK\", 18, \"F04F09F01\", \"DK5000400440116243\"));\n addSpecification(new Specification(\"DO\", 28, \"U04F20\", \"DO28BAGR00000001212453611324\"));\n addSpecification(new Specification(\"EE\", 20, \"F02F02F11F01\", \"EE382200221020145685\"));\n addSpecification(new Specification(\"ES\", 24, \"F04F04F01F01F10\", \"ES9121000418450200051332\"));\n addSpecification(new Specification(\"FI\", 18, \"F06F07F01\", \"FI2112345600000785\"));\n addSpecification(new Specification(\"FO\", 18, \"F04F09F01\", \"FO6264600001631634\"));\n addSpecification(new Specification(\"FR\", 27, \"F05F05A11F02\", \"FR1420041010050500013M02606\"));\n addSpecification(new Specification(\"GB\", 22, \"U04F06F08\", \"GB29NWBK60161331926819\"));\n addSpecification(new Specification(\"GE\", 22, \"U02F16\", \"GE29NB0000000101904917\"));\n addSpecification(new Specification(\"GI\", 23, \"U04A15\", \"GI75NWBK000000007099453\"));\n addSpecification(new Specification(\"GL\", 18, \"F04F09F01\", \"GL8964710001000206\"));\n addSpecification(new Specification(\"GR\", 27, \"F03F04A16\", \"GR1601101250000000012300695\"));\n addSpecification(new Specification(\"GT\", 28, \"A04A20\", \"GT82TRAJ01020000001210029690\"));\n addSpecification(new Specification(\"HR\", 21, \"F07F10\", \"HR1210010051863000160\"));\n addSpecification(new Specification(\"HU\", 28, \"F03F04F01F15F01\", \"HU42117730161111101800000000\"));\n addSpecification(new Specification(\"IE\", 22, \"U04F06F08\", \"IE29AIBK93115212345678\"));\n addSpecification(new Specification(\"IL\", 23, \"F03F03F13\", \"IL620108000000099999999\"));\n addSpecification(new Specification(\"IS\", 26, \"F04F02F06F10\", \"IS140159260076545510730339\"));\n addSpecification(new Specification(\"IT\", 27, \"U01F05F05A12\", \"IT60X0542811101000000123456\"));\n addSpecification(new Specification(\"IQ\", 23, \"U04F03A12\", \"IQ98NBIQ850123456789012\"));\n addSpecification(new Specification(\"JO\", 30, \"A04F22\", \"JO15AAAA1234567890123456789012\"));\n addSpecification(new Specification(\"KW\", 30, \"U04A22\", \"KW81CBKU0000000000001234560101\"));\n addSpecification(new Specification(\"KZ\", 20, \"F03A13\", \"KZ86125KZT5004100100\"));\n addSpecification(new Specification(\"LB\", 28, \"F04A20\", \"LB62099900000001001901229114\"));\n addSpecification(new Specification(\"LC\", 32, \"U04F24\", \"LC07HEMM000100010012001200013015\"));\n addSpecification(new Specification(\"LI\", 21, \"F05A12\", \"LI21088100002324013AA\"));\n addSpecification(new Specification(\"LT\", 20, \"F05F11\", \"LT121000011101001000\"));\n addSpecification(new Specification(\"LU\", 20, \"F03A13\", \"LU280019400644750000\"));\n addSpecification(new Specification(\"LV\", 21, \"U04A13\", \"LV80BANK0000435195001\"));\n addSpecification(new Specification(\"MC\", 27, \"F05F05A11F02\", \"MC5811222000010123456789030\"));\n addSpecification(new Specification(\"MD\", 24, \"U02A18\", \"MD24AG000225100013104168\"));\n addSpecification(new Specification(\"ME\", 22, \"F03F13F02\", \"ME25505000012345678951\"));\n addSpecification(new Specification(\"MK\", 19, \"F03A10F02\", \"MK07250120000058984\"));\n addSpecification(new Specification(\"MR\", 27, \"F05F05F11F02\", \"MR1300020001010000123456753\"));\n addSpecification(new Specification(\"MT\", 31, \"U04F05A18\", \"MT84MALT011000012345MTLCAST001S\"));\n addSpecification(new Specification(\"MU\", 30, \"U04F02F02F12F03U03\", \"MU17BOMM0101101030300200000MUR\"));\n addSpecification(new Specification(\"NL\", 18, \"U04F10\", \"NL91ABNA0417164300\"));\n addSpecification(new Specification(\"NO\", 15, \"F04F06F01\", \"NO9386011117947\"));\n addSpecification(new Specification(\"PK\", 24, \"U04A16\", \"PK36SCBL0000001123456702\"));\n addSpecification(new Specification(\"PL\", 28, \"F08F16\", \"PL61109010140000071219812874\"));\n addSpecification(new Specification(\"PS\", 29, \"U04A21\", \"PS92PALS000000000400123456702\"));\n addSpecification(new Specification(\"PT\", 25, \"F04F04F11F02\", \"PT50000201231234567890154\"));\n addSpecification(new Specification(\"QA\", 29, \"U04A21\", \"QA30AAAA123456789012345678901\"));\n addSpecification(new Specification(\"RO\", 24, \"U04A16\", \"RO49AAAA1B31007593840000\"));\n addSpecification(new Specification(\"RS\", 22, \"F03F13F02\", \"RS35260005601001611379\"));\n addSpecification(new Specification(\"SA\", 24, \"F02A18\", \"SA0380000000608010167519\"));\n addSpecification(new Specification(\"SC\", 31, \"U04F04F16U03\", \"SC18SSCB11010000000000001497USD\"));\n addSpecification(new Specification(\"SE\", 24, \"F03F16F01\", \"SE4550000000058398257466\"));\n addSpecification(new Specification(\"SI\", 19, \"F05F08F02\", \"SI56263300012039086\"));\n addSpecification(new Specification(\"SK\", 24, \"F04F06F10\", \"SK3112000000198742637541\"));\n addSpecification(new Specification(\"SM\", 27, \"U01F05F05A12\", \"SM86U0322509800000000270100\"));\n addSpecification(new Specification(\"ST\", 25, \"F08F11F02\", \"ST68000100010051845310112\"));\n addSpecification(new Specification(\"SV\", 28, \"U04F20\", \"SV62CENR00000000000000700025\"));\n addSpecification(new Specification(\"TL\", 23, \"F03F14F02\", \"TL380080012345678910157\"));\n addSpecification(new Specification(\"TN\", 24, \"F02F03F13F02\", \"TN5910006035183598478831\"));\n addSpecification(new Specification(\"TR\", 26, \"F05F01A16\", \"TR330006100519786457841326\"));\n addSpecification(new Specification(\"UA\", 29, \"F25\", \"UA511234567890123456789012345\"));\n addSpecification(new Specification(\"VG\", 24, \"U04F16\", \"VG96VPVG0000012345678901\"));\n addSpecification(new Specification(\"XK\", 20, \"F04F10F02\", \"XK051212012345678906\")); // The following countries are not included in the official IBAN registry but use the IBAN specification\n // Angola\n\n addSpecification(new Specification(\"AO\", 25, \"F21\", \"AO69123456789012345678901\")); // Burkina\n\n addSpecification(new Specification(\"BF\", 27, \"F23\", \"BF2312345678901234567890123\")); // Burundi\n\n addSpecification(new Specification(\"BI\", 16, \"F12\", \"BI41123456789012\")); // Benin\n\n addSpecification(new Specification(\"BJ\", 28, \"F24\", \"BJ39123456789012345678901234\")); // Ivory\n\n addSpecification(new Specification(\"CI\", 28, \"U02F22\", \"CI70CI1234567890123456789012\")); // Cameron\n\n addSpecification(new Specification(\"CM\", 27, \"F23\", \"CM9012345678901234567890123\")); // Cape Verde\n\n addSpecification(new Specification(\"CV\", 25, \"F21\", \"CV30123456789012345678901\")); // Algeria\n\n addSpecification(new Specification(\"DZ\", 24, \"F20\", \"DZ8612345678901234567890\")); // Iran\n\n addSpecification(new Specification(\"IR\", 26, \"F22\", \"IR861234568790123456789012\")); // Madagascar\n\n addSpecification(new Specification(\"MG\", 27, \"F23\", \"MG1812345678901234567890123\")); // Mali\n\n addSpecification(new Specification(\"ML\", 28, \"U01F23\", \"ML15A12345678901234567890123\")); // Mozambique\n\n addSpecification(new Specification(\"MZ\", 25, \"F21\", \"MZ25123456789012345678901\")); // Senegal\n\n addSpecification(new Specification(\"SN\", 28, \"U01F23\", \"SN52A12345678901234567890123\"));\n var NON_ALPHANUM = /[^a-zA-Z0-9]/g,\n EVERY_FOUR_CHARS = /(.{4})(?!$)/g;\n /**\n * Utility function to check if a variable is a String.\n *\n * @param v\n * @returns {boolean} true if the passed variable is a String, false otherwise.\n */\n\n function isString(v) {\n return typeof v == 'string' || v instanceof String;\n }\n /**\n * Check if an IBAN is valid.\n *\n * @param {String} iban the IBAN to validate.\n * @returns {boolean} true if the passed IBAN is valid, false otherwise\n */\n\n\n exports.isValid = function (iban) {\n if (!isString(iban)) {\n return false;\n }\n\n iban = electronicFormat(iban);\n var countryStructure = countries[iban.slice(0, 2)];\n return !!countryStructure && countryStructure.isValid(iban);\n };\n /**\n * Convert an IBAN to a BBAN.\n *\n * @param iban\n * @param {String} [separator] the separator to use between the blocks of the BBAN, defaults to ' '\n * @returns {string|*}\n */\n\n\n exports.toBBAN = function (iban, separator) {\n if (typeof separator == 'undefined') {\n separator = ' ';\n }\n\n iban = electronicFormat(iban);\n var countryStructure = countries[iban.slice(0, 2)];\n\n if (!countryStructure) {\n throw new Error('No country with code ' + iban.slice(0, 2));\n }\n\n return countryStructure.toBBAN(iban, separator);\n };\n /**\n * Convert the passed BBAN to an IBAN for this country specification.\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\n *\n * @param countryCode the country of the BBAN\n * @param bban the BBAN to convert to IBAN\n * @returns {string} the IBAN\n */\n\n\n exports.fromBBAN = function (countryCode, bban) {\n var countryStructure = countries[countryCode];\n\n if (!countryStructure) {\n throw new Error('No country with code ' + countryCode);\n }\n\n return countryStructure.fromBBAN(electronicFormat(bban));\n };\n /**\n * Check the validity of the passed BBAN.\n *\n * @param countryCode the country of the BBAN\n * @param bban the BBAN to check the validity of\n */\n\n\n exports.isValidBBAN = function (countryCode, bban) {\n if (!isString(bban)) {\n return false;\n }\n\n var countryStructure = countries[countryCode];\n return countryStructure && countryStructure.isValidBBAN(electronicFormat(bban));\n };\n /**\n *\n * @param iban\n * @param separator\n * @returns {string}\n */\n\n\n exports.printFormat = function (iban, separator) {\n if (typeof separator == 'undefined') {\n separator = ' ';\n }\n\n return electronicFormat(iban).replace(EVERY_FOUR_CHARS, \"$1\" + separator);\n };\n\n exports.electronicFormat = electronicFormat;\n /**\n * An object containing all the known IBAN specifications.\n */\n\n exports.countries = countries;\n});","var map = {\n\t\"./amount_controller.js\": 5,\n\t\"./changepassword_controller.js\": 6,\n\t\"./credentials_controller.js\": 7,\n\t\"./feedback_controller.js\": 8,\n\t\"./iban_controller.js\": 9,\n\t\"./ibanchange_controller.js\": 10,\n\t\"./initiative_controller.js\": 11,\n\t\"./initiativevote_controller.js\": 12,\n\t\"./membercard_controller.js\": 13,\n\t\"./membervoting_controller.js\": 14,\n\t\"./newmember_controller.js\": 15,\n\t\"./notice_controller.js\": 16,\n\t\"./ownedshares_controller.js\": 17,\n\t\"./postcodes_controller.js\": 18,\n\t\"./resignation_controller.js\": 19,\n\t\"./sales_controller.js\": 20,\n\t\"./subscriptions_controller.js\": 21,\n\t\"./userprofile_controller.js\": 22\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 = 4;","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"amount\"];\n\n connect() {\n if (this.amount.length > 0) {\n this.validate();\n }\n }\n\n get amount() {\n return this.amountTarget.value;\n }\n\n isValid() {\n return this.valid;\n }\n\n validate() {\n if (this.status) this.removeStatus(this.element);\n\n const max = this.data.get(\"total\");\n const pattern = new RegExp(\"^[0-9]+$\");\n this.valid =\n pattern.test(this.amount) &&\n (this.amount >= 1 && this.amount <= parseInt(max));\n\n this.status = this.valid\n ? \"TextInput--status--success\"\n : \"TextInput--status--error\";\n\n this.clearBackEndErrors(this.element, this.valid);\n this.addStatus(this.element);\n this.updateSubscriptionPrice(this.valid);\n }\n\n removeStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelectorAll(\".TextInput--status\")\n .forEach(node => node.classList.remove(this.status), this);\n }\n\n addStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelectorAll(\".TextInput--status\")\n .forEach(node => node.classList.add(this.status), this);\n }\n\n clearBackEndErrors(el, valid) {\n const be_error = el\n .closest(\".FieldGroup\")\n .querySelector(\".TextInput--status .TextInput--status\");\n if (be_error) {\n el\n .closest(\".FieldGroup\")\n .querySelector(\".TextInput--status .ErrorText\").style[\"display\"] =\n \"none\";\n if (valid) {\n const beErrorText = el\n .closest(\".FieldGroup\")\n .querySelector(\".ErrorText--amount\");\n\n if (beErrorText) {\n beErrorText.remove(\"ErrorText--visible\");\n }\n }\n }\n }\n\n updateSubscriptionPrice(valid) {\n const value = valid ? this.data.get(\"value\") * this.amount : 0;\n document.getElementById(\"profit_share_price\").innerHTML = value;\n\n let checkbox_amount = document.getElementById(\"amount_to_sub\");\n let checkbox_eur_amount = document.getElementById(\"eur_amount_to_sub\");\n\n if (checkbox_amount != undefined && checkbox_eur_amount != undefined) {\n checkbox_amount.innerHTML = this.amount;\n checkbox_eur_amount.innerHTML = value;\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"password\", \"current_password\", \"success\", \"submit\"];\n\n initialize() {}\n\n toggleSuccess() {\n this.submitTarget.classList.remove(\"Button--hidden\");\n this.successTarget.classList.add(\"Button--hidden\");\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class CredentialsController extends Controller {\n static targets = [\"email\", \"password\", \"submit\"];\n static emailValidationRe = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n initialize() {\n this.deferTimeouts = {};\n this.initialValidations();\n }\n\n connect() {\n this.initialValidations();\n }\n\n // Validate field values in case they are initialized in non-empty state.\n initialValidations() {\n if (this.emailTarget.value && this.emailTarget.value !== \"\") {\n this.validateEmail(this.emailTarget, true);\n }\n if (this.passwordTarget.value && this.passwordTarget.value !== \"\") {\n this.validatePassword(this.passwordTarget);\n }\n }\n\n updateSubmitAvailability() {\n if (this.isValidForm()) {\n this.submitTarget.removeAttribute(\"disabled\");\n } else {\n this.submitTarget.setAttribute(\"disabled\", true);\n }\n }\n\n isValidForm() {\n return [this.emailTarget, this.passwordTarget].reduce((valid, target) => {\n if (target.closest(\".TextInput--status--success\") == null) {\n return false;\n } else {\n return valid;\n }\n }, true);\n }\n\n getTarget(e) {\n if (e.target) return e.target;\n else return e;\n }\n\n validatePassword(e, preserveServerErrors) {\n const validateNow = () => {\n this.validateField(this.getTarget(e), [\n this.notBlank,\n this.longerThan.bind(this, 8)\n ]);\n };\n\n if (preserveServerErrors) {\n return this.isValidFromServer(this.getTarget(e)) && validateNow();\n } else if (this.requiresImmediateAction(e)) {\n validateNow();\n } else {\n this.defer(\"password\", () => {\n const serverError = this.getTarget(e)\n .closest(\".FieldGroup\")\n .querySelector(\".ErrorText\");\n serverError && serverError.classList.remove(\"ErrorText--visible\");\n validateNow();\n });\n }\n }\n\n validateEmail(e, preserveServerErrors) {\n const validateNow = () => {\n this.validateField(this.getTarget(e), [\n this.notBlank,\n this.matches.bind(this, CredentialsController.emailValidationRe)\n ]);\n };\n\n if (preserveServerErrors) {\n return this.isValidFromServer(this.getTarget(e)) && validateNow();\n } else if (this.requiresImmediateAction(e)) {\n validateNow();\n } else {\n this.defer(\"email\", () => {\n const serverError = this.getTarget(e)\n .closest(\".FieldGroup\")\n .querySelector(\".ErrorText\");\n serverError && serverError.classList.remove(\"ErrorText--visible\");\n validateNow();\n });\n }\n }\n\n validateField(field, validations = []) {\n let validityStatus;\n this.removeStatus(field);\n\n const valid = validations.reduce((valid, fn) => {\n return valid && fn(field.value);\n }, true);\n if (valid) {\n validityStatus = \"TextInput--status--success\";\n } else {\n validityStatus = \"TextInput--status--error\";\n }\n\n this.addStatus(field, validityStatus);\n }\n\n requiresImmediateAction(e) {\n return (\n e.key === \"Enter\" ||\n e.keyCode === 13 ||\n (e.key === \"Tab\" || e.keyCode === 9) ||\n e.type === \"change\" ||\n e.type === \"blur\"\n );\n }\n\n notBlank(value) {\n return value && value !== \"\";\n }\n\n longerThan(num, value) {\n return value && value.length >= num;\n }\n\n matches(re, value) {\n return value && re.test(value);\n }\n\n isValidFromServer(target) {\n const serverError = target\n .closest(\".FieldGroup\")\n .querySelector(\".ErrorText\");\n\n const errorsExist =\n serverError &&\n (serverError.childElementCount > 0 ||\n (serverError.textContent && serverError.textContent.length > 0));\n return !errorsExist;\n }\n\n removeStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelector(\".TextInput--status\")\n .classList.remove(\n \"TextInput--status--error\",\n \"TextInput--status--success\"\n );\n }\n\n addStatus(el, status) {\n el.closest(\".FieldGroup\")\n .querySelector(\".TextInput--status\")\n .classList.add(status);\n this.updateSubmitAvailability();\n }\n\n // Defers execution of given function for 500ms, used to debounce validations\n // in input fields\n defer(identifier, fn) {\n if (this.deferTimeouts[identifier]) {\n clearTimeout(this.deferTimeouts[identifier]);\n }\n this.deferTimeouts[identifier] = setTimeout(fn, 500);\n return this.deferTimeouts[identifier];\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"feedback\"];\n\n initialize() {}\n\n validate() {\n this.clearBackEndErrors(this.element);\n }\n\n clearBackEndErrors(el) {\n const error_status = el.querySelector(\".TextInput--status\");\n const error_info = el.querySelector(\".ErrorText\");\n if (error_status) {\n error_status.classList.remove(\"TextInput--status--error\");\n }\n if (error_info) {\n error_info.classList.remove(\"ErrorText--visible\");\n }\n }\n}\n","import IBAN from \"iban\";\nimport { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"bank_account\"];\n\n initialize() {\n if (this.bank_account) {\n this.validate();\n }\n }\n\n get bank_account() {\n return this.bank_accountTarget.value;\n }\n\n isValid() {\n return this.valid;\n }\n\n validate() {\n if (this.status) this.removeStatus(this.element);\n\n const pattern = new RegExp(\"^FI[A-Z0-9 ]*$\", \"i\");\n this.valid =\n IBAN.isValid(this.bank_account) && pattern.test(this.bank_account);\n this.status = this.valid\n ? \"TextInput--status--success\"\n : \"TextInput--status--error\";\n\n this.addStatus(this.element);\n }\n\n removeStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelector(\".TextInput--status\")\n .classList.remove(this.status);\n }\n\n addStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelector(\".TextInput--status\")\n .classList.add(this.status);\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n initialize() {\n document.getElementById(\"iban_change_error\").style.display = \"none\";\n }\n\n get ibanController() {\n return this.application.getControllerForElementAndIdentifier(\n document.getElementById(\"iban-field\"),\n \"iban\"\n );\n }\n\n submit(event) {\n let validity = this.ibanController.isValid();\n\n if (!validity) {\n document.getElementById(\"iban_change_error\").style.display = \"block\";\n event.preventDefault();\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"entitlement\", \"field\"];\n\n initialize() {\n document.getElementById(\"initiative_error\").style.display = \"none\";\n }\n\n get checkbox() {\n return this.entitlementTarget;\n }\n\n get fields() {\n return this.fieldTargets;\n }\n\n submit(event) {\n if (!this.checkbox.checked || !this.CheckIfBlank(this.fields)) {\n document.getElementById(\"initiative_error\").style.display = \"block\";\n event.preventDefault();\n }\n }\n\n CheckIfBlank(fields) {\n for (var i = 0; i < fields.length; i++) {\n if (fields[i].value == \"\") {\n return false;\n }\n }\n return true;\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"click\"];\n\n initialize() {}\n\n click(e) {\n const _this = this;\n\n e.preventDefault();\n\n let overlay = document.createElement(\"div\");\n overlay.setAttribute(\n \"class\",\n \"Initiative--overlay NoticeOverlay NoticeOverlay--visible\"\n );\n document.body.appendChild(overlay);\n\n let noticeHolder = document.createElement(\"div\");\n noticeHolder.setAttribute(\n \"class\",\n \"Initiative--notice Notice Notice--visible\"\n );\n\n let noticeContent = document.createElement(\"div\");\n noticeContent.setAttribute(\"class\", \"Notice__Content\");\n\n noticeHolder.appendChild(noticeContent);\n document.body.appendChild(noticeHolder);\n\n noticeContent.innerHTML = document.querySelector(\n \".Initiatives__Details__Vote--content\"\n ).innerHTML;\n\n const closeEl = document.querySelector(\n \".Notice__Content .Initiative--cancel\"\n );\n\n closeEl.addEventListener(\"click\", e => {\n e.preventDefault();\n\n _this.close();\n });\n }\n\n close() {\n document.querySelector(\".Initiative--overlay\").remove();\n document.querySelector(\".Initiative--notice\").remove();\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"card\", \"confirm\", \"submit\"];\n\n initialize() {\n setTimeout(() => {\n document.getElementsByClassName(\"CardQR--code\")[0].style.display = \"none\";\n document.getElementsByClassName(\"CardQR--expired\")[0].style.display =\n \"block\";\n\n if (document.querySelector(\".UserProfile__MemberCard__QR\") != null) {\n document.getElementsByClassName(\"CardQR--code\")[0].style.display =\n \"none\";\n document.getElementsByClassName(\"CardQR--expired\")[0].style.display =\n \"block\";\n }\n }, 900000);\n }\n\n toggle() {\n this.element.classList.toggle(\"CardWrapper--active\");\n }\n\n refresh(e) {\n e.preventDefault();\n window.location.reload();\n }\n\n onConfirm() {\n const state = this.confirmTarget.checked;\n this.submitTarget.disabled = !state;\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"option\"];\n\n prevent(e) {\n let count = 0;\n for (var i = 0; i < this.optionTargets.length; i++) {\n if (this.optionTargets[i].checked) {\n count++;\n }\n }\n\n if (\n count >\n parseInt(\n document.querySelector(\".MemberVoting__Form\").getAttribute(\"data-max\")\n )\n )\n e.target.checked = false;\n }\n\n validate(e) {\n this.prevent(e);\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\n \"phonenumber\",\n \"address\",\n \"zipcode\",\n \"city\",\n \"email\",\n \"password\",\n \"membercard\",\n \"newsletter\",\n \"passwordvisibility\"\n ];\n\n initialize() {\n this.togglePasswordVisibility(this.passwordvisibilityTarget);\n\n let emptyInit = this.emptyInit();\n\n if (!emptyInit) {\n this.validatePhone(this.phonenumberTarget);\n this.validateEmpty(this.addressTarget);\n this.validateEmpty(this.zipcodeTarget);\n this.validateEmpty(this.cityTarget);\n this.validateEmail(this.emailTarget);\n this.validatePassword(this.passwordTarget);\n }\n }\n\n emptyInit() {\n let emptyInit = true;\n let targets = [\n \"phonenumber\",\n \"address\",\n \"zipcode\",\n \"city\",\n \"email\",\n \"password\"\n ];\n\n for (let key in targets) {\n let target = targets[key];\n\n if (this[target + \"Target\"].value != \"\") {\n emptyInit = false;\n }\n }\n\n return emptyInit;\n }\n\n validateEmpty(e) {\n e = this.setTarget(e);\n\n if (this.status) this.removeStatus(e);\n\n if (e.value == \"\") {\n this.status = \"TextInput--status--error\";\n } else {\n this.status = \"TextInput--status--success\";\n }\n\n this.addStatus(e);\n }\n\n setTarget(e) {\n if (e.target) return e.target;\n else return e;\n }\n\n validatePassword(e) {\n e = this.setTarget(e);\n\n if (this.status) this.removeStatus(e);\n\n if (e.value == \"\" || e.value.length < 8) {\n this.status = \"TextInput--status--error\";\n } else {\n this.status = \"TextInput--status--success\";\n }\n\n this.addStatus(e);\n }\n\n validateRegExp(e, re) {\n e = this.setTarget(e);\n\n if (this.status) this.removeStatus(e);\n\n if (e.value == \"\" || !re.test(e.value)) {\n this.status = \"TextInput--status--error\";\n } else {\n this.status = \"TextInput--status--success\";\n }\n\n this.addStatus(e);\n }\n\n validateEmail(e) {\n const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n this.validateRegExp(e, re);\n }\n\n validatePhone(e) {\n const re = /^\\+([0-9]{12})$/;\n\n this.validateRegExp(e, re);\n }\n\n removeStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelector(\".TextInput--status\")\n .classList.remove(this.status);\n }\n\n addStatus(el) {\n el.closest(\".FieldGroup\")\n .querySelector(\".TextInput--status\")\n .classList.add(this.status);\n }\n\n togglePasswordVisibility(el) {\n if (el.target) el = el.target;\n\n if (el.checked) this.passwordTarget.setAttribute(\"type\", \"text\");\n else this.passwordTarget.setAttribute(\"type\", \"password\");\n }\n\n reset(e) {\n e.preventDefault();\n\n this.phonenumberTarget.value = \"\";\n this.addressTarget.value = \"\";\n this.zipcodeTarget.value = \"\";\n this.cityTarget.value = \"\";\n this.emailTarget.value = \"\";\n this.passwordTarget.value = \"\";\n this.membercardTarget.checked = false;\n this.newsletterTarget.checked = false;\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"content\", \"overlay\"];\n\n initialize() {}\n\n close() {\n this.contentTarget.classList.add(\"Notice--hide\");\n this.overlayTarget.classList.add(\"NoticeOverlay--hide\");\n\n setTimeout(() => {\n if (this.hasContentTarget && this.contentTarget.parentNode) {\n this.contentTarget.parentNode.removeChild(this.contentTarget);\n }\n if (this.hasOverlayTarget && this.overlayTarget.parentNode) {\n this.overlayTarget.parentNode.removeChild(this.overlayTarget);\n }\n }, 750);\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"tab\", \"panel\"];\n\n initialize() {\n this.showTab();\n }\n\n change(e) {\n this.index = this.tabTargets.indexOf(e.target.parentNode);\n this.showTab();\n }\n\n showTab() {\n const profit_shares_elem = document.getElementById(\"profit_shares\");\n const sold_profit_shares_elem = document.getElementById(\n \"sold_profit_shares\"\n );\n\n if (profit_shares_elem) {\n if (this.index == 0) {\n profit_shares_elem.style.display = \"block\";\n sold_profit_shares_elem.style.display = \"none\";\n } else if (this.index == 1) {\n profit_shares_elem.style.display = \"none\";\n sold_profit_shares_elem.style.display = \"block\";\n }\n }\n\n this.removeAndAddClasses();\n }\n\n removeAndAddClasses() {\n this.tabTargets.forEach((el, i) => {\n if (i == this.index) {\n el.classList.add(\"ProfitShares__Page__Body__TabbedNavItem--active\");\n el.classList.remove(\"ProfitShares__Page__Body__TabbedNavItem\");\n } else if (this.index == -1) {\n return;\n } else {\n el.classList.add(\"ProfitShares__Page__Body__TabbedNavItem\");\n el.classList.remove(\"ProfitShares__Page__Body__TabbedNavItem--active\");\n }\n });\n }\n\n get index() {\n return parseInt(this.data.get(\"index\"));\n }\n\n set index(value) {\n this.data.set(\"index\", value);\n this.showTab();\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class PostcodesController extends Controller {\n static targets = [\"zipcode\", \"city\"];\n\n search() {\n const value = this.zipcodeTarget.value;\n // Don't search zipcodes if less than 3 digits entered\n if (value.length < 3 || value.length > 5) {\n return;\n }\n\n fetch(`/api/postcodes/search/${value}`)\n .then((response) => response.json())\n .then((data) => {\n if (data.length == 1) {\n this.cityTarget.value = data[0];\n }\n });\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n initialize() {\n document.getElementById(\"resign_error\").style.display = \"none\";\n }\n\n get ibanController() {\n return this.application.getControllerForElementAndIdentifier(\n document.getElementById(\"iban-field\"),\n \"iban\"\n );\n }\n\n submit(event) {\n let validity = this.ibanController.isValid();\n\n if (!validity) {\n document.getElementById(\"resign_error\").style.display = \"block\";\n event.preventDefault();\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n initialize() {\n document.getElementById(\"sales_error\").style.display = \"none\";\n this.confirm = false;\n }\n\n get amountController() {\n return this.application.getControllerForElementAndIdentifier(\n document.getElementById(\"amount-field\"),\n \"amount\"\n );\n }\n\n get ibanController() {\n return this.application.getControllerForElementAndIdentifier(\n document.getElementById(\"iban-field\"),\n \"iban\"\n );\n }\n\n sell_confirm(event) {\n this.confirm = event.target.checked;\n }\n\n submit(event) {\n let validity = this.checkValidity();\n\n if (!validity) {\n document.getElementById(\"sales_error\").style.display = \"block\";\n event.preventDefault();\n }\n }\n\n checkValidity() {\n // Check amount & IBAN field validity\n return (\n this.amountController.isValid() &&\n this.ibanController.isValid() &&\n this.confirm\n );\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"checkbox\"];\n\n initialize() {\n document.getElementById(\"subscription_error\").style.display = \"none\";\n }\n\n get checkbox() {\n return this.checkboxTargets;\n }\n\n get amountController() {\n return this.application.getControllerForElementAndIdentifier(\n document.getElementById(\"amount-field\"),\n \"amount\"\n );\n }\n\n get ibanController() {\n return this.application.getControllerForElementAndIdentifier(\n document.getElementById(\"iban-field\"),\n \"iban\"\n );\n }\n\n submit(event) {\n const checkboxes = this.checkbox;\n\n let validity = this.checkValidity(checkboxes);\n\n if (!validity) {\n document.getElementById(\"subscription_error\").style.display = \"block\";\n event.preventDefault();\n }\n }\n\n checkValidity(cb) {\n // Check amount & IBAN field validity\n if (!this.checkFieldsValidity()) return false;\n\n // Check checkbox validity\n for (var i = 0; i < cb.length; i++) {\n if (!cb[i].checked) {\n return false;\n }\n }\n return true;\n }\n\n checkFieldsValidity() {\n return this.amountController.isValid() && this.ibanController.isValid();\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\"mobilephone\", \"email\", \"lang\", \"success\", \"submit\"];\n\n initialize() {}\n\n toggleSuccess() {\n this.submitTarget.classList.remove(\"Button--hidden\");\n this.successTarget.classList.add(\"Button--hidden\");\n }\n}\n","// TopBar Login components\n//\n\nconst topBar = {};\n\ntopBar.bindEvents = (clicked, el, selector) => {\n clicked.addEventListener(\"click\", e => {\n e.preventDefault();\n\n if (el.classList.contains(selector)) {\n el.classList.remove(selector);\n } else {\n el.classList.add(selector);\n }\n });\n};\ntopBar.init = () => {\n const elements = document.querySelectorAll(\n \".TopBar__Container__Navigation__Item__Link\"\n );\n\n if (elements) {\n elements.forEach(el => {\n const parent = el.parentNode;\n\n if (parent.children && parent.children.length === 2) {\n topBar.bindEvents(\n el,\n el,\n \"TopBar__Container__Navigation__Item__Link--open\"\n );\n\n document\n .querySelector(\".TopBar__Container__Navigation__Item__Popup__Overlay\")\n .addEventListener(\"click\", e => {\n el.classList.remove(\n \"TopBar__Container__Navigation__Item__Link--open\"\n );\n });\n }\n });\n }\n\n const toggleNavi = document.querySelector(\".TopBar__Container__Toggle\");\n const topBarEl = document.querySelector(\".TopBar__Placeholder\");\n if (toggleNavi !== null && topBarEl !== null) {\n topBar.bindEvents(toggleNavi, topBarEl, \"TopBar__Placeholder__Open\");\n }\n};\n\nwindow.topBar = topBar;\n","const userBirthday = {};\n\nuserBirthday.setValue = e => {\n const parent = e.target.closest(\".TextInput\");\n const el = parent.querySelector(\"#activation_date_of_birth\");\n const values = document.querySelectorAll(\".TextInput--birthday--input\");\n let value = \"\";\n\n values.forEach(el => {\n value += el.value;\n });\n\n el.value = value;\n\n registrationView.validate.input(el);\n};\n\nuserBirthday.setInput = (el, prev, next) => {\n el.addEventListener(\"input\", e => {\n e.target.value = e.target.value.replace(/\\D/g, '');\n const forward = e.target.value.length >= 2 ? true : false;\n\n if (forward) {\n userBirthday.stepForward(e, next);\n } else {\n userBirthday.stepBack(e, prev);\n }\n\n userBirthday.setValue(e);\n });\n};\n\nuserBirthday.setBackspace = (el, prev) => {\n el.addEventListener(\"keydown\", e => {\n if (e.keyCode === 8 && e.target.value.length === 0 && prev) {\n prev.focus();\n prev.value = \"\";\n }\n });\n};\n\nuserBirthday.setEvents = (el, prev, next) => {\n userBirthday.setInput(el, prev, next);\n userBirthday.setBackspace(el, prev);\n};\n\nuserBirthday.step = (target, val) => {\n target.focus();\n if (val) target.value = val;\n else target.value = target.value;\n};\n\nuserBirthday.stepForward = (e, next) => {\n const val =\n e.target.value.length > 2\n ? String(e.target.value).substr(\n e.target.value.length - 1,\n e.target.value.length\n )\n : false;\n e.target.value = !next\n ? e.target.value.substr(0, 4)\n : e.target.value.substr(0, 2);\n\n if (next && e.target.value.length === 2) {\n userBirthday.step(next, val);\n }\n};\n\nuserBirthday.stepBack = (e, prev) => {\n if (prev && e.target.value.length !== 1) {\n userBirthday.step(prev);\n }\n};\nuserBirthday.setDefaultVal = (hiddenEl, inputElements) => {\n if (hiddenEl && hiddenEl.value !== \"\") {\n let birthdayArr = [];\n\n birthdayArr[0] = hiddenEl.value.substr(0, 2);\n birthdayArr[1] = hiddenEl.value.substr(2, 2);\n birthdayArr[2] = hiddenEl.value.substr(4, 4);\n\n inputElements.forEach((el, i) => {\n el.value = birthdayArr[i];\n });\n }\n};\n\nuserBirthday.datePicker = () => {\n const datePicker = document.querySelector(\".TextInput--birthday .DatePicker\");\n const birthdayEl = document.querySelector(\n \".TextInput--birthday #activation_date_of_birth\"\n );\n let birthday = [];\n\n const elements = document.querySelectorAll(\n \".TextInput--birthday--holder input\"\n );\n\n if (datePicker) {\n datePicker.addEventListener(\"input\", e => {\n datePicker.value.split(\"-\").forEach((val, i) => {\n if (i == 0) birthday[2] = val;\n else if (i == 2) birthday[0] = val;\n else birthday[1] = val;\n });\n\n birthdayEl.value = birthday.join(\"\");\n datePicker.value = birthday.join(\"\");\n\n elements.forEach((el, i) => {\n el.value = birthday[i];\n });\n });\n }\n};\nuserBirthday.init = () => {\n userBirthday.datePicker();\n\n const elements = document.querySelectorAll(\".TextInput--birthday--holder\");\n\n if (elements.length) {\n const el = elements[0];\n const inputElements = el.querySelectorAll(\"input\");\n const input = el\n .closest(\".FieldGroup\")\n .querySelector(\"#activation_date_of_birth\");\n\n userBirthday.setDefaultVal(input, inputElements);\n inputElements.forEach((el, i) => {\n const prev = inputElements[i - 1] ? inputElements[i - 1] : false;\n const next = inputElements[i + 1] ? inputElements[i + 1] : false;\n\n userBirthday.setEvents(el, prev, next);\n });\n\n if (\n input.value !== \"\" &&\n input.closest(\".TextInput--status--error\") === null\n )\n registrationView.validate.blur(input);\n }\n};\n\nconst userId = {};\nuserId.blur = false;\nuserId.init = () => {\n const el = document.querySelector(\"#activation_userid\");\n if (el) {\n el.addEventListener(\"input\", e => {\n el.value = el.value.substr(0, 20);\n registrationView.validate.input(el);\n });\n\n if (el.value !== \"\" && el.closest(\".TextInput--status--error\") === null)\n registrationView.validate.blur(el);\n }\n};\n\nconst registrationView = {\n inputs: {},\n validate: {\n input: el => {\n if (!userBirthday.blur) {\n el.addEventListener(\"blur\", e => {\n registrationView.validate.blur(el);\n });\n userBirthday.blur = true;\n }\n clearTimeout(window.validate.inputs[el.name]);\n validate.toggleFormState(validate.check[el.name](el), el);\n },\n blur: el => {\n clearTimeout(window.validate.inputs[el.name]);\n validate.toggleFormState(validate.check[el.name](el), el);\n }\n }\n};\n\nwindow.userBirthday = userBirthday;\nwindow.userId = userId;\n","// Navigation functionality\n//\n\nconst navigation = {};\n\nnavigation.toggleLanguage = {};\n\nnavigation.addEvents = (trigger, el, selector) => {\n trigger.addEventListener(\"click\", e => {\n if (el.classList.contains(selector + \"--open\")) {\n el.classList.remove(selector + \"--open\");\n } else {\n el.classList.add(selector + \"--open\");\n }\n });\n};\nnavigation.toggleLanguage.init = () => {\n const trigger = document.querySelector(\n \".TopBar__Container__Navigation__Item__Link--lang\"\n );\n\n const el = document.querySelector(\".LanguageSelector\");\n\n if (trigger !== null) {\n navigation.addEvents(trigger, el, \"LanguageSelector\");\n document\n .querySelector(\".LanguageSelector__Overlay\")\n .addEventListener(\"click\", e => {\n el.classList.add(\"LanguageSelector--open\");\n });\n }\n};\n\nnavigation.actions = {\n setSmall: viewports => {\n const elements = {\n desktop: {\n self: navigation.dtNavEl,\n area: navigation.dtArea,\n offset: navigation.dtAreaOffset\n },\n mobile: {\n self: navigation.mobNavEl,\n area: navigation.mobArea,\n offset: navigation.mobAreaOffset\n }\n };\n viewports.forEach(viewport => {\n const el = elements[viewport];\n if (window.pageYOffset >= el.area.clientHeight + el.offset) {\n if (el.self) {\n el.self.classList.add(\"small\");\n }\n }\n });\n },\n css: (elements, obj) => {\n elements.forEach(el => {\n if (el) {\n el.classList.add(obj.add);\n el.classList.remove(obj.remove);\n }\n });\n },\n moveDown: () => {\n navigation.actions.setSmall([\"mobile\", \"desktop\"]);\n\n if (window.pageYOffset >= navigation.dtAreaOffset) {\n navigation.actions.css([navigation.dtNavEl, navigation.mobNavEl], {\n add: \"fixed\",\n remove: \"up\"\n });\n navigation.navigationEl.classList.add(\"small\");\n navigation.navigationEl.classList.add(\"fixed\");\n }\n },\n moveUp: () => {\n navigation.actions.css([navigation.dtNavEl, navigation.mobNavEl], {\n add: \"up\",\n remove: \"small\"\n });\n navigation.navigationEl.classList.remove(\"small\");\n navigation.navigationEl.classList.add(\"fixed\");\n }\n};\n\nnavigation.scroll = () => {\n const action = window.pageYOffset > navigation.start ? \"moveDown\" : \"moveUp\";\n navigation.start = window.pageYOffset;\n\n const topBarEls = document.querySelectorAll(\n \".MemberPortalLogin__Overlay, .TopBar__Container__Navigation__Item__Link--open\"\n );\n\n if (\n navigation.start > 0 &&\n navigation.start + document.documentElement.clientHeight <\n document.body.scrollHeight &&\n topBarEls.length == 0\n ) {\n navigation.actions[action]();\n }\n};\n\nnavigation.subNavInit = selector => {\n const elements = document.querySelectorAll(\".\" + selector + \"--has-children\");\n elements.forEach(el => {\n navigation.addEvents(\n el.querySelector(\".\" + selector + \"__Arrow\"),\n el,\n selector\n );\n });\n};\n\nnavigation.getElOffsetTop = selector => {\n return document.querySelector(selector) !== null\n ? document.querySelector(selector).offsetTop\n : navigation.navigationEl.offsetTop;\n};\n\nnavigation.checkEl = selector => {\n return document.querySelector(selector) !== null\n ? document.querySelector(selector)\n : false;\n};\n\nnavigation.getEl = selector => {\n return document.querySelector(selector) !== null\n ? document.querySelector(selector)\n : navigation.navigationEl;\n};\n\nnavigation.init = () => {\n navigation.start = 0;\n navigation.navigationEl = document.querySelector(\".TopBar\");\n navigation.mobAreaOffset = navigation.getElOffsetTop(\".MobileNavigation\");\n navigation.mobNavEl = navigation.checkEl(\".MobileNavigation__Container\");\n navigation.mobArea = navigation.getEl(\".MobileNavigation__Container\");\n navigation.dtAreaOffset = navigation.getElOffsetTop(\n \".NavigationHeader__Placeholder\"\n );\n navigation.dtNavEl = navigation.checkEl(\".NavigationHeader\");\n navigation.dtArea = navigation.getEl(\".NavigationHeader\");\n navigation.subNavInit(\"NavigationHeader__Container__Content__Elem\");\n navigation.subNavInit(\"SideBar__Navigation__Item\");\n navigation.toggleLanguage.init();\n};\n\nwindow.navigation = navigation;\n","// Place all the behaviors and hooks related to the matching controller here.\n// All this logic will automatically be available in application.js.\n\nconst isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\nconst password = {};\n\npassword.toggle = (passwords, type) => {\n passwords.forEach(el => {\n el.setAttribute(\"type\", type);\n });\n};\n\npassword.launch = (passwords, el) => {\n setTimeout(() => {\n if (el.checked) {\n password.toggle(passwords, \"text\");\n } else {\n password.toggle(passwords, \"password\");\n }\n }, 5);\n};\n\npassword.init = () => {\n const el = document.querySelector(\"#show_password\");\n\n if (el) {\n const form = el.closest(\"form\");\n const passwords = form.querySelectorAll('[type=\"password\"]');\n\n el.addEventListener(\"change\", e => {\n if (e.target.checked) {\n password.toggle(passwords, \"text\");\n } else {\n password.toggle(passwords, \"password\");\n }\n });\n\n password.launch(passwords, el);\n }\n};\n\nconst validate = {};\n\nvalidate.status = (() => {\n return document.querySelector(\".TextInput--status--error\") === null\n ? true\n : false;\n})();\nvalidate.toggleErrorText = {\n getEl: (el, check) => {\n if (el.closest(\".FieldGroup\").querySelector(\".InfoText\") !== null) {\n el.closest(\".FieldGroup\")\n .querySelector(\".InfoText\")\n .classList.remove(\"ErrorText\");\n if (!check) {\n el.closest(\".FieldGroup\")\n .querySelector(\".InfoText\")\n .classList.add(\"ErrorText\");\n }\n }\n\n return el.closest(\".FieldGroup\").querySelector(\".ErrorText\");\n },\n do: (check, el) => {\n el = validate.toggleErrorText.getEl(el, check);\n if (el && check) {\n el.classList.remove(\"ErrorText--visible\");\n } else if (el) {\n el.classList.add(\"ErrorText--visible\");\n }\n }\n};\n\nvalidate.statusIcon = {\n true: el => {\n validate.statusIcon.set(\n el,\n [\"TextInput--status--success\"],\n [\"TextInput--status--error\"]\n );\n },\n false: el => {\n validate.statusIcon.set(\n el,\n [\"TextInput--status--error\"],\n [\"TextInput--status--success\"]\n );\n },\n reset: el => {\n validate.statusIcon.set(\n el,\n [],\n [\"TextInput--status--success\", \"TextInput--status--error\"]\n );\n },\n set: (el, add, remove) => {\n el = el.closest(\".TextInput--status\");\n\n if (el) {\n add.forEach((status, i) => {\n el.closest(\".TextInput--status\").classList.add(status);\n });\n remove.forEach((status, i) => {\n el.closest(\".TextInput--status\").classList.remove(status);\n });\n }\n }\n};\n\nvalidate.toggleFormState = (check, el) => {\n const form = el.closest(\"form\");\n if (check && form) {\n form.querySelector('input[type=\"submit\"]').removeAttribute(\"disabled\");\n } else if (form) {\n form.querySelector('input[type=\"submit\"]').setAttribute(\"disabled\", true);\n }\n validate.inputs[el.name] = setTimeout(() => {\n validate.statusIcon[String(check)](el);\n validate.toggleErrorText.do(check, el);\n }, 500);\n};\n\nvalidate.check = {\n \"activation[userid]\": el => {\n return isNumeric(el.value) && el.value.length <= 20 ? true : false;\n },\n \"activation[date_of_birth]\": el => {\n return isNumeric(el.value) && el.value.length > 7 ? true : false;\n }\n};\n\nvalidate.email = el => {\n let check = true;\n\n const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n if (!re.test(el.value)) {\n check = false;\n }\n\n validate.toggleFormState(check, el);\n\n return check;\n};\n\nvalidate.password = el => {\n let check = true;\n\n if (el.value.length < 8) {\n check = false;\n }\n\n validate.toggleFormState(check, el);\n\n return check;\n};\n\nvalidate.checkInit = el => {\n if (!validate.status && el.value === \"\") {\n return true;\n }\n\n return false;\n};\n\nvalidate.checkValue = el => {\n let check = validate.check[el.name];\n\n if (typeof check !== \"undefined\" && !check(el)) {\n return false;\n }\n\n return true;\n};\n\nvalidate.validateForm = form => {\n const submit = form.querySelectorAll('[type=\"submit\"]')[0];\n\n submit.removeAttribute(\"disabled\");\n form.querySelectorAll(\"input\").forEach((el, i) => {\n if (validate.checkInit(el)) {\n return true;\n } else if (!validate.checkValue(el)) {\n submit.setAttribute(\"disabled\", \"disabled\");\n }\n });\n\n validate.status = true;\n};\n\nvalidate.events = {\n blur: false\n};\nvalidate.addEvent = {\n input: (el, form) => {\n el.addEventListener(\"input\", e => {\n validate.events.blur = true;\n clearTimeout(validate.inputs[el.name]);\n validate.statusIcon.reset(el);\n validate.validateForm(form);\n });\n },\n blur: (el, form) => {\n if (!validate.events.blur) {\n el.addEventListener(\"blur\", e => {\n clearTimeout(validate.inputs[el.name]);\n validate.statusIcon.reset(el);\n validate.validateForm(form);\n });\n }\n }\n};\n\nvalidate.inputs = {};\n\nvalidate.init = form => {\n if (form.getAttribute(\"data-controller\") == null) {\n const inputsArr = form.querySelectorAll(\"input\");\n\n inputsArr.forEach((el, i) => {\n validate.addEvent.input(el, form);\n validate.addEvent.blur(el, form);\n });\n\n if (!validate.status) {\n validate.validateForm(form);\n }\n }\n};\n\nwindow.validate = validate;\n\nconst validations = {};\n\nvalidations.init = () => {\n validations.newUser();\n};\n\nvalidations.newUser = () => {\n const form = document.querySelector(\"#new_user\");\n\n if (form) {\n setTimeout(() => {\n validate.init(form);\n }, 10);\n }\n};\n\ndocument.addEventListener(\"turbolinks:before-cache\", function() {\n const buttons = document.querySelectorAll(\".Button--submit\");\n\n buttons.forEach((el, i) => {\n el.classList.remove(\"Button--hidden\");\n });\n\n const loaderButtons = document.querySelectorAll(\".Button--loading\");\n\n loaderButtons.forEach((el, i) => {\n el.classList.add(\"Button--hidden\");\n });\n});\n\nconst toggleSubmit = el => {\n if (el.querySelector(\".Button--submit\"))\n el.querySelector(\".Button--submit\").classList.add(\"Button--hidden\");\n if (el.querySelector(\".Button--loading\"))\n el.querySelector(\".Button--loading\").classList.remove(\"Button--hidden\");\n};\n\nfunction setMobileDevice() {\n if (\n typeof window.orientation !== \"undefined\" ||\n navigator.userAgent.indexOf(\"IEMobile\") !== -1\n ) {\n document.body.classList.add(\"touch\");\n }\n}\n\ndocument.addEventListener(\"turbolinks:load\", () => {\n setMobileDevice();\n\n const forms = document.querySelectorAll(\"form\");\n\n forms.forEach((el, i) => {\n el.addEventListener(\"submit\", e => {\n toggleSubmit(el);\n });\n });\n password.init();\n window.topBar.init();\n validations.init();\n window.userBirthday.init();\n window.userId.init();\n window.navigation.init();\n window.card_notice.init();\n\n window.onscroll = () => {\n navigation.scroll();\n membervotingarchive.scroll();\n };\n\n window.onload = () => {\n membervotingarchive.scroll();\n };\n\n const hash = location.hash;\n if (hash) {\n const target = document.getElementById(hash.replace(\"#\", \"\"));\n if (target) {\n window.scrollTo(0, target.offsetTop);\n }\n }\n});\n","const card_notice = {};\n\ncard_notice.init = () => {\n const qrButton = document.querySelector(\".UserProfile .Card__FullSize\");\n const qrButtonMobile = document.querySelector(\".CardWrapper .Card__FullSize\");\n\n if (qrButton) {\n qrButton.addEventListener(\"click\", e => {\n card_notice.open();\n });\n }\n\n if (qrButtonMobile) {\n qrButtonMobile.addEventListener(\"click\", e => {\n card_notice.open();\n });\n }\n};\n\ncard_notice.close = (overlayEl, noticeEl) => {\n noticeEl.classList.remove(\"CardNotice--visible\");\n noticeEl.classList.add(\"CardNotice--hide\");\n overlayEl.classList.remove(\"CardNoticeOverlay--visible\");\n overlayEl.classList.add(\"CardNoticeOverlay--hide\");\n};\n\ncard_notice.open = () => {\n const overlayEl = document.querySelector(\".CardNoticeOverlay\");\n const noticeEl = document.querySelector(\".CardNotice\");\n\n noticeEl.classList.remove(\"CardNotice--hide\");\n noticeEl.classList.add(\"CardNotice--visible\");\n overlayEl.classList.remove(\"CardNoticeOverlay--hide\");\n overlayEl.classList.add(\"CardNoticeOverlay--visible\");\n\n if (overlayEl !== null && noticeEl !== null) {\n const buttonEl = noticeEl.querySelector(\".Button--close\");\n\n if (buttonEl !== null) {\n noticeEl.querySelector(\".Button--close\").addEventListener(\"click\", e => {\n e.preventDefault();\n card_notice.close(overlayEl, noticeEl);\n });\n }\n }\n};\n\nwindow.card_notice = card_notice;\n","// Place all the behaviors and hooks related to the matching controller here.\n// All this logic will automatically be available in application.js.\n\nlet up = true;\nlet start = 0;\nlet scrollDown = 0;\n\nconst sidenav = {};\n\nconst mvNav = {\n scroll: () => {\n if (\n window.pageYOffset + window.outerHeight >\n window.pageYOffset + mvNav.content.dimensions.bottom\n ) {\n mvNav.checkIfBelowBottom();\n } else if (\n up &&\n mvNav.nav.dimensions.bottom <\n window.pageYOffset + mvNav.content.dimensions.bottom\n ) {\n mvNav.checkGoingUp();\n } else if (sidenav.dimensions.top < mvNav.mainnav.dimensions.bottom) {\n mvNav.checkGoingDown();\n }\n },\n setBottom: bottom => {\n mvNav.nav.el.style.top = \"auto\";\n mvNav.nav.el.style.bottom = bottom + \"px\";\n },\n checkIfBelowBottom: () => {\n if (\n window.pageYOffset + mvNav.nav.dimensions.height >\n window.pageYOffset + mvNav.content.dimensions.bottom\n ) {\n mvNav.setBottom(window.innerHeight - mvNav.content.dimensions.bottom);\n }\n },\n checkGoingUp: () => {\n if (\n mvNav.nav.dimensions.top >=\n mvNav.mainnav.placeholder.dimensions.height +\n mvNav.mainnav.dimensions.height\n ) {\n if (mvNav.nav.dimensions.top > sidenav.dimensions.top) {\n mvNav.setTop();\n } else {\n mvNav.nav.el.classList.remove(\"fixed\");\n mvNav.nav.el.style.top = \"auto\";\n mvNav.nav.el.style.bottom = \"auto\";\n }\n } else {\n mvNav.setTop();\n }\n scrollDown = window.pageYOffset + mvNav.nav.dimensions.bottom;\n },\n checkGoingDown: () => {\n mvNav.nav.el.classList.add(\"fixed\");\n mvNav.nav.el.style.width = sidenav.dimensions.width + \"px\";\n if (mvNav.nav.dimensions.height > window.outerHeight) {\n let bottom = window.pageYOffset + window.innerHeight - scrollDown;\n if (bottom > 0) bottom = 0;\n mvNav.setBottom(bottom);\n } else {\n mvNav.setBottom(\n window.pageYOffset +\n window.innerHeight -\n (window.pageYOffset +\n mvNav.mainnav.dimensions.height +\n mvNav.nav.dimensions.height)\n );\n }\n },\n setTop: () => {\n mvNav.setBottom(\n window.pageYOffset +\n window.innerHeight -\n (window.pageYOffset +\n mvNav.nav.dimensions.height +\n mvNav.mainnav.placeholder.dimensions.height +\n mvNav.mainnav.dimensions.height)\n );\n },\n init: () => {\n mvNav.nav = {\n el: sidenav.holder.querySelector(\"nav\"),\n dimensions: sidenav.holder.querySelector(\"nav\").getBoundingClientRect()\n };\n mvNav.content = {\n el: document.querySelector(\".MemberVoting__Body\"),\n dimensions: document\n .querySelector(\".MemberVoting__Body\")\n .getBoundingClientRect()\n };\n\n mvNav.mainnav = {\n el: document.querySelectorAll(\".NavigationHeader__Container__Content\"),\n dimensions: document\n .querySelector(\".NavigationHeader__Container__Content\")\n .getBoundingClientRect(),\n placeholder: {\n el: document.querySelector(\".TopBar__Placeholder\"),\n dimensions: document\n .querySelector(\".TopBar__Placeholder\")\n .getBoundingClientRect()\n }\n };\n }\n};\n\nconst scroll = function() {\n sidenav.holder = document.querySelector(\".MemberVoting__Archive__Sidebar\");\n if (sidenav.holder != null) {\n sidenav.dimensions = document\n .querySelector(\".MemberVoting__Archive__Sidebar\")\n .getBoundingClientRect();\n\n if (window.pageYOffset > start) up = false;\n else up = true;\n\n start = window.pageYOffset;\n\n mvNav.init();\n\n mvNav.nav.el.style.left = sidenav.dimensions.x + \"px\";\n\n mvNav.scroll();\n }\n};\n\nwindow.membervotingarchive = {\n scroll\n};\n","// Load all the controllers within this directory and all subdirectories. \n// Controller files must be named *_controller.js.\n\nimport { Application } from \"stimulus\"\nimport { definitionsFromContext } from \"stimulus/webpack-helpers\"\n\nconst application = Application.start()\nconst context = require.context(\"controllers\", true, /_controller\\.js$/)\napplication.load(definitionsFromContext(context))\n","export function definitionsFromContext(context) {\n return context.keys().map(function (key) {\n return definitionForModuleWithContextAndKey(context, key);\n }).filter(function (value) {\n return value;\n });\n}\n\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\n\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module[\"default\"];\n\n if (typeof controllerConstructor == \"function\") {\n return {\n identifier: identifier,\n controllerConstructor: controllerConstructor\n };\n }\n}\n\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}"],"sourceRoot":""}