station 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nexmo_developer/app/assets/stylesheets/blog/blog.scss +2 -3
  3. data/lib/nexmo_developer/app/views/changelogs/index.html.erb +2 -1
  4. data/lib/nexmo_developer/app/webpacker/javascript/components/search/Search.vue +2 -0
  5. data/lib/nexmo_developer/public/assets/.sprockets-manifest-5d3f7a9ff18fd3ee1e8a4029a376a371.json +1 -0
  6. data/lib/nexmo_developer/public/assets/{application-5a4da3103c9b0e09ed68c736b10edcd863e1d1fa5b19e9f1471d7d263707723b.css → application-087234db38816cd2bb2011c7f65f124e8dd2fbe5249064e4050cc32d06e396e0.css} +1 -1
  7. data/lib/nexmo_developer/public/assets/application-087234db38816cd2bb2011c7f65f124e8dd2fbe5249064e4050cc32d06e396e0.css.gz +0 -0
  8. data/lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz +0 -0
  9. data/lib/nexmo_developer/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz +0 -0
  10. data/lib/nexmo_developer/public/packs/css/{application-9fb5c14c.chunk.css → application-3c41c7f1.chunk.css} +1 -1
  11. data/lib/nexmo_developer/public/packs/css/application-3c41c7f1.chunk.css.br +0 -0
  12. data/lib/nexmo_developer/public/packs/css/{application-9fb5c14c.chunk.css.gz → application-3c41c7f1.chunk.css.gz} +0 -0
  13. data/lib/nexmo_developer/public/packs/js/application-7640bbba21e6d3bce2a9.chunk.js +2 -0
  14. data/lib/nexmo_developer/public/packs/js/application-7640bbba21e6d3bce2a9.chunk.js.br +0 -0
  15. data/lib/nexmo_developer/public/packs/js/application-7640bbba21e6d3bce2a9.chunk.js.gz +0 -0
  16. data/lib/nexmo_developer/public/packs/js/application-7640bbba21e6d3bce2a9.chunk.js.map +1 -0
  17. data/lib/nexmo_developer/public/packs/js/application-7640bbba21e6d3bce2a9.chunk.js.map.br +0 -0
  18. data/lib/nexmo_developer/public/packs/js/application-7640bbba21e6d3bce2a9.chunk.js.map.gz +0 -0
  19. data/lib/nexmo_developer/public/packs/manifest.json +6 -6
  20. data/lib/nexmo_developer/public/packs/manifest.json.br +0 -0
  21. data/lib/nexmo_developer/public/packs/manifest.json.gz +0 -0
  22. data/lib/nexmo_developer/version.rb +1 -1
  23. metadata +14 -14
  24. data/lib/nexmo_developer/public/assets/.sprockets-manifest-50a37b21068714ade440a8011ebf845a.json +0 -1
  25. data/lib/nexmo_developer/public/assets/application-5a4da3103c9b0e09ed68c736b10edcd863e1d1fa5b19e9f1471d7d263707723b.css.gz +0 -0
  26. data/lib/nexmo_developer/public/packs/css/application-9fb5c14c.chunk.css.br +0 -0
  27. data/lib/nexmo_developer/public/packs/js/application-378cc52e33ed188bc2ea.chunk.js +0 -2
  28. data/lib/nexmo_developer/public/packs/js/application-378cc52e33ed188bc2ea.chunk.js.br +0 -0
  29. data/lib/nexmo_developer/public/packs/js/application-378cc52e33ed188bc2ea.chunk.js.gz +0 -0
  30. data/lib/nexmo_developer/public/packs/js/application-378cc52e33ed188bc2ea.chunk.js.map +0 -1
  31. data/lib/nexmo_developer/public/packs/js/application-378cc52e33ed188bc2ea.chunk.js.map.br +0 -0
  32. data/lib/nexmo_developer/public/packs/js/application-378cc52e33ed188bc2ea.chunk.js.map.gz +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./app/webpacker/images/logo@3x.png","webpack:///./app/webpacker/images/logo_vonage.png","webpack:///./app/webpacker/images/nexmo-developer-logo.svg","webpack:///./app/webpacker/images/nexmo-logo-collapsed.svg","webpack:///./app/webpacker/images/nexmo-vonage-white.svg","webpack:///./app/webpacker/images/posters/chatapp.jpg","webpack:///./app/webpacker/images/posters/chatapp_small.png","webpack:///./app/webpacker/images/posters/nexmo.jpg","webpack:///./app/webpacker/images/posters/numberinsight.jpg","webpack:///./app/webpacker/images/posters/numberinsight_small.png","webpack:///./app/webpacker/images/posters/sms.jpg","webpack:///./app/webpacker/images/posters/sms_small.png","webpack:///./app/webpacker/images/posters/verify.jpg","webpack:///./app/webpacker/images/posters/verify_small.png","webpack:///./app/webpacker/images/posters/voice.jpg","webpack:///./app/webpacker/images/posters/voice_small.png","webpack:///./app/webpacker/images/select-dropdown.png","webpack:///./app/webpacker/images/slack.svg","webpack:///./app/webpacker/images/themes/ea/topography.png","webpack:///./app/webpacker/fonts/icomoon.svg","webpack:///./app/webpacker/javascript/volta/volta.js","webpack:///./app/webpacker/javascript/volta/tooltip.min.js","webpack:///./app/webpacker/javascript/github_cards/index.js","webpack:///./app/webpacker/javascript/volta_tabbed_examples/index.js","webpack:///./app/webpacker/javascript/volta_tabbed_examples/user_preference.js","webpack:///./app/webpacker/javascript/format/index.js","webpack:///./app/webpacker/javascript/scroll/index.js","webpack:///./app/webpacker/javascript/notices/index.js","webpack:///./app/webpacker/javascript/api_status/index.js","webpack:///./app/webpacker/javascript/code_snippet_events/index.js","webpack:///./app/webpacker/javascript/sidenav/index.js","webpack:///./app/webpacker/javascript/topnav/index.js","webpack:///./app/webpacker/javascript/careers/index.js","webpack:///./app/webpacker/javascript/locale_switcher/index.js","webpack:///./app/webpacker/javascript/adobe_analytics/index.js","webpack:///./app/webpacker/javascript/components/feedback/Feedback.vue?95fe","webpack:///./app/webpacker/javascript/components/feedback/eventHub.js","webpack:///./app/webpacker/javascript/components/feedback/store.js","webpack:///./app/webpacker/javascript/components/feedback/step/TextArea.vue?446b","webpack:///app/webpacker/javascript/components/feedback/step/TextArea.vue","webpack:///./app/webpacker/javascript/components/feedback/step/TextArea.vue","webpack:///./app/webpacker/javascript/components/feedback/step/TextArea.vue?3ed7","webpack:///./app/webpacker/javascript/components/feedback/step/RadioGroup.vue?45b7","webpack:///app/webpacker/javascript/components/feedback/step/RadioGroup.vue","webpack:///./app/webpacker/javascript/components/feedback/step/RadioGroup.vue","webpack:///./app/webpacker/javascript/components/feedback/step/RadioGroup.vue?0acb","webpack:///./app/webpacker/javascript/components/feedback/step/Plain.vue?2b64","webpack:///app/webpacker/javascript/components/feedback/step/Plain.vue","webpack:///./app/webpacker/javascript/components/feedback/step/Plain.vue","webpack:///./app/webpacker/javascript/components/feedback/step/Plain.vue?beb2","webpack:///./app/webpacker/javascript/components/feedback/step/FieldSet.vue?5f34","webpack:///app/webpacker/javascript/components/feedback/step/FieldSet.vue","webpack:///./app/webpacker/javascript/components/feedback/step/base.vue?1a60","webpack:///app/webpacker/javascript/components/feedback/step/base.vue","webpack:///./app/webpacker/javascript/components/feedback/step/FieldSet.vue","webpack:///./app/webpacker/javascript/components/feedback/step/FieldSet.vue?54d3","webpack:///./app/webpacker/javascript/components/feedback/FeedbackPath.vue?bff5","webpack:///app/webpacker/javascript/components/feedback/FeedbackPath.vue","webpack:///./app/webpacker/javascript/components/feedback/step/base.vue","webpack:///./app/webpacker/javascript/components/feedback/step/base.vue?5dfa","webpack:///./app/webpacker/javascript/components/feedback/Feedback.vue?7ec7","webpack:///app/webpacker/javascript/components/feedback/Feedback.vue","webpack:///./app/webpacker/javascript/components/feedback/FeedbackPath.vue","webpack:///./app/webpacker/javascript/components/feedback/FeedbackPath.vue?b008","webpack:///./app/webpacker/javascript/components/feedback/Feedback.vue","webpack:///./app/webpacker/javascript/components/search/Search.vue?c7a6","webpack:///./app/webpacker/javascript/components/search/NDPArticle.vue?0f54","webpack:///app/webpacker/javascript/components/search/NDPArticle.vue","webpack:///./app/webpacker/javascript/components/search/NDPArticle.vue","webpack:///./app/webpacker/javascript/components/search/NDPArticle.vue?8c07","webpack:///./app/webpacker/javascript/components/search/ZendeskArticle.vue?6455","webpack:///app/webpacker/javascript/components/search/ZendeskArticle.vue","webpack:///./app/webpacker/javascript/components/search/Blog.vue?050d","webpack:///app/webpacker/javascript/components/search/Blog.vue","webpack:///./app/webpacker/javascript/components/search/Search.vue?8e41","webpack:///app/webpacker/javascript/components/search/Search.vue","webpack:///./app/webpacker/javascript/components/search/ZendeskArticle.vue","webpack:///./app/webpacker/javascript/components/search/ZendeskArticle.vue?669c","webpack:///./app/webpacker/javascript/components/search/Blog.vue","webpack:///./app/webpacker/javascript/components/search/Blog.vue?e185","webpack:///./app/webpacker/javascript/components/search/Search.vue","webpack:///./app/webpacker/javascript/components/concatenation/Concatenation.vue?d4d5","webpack:///./app/webpacker/javascript/components/concatenation/character_counter.js","webpack:///./app/webpacker/javascript/components/concatenation/Concatenation.vue?5e41","webpack:///app/webpacker/javascript/components/concatenation/Concatenation.vue","webpack:///./app/webpacker/javascript/components/concatenation/Concatenation.vue","webpack:///./app/webpacker/javascript/components/jwt_generator/JwtGenerator.vue?9b39","webpack:///./app/webpacker/javascript/components/jwt_generator/JwtGenerator.vue?da14","webpack:///app/webpacker/javascript/components/jwt_generator/JwtGenerator.vue","webpack:///./app/webpacker/javascript/components/jwt_generator/JwtGenerator.vue","webpack:///./app/webpacker/packs/application.js","webpack:///./app/webpacker/images sync ^\\.\\/.*$","webpack:///./app/webpacker/fonts sync ^\\.\\/.*$","webpack:///./app/webpacker/fonts/Lato-Black.woff","webpack:///./app/webpacker/fonts/Lato-Black.woff2","webpack:///./app/webpacker/fonts/Lato-Regular.woff","webpack:///./app/webpacker/fonts/Lato-Regular.woff2","webpack:///./app/webpacker/fonts/Lato-Semibold.woff","webpack:///./app/webpacker/fonts/Lato-Semibold.woff2","webpack:///./app/webpacker/fonts/icomoon.eot","webpack:///./app/webpacker/fonts/icomoon.ttf","webpack:///./app/webpacker/fonts/icomoon.woff","webpack:////home/runner/work/station/station/node_modules/@vonagevolta/volta2/images/logos sync ^\\.\\/.*$","webpack:////home/runner/work/station/station/node_modules/@vonagevolta/volta2/dist/symbol sync ^\\.\\/.*$","webpack:///./app/webpacker/javascript/components/feedback/step/TextArea.vue?a6b9","webpack:///./app/webpacker/javascript/components/feedback/step/RadioGroup.vue?012e","webpack:///./app/webpacker/javascript/components/feedback/step/Plain.vue?4c39","webpack:///./app/webpacker/javascript/components/feedback/step/FieldSet.vue?1de6","webpack:///./app/webpacker/javascript/components/feedback/step/base.vue?6439","webpack:///./app/webpacker/javascript/components/feedback/FeedbackPath.vue?e3c6","webpack:///./app/webpacker/javascript/components/feedback/Feedback.vue?83f4","webpack:///./app/webpacker/javascript/components/search/Search.vue?8cc5","webpack:///./app/webpacker/javascript/components/concatenation/Concatenation.vue?9384","webpack:////home/runner/work/station/station/node_modules/moment-mini/locale sync ^\\.\\/.*$"],"names":["module","exports","Volta","_class","_closest","element","selector","stopSelector","match","matches","parentElement","_hasClass","className","replace","indexOf","init","components","polyfilsForIE11","accordion","console","warn","callout","badge","dropdown","flash","menu","menuCollapse","modal","tab","table","tooltip","_isMobile","test","navigator","userAgent","_getElementSiblings","siblings","parentNode","firstChild","nodeType","push","nextSibling","_getFunction","fnName","fnNames","split","fn","window","i","length","_removeFromArr","arr","index","splice","NodeList","prototype","forEach","callback","thisArg","this","call","Element","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","s","document","ownerDocument","querySelectorAll","item","standard","container","containerGroup","trigger","triggerActive","content","contentOpen","contentOpening","contentClosing","js","Accordion","suppressClickHandler","triggerElem","isStandard","_initStandard","_initJs","self","parent","addEventListener","toggle","_content","dataset","triggerId","querySelector","event","code","click","close","panel","nextElementSibling","classes","classList","remove","add","setAttribute","style","height","getComputedStyle","offsetHeight","closingTransitionEndEvent","propertyName","removeEventListener","isGroup","_isTriggerActive","_activeGroupTrigger","undefined","passive","once","isOpening","open","trig","startHeight","endHeight","openingTransitionEndEvent","create","standardAccordions","triggers","accordionId","jsAccordions","jsLegacy","elementOrId","Object","substring","getElement","defineProperties","value","writable","dismiss","badgeOrDismiss","badgeDismiss","badgeWrapper","calloutOrDismiss","calloutDismiss","calloutWrapper","Dropdown","supressClickHandler","selection","isSelectionVisible","btn","_links","_suppress","_addEventListener","_openEventHandler","_keyboardEventHandler","bind","keyboardNavigation","link","text","_setDropdownSelectionText","_closeEventHandler","_closeEvent","e","targetIsPanel","target","parentIsPanel","parentLink","parentIsLink","isSwitchSlider","isParentSwitch","isNoClose","isNoCloseParent","isInput","HTMLInputElement","preventDefault","stopPropagation","innerHTML","keyCode","label","currentTarget","contains","selectedLink","focus","nextItem","previousElementSibling","closeEventHandler","innerText","gap","openBottomFlashes","openTopFlashes","timeouts","closeAll","timeout","clearTimeout","clearQueue","elementArr","_hide","show","time","position","positionPx","reduce","px","clientHeight","_setFlashPosition","hideTimeout","setTimeout","shouldRemove","elementHeight","newPosition","Number","bottom","getBoundingClientRect","_updateFlashPositions","body","dismissModalHandler","cancelModalHandler","confirmModalHandler","escHandler","clickHandler","escAttached","Modal","attachButtons","_this","dismissBtn","dismissModal","cancelBtn","cancelModal","confirmBtn","confirmModal","html","newHtml","_callback","preventScroll","allowScroll","disableScroll","disableEsc","closeModalOnEscape","disableClick","closeModalOnClick","confirmed","modalContent","enableScroll","removeModal","modals","Tabs","_keys","left","right","isWrapper","tabsHeader","tabsContent","children","isJs","tabContent","linkClass","_panels","_deactivateElements","_setActiveElements","_keyUpEventListener","log","linkElement","linkActiveClass","panelActiveClass","_activeLink","_activePanel","Array","from","tabIndex","currentNode","removeAttribute","_switchTab","nextTab","_findNextTab","direction","currentIndex","_calculateIndex","tabs","activeButton","button","density","placement","template","title","Tooltip","_id","menuCollapseString","attachCloseHandler","expandedMenus","closeMenu","_element","attachMenuCollapseHandler","localStorage","getItem","collapseMenu","expand","collapseTrigger","hasCollapsedClass","isMobile","removeItem","sideTabs","sideTabsTrigger","showCollapsed","sideTabsLink","unCollapseMenu","selectActiveTab","menuItem","positionTop","setItem","styleActiveTrigger","mobileMenuTriggeredTwice","mobile","mobileOpen","mobileTrigger","linkActive","sideMenu","sideTabsLinkActive","sideTabsPanel","sideTabsPanelActive","triggerCurrent","triggerEnabled","visible","removeAllMenuItemsFromSelectedArr","expandActiveMenu","attachTriggerHandlers","expandMenu","_triggerHandler","addExpandedParentMenuToArr","nestedMenuTrigger","addMobileMenuCollapseListeners","mobileMenuTrigger","checkMenuItemIsNested","isNestedDescendant","isAncestor","isNested","ancestor","ancestorSibling","isMobileMenu","isNestedMenu","removeMenuFromSelectedArr","openSibling","ancestors","count","siblingIndex","removeSiblingFromSelectedArr","isUserForced","activeMenuItem","activeTriggerUl","activeTrigger","menuIndex","sideMenus","menuTab","topLevelTrigger","getTopLevelTrigger","a","b","toString","hasOwnProperty","c","TypeError","d","enumerable","configurable","defineProperty","key","assign","arguments","f","delay","offset","g","h","jquery","reference","options","filter","_isOpen","_popperOptions","_setEventListeners","createElement","trim","childNodes","id","Math","random","substr","innerSelector","_addTitleContent","appendChild","textContent","_isOpening","_tooltipNode","display","popperInstance","update","getAttribute","_create","_findContainer","_append","popperOptions","modifiers","arrow","arrowSelector","boundariesElement","preventOverflow","_events","func","destroy","removeOnDestroy","removeChild","usedByTooltip","_scheduleShow","_scheduleHide","_showTimeout","_show","hide","type","_setTooltipNodeEvent","_clearTitleContent","dispose","_dispose","updateTitleContent","_updateTitleContent","relatedreference","toElement","relatedTarget","require","$","each","repo","data","fetch","then","response","json","find","forks","stargazers_count","VoltaTabbedExamples","constructor","userPreference","UserPreference","context","restoreTabs","setupEvents","onTabClick","onPopState","persistLanguage","activateTabFromURLHash","shouldRestoreTabs","languages","obj","el","language","platform","topMatch","keys","setPlatform","setLanguage","selectedLanguage","on","history","state","parents","languageType","linkable","tabId","attr","dispatchEvent","CustomEvent","rootPath","pushState","location","hash","promote","removeClass","useSingleStore","platformPreference","platforms","terminalProgramsPreference","terminalPrograms","frameworkPreference","frameworks","get","getKeyFromType","all","concat","getByType","JSON","parse","store","stringify","list","unshift","available","intersection","Format","formatSelector","formatChanged","change","restoreFormat","format","persist","persistFormat","val","ready","$body","nav","codeNav","scrollTop","addClass","noticeKey","notice","bootstrap","TweenLite","to","scale","transformOrigin","ease","Power2","easeIn","onComplete","removeNoticesIfEmpty","noticeCloseComplete","isDismissible","payload","color","status","indicator","description","createRequest","closest","params","lang","block","section","Request","method","credentials","headers","Menu","domNode","items","firstItem","lastItem","buildItems","child","SidenavItem","setFocusToNextItem","current","node","setFocusToPreviousItem","setFocusToFirstItem","buildItem","freeze","handleKeyDown","handleClick","isMenu","tagName","bubbleUp","ENTER","toggleElement","DOWN","LEFT","RIGHT","UP","bubbles","setFocusToPreviousLevel","Sidenav","getElementById","buildMenu","setActiveItem","setupListeners","closeOpenedMenu","collapseHandler","closeMobileMenu","firstElementChild","activeItemSelector","active","activeItem","subMenu","Topnav","backdrop","toggleMenu","toggleMobileMenu","elem","Careers","departments","locations","showCareer","career","department","getElementsByClassName","includes","some","l","toggleCareers","updateURL","currentUrl","URL","href","query","map","URLSearchParams","search","dropdownValue","updateDepartmentsDropdown","updateLocationsDropdown","departmentChangeHandler","checked","locationChangeHandler","setFiltersFromURL","checkbox","LocaleSwitcher","switcher","setupEventListeners","dropdownBtn","dropdownOptions","pannel","option","hidden","localeChangeHandler","locale","Rails","ajax","url","dataType","PRIMARY_CATEGORY","categorySplit","pageName","urlPath","replaceAll","getPageName","pathname","setDigitalData","dataLayer","page","pageInfo","functionDept","primaryCategory","siteIdentifier","lob","subCategory1","subCategory2","subCategory3","appVersion","country","pageCategory","flowName","tokenFLag","spaFlag","author","businessSize","category","company","industry","name","product","profRole","publishDate","subCategory","topic","eventData","events","fCTA","fIndustry","fLines","fName","interactionType","linesSlider","user","profile","profileInfo","visitorType","accountNumber","accountStatus","userType","userName","accountPlan","UserID","responsiveSiteVersion","acctnumLocations","acctcontractFlag","transaction","productInfo","productID","quantity","price","basePrice","slice","join","updatePageInfo","pageNameArray","categoryResult","x","updateSubCategories","updateVisitorType","Vue","path","sentiment","source","configId","steps","feedbackId","email","setPath","setSentiment","setSource","setConfigId","setFeedbackId","setEmail","addStep","step","toParam","feedback_config_id","clearState","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","_m","directives","rawName","expression","attrs","domProps","$event","composing","_e","class","error","placeholder","answer","lastStep","reset","validate","hasError","_l","question","_q","field","$data","$set","hint","image","hasImage","feedback_path","currentStepIndex","showSteps","selectedPath","currentPathIndex","onPathSelection","hit","heading","snippet","_k","onEscDownHandler","apply","onInputHandler","loading","result","resultTitle","hits","isZendeskArticle","hitKey","isNDPArticle","isBlog","GSM_STANDARD_CHARS","GSM_EXTENDED_CHARS","CharacterCounter","getInfo","messages","getMessages","unicodeRequired","isUnicodeRequired","charactersCount","sum","sms","difference","splitIntoSMS","maxSize","getTextSize","getSMS","GSM_METADATA_LENGTH","lastSplit","currentSize","maxSizeWithMeta","getCharSize","getSizeInBytes","ceil","character","CHARACTER_SIZE","component","smsComposition","message","jwt","computedClass","invalidPrivateKey","invalidAcl","privateKey","applicationId","validFor","_n","$forceUpdate","$$selectedVal","o","selected","_value","validForTimeUnit","multiple","sub","acl","iat","nbf","exp","jti","start","Scroll","Notices","GithubCards","APIStatus","CodeSnippetEvents","digitalData","JwtGenerator","Search","render","Feedback","props","feedbackProps","Concatenation","sidebarActive","scrollIntoView","r","ok","Promise","reject","mermaid","initialize","startOnLoad","sequence","useMaxWidth","themeCSS","htmlLabels","slider","Glide","mount","Autoplay","Breakpoints","Controls","setInterval","go","webpackContext","req","webpackContextResolve","__webpack_require__","Error","resolve"],"mappings":"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","file":"js/application-7640bbba21e6d3bce2a9.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"media/images/logo@3x-ba18baf6a074fb84f438f35f0df90252.png\";","module.exports = __webpack_public_path__ + \"media/images/logo_vonage-f386c7b93fc159c190d59cf238703582.png\";","module.exports = __webpack_public_path__ + \"media/images/nexmo-developer-logo-0b57f6c5b81009826b9c21271eae15cf.svg\";","module.exports = __webpack_public_path__ + \"media/images/nexmo-logo-collapsed-a482472c22209aa6a400bd87da8005f2.svg\";","module.exports = __webpack_public_path__ + \"media/images/nexmo-vonage-white-cfa56048a54bd5155d4ae6b40b065ab5.svg\";","module.exports = __webpack_public_path__ + \"media/images/posters/chatapp-70a0cc7dbeb66ac8b3586ebe283c0225.jpg\";","module.exports = __webpack_public_path__ + \"media/images/posters/chatapp_small-07b51a6a03b09b5b2492bee43ce408c0.png\";","module.exports = __webpack_public_path__ + \"media/images/posters/nexmo-7d0f845d2156b6e46cbc07b2a5733b4b.jpg\";","module.exports = __webpack_public_path__ + \"media/images/posters/numberinsight-ba57f257bf1c1e8bfc34bb15a5628728.jpg\";","module.exports = __webpack_public_path__ + \"media/images/posters/numberinsight_small-71e674589ea381c3a64cb570ef4a44cc.png\";","module.exports = __webpack_public_path__ + \"media/images/posters/sms-db3fa0887ec8c6b395e09289228470ac.jpg\";","module.exports = __webpack_public_path__ + \"media/images/posters/sms_small-d780745b09886cdf213eb26ce45428f9.png\";","module.exports = __webpack_public_path__ + \"media/images/posters/verify-bdd468cc9b20c6e98c55c2c8350de96c.jpg\";","module.exports = __webpack_public_path__ + \"media/images/posters/verify_small-888bb9a88874790358afdd5913534807.png\";","module.exports = __webpack_public_path__ + \"media/images/posters/voice-290e7647d83bcbf63ccbe75f2609958c.jpg\";","module.exports = __webpack_public_path__ + \"media/images/posters/voice_small-3852c2dff9fa22a010b1a5ba4d4d1869.png\";","module.exports = __webpack_public_path__ + \"media/images/select-dropdown-477059db93984a6305c1f0abf48febee.png\";","module.exports = __webpack_public_path__ + \"media/images/slack-3474c14d58fbbab9cfa2208b01a4ac3a.svg\";","module.exports = __webpack_public_path__ + \"media/images/themes/ea/topography-3d5c289e5c29b6b0f1f4f1ee86e27934.png\";","module.exports = __webpack_public_path__ + \"media/fonts/icomoon-90b7885029085737882b3a97a2c36859.svg\";","import Tooltip from './tooltip.min.js';\n\n/* @preserve\n * Copyright (c) 2001-present, Vonage.\n *\t\n * Core of volta\n */\n'use strict';\nvar Volta;\n\nVolta = function (){\n\treturn {\n\t\t_closest: closest,\n\t\t_hasClass: hasClass,\n\t\tinit: initialise,\n\t\t_isMobile: isMobileDevice,\n\t\t_getElementSiblings: getElementSiblings,\n\t\t_getFunction: getFunctionFromString,\n\t\t_removeFromArr: removeFromArr\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Finds the first ancestor of the given element, matching a specific selector.\n\t *\t@param {HTMLElement} element Starting element\n\t *\t@param {string} selector Selector to find (can be .class, #id, div...)\n\t *\t@param {string} stopSelector Selector to stop searching on (can be .class, #id, div...) \n\t * @returns {HTMLElement|null} The matched element or null if no element is found\n\t */\n\tfunction closest(element, selector, stopSelector) {\n\t\tvar match = null;\n\t\twhile (element) {\n\t\tif (element.matches(selector)) {\n\t \t\tmatch = element;\n\t \t\tbreak\n\t\t} else if (stopSelector && element.matches(stopSelector)) {\n\t \t\tbreak\n\t\t}\n\t\t\telement = element.parentElement;\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t *\t@private\n\t *\t@description Given the name of a function returns the function itself\n\t *\t@param {string} callbackFnName The function name e.g. \"testFunction\" OR \"test.function\" \n\t * @returns {Function} \n\t */\n\tfunction getFunctionFromString(fnName) {\n\t var fn;\n\t\t\n\t\tif(fnName) {\n\t\t\tvar fnNames = fnName.split(\".\");\n\t\t\tvar fn = window;\n\t\t\tfor(var i = 0; i < fnNames.length; i++) {\n\t\t\t\tfn = fn[fnNames[i]];\n\t\t\t}\n\t\t}\n\n\t\treturn fn;\n\t}\n\n\t/** \n\t *\t@private\n\t *\t@description Get all siblings of an element\n\t *\t@param {HTMLElement} el \n\t */\n\tfunction getElementSiblings(element) {\n\t var siblings = [];\n\t element = element.parentNode.firstChild;\n\t do { \n\t \tif(element.nodeType === 1) {\n\t \t\tsiblings.push(element); \n\t \t}\n\t } while (element = element.nextSibling);\n\t return siblings;\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Check if the given element has a particular class\n\t *\t@param {HTMLElement} el Element to evaluate\n\t *\t@param {string} className Class name to check for\n\t * @returns {boolean} True if the element has the class or false if not\n\t */\n\tfunction hasClass(element, className) {\n\t\tif(!element) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\" \" + element.className + \" \").replace(/[\\n\\t]/g, \" \").indexOf(\" \" + className+ \" \") > -1;\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Is the current device a mobile\n\t * @returns {boolean} True if mobile false if not\n\t */\n\tfunction isMobileDevice() {\n\t\tvar isMobile = /Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i;\n\n\t\treturn isMobile.test(navigator.userAgent);\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Initailise volta with required components\n\t *\t@param {Array} components Array of strings, names of the components to initialise\n\t */ \n\tfunction initialise(components) {\n\t\tpolyfilsForIE11();\n\t\t\n\t\tif(components.indexOf('accordion') !== -1){\n\t\t\tif(Volta.accordion) {\n\t\t\t\tVolta.accordion.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.accordion.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('callout') !== -1){\n\t\t\tif(Volta.callout) {\n\t\t\t\tVolta.callout.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.callout.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('badge') !== -1){\n\t\t\tif(Volta.badge) {\n\t\t\t\tVolta.badge.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.badge.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('dropdown') !== -1){\n\t\t\tif(Volta.dropdown) {\n\t\t\t\tVolta.dropdown.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.dropdown.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('flash') !== -1){\n\t\t\tif(Volta.flash) {\n\t\t\t\tVolta.flash.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.dropdown.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('menu') !== -1){\n\t\t\tif(Volta.menu) {\n\t\t\t\tVolta.menu.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.menu.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('menuCollapse') !== -1){\n\t\t\tif(Volta.menuCollapse) {\n\t\t\t\tVolta.menuCollapse.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.menuCollapse.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('modal') !== -1){\n\t\t\tif(Volta.modal) {\n\t\t\t\tVolta.modal.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.modal.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('tab') !== -1){\n\t\t\tif(Volta.tab) {\n\t\t\t\tVolta.tab.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.tab.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('table') !== -1){\n\t\t\tif(Volta.table) {\n\t\t\t\tVolta.table.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.table.js component missing')\n\t\t\t}\n\t\t}\n\t\tif(components.indexOf('tooltip') !== -1){\n\t\t\tif(Volta.tooltip) {\n\t\t\t\tVolta.tooltip.init();\n\t\t\t} else {\n\t\t\t\tconsole.warn('Volta: volta.tooltip.js component missing')\n\t\t\t}\n\t\t}\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Remove an element from an array\n\t * @param {Array} arr The array containing the element\n\t * @param {Element} element The element to remove\n\t * @returns {Array} The array minus the element\n\t */\n\tfunction removeFromArr(arr, element) {\n\t\tvar index = arr.indexOf(element);\n \t\tarr.splice(index, 1);\n \t\treturn arr;\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t */ \n\tfunction polyfilsForIE11() {\n\t\tif (window.NodeList && !NodeList.prototype.forEach) {\n\t\t NodeList.prototype.forEach = function (callback, thisArg) {\n\t\t thisArg = thisArg || window;\n\t\t for (var i = 0; i < this.length; i++) {\n\t\t callback.call(thisArg, this[i], i, this);\n\t\t }\n\t\t };\n\t\t}\n\t\t\n\t\tif (!Element.prototype.matches) {\n\t\t Element.prototype.matches = \n\t\t Element.prototype.matchesSelector || \n\t\t Element.prototype.mozMatchesSelector ||\n\t\t Element.prototype.msMatchesSelector || \n\t\t Element.prototype.oMatchesSelector || \n\t\t Element.prototype.webkitMatchesSelector ||\n\t\t function(s) {\n\t\t var matches = (this.document || this.ownerDocument).querySelectorAll(s),\n\t\t i = matches.length;\n\t\t while (--i >= 0 && matches.item(i) !== this) {}\n\t\t return i > -1; \n\t\t };\n\t\t}\n\t}\n}();\n\n/**\n * Copyright (c) 2001-present, Vonage.\n *\n * Accordions (requires core)\n */\n\n'use strict';\n\nVolta.accordion = function () {\n\tvar _class = {\n\t\tstandard: {\n\t\t\tcontainer: 'Vlt-accordion',\n\t\t\tcontainerGroup: 'Vlt-accordion--group',\n\t\t\ttrigger: 'Vlt-accordion__trigger',\n\t\t\ttriggerActive: 'Vlt-accordion__trigger_active',\n\t\t\tcontent: 'Vlt-accordion__content',\n\t\t\tcontentOpen: 'Vlt-accordion__content_open',\n\t\t\tcontentOpening: 'Vlt-accordion__content_opening',\n\t\t\tcontentClosing: 'Vlt-accordion__content_closing',\n\t\t},\n\t\tjs: {\n\t\t\tcontent: 'Vlt-js-accordion__content',\n\t\t\tcontentOpen: 'Vlt-js-accordion__content_open',\n\t\t\tcontentOpening: 'Vlt-js-accordion__content_opening',\n\t\t\tcontentClosing: 'Vlt-js-accordion__content_closing',\n\t\t\ttrigger: 'Vlt-js-accordion__trigger',\n\t\t\ttriggerActive: 'Vlt-js-accordion__trigger_active'\n\t\t}\n\t}\n\n\tfunction Accordion() {}\n\n\tAccordion.prototype = {\n\t\tinit: function(element, suppressClickHandler, triggerElem) {\n\t\t\tif(this.isStandard) {\n\t\t\t\tthis._initStandard(element, suppressClickHandler);\n\t\t\t} else {\n\t\t\t\tthis._initJs(element, suppressClickHandler, triggerElem);\n\t\t\t}\n\t\t},\n\t\t_initStandard: function(element, suppressClickHandler) {\n\t\t\tvar self = this;\n\n\t\t\tif(!suppressClickHandler) {\n\t\t\t\telement.querySelectorAll('.' + _class.standard.trigger).forEach(function(trigger) {\n\t\t\t\t\tvar parent = Volta._closest(trigger, '.' + _class.standard.container, _class.standard.container);\n\n\t\t\t\t\tif(parent && parent == element) {\n\t\t\t\t\t\ttrigger.addEventListener('click', function(){\n\t\t\t\t\t\t\tself.toggle(trigger);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t_initJs: function(element, suppressClickHandler, triggerElem) {\n\t\t\tthis._content = element;\n\n\t\t\tif(triggerElem) {\n\t\t\t\tthis.trigger = triggerElem;\n\t\t\t} else if(this._content.dataset.trigger) {\n\t\t\t\tvar triggerId = this._content.dataset.trigger;\n\t\t\t\tthis.trigger = document.querySelector('#' + triggerId);\n\t\t\t} else {\n\t\t\t\tconsole.warn(\"Volta: js accordion trigger missing\");\n\t\t\t}\n\n\t\t\tvar self = this;\n\t\t\tif(!suppressClickHandler && this.trigger) {\n\t\t\t\tthis.trigger.addEventListener('click', function(){\n\t\t\t\t\tself.toggle();\n\t\t\t\t});\n\t\t\t\tthis.trigger.addEventListener('keydown', function(event) {\n\t\t\t\t\tif (event.code === 'Space' || event.code === 'Enter') {\n\t\t\t\t\t\tthis.trigger.click();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tclose: function(trigger) {\n\t\t\tvar panel = this._content || trigger.nextElementSibling;\n\t\t\tvar trigger = this.trigger || trigger;\n\t\t\tvar classes = this.trigger ? _class.js : _class.standard;\n\n\t\t\ttrigger.classList.remove(classes.triggerActive);\n\t\t\tpanel.classList.add(classes.contentClosing);\n\t\t\ttrigger.setAttribute(\"aria-expanded\", \"false\");\n\n\t\t\tpanel.style.height = window.getComputedStyle(panel).height;\n\t\t\tpanel.offsetHeight; // force repaint\n\t\t\tpanel.style.height = '0px';\n\t\t\tpanel.classList.remove(classes.contentOpen);\n\n\t\t\tvar self = this;\n\t\t\tpanel.addEventListener('transitionend', function closingTransitionEndEvent(event) {\n\t\t\t\tif (event.propertyName == 'height' && Volta._hasClass(panel, classes.contentClosing)) {\n\t\t\t\t\tpanel.classList.remove(classes.contentClosing);\n\t\t\t\t\tpanel.style.height = '0px';\n\t\t\t\t\tpanel.removeEventListener('transitionend', closingTransitionEndEvent, false);\n\n\t\t\t\t\tif(self.isGroup && self._isTriggerActive(trigger, true)){\n\t\t\t\t\t\tself._activeGroupTrigger = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, { passive: true, once: true });\n\t\t},\n\t\tisOpening: false,\n\t\t_activeGroupTrigger: undefined,\n\t\t_isTriggerActive: function(trigger, match) {\n\t\t\treturn (this.isGroup && this._activeGroupTrigger && (!match || this._activeGroupTrigger === trigger)) || Volta._hasClass(trigger, _class.standard.triggerActive);\n\t\t},\n\t\topen: function(trigger) {\n\t\t\tif(!this.trigger) {\n\t\t\t\tif(this._isTriggerActive(trigger, false)) {\n\t\t\t\tthis.close(this._activeGroupTrigger || trigger);\n\t\t\t\t}\n\t\t\t\tif(this.isGroup) {\n\t\t\t\t\tthis._activeGroupTrigger = trigger;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar trig = this.trigger || trigger;\n\t\t\tvar classes = this.trigger ? _class.js : _class.standard;\n\t\t\tvar panel = this._content || trig.nextElementSibling;\n\n\t\t\tthis.isOpening = true;\n\n\t\t\ttrig.classList.add(classes.triggerActive);\n\t\t\tpanel.classList.add(classes.contentOpening);\n\t\t\ttrig.setAttribute(\"aria-expanded\", \"true\");\n\n\t\t\tvar startHeight = panel.style.height;\n\t\t\tpanel.style.height = 'auto';\n\t\t\tvar endHeight = window.getComputedStyle(panel).height;\n\t\t\tpanel.style.height = startHeight;\n\t\t\tpanel.offsetHeight; // force repaint\n\t\t\tpanel.style.height = endHeight;\n\n\t\t\tvar self = this;\n\t\t\tpanel.addEventListener('transitionend', function openingTransitionEndEvent(event) {\n\t\t\t\tif (event.propertyName == 'height' && Volta._hasClass(panel, classes.contentOpening)) {\n\t\t\t\t\tpanel.style.height = 'auto';\n\t\t\t\t\tpanel.classList.remove(classes.contentOpening);\n\t\t\t\t\tpanel.classList.add(classes.contentOpen);\n\t\t\t\t\tpanel.removeEventListener('transitionend', openingTransitionEndEvent, false);\n\t\t\t\t\tself.isOpening = false;\n\t\t\t\t}\n\t\t\t}, { passive: true, once: true });\n\t\t},\n\t\ttoggle: function(trigger) {\n\t\t\tif(this.isOpening) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif((this.trigger && Volta._hasClass(this._content, _class.js.contentOpen))\n\t\t\t\t|| (!this.trigger && this._isTriggerActive(trigger, true))) {\n\t\t\t\tthis.close(trigger);\n\t\t\t} else {\n\t\t\t\tthis.open(trigger);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcreate: create,\n\t\tinit: initialise\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Create an individual accordion object\n\t *\t@param {Element|string} elementOrId Reference to the accordion content element or the id\n\t *\t@param {Boolean} suppressClickHandler Whether click events should be attached on creation\n\t *\t@param {Element} trigger Private required for legacy accordions\n\t *\t@param {Boolean} isGroup Private required for legacy accordions\n\t * @return {Object}\n\t */\n\tfunction create(elementOrId, suppressClickHandler, trigger, isGroup, isStandard) {\n\t\tif(!elementOrId) {\n\t\t\tconsole.warn(\"Volta: no parameter supplied to accordion.create()\");\n\t\t}\n\t\tvar accordion = Object.create(Accordion.prototype, {});\n\t\tvar element = getElement(elementOrId);\n\n\t\tObject.defineProperties(accordion, {\n\t\t\t'isStandard': {\n\t\t\t\tvalue: isStandard || Volta._hasClass(element, _class.standard.container),\n\t\t\t\twritable: false\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperties(accordion, {\n\t\t\t'isGroup': {\n\t\t\t\tvalue: isGroup,\n\t\t\t\twritable: false\n\t\t\t}\n\t\t});\n\n\t\taccordion.init(element, suppressClickHandler, trigger);\n\n\t\treturn accordion;\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Initialise all the accordions on the current screen\n\t */\n\tfunction initialise() {\n\t\t//standard\n\t\tvar standardAccordions = document.querySelectorAll('.' + _class.standard.container);\n\n\t\tif(standardAccordions.length) {\n\t\t\tstandardAccordions.forEach(function(accordion){\n\t\t\t\tcreate(accordion, false, null, Volta._hasClass(accordion, _class.standard.containerGroup), true);\n\t\t\t});\n\t\t}\n\n\t\t//js\n\t\tvar triggers = document.querySelectorAll('.' + _class.js.trigger + '[data-accordion]');\n\t\tif(triggers.length > 0) {\n\t\t\ttriggers.forEach(function(trigger) {\n\t\t\t\tvar accordionId = trigger.dataset.accordion;\n\t\t\t\tif(!accordionId) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcreate(accordionId, false, trigger);\n\t\t\t});\n\t\t}\n\n\t\t//js - legacy\n\t\tvar jsAccordions = document.querySelectorAll('.' + _class.js.content + '[data-trigger]');\n\t\tif(jsAccordions.length > 0) {\n\t\t\tjsAccordions.forEach(function(jsLegacy) {\n\t\t\t\tcreate(jsLegacy);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t *\t@private\n\t */\n\tfunction getElement(elementOrId) {\n\t \tvar element;\n\n\t\tif(elementOrId.classList) {\n\t\t\telement = elementOrId;\n\t\t} else if (elementOrId.substring(0, 1) === \"#\") {\n\t\t\telement = document.querySelector(elementOrId);\n\t\t} else {\n\t\t\telement = document.querySelector('#' + elementOrId);\n\t\t}\n\n\t\treturn element;\n\t}\n}();\n\n/**\n * Copyright (c) 2001-present, Vonage.\n *\t\n * Badges (requires core)\n */\n\n'use strict';\n\nVolta.badge = function () {\t\n\tvar _class = {\n\t\tbadge: 'Vlt-badge',\n\t\tdismiss: 'Vlt-badge__dismiss',\n\t\tdismissed: 'Vlt-badge--dismissed'\n\t}\n\n\treturn {\n\t\tdismiss: dismiss,\n\t\tinit: attachBadgeHandlers\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Attach a one time listener to dismissable badges\n\t */\n\tfunction attachBadgeHandlers() {\n\t\tdocument.querySelectorAll('.' + _class.dismiss).forEach(create);\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Create a badge\n\t *\t@param {HTMLElement} badge\n\t */\n\tfunction create(badgeOrDismiss) {\n\t\tvar badge, badgeDismiss;\n\n\t\tif(Volta._hasClass(badgeOrDismiss, _class.badge)) {\n\t\t\tbadge = badgeOrDismiss;\n\t\t\tbadgeDismiss = badge.querySelector('.' + _class.dismiss);\n\t\t} else if(Volta._hasClass(badgeOrDismiss, _class.dismiss)){\n\t\t\tbadgeDismiss = badgeOrDismiss;\n\t\t\tbadge = badgeDismiss.parentElement;\n\t\t}\n\n\t\tbadgeDismiss.addEventListener('click', function(){\n\t\t\tdismiss(badge);\n\t\t}, { once : true});\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Dismiss a badge\n\t *\t@param {HTMLElement} badge\n\t */\n\tfunction dismiss(badge) {\n\t\tbadge.classList.add(_class.dismissed);\n\n\t\tif(badge.dataset.callback) {\n\t\t\treturn Volta._getFunction(badgeWrapper.dataset.callback)();\n\t\t}\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\t\n * Callouts (requires core)\n */\n\n'use strict';\n\nVolta.callout = function () {\t\n\tvar _class = {\n\t\tcallout: 'Vlt-callout',\n\t\tdismiss: 'Vlt-callout__dismiss',\n\t\tdismissed: 'Vlt-callout--dismissed'\n\t}\n\n\treturn {\n\t\tdismiss: dismiss,\n\t\tinit: attachCalloutHandlers\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Attach a one time listener to dismissable callouts\n\t */\n\tfunction attachCalloutHandlers() {\n\t\tdocument.querySelectorAll('.' + _class.dismiss).forEach(create);\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Create a callout\n\t *\t@param {HTMLElement} callout\n\t */\n\tfunction create(calloutOrDismiss) {\n\t\tvar callout, calloutDismiss;\n\n\t\tif(Volta._hasClass(calloutOrDismiss, _class.callout)) {\n\t\t\tcallout = calloutOrDismiss;\n\t\t\tcalloutDismiss = callout.querySelector('.' + _class.dismiss);\n\t\t} else if(Volta._hasClass(calloutOrDismiss, _class.dismiss)){\n\t\t\tcalloutDismiss = calloutOrDismiss;\n\t\t\tcallout = calloutDismiss.parentElement;\n\t\t}\n\n\t\tcalloutDismiss.addEventListener('click', function(){\n\t\t\tdismiss(callout);\n\t\t}, { once : true});\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Dismiss a callout\n\t *\t@param {HTMLElement} callout\n\t */\n\tfunction dismiss(callout) {\n\t\tcallout.classList.add(_class.dismissed);\n\n\t\tif(callout.dataset.callback) {\n\t\t\treturn Volta._getFunction(calloutWrapper.dataset.callback)();\n\t\t}\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\n * Dropdowns (requires core)\n */\n\n'use strict';\n\nVolta.dropdown = function () {\n\tvar _class = {\n\t\twrapper: 'Vlt-dropdown',\n\t\tblock: 'Vlt-dropdown__block',\n\t\tbtn: 'Vlt-dropdown__trigger',\n\t\tbtnLegacy: 'Vlt-dropdown__btn',\n\t\tdismissed: 'Vlt-callout--dismissed',\n\t\texpanded: 'Vlt-dropdown--expanded',\n\t\tlabel: 'Vlt-dropdown__label',\n\t\tlink: 'Vlt-dropdown__link',\n\t\tnoCloseLink: 'Vlt-dropdown__link--noclose',\n\t\tnoCloseBlock: 'Vlt-dropdown__block--noclose',\n\t\tpanel: 'Vlt-dropdown__panel',\n\t\tpanelContent: 'Vlt-dropdown__panel__content',\n\t\tselected: 'Vlt-dropdown__link--selected',\n\t\tselection: 'Vlt-dropdown__selection',\n\t\tswitch: 'Vlt-switch',\n\t\tswitchSlider: 'Vlt-switch__slider'\n\t}\n\n\tfunction Dropdown() {}\n\n\tDropdown.prototype = {\n\t\tinit: function(element, supressClickHandler) {\n\t\t\tthis.dropdown = element;\n\t\t\tthis.selection = this.dropdown.querySelector('.' + _class.selection);\n\t\t\tthis.isSelectionVisible = !!this.selection;\n\t\t\tthis.btn = this.dropdown.querySelector('.' + _class.btn) || this.dropdown.querySelector('.' + _class.btnLegacy);\n\t\t\tthis._links = this.dropdown.querySelectorAll('.' + _class.link);\n\t\t\tthis._suppress = supressClickHandler;\n\n\t\t\tif(!this._suppress) {\n\t\t\t\tthis._addEventListener();\n\t\t\t}\n\t\t},\n\t\t_openEventHandler: undefined,\n\t\t_keyboardEventHandler: undefined,\n\t\t_addEventListener: function(){\n\t\t\tthis._openEventHandler = this.open.bind(this);\n\t\t\tthis._keyboardEventHandler = this.keyboardNavigation.bind(this);\n\n\t\t\tthis.dropdown.addEventListener('click', this._openEventHandler, { once: true });\n\t\t\tthis.dropdown.addEventListener('keydown', this._keyboardEventHandler, { once: true });\n\n\t\t\tthis._links.forEach(function(link) {\n\t\t\t\tlink.addEventListener('keydown', this._keyboardEventHandler);\n\t\t\t}.bind(this));\n\t\t},\n\t\tclose: function(text) {\n\t\t\tif(text) {\n\t\t\t\tthis._setDropdownSelectionText(text);\n\t\t\t}\n\t\t\tthis.dropdown.classList.remove(_class.expanded);\n\t\t\tthis.dropdown.setAttribute(\"aria-expanded\", \"false\");\n\n\t\t\tif(!this._suppress){\n\t\t\t\tthis._addEventListener();\n\t\t\t}\n\n\t\t},\n\t\t_closeEventHandler: undefined,\n\t\t_closeEvent: function(e) {\n\t\t\tvar targetIsPanel = Volta._hasClass(e.target, _class.panel);\n\t\t\tvar parentIsPanel = Volta._closest(e.target, '.' + _class.panelContent, _class.panel) !== null;\n\t\t\tvar parentLink = Volta._closest(e.target, '.' + _class.link, _class.wrapper);\n\t\t\tvar parentIsLink = parentLink && parentLink.length === 1;\n\t\t\tvar isSwitchSlider = Volta._hasClass(e.target, _class.switchSlider);\n\t\t\tvar isParentSwitch = Volta._closest(e.target,'.' + _class.switch, _class.link);\n\t\t\tvar isNoClose = Volta._hasClass(e.target, _class.noCloseLink) || Volta._hasClass(e.target, _class.noCloseBlock);\n\t\t\tvar isNoCloseParent = Volta._closest(e.target,'.' + _class.noCloseLink, _class.link) || Volta._closest(e.target,'.' + _class.noCloseBlock, _class.noCloseBlock);\n\t\t\tvar isInput = e.target instanceof HTMLInputElement;\n\n\t\t\tif(!targetIsPanel && !parentIsPanel && !parentIsLink && !isNoClose && !isInput && !isNoCloseParent) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\n\t\t\tif(isSwitchSlider || isParentSwitch || isNoClose || isInput || isNoCloseParent) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tvar text;\n\t\t\tif (parentIsPanel && Volta._hasClass(e.target, _class.label)) {\n\t\t\t\ttext = e.target.innerHTML;\n\t\t\t} else if (parentIsPanel && e.keyCode !== 27) { // esc\n\t\t\t\tvar label = e.target.querySelector('.' + _class.label);\n\t\t\t\tif (label) {\n\t\t\t\t\ttext = label.innerHTML;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdocument.querySelector('body').removeEventListener('click', this._closeEventHandler);\n\t\t\tthis.dropdown.removeEventListener('keydown', this._keyboardEventHandler, { once: true });\n\t\t\tthis.dropdown.removeEventListener('click', this._openEventHandler, { once: true });\n\n\t\t\tthis._links.forEach(function(link) {\n\t\t\t\tlink.removeEventListener('keydown', this._keyboardEventHandler);\n\t\t\t}.bind(this));\n\n\t\t\tthis.close(text);\n\t\t},\n\t\tkeyboardNavigation: function(e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tif (e.keyCode === 27) { // esc\n\t\t\t\tthis._closeEvent(e);\n\t\t\t}\n\n\t\t\tif (e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Enter' || e.keyCode === 32) { // 32 = spacebar\n\t\t\t\tthis._links.forEach(function(link) {\n\t\t\t\t\tlink.setAttribute('tabIndex', '-1');\n\t\t\t\t});\n\n\t\t\t\tif (e.currentTarget.classList.contains(_class.wrapper)) {\n\t\t\t\t\tthis.dropdown.classList.add(_class.expanded);\n\t\t\t\t\tthis.dropdown.removeEventListener('click', this._openEventHandler, { once: true });\n\n\t\t\t\t\tvar selectedLink = this.dropdown.querySelector('.' + _class.selected) || this._links[0];\n\n\t\t\t\t\tif (selectedLink) {\n\t\t\t\t\t\tselectedLink.setAttribute('tabIndex', '0');\n\t\t\t\t\t\tselectedLink.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (e.code === 'ArrowUp') {\n\t\t\t\t\tvar nextItem = e.currentTarget.previousElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif (e.code === 'ArrowDown') {\n\t\t\t\t\tvar nextItem = e.currentTarget.nextElementSibling;\n\t\t\t\t}\n\n\t\t\t\tif (nextItem && nextItem.classList.contains(_class.link)) {\n\t\t\t\t\tnextItem.setAttribute('tabIndex', '0');\n\t\t\t\t\tnextItem.focus();\n\t\t\t\t}\n\n\t\t\t\tif (!this._suppress && e.currentTarget.classList.contains(_class.wrapper)) {\n\t\t\t\t\tthis.closeEventHandler();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (e.code === 'Enter' && !e.currentTarget.classList.contains(_class.wrapper)) {\n\t\t\t\te.currentTarget.click();\n\t\t\t}\n\t\t},\n\t\topen: function(event) {\n\t\t\tif (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\n\t\t\tthis.dropdown.classList.add(_class.expanded);\n\t\t\tthis.dropdown.setAttribute(\"aria-expanded\", \"true\");\n\n\t\t\tvar selectedLink = this.dropdown.querySelector('.' + _class.selected) || this._links[0];\n\n\t\t\tif (selectedLink) {\n\t\t\t\tselectedLink.setAttribute('tabIndex', '0');\n\t\t\t\tselectedLink.focus();\n\t\t\t}\n\n\t\t\tif (!this._suppress) {\n\t\t\t\tthis.closeEventHandler();\n\t\t\t}\n\t\t},\n\t\tcloseEventHandler: function() {\n\t\t\tthis._closeEventHandler = this._closeEvent.bind(this);\n\t\t\tdocument.querySelector('body').addEventListener('click', this._closeEventHandler);\n\t\t},\n\t\t_setDropdownSelectionText: function(text) {\n\t\t\tif(this.isSelectionVisible) {\n\t\t\t\tthis.selection.innerText = text;\n\t\t\t} else {\n\t\t\t\tthis.btn.innerText = text;\n\t\t\t\tthis.btn.value = text;\n\t\t\t}\n\t\t},\n\t\t_suppress: false\n\t}\n\n\treturn {\n\t\tcreate: create,\n\t\tinit: attachDropdownHandlers\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Attach a listeners to dropdowns\n\t */\n\tfunction attachDropdownHandlers() {\n\t\tdocument.querySelectorAll('.' + _class.wrapper).forEach(attachHandler);\n\n\t\tfunction attachHandler(dropdown) {\n\t\t\tcreate(dropdown);\n\t\t}\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Create a dropdown element\n\t * @param {HTMLElement} element\n \t */\n\tfunction create(element){\n\t\tvar dropdown = Object.create(Dropdown.prototype, {})\n\t\tdropdown.init(element);\n\t\treturn dropdown;\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\t\n * Tabs (requires core)\n */\n\n'use strict';\n\nVolta.flash = function () {\t\n\tvar _class = {\n\t\tflash: 'Vlt-flash',\n\t\ttrigger: 'Vlt-flash-trigger',\n\t\tvisible: 'Vlt-flash_visible'\n\t}\n\n\tvar gap = 20,\n\t\topenBottomFlashes = [],\n\t\topenTopFlashes = [],\n\t\ttimeouts =[];\n\n\treturn {\n\t\tcloseAll: closeAll,\n\t\tinit: attachFlashHandlers,\n\t\tshow: show\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Attach a click listener to each flash's trigger on the screen\n\t * @param {HTMLElement} element \n\t */\n\tfunction attachFlashHandlers() {\n\t\tvar triggers = document.querySelectorAll('.' + _class.trigger);\n\n\t\tif(triggers.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\ttriggers.forEach(attachHandler);\n\t\t\n\t\tfunction attachHandler(trigger) {\n\t\t\ttrigger.addEventListener('click', function() {\n\t\t\t\tif(trigger.dataset.flash) {\n\t\t\t\t\tvar flash = document.querySelector('#' + trigger.dataset.flash);\n\t\t\t\t\tshow(flash);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.warn(\"Volta: flash trigger is missing data-flash attribute\");\n\t\t\t\t}\t\t\t\t\n\t\t\t});\n\t\t}\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Close all open flashes\n\t */\n\tfunction closeAll() {\t\t\n\t\tif(timeouts.length > 0) {\n\t\t\ttimeouts.forEach(function(timeout){\n\t\t\t\tclearTimeout(timeout);\n\t\t\t});\n\t\t}\n\t\tif(openBottomFlashes.length > 0) {\n\t\t\tclearQueue(openBottomFlashes);\n\t\t}\n\t\tif(openTopFlashes.length > 0) {\n\t\t\tclearQueue(openTopFlashes);\n\t\t}\n\t\t\n\t\ttimeouts = [];\n\t\topenBottomFlashes = [];\n\t\topenTopFlashes = [];\n\n\t\tfunction clearQueue(elementArr) {\n\t\t\telementArr.forEach(function(element){\n\t\t\t\t_hide(element);\n\t\t\t});\t\n\t\t\telementArr = [];\n\t\t}\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Show the flash\n\t * @param {HTMLElement} element \n\t */\n\tfunction show(elementOrId, time) {\n\t\tif(!elementOrId || elementOrId.length == 0) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\ttime = time || 5000;\n\n\t\tvar element = !elementOrId.classList ? document.querySelector('#' + elementOrId) : elementOrId;\n\t\tvar position = Volta._hasClass(element, 'Vlt-flash--bottom') ? 'bottom' : 'top';\n\t\tvar arr = position === 'bottom' ? openBottomFlashes : openTopFlashes;\n\n\t\tif(arr.indexOf(element) !== -1) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t_setFlashPosition(arr, element, position);\n\n\t\tarr.push(element);\n\t\t\t\t\n\t\telement.classList.add(_class.visible);\n\t\t\n\t\tvar hideTimeout = setTimeout(function(){\n\t\t\t_hide(element, true);\n\t\t\tVolta._removeFromArr(timeouts, hideTimeout);\n\t\t}, time);\n\n\t\ttimeouts.push(hideTimeout);\n\t}\n\n\t/** \n\t *\t@private\n\t *\t@description Hide the flash\n\t * @param {HTMLElement} element \n\t */\n\tfunction _hide(element, shouldRemove) {\n\t\tvar position = Volta._hasClass(element, 'Vlt-flash--bottom') ? 'bottom' : 'top';\n\t\tvar arr = position === 'bottom' ? openBottomFlashes : openTopFlashes;\n\t\t\n\t\tif(shouldRemove) {\n\t\t\tVolta._removeFromArr(arr, element);\n\t\t}\n\n\t\t_updateFlashPositions(arr, element, position);\n\n\t\telement.style[position] = '';\n\t\telement.classList.remove(_class.visible);\n\t}\n\n\t/** \n\t *\t@private\n\t *\t@description Set the position of the flash\n\t * @param {HTMLElement} element \n\t */\n\tfunction _setFlashPosition(arr, element, position) {\n\t\tvar positionPx = arr.reduce(function(px, flash) {\n\t\t\treturn px + flash.clientHeight;\t\t\t\t\n\t\t}, 0);\n\t\tif(positionPx > 0) {\n\t\t\telement.style[position] = (gap * arr.length) + gap + positionPx + 'px';\n\t\t}\n\t}\n\n\t/** \n\t *\t@private\n\t *\t@description Update the position of all the visible flashes\n\t * @param {Array} arr\n\t * @param {HTMLElement} element \n\t * @param {string} position \n\t */\n\tfunction _updateFlashPositions(arr, element, position){\n\t\tif(arr.length > 0) {\n\t\t\tvar elementHeight = element.clientHeight;\n\n\t\t\tarr.forEach(function(flash) {\n\t\t\t\tvar newPosition;\n\n\t\t\t\tif(position === 'bottom') {\n\t\t\t\t\tnewPosition = Number(flash.style.bottom.substring(0, flash.style.bottom.length - 2));\n\t\t\t\t} else {\n\t\t\t\t\tnewPosition = flash.getBoundingClientRect()[position];\t\t\t\t\n\t\t\t\t}\n\t\t\t\tflash.style[position] = newPosition -elementHeight - gap + \"px\";\t\t\n\t\t\t});\n\t\t}\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\n * Modals (requires core)\n */\n\n'use strict';\n\nVolta.modal = function () {\n\tvar _class = {\n\t\tauto: 'Vlt-modal--auto',\n\t\tbodyModalOpen: 'Vlt-body--modal-open',\n\t\tcancel: 'Vlt-modal__cancel',\n\t\tconfirm: 'Vlt-modal__confirm',\n\t\tcontent: 'Vlt-modal__content',\n\t\tmodal: 'Vlt-modal',\n\t\tout: 'Vlt-modal--out',\n\t\tpanel: 'Vlt-modal__panel',\n\t\ttrigger: 'Vlt-modal-trigger',\n\t\tvisible: 'Vlt-modal_visible',\n\t\tdismiss: 'Vlt-modal__dismiss',\n\t}\n\n\tvar body,\n\t\tdismissModalHandler,\n\t\tcancelModalHandler,\n\t\tconfirmModalHandler,\n\t\tescHandler,\n\t\tclickHandler,\n\t\tescAttached;\n\n\tfunction Modal() {}\n\n\tModal.prototype = {\n\t\tattachButtons: function() {\n\t\t\tvar _this = this;\n\t\t\t_this.dismissBtn = _this.modal.querySelector('.' + _class.dismiss);\n\n\t\t if(_this.dismissBtn) {\n\t\t \tdismissModalHandler = dismissModal.bind(_this);\n\t\t \t_this.dismissBtn.addEventListener('click', dismissModalHandler);\n\t\t }\n\n\t\t _this.cancelBtn = _this.modal.querySelector('.' + _class.cancel);\n\n\t\t if(_this.cancelBtn) {\n\t \t\tcancelModalHandler = cancelModal.bind(_this);\n\t\t \t_this.cancelBtn.addEventListener('click', cancelModalHandler);\n\t\t }\n\n\t\t _this.confirmBtn = _this.modal.querySelector('.' + _class.confirm);\n\n\t\t if(_this.confirmBtn) {\n\t\t \tconfirmModalHandler = confirmModal.bind(_this);\n\t\t \t_this.confirmBtn.addEventListener('click', confirmModalHandler);\n\t\t }\n\t\t},\n\t\thtml: function(newHtml) {\n\t\t\tthis.modal.innerHTML = newHtml;\n\t\t\treturn this;\n\t\t},\n\t\tinit: function(elementOrId) {\n\t\t\tif(elementOrId.length) {\n\t\t\t\tthis.modal = document.querySelector('#' + elementOrId);\n\t\t\t} else {\n\t\t\t\tthis.modal = elementOrId;\n\t\t\t}\n\n\t\t\tthis._callback = Volta._getFunction(this.modal.dataset.callback);\n\t\t},\n\t\topen: function(e) {\n\t\t if(e && e.preventDefault) {\n\t\t e.preventDefault();\n\t\t \te.stopPropagation();\n\t\t }\n\n\t\t this.modal.classList.remove(_class.out);\n\t\t this.modal.classList.add(_class.visible);\n\t\t this.attachButtons();\n\n\t\t disableScroll();\n\n\t\t if(!escAttached && !this.modal.dataset.disableEsc || this.modal.dataset.disableEsc === \"false\") {\n\t\t \tescHandler = closeModalOnEscape.bind(this);\n\t\t \t\tbody.addEventListener('keyup', escHandler, { once: true });\n\t\t \t\tescAttached = true;\n\t\t }\n\n\t\t if(!this.modal.dataset.disableClick || this.modal.dataset.disableClick === \"false\") {\n\t\t \tclickHandler = closeModalOnClick.bind(this);\n\t\t \t\tthis.modal.addEventListener('click', clickHandler, { once: true });\n\t\t }\n\t\t},\n\t\tdismiss: function(e, confirmed) {\n\t\t\tvar _this = this;\n\n\t\t\tif(e && e.preventDefault) {\n\t\t \te.preventDefault();\n\t\t \te.stopPropagation();\n\t\t\t}\n\n\t\t\tenableScroll();\n\n\t\t\tif(_this.modal){\n\t\t\t\t_this.modal.classList.remove(_class.visible);\n\t\t\t\t_this.modal.classList.add(_class.out);\n\t\t\t}\n\n\t\t\tif(_this._callback) {\n\t\t\t\t_this._callback(confirmed);\n\t\t\t}\n\n\t\t\tremoveModal(_this);\n\t\t}\n\t}\n\n\treturn {\n\t\tcreate: create,\n\t\tinit: attachModalHandlers\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Attach a click listener to each modals trigger on the screen, which will open the modal\n\t */\n\tfunction attachModalHandlers() {\n\t\tif(!body) {\n\t\t\tbody = document.querySelector('body');\n\t\t}\n\n\t\tvar triggers = document.querySelectorAll('.' + _class.trigger);\n\n\t\tif(triggers.length > 0) {\n\t\t\ttriggers.forEach(attachTriggerHandler);\n\t\t}\n\n\t\t//Not the recommended way to use modals\n\t\tvar modals = document.querySelectorAll('.' + _class.modal);\n\n\t\tif(modals.length > 0) {\n\t\t\tmodals.forEach(attachModalHandler);\n\t\t}\n\n\t\tfunction attachModalHandler(modal) {\n\t\t\tif(Volta._hasClass(modal, _class.auto)) {\n\t\t\t\tvar trigger = document.querySelector('#' + modal.dataset.trigger);\n\t\t\t\ttrigger.addEventListener('click', function() {\n\t\t\t\t\tcreate(modal).open();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction attachTriggerHandler(trigger) {\n\t\t\tif(trigger.dataset.modal) {\n\t\t\t\tvar modal = document.querySelector('#' + trigger.dataset.modal);\n\n\t\t\t\tif(!modal) {\n\t\t\t\t\tconsole.warn('Volta: modal ' + trigger.dataset.modal + ' cannot be found');\n\t\t\t\t}\n\n\t\t\t\ttrigger.addEventListener('click', function() {\n\t\t\t\t\tcreate(modal).open();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n /**\n\t *\t@private\n\t *\n\t *\t@description Close the modal, triggered by cancel button, passes false to callback function\n\t * @param {event} e\n\t */\n function cancelModal(e) {\n\t\treturn this.dismiss(e, false);\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Close the modal, triggered by confirm button, passes true to callback function\n\t * @param {event} e\n\t */\n function confirmModal(e) {\n\t\treturn this.dismiss(e, true);\n\t}\n\n /**\n\t *\t@private\n\t *\n\t *\t@description Close the modal, triggered by 'x' button, passes false to callback function\n\t * @param {event} e\n\t */\n function dismissModal(e) {\n\t\treturn this.dismiss(e, false);\n }\n\n /**\t@private\n\t *\n\t *\t@description Close the modal, triggered by 'esc' key, passes false to callback function\n\t * @param {event} e\n\t */\n function closeModalOnEscape(e){\n \tif(e && e.keyCode === 27) {\n \t\tthis.dismiss(e, false);\n \t} else {\n\t\t\tbody.addEventListener('click', escHandler, { once: true });\n \t}\n }\n\n\n /**\t@private\n\t *\n\t *\t@description Close the modal, triggered by 'body click, passes false to callback function\n\t * @param {event} e\n\t */\n function closeModalOnClick(e){\n \tif(!Volta._hasClass(e.target, _class.trigger)\n\t\t\t&& !Volta._closest(e.target, '.' + _class.trigger, '.' + _class.trigger)\n \t\t&& !Volta._closest(e.target, '.' + _class.panel, '.' + _class.panel)) {\n \t\tthis.dismiss(e, false);\n \t} else if(this.modal) {\n\t\t\tthis.modal.addEventListener('click', clickHandler, { once: true });\n \t}\n }\n\n /**\n\t *\t@public\n\t *\n\t *\t@description Create the modal object\n\t * @param {HTMLElement|string} elementOrId Reference to the modal element or the id\n\t *. @return {Object} A modal object\n\t */\n function create(elementOrId) {\n \tif(!body) {\n\t\t\tbody = document.querySelector('body');\n\t\t}\n\t\tvar modal = Object.create(Modal.prototype, {})\n\t\tmodal.init(elementOrId);\n\t\treturn modal;\n }\n\n /**\n\t * Private functions to disable body scroll when modal is open\n */\n function disableScroll() {\n\t body.classList.add(_class.bodyModalOpen);\n\t\tbody.addEventListener('touchmove', preventScroll);\n\n\t\tif (body.querySelector('.Vlt-main')) {\n\t\t\tbody.querySelector('.Vlt-main').addEventListener('touchmove', preventScroll);\n\t\t} else {\n\t\t\tbody.addEventListener('touchmove', preventScroll);\n\t\t}\n\n\t\tbody.querySelector('.' + _class.content).addEventListener('touchmove', allowScroll);\n }\n\n function enableScroll() {\n\t\tbody.classList.remove(_class.bodyModalOpen);\n\t\tbody.removeEventListener('touchmove', preventScroll);\n\n\t\tif (body.querySelector('.Vlt-main')) {\n\t\t\tbody.querySelector('.Vlt-main').removeEventListener('touchmove', preventScroll);\n\t\t} else {\n\t\t\tbody.removeEventListener('touchmove', preventScroll);\n\t\t}\n\t\t\n\t\tvar modalContent = body.querySelector('.' + _class.content);\n\t\tif(modalContent) modalContent.removeEventListener('touchmove', allowScroll);\n }\n\n function allowScroll(e) {\n \te.stopPropagation();\n }\n\n function preventScroll(e) {\n\t\te.preventDefault();\n }\n\n \t/**\n\t *\t@private\n\t *\n\t *\t@description Remove the modal after dismiss, makes sure to delete the modal properties so it can be garbage collected, and removes event listeners\n\t * @param {HTMLElement|string} elementOrId Reference to the modal element or the id\n\t */\n\tfunction removeModal(modal) {\n\t\tdelete modal.modal;\n\n\t\tif(modal.dismissBtn) {\n\t\t\tmodal.dismissBtn.removeEventListener('click', dismissModalHandler);\n\t\t}\n\n\t\tif(modal.cancelBtn) {\n\t\t\tmodal.cancelBtn.removeEventListener('click', cancelModalHandler);\n\t\t}\n\n\t\tif(modal.confirmBtn) {\n\t\t\tmodal.confirmBtn.removeEventListener('click', confirmModalHandler);\n\t\t}\n\n\t\tif(clickHandler) {\n \t\t\tbody.removeEventListener('click', clickHandler);\n \t}\n\n \tif(escHandler) {\n \t\tbody.removeEventListener('keyup', escHandler);\n \t\tescAttached = false;\n \t}\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\n * Tabs (requires core)\n */\n\n'use strict';\n\nVolta.tab = function () {\n\tvar _class = {\n\t\tlink: 'Vlt-tabs__link',\n\t\tlinkJs: 'Vlt-js-tabs__link',\n\t\tlinkActive: 'Vlt-tabs__link_active',\n\t\tlinkDisabled: 'Vlt-tabs__link_disabled',\n\t\tlinkJsActive: 'Vlt-js-tabs__link_active',\n\t\tpanel: 'Vlt-tabs__panel',\n\t\tpanelActive: 'Vlt-tabs__panel_active',\n\t\tpanelJsActive: 'Vlt-js-tabs__panel_active',\n\t\ttabs: 'Vlt-tabs',\n\t}\n\n\tfunction Tabs() { }\n\n\tTabs.prototype = {\n\t\t_keys: {\n\t\t\tleft: 37,\n\t\t\tright: 39\n\t\t},\n\n\t\tinit: function (element, isWrapper) {\n\t\t\tvar _this = this,\n\t\t\t\ttabsHeader,\n\t\t\t\ttabsContent;\n\n\t\t\tif (isWrapper) {\n\t\t\t\ttabsHeader = element.children.item(0);\n\t\t\t\ttabsContent = element.children.item(1);\n\t\t\t} else {\n\t\t\t\t_this.isJs = true;\n\t\t\t\ttabsHeader = element;\n\t\t\t\ttabsContent = element.dataset.tabContent ?\n\t\t\t\t\tdocument.querySelector('#' + element.dataset.tabContent)\n\t\t\t\t\t: null;\n\t\t\t}\n\n\t\t\tvar linkClass = _this.isJs ? _class.linkJs : _class.link;\n\t\t\t_this._links = tabsHeader.querySelectorAll('.' + linkClass);\n\t\t\t_this._panels = tabsContent ? tabsContent.children : undefined;\n\n\t\t\tthis._deactivateElements();\n\t\t\tthis._setActiveElements();\n\n\t\t\tif (_this._panels && _this._panels.length === _this._links.length) {\n\t\t\t\t_this._links.forEach(function (link, index) {\n\t\t\t\t\tvar link = link;\n\n\t\t\t\t\tlink.index = index;\n link.addEventListener('keyup', _this._keyUpEventListener.bind(_this));\n link.addEventListener('toggle', function() {\n _this.toggle(link);\n });\n\n\t\t\t\t\tlink.addEventListener('click', function () {\n\t\t\t\t\t\t_this.toggle(link);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else if (_this._panels && _this._panels.length > 0) {\n\t\t\t\tconsole.log('Volta: Tabs, number of links and panels do not match');\n\t\t\t}\n\t\t},\n\t\ttoggle: function (linkElement) {\n\t\t\tvar linkActiveClass = this.isJs ? _class.linkJsActive : _class.linkActive;\n\t\t\tvar panelActiveClass = this.isJs ? _class.panelJsActive : _class.panelActive;\n\n\t\t\tif (!Volta._hasClass(linkElement, _class.linkDisabled) && (!this._activeLink || this._activeLink !== linkElement)) {\n\t\t\t\tif (this._activeLink) {\n\t\t\t\t\tthis._activeLink.classList.remove(linkActiveClass);\n\t\t\t\t\tthis._activePanel.classList.remove(panelActiveClass);\n\t\t\t\t}\n\n\t\t\t\tthis._deactivateElements();\n\t\t\t\tthis._setActiveElements(linkElement);\n\n\t\t\t\tthis._activeLink.classList.add(linkActiveClass);\n\t\t\t\tthis._activePanel.classList.add(panelActiveClass);\n\n\t\t\t\tif (Volta.tooltip) {\n\t\t\t\t\tVolta.tooltip.init();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t_deactivateElements: function () {\n\t\t\tthis._links.forEach(function (link) {\n\t\t\t\tlink.setAttribute('tabIndex', '-1');\n\t\t\t\tlink.setAttribute('aria-selected', 'false');\n\t\t\t});\n\t\t\tArray.from(this._panels).forEach(function (panel) {\n\t\t\t\tpanel.setAttribute('hidden', 'hidden');\n\t\t\t});\n\t\t},\n\t\t_setActiveElements: function (linkElement) {\n\t\t\tvar linkActiveClass = this.isJs ? _class.linkJsActive : _class.linkActive;\n\n\t\t\tif (!linkElement) {\n\t\t\t\tthis._activeLink = this._links.item(linkActiveClass);\n\t\t\t} else {\n\t\t\t\tthis._activeLink = linkElement;\n\t\t\t}\n\n\t\t\tvar tabIndex;\n\t\t\tvar currentNode = 0;\n\n\t\t\twhile (!tabIndex && currentNode < this._links.length) {\n\t\t\t\tif (this._links.item(currentNode) === this._activeLink) {\n\t\t\t\t\ttabIndex = currentNode;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcurrentNode++;\n\t\t\t}\n\n\t\t\tif (this._panels) {\n\t\t\t\tthis._activePanel = this._panels.item(tabIndex);\n\t\t\t}\n\n\t\t\tthis._activeLink.setAttribute('tabindex', '0');\n\t\t\tthis._activeLink.setAttribute('aria-selected', 'true');\n this._activeLink.focus({ preventScroll: true });\n\t\t\tif (this._activePanel) {\n\t\t\t\tthis._activePanel.removeAttribute('hidden');\n\t\t\t}\n\t\t},\n\t\t_keyUpEventListener: function (event) {\n\t\t\tvar key = event.keyCode;\n\n\t\t\tswitch (key) {\n\t\t\t\tcase this._keys.left:\n\t\t\t\tcase this._keys.right:\n\t\t\t\t\tthis._switchTab(event);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t_switchTab: function (event) {\n\t\t\tvar nextTab;\n\n\t\t\tif (this._keys.left === event.keyCode) {\n\t\t\t\tnextTab = this._findNextTab(-1);\n\t\t\t} else if (this._keys.right === event.keyCode) {\n\t\t\t\tnextTab = this._findNextTab(1);\n\t\t\t}\n\t\t\tthis.toggle(nextTab);\n\t\t},\n\t\t_findNextTab: function (direction) {\n\t\t\tvar tab, nextTab;\n\t\t\tvar currentIndex = this._activeLink.index;\n\t\t\tfor (var i = currentIndex + direction; !nextTab && (this._calculateIndex(i) !== currentIndex); i += direction) {\n\t\t\t\ttab = this._links.item(this._calculateIndex(i));\n\t\t\t\tif (!Volta._hasClass(tab, _class.linkDisabled)) {\n\t\t\t\t\tnextTab = tab;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nextTab;\n\t\t},\n\t\t_calculateIndex: function (i) {\n\t\t\tvar length = this._links.length;\n\t\t\treturn ((i % length) + length) % length;\n\t\t}\n\t}\n\n\treturn {\n\t\tcreate: create,\n\t\tinit: attachTabHandlers\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Attach a listener to the tab header\n\t */\n\tfunction attachTabHandlers() {\n\t\t//traditional tabs\n\t\tdocument.querySelectorAll('.' + _class.tabs).forEach(create);\n\n\t\tdocument.querySelectorAll('[data-tab-content]').forEach(create);\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Create a tabs component\n\t * @param {HTMLElement} element\n\t */\n\tfunction create(element) {\n\t\tvar tabs = Object.create(Tabs.prototype, {})\n\n\t\tif (Volta._hasClass(element, _class.tabs)) {\n\t\t\ttabs.init(element, true);\n\t\t} else {\n\t\t\ttabs.init(element);\n\t\t}\n\n\t\treturn tabs;\n\t}\n}();\n\n/**\n * Copyright (c) 2001-present, Vonage.\n *\t\n * tables (requires core)\n */\n\n'use strict';\n\nVolta.table = function () {\t\n\tvar _class = {\n\t\ttable: 'Vlt-table',\n\t\ttall: 'Vlt-table--tall',\n\t\tshort: 'Vlt-table--short',\n\t\ttrigger: 'Vlt-table__density',\n\t\tbuttonActive: 'Vlt-btn_active'\n\t}\n\n\treturn {\n\t\tinit: attachTableDensityHandlers\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Attach a listener to the table density triggers\n\t */\n\tfunction attachTableDensityHandlers() {\n\t\tvar triggers = document.querySelectorAll('.' + _class.trigger);\n\n\t\tif(triggers.length > 0) {\n\t\t\ttriggers.forEach(attachTriggerHandler);\n\t\t}\n\n\t\tfunction attachTriggerHandler(trigger) {\n\t if(trigger.dataset.table) {\n\t var table = document.querySelector('#' + trigger.dataset.table);\n\n\t if(!table) {\n\t console.warn('Volta: table ' + trigger.dataset.table + ' cannot be found');\n\t return;\n\t }\n\n\t var activeButton = trigger.querySelector('.' + _class.buttonActive);\n\n\t trigger.querySelectorAll('.Vlt-btn').forEach( function(button) {\n\t button.addEventListener('click', function() {\n\t if (this.dataset.density) {\n\t console.log('in')\n\t if (this.dataset.density == 'short') {\n\t table.classList.add(_class.short)\n\t table.classList.remove(_class.tall)\n\t } else if (this.dataset.density == 'tall') {\n\t table.classList.add(_class.tall)\n\t table.classList.remove(_class.short)\n\t } else {\n\t table.classList.remove(_class.tall)\n\t table.classList.remove(_class.short)\n\t }\n\n\t // update classes on buttons\n\t if(activeButton) {\n\t activeButton.classList.remove(_class.buttonActive);\n\t }\n\t activeButton = this;\n\t this.classList.add(_class.buttonActive);\n\t }\n\t })\n\t });\n\t }\n\t }\n\t}\n\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\t\n * Tooltips (requires popper.js, tooltip.js)\n */\n'use strict';\n\nVolta.tooltip = function () {\n\tvar _class = {\n\t\tbottom: 'Vlt-tooltip--bottom',\n\t\tleft: 'Vlt-tooltip--left',\n\t\ttooltip: 'Vlt-tooltip',\n\t\ttop: 'Vlt-tooltip--top',\n\t\tright: 'Vlt-tooltip--right',\n\t\tlarge: 'Vlt-tooltip--large'\n\t}\n\n\treturn {\n\t\tcreate: create,\n\t\tinit: attachTooltipHandlers\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Create a Tooltip instance for every Vlt-tooltip\n\t */\n\tfunction attachTooltipHandlers() {\n\t\tdocument.querySelectorAll('.' + _class.tooltip).forEach(create);\t\t\t\t\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Create a Tooltip instance\n\t *\t@param {HTMLElement} tooltip\n\t * @return {object} a Tooltip element\n\t */\n\t function create(tooltip) {\n\t\tvar placement;\n\t\tvar size;\n\n\t\tif (Volta._hasClass(tooltip, _class.bottom)) {\n\t\t\tplacement = 'bottom';\n\t\t} else if (Volta._hasClass(tooltip, _class.top)) {\n\t\t\tplacement = 'top';\n\t\t} else if (Volta._hasClass(tooltip, _class.left)) {\n\t\t\tplacement = 'left';\n\t\t} else if (Volta._hasClass(tooltip, _class.right)) {\n\t\t\tplacement = 'right';\n\t\t}\n\n\t\tif (Volta._hasClass(tooltip, _class.large)) {\n\t\t\tsize = ' Vlt-tooltip--large';\n\t\t} else {\n\t\t\tsize='';\n\t\t}\n\n\t\tvar template = \n\t\t\t'<div class=\"Vlt-tooltip--js' + size + '\" role=\"tooltip\">' +\n\t\t\t\t'<div class=\"tooltip-arrow Vlt-tooltip__arrow\"></div>' +\n\t\t\t\t'<div class=\"tooltip-inner Vlt-tooltip__content\"></div>' +\n\t\t\t'</div>';\n\n\t\tvar title = tooltip.title;\n\t\t//remove the title so deafult title does not show\n\t\ttooltip.title = \"\";\n\n\t\treturn new Tooltip(tooltip, {\n\t\t\thtml: true,\n\t\t\ttemplate: template, \n\t\t\ttitle: title,\n\t\t\tplacement: placement\n\t\t});\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\t\n * Menu Collapse (requires core, menu)\n */\n\n'use strict';\n\nVolta.menuCollapse = function () {\t\n\tvar _class = {\n\t\tanimate: 'Vlt-sidenav--animate',\n\t\tcollapsed: 'Vlt-sidenav--collapsed',\n\t\tvisible: 'Vlt-sidenav_visible'\n\t}\n\n\tvar _id = {\n\t\tcollapse: '#Vlt-sidenav-collapse-trigger'\n\t}\n\n\tvar menuCollapseString = \"menuCollapse\";\n\n\treturn {\n\t\tattachCloseHandler: attachCloseHandler,\n\t\tinit: initialise\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Attach listener to trigger for collapsing the menu\n\t */\n\tfunction attachMenuCollapseHandler() {\n\t\tvar collapseTrigger = document.querySelector(_id.collapse);\n\n\t\tif(collapseTrigger) {\n\t\t\tcollapseTrigger.addEventListener('click', function(e) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\t\n\t\t\t\tvar hasCollapsedClass = Volta._hasClass(Volta.menu._element, _class.collapsed);\n\t\t\t\tvar isMobile = Volta._hasClass(Volta.menu._element, _class.visible);\n\n\t\t\t\tVolta.menu._element.classList.add(_class.animate);\n\t\t\t\t\n\t\t\t\tif (isMobile) {\n\t\t\t\t\tVolta.menu._element.classList.remove(_class.visible);\n\t\t\t\t} else if (hasCollapsedClass) {\n\t\t\t\t\tunCollapseMenu(Volta.menu._element);\n\t\t\t\t} else {\n\t\t\t\t\tcollapseMenu(Volta.menu._element);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Attach listener to trigger for closing the menu\n\t */\n\tfunction attachCloseHandler(expandedMenus) {\n\t\tif(document.querySelector('.' + _class.collapsed) && expandedMenus) {\n\t\t\tdocument.querySelector('body').addEventListener('click', closeMenu, { once: true });\n\t\t}\n\n\t\tfunction closeMenu(e) {\n\t\t\tif(!Volta._hasClass(e.target, Volta.menu._class.link) \n\t\t\t\t\t&& !Volta._hasClass(e.target.parentElement, Volta.menu._class.link)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\n\t\t\t\tVolta.menu.closeAll();\n\t\t\t} else {\n\t\t\t\tdocument.querySelector('body').addEventListener('click', closeMenu, { once: true });\n\t\t\t}\n\t\t}\n\t}\n\n\t/** \n\t *\t@private\n\t *\t\n\t *\t@description Collapse the expanded menu\n\t */\n\tfunction collapseMenu() {\n\t\tVolta.menu.closeAll();\n\t\tVolta.menu.selectActiveTab();\n\n\t\tVolta.menu._element.classList.add(_class.collapsed);\n\n\t\tdocument.querySelectorAll(Volta.menu._class.trigger).forEach(function(menuItem){\n\t menuItem.nextElementSibling.style = \"top: \" + menuItem.positionTop;\n\t\t});\n\n\t\tif(localStorage) {\n\t\t\tlocalStorage.setItem(menuCollapseString, true);\n\t\t}\n\n\t\tvar sideTabs = Volta.menu._element.querySelector('.' + Volta.menu._class.sideTabs);\n\n\t\tif(sideTabs) {\n\t\t\tsideTabs.querySelectorAll('.' + Volta.menu._class.sideTabsTrigger).forEach(function(trigger){\n\t\t\t\ttrigger.classList.remove(Volta.menu._class.sideTabsTrigger);\n\t\t\t\ttrigger.classList.add(Volta.menu._class.trigger);\n\t\t\t\ttrigger.addEventListener('click', Volta.menu.showCollapsed);\n\t\t\t});\n\n\t\t\tsideTabs.querySelectorAll('.' + Volta.menu._class.sideTabsLink).forEach(function(link){\n\t\t\t\tlink.classList.remove(Volta.menu._class.sideTabsLink);\n\t\t\t\tlink.classList.add(Volta.menu._class.link);\n\t\t\t});\n\t\t}\n\n\t\tVolta.menu.styleActiveTrigger();\n\t}\n\n\t/** \n\t *\t@public\n\t *\t\n\t *\t@description Initailise the menu collapsing\n\t */\n\tfunction initialise() {\n\t\tif(!Volta.menu || !Volta.menu._element) return;\n\n\t\tattachMenuCollapseHandler();\n\n\t\tvar menuCollapsedFlag = localStorage ? localStorage.getItem(menuCollapseString) : false;\n\n\t\tif(menuCollapsedFlag) {\n\t\t\tVolta.menu._element.querySelectorAll('.' + Volta.menu._class.triggerActive).forEach(function(trigger) {\n\t\t\t\ttrigger.classList.remove(Volta.menu._class.triggerActive);\n\t\t\t});\n\t\t\tcollapseMenu();\n\t\t} else {\n\t\t\tVolta.menu.expand();\n\t\t}\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Expand the collapsed menu\n\t */\n\tfunction unCollapseMenu() {\n\t\tVolta.menu._element.classList.remove(_class.collapsed);\n\n\t\tif(localStorage) {\n\t\t\tlocalStorage.removeItem(menuCollapseString);\n\t\t}\n\n\t\tvar sideTabs = Volta.menu._element.querySelector('.' + Volta.menu._class.sideTabs);\n\n\t\tif(sideTabs) {\n\t\t\tsideTabs.querySelectorAll('.' + Volta.menu._class.trigger).forEach(function(trigger){\n\t\t\t\ttrigger.classList.add(Volta.menu._class.sideTabsTrigger);\n\t\t\t\ttrigger.classList.remove(Volta.menu._class.trigger);\n\t\t\t\ttrigger.removeEventListener('click', Volta.menu.showCollapsed);\n\t\t\t});\n\n\t\t\tsideTabs.querySelectorAll('.' + Volta.menu._class.link).forEach(function(link){\n\t\t\t\tlink.classList.add(Volta.menu._class.sideTabsLink);\n\t\t\t\tlink.classList.remove(Volta.menu._class.link);\n\t\t\t});\n\t\t}\n\n\t\tVolta.menu.expand(true);\n\t}\n}();\n/**\n * Copyright (c) 2001-present, Vonage.\n *\n * Menu (requires core)\n */\n\n'use strict';\n\nVolta.menu = function () {\n\tvar _class = {\n\t\tmobile: 'Vlt-sidenav__mobile',\n\t\tmobileOpen: 'Vlt-body--mobile-menu-open',\n\t\tmobileTrigger: 'Vlt-sidenav__mobile-trigger',\n\t\tlink: 'Vlt-sidemenu__link',\n\t\tlinkActive: 'Vlt-sidemenu__link_active',\n\t\tsideMenu: 'Vlt-sidemenu',\n\t\tsideTabs: 'Vlt-sidetabs',\n\t\tsideTabsLinkActive: 'Vlt-js-tabs__link_active',\n\t\tsideTabsPanel: 'Vlt-js-tabs__panel',\n\t\tsideTabsPanelActive: 'Vlt-js-tabs__panel_active',\n\t\tsideTabsLink: 'Vlt-sidetabs__link',\n\t\tsideTabsTrigger: 'Vlt-sidetabs__trigger',\n\t\ttrigger: 'Vlt-sidemenu__trigger',\n\t\ttriggerActive: 'Vlt-sidemenu__trigger_active',\n\t\ttriggerCurrent: 'Vlt-sidemenu__trigger_current',\n\t\ttriggerEnabled: '.Vlt-tabs__link:not(.Vlt-tabs__link_disabled)',\n\t\tvisible: 'Vlt-sidenav_visible'\n\t}\n\n\tvar _id = {\n\t\tmenu: '#Vlt-sidenav',\n\t\tmobileTrigger: '#Vlt-sidenav-mobile-trigger'\n\t}\n\n\tvar expandedMenus = [],\n\t\tmobileMenuTriggeredTwice;\n\n\treturn {\n\t\t_class: _class,\n\t\t_element: undefined,\n\n\t\tcloseAll: removeAllMenuItemsFromSelectedArr,\n\t\tinit: initialise,\n\t\texpand: expandActiveMenu,\n\t\tshowCollapsed: expandMenu,\n\t\t_triggerHandler: attachTriggerHandlers,\n\t\tselectActiveTab: selectActiveTab,\n\t\tstyleActiveTrigger: styleActiveTrigger\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Adds the parents of the active menu to the exoanded menus array\n\t *\t@param {HTMLElement} element The active menu\n\t */\n\tfunction addExpandedParentMenuToArr(element){\n\t\tvar nestedMenuUl = Volta._closest(element, 'ul', '.' + _class.sideMenu);\n\t\tvar nestedMenuTrigger = nestedMenuUl.previousElementSibling;\n\n\t\tif(nestedMenuTrigger && Volta._hasClass(nestedMenuTrigger, _class.trigger)) {\n\t\t\tif(!Volta._hasClass(nestedMenuTrigger, _class.triggerActive)) {\n\t\t\t\tnestedMenuTrigger.classList.add(_class.triggerActive);\n\t\t\t}\n\n\t\t\texpandedMenus.push(nestedMenuTrigger);\n\t\t\taddExpandedParentMenuToArr(nestedMenuTrigger);\n\t\t}\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Attach the listener for the mobile menu trigger\n\t */\n\tfunction attachMobileTriggerHandler() {\n\t\tvar mobileMenuTrigger = document.querySelector(_id.mobileTrigger);\n\n\t\tif(mobileMenuTrigger) {\n\t\t\tmobileMenuTrigger.addEventListener('click', function(e){\n\t\t\t\tif(mobileMenuTriggeredTwice) {\n\t\t\t\t\tmobileMenuTriggeredTwice = false;\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!Volta._hasClass(Volta.menu._element, _class.visible)) {\n\t\t\t\t\tVolta.menu._element.classList.add(_class.visible);\n\t\t\t\t\tdocument.body.classList.add(_class.mobileOpen);\n\n\t\t\t\t\t//stop propagation otherwise will immediately call handler\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\taddMobileMenuCollapseListeners();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Attach the listeners for closing the expanded mobile menu\n\t */\n\tfunction addMobileMenuCollapseListeners() {\n\t\tdocument.querySelector('body').addEventListener('click', closeMenu, { once: true });\n\t\tdocument.querySelector('body').addEventListener('touchstart', closeMenu, { once: true });\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Attach the listeners to the trigger elements of the menu\n\t */\n\tfunction attachTriggerHandlers() {\n\t\tattachMobileTriggerHandler();\n\t\tVolta.menu._element.querySelectorAll('.' + _class.trigger).forEach(attachHandler);\n\n\t\tfunction attachHandler(triggerElem) {\n\t\t\ttriggerElem.addEventListener('click', expandMenu);\n\t\t}\n\t}\n\n\t/**\n * @private\n *\n * @description Checks if the passed in menu is nested\n * @param {HTMLElement} menuItem\n * @return {boolean} If the menu item is nested returns true, otherwise false\n */\n function checkMenuItemIsNested(menuItem) {\n return isNestedDescendant(menuItem);\n }\n\n /**\n * @private\n *\n * @description Recursive function to check if the passed in menu is nested\n * @param {HTMLElement} menuItem\n * @param {Boolean} isAncestor\n * @return {boolean} If the menu item is nested returns true, otherwise false\n */\n function isNestedDescendant(menuItem, isAncestor) {\n var isNested = false;\n var ancestor = isAncestor ? menuItem.parentElement : menuItem.parentElement.parentElement;\n var ancestorSibling = ancestor.previousElementSibling;\n\n if(ancestorSibling) {\n isNested = Volta._hasClass(ancestorSibling, _class.trigger);\n }\n\n if(ancestorSibling && !isNested) {\n return isNestedDescendant(ancestor, true);\n }\n\n return isNested;\n }\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Attach the listeners to the trigger elements of the menu\n\t * \t@param {HTMLElement} menuItem\n\t *\t@return {boolean} If the menu item is nested returns true, otherwise false\n\t */\n\tfunction closeMenu(e) {\n\t\tif(!Volta._hasClass(e.target, _class.sideMenu) && !Volta._closest(e.target, '.' + _class.sideMenu) &&\n\t\t\t!Volta._hasClass(e.target, _class.sideTabs) && !Volta._closest(e.target, '.' + _class.sideTabs)) {\n\t\t\tVolta.menu._element.classList.remove(_class.visible);\n\n\t\t\tdocument.body.classList.remove(_class.mobileOpen);\n\n\t\t\tvar isMobileMenu = Volta._closest(e.target, '.' + _class.mobile);\n\t\t\tif(Volta._hasClass(e.target, _class.mobileTrigger) || isMobileMenu) {\n\t\t\t\tmobileMenuTriggeredTwice = true;\n\t\t\t}\n\t\t} else {\n\t\t\taddMobileMenuCollapseListeners();\n\t\t}\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Expand the nested menu\n\t * \t@param {event} e\n\t */\n\tfunction expandMenu(e) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tvar _this = this;\n\n\t\tvar isNestedMenu = checkMenuItemIsNested(_this);\n\n\t\tif (expandedMenus.indexOf(_this) >= 0 && isNestedMenu) {\n\t\t\tremoveMenuFromSelectedArr(_this);\n\t\t} else if(expandedMenus.indexOf(_this) >= 0) {\n\t\t\tremoveAllMenuItemsFromSelectedArr();\n\t\t} else {\n\t\t\tif(!isNestedMenu) {\n\t\t\t\tremoveAllMenuItemsFromSelectedArr();\n\t\t\t} else {\n \t removeSiblingFromSelectedArr(_this);\n \t\t}\n\t\t\texpandedMenus.push(_this);\n\t\t\t_this.classList.add(_class.triggerActive);\n\t\t}\n\n\t\tif(Volta.menuCollapse) {\n\t\t\tVolta.menuCollapse.attachCloseHandler(expandedMenus);\n\t\t}\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Expand the active menu - typically used on page load\n\t * \t@param {boolean} isUserForced Whether the action has been trigger by the user\n\t */\n\tfunction expandActiveMenu(isUserForced) {\n\t\tvar activeMenuItem = Volta.menu._element.querySelector('.' + _class.linkActive);\n\n\t\tselectActiveTab(activeMenuItem);\n\n\t\tif(activeMenuItem) {\n\t\t\tvar activeTriggerUl = Volta._closest(activeMenuItem, 'ul', '.' + _class.sideMenu);\n\t\t\tvar activeTrigger = activeTriggerUl ? activeTriggerUl.previousElementSibling : null;\n\t\t\tif(activeTrigger) {\n\t\t\t\tvar isNestedMenu = checkMenuItemIsNested(activeTrigger);\n\t\t\t\tif(isNestedMenu) {\n\t\t\t\t\taddExpandedParentMenuToArr(activeTrigger);\n\t\t\t\t}\n\n\t\t\t\tif(!Volta._hasClass(activeTrigger, _class.triggerActive)) {\n\t\t\t\t\tactiveTrigger.classList.add(_class.triggerActive);\n\t\t\t\t\t//console.log(\"HEY!!!\");\n\t\t\t\t}\n\n\t\t\t\texpandedMenus.push(activeTrigger);\n\t\t\t}\n\t\t\tstyleActiveTrigger(activeMenuItem);\n\t\t}\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Initialise the menu\n\t * \t@param {boolean} menuCollapse Whether the collapse module has been included\n\t */\n\tfunction initialise(menuCollapse) {\n\t\texpandedMenus = [];\n\t\tVolta.menu._element = document.querySelector(_id.menu);\n\n\t\tif(Volta.menu._element) {\n\t\t\tif(!Volta.menuCollapse) {\n\t\t\t\texpandActiveMenu();\n\t\t\t} else if(menuCollapse) {\n\t\t\t\tVolta.menuCollapse.init();\n\t\t\t}\n\n\t\t\tattachTriggerHandlers();\n\t\t}\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Clear the selected menus array, and close all of the nested menus\n\t */\n\tfunction removeAllMenuItemsFromSelectedArr(){\n\t\texpandedMenus.forEach(function(menuItem){\n\t\t\tmenuItem.classList.remove(_class.triggerActive);\n\t\t});\n\t\texpandedMenus = [];\n\t}\n\n\t/**\n\t *\t@private\n\t *\n\t *\t@description Remove a specific menu item from the selected array and close\n\t */\n\tfunction removeMenuFromSelectedArr(menuItem) {\n\t\tvar menuIndex = expandedMenus.indexOf(menuItem);\n\t\tmenuItem.classList.remove(_class.triggerActive);\n\t\texpandedMenus.splice(menuIndex, 1);\n\t}\n\n\t/**\n * @private\n *\n * @description Remove sibling menu item from the selected array and close\n */\n function removeSiblingFromSelectedArr(menuItem) {\n var ancestors = menuItem.parentElement.parentElement.children;\n var openSibling;\n var count = ancestors.length - 1;\n\n while(openSibling === undefined && count >= 0) {\n var siblingIndex = expandedMenus.indexOf(ancestors[count].children[0]);\n if(siblingIndex >= 0) {\n openSibling = expandedMenus[siblingIndex];\n }\n count--;\n }\n\n if(openSibling) {\n removeMenuFromSelectedArr(openSibling);\n }\n }\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Select the active side tab\n\t *\t@param {activeMenuItem} Element(optional) The active menu item\n\t */\n\tfunction selectActiveTab(activeMenuItem) {\n\t\tactiveMenuItem = activeMenuItem || Volta.menu._element.querySelector('.' + _class.linkActive);\n\t\tvar navTabs = document.querySelector(_id.menu + ' .' + _class.sideTabs);\n\n\t\tif(!navTabs || !activeMenuItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\tvar sideMenus = Volta.menu._element.querySelectorAll('.' + _class.sideMenu);\n\t\tvar menuTab = Volta._closest(activeMenuItem, '.' + _class.sideTabsPanel, '.' + _class.sideMenu);\n\n\t\tvar tabIndex;\n\t\tvar currentNode = 0;\n\n\t\twhile(!tabIndex && currentNode < sideMenus.length) {\n\t\t\tif(sideMenus.item(currentNode) === menuTab) {\n\t\t\t\ttabIndex = currentNode;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrentNode++;\n\t\t}\n\t\tvar sideTabs = Volta.menu._element.querySelectorAll('.' + _class.sideTabsLink);\n\t\tsideTabs[tabIndex].click();\n\t}\n\n\t/**\n\t *\t@public\n\t *\n\t *\t@description Adds a class to the top level active trigger\n\t *\t@param {activeMenuItem} Element(optional) The active menu item\n\t */\n\tfunction styleActiveTrigger(activeMenuItem) {\n\t\tactiveMenuItem = activeMenuItem || Volta.menu._element.querySelector('.' + _class.linkActive);\n\n\t\tif(activeMenuItem) {\n\t\t\tvar topLevelTrigger = getTopLevelTrigger(activeMenuItem);\n\n\t\t\tif(topLevelTrigger) {\n\t\t\t\ttopLevelTrigger.classList.add(_class.triggerCurrent);\n\t\t\t}\n\t\t}\n\n\t\tfunction getTopLevelTrigger(activeMenuItem) {\n\t\t\tvar element = activeMenuItem;\n\t\t\tvar trigger = null;\n\n\t\t\twhile (element) {\n\t\t\t\tif(element.matches('ul') && Volta._hasClass(element, _class.sideMenu)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (element.matches('ul')) {\n\t\t\t \t\ttrigger = element;\n\t\t\t\t}\n\n\t\t\t\telement = element.parentElement;\n\t\t\t}\n\n\t\t\treturn trigger ? trigger.previousElementSibling : null;\n\t\t}\n\t}\n}();\n\n\nexport default Volta;\n","/*\n Copyright (C) Federico Zivolo 2018\n Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).\n */(function(a,b){'object'==typeof exports&&'undefined'!=typeof module?module.exports=b(require('popper.js')):'function'==typeof define&&define.amd?define(['popper.js'],b):a.Tooltip=b(a.Popper)})(this,function(a){'use strict';function b(a){return a&&'[object Function]'==={}.toString.call(a)}a=a&&a.hasOwnProperty('default')?a['default']:a;var c=function(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')},d=function(){function a(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,'value'in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},f={container:!1,delay:0,html:!1,placement:'top',title:'',template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:'hover focus',offset:0},g=function(){function g(a,b){c(this,g),h.call(this),b=e({},f,b),a.jquery&&(a=a[0]),this.reference=a,this.options=b;var d='string'==typeof b.trigger?b.trigger.split(' ').filter(function(a){return-1!==['click','hover','focus'].indexOf(a)}):[];this._isOpen=!1,this._popperOptions={},this._setEventListeners(a,d,b)}return d(g,[{key:'_create',value:function(a,b,c,d){var e=window.document.createElement('div');e.innerHTML=b.trim();var f=e.childNodes[0];f.id='tooltip_'+Math.random().toString(36).substr(2,10),f.setAttribute('aria-hidden','false');var g=e.querySelector(this.innerSelector);return this._addTitleContent(a,c,d,g),f}},{key:'_addTitleContent',value:function(a,c,d,e){if(1===c.nodeType||11===c.nodeType)d&&e.appendChild(c);else if(b(c)){var f=c.call(a);d?e.innerHTML=f:e.textContent=f}else d?e.innerHTML=c:e.textContent=c}},{key:'_show',value:function(b,c){if(this._isOpen&&!this._isOpening)return this;if(this._isOpen=!0,this._tooltipNode)return this._tooltipNode.style.display='',this._tooltipNode.setAttribute('aria-hidden','false'),this.popperInstance.update(),this;var d=b.getAttribute('title')||c.title;if(!d)return this;var f=this._create(b,c.template,d,c.html);b.setAttribute('aria-describedby',f.id);var g=this._findContainer(c.container,b);return this._append(f,g),this._popperOptions=e({},c.popperOptions,{placement:c.placement}),this._popperOptions.modifiers=e({},this._popperOptions.modifiers,{arrow:{element:this.arrowSelector},offset:{offset:c.offset}}),c.boundariesElement&&(this._popperOptions.modifiers.preventOverflow={boundariesElement:c.boundariesElement}),this.popperInstance=new a(b,f,this._popperOptions),this._tooltipNode=f,this}},{key:'_hide',value:function(){return this._isOpen?(this._isOpen=!1,this._tooltipNode.style.display='none',this._tooltipNode.setAttribute('aria-hidden','true'),this):this}},{key:'_dispose',value:function(){var a=this;return this._events.forEach(function(b){var c=b.func,d=b.event;a.reference.removeEventListener(d,c)}),this._events=[],this._tooltipNode&&(this._hide(),this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy&&(this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null)),this}},{key:'_findContainer',value:function(a,b){return'string'==typeof a?a=window.document.querySelector(a):!1===a&&(a=b.parentNode),a}},{key:'_append',value:function(a,b){b.appendChild(a)}},{key:'_setEventListeners',value:function(a,b,c){var d=this,e=[],f=[];b.forEach(function(a){'hover'===a?(e.push('mouseenter'),f.push('mouseleave')):'focus'===a?(e.push('focus'),f.push('blur')):'click'===a?(e.push('click'),f.push('click')):void 0}),e.forEach(function(b){var e=function(b){!0===d._isOpening||(b.usedByTooltip=!0,d._scheduleShow(a,c.delay,c,b))};d._events.push({event:b,func:e}),a.addEventListener(b,e)}),f.forEach(function(b){var e=function(b){!0===b.usedByTooltip||d._scheduleHide(a,c.delay,c,b)};d._events.push({event:b,func:e}),a.addEventListener(b,e)})}},{key:'_scheduleShow',value:function(a,b,c){var d=this;this._isOpening=!0;var e=b&&b.show||b||0;this._showTimeout=window.setTimeout(function(){return d._show(a,c)},e)}},{key:'_scheduleHide',value:function(a,b,c,d){var e=this;this._isOpening=!1;var f=b&&b.hide||b||0;window.setTimeout(function(){if((window.clearTimeout(e._showTimeout),!1!==e._isOpen)&&document.body.contains(e._tooltipNode)){if('mouseleave'===d.type){var f=e._setTooltipNodeEvent(d,a,b,c);if(f)return}e._hide(a,c)}},f)}},{key:'_updateTitleContent',value:function(a){if('undefined'==typeof this._tooltipNode)return void('undefined'!=typeof this.options.title&&(this.options.title=a));var b=this._tooltipNode.parentNode.querySelector(this.innerSelector);this._clearTitleContent(b,this.options.html,this.reference.getAttribute('title')||this.options.title),this._addTitleContent(this.reference,a,this.options.html,b),this.options.title=a,this.popperInstance.update()}},{key:'_clearTitleContent',value:function(a,b,c){1===c.nodeType||11===c.nodeType?b&&a.removeChild(c):b?a.innerHTML='':a.textContent=''}}]),g}(),h=function(){var a=this;this.show=function(){return a._show(a.reference,a.options)},this.hide=function(){return a._hide()},this.dispose=function(){return a._dispose()},this.toggle=function(){return a._isOpen?a.hide():a.show()},this.updateTitleContent=function(b){return a._updateTitleContent(b)},this.arrowSelector='.tooltip-arrow, .tooltip__arrow',this.innerSelector='.tooltip-inner, .tooltip__inner',this._events=[],this._setTooltipNodeEvent=function(b,c,d,e){var f=b.relatedreference||b.toElement||b.relatedTarget;return!!a._tooltipNode.contains(f)&&(a._tooltipNode.addEventListener(b.type,function d(f){var g=f.relatedreference||f.toElement||f.relatedTarget;a._tooltipNode.removeEventListener(b.type,d),c.contains(g)||a._scheduleHide(c,e.delay,e,f)}),!0)}};return g});\n//# sourceMappingURL=tooltip.min.js.map\n","import 'whatwg-fetch'\n\nexport default () => {\n $('[data-github]').each((index, element) => {\n let repo = $(element).data('github');\n\n fetch('https://api.github.com/repos/' + repo)\n .then(function (response) {\n return response.json();\n })\n .then((response) => {\n $(element).find('[data-forks]').text(response.forks);\n $(element).find('[data-stars]').text(response.stargazers_count);\n });\n });\n}\n","import UserPreference from './user_preference'\n\nexport default class VoltaTabbedExamples {\n constructor() {\n this.userPreference = new UserPreference(true);\n\n if ($('.Vlt-tabs').length) {\n this.context = $('.Vlt-tabs');\n this.restoreTabs = this.restoreTabs.bind(this)\n this.setupEvents = this.setupEvents.bind(this)\n this.onTabClick = this.onTabClick.bind(this)\n this.onPopState = this.onPopState.bind(this)\n this.persistLanguage = this.persistLanguage.bind(this)\n this.activateTabFromURLHash = this.activateTabFromURLHash.bind(this);\n this.restoreTabs()\n this.setupEvents()\n }\n }\n\n shouldRestoreTabs() {\n return !this.context.find('.Vlt-tabs__header--bordered').data('has-initial-tab');\n }\n\n languages() {\n let obj = {}\n\n $(this.context).find(`[data-language]`).each(function(index, el) {\n $(el).data('language').split(',').forEach(function(language) {\n obj[language] = {\n platform: $(el).data('platform') || false\n }\n })\n })\n\n return obj\n }\n\n restoreTabs() {\n if (this.shouldRestoreTabs()) {\n let languages = this.languages()\n const language = this.userPreference.topMatch(Object.keys(languages))\n\n if (language) {\n if (languages[language]['platform']) {\n this.setPlatform(languages[language]['platform'], this.context)\n } else {\n this.setLanguage(language);\n }\n }\n } else {\n const selectedLanguage = this.context.find('li.Vlt-tabs__link_active').data('language');\n this.setLanguage(selectedLanguage);\n }\n }\n\n setupEvents() {\n $('.Vlt-tabs__link').click(this.onTabClick)\n $(window).on('popstate', this.onPopState)\n\n window.addEventListener(\"load\", this.activateTabFromURLHash);\n window.addEventListener(\"hashchange\", this.activateTabFromURLHash);\n }\n\n onPopState(event) {\n if (window.history.state && window.history.state.language) {\n this.setLanguage(window.history.state.language)\n }\n }\n\n onTabClick(event) {\n if (document.body.classList.contains('Adp-homepage')) { return; }\n\n const target = $(event.currentTarget);\n // Prevent nested tabs from changing the url\n if ($(event.target).parents('.Vlt-tabs').length > 1) { return; }\n\n const language = target.data('language')\n const languageType = target.data('language-type')\n const linkable = target.data('language-linkable')\n const tabId = target.attr('id');\n\n if (language) {\n if (linkable) {\n if ($(\".skip-pushstate\").length == 0) {\n document.dispatchEvent(new CustomEvent('codeLanguageChange', { \"detail\": { \"language\": language } }));\n const rootPath = $('body').data('push-state-root')\n window.history.pushState({language}, 'language', `${rootPath}/${language}`)\n }\n }\n\n this.persistLanguage(language, languageType, linkable)\n } else if (tabId) {\n window.location.hash = tabId;\n }\n }\n\n persistLanguage(language, languageType) {\n if (language) {\n this.userPreference.promote(languageType, language)\n }\n }\n\n setLanguage(language) {\n setTimeout(() => {\n $(`[data-language='${language}']`).click();\n\n // Remove skip pushstate after the first load. This is a bit of a hack, but it works to stop breaking\n // the back button\n $(\".skip-pushstate\").removeClass('skip-pushstate');\n }, 0);\n }\n\n setPlatform(platform) {\n setTimeout(() => { $(`[data-platform='${platform}']`).click(); }, 0);\n }\n\n activateTabFromURLHash() {\n let tabId = window.location.hash;\n\n if (tabId !== \"\") {\n let tab = document.querySelector(`.Vlt-tabs__link${tabId}`);\n if (tab) {\n tab.focus({ preventScroll: true });\n tab.click();\n }\n }\n }\n}\n","import intersection from 'lodash/intersection'\n\nexport default class UserPreference {\n constructor(useSingleStore) {\n this.useSingleStore = useSingleStore;\n this.platformPreference = this.platforms()\n this.terminalProgramsPreference = this.terminalPrograms()\n this.frameworkPreference = this.frameworks()\n }\n\n languages() {\n return this.get(this.getKeyFromType('languages'))\n }\n\n platforms() {\n return this.get(this.getKeyFromType('platforms'))\n }\n\n terminalPrograms() {\n return this.get(this.getKeyFromType('terminal_programs'))\n }\n\n frameworks() {\n return this.get(this.getKeyFromType('frameworks'))\n }\n\n all() {\n return this.platforms().concat(\n this.terminalPrograms(),\n this.languages(),\n this.frameworks()\n )\n }\n\n getKeyFromType(type) {\n if (this.useSingleStore) {\n return 'preferences.all';\n }\n switch (type) {\n case 'languages': return 'preferences.languages'\n case 'platforms': return 'preferences.platforms'\n case 'terminal_programs': return 'preferences.terminal_programs'\n case 'frameworks': return 'preferences.frameworks'\n }\n }\n\n getByType(type) {\n switch (type) {\n case 'languages': return this.languages()\n case 'platforms': return this.platforms()\n case 'terminal_programs': return this.terminalPrograms()\n case 'frameworks': return this.frameworks()\n }\n }\n\n get(key) {\n const value = window.localStorage.getItem(key)\n if (!value) { return [] }\n return JSON.parse(value)\n }\n\n store(type, value) {\n const key = this.getKeyFromType(type)\n localStorage.setItem(key, JSON.stringify(value))\n }\n\n promote(type, value) {\n let list = this.getByType(type) || [];\n list = list.filter(item => item !== value)\n list.unshift(value)\n this.store(type, list)\n }\n\n topMatch(available) {\n const result = intersection(this.all(), available)\n return result[0] || false\n }\n}\n","export default class Format {\n constructor() {\n this.formatSelector = $('.js-format-selector')[0]\n if (this.formatSelector) {\n this.formatChanged(this.formatSelector.value, false)\n $(this.formatSelector).change((event) => this.formatChanged(event.target.value))\n\n this.restoreFormat()\n }\n }\n\n formatChanged(format, persist = true) {\n $('.js-format').hide()\n $(`.js-format[data-format='${format}']`).show()\n\n if (persist) {\n this.persistFormat(format)\n }\n }\n\n persistFormat(format) {\n if (window.localStorage) {\n window.localStorage.setItem('format', format)\n }\n }\n\n restoreFormat() {\n if (window.localStorage) {\n const format = window.localStorage.getItem('format')\n if (format) {\n $(this.formatSelector).val(format)\n this.formatChanged(format, false)\n }\n }\n }\n}\n","export default () => {\n $(document).ready(function(){\n const $body = $('.Vlt-main');\n const nav = $('.Nxd-header');\n const codeNav = $('.Nxd-api__code__header');\n\n $body.on('scroll', function(){\n var scrollTop = $body.scrollTop();\n\n //navigation\n if (scrollTop > 50) {\n nav.addClass('Nxd-scroll-minify');\n } else {\n nav.removeClass('Nxd-scroll-minify');\n }\n\n //api code\n if (scrollTop > 70 && codeNav.length > 0) {\n codeNav.addClass('Nxd-api__code__header--sticky');\n } else if(codeNav.length > 0) {\n codeNav.removeClass('Nxd-api__code__header--sticky');\n }\n });\n })\n}\n","export default () => {\n const noticeCloseComplete = function(notice) {\n notice.remove()\n removeNoticesIfEmpty()\n }\n\n const noticeKey = function (notice) {\n const id = notice.data('notice-id')\n return `notice-dismissed(id:${id})`\n }\n\n const isDismissible = function (notice) {\n return notice.data('notice-dismissible')\n }\n\n const bootstrap = function() {\n $(document).on('click', '.notice a[data-close]', function(event) {\n const notice = $(this).parents('.notice')\n localStorage.setItem(noticeKey(notice), true)\n\n TweenLite.to(notice, 0.6, {\n scale: 0,\n height: 0,\n transformOrigin: \"center top\",\n ease: Power2.easeIn,\n onComplete: () => noticeCloseComplete(notice)\n });\n });\n }\n\n const removeNoticesIfEmpty = function() {\n if ($('.notices .notice').length === 0) {\n $('.notices').remove()\n }\n }\n\n const clearRead = function() {\n $('.notices .notice').each(function() {\n const notice = $(this)\n if(isDismissible(notice)) { return }\n if (localStorage.getItem(noticeKey(notice))) {\n $(this).remove()\n }\n })\n removeNoticesIfEmpty()\n }\n\n $(document).ready(function() {\n bootstrap()\n clearRead()\n });\n}\n","import 'whatwg-fetch'\n\nexport default () => {\n fetch('https://xb8glk41jfrv.statuspage.io/api/v2/status.json')\n .then((response) => response.json())\n .then((payload) => {\n \tvar color;\n \tswitch (payload.status.indicator) {\n \t\tcase 'major':\n \t\t\tcolor = 'red';\n \t\tcase 'critical':\n \t\t\tcolor = 'red';\n \t\tcase 'minor':\n \t\t\tcolor = 'yellow';\n \t\tdefault:\n \t\t\tcolor = 'green';\n \t}\n $('.Nxd-api-status').text(payload.status.description).addClass(`Vlt-badge--` + color)\n })\n}\n","import Clipboard from 'clipboard';\n\nexport default () => {\n document.querySelectorAll('.code-toolbar button').forEach(function(button) {\n button.addEventListener('click', createRequest, { once: true })\n });\n};\n\nfunction createRequest(event) {\n let dataset = event.target.closest('.code-toolbar').firstChild.dataset;\n\n let params = {\n \"language\": dataset.lang,\n \"snippet\": dataset.block,\n \"section\": dataset.section,\n \"event\": \"copy\"\n };\n\n fetch(new Request('/usage/code_snippet', {\n method: 'POST',\n credentials: 'same-origin',\n body: JSON.stringify(params),\n headers: {\n 'Content-Type': 'application/json'\n }\n }));\n}\n","class Menu {\n constructor(domNode, parent) {\n this.domNode = domNode;\n this.parent = parent;\n this.items = [];\n\n this.firstItem = null;\n this.lastItem = null;\n\n this.buildItems();\n }\n\n buildItems() {\n Array.from(this.domNode.children).forEach((child) => {\n if (child.children.length > 0) {\n this.items.push(new SidenavItem(child.querySelector('a.Vlt-sidemenu__trigger, a.Vlt-sidemenu__link, .Vlt-sidemenu__title'), this.parent));\n }\n });\n this.firstItem = this.items[0];\n this.lastItem = this.items[this.items.length - 1];\n }\n\n setFocusToNextItem(current) {\n let node = null;\n\n if (current === this.lastItem) {\n node = this.firstItem.domNode;\n }\n else {\n node = this.items[this.items.indexOf(current) + 1].domNode;\n }\n node.tabIndex = 0;\n node.focus();\n }\n\n setFocusToPreviousItem(item) {\n if (item === this.firstItem) {\n this.lastItem.domNode.focus();\n }\n else {\n this.items[this.items.indexOf(item) - 1].domNode.focus();\n }\n }\n\n setFocusToFirstItem() {\n this.firstItem.domNode.focus();\n }\n}\n\nclass SidenavItem {\n constructor(domNode, parent) {\n this.domNode = domNode;\n this.parent = parent;\n this.menu = null;\n\n this.buildItem();\n\n this.keyCode = Object.freeze({\n 'ENTER': 13,\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40\n });\n this.domNode.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.domNode.addEventListener('click', this.handleClick.bind(this));\n }\n\n buildItem() {\n if (this.isMenu()) {\n this.menu = new Menu(this.domNode.nextElementSibling, this);\n }\n }\n\n isMenu() {\n return this.domNode.nextElementSibling && this.domNode.nextElementSibling.tagName === 'UL';\n }\n\n handleKeyDown(event) {\n let target = event.currentTarget;\n let key = event.key;\n let bubbleUp = false;\n\n switch (event.keyCode) {\n case this.keyCode.ENTER:\n if (this.menu) {\n this.toggleElement(true);\n bubbleUp = true;\n }\n break;\n\n case this.keyCode.DOWN:\n this.parent.setFocusToNextItem(this);\n bubbleUp = true;\n break;\n\n case this.keyCode.LEFT:\n this.parent.toggleElement(true);\n bubbleUp = true;\n break;\n\n case this.keyCode.RIGHT:\n if (this.menu) {\n this.toggleElement(true);\n }\n bubbleUp = true;\n break;\n\n case this.keyCode.UP:\n this.parent.setFocusToPreviousItem(this);\n bubbleUp = true;\n break;\n }\n\n if (bubbleUp) {\n event.stopPropagation();\n event.preventDefault();\n }\n };\n\n handleClick(event) {\n if (this.menu) {\n event.preventDefault();\n event.stopPropagation();\n this.toggleElement();\n }\n }\n\n toggleElement(focus) {\n if (this.domNode.classList.contains('Vlt-sidemenu__trigger_active')) {\n this.domNode.setAttribute('aria-expanded', 'false');\n this.domNode.classList.remove('Vlt-sidemenu__trigger_active');\n this.domNode.tabIndex = -1;\n if (focus) { this.domNode.focus(); }\n } else {\n this.domNode.tabIndex = 0;\n this.domNode.setAttribute('aria-expanded', 'true');\n this.domNode.classList.add('Vlt-sidemenu__trigger_active');\n this.domNode.dispatchEvent(new CustomEvent('menuClosed', { bubbles: true }));\n if (focus) { this.menu.setFocusToFirstItem(); }\n }\n }\n\n setFocusToPreviousLevel() {\n if (this.menu) {\n this.domNode.setAttribute('aria-expanded', 'false');\n this.domNode.classList.remove('Vlt-sidemenu__trigger_active');\n this.domNode.tabIndex = -1;\n this.domNode.focus();\n } else {\n this.parent.setFocusToPreviousItem(this);\n }\n }\n\n setFocusToNextItem(current) {\n if (this.menu) {\n this.menu.setFocusToNextItem(current);\n }\n }\n\n setFocusToPreviousItem(current) {\n if (this.menu) {\n this.menu.setFocusToPreviousItem(current);\n }\n }\n}\n\nexport default class Sidenav {\n constructor(domNode) {\n this.domNode = document.getElementById('sidenav');\n this.container = document.getElementById('Vlt-sidenav');\n this.collapseTrigger = document.getElementById('Vlt-sidenav-collapse-trigger');\n\n if (this.domNode) {\n this.buildMenu();\n this.setActiveItem();\n this.expandActiveMenu();\n this.setupListeners();\n }\n }\n\n setupListeners() {\n this.domNode.addEventListener('menuClosed', this.closeOpenedMenu.bind(this));\n this.collapseTrigger.addEventListener('click', this.collapseHandler.bind(this));\n\n document.querySelector('body').addEventListener('click', this.closeMobileMenu.bind(this));\n document.querySelector('body').addEventListener('touchstart', this.closeMobileMenu.bind(this));\n }\n\n buildMenu() {\n this.menu = new Menu(this.domNode.firstElementChild, this);\n }\n\n setFocusToNextItem(current) {\n this.menu.setFocusToNextItem(current);\n }\n\n setFocusToPreviousItem(current) {\n this.menu.setFocusToPreviousItem(current);\n }\n\n // No-op\n toggleElement() {}\n\n setActiveItem() {\n let url = document.querySelector('nav.sidenav').dataset.active;\n let activeItemSelector = `.Vlt-sidemenu__link[href=\"${url}\"]`;\n let activeItem = document.querySelector(activeItemSelector);\n if (activeItem) {\n activeItem.classList.add('Vlt-sidemenu__link_active');\n }\n }\n\n expandActiveMenu() {\n const activeItem = this.domNode.querySelector('.Vlt-sidemenu__link_active');\n if (activeItem) {\n let activeTrigger = activeItem.closest('ul').previousElementSibling;\n\n while (activeTrigger) {\n activeTrigger.classList.add('Vlt-sidemenu__trigger_active', 'Vlt-sidemenu__trigger_current');\n activeTrigger = activeTrigger.parentNode.closest('ul').previousElementSibling;\n }\n }\n }\n\n closeOpenedMenu(event) {\n Array.from(this.domNode.querySelectorAll('.Vlt-sidemenu__trigger_active')).forEach((subMenu) => {\n if (subMenu !== event.target && !subMenu.parentNode.contains(event.target)) {\n subMenu.classList.remove('Vlt-sidemenu__trigger_active');\n }\n });\n }\n\n collapseHandler(event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.container.classList.add('Vlt-sidenav--animate');\n\n if (this.container.classList.contains('Vlt-sidenav_visible')) {\n this.container.classList.remove('Vlt-sidenav_visible');\n } else if (this.container.classList.contains('Vlt-sidenav--collapsed')) {\n this.container.classList.remove('Vlt-sidenav--collapsed');\n } else {\n this.container.classList.add('Vlt-sidenav--collapsed');\n }\n }\n\n closeMobileMenu(event) {\n if (!this.domNode.contains(event.target)) {\n this.container.classList.remove('Vlt-sidenav_visible');\n document.body.classList.remove('Vlt-body--mobile-menu-open');\n }\n }\n}\n","export default class Topnav {\n constructor() {\n this.domNode = document.getElementById('subnav');\n this.backdrop = this.domNode.querySelector('.Vlt-header__backdrop');\n\n this.setupListeners();\n }\n\n setupListeners() {\n this.domNode.querySelectorAll('.Vlt-tabs__link-menu').forEach((menu) => {\n menu.addEventListener('click', this.toggleMenu.bind(this));\n });\n\n this.domNode.querySelector('.Adp-header__hamburger').addEventListener('click', this.toggleMobileMenu.bind(this));\n }\n\n toggleMobileMenu() {\n this.backdrop.classList.toggle('Vlt-header__backdrop-active');\n this.domNode.querySelector('.Adp-header__sub__menu').classList.toggle('Vlt-M-plus');\n }\n\n toggleMenu(event) {\n let menu = event.target.closest('.Vlt-tabs__link-menu');\n let active = menu.querySelector('.Vlt-topmenu').classList.contains('Vlt-topmenu-active');\n\n this.backdrop.classList.toggle('Vlt-header__backdrop-active', !active);\n\n this.domNode.querySelectorAll('.Vlt-topmenu').forEach((elem) => {\n elem.classList.remove('Vlt-topmenu-active');\n });\n menu.querySelector('.Vlt-topmenu').classList.toggle('Vlt-topmenu-active', !active);\n }\n}\n","export default class Careers {\n\n constructor() {\n this.departments = [];\n this.locations = [];\n this.setupListeners();\n }\n\n showCareer(career) {\n const department = career.getElementsByClassName('department')[0].dataset.department;\n const location = career.getElementsByClassName('location')[0].dataset.location;\n\n return (this.departments.includes(department) || this.departments.length === 0)\n && (this.locations.some(l => location.includes(l) || l.includes(location)) || this.locations.length === 0);\n }\n\n toggleCareers() {\n Array.from(document.getElementsByClassName('Nxd-career')).forEach(function(career) {\n career.classList.toggle('hide', !this.showCareer(career));\n }, this);\n\n document.getElementById('no-results').classList.toggle(\n 'hide',\n document.querySelectorAll('.Nxd-career:not(.hide)').length !== 0\n );\n\n document.querySelectorAll('.Nxd-career:not(.hide)').forEach(function(career, index) {\n career.classList.toggle('striped', index % 2 == 0);\n });\n }\n\n updateURL() {\n let currentUrl = new URL(window.location.href);\n let query = {};\n if (this.departments.length > 0) {\n Object.assign(query, { departments: this.departments });\n }\n if (this.locations.length > 0) {\n Object.assign(query, { locations: this.locations.map((l) => l.split(',')[0]) });\n }\n\n let params = new URLSearchParams(query);\n\n currentUrl.search = params\n window.history.pushState({}, 'Careers', currentUrl);\n }\n\n dropdownValue(length, item) {\n let value;\n switch(length) {\n case 0:\n value = `${item}s`;\n break;\n case 1:\n value = `1 ${item} selected`;\n break;\n default:\n value = `${length} ${item}s selected`;\n }\n return value;\n }\n\n updateDepartmentsDropdown() {\n let value = this.dropdownValue(this.departments.length, 'Department');\n document.querySelector('#department-filter button').innerText = value;\n }\n\n updateLocationsDropdown() {\n let value = this.dropdownValue(this.locations.length, 'Location');\n document.querySelector('#location-filter button').innerText = value;\n }\n\n departmentChangeHandler(event) {\n if (event.target.checked) {\n this.departments.push(event.target.value);\n } else {\n this.departments.splice(this.departments.indexOf(event.target.value), 1);\n }\n this.updateURL();\n this.updateDepartmentsDropdown();\n this.toggleCareers();\n }\n\n locationChangeHandler(event) {\n if (event.target.checked) {\n this.locations.push(event.target.value);\n } else {\n this.locations.splice(this.locations.indexOf(event.target.value), 1);\n }\n this.updateURL();\n this.updateLocationsDropdown();\n this.toggleCareers();\n }\n\n setFiltersFromURL() {\n let params = new URLSearchParams(window.location.search);\n this.departments = [];\n this.locations = [];\n\n params.get('departments') && params.get('departments').split(',').forEach(function(department) {\n this.departments.push(department);\n document.getElementById(department).checked = true;\n }, this);\n\n params.get('locations') && params.get('locations').split(',').forEach(function(location) {\n let checkbox = document.querySelector(`[id^='${location}']`);\n if (checkbox) {\n this.locations.push(location);\n checkbox.checked = true;\n }\n }, this);\n\n this.updateDepartmentsDropdown();\n this.updateLocationsDropdown();\n this.toggleCareers();\n }\n\n setupListeners() {\n const self = this;\n window.addEventListener('load', function() {\n if (!document.getElementById('careers')) { return; }\n\n self.toggleCareers();\n document.getElementById('department-filter').addEventListener('change', self.departmentChangeHandler.bind(self));\n document.getElementById('location-filter').addEventListener('change', self.locationChangeHandler.bind(self));\n self.setFiltersFromURL();\n });\n\n window.addEventListener('popstate', function(event) {\n if (!document.getElementById('careers')) { return; }\n self.setFiltersFromURL();\n });\n }\n}\n","import Rails from '@rails/ujs';\n\nexport default class LocaleSwitcher {\n constructor() {\n this.switcher = document.getElementById('locale-switcher');\n if (this.switcher) {\n this.setupEventListeners();\n }\n }\n\n setupEventListeners() {\n const self = this;\n\n window.addEventListener('load', function() {\n let dropdownBtn = self.switcher.querySelector('.Nxd-locale');\n let dropdownOptions = self.switcher.querySelectorAll('.Vlt-dropdown__link');\n let pannel = self.switcher.querySelector('.Vlt-dropdown__panel');\n\n dropdownOptions.forEach(function(option) {\n option.addEventListener(\"click\", function(event) {\n event.stopPropagation();\n\n dropdownBtn.innerHTML = option.innerHTML;\n\n pannel.hidden = true;\n self.localeChangeHandler(option.dataset.locale);\n });\n });\n });\n }\n\n localeChangeHandler(locale) {\n Rails.ajax({\n url: \"/set_user_locale\",\n type: \"PUT\",\n dataType: 'json',\n data: `preferred_locale=${locale}`\n })\n }\n}\n","const PRIMARY_CATEGORY = 'biz:api:adp:developer'\nconst categorySplit = PRIMARY_CATEGORY.split(':')\nconst urlPath = window.location.pathname\nconst pageName = getPageName(urlPath)\n\nconst setDigitalData = () => {\n let dataLayer = {\n page: {\n pageInfo: {\n pageName: '',\n functionDept: '',\n primaryCategory: PRIMARY_CATEGORY,\n siteIdentifier: '',\n lob: '',\n subCategory1: '',\n subCategory2: '',\n subCategory3: '',\n appVersion: '',\n language: '',\n country: '',\n pageCategory: '',\n flowName: '',\n tokenFLag: '',\n spaFlag: ''\n },\n content: {\n author: '',\n businessSize: '',\n category: '',\n company: '',\n industry: '',\n name: '',\n product: '',\n profRole: '',\n publishDate: '',\n subCategory: '',\n topic: '',\n type: ''\n }\n },\n eventData: {\n events: '',\n fCTA: '',\n fIndustry: '',\n fLines: '',\n fName: '',\n interactionType: '',\n linesSlider: ''\n },\n user: {\n profile: {\n profileInfo: {\n visitorType: '',\n accountNumber: '',\n accountStatus: '',\n userType: '',\n userName: '',\n accountPlan: '',\n UserID: '',\n responsiveSiteVersion: '',\n country: '',\n acctnumLocations: '',\n acctcontractFlag: ''\n }\n }\n },\n transaction: [\n {\n productInfo: {\n productID: ''\n },\n quantity: '',\n price: {\n basePrice: ''\n }\n }\n ]\n }\n updatePageInfo(dataLayer)\n updateSubCategories(dataLayer)\n // Click event for Sign-in button\n // Changes visitorType value when clicked.\n document.getElementById('signin').addEventListener('click', function() {\n updateVisitorType(dataLayer)\n })\n return dataLayer\n}\n\n// Changes visitoryType to 'customer' if sign-in\n// button is clicked.\n// Default is null\nfunction updateVisitorType(dataLayer) {\n // const { digitalData } = window\n dataLayer.user.profile.profileInfo.visitorType = 'customer'\n}\n\nfunction updateSubCategories(dataLayer) {\n let subCategory1 = ''\n let subCategory2 = ''\n let subCategory3 = ''\n let pageNameArray = ''\n const urlPath = window.location.pathname\n if (urlPath == '/') {\n pageNameArray = ['homepage']\n } else {\n pageNameArray = urlPath.split('/')\n }\n const categoryResult = pageNameArray.filter(x => !x == '')\n if (categoryResult.length == 0) {\n subCategory1 = PRIMARY_CATEGORY\n subCategory2 = PRIMARY_CATEGORY\n subCategory3 = PRIMARY_CATEGORY\n } else {\n subCategory1 = PRIMARY_CATEGORY + ':' + categoryResult[0]\n subCategory2 = PRIMARY_CATEGORY + ':' + categoryResult[0]\n subCategory3 = PRIMARY_CATEGORY + ':' + categoryResult[0]\n }\n if (categoryResult[1] != undefined) {\n subCategory2 = subCategory2 + ':' + categoryResult[1]\n subCategory3 = subCategory2\n }\n if (categoryResult[2] != undefined) {\n subCategory3 = subCategory3 + ':' + categoryResult[2]\n }\n dataLayer.page.pageInfo.subCategory1 = subCategory1\n dataLayer.page.pageInfo.subCategory2 = subCategory2\n dataLayer.page.pageInfo.subCategory3 = subCategory3\n}\n\nfunction updatePageInfo(dataLayer) {\n dataLayer.page.pageInfo.functionDept = categorySplit.slice(0, categorySplit.length - 1).join(':')\n dataLayer.page.pageInfo.siteIdentifier = categorySplit.slice(1, categorySplit.length).join(':')\n dataLayer.page.pageInfo.lob = categorySplit[0]\n dataLayer.page.pageInfo.pageName = pageName\n}\n\nfunction getPageName(urlPath) {\n let pageName = ''\n switch (urlPath) {\n case '/' :\n pageName = PRIMARY_CATEGORY + ':homepage'\n break\n default:\n pageName = PRIMARY_CATEGORY + urlPath.replaceAll('/', ':')\n }\n return pageName\n}\n\nexport default setDigitalData()\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Vlt-modal__panel\"},[_c('div',{staticClass:\"Vlt-modal__dismiss\",on:{\"click\":_vm.reset}}),_vm._v(\" \"),(!_vm.showSteps)?_c('div',{staticClass:\"Vlt-modal__header\"},[_c('span',[_vm._v(\"Feedback\")]),_vm._v(\" \"),_c('h4',{staticClass:\"Vlt-modal__title\"},[_vm._v(_vm._s(_vm.title))])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-modal__content\"},[(_vm.showSteps)?_c('feedback-path',{attrs:{\"feedback_path\":_vm.selectedPath}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSteps),expression:\"!showSteps\"}],staticClass:\"paths Vlt-form__element\",class:{ 'Vlt-form__element--error': _vm.hasError }},[_vm._l((_vm.paths),function(path,index){return _c('div',{staticClass:\"radio-button Vlt-radio\"},[_c('label',{attrs:{\"for\":index}},[_c('span',{staticClass:\"Vlt-radio__button\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPathIndex),expression:\"currentPathIndex\"}],attrs:{\"name\":\"feedbackPath\",\"type\":\"radio\",\"id\":index},domProps:{\"value\":index,\"checked\":_vm._q(_vm.currentPathIndex,index)},on:{\"change\":function($event){_vm.currentPathIndex=index}}}),_vm._v(\" \"),_c('span',{staticClass:\"Vlt-radio__icon\"})]),_vm._v(\"\\n \"+_vm._s(path.question)+\"\\n \")])])}),_vm._v(\" \"),(_vm.hasError)?_c('small',{staticClass:\"Vlt-form__element__error\"},[_vm._v(\"This field is required\")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Cancel\")]),_vm._v(\" \"),_c('button',{staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\",on:{\"click\":_vm.onPathSelection}},[_vm._v(\"Continue\")])],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\n\nexport default new Vue();\n","export default {\n state: {\n path: null,\n sentiment: null,\n source: null,\n configId: null,\n steps: [],\n feedbackId: null,\n email: null\n },\n setPath: function(path) {\n this.state.path = path;\n },\n setSentiment: function(sentiment) {\n this.state.sentiment = sentiment;\n },\n setSource: function(source) {\n this.state.source = source;\n },\n setConfigId: function(id) {\n this.state.configId = id;\n },\n setFeedbackId: function(id) {\n this.state.feedbackId = id;\n },\n setEmail: function(email) {\n this.state.email = email;\n },\n addStep: function(step) {\n this.state.steps.push(step);\n },\n toParam: function() {\n return {\n feedback_config_id: this.state.configId,\n path: this.state.path,\n sentiment: this.state.sentiment,\n source: this.state.source,\n steps: this.state.steps,\n id: this.state.feedbackId,\n email: this.state.email\n }\n },\n clearState: function() {\n this.state.path = null;\n this.state.sentiment = null;\n this.state.steps = [];\n this.state.feedbackId = null;\n this.state.email = null;\n }\n};\n","import mod from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"wrapper\">\n <p class=\"content\">{{ step.content }}</p>\n <br>\n\n <div v-if=\"step.email\" class=\"Vlt-form__element\">\n <label class=\"Vlt-label\" for=\"email\">Your Email <small class=\"Vlt-grey-dark\">(optional)</small></label>\n <div class=\"Vlt-input\">\n <input type=\"email\" id=\"email\" v-model=\"email\"/>\n </div>\n </div>\n\n <div class=\"step-textarea Vlt-form__element\" v-bind:class=\"{ 'Vlt-form__element--error': error }\">\n <div class=\"Vlt-textarea\" v-bind:class=\"{ 'step-textarea__no-content': step.content === undefined }\">\n <label for=\"answer\">{{ step.label }}</label>\n <textarea id=\"answer\" :placeholder=\"step.placeholder\" v-model=\"answer\"></textarea>\n </div>\n <small v-if=\"error\" class=\"Vlt-form__element__error\">This field is required</small>\n </div>\n\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\" v-on:click=\"reset\">Cancel</button>\n <button v-show=\"lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\" v-on:click=\"reset\">Close</button>\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\" v-on:click=\"validate\">Continue</button>\n </div>\n</template>\n<script>\n\nimport eventHub from '../eventHub';\nimport store from '../store';\n\nexport default {\n props: ['step', 'lastStep'],\n data: function() {\n return { answer: null, error: false, email: null };\n },\n methods: {\n resetFields: function() {\n this.answer = null;\n this.error = false;\n },\n reset: function() {\n eventHub.$emit('reset-modal');\n },\n validate: function() {\n if (this.answer === null || this.answer === '') {\n this.error = true;\n } else {\n this.error = false;\n if (this.email) {\n store.setEmail(this.email);\n }\n eventHub.$emit('next-step', this.answer);\n }\n }\n },\n mounted: function() {\n eventHub.$on('reset-modal', this.resetFields);\n }\n}\n\n</script>\n<style scoped>\n.wrapper {\n flex-direction: column;\n max-width: 434px;\n}\n.content {\n white-space: pre-line;\n}\n.step-textarea {\n display: flex;\n flex-direction: column;\n}\n.step-textarea textarea {\n resize: none;\n max-width: 441px;\n height: 73px;\n margin-top: 11px;\n}\n.step-textarea__no-content textarea {\n height: 169px;\n @media only screen and (min-width: 576px) {\n width: 450px;\n };\n}\n</style>\n","import { render, staticRenderFns } from \"./TextArea.vue?vue&type=template&id=2f7cc389&scoped=true&\"\nimport script from \"./TextArea.vue?vue&type=script&lang=js&\"\nexport * from \"./TextArea.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextArea.vue?vue&type=style&index=0&id=2f7cc389&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f7cc389\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[_c('p',{staticClass:\"content\"},[_vm._v(_vm._s(_vm.step.content))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),(_vm.step.email)?_c('div',{staticClass:\"Vlt-form__element\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],attrs:{\"type\":\"email\",\"id\":\"email\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"step-textarea Vlt-form__element\",class:{ 'Vlt-form__element--error': _vm.error }},[_c('div',{staticClass:\"Vlt-textarea\",class:{ 'step-textarea__no-content': _vm.step.content === undefined }},[_c('label',{attrs:{\"for\":\"answer\"}},[_vm._v(_vm._s(_vm.step.label))]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer),expression:\"answer\"}],attrs:{\"id\":\"answer\",\"placeholder\":_vm.step.placeholder},domProps:{\"value\":(_vm.answer)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.answer=$event.target.value}}})]),_vm._v(\" \"),(_vm.error)?_c('small',{staticClass:\"Vlt-form__element__error\"},[_vm._v(\"This field is required\")]):_vm._e()]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Cancel\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.lastStep),expression:\"lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Close\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\",on:{\"click\":_vm.validate}},[_vm._v(\"Continue\")])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"Vlt-label\",attrs:{\"for\":\"email\"}},[_vm._v(\"Your Email \"),_c('small',{staticClass:\"Vlt-grey-dark\"},[_vm._v(\"(optional)\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioGroup.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <div class=\"Vlt-form__element\" v-bind:class=\"{ 'Vlt-form__element--error': hasError }\">\n <div v-for=\"(question, index) in step.questions\" class=\"radio-button Vlt-radio\">\n <label>\n <span class=\"Vlt-radio__button\">\n <input required=\"required\" type=\"radio\" :value=index v-model=\"answer\">\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n {{question}}\n </label>\n </div>\n\n <small v-if=\"hasError\"class=\"Vlt-form__element__error\">This field is required</small>\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\" v-on:click=\"reset\">Cancel</button>\n <button v-show=\"lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\" v-on:click=\"reset\">Close</button>\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\" v-on:click=\"validate\">Continue</button>\n </div>\n </div>\n</template>\n<script>\n\nimport eventHub from '../eventHub';\n\nexport default {\n props: ['step', 'lastStep'],\n data: function() {\n return {\n answer: '',\n hasError: false\n };\n },\n methods: {\n resetFields: function() {\n this.answer = '';\n this.hasError = false;\n },\n reset: function() {\n eventHub.$emit('reset-modal');\n },\n validate: function() {\n if (this.$el.querySelector('input[type=\"radio\"]:checked') !== null) {\n this.hasError = false;\n eventHub.$emit('next-step', this.answer);\n return false;\n } else {\n this.hasError = true;\n }\n }\n },\n mounted: function() {\n eventHub.$on('reset-modal', this.resetFields);\n }\n}\n</script>\n<style scoped>\n.radio-button {\n margin-bottom: 11px;\n}\n.Vlt-form__element {\n @media only screen and (min-width: 576px) {\n width: 450px;\n };\n}\n</style>\n","import { render, staticRenderFns } from \"./RadioGroup.vue?vue&type=template&id=72e46007&scoped=true&\"\nimport script from \"./RadioGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./RadioGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RadioGroup.vue?vue&type=style&index=0&id=72e46007&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72e46007\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"Vlt-form__element\",class:{ 'Vlt-form__element--error': _vm.hasError }},[_vm._l((_vm.step.questions),function(question,index){return _c('div',{staticClass:\"radio-button Vlt-radio\"},[_c('label',[_c('span',{staticClass:\"Vlt-radio__button\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer),expression:\"answer\"}],attrs:{\"required\":\"required\",\"type\":\"radio\"},domProps:{\"value\":index,\"checked\":_vm._q(_vm.answer,index)},on:{\"change\":function($event){_vm.answer=index}}}),_vm._v(\" \"),_c('span',{staticClass:\"Vlt-radio__icon\"})]),_vm._v(\"\\n \"+_vm._s(question)+\"\\n \")])])}),_vm._v(\" \"),(_vm.hasError)?_c('small',{staticClass:\"Vlt-form__element__error\"},[_vm._v(\"This field is required\")]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Cancel\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.lastStep),expression:\"lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Close\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\",on:{\"click\":_vm.validate}},[_vm._v(\"Continue\")])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Plain.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Plain.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <p class=\"content\">{{ step.content }}</p>\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\" v-on:click=\"reset\">Cancel</button>\n <button v-show=\"lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\" v-on:click=\"reset\">Close</button>\n </div>\n</template>\n<script>\n\nimport eventHub from '../eventHub';\n\nexport default {\n props: ['step', 'lastStep'],\n methods: {\n reset: function() {\n eventHub.$emit('reset-modal');\n }\n }\n}\n</script>\n<style scoped>\n.content {\n white-space: pre-line;\n max-width: 316px;\n}\n</style>\n","import { render, staticRenderFns } from \"./Plain.vue?vue&type=template&id=c5022bf6&scoped=true&\"\nimport script from \"./Plain.vue?vue&type=script&lang=js&\"\nexport * from \"./Plain.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Plain.vue?vue&type=style&index=0&id=c5022bf6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c5022bf6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{staticClass:\"content\"},[_vm._v(_vm._s(_vm.step.content))]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Cancel\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.lastStep),expression:\"lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Close\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldSet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldSet.vue?vue&type=script&lang=js&\"","<template>\n <fieldset>\n <div class=\"Vlt-form-element\" v-bind:class=\"{ 'Vlt-form__element--error': hasError }\">\n <div v-for=\"field in step.fields\">\n <label class=\"Vlt-label\" v-if=\"field.label !== undefined\">{{field.label}}</label>\n <div v-if=\"field.type === 'input'\" class=\"Vlt-input\">\n <input :name=\"field.name\" v-model=\"$data[field.name]\"></input>\n </div>\n <div v-else-if=\"field.type === 'textarea'\" class=\"Vlt-textarea\">\n <textarea :name=\"field.name\" v-model=\"$data[field.name]\" rows=\"5\" :placeholder=\"field.placeholder\"></textarea>\n <small class=\"Vlt-form__element__hint\" v-if=\"field.hint !== undefined\">{{field.hint}}</small>\n </div>\n <div v-else></div>\n </div>\n\n <small v-if=\"hasError\"class=\"Vlt-form__element__error\">These fields are required</small>\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\" v-on:click=\"reset\">Cancel</button>\n <button v-show=\"lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\" v-on:click=\"reset\">Close</button>\n <button v-show=\"!lastStep\" class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\" v-on:click=\"validate\">Continue</button>\n </div>\n </fieldset>\n</template>\n<script>\n\nimport eventHub from '../eventHub';\n\nexport default {\n props: ['step', 'lastStep'],\n data: function() {\n return {\n name: '',\n companyName: '',\n feedback: '',\n email: '',\n hasError: false,\n }\n },\n computed: {\n answer: function() {\n return {\n name: this.name,\n companyName: this.companyName,\n feedback: this.feedback,\n email: this.email\n };\n }\n },\n methods: {\n resetFields: function() {\n this.name = '';\n this.companyName = '';\n this.feedback = '';\n this.email = '';\n this.hasError = false;\n },\n validate: function() {\n if (this.name === '' || this.companyName === '' || this.feedback === '' || this.email === '') {\n this.hasError = true;\n } else {\n this.hasError = false;\n eventHub.$emit('next-step', this.answer);\n }\n },\n reset: function() {\n eventHub.$emit('reset-modal');\n }\n },\n mounted: function() {\n eventHub.$on('reset-modal', this.resetFields);\n }\n}\n</script>\n<style scoped>\n.content {\n white-space: pre-line;\n max-width: 434px;\n}\n</style>\n","import mod from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"step\" v-bind:class=\"{ image: hasImage }\">\n <img v-if=\"hasImage\" img :src=\"step.image\" :alt=\"step.image\">\n <div class=\"step-content\">\n <span v-if=\"!hasImage\">Feedback</span>\n <h4 class=\"step-title\">{{step.title}}</h4>\n\n <plain v-if=\"step.type == 'plain'\" v-bind:step=\"step\" v-bind:last-step=\"lastStep\"/>\n <text-area v-else-if=\"step.type == 'textarea'\" v-bind:step=\"step\" v-bind:last-step=\"lastStep\"/>\n <radio-group v-else-if=\"step.type == 'radiogroup'\" v-bind:step=\"step\" v-bind:last-step=\"lastStep\"/>\n <field-set v-else-if=\"step.type == 'fieldset'\" v-bind:step=\"step\" v-bind:last-step=\"lastStep\"/>\n <div v-else></div>\n </div>\n </div>\n</template>\n<script>\n\nimport TextArea from './TextArea.vue';\nimport RadioGroup from './RadioGroup.vue';\nimport Plain from './Plain.vue';\nimport FieldSet from './FieldSet.vue';\n\nexport default {\n props: ['step', 'lastStep'],\n components: { TextArea, RadioGroup, Plain, FieldSet },\n computed: {\n hasImage: function() {\n return this.step.image !== undefined;\n }\n }\n}\n</script>\n<style scoped>\n.step {\n display: flex;\n}\n.image {\n padding: 0px;\n}\n.step-title {\n white-space: pre-line;\n}\n.step-content {\n flex-direction: column;\n padding: 32px;\n max-width: 580px;\n}\nimg {\n @media only screen and (max-width: 576px) {\n display: none;\n };\n}\n</style>\n","import { render, staticRenderFns } from \"./FieldSet.vue?vue&type=template&id=5a03a556&scoped=true&\"\nimport script from \"./FieldSet.vue?vue&type=script&lang=js&\"\nexport * from \"./FieldSet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FieldSet.vue?vue&type=style&index=0&id=5a03a556&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5a03a556\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fieldset',[_c('div',{staticClass:\"Vlt-form-element\",class:{ 'Vlt-form__element--error': _vm.hasError }},[_vm._l((_vm.step.fields),function(field){return _c('div',[(field.label !== undefined)?_c('label',{staticClass:\"Vlt-label\"},[_vm._v(_vm._s(field.label))]):_vm._e(),_vm._v(\" \"),(field.type === 'input')?_c('div',{staticClass:\"Vlt-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.$data[field.name]),expression:\"$data[field.name]\"}],attrs:{\"name\":field.name},domProps:{\"value\":(_vm.$data[field.name])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.$data, field.name, $event.target.value)}}})]):(field.type === 'textarea')?_c('div',{staticClass:\"Vlt-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.$data[field.name]),expression:\"$data[field.name]\"}],attrs:{\"name\":field.name,\"rows\":\"5\",\"placeholder\":field.placeholder},domProps:{\"value\":(_vm.$data[field.name])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.$data, field.name, $event.target.value)}}}),_vm._v(\" \"),(field.hint !== undefined)?_c('small',{staticClass:\"Vlt-form__element__hint\"},[_vm._v(_vm._s(field.hint))]):_vm._e()]):_c('div')])}),_vm._v(\" \"),(_vm.hasError)?_c('small',{staticClass:\"Vlt-form__element__error\"},[_vm._v(\"These fields are required\")]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Cancel\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.lastStep),expression:\"lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary Vlt-modal__cancel\",on:{\"click\":_vm.reset}},[_vm._v(\"Close\")]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.lastStep),expression:\"!lastStep\"}],staticClass:\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\",on:{\"click\":_vm.validate}},[_vm._v(\"Continue\")])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackPath.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackPath.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <step v-show=\"index === currentStepIndex\"\n v-for=\"(step, index) in feedback_path.steps\"\n v-bind:step=\"step\"\n v-bind:last-step=\"lastStep\" />\n </div>\n</template>\n<script>\n\nimport Step from './step/base.vue';\nimport eventHub from './eventHub';\nimport store from './store';\n\nexport default {\n props: ['feedback_path'],\n components: { Step },\n data: function() {\n return {\n currentStepIndex: 0\n };\n },\n computed: {\n currentStep: function() {\n return this.feedback_path.steps[this.currentStepIndex];\n },\n lastStep: function() {\n return this.currentStepIndex === (this.feedback_path.steps.length - 1);\n }\n },\n methods: {\n nextStep: function(answer) {\n this.currentStepIndex += 1;\n store.addStep(answer);\n return false;\n },\n reset: function() {\n this.currentStepIndex = 0;\n return false;\n }\n },\n mounted: function() {\n eventHub.$on('reset-modal', this.reset);\n eventHub.$on('next-step', this.nextStep);\n },\n beforeDestroy: function() {\n eventHub.$off('next-step');\n }\n}\n</script>\n<style scoped>\n.feedback-path {\n display: flex;\n flex-direction: column;\n}\n</style>\n","import { render, staticRenderFns } from \"./base.vue?vue&type=template&id=2face95b&scoped=true&\"\nimport script from \"./base.vue?vue&type=script&lang=js&\"\nexport * from \"./base.vue?vue&type=script&lang=js&\"\nimport style0 from \"./base.vue?vue&type=style&index=0&id=2face95b&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2face95b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"step\",class:{ image: _vm.hasImage }},[(_vm.hasImage)?_c('img',{attrs:{\"img\":\"\",\"src\":_vm.step.image,\"alt\":_vm.step.image}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"step-content\"},[(!_vm.hasImage)?_c('span',[_vm._v(\"Feedback\")]):_vm._e(),_vm._v(\" \"),_c('h4',{staticClass:\"step-title\"},[_vm._v(_vm._s(_vm.step.title))]),_vm._v(\" \"),(_vm.step.type == 'plain')?_c('plain',{attrs:{\"step\":_vm.step,\"last-step\":_vm.lastStep}}):(_vm.step.type == 'textarea')?_c('text-area',{attrs:{\"step\":_vm.step,\"last-step\":_vm.lastStep}}):(_vm.step.type == 'radiogroup')?_c('radio-group',{attrs:{\"step\":_vm.step,\"last-step\":_vm.lastStep}}):(_vm.step.type == 'fieldset')?_c('field-set',{attrs:{\"step\":_vm.step,\"last-step\":_vm.lastStep}}):_c('div')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"Vlt-modal__panel\">\n <div class=\"Vlt-modal__dismiss\" v-on:click=\"reset\"></div>\n <div class=\"Vlt-modal__header\" v-if=\"!showSteps\">\n <span>Feedback</span>\n <h4 class=\"Vlt-modal__title\">{{title}}</h4>\n </div>\n\n <div class=\"Vlt-modal__content\">\n <feedback-path v-bind:feedback_path=\"selectedPath\" v-if=\"showSteps\"/>\n <div v-show=\"!showSteps\" class=\"paths Vlt-form__element\" v-bind:class=\"{ 'Vlt-form__element--error': hasError }\">\n <div v-for=\"(path, index) in paths\" class=\"radio-button Vlt-radio\">\n <label :for=index>\n <span class=\"Vlt-radio__button\">\n <input name=\"feedbackPath\" type=\"radio\" :id=index :value=index v-model=\"currentPathIndex\">\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n {{path.question}}\n </label>\n </div>\n\n <small v-if=\"hasError\" class=\"Vlt-form__element__error\">This field is required</small>\n <button class=\"Vlt-btn Vlt-btn--app Vlt-btn--tertiary Vlt-modal__cancel\" v-on:click=\"reset\">Cancel</button>\n <button class=\"Vlt-btn Vlt-btn--app Vlt-btn--secondary\" v-on:click=\"onPathSelection\">Continue</button>\n </div>\n </div>\n </div>\n</template>\n<script>\n\nimport FeedbackPath from './FeedbackPath.vue';\nimport eventHub from './eventHub';\nimport store from './store';\n\nexport default {\n props: ['paths', 'title', 'source', 'configId', 'codeLanguage'],\n components: { FeedbackPath },\n data: function() {\n return {\n currentPathIndex: null,\n selected: false,\n cancelText: 'Cancel',\n hasError: false,\n store: store,\n programmingLanguage: this.codeLanguage,\n programmingLanguageSelectedWhilstOnPage: null,\n programmingLanguageSetByUrl: !!this.codeLanguage\n }\n },\n computed: {\n showSteps: function() {\n return this.currentPathIndex !== null && this.selected;\n },\n selectedPath: function() {\n return this.paths[this.currentPathIndex];\n },\n },\n methods: {\n onPathSelection: function() {\n if (this.$el.querySelector('input[type=\"radio\"][name=\"feedbackPath\"]:checked') !== null) {\n this.hasError = false;\n this.selected = true;\n store.setPath(this.currentPathIndex);\n store.setSentiment(this.selectedPath.sentiment);\n this.createOrUpdateFeedback();\n } else {\n this.hasError = true;\n }\n },\n reset: function() {\n this.selected = false;\n this.hasError = false;\n this.currentPathIndex = null;\n this.createOrUpdateFeedback();\n store.clearState();\n\n Array.from(document.getElementsByClassName('Vlt-modal_visible'), function(modal) {\n modal.classList.remove('Vlt-modal_visible');\n })\n document.body.classList.remove('Vlt-body--modal-open');\n return false;\n },\n parameters: function() {\n return {\n feedback_feedback: Object.assign(\n store.toParam(),\n {\n code_language: this.programmingLanguage,\n code_language_selected_whilst_on_page: this.programmingLanguageSelectedWhilstOnPage,\n code_language_set_by_url: this.programmingLanguageSetByUrl,\n }\n ),\n };\n },\n createOrUpdateFeedback: function() {\n fetch('/feedback/feedbacks', {\n method: 'POST',\n credentials: 'same-origin',\n body: JSON.stringify(this.parameters()),\n headers: { 'Content-Type': 'application/json' }\n })\n .then((response) => {\n if (response.ok) { return response.json() }\n return Promise.reject({ message: 'Bad response from server', response })\n })\n .then((payload) => {\n if (this.selected) {\n store.setFeedbackId(payload.id);\n }\n })\n .catch((error) => {\n console.log(error)\n });\n },\n handleCodeLanguageChange: function(event) {\n this.programmingLanguage = event.detail.language;\n this.programmingLanguageSelectedWhilstOnPage = true;\n this.programmingLanguageSetByUrl = false;\n }\n },\n mounted: function() {\n document.addEventListener('codeLanguageChange', this.handleCodeLanguageChange);\n store.setSource(this.source);\n store.setConfigId(this.configId);\n eventHub.$on('reset-modal', this.reset);\n },\n beforeDestroy: function() {\n document.removeEventListener('codeLanguageChange', this.handleCodeLanguageChange.bind(this));\n }\n}\n</script>\n<style scoped>\n.radio-button {\n margin-bottom: 11px;\n}\n.Vlt-modal__panel {\n padding: 0px;\n width: auto;\n}\n.Vlt-modal__header {\n padding: 32px 32px 0 32px;\n}\n.Vlt-modal__title {\n margin: auto;\n white-space: pre-line;\n}\n.Vlt-modal__content {\n padding: 0px;\n}\n.paths {\n padding: 32px;\n @media only screen and (min-width: 575px) {\n min-width: 500px;\n };\n}\n</style>\n","import { render, staticRenderFns } from \"./FeedbackPath.vue?vue&type=template&id=195798bf&scoped=true&\"\nimport script from \"./FeedbackPath.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackPath.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeedbackPath.vue?vue&type=style&index=0&id=195798bf&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"195798bf\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.feedback_path.steps),function(step,index){return _c('step',{directives:[{name:\"show\",rawName:\"v-show\",value:(index === _vm.currentStepIndex),expression:\"index === currentStepIndex\"}],attrs:{\"step\":step,\"last-step\":_vm.lastStep}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Feedback.vue?vue&type=template&id=47d5563b&scoped=true&\"\nimport script from \"./Feedback.vue?vue&type=script&lang=js&\"\nexport * from \"./Feedback.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Feedback.vue?vue&type=style&index=0&id=47d5563b&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47d5563b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Wrapper\"},[_c('div',{staticClass:\"Wrapper-content\"},[_c('svg',{staticClass:\"Vlt-icon Vlt-grey Nxd-search-icon\"},[_c('use',{attrs:{\"xlink:href\":\"/symbol/volta-icons.svg#Vlt-icon-search-full\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"Nxd-search-input\"},[_c('div',{staticClass:\"Vlt-composite Vlt-composite--appendedicon\"},[_c('div',{staticClass:\"Vlt-composite__prepend Vlt-composite__prepend--icon\"},[_c('svg',[_c('use',{attrs:{\"xlink:href\":\"/symbol/volta-icons.svg#Vlt-icon-search\"}})])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],attrs:{\"name\":\"query\",\"placeholder\":\"Search\",\"id\":\"searchbox-test\",\"type\":\"text\",\"autoComplete\":\"off\"},domProps:{\"value\":(_vm.query)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.onEscDownHandler.apply(null, arguments)},\"input\":[function($event){if($event.target.composing){ return; }_vm.query=$event.target.value},_vm.onInputHandler]}})]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-composite__append Vlt-composite__append--icon Nxd-search-close\"},[_c('svg',[_c('use',{attrs:{\"xlink:href\":\"/symbol/volta-icons.svg#Vlt-icon-cross-bold\"}})])])])])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showResults),expression:\"showResults\"}],staticClass:\"Nxd-search\"},[_c('div',{staticClass:\"Nxd-search__wrapper\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"spinner\"},[_c('i',{staticClass:\"icon icon-cog\"})]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],staticClass:\"Nxd-search__wrapper\"},_vm._l((_vm.results),function(result){return _c('div',{key:result.index,staticClass:\"Nxd-search__results\"},[_c('h3',{staticClass:\"Nx-search__title\"},[_vm._v(\"\\n \"+_vm._s(_vm.resultTitle(result.index))+\"\\n \")]),_vm._v(\" \"),(result.hits.length > 0)?_c('div',[(_vm.isZendeskArticle(result))?_c('div',_vm._l((result.hits),function(hit){return _c('ZendeskArticle',{key:_vm.hitKey(result, hit),attrs:{\"hit\":hit}})}),1):(_vm.isNDPArticle(result))?_c('div',_vm._l((result.hits),function(hit){return _c('NDPArticle',{key:_vm.hitKey(result, hit),attrs:{\"hit\":hit}})}),1):(_vm.isBlog(result))?_c('div',_vm._l((result.hits),function(hit){return _c('Blog',{key:_vm.hitKey(result, hit),attrs:{\"hit\":hit}})}),1):_vm._e()]):_c('div',[_vm._m(0,true)])])}),0)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"Nxd-search--no-results\"},[_c('i',[_vm._v(\"No results\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NDPArticle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NDPArticle.vue?vue&type=script&lang=js&\"","<template>\n <div class='Nxd-search__result'>\n <a class='Nxd-search__result__link' v-bind:href='url'>\n <div>\n <h6 class='Vlt-blue-dark'>\n {{ hit.title }}\n <small v-if=\"showHeading\"> &gt; {{ hit.heading }}</small>\n </h6>\n\n <p class='Nxd-search__result__desc'>{{ description }}</p>\n <p class='Nxd-search__result__highlight' v-html='snippet'></p>\n <span class='Vlt-badge Vlt-badge--grey Nxd-search__badge'>{{ badge }}</span>\n </div>\n </a>\n </div>\n</template>\n<script>\nexport default {\n props: ['hit'],\n computed: {\n badge: function() {\n return this.hit.product;\n },\n description: function() {\n return this.hit.description ? this.hit.description.substring(0, 150) : '';\n },\n showHeading: function() {\n return this.hit.heading && this.hit.heading == this.hit.title;\n },\n snippet: function() {\n return `...${this.hit._snippetResult.body.value}...`;\n },\n url: function() {\n return `${this.hit.path}#${this.hit.anchor}`;\n }\n },\n}\n</script>\n","import { render, staticRenderFns } from \"./NDPArticle.vue?vue&type=template&id=3f8c0714&\"\nimport script from \"./NDPArticle.vue?vue&type=script&lang=js&\"\nexport * from \"./NDPArticle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Nxd-search__result\"},[_c('a',{staticClass:\"Nxd-search__result__link\",attrs:{\"href\":_vm.url}},[_c('div',[_c('h6',{staticClass:\"Vlt-blue-dark\"},[_vm._v(\"\\n \"+_vm._s(_vm.hit.title)+\"\\n \"),(_vm.showHeading)?_c('small',[_vm._v(\" > \"+_vm._s(_vm.hit.heading))]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"Nxd-search__result__desc\"},[_vm._v(_vm._s(_vm.description))]),_vm._v(\" \"),_c('p',{staticClass:\"Nxd-search__result__highlight\",domProps:{\"innerHTML\":_vm._s(_vm.snippet)}}),_vm._v(\" \"),_c('span',{staticClass:\"Vlt-badge Vlt-badge--grey Nxd-search__badge\"},[_vm._v(_vm._s(_vm.badge))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZendeskArticle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZendeskArticle.vue?vue&type=script&lang=js&\"","<template>\n <div class='Nxd-search__result'>\n <a class='Nxd-search__result__link' v-bind:href='url' target='_blank'>\n <div>\n <h6 class='Vlt-blue-dark'>{{ title }}</h6>\n <p class='Nxd-search__result__highlight' v-html='snippet'></p>\n <span class='Vlt-badge Vlt-badge--grey Nxd-search__badge'>{{ badge }}</span>\n </div>\n </a>\n </div>\n</template>\n<script>\nexport default {\n props: ['hit'],\n computed: {\n badge: function() {\n return this.hit.section.full_path;\n },\n snippet: function() {\n return `...${this.hit._snippetResult.body_safe.value}...`;\n },\n title: function() {\n return this.hit.title;\n },\n url: function() {\n return `https://help.nexmo.com/hc/en-us/articles/${this.hit.id}`;\n },\n }\n}\n</script>\n","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Blog.vue?vue&type=script&lang=js&\"","<template>\n <div class='Nxd-search__result'>\n <a class='Nxd-search__result__link' v-bind:href='url' target='_blank'>\n <div>\n <h6 class='Vlt-blue-dark'>{{ title }}</h6>\n <p class='Nxd-search__result__highlight' v-html='snippet'></p>\n <span class='Vlt-badge Vlt-badge--grey Nxd-search__badge' :style=\"colorBadge\">{{ badge }}</span>\n </div>\n </a>\n </div>\n</template>\n<script>\nexport default {\n props: ['hit'],\n computed: {\n badge: function() {\n return this.hit.category.name;\n },\n colorBadge: function() {\n return this.hit.category.color ? { background: this.hit.category.color } : { background: '#757575'}\n },\n snippet: function() {\n return `...${this.hit._highlightResult.description.value}...`;\n },\n title: function() {\n return this.hit.title;\n },\n url: function() {\n return `https://developer.vonage.com/${this.hit.link}`;\n },\n }\n}\n</script>\n","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"Wrapper\">\n <div class=\"Wrapper-content\">\n <svg class=\"Vlt-icon Vlt-grey Nxd-search-icon\">\n <use xlink:href=\"/symbol/volta-icons.svg#Vlt-icon-search-full\" />\n </svg>\n\n\n <div class=\"Nxd-search-input\">\n <div class=\"Vlt-composite Vlt-composite--appendedicon\">\n <div class=\"Vlt-composite__prepend Vlt-composite__prepend--icon\">\n <svg><use xlink:href=\"/symbol/volta-icons.svg#Vlt-icon-search\"/></svg>\n </div>\n <div class=\"Vlt-input\">\n <input\n v-model=\"query\"\n name=\"query\"\n placeholder=\"Search\"\n id=\"searchbox-test\"\n type=\"text\"\n autoComplete=\"off\"\n v-on:keydown.esc=\"onEscDownHandler\"\n v-on:input=\"onInputHandler\"\n ></input>\n </div>\n <div class=\"Vlt-composite__append Vlt-composite__append--icon Nxd-search-close\">\n <svg><use xlink:href=\"/symbol/volta-icons.svg#Vlt-icon-cross-bold\"/></svg>\n </div>\n </div>\n </div>\n </div>\n\n <div v-show=\"showResults\" class=\"Nxd-search\">\n <div class=\"Nxd-search__wrapper\">\n <div v-show=\"loading\" class=\"spinner\">\n <i class=\"icon icon-cog\"></i>\n </div>\n <div v-show=\"!loading\" class=\"Nxd-search__wrapper\">\n <div class=\"Nxd-search__results\" v-for=\"result in results\" v-bind:key=\"result.index\">\n <h3 class=\"Nx-search__title\">\n {{ resultTitle(result.index) }}\n </h3>\n <div v-if=\"result.hits.length > 0\" >\n <div v-if=\"isZendeskArticle(result)\">\n <ZendeskArticle v-for=\"hit in result.hits\" v-bind:hit=\"hit\" v-bind:key=\"hitKey(result, hit)\"/>\n </div>\n <div v-else-if=\"isNDPArticle(result)\">\n <NDPArticle v-for=\"hit in result.hits\" v-bind:hit=\"hit\" v-bind:key=\"hitKey(result, hit)\"/>\n </div>\n <div v-else-if=\"isBlog(result)\">\n <Blog v-for=\"hit in result.hits\" v-bind:hit=\"hit\" v-bind:key=\"hitKey(result, hit)\"/>\n </div>\n </div>\n <div v-else>\n <p class=\"Nxd-search--no-results\"><i>No results</i></p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport algoliasearch from 'algoliasearch'\nimport debounce from 'lodash/debounce'\nimport NDPArticle from './NDPArticle.vue';\nimport ZendeskArticle from './ZendeskArticle.vue';\nimport Blog from './Blog.vue';\n\nexport default {\n data: function() {\n return {\n analyticsTriggered: false,\n client: undefined,\n expanded: false,\n loading: false,\n query: '',\n results: [],\n analyticsStrongIndicationOfReadingTimer: undefined,\n }\n },\n created: function() {\n this.client = algoliasearch(\n document.querySelector('meta[name=algolia_application_id]').getAttribute('content'),\n document.querySelector('meta[name=algolia_search_key]').getAttribute('content')\n );\n },\n mounted: function() {\n if (document.querySelector('.Nxd-template')) {\n document.querySelector('.Nxd-template').addEventListener('click', this.onClickOutside.bind(this));\n } else if (document.querySelector('.Adp-landing')) {\n document.querySelector('.Adp-landing .wrapper').addEventListener('click', this.onClickOutside.bind(this));\n }\n this.$el.querySelector('.Nxd-search-icon').addEventListener('click', this.handleSearchToggle.bind(this));\n this.$el.querySelector('.Nxd-search-close').addEventListener('click', this.handleSearchToggle.bind(this));\n },\n onDestroy: function() {\n if (document.querySelector('.Nxd-template')) {\n document.querySelector('.Nxd-template').removeEventListener('click', this.onClickOutside.bind(this));\n } else if (document.querySelector('.Adp-landing')) {\n document.querySelector('.Adp-landing .wrapper').removeEventListener('click', this.onClickOutside.bind(this));\n }\n },\n computed: {\n showResults: function() {\n return this.query != '';\n }\n },\n methods: {\n resultTitle: function(name) {\n if (name == 'zendesk_nexmo_articles') {\n return 'Knowledgebase';\n } else if (name.includes('nexmo_developer')) {\n return 'Vonage Developer';\n } else if (name == 'prod_blogposts') {\n return 'Blog';\n }\n },\n isZendeskArticle: function(result) {\n return result.index == 'zendesk_nexmo_articles';\n },\n isNDPArticle: function(result) {\n return result.index.includes('nexmo_developer');\n },\n isBlog: function(result) {\n return result.index == 'prod_blogposts';\n },\n hitKey: function(result, hit) {\n return result.index + hit.objectID;\n },\n onClickOutside: function(event) {\n if (this.showResults) {\n this.reset();\n }\n if (this.expanded) {\n this.expanded = false;\n }\n\n this.toggleSearch(true);\n },\n\n handleSearchToggle: function(event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.toggleSearch();\n },\n\n toggleSearch: function(hide) {\n let search = this.$el.querySelector('.Nxd-search-input');\n if (hide === true || search.style.display == 'flex') {\n search.style.display = 'none';\n } else {\n search.style.display = 'flex';\n }\n },\n onEscDownHandler: function(event) {\n if (!this.analyticsTriggered && this.query !== '') {\n this.triggerAnalyticalSearch();\n }\n this.reset();\n },\n reset: function() {\n this.resetAnalyticsListeners();\n this.query = '';\n this.results = [];\n this.loading = false;\n },\n onInputHandler: function(event) {\n event.stopPropagation();\n if (this.query === '') {\n this.reset();\n } else {\n debounce(this.handleSearch.bind(this), 250)(event);\n }\n },\n handleSearch: function(event) {\n this.loading = this.query === '';\n this.analyticsTriggered = false;\n this.performSearch();\n\n this.resetAnalyticsListeners();\n this.analyticsStrongIndicationOfReadingTimer = setTimeout(this.triggerAnalyticalSearch, 2000);\n window.addEventListener('mousemove', this.triggerAnalyticalSearch);\n },\n performSearch: function(analytics = false) {\n const parameters = Array.from(document.querySelectorAll('meta[name=algolia_index]')).map((element) => {\n return {\n indexName: element.getAttribute('content'),\n query: this.query,\n params: {\n analytics: analytics,\n hitsPerPage: analytics ? 1 : 4\n }\n }\n })\n\n const searchPromise = this.client.search(parameters)\n\n if (!analytics) {\n searchPromise.then((response) => {\n this.results = response['results'];\n this.loading = false;\n })\n }\n },\n resetAnalyticsListeners: function() {\n clearTimeout(this.analyticsStrongIndicationOfReadingTimer);\n window.removeEventListener('mousemove', this.triggerAnalyticalSearch);\n },\n triggerAnalyticalSearch: function() {\n this.performSearch(true);\n this.analyticsTriggered = true;\n this.resetAnalyticsListeners();\n }\n },\n components: {\n ZendeskArticle, NDPArticle, Blog\n }\n}\n</script>\n<style scoped>\n.Wrapper {\n top: 55px;\n right: 13px;\n display: flex;\n position: absolute;\n}\n.Wrapper-content {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n}\n.Nxd-search-input {\n display: none;\n width: 756px;\n padding: 20px 30px;\n background: white;\n height: 87px;\n border-radius: 8px;\n margin-top: 5px;\n z-index: 100003;\n}\n.Vlt-composite {\n width: 100%;\n}\n.Nxd-search-icon {\n margin-right: 10px;\n}\n#searchbox-test {\n border: 1px solid white;\n}\n</style>\n","import { render, staticRenderFns } from \"./ZendeskArticle.vue?vue&type=template&id=743c0ddb&\"\nimport script from \"./ZendeskArticle.vue?vue&type=script&lang=js&\"\nexport * from \"./ZendeskArticle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Nxd-search__result\"},[_c('a',{staticClass:\"Nxd-search__result__link\",attrs:{\"href\":_vm.url,\"target\":\"_blank\"}},[_c('div',[_c('h6',{staticClass:\"Vlt-blue-dark\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),_c('p',{staticClass:\"Nxd-search__result__highlight\",domProps:{\"innerHTML\":_vm._s(_vm.snippet)}}),_vm._v(\" \"),_c('span',{staticClass:\"Vlt-badge Vlt-badge--grey Nxd-search__badge\"},[_vm._v(_vm._s(_vm.badge))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Blog.vue?vue&type=template&id=26e797cc&\"\nimport script from \"./Blog.vue?vue&type=script&lang=js&\"\nexport * from \"./Blog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Nxd-search__result\"},[_c('a',{staticClass:\"Nxd-search__result__link\",attrs:{\"href\":_vm.url,\"target\":\"_blank\"}},[_c('div',[_c('h6',{staticClass:\"Vlt-blue-dark\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),_c('p',{staticClass:\"Nxd-search__result__highlight\",domProps:{\"innerHTML\":_vm._s(_vm.snippet)}}),_vm._v(\" \"),_c('span',{staticClass:\"Vlt-badge Vlt-badge--grey Nxd-search__badge\",style:(_vm.colorBadge)},[_vm._v(_vm._s(_vm.badge))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Search.vue?vue&type=template&id=3f8bf774&scoped=true&\"\nimport script from \"./Search.vue?vue&type=script&lang=js&\"\nexport * from \"./Search.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Search.vue?vue&type=style&index=0&id=3f8bf774&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f8bf774\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Vlt-box\"},[_c('h2',[_vm._v(\"Try it out\")]),_vm._v(\" \"),_c('h4',[_vm._v(\"Message\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.body),expression:\"body\"}],domProps:{\"value\":(_vm.body)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.body=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-margin--top2\"}),_vm._v(\" \"),_c('h4',[_vm._v(\"Data\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-box Vlt-box--white Vlt-box--lesspadding\"},[_c('div',{staticClass:\"Vlt-grid\"},[_c('div',{staticClass:\"Vlt-col Vlt-col--1of3\"},[_c('b',[_vm._v(\"Unicode is Required?\")]),_vm._v(\" \"),(_vm.unicodeRequired)?_c('i',{staticClass:\"icon icon--large icon-check-circle color--success\"}):_c('i',{staticClass:\"icon icon--large icon-times-circle color--error\"})]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-col Vlt-col--2of3\"}),_vm._v(\" \"),_c('hr',{staticClass:\"hr--shorter\"}),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-col Vlt-col--2of3\",attrs:{\"id\":\"sms-composition\"},domProps:{\"innerHTML\":_vm._s(_vm.smsComposition)}})])]),_vm._v(\" \"),_c('h4',[_vm._v(\"Parts\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-box Vlt-box--white Vlt-box--lesspadding\",attrs:{\"id\":\"parts\"}},_vm._l((_vm.messages),function(message,index){return _c('div',{staticClass:\"Vlt-grid\"},[_c('div',{staticClass:\"Vlt-col Vlt-col--1of3\"},[_c('b',[_vm._v(\"Part \"+_vm._s(index + 1))])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-col Vlt-col--2of3\"},[_c('code',[(_vm.messages.length > 1)?_c('span',[_c('span',{staticClass:\"Vlt-badge Vlt-badge--blue\"},[_vm._v(\"User Defined Header\")]),_vm._v(\" \"),_c('span',[_vm._v(\" \")])]):_vm._e(),_vm._v(\"\\n \"+_vm._s(message)+\"\\n \")])]),_vm._v(\" \"),(index + 1 !== _vm.messages.length)?_c('hr',{staticClass:\"hr--shorter\"}):_vm._e()])}),0)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Vlt-col Vlt-col--1of3\"},[_c('b',[_vm._v(\"Length\")])])}]\n\nexport { render, staticRenderFns }","import difference from 'lodash/difference'\n\nconst GSM_STANDARD_CHARS = [\n '@', '0', '¡', 'P', '¿',\n 'p', '£', '_', '!', '1',\n 'A', 'Q', 'a', 'q', '$',\n '\"', '2', 'B', 'R', 'b',\n 'r', '¥', '?', '#', '3',\n 'C', 'S', 'c', 's', 'è',\n '?', '4', 'D', 'T', 'd',\n 't', 'é', '?', '%', '5',\n 'E', 'U', 'e', 'u', 'ù',\n '6', 'F', 'V', 'f', 'v',\n 'ì', '?', \"'\", '7', 'G',\n 'W', 'g', 'w', 'ò', '(',\n '8', 'H', 'X', 'h', 'x',\n 'Ç', ')', '9', 'I', 'Y',\n 'i', 'y', '*', ':', 'J',\n 'Z', 'j', 'z', 'Ø', '+',\n ';', 'K', 'Ä', 'k', 'ä',\n 'Æ', ',', '<', 'L', 'l',\n 'ö', 'æ', '-', '=', 'M',\n 'Ñ', 'm', 'ñ', 'Å', 'ß',\n '.', '>', 'N', 'Ü', 'n',\n 'ü', 'å', 'É', '/', 'O',\n '§', 'o', 'à', 'Δ', 'Φ',\n 'Γ', 'Λ', 'Ω', 'Π', 'Ψ',\n 'Σ', 'Θ', 'Ξ', 'Ö', 'Ä',\n 'Ü', 'ø', ' ', '\\r', '\\n',\n '¤', '&'\n]\n\nconst GSM_EXTENDED_CHARS = [\n '|', '^', '€', '{', '}', '[', ']', '~', '\\\\'\n]\n\nconst BYTE_SIZE = 8;\nconst CHARACTER_SIZE = 7;\nconst GSM_METADATA_LENGTH = 7;\nconst GSM_METADATA_SIZE = GSM_METADATA_LENGTH * CHARACTER_SIZE;\nconst GSM_MAX_SIZE = 140 * BYTE_SIZE;\n\nclass CharacterCounter {\n constructor(text) {\n this.text = text;\n }\n\n getInfo() {\n let messages = this.getMessages();\n return {\n messages: messages,\n unicodeRequired: this.isUnicodeRequired(),\n charactersCount: messages.reduce(function(sum, sms) { return sum + sms.length }, 0)\n }\n }\n\n isUnicodeRequired() {\n let remainder = difference([...this.text], [...GSM_STANDARD_CHARS, ...GSM_EXTENDED_CHARS]);\n return remainder.length !== 0;\n }\n\n getMessages() {\n return this.splitIntoSMS(GSM_MAX_SIZE);\n }\n\n splitIntoSMS(maxSize) {\n let index = 0;\n let messages = [];\n let text = this.text;\n let split = this.getTextSize(text) > maxSize;\n while(index <= this.text.length) {\n let sms = this.getSMS(text, maxSize, split);\n messages.push(sms);\n text = text.slice(sms.length);\n index += sms.length + 1;\n split = this.getTextSize(text) + GSM_METADATA_SIZE > maxSize;\n }\n return messages;\n }\n\n getSMS(text, maxSize, lastSplit) {\n let index = 0, currentSize = 0;\n const maxSizeWithMeta = maxSize - GSM_METADATA_SIZE;\n\n while (currentSize + this.getCharSize(text[index]) <= maxSizeWithMeta && index < text.length) {\n currentSize += this.getCharSize(text[index]);\n index += 1;\n }\n if (!lastSplit) {\n index = text.length;\n }\n return text.slice(0, index);\n }\n\n getTextSize(text) {\n return [...text].map(this.getCharSize, this).reduce(function(sum, c) { return sum + c }, 0);\n }\n\n getSizeInBytes() {\n return Math.ceil(this.getTextSize(this.text) / BYTE_SIZE);\n }\n\n getCharSize(character) {\n if(!character) { return 0; }\n if (this.isUnicodeRequired()) {\n return character.length * BYTE_SIZE * 2;\n } else if (GSM_EXTENDED_CHARS.includes(character)) {\n return CHARACTER_SIZE * 2;\n } else {\n return CHARACTER_SIZE;\n }\n }\n}\n\nexport default CharacterCounter;\n","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Concatenation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Concatenation.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"Vlt-box\">\n <h2>Try it out</h2>\n\n <h4>Message</h4>\n <div class=\"Vlt-textarea\">\n <textarea v-model=\"body\" />\n </div>\n\n <div class=\"Vlt-margin--top2\" />\n\n <h4>Data</h4>\n <div class=\"Vlt-box Vlt-box--white Vlt-box--lesspadding\">\n <div class=\"Vlt-grid\">\n <div class=\"Vlt-col Vlt-col--1of3\">\n <b>Unicode is Required?</b>\n <i v-if=\"unicodeRequired\" class=\"icon icon--large icon-check-circle color--success\"></i>\n <i v-else class=\"icon icon--large icon-times-circle color--error\"></i>\n </div>\n <div class=\"Vlt-col Vlt-col--2of3\">\n </div>\n <hr class=\"hr--shorter\"/>\n <div class=\"Vlt-col Vlt-col--1of3\">\n <b>Length</b>\n </div>\n <div class=\"Vlt-col Vlt-col--2of3\" v-html=\"smsComposition\" id=\"sms-composition\"></div>\n </div>\n </div>\n\n <h4>Parts</h4>\n <div class=\"Vlt-box Vlt-box--white Vlt-box--lesspadding\" id=\"parts\">\n <div v-for= \"(message, index) in messages\" class=\"Vlt-grid\">\n <div class=\"Vlt-col Vlt-col--1of3\"><b>Part {{index + 1}}</b></div>\n <div class=\"Vlt-col Vlt-col--2of3\">\n <code>\n <span v-if=\"messages.length > 1\">\n <span class=\"Vlt-badge Vlt-badge--blue\">User Defined Header</span>\n <span>&nbsp;</span>\n </span>\n {{message}}\n </code>\n </div>\n <hr v-if=\"index + 1 !== messages.length\" class=\"hr--shorter\"/>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport CharacterCounter from './character_counter';\n\nexport default {\n data: function () {\n return {\n body: 'It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.'\n };\n },\n computed: {\n smsInfo: function() {\n return new CharacterCounter(this.body).getInfo();\n },\n messages: function() {\n return this.smsInfo.messages;\n },\n unicodeRequired: function() {\n return this.smsInfo.unicodeRequired;\n },\n smsComposition: function() {\n let count = this.smsInfo.charactersCount;\n let characters = this.pluralize('character', count);\n let messagesLength = this.messages.length;\n let parts = this.pluralize('part', messagesLength);\n\n return `${count} ${characters} sent in ${messagesLength} message ${parts}`;\n }\n },\n methods: {\n pluralize: function(singular, count) {\n if (count === 1) { return singular; }\n return `${singular}s`;\n }\n }\n}\n</script>\n\n<style scoped>\n textarea {\n width: 100%;\n height: 150px;\n resize: vertical;\n }\n code {\n whiteSpace: normal;\n wordBreak: break-all;\n }\n</style>\n","import { render, staticRenderFns } from \"./Concatenation.vue?vue&type=template&id=eadbcebe&scoped=true&\"\nimport script from \"./Concatenation.vue?vue&type=script&lang=js&\"\nexport * from \"./Concatenation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Concatenation.vue?vue&type=style&index=0&id=eadbcebe&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"eadbcebe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Vlt-card\"},[_c('h1',[_vm._v(\"JWT Generator\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.jwt),expression:\"!jwt\"}],class:[_vm.computedClass, 'Vlt-callout']},[_c('i'),_vm._v(\" \"),(_vm.invalidAcl)?_c('div',{staticClass:\"Vlt-callout__content\"},[_vm._v(\"\\n Invalid ACL provided. Must be JSON\\n \")]):(_vm.invalidPrivateKey)?_c('div',{staticClass:\"Vlt-callout__content\"},[_vm._v(\"\\n Invalid private key provided\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.invalidPrivateKey && !_vm.invalidAcl)?_c('div',{staticClass:\"Vlt-callout__content\",domProps:{\"innerHTML\":_vm._s(_vm.callout)}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-grid\"},[_c('div',{staticClass:\"Vlt-col\"},[_c('h2',[_vm._v(\"Parameters\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-form__element\"},[_c('label',{staticClass:\"Vlt-label\"},[_vm._v(\"Private Key\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.privateKey),expression:\"privateKey\"}],attrs:{\"rows\":\"8\",\"cols\":\"50\",\"id\":\"private-key\"},domProps:{\"value\":(_vm.privateKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.privateKey=$event.target.value}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-form__element\"},[_c('label',{staticClass:\"Vlt-label\"},[_vm._v(\"Application ID\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.applicationId),expression:\"applicationId\"}],attrs:{\"id\":\"application-id\"},domProps:{\"value\":(_vm.applicationId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.applicationId=$event.target.value}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-form__element\"},[_c('label',{staticClass:\"Vlt-label\",attrs:{\"htmlFor\":\"example-input-icon-button\"}},[_vm._v(\"Valid For\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-composite\"},[_c('div',{staticClass:\"Vlt-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.validFor),expression:\"validFor\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\",\"placeholder\":\"6\"},domProps:{\"value\":(_vm.validFor)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.validFor=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-composite__append\"},[_c('div',{staticClass:\"Vlt-native-dropdown\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.validForTimeUnit),expression:\"validForTimeUnit\",modifiers:{\"number\":true}}],attrs:{\"defaultValue\":\"3600\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return _vm._n(val)}); _vm.validForTimeUnit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"1\"}},[_vm._v(\"Seconds\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"60\"}},[_vm._v(\"Minutes\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"3600\"}},[_vm._v(\"Hours\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"86400\"}},[_vm._v(\"Days\")])])])])])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-form__element\"},[_c('label',{staticClass:\"Vlt-label\"},[_vm._v(\"Sub (optional)\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sub),expression:\"sub\"}],domProps:{\"value\":(_vm.sub)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.sub=$event.target.value}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-form__element\"},[_c('label',{staticClass:\"Vlt-label\"},[_vm._v(\"ACL (optional)\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.acl),expression:\"acl\"}],attrs:{\"rows\":\"4\",\"cols\":\"50\",\"id\":\"acl\"},domProps:{\"value\":(_vm.acl)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.acl=$event.target.value}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-col\"},[_c('h2',[_vm._v(\"Encoded\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-form__element\"},[_c('label',{staticClass:\"Vlt-label\"},[_vm._v(\"Your JWT\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-textarea\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.jwt),expression:\"jwt\"}],attrs:{\"rows\":\"29\",\"cols\":\"50\",\"id\":\"jwt\"},domProps:{\"value\":(_vm.jwt)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.jwt=$event.target.value}}})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-grid\"},[_c('div',{staticClass:\"Vlt-col\"},[_c('h2',[_vm._v(\"Decoded\")]),_vm._v(\" \"),_c('div',{staticClass:\"Vlt-table Vlt-table--data\"},[_c('table',[_vm._m(0),_vm._v(\" \"),_c('tbody',[_c('tr',[_vm._m(1),_c('td',[_vm._v(_vm._s(_vm.applicationId))]),_c('td',[_vm._v(\"The application ID this JWT uses for authentication\")])]),_vm._v(\" \"),_c('tr',[_vm._m(2),_c('td',[_vm._v(_vm._s(_vm.iat))]),_c('td',[_vm._v(\"The time at which the token was issued\")])]),_vm._v(\" \"),_c('tr',[_vm._m(3),_c('td',[_vm._v(_vm._s(_vm.nbf))]),_c('td',[_vm._v(\"The time at which the token should become valid\")])]),_vm._v(\" \"),_c('tr',[_vm._m(4),_c('td',[_vm._v(_vm._s(_vm.exp))]),_c('td',[_vm._v(\"The time at which the token should expire\")])]),_vm._v(\" \"),_c('tr',[_vm._m(5),_c('td',[_vm._v(_vm._s(_vm.sub))]),_c('td',[_vm._v(\"The subject identified by the JWT (only used for the Client SDKs)\")])]),_vm._v(\" \"),_c('tr',[_vm._m(6),_c('td',[_vm._v(_vm._s(_vm.acl))]),_c('td',[_vm._v(\"A list of permissions that this token will have\")])]),_vm._v(\" \"),_c('tr',[_vm._m(7),_c('td',[_vm._v(_vm._s(_vm.jti))]),_c('td',[_vm._v(\"A unique identifier for the JWT\")])])])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Value\")]),_vm._v(\" \"),_c('th',[_vm._v(\"Meaning\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"application_id\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"iat\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"nbf\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"exp\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"sub\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"acl\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('code',[_vm._v(\"jti\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JwtGenerator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JwtGenerator.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"Vlt-card\">\n <h1>JWT Generator</h1>\n <div v-show=\"!jwt\" :class=\"[computedClass, 'Vlt-callout']\">\n <i></i>\n <div v-if=\"invalidAcl\" class=\"Vlt-callout__content\">\n Invalid ACL provided. Must be JSON\n </div>\n <div v-else-if=\"invalidPrivateKey\" class=\"Vlt-callout__content\">\n Invalid private key provided\n </div>\n <div v-if=\"!invalidPrivateKey && !invalidAcl\" v-html=\"callout\" class=\"Vlt-callout__content\"/>\n </div>\n <div class=\"Vlt-grid\">\n\n <div class=\"Vlt-col\">\n <h2>Parameters</h2>\n <div class=\"Vlt-form__element\">\n <label class=\"Vlt-label\">Private Key</label>\n <div class=\"Vlt-textarea\">\n <textarea rows=\"8\" cols=\"50\" v-model=\"privateKey\" id=\"private-key\"></textarea>\n </div>\n </div>\n <div class=\"Vlt-form__element\">\n <label class=\"Vlt-label\">Application ID</label>\n <div class=\"Vlt-input\">\n <input v-model=\"applicationId\" id=\"application-id\"/>\n </div>\n </div>\n <div class=\"Vlt-form__element\">\n <label htmlFor=\"example-input-icon-button\" class=\"Vlt-label\">Valid For</label>\n <div class=\"Vlt-composite\">\n <div class=\"Vlt-input\">\n <input type=\"number\" v-model.number=\"validFor\" placeholder=\"6\" />\n </div>\n\n <div class=\"Vlt-composite__append\">\n <div class=\"Vlt-native-dropdown\">\n <select v-model.number='validForTimeUnit' defaultValue=\"3600\">\n <option value=\"1\">Seconds</option>\n <option value=\"60\">Minutes</option>\n <option value=\"3600\">Hours</option>\n <option value=\"86400\">Days</option>\n </select>\n </div>\n </div>\n\n </div>\n </div>\n <div class=\"Vlt-form__element\">\n <label class=\"Vlt-label\">Sub (optional)</label>\n <div class=\"Vlt-input\">\n <input v-model=\"sub\"/>\n </div>\n </div>\n <div class=\"Vlt-form__element\">\n <label class=\"Vlt-label\">ACL (optional)</label>\n <div class=\"Vlt-textarea\">\n <textarea rows=\"4\" cols=\"50\" v-model=\"acl\" id=\"acl\"></textarea>\n </div>\n </div>\n </div>\n <div class=\"Vlt-col\">\n <h2>Encoded</h2>\n <div class=\"Vlt-form__element\">\n <label class=\"Vlt-label\">Your JWT</label>\n <div class=\"Vlt-textarea\">\n <textarea rows=\"29\" cols=\"50\" v-model=\"jwt\" id=\"jwt\"></textarea>\n </div>\n </div>\n </div>\n </div>\n <div class=\"Vlt-grid\">\n <div class=\"Vlt-col\">\n <h2>Decoded</h2>\n <div class=\"Vlt-table Vlt-table--data\">\n <table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Value</th>\n <th>Meaning</th>\n </tr>\n </thead>\n <tbody>\n <tr><td><code>application_id</code></td><td>{{applicationId}}</td><td>The application ID this JWT uses for authentication</td></tr>\n <tr><td><code>iat</code></td><td>{{iat}}</td><td>The time at which the token was issued</td></tr>\n <tr><td><code>nbf</code></td><td>{{nbf}}</td><td>The time at which the token should become valid</td></tr>\n <tr><td><code>exp</code></td><td>{{exp}}</td><td>The time at which the token should expire</td></tr>\n <tr><td><code>sub</code></td><td>{{sub}}</td><td>The subject identified by the JWT (only used for the Client SDKs)</td></tr>\n <tr><td><code>acl</code></td><td>{{acl}}</td><td>A list of permissions that this token will have</td></tr>\n <tr><td><code>jti</code></td><td>{{jti}}</td><td>A unique identifier for the JWT</td></tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { KJUR, KEYUTIL} from 'jsrsasign';\n\nexport default {\n data: function() {\n return {\n sub: '',\n acl: '',\n iat: '',\n jti: '',\n nbf: '',\n applicationId: '',\n validFor: '',\n validForTimeUnit: 3600,\n privateKey: '',\n }\n },\n created: function() {\n let tNow = KJUR.jws.IntDate.get('now');\n let tEnd = tNow + (3600*6);\n\n this.iat = tNow;\n this.nbf = tNow;\n this.jti = this.generateJti();\n },\n computed: {\n invalidAcl: function() {\n let invalid = false;\n\n if (this.acl) {\n try {\n JSON.parse(this.acl);\n } catch (e) {\n invalid = true;\n }\n }\n return invalid;\n },\n callout: function() {\n let message;\n\n if (this.privateKey) {\n if (!this.applicationId) {\n message = 'Next, provide an Application ID';\n }\n } else if (this.applicationId) {\n message = 'Next, provide a Private Key';\n } else {\n message = '<h4>Use your <code>private key</code> and <code>application_id</code> to create a JWT for your Vonage Application</h4>The JWT is generated on the client-side so your private key <strong>never leaves your browser</strong>.';\n }\n return message;\n },\n exp: function() {\n let validFor = this.validFor || 6;\n return this.iat + (validFor * this.validForTimeUnit);\n },\n jwt: function() {\n let result = '';\n if (this.privateKey && this.applicationId) {\n try {\n result = this.generateJwt();\n } catch (e) {\n result = '';\n }\n }\n return result;\n },\n invalidPrivateKey: function() {\n let invalid = false;\n if (this.privateKey && this.applicationId) {\n try {\n this.generateJwt();\n } catch (e) {\n invalid = true;\n }\n }\n return invalid;\n },\n computedClass: function() {\n if (this.invalidPrivateKey || this.invalidAcl)\n return 'Vlt-callout--critical';\n if (this.applicationId && this.privateKey)\n return '';\n if (this.applicationId || this.privateKey)\n return 'Vlt-callout--warning';\n if (!this.applicationId && !this.privateKey)\n return 'Vlt-callout--tip';\n }\n },\n methods: {\n generateJti: function() {\n let text = \"\";\n let possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (let i = 0; i < 12; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n\n return text;\n },\n buildHeader: function() {\n return JSON.stringify({ typ: 'JWT', alg: 'RS256' });\n },\n buildPayload: function() {\n let payload = {};\n payload.iat = this.iat;\n payload.exp = this.exp;\n payload.jti = this.jti;\n payload.application_id = this.applicationId;\n if (this.sub) { payload.sub = this.sub; }\n if (this.acl) { payload.acl = JSON.parse(this.acl); }\n return JSON.stringify(payload);\n },\n generateJwt: function() {\n let prvKey = KEYUTIL.getKey(this.privateKey);\n return KJUR.jws.JWS.sign(\"RS256\", this.buildHeader(), this.buildPayload(), prvKey);\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./JwtGenerator.vue?vue&type=template&id=657443bc&\"\nimport script from \"./JwtGenerator.vue?vue&type=script&lang=js&\"\nexport * from \"./JwtGenerator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\nimport '@vonagevolta/volta2/js/addons/prism'\n\nimport Rails from \"@rails/ujs\"\n\nimport '../stylesheets/application'\n\nrequire.context('../images', true);\nrequire.context('../fonts', true);\n\nrequire.context('@vonagevolta/volta2/images/logos', true)\nrequire.context('@vonagevolta/volta2/dist/symbol', true)\n\nrequire('chartkick/chart.js');\nrequire('jquery');\nrequire('clipboard');\nrequire('underscore');\nrequire('@googlemaps/google-maps-services-js');\n\n// XXX: hack for Volta, unfortunately it doesn't provide modules :(\nimport Volta from \"../javascript/volta/volta.js\"\n\nimport Vue from 'vue'\nimport mermaid from 'mermaid'\nimport Glide, { Autoplay, Breakpoints, Controls } from '@glidejs/glide/dist/glide.modular.esm'\n\nimport { TweenLite, CSSPlugin } from 'gsap'\nimport GithubCards from '../javascript/github_cards'\nimport VoltaTabbedExamples from '../javascript/volta_tabbed_examples'\nimport Format from '../javascript/format'\nimport Scroll from '../javascript/scroll'\nimport Notices from '../javascript/notices'\nimport Feedback from '../javascript/components/feedback/Feedback.vue'\nimport JwtGenerator from '../javascript/components/jwt_generator/JwtGenerator.vue'\nimport Search from '../javascript/components/search/Search.vue'\nimport Concatenation from '../javascript/components/concatenation/Concatenation.vue'\nimport APIStatus from '../javascript/api_status'\nimport CodeSnippetEvents from '../javascript/code_snippet_events'\nimport Sidenav from '../javascript/sidenav/index'\nimport Topnav from '../javascript/topnav/index'\nimport Careers from '../javascript/careers'\nimport LocaleSwitcher from '../javascript/locale_switcher'\nimport dataLayer from '../javascript/adobe_analytics/index'\n\n$(document).ready(function() {\n Rails.start()\n Scroll()\n Notices()\n GithubCards()\n new VoltaTabbedExamples\n new Format\n APIStatus()\n CodeSnippetEvents()\n new Sidenav()\n new Careers\n new LocaleSwitcher\n new Topnav\n\n // Data layer variable is assigned to window.digitalData\n // for adobe launch script to pick it up\n window.digitalData = dataLayer\n\n if (document.getElementById('jwt-generator-app')) {\n new Vue({\n el: '#jwt-generator-app',\n template: '<JwtGenerator/>',\n components: { JwtGenerator }\n })\n }\n\n if (document.getElementById('search-app')) {\n new Vue({\n el: '#search-app',\n template: '<Search/>',\n components: { Search }\n })\n }\n\n if (document.getElementById('feedback-app')) {\n new Vue({\n el: '#feedback-app',\n template: '<Feedback/>',\n render: createElement => {\n return createElement(Feedback, { props: window.feedbackProps });\n }\n })\n }\n\n if (document.getElementById('concatenation-app')) {\n new Vue({\n el: '#concatenation-app',\n template: '<Concatenation/>',\n components: { Concatenation }\n })\n }\n\n Volta.init(['accordion', 'tooltip', 'tab', 'modal', 'dropdown'])\n\n setTimeout(function() {\n const sidebarActive = document.querySelector('.Vlt-sidemenu__link_active')\n if (sidebarActive){\n sidebarActive.scrollIntoView(true);\n }\n\n document.getElementById('header').focus();\n }, 100);\n\n // If there are any links in the sidebar, we need to be able to click them\n // and not trigger the Volta accordion\n $(\".Vlt-sidemenu__trigger a\").click(function(){\n window.location = $(this).attr(\"href\");\n return false;\n });\n\n // Track A/B testing clicks\n $(\"[data-ab]\").click(function(e) {\n let r = new Request('/usage/ab_result', {\n method: 'POST',\n credentials: 'same-origin',\n body: JSON.stringify({'t': $(this).data('ab')}),\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n\n fetch(r).then((response) => {\n if (response.ok) { return response.json() }\n return Promise.reject({ message: 'Bad response from server', response })\n });\n });\n\n // Mermaid diagrams\n mermaid.initialize({\n startOnLoad:true,\n sequence: {\n useMaxWidth: false,\n },\n themeCSS: '.actor { fill: #BDD5EA; stroke: #81B1DB; }',\n htmlLabels: true\n });\n\n if (document.querySelector('.glide')) {\n document.querySelectorAll('.glide pre').forEach((elem) => {\n //disable copy-to-clipboard for code-snippets in hero\n elem.classList.add('Vlt-prism--copy-disabled')\n })\n\n const slider = new Glide('.glide').mount({ Autoplay, Breakpoints, Controls });\n\n // Unfortunately, Autoplay doesn't work so we got to trigger it manually.\n setInterval(() => {\n if (!document.querySelector('.glide').matches(':hover')) {\n slider.go('>');\n }\n }, 8000);\n }\n});\n","var map = {\n\t\"./logo@3x\": 114,\n\t\"./logo@3x.png\": 114,\n\t\"./logo_vonage\": 115,\n\t\"./logo_vonage.png\": 115,\n\t\"./nexmo-developer-logo\": 116,\n\t\"./nexmo-developer-logo.svg\": 116,\n\t\"./nexmo-logo-collapsed\": 117,\n\t\"./nexmo-logo-collapsed.svg\": 117,\n\t\"./nexmo-vonage-white\": 118,\n\t\"./nexmo-vonage-white.svg\": 118,\n\t\"./posters/chatapp\": 119,\n\t\"./posters/chatapp.jpg\": 119,\n\t\"./posters/chatapp_small\": 120,\n\t\"./posters/chatapp_small.png\": 120,\n\t\"./posters/nexmo\": 121,\n\t\"./posters/nexmo.jpg\": 121,\n\t\"./posters/numberinsight\": 122,\n\t\"./posters/numberinsight.jpg\": 122,\n\t\"./posters/numberinsight_small\": 123,\n\t\"./posters/numberinsight_small.png\": 123,\n\t\"./posters/sms\": 124,\n\t\"./posters/sms.jpg\": 124,\n\t\"./posters/sms_small\": 125,\n\t\"./posters/sms_small.png\": 125,\n\t\"./posters/verify\": 126,\n\t\"./posters/verify.jpg\": 126,\n\t\"./posters/verify_small\": 127,\n\t\"./posters/verify_small.png\": 127,\n\t\"./posters/voice\": 128,\n\t\"./posters/voice.jpg\": 128,\n\t\"./posters/voice_small\": 129,\n\t\"./posters/voice_small.png\": 129,\n\t\"./select-dropdown\": 130,\n\t\"./select-dropdown.png\": 130,\n\t\"./slack\": 131,\n\t\"./slack.svg\": 131,\n\t\"./themes/ea/topography\": 132,\n\t\"./themes/ea/topography.png\": 132\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 = 311;","var map = {\n\t\"./Lato-Black.woff\": 313,\n\t\"./Lato-Black.woff2\": 314,\n\t\"./Lato-Regular.woff\": 315,\n\t\"./Lato-Regular.woff2\": 316,\n\t\"./Lato-Semibold.woff\": 317,\n\t\"./Lato-Semibold.woff2\": 318,\n\t\"./icomoon\": 133,\n\t\"./icomoon.eot\": 319,\n\t\"./icomoon.json\": 320,\n\t\"./icomoon.svg\": 133,\n\t\"./icomoon.ttf\": 321,\n\t\"./icomoon.woff\": 322\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 = 312;","module.exports = __webpack_public_path__ + \"media/fonts/Lato-Black-c8d9cbaf8b1206f3483842256078971a.woff\";","module.exports = __webpack_public_path__ + \"media/fonts/Lato-Black-d1d4c90e36bed096e6d4d1b1404114d9.woff2\";","module.exports = __webpack_public_path__ + \"media/fonts/Lato-Regular-39517281aedab52a4e3d76d5036c57cb.woff\";","module.exports = __webpack_public_path__ + \"media/fonts/Lato-Regular-4f47a67d46dbdd4ba82a41380097e078.woff2\";","module.exports = __webpack_public_path__ + \"media/fonts/Lato-Semibold-5c35c76aceac2a741d123cb0995022ed.woff\";","module.exports = __webpack_public_path__ + \"media/fonts/Lato-Semibold-73e6d0d8e7470f60fe494c7cbe91b252.woff2\";","module.exports = __webpack_public_path__ + \"media/fonts/icomoon-799e1ee48d461811f37bbea6fb0df136.eot\";","module.exports = __webpack_public_path__ + \"media/fonts/icomoon-a558651de59ce3c66923eae5a4aec194.ttf\";","module.exports = __webpack_public_path__ + \"media/fonts/icomoon-8f891bab79cc40ccb8512f5a3063f3d2.woff\";","var map = {\n\t\"./Vonage-api\": 134,\n\t\"./Vonage-api--white\": 135,\n\t\"./Vonage-api--white.svg\": 135,\n\t\"./Vonage-api-changelog\": 136,\n\t\"./Vonage-api-changelog--white\": 137,\n\t\"./Vonage-api-changelog--white.svg\": 137,\n\t\"./Vonage-api-changelog.svg\": 136,\n\t\"./Vonage-api-dashboard-vert\": 138,\n\t\"./Vonage-api-dashboard-vert--white\": 139,\n\t\"./Vonage-api-dashboard-vert--white.svg\": 139,\n\t\"./Vonage-api-dashboard-vert.svg\": 138,\n\t\"./Vonage-api-developer\": 140,\n\t\"./Vonage-api-developer--white\": 141,\n\t\"./Vonage-api-developer--white.svg\": 141,\n\t\"./Vonage-api-developer.svg\": 140,\n\t\"./Vonage-api-support\": 142,\n\t\"./Vonage-api-support--white\": 143,\n\t\"./Vonage-api-support--white.svg\": 143,\n\t\"./Vonage-api-support.svg\": 142,\n\t\"./Vonage-api.svg\": 134,\n\t\"./Vonage-apis\": 144,\n\t\"./Vonage-apis--white\": 145,\n\t\"./Vonage-apis--white.svg\": 145,\n\t\"./Vonage-apis.svg\": 144,\n\t\"./Vonage-developer\": 146,\n\t\"./Vonage-developer--white\": 147,\n\t\"./Vonage-developer--white.svg\": 147,\n\t\"./Vonage-developer.svg\": 146,\n\t\"./Vonage-lettermark\": 148,\n\t\"./Vonage-lettermark--white\": 149,\n\t\"./Vonage-lettermark--white.svg\": 149,\n\t\"./Vonage-lettermark.svg\": 148,\n\t\"./Vonage-logo-collapsed\": 150,\n\t\"./Vonage-logo-collapsed.svg\": 150,\n\t\"./Vonage-nexmo\": 151,\n\t\"./Vonage-nexmo--white\": 152,\n\t\"./Vonage-nexmo--white.svg\": 152,\n\t\"./Vonage-nexmo-vert\": 153,\n\t\"./Vonage-nexmo-vert--white\": 154,\n\t\"./Vonage-nexmo-vert--white.svg\": 154,\n\t\"./Vonage-nexmo-vert.svg\": 153,\n\t\"./Vonage-nexmo.svg\": 151,\n\t\"./Vonage-tokbox\": 155,\n\t\"./Vonage-tokbox--white\": 156,\n\t\"./Vonage-tokbox--white.svg\": 156,\n\t\"./Vonage-tokbox-vert\": 157,\n\t\"./Vonage-tokbox-vert--white\": 158,\n\t\"./Vonage-tokbox-vert--white.svg\": 158,\n\t\"./Vonage-tokbox-vert.svg\": 157,\n\t\"./Vonage-tokbox.svg\": 155,\n\t\"./Vonage-video-api\": 159,\n\t\"./Vonage-video-api--white\": 160,\n\t\"./Vonage-video-api--white.svg\": 160,\n\t\"./Vonage-video-api-stacked\": 161,\n\t\"./Vonage-video-api-stacked--white\": 162,\n\t\"./Vonage-video-api-stacked--white.svg\": 162,\n\t\"./Vonage-video-api-stacked.svg\": 161,\n\t\"./Vonage-video-api.svg\": 159,\n\t\"./Vonage-wordmark\": 163,\n\t\"./Vonage-wordmark--white\": 164,\n\t\"./Vonage-wordmark--white.svg\": 164,\n\t\"./Vonage-wordmark.svg\": 163,\n\t\"./favicon.ico\": 324,\n\t\"./volta-logo\": 165,\n\t\"./volta-logo.svg\": 165,\n\t\"./vonage-logo\": 166,\n\t\"./vonage-logo--white\": 167,\n\t\"./vonage-logo--white.svg\": 167,\n\t\"./vonage-logo-collapsed--white\": 168,\n\t\"./vonage-logo-collapsed--white.svg\": 168,\n\t\"./vonage-logo.svg\": 166\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 = 323;","var map = {\n\t\"./volta-brand-icons\": 169,\n\t\"./volta-brand-icons.svg\": 169,\n\t\"./volta-flag-icons\": 170,\n\t\"./volta-flag-icons.svg\": 170,\n\t\"./volta-icons\": 171,\n\t\"./volta-icons.svg\": 171\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 = 325;","export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=style&index=0&id=2f7cc389&scoped=true&lang=css&\"","export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioGroup.vue?vue&type=style&index=0&id=72e46007&scoped=true&lang=css&\"","export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Plain.vue?vue&type=style&index=0&id=c5022bf6&scoped=true&lang=css&\"","export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FieldSet.vue?vue&type=style&index=0&id=5a03a556&scoped=true&lang=css&\"","export * from \"-!../../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base.vue?vue&type=style&index=0&id=2face95b&scoped=true&lang=css&\"","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackPath.vue?vue&type=style&index=0&id=195798bf&scoped=true&lang=css&\"","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.vue?vue&type=style&index=0&id=47d5563b&scoped=true&lang=css&\"","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=style&index=0&id=3f8bf774&scoped=true&lang=css&\"","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--2-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--2-2!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Concatenation.vue?vue&type=style&index=0&id=eadbcebe&scoped=true&lang=css&\"","var map = {\n\t\"./locale\": 266,\n\t\"./locale.js\": 266\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 = 597;"],"sourceRoot":""}