{"version":3,"sources":["webpack://website/./node_modules/responsive-bp/src/js/responsive.dropdown.js"],"names":["$","w","ns","da","RESPONSIVE_DROPDOWN","supportTransition","getComputedStyle","support","transition","rtl","einit","echanged","join","Dropdown","element","options","this","$element","$target","target","defaults","dimension","extend","$parent","transitioning","endSize","parent","closest","id","attr","pseudoUnique","paneId","active","hasClass","on","proxy","click","keydown","prototype","show","size","self","$actives","find","grep","a","data","redraw","Event","relatedTarget","length","each","dropdown","hide","removeClass","toggle","method","startEvent","completeEvent","doShow","trigger","isDefaultPrevented","type","onTransitionEnd","eventToTrigger","$tab","focus","event","preventDefault","stopPropagation","test","tagName","which","$this","$items","index","filter","eq","old","fn","opts","Constructor","noConflict","init","getDataOptions","debouncedInit","debounce","document","ready","jQuery","window"],"mappings":"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","file":"867.js","sourcesContent":["/*\r\n * Responsive Dropdown \r\n */\r\n/*jshint expr:true*/\r\n/*global jQuery*/\r\n(function ($, w, ns, da) {\r\n\r\n \"use strict\";\r\n\r\n if (w.RESPONSIVE_DROPDOWN) {\r\n return;\r\n }\r\n\r\n // General variables.\r\n var supportTransition = w.getComputedStyle && $.support.transition,\r\n rtl = $.support.rtl,\r\n einit = \"RBPinit\" + ns + da,\r\n echanged = [\"RBPchanged\" + ns + da, \"shown.r.modal\" + da].join(\" \"),\r\n eclick = \"click\",\r\n ekeydown = \"keydown\",\r\n eshow = \"show\" + ns,\r\n eshown = \"shown\" + ns,\r\n ehide = \"hide\" + ns,\r\n ehidden = \"hidden\" + ns;\r\n\r\n var keys = {\r\n SPACE: 32,\r\n LEFT: 37,\r\n RIGHT: 39\r\n };\r\n\r\n // The Dropdown class definition\r\n var Dropdown = function (element, options) {\r\n\r\n this.$element = $(element);\r\n this.$target = $(options.target);\r\n this.defaults = {\r\n dimension: \"height\"\r\n };\r\n this.options = $.extend({}, this.defaults, options);\r\n this.$parent = null;\r\n this.transitioning = null;\r\n this.endSize = null;\r\n\r\n if (this.options.parent) {\r\n this.$parent = this.$target.closest(this.options.parent);\r\n }\r\n\r\n // Add accessibility features.\r\n var id = this.$element.attr(\"id\") || \"dropdown-\" + $.pseudoUnique(),\r\n paneId = this.$target.attr(\"id\") || \"dropdown-\" + $.pseudoUnique(),\r\n active = !this.$target.hasClass(\"collapse\");\r\n\r\n this.$element.attr({\r\n \"id\": id,\r\n \"role\": \"tab\",\r\n \"aria-controls\": paneId,\r\n \"aria-selected\": active,\r\n \"aria-expanded\": active,\r\n \"tabindex\": 0\r\n });\r\n\r\n if (this.$parent) {\r\n this.$parent.attr({ \"role\": \"tablist\", \"aria-multiselectable\": \"true\" });\r\n\r\n // We're safe to add the attribute here since if it's not used then\r\n // data-api is disabled.\r\n this.$element.attr({\r\n \"data-dropdown-parent\": this.options.parent\r\n });\r\n\r\n }\r\n\r\n this.$target.attr({\r\n \"id\": paneId,\r\n \"role\": \"tabpanel\",\r\n \"aria-labelledby\": id,\r\n \"aria-hidden\": !active,\r\n \"hidden\": !active,\r\n \"tabindex\": active ? 0 : -1\r\n });\r\n\r\n // Bind events.\r\n this.$element.on(eclick, $.proxy(this.click, this));\r\n this.$element.on(ekeydown, $.proxy(this.keydown, this));\r\n };\r\n\r\n Dropdown.prototype.show = function () {\r\n\r\n if (this.transitioning || this.$target.hasClass(\"expand\")) {\r\n return;\r\n }\r\n\r\n this.transitioning = true;\r\n\r\n var self = this,\r\n dimension = this.options.dimension,\r\n size,\r\n $actives = [];\r\n\r\n if (this.$parent) {\r\n // Get all the related open panes.\r\n $actives = this.$parent.find(\"[data-dropdown-parent=\\\"\" + this.options.parent + \"\\\"]\");\r\n\r\n $actives = $.grep($actives, function (a) {\r\n var data = $(a).data(\"r.dropdown\"),\r\n $target = data && data.$target;\r\n\r\n return $target && !$target.hasClass(\"collapse\") && data.$parent && data.$parent[0] === self.$parent[0];\r\n });\r\n }\r\n\r\n // Set the height/width to zero then to the height/width\r\n // so animation can take place.\r\n this.$target[dimension](0);\r\n\r\n if (supportTransition) {\r\n\r\n // Calculate the height/width.\r\n this.$target[dimension](\"auto\").attr({ \"aria-hidden\": false, \"hidden\": false });\r\n this.$target.find(\"[tabindex]:not(.collapse)\").attr({ \"aria-hidden\": false, \"hidden\": false });\r\n\r\n size = w.getComputedStyle(this.$target[0])[dimension];\r\n\r\n // Reset to zero and force repaint.\r\n this.$target[dimension](0).redraw();\r\n }\r\n\r\n this.$target[dimension](size || \"\");\r\n\r\n this.transition(\"removeClass\", $.Event(eshow, { relatedTarget: this.options.target }), eshown);\r\n\r\n if ($actives && $actives.length) {\r\n $.each($actives, function () {\r\n $(this).dropdown(\"hide\");\r\n });\r\n }\r\n };\r\n\r\n Dropdown.prototype.hide = function () {\r\n\r\n if (this.transitioning || this.$target.hasClass(\"collapse\")) {\r\n return;\r\n }\r\n\r\n this.transitioning = true;\r\n\r\n // Reset the height/width and then reduce to zero.\r\n var dimension = this.options.dimension,\r\n size;\r\n\r\n if (supportTransition) {\r\n\r\n // Set the height to auto, calculate the height/width and reset.\r\n size = w.getComputedStyle(this.$target[0])[dimension];\r\n\r\n // Reset the size and force repaint.\r\n this.$target[dimension](size).redraw(); // Force reflow ;\r\n }\r\n\r\n this.$target.removeClass(\"expand\");\r\n this.$target[dimension](0);\r\n this.transition(\"addClass\", $.Event(ehide, { relatedTarget: this.options.target }), ehidden);\r\n };\r\n\r\n Dropdown.prototype.toggle = function () {\r\n\r\n if (this.transitioning) {\r\n return;\r\n }\r\n\r\n // Run the correct command based on the presence of the class \"collapse\".\r\n this[this.$target.hasClass(\"collapse\") ? \"show\" : \"hide\"]();\r\n };\r\n\r\n Dropdown.prototype.transition = function (method, startEvent, completeEvent) {\r\n\r\n var self = this,\r\n doShow = method === \"removeClass\",\r\n complete = function () {\r\n\r\n // The event to expose.\r\n var eventToTrigger = $.Event(completeEvent, { relatedTarget: self.options.target });\r\n\r\n // Ensure the height/width is set to auto.\r\n self.$target.removeClass(\"trans\")[self.options.dimension](\"\");\r\n\r\n // Set the correct aria attributes.\r\n self.$target.attr({\r\n \"aria-hidden\": !doShow,\r\n \"hidden\": !doShow,\r\n \"tabindex\": doShow ? 0 : -1\r\n });\r\n\r\n var $tab = $(\"#\" + self.$target.attr(\"aria-labelledby\")).attr({\r\n \"aria-selected\": doShow,\r\n \"aria-expanded\": doShow\r\n });\r\n\r\n if (doShow) {\r\n $tab.focus();\r\n }\r\n\r\n // Toggle any children.\r\n self.$target.find(\"[tabindex]:not(.collapse)\").attr({\r\n \"aria-hidden\": !doShow,\r\n \"hidden\": !doShow,\r\n \"tabindex\": doShow ? 0 : -1\r\n });\r\n\r\n self.transitioning = false;\r\n\r\n self.$element.trigger(eventToTrigger);\r\n };\r\n\r\n this.$element.trigger(startEvent);\r\n\r\n if (startEvent.isDefaultPrevented()) {\r\n return;\r\n }\r\n\r\n // Remove or add the expand classes.\r\n this.$target[method](\"collapse\");\r\n this.$target[startEvent.type === \"show\" ? \"addClass\" : \"removeClass\"](\"trans expand\");\r\n\r\n this.$target.onTransitionEnd(complete);\r\n };\r\n\r\n Dropdown.prototype.click = function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n };\r\n\r\n Dropdown.prototype.keydown = function (event) {\r\n\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n var which = event.which;\r\n\r\n if (which === keys.SPACE || which === keys.LEFT || which === keys.RIGHT) {\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n var $this = $(event.target);\r\n\r\n if (which === keys.SPACE) {\r\n this.toggle();\r\n return;\r\n }\r\n\r\n var $parent = this.options.parent ? $this.closest(\"[role=tablist]\") : $this.closest(\".accordion\"),\r\n $items = $parent.find(\"[data-dropdown-parent=\\\"\" + this.options.parent + \"\\\"]\"),\r\n index = $items.index($items.filter(\":focus\")),\r\n length = $items.length;\r\n\r\n if (which === keys.LEFT) {\r\n rtl ? index += 1 : index -= 1;\r\n } else if (which === keys.RIGHT) {\r\n rtl ? index -= 1 : index += 1;\r\n }\r\n\r\n // Ensure that the index stays within bounds.\r\n if (index === length) {\r\n index = 0;\r\n }\r\n\r\n if (index < 0) {\r\n index = length - 1;\r\n }\r\n\r\n var data = $($items.eq(index)).data(\"r.dropdown\");\r\n data && data.show();\r\n }\r\n };\r\n\r\n // No conflict.\r\n var old = $.fn.dropdown;\r\n\r\n // Plug-in definition \r\n $.fn.dropdown = function (options) {\r\n return this.each(function () {\r\n var $this = $(this),\r\n data = $this.data(\"r.dropdown\"),\r\n opts = typeof options === \"object\" ? $.extend({}, options) : null;\r\n\r\n if (!data) {\r\n // Check the data and reassign if not present.\r\n $this.data(\"r.dropdown\", (data = new Dropdown(this, opts)));\r\n }\r\n\r\n // Run the appropriate function if a string is passed.\r\n if (typeof options === \"string\" && /(show|hide|toggle)/.test(options)) {\r\n data[options]();\r\n }\r\n });\r\n };\r\n\r\n // Set the public constructor.\r\n $.fn.dropdown.Constructor = Dropdown;\r\n\r\n $.fn.dropdown.noConflict = function () {\r\n $.fn.dropdown = old;\r\n return this;\r\n };\r\n\r\n // Data API\r\n var init = function () {\r\n $(\":attrStart(data-dropdown)\").each(function () {\r\n var $this = $(this),\r\n loaded = $this.data(\"r.dropdownLoaded\");\r\n if (!loaded) {\r\n $this.data(\"r.dropdownLoaded\", true);\r\n $this.dropdown($.getDataOptions($this, \"dropdown\"));\r\n }\r\n });\r\n },\r\n debouncedInit = $.debounce(init, 500);\r\n\r\n $(document).on([einit, echanged].join(\" \"), function (event) {\r\n event.type === \"RBPinit\" ? init() : debouncedInit();\r\n }).ready(function(){$(this).trigger(einit);});\r\n\r\n w.RESPONSIVE_DROPDOWN = true;\r\n\r\n}(jQuery, window, \".r.dropdown\", \".data-api\"));"],"sourceRoot":""}