“version”:3,“file”:“bootstrap-material-design.js”,“sources”:[“../../rollupPluginBabelHelpers”,“../../node_modules/bootstrap/js/src/util.js”,“../../node_modules/bootstrap/js/src/alert.js”,“../../node_modules/bootstrap/js/src/button.js”,“../../node_modules/bootstrap/js/src/collapse.js”,“../../node_modules/bootstrap/js/src/modal.js”,“../../node_modules/bootstrap/js/src/tooltip.js”,“../../node_modules/bootstrap/js/src/popover.js”,“../../node_modules/bootstrap/js/src/scrollspy.js”,“../../node_modules/bootstrap/js/src/tab.js”,“../../js/util.js”,“../../js/base.js”,“../../js/baseInput.js”,“../../js/baseSelection.js”,“../../js/checkbox.js”,“../../js/checkboxInline.js”,“../../js/collapseInline.js”,“../../js/file.js”,“../../js/radio.js”,“../../js/radioInline.js”,“../../js/baseFormControl.js”,“../../js/select.js”,“../../js/switch.js”,“../../js/text.js”,“../../js/textarea.js”,“../../js/dropdown.js”,“../../js/baseLayout.js”,“../../js/drawer.js”,“../../js/ripples.js”,“../../js/autofill.js”,“../../js/bootstrapMaterialDesign.js”,“../../js/index.js”],“sourcesContent”:[“export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };nnfunction _defineProperties(target, props) {n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {n /**n * ————————————————————————n * Private TransitionEnd Helpersn * ————————————————————————n */nn let transition = falsenn const MAX_UID = 1000000nn // Shoutout AngusCroll (https://goo.gl/pxwQGp)n function toType(obj) {n return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()n }nn function getSpecialTransitionEndEvent() {n return {n bindType: transition.end,n delegateType: transition.end,n handle(event) {n if ($(event.target).is(this)) {n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-paramsn }n return undefined // eslint-disable-line no-undefinedn }n }n }nn function transitionEndTest() {n if (typeof window !== ‘undefined’ && window.QUnit) {n return falsen }nn return {n end: ‘transitionend’n }n }nn function transitionEndEmulator(duration) {n let called = falsenn $(this).one(Util.TRANSITION_END, () => {n called = truen })nn setTimeout(() => {n if (!called) {n Util.triggerTransitionEnd(this)n }n }, duration)nn return thisn }nn function setTransitionEndSupport() {n transition = transitionEndTest()nn $.fn.emulateTransitionEnd = transitionEndEmulatornn if (Util.supportsTransitionEnd()) {n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()n }n }nn function escapeId(selector) {n // We escape IDs in case of special selectors (selector = ‘#myId:something’)n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : nulln } catch (err) {n return nulln }n },nn reflow(element) {n return element.offsetHeightn },nn triggerTransitionEnd(element) {n $(element).trigger(transition.end)n },nn supportsTransitionEnd() {n return Boolean(transition)n },nn isElement(obj) {n return (obj[0] || obj).nodeTypen },nn typeCheckConfig(componentName, config, configTypes) {n for (const property in configTypes) {n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {n const expectedTypes = configTypes[property]n const value = config[property]n const valueType = value && Util.isElement(value)n ? ‘element’ : toType(value)nn if (!new RegExp(expectedTypes).test(valueType)) {n throw new Error(n `${componentName.toUpperCase()}: ` +n `Option "${property}" provided type "${valueType}" ` +n `but expected type "${expectedTypes}".`)n }n }n }n }n }nn setTransitionEndSupport()nn return Utiln})($)nnexport default Utiln”,“import $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): alert.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Alert = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘alert’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.alert’n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = ‘.data-api’n const JQUERY_NO_CONFLICT = $.fn[NAME]n const TRANSITION_DURATION = 150nn const Selector = {n DISMISS : ‘[data-dismiss="alert"]’n }nn const Event = {n CLOSE : `close${EVENT_KEY}`,n CLOSED : `closed${EVENT_KEY}`,n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`n }nn const ClassName = {n ALERT : ‘alert’,n FADE : ‘fade’,n SHOW : ‘show’n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Alert {n constructor(element) {n this._element = elementn }nn // Gettersnn static get VERSION() {n return VERSIONn }nn // Publicnn close(element) {n element = element || this._elementnn const rootElement = this._getRootElement(element)n const customEvent = this._triggerCloseEvent(rootElement)nn if (customEvent.isDefaultPrevented()) {n returnn }nn this._removeElement(rootElement)n }nn dispose() {n $.removeData(this._element, DATA_KEY)n this._element = nulln }nn // Privatenn _getRootElement(element) {n const selector = Util.getSelectorFromElement(element)n let parent = falsenn if (selector) {n parent = $(selector)[0]n }nn if (!parent) {n parent = $(element).closest(`.${ClassName.ALERT}`)[0]n }nn return parentn }nn _triggerCloseEvent(element) {n const closeEvent = $.Event(Event.CLOSE)nn $(element).trigger(closeEvent)n return closeEventn }nn _removeElement(element) {n $(element).removeClass(ClassName.SHOW)nn if (!Util.supportsTransitionEnd() ||n !$(element).hasClass(ClassName.FADE)) {n this._destroyElement(element)n returnn }nn $(element)n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))n .emulateTransitionEnd(TRANSITION_DURATION)n }nn _destroyElement(element) {n $(element)n .detach()n .trigger(Event.CLOSED)n .remove()n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n const $element = $(this)n let data = $element.data(DATA_KEY)nn if (!data) {n data = new Alert(this)n $element.data(DATA_KEY, data)n }nn if (config === ‘close’) {n data[config](this)n }n })n }nn static _handleDismiss(alertInstance) {n return function (event) {n if (event) {n event.preventDefault()n }nn alertInstance.close(this)n }n }n }nn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(document).on(n Event.CLICK_DATA_API,n Selector.DISMISS,n Alert._handleDismiss(new Alert())n )nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn[NAME] = Alert._jQueryInterfacen $.fn[NAME].Constructor = Alertn $.fn[NAME].noConflict = function () {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Alert._jQueryInterfacen }nn return Alertn})($)nnexport default Alertn”,“import $ from ‘jquery’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): button.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Button = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘button’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.button’n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = ‘.data-api’n const JQUERY_NO_CONFLICT = $.fn[NAME]nn const ClassName = {n ACTIVE : ‘active’,n BUTTON : ‘btn’,n FOCUS : ‘focus’n }nn const Selector = {n DATA_TOGGLE_CARROT : ‘[data-toggle^="button"]’,n DATA_TOGGLE : ‘[data-toggle="buttons"]’,n INPUT : ‘input’,n ACTIVE : ‘.active’,n BUTTON : ‘.btn’n }nn const Event = {n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +n `blur${EVENT_KEY}${DATA_API_KEY}`n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Button {n constructor(element) {n this._element = elementn }nn // Gettersnn static get VERSION() {n return VERSIONn }nn // Publicnn toggle() {n let triggerChangeEvent = truen let addAriaPressed = truen const rootElement = $(this._element).closest(n Selector.DATA_TOGGLEn )[0]nn if (rootElement) {n const input = $(this._element).find(Selector.INPUT)[0]nn if (input) {n if (input.type === ‘radio’) {n if (input.checked &&n $(this._element).hasClass(ClassName.ACTIVE)) {n triggerChangeEvent = falsen } else {n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]nn if (activeElement) {n $(activeElement).removeClass(ClassName.ACTIVE)n }n }n }nn if (triggerChangeEvent) {n if (input.hasAttribute(‘disabled’) ||n rootElement.hasAttribute(‘disabled’) ||n input.classList.contains(‘disabled’) ||n rootElement.classList.contains(‘disabled’)) {n returnn }n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)n $(input).trigger(‘change’)n }nn input.focus()n addAriaPressed = falsen }n }nn if (addAriaPressed) {n this._element.setAttribute(‘aria-pressed’,n !$(this._element).hasClass(ClassName.ACTIVE))n }nn if (triggerChangeEvent) {n $(this._element).toggleClass(ClassName.ACTIVE)n }n }nn dispose() {n $.removeData(this._element, DATA_KEY)n this._element = nulln }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)nn if (!data) {n data = new Button(this)n $(this).data(DATA_KEY, data)n }nn if (config === ‘toggle’) {n data[config]()n }n })n }n }nn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(document)n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {n event.preventDefault()nn let button = event.targetnn if (!$(button).hasClass(ClassName.BUTTON)) {n button = $(button).closest(Selector.BUTTON)n }nn Button._jQueryInterface.call($(button), ‘toggle’)n })n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {n const button = $(event.target).closest(Selector.BUTTON)[0]n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))n })nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn[NAME] = Button._jQueryInterfacen $.fn[NAME].Constructor = Buttonn $.fn[NAME].noConflict = function () {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Button._jQueryInterfacen }nn return Buttonn})($)nnexport default Buttonn”,“import $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): collapse.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Collapse = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘collapse’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.collapse’n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = ‘.data-api’n const JQUERY_NO_CONFLICT = $.fn[NAME]n const TRANSITION_DURATION = 600nn const Default = {n toggle : true,n parent : ”n }nn const DefaultType = {n toggle : ‘boolean’,n parent : ‘(string|element)’n }nn const Event = {n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`n }nn const ClassName = {n SHOW : ‘show’,n COLLAPSE : ‘collapse’,n COLLAPSING : ‘collapsing’,n COLLAPSED : ‘collapsed’n }nn const Dimension = {n WIDTH : ‘width’,n HEIGHT : ‘height’n }nn const Selector = {n ACTIVES : ‘.show, .collapsing’,n DATA_TOGGLE : ‘[data-toggle="collapse"]’n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Collapse {n constructor(element, config) {n this._isTransitioning = falsen this._element = elementn this._config = this._getConfig(config)n this._triggerArray = $.makeArray($(n `[data-toggle="collapse"][href="#${element.id}"],` +n `[data-toggle="collapse"][data-target="#${element.id}"]`n ))n const tabToggles = $(Selector.DATA_TOGGLE)n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {n this._selector = selectorn this._triggerArray.push(elem)n }n }nn this._parent = this._config.parent ? this._getParent() : nullnn if (!this._config.parent) {n this._addAriaAndCollapsedClass(this._element, this._triggerArray)n }nn if (this._config.toggle) {n this.toggle()n }n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn toggle() {n if ($(this._element).hasClass(ClassName.SHOW)) {n this.hide()n } else {n this.show()n }n }nn show() {n if (this._isTransitioning ||n $(this._element).hasClass(ClassName.SHOW)) {n returnn }nn let activesn let activesDatann if (this._parent) {n actives = $.makeArray(n $(this._parent)n .find(Selector.ACTIVES)n .filter(`[data-parent="${this._config.parent}"]`)n )n if (actives.length === 0) {n actives = nulln }n }nn if (actives) {n activesData = $(actives).not(this._selector).data(DATA_KEY)n if (activesData && activesData._isTransitioning) {n returnn }n }nn const startEvent = $.Event(Event.SHOW)n $(this._element).trigger(startEvent)n if (startEvent.isDefaultPrevented()) {n returnn }nn if (actives) {n Collapse._jQueryInterface.call($(actives).not(this._selector), ‘hide’)n if (!activesData) {n $(actives).data(DATA_KEY, null)n }n }nn const dimension = this._getDimension()nn $(this._element)n .removeClass(ClassName.COLLAPSE)n .addClass(ClassName.COLLAPSING)nn this._element.style[dimension] = 0nn if (this._triggerArray.length > 0) {n $(this._triggerArray)n .removeClass(ClassName.COLLAPSED)n .attr(‘aria-expanded’, true)n }nn this.setTransitioning(true)nn const complete = () => {n $(this._element)n .removeClass(ClassName.COLLAPSING)n .addClass(ClassName.COLLAPSE)n .addClass(ClassName.SHOW)nn this._element.style[dimension] = ”nn this.setTransitioning(false)nn $(this._element).trigger(Event.SHOWN)n }nn if (!Util.supportsTransitionEnd()) {n complete()n returnn }nn const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)n const scrollSize = `scroll${capitalizedDimension}`nn $(this._element)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(TRANSITION_DURATION)nn this._element.style[dimension] = `${this._element[scrollSize]}px`n }nn hide() {n if (this._isTransitioning ||n !$(this._element).hasClass(ClassName.SHOW)) {n returnn }nn const startEvent = $.Event(Event.HIDE)n $(this._element).trigger(startEvent)n if (startEvent.isDefaultPrevented()) {n returnn }nn const dimension = this._getDimension()nn this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`nn Util.reflow(this._element)nn $(this._element)n .addClass(ClassName.COLLAPSING)n .removeClass(ClassName.COLLAPSE)n .removeClass(ClassName.SHOW)nn if (this._triggerArray.length > 0) {n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {n this.setTransitioning(false)n $(this._element)n .removeClass(ClassName.COLLAPSING)n .addClass(ClassName.COLLAPSE)n .trigger(Event.HIDDEN)n }nn this._element.style[dimension] = ”nn if (!Util.supportsTransitionEnd()) {n complete()n returnn }nn $(this._element)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(TRANSITION_DURATION)n }nn setTransitioning(isTransitioning) {n this._isTransitioning = isTransitioningn }nn dispose() {n $.removeData(this._element, DATA_KEY)nn this._config = nulln this._parent = nulln this._element = nulln this._triggerArray = nulln this._isTransitioning = nulln }nn // Privatenn _getConfig(config) {n config = {n …Default,n …confign }n config.toggle = Boolean(config.toggle) // Coerce string valuesn Util.typeCheckConfig(NAME, config, DefaultType)n return confign }nn _getDimension() {n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHTn }nn _getParent() {n let parent = nulln if (Util.isElement(this._config.parent)) {n parent = this._config.parentnn // It’s a jQuery objectn if (typeof this._config.parent.jquery !== ‘undefined’) {n parent = this._config.parent[0]n }n } else {n parent = $(this._config.parent)[0]n }nn const selector =n `[data-toggle="collapse"][data-parent="${this._config.parent}"]`nn $(parent).find(selector).each((i, element) => {n this._addAriaAndCollapsedClass(n Collapse._getTargetFromElement(element),n [element]n )n })nn return parentn }nn _addAriaAndCollapsedClass(element, triggerArray) {n if (element) {n const isOpen = $(element).hasClass(ClassName.SHOW)nn if (triggerArray.length > 0) {n $(triggerArray)n .toggleClass(ClassName.COLLAPSED, !isOpen)n .attr(‘aria-expanded’, isOpen)n }n }n }nn // Staticnn static _getTargetFromElement(element) {n const selector = Util.getSelectorFromElement(element)n return selector ? $(selector)[0] : nulln }nn static _jQueryInterface(config) {n return this.each(function () {n const $this = $(this)n let data = $this.data(DATA_KEY)n const _config = {n …Default,n …$this.data(),n …typeof config === ‘object’ && confign }nn if (!data && _config.toggle && /show|hide/.test(config)) {n _config.toggle = falsen }nn if (!data) {n data = new Collapse(this, _config)n $this.data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }n }nn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {n // preventDefault only for elements (which change the URL) not inside the collapsible elementn if (event.currentTarget.tagName === ‘A’) {n event.preventDefault()n }nn const $trigger = $(this)n const selector = Util.getSelectorFromElement(this)n $(selector).each(function () {n const $target = $(this)n const data = $target.data(DATA_KEY)n const config = data ? ‘toggle’ : $trigger.data()n Collapse._jQueryInterface.call($target, config)n })n })nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn[NAME] = Collapse._jQueryInterfacen $.fn[NAME].Constructor = Collapsen $.fn[NAME].noConflict = function () {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Collapse._jQueryInterfacen }nn return Collapsen})($)nnexport default Collapsen”,“import $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): modal.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Modal = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘modal’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.modal’n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = ‘.data-api’n const JQUERY_NO_CONFLICT = $.fn[NAME]n const TRANSITION_DURATION = 300n const BACKDROP_TRANSITION_DURATION = 150n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) keynn const Default = {n backdrop : true,n keyboard : true,n focus : true,n show : truen }nn const DefaultType = {n backdrop : ‘(boolean|string)’,n keyboard : ‘boolean’,n focus : ‘boolean’,n show : ‘boolean’n }nn const Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n FOCUSIN : `focusin${EVENT_KEY}`,n RESIZE : `resize${EVENT_KEY}`,n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`n }nn const ClassName = {n SCROLLBAR_MEASURER : ‘modal-scrollbar-measure’,n BACKDROP : ‘modal-backdrop’,n OPEN : ‘modal-open’,n FADE : ‘fade’,n SHOW : ‘show’n }nn const Selector = {n DIALOG : ‘.modal-dialog’,n DATA_TOGGLE : ‘[data-toggle="modal"]’,n DATA_DISMISS : ‘[data-dismiss="modal"]’,n FIXED_CONTENT : ‘.fixed-top, .fixed-bottom, .is-fixed, .sticky-top’,n STICKY_CONTENT : ‘.sticky-top’,n NAVBAR_TOGGLER : ‘.navbar-toggler’n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Modal {n constructor(element, config) {n this._config = this._getConfig(config)n this._element = elementn this._dialog = $(element).find(Selector.DIALOG)[0]n this._backdrop = nulln this._isShown = falsen this._isBodyOverflowing = falsen this._ignoreBackdropClick = falsen this._originalBodyPadding = 0n this._scrollbarWidth = 0n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn toggle(relatedTarget) {n return this._isShown ? this.hide() : this.show(relatedTarget)n }nn show(relatedTarget) {n if (this._isTransitioning || this._isShown) {n returnn }nn if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {n this._isTransitioning = truen }nn const showEvent = $.Event(Event.SHOW, {n relatedTargetn })nn $(this._element).trigger(showEvent)nn if (this._isShown || showEvent.isDefaultPrevented()) {n returnn }nn this._isShown = truenn this._checkScrollbar()n this._setScrollbar()nn this._adjustDialog()nn $(document.body).addClass(ClassName.OPEN)nn this._setEscapeEvent()n this._setResizeEvent()nn $(this._element).on(n Event.CLICK_DISMISS,n Selector.DATA_DISMISS,n (event) => this.hide(event)n )nn $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {n if ($(event.target).is(this._element)) {n this._ignoreBackdropClick = truen }n })n })nn this._showBackdrop(() => this._showElement(relatedTarget))n }nn hide(event) {n if (event) {n event.preventDefault()n }nn if (this._isTransitioning || !this._isShown) {n returnn }nn const hideEvent = $.Event(Event.HIDE)nn $(this._element).trigger(hideEvent)nn if (!this._isShown || hideEvent.isDefaultPrevented()) {n returnn }nn this._isShown = falsenn const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)nn if (transition) {n this._isTransitioning = truen }nn this._setEscapeEvent()n this._setResizeEvent()nn $(document).off(Event.FOCUSIN)nn $(this._element).removeClass(ClassName.SHOW)nn $(this._element).off(Event.CLICK_DISMISS)n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)nn if (transition) {n $(this._element)n .one(Util.TRANSITION_END, (event) => this._hideModal(event))n .emulateTransitionEnd(TRANSITION_DURATION)n } else {n this._hideModal()n }n }nn dispose() {n $.removeData(this._element, DATA_KEY)nn $(window, document, this._element, this._backdrop).off(EVENT_KEY)nn this._config = nulln this._element = nulln this._dialog = nulln this._backdrop = nulln this._isShown = nulln this._isBodyOverflowing = nulln this._ignoreBackdropClick = nulln this._scrollbarWidth = nulln }nn handleUpdate() {n this._adjustDialog()n }nn // Privatenn _getConfig(config) {n config = {n …Default,n …confign }n Util.typeCheckConfig(NAME, config, DefaultType)n return confign }nn _showElement(relatedTarget) {n const transition = Util.supportsTransitionEnd() &&n $(this._element).hasClass(ClassName.FADE)nn if (!this._element.parentNode ||n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {n // Don’t move modal’s DOM positionn document.body.appendChild(this._element)n }nn this._element.style.display = ‘block’n this._element.removeAttribute(‘aria-hidden’)n this._element.scrollTop = 0nn if (transition) {n Util.reflow(this._element)n }nn $(this._element).addClass(ClassName.SHOW)nn if (this._config.focus) {n this._enforceFocus()n }nn const shownEvent = $.Event(Event.SHOWN, {n relatedTargetn })nn const transitionComplete = () => {n if (this._config.focus) {n this._element.focus()n }n this._isTransitioning = falsen $(this._element).trigger(shownEvent)n }nn if (transition) {n $(this._dialog)n .one(Util.TRANSITION_END, transitionComplete)n .emulateTransitionEnd(TRANSITION_DURATION)n } else {n transitionComplete()n }n }nn _enforceFocus() {n $(document)n .off(Event.FOCUSIN) // Guard against infinite focus loopn .on(Event.FOCUSIN, (event) => {n if (document !== event.target &&n this._element !== event.target &&n $(this._element).has(event.target).length === 0) {n this._element.focus()n }n })n }nn _setEscapeEvent() {n if (this._isShown && this._config.keyboard) {n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {n if (event.which === ESCAPE_KEYCODE) {n event.preventDefault()n this.hide()n }n })n } else if (!this._isShown) {n $(this._element).off(Event.KEYDOWN_DISMISS)n }n }nn _setResizeEvent() {n if (this._isShown) {n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))n } else {n $(window).off(Event.RESIZE)n }n }nn _hideModal() {n this._element.style.display = ‘none’n this._element.setAttribute(‘aria-hidden’, true)n this._isTransitioning = falsen this._showBackdrop(() => {n $(document.body).removeClass(ClassName.OPEN)n this._resetAdjustments()n this._resetScrollbar()n $(this._element).trigger(Event.HIDDEN)n })n }nn _removeBackdrop() {n if (this._backdrop) {n $(this._backdrop).remove()n this._backdrop = nulln }n }nn _showBackdrop(callback) {n const animate = $(this._element).hasClass(ClassName.FADE)n ? ClassName.FADE : ”nn if (this._isShown && this._config.backdrop) {n const doAnimate = Util.supportsTransitionEnd() && animatenn this._backdrop = document.createElement(‘div’)n this._backdrop.className = ClassName.BACKDROPnn if (animate) {n $(this._backdrop).addClass(animate)n }nn $(this._backdrop).appendTo(document.body)nn $(this._element).on(Event.CLICK_DISMISS, (event) => {n if (this._ignoreBackdropClick) {n this._ignoreBackdropClick = falsen returnn }n if (event.target !== event.currentTarget) {n returnn }n if (this._config.backdrop === ‘static’) {n this._element.focus()n } else {n this.hide()n }n })nn if (doAnimate) {n Util.reflow(this._backdrop)n }nn $(this._backdrop).addClass(ClassName.SHOW)nn if (!callback) {n returnn }nn if (!doAnimate) {n callback()n returnn }nn $(this._backdrop)n .one(Util.TRANSITION_END, callback)n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)n } else if (!this._isShown && this._backdrop) {n $(this._backdrop).removeClass(ClassName.SHOW)nn const callbackRemove = () => {n this._removeBackdrop()n if (callback) {n callback()n }n }nn if (Util.supportsTransitionEnd() &&n $(this._element).hasClass(ClassName.FADE)) {n $(this._backdrop)n .one(Util.TRANSITION_END, callbackRemove)n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)n } else {n callbackRemove()n }n } else if (callback) {n callback()n }n }nn // ———————————————————————-n // the following methods are used to handle overflowing modalsn // todo (fat): these should probably be refactored out of modal.jsn // ———————————————————————-nn _adjustDialog() {n const isModalOverflowing =n this._element.scrollHeight > document.documentElement.clientHeightnn if (!this._isBodyOverflowing && isModalOverflowing) {n this._element.style.paddingLeft = `${this._scrollbarWidth}px`n }nn if (this._isBodyOverflowing && !isModalOverflowing) {n this._element.style.paddingRight = `${this._scrollbarWidth}px`n }n }nn _resetAdjustments() {n this._element.style.paddingLeft = ”n this._element.style.paddingRight = ”n }nn _checkScrollbar() {n const rect = document.body.getBoundingClientRect()n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {n const actualPadding = $(element)[0].style.paddingRightn const calculatedPadding = $(element).css(‘padding-right’)n $(element).data(‘padding-right’, actualPadding).css(‘padding-right’, `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)n })nn // Adjust sticky content marginn $(Selector.STICKY_CONTENT).each((index, element) => {n const actualMargin = $(element)[0].style.marginRightn const calculatedMargin = $(element).css(‘margin-right’)n $(element).data(‘margin-right’, actualMargin).css(‘margin-right’, `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)n })nn // Adjust navbar-toggler marginn $(Selector.NAVBAR_TOGGLER).each((index, element) => {n const actualMargin = $(element)[0].style.marginRightn const calculatedMargin = $(element).css(‘margin-right’)n $(element).data(‘margin-right’, actualMargin).css(‘margin-right’, `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)n })nn // Adjust body paddingn const actualPadding = document.body.style.paddingRightn const calculatedPadding = $(‘body’).css(‘padding-right’)n $(‘body’).data(‘padding-right’, actualPadding).css(‘padding-right’, `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)n }n }nn _resetScrollbar() {n // Restore fixed content paddingn $(Selector.FIXED_CONTENT).each((index, element) => {n const padding = $(element).data(‘padding-right’)n if (typeof padding !== ‘undefined’) {n $(element).css(‘padding-right’, padding).removeData(‘padding-right’)n }n })nn // Restore sticky content and navbar-toggler marginn $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {n const margin = $(element).data(‘margin-right’)n if (typeof margin !== ‘undefined’) {n $(element).css(‘margin-right’, margin).removeData(‘margin-right’)n }n })nn // Restore body paddingn const padding = $(‘body’).data(‘padding-right’)n if (typeof padding !== ‘undefined’) {n $(‘body’).css(‘padding-right’, padding).removeData(‘padding-right’)n }n }nn _getScrollbarWidth() { // thx d.walshn const scrollDiv = document.createElement(‘div’)n scrollDiv.className = ClassName.SCROLLBAR_MEASURERn document.body.appendChild(scrollDiv)n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidthn document.body.removeChild(scrollDiv)n return scrollbarWidthn }nn // Staticnn static _jQueryInterface(config, relatedTarget) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = {n …Modal.Default,n …$(this).data(),n …typeof config === ‘object’ && confign }nn if (!data) {n data = new Modal(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config](relatedTarget)n } else if (_config.show) {n data.show(relatedTarget)n }n })n }n }nn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {n let targetn const selector = Util.getSelectorFromElement(this)nn if (selector) {n target = $(selector)[0]n }nn const config = $(target).data(DATA_KEY)n ? ‘toggle’ : {n …$(target).data(),n …$(this).data()n }nn if (this.tagName === ‘A’ || this.tagName === ‘AREA’) {n event.preventDefault()n }nn const $target = $(target).one(Event.SHOW, (showEvent) => {n if (showEvent.isDefaultPrevented()) {n // Only register focus restorer if modal will actually get shownn returnn }nn $target.one(Event.HIDDEN, () => {n if ($(this).is(‘:visible’)) {n this.focus()n }n })n })nn Modal._jQueryInterface.call($(target), config, this)n })nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn[NAME] = Modal._jQueryInterfacen $.fn[NAME].Constructor = Modaln $.fn[NAME].noConflict = function () {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Modal._jQueryInterfacen }nn return Modaln})($)nnexport default Modaln”,“import $ from ‘jquery’nimport Popper from ‘popper.js’nimport Util from ‘./util’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): tooltip.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Tooltip = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘tooltip’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.tooltip’n const EVENT_KEY = `.${DATA_KEY}`n const JQUERY_NO_CONFLICT = $.fn[NAME]n const TRANSITION_DURATION = 150n const CLASS_PREFIX = ‘bs-tooltip’n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, ‘g’)nn const DefaultType = {n animation : ‘boolean’,n template : ‘string’,n title : ‘(string|element|function)’,n trigger : ‘string’,n delay : ‘(number|object)’,n html : ‘boolean’,n selector : ‘(string|boolean)’,n placement : ‘(string|function)’,n offset : ‘(number|string)’,n container : ‘(string|element|boolean)’,n fallbackPlacement : ‘(string|array)’,n boundary : ‘(string|element)’n }nn const AttachmentMap = {n AUTO : ‘auto’,n TOP : ‘top’,n RIGHT : ‘right’,n BOTTOM : ‘bottom’,n LEFT : ‘left’n }nn const Default = {n animation : true,n template : ‘’,n trigger : ‘hover focus’,n title : ”,n delay : 0,n html : false,n selector : false,n placement : ‘top’,n offset : 0,n container : false,n fallbackPlacement : ‘flip’,n boundary : ‘scrollParent’n }nn const HoverState = {n SHOW : ‘show’,n OUT : ‘out’n }nn const Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n INSERTED : `inserted${EVENT_KEY}`,n CLICK : `click${EVENT_KEY}`,n FOCUSIN : `focusin${EVENT_KEY}`,n FOCUSOUT : `focusout${EVENT_KEY}`,n MOUSEENTER : `mouseenter${EVENT_KEY}`,n MOUSELEAVE : `mouseleave${EVENT_KEY}`n }nn const ClassName = {n FADE : ‘fade’,n SHOW : ‘show’n }nn const Selector = {n TOOLTIP : ‘.tooltip’,n TOOLTIP_INNER : ‘.tooltip-inner’,n ARROW : ‘.arrow’n }nn const Trigger = {n HOVER : ‘hover’,n FOCUS : ‘focus’,n CLICK : ‘click’,n MANUAL : ‘manual’n }nnn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Tooltip {n constructor(element, config) {n /**n * Check for Popper dependencyn * Popper - https://popper.js.orgn */n if (typeof Popper === ‘undefined’) {n throw new TypeError(‘Bootstrap tooltips require Popper.js (https://popper.js.org)’)n }nn // privaten this._isEnabled = truen this._timeout = 0n this._hoverState = ”n this._activeTrigger = {}n this._popper = nullnn // Protectedn this.element = elementn this.config = this._getConfig(config)n this.tip = nullnn this._setListeners()n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn static get NAME() {n return NAMEn }nn static get DATA_KEY() {n return DATA_KEYn }nn static get Event() {n return Eventn }nn static get EVENT_KEY() {n return EVENT_KEYn }nn static get DefaultType() {n return DefaultTypen }nn // Publicnn enable() {n this._isEnabled = truen }nn disable() {n this._isEnabled = falsen }nn toggleEnabled() {n this._isEnabled = !this._isEnabledn }nn toggle(event) {n if (!this._isEnabled) {n returnn }nn if (event) {n const dataKey = this.constructor.DATA_KEYn let context = $(event.currentTarget).data(dataKey)nn if (!context) {n context = new this.constructor(n event.currentTarget,n this._getDelegateConfig()n )n $(event.currentTarget).data(dataKey, context)n }nn context._activeTrigger.click = !context._activeTrigger.clicknn if (context._isWithActiveTrigger()) {n context._enter(null, context)n } else {n context._leave(null, context)n }n } else {n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {n this._leave(null, this)n returnn }nn this._enter(null, this)n }n }nn dispose() {n clearTimeout(this._timeout)nn $.removeData(this.element, this.constructor.DATA_KEY)nn $(this.element).off(this.constructor.EVENT_KEY)n $(this.element).closest(‘.modal’).off(‘hide.bs.modal’)nn if (this.tip) {n $(this.tip).remove()n }nn this._isEnabled = nulln this._timeout = nulln this._hoverState = nulln this._activeTrigger = nulln if (this._popper !== null) {n this._popper.destroy()n }nn this._popper = nulln this.element = nulln this.config = nulln this.tip = nulln }nn show() {n if ($(this.element).css(‘display’) === ‘none’) {n throw new Error(‘Please use show on visible elements’)n }nn const showEvent = $.Event(this.constructor.Event.SHOW)n if (this.isWithContent() && this._isEnabled) {n $(this.element).trigger(showEvent)nn const isInTheDom = $.contains(n this.element.ownerDocument.documentElement,n this.elementn )nn if (showEvent.isDefaultPrevented() || !isInTheDom) {n returnn }nn const tip = this.getTipElement()n const tipId = Util.getUID(this.constructor.NAME)nn tip.setAttribute(‘id’, tipId)n this.element.setAttribute(‘aria-describedby’, tipId)nn this.setContent()nn if (this.config.animation) {n $(tip).addClass(ClassName.FADE)n }nn const placement = typeof this.config.placement === ‘function’n ? this.config.placement.call(this, tip, this.element)n : this.config.placementnn const attachment = this._getAttachment(placement)n this.addAttachmentClass(attachment)nn const container = this.config.container === false ? document.body : $(this.config.container)nn $(tip).data(this.constructor.DATA_KEY, this)nn if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {n $(tip).appendTo(container)n }nn $(this.element).trigger(this.constructor.Event.INSERTED)nn this._popper = new Popper(this.element, tip, {n placement: attachment,n modifiers: {n offset: {n offset: this.config.offsetn },n flip: {n behavior: this.config.fallbackPlacementn },n arrow: {n element: Selector.ARROWn },n preventOverflow: {n boundariesElement: this.config.boundaryn }n },n onCreate: (data) => {n if (data.originalPlacement !== data.placement) {n this._handlePopperPlacementChange(data)n }n },n onUpdate: (data) => {n this._handlePopperPlacementChange(data)n }n })nn $(tip).addClass(ClassName.SHOW)nn // If this is a touch-enabled device we add extran // empty mouseover listeners to the body’s immediate children;n // only needed because of broken event delegation on iOSn // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.htmln if (‘ontouchstart’ in document.documentElement) {n $(‘body’).children().on(‘mouseover’, null, $.noop)n }nn const complete = () => {n if (this.config.animation) {n this._fixTransition()n }n const prevHoverState = this._hoverStaten this._hoverState = nullnn $(this.element).trigger(this.constructor.Event.SHOWN)nn if (prevHoverState === HoverState.OUT) {n this._leave(null, this)n }n }nn if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {n $(this.tip)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)n } else {n complete()n }n }n }nn hide(callback) {n const tip = this.getTipElement()n const hideEvent = $.Event(this.constructor.Event.HIDE)n const complete = () => {n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {n tip.parentNode.removeChild(tip)n }nn this._cleanTipClass()n this.element.removeAttribute(‘aria-describedby’)n $(this.element).trigger(this.constructor.Event.HIDDEN)n if (this._popper !== null) {n this._popper.destroy()n }nn if (callback) {n callback()n }n }nn $(this.element).trigger(hideEvent)nn if (hideEvent.isDefaultPrevented()) {n returnn }nn $(tip).removeClass(ClassName.SHOW)nn // If this is a touch-enabled device we remove the extran // empty mouseover listeners we added for iOS supportn if (‘ontouchstart’ in document.documentElement) {n $(‘body’).children().off(‘mouseover’, null, $.noop)n }nn this._activeTrigger[Trigger.CLICK] = falsen this._activeTrigger[Trigger.FOCUS] = falsen this._activeTrigger[Trigger.HOVER] = falsenn if (Util.supportsTransitionEnd() &&n $(this.tip).hasClass(ClassName.FADE)) {n $(tip)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(TRANSITION_DURATION)n } else {n complete()n }nn this._hoverState = ”n }nn update() {n if (this._popper !== null) {n this._popper.scheduleUpdate()n }n }nn // Protectednn isWithContent() {n return Boolean(this.getTitle())n }nn addAttachmentClass(attachment) {n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)n }nn getTipElement() {n this.tip = this.tip || $(this.config.template)[0]n return this.tipn }nn setContent() {n const $tip = $(this.getTipElement())n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)n }nn setElementContent($element, content) {n const html = this.config.htmln if (typeof content === ‘object’ && (content.nodeType || content.jquery)) {n // Content is a DOM node or a jQueryn if (html) {n if (!$(content).parent().is($element)) {n $element.empty().append(content)n }n } else {n $element.text($(content).text())n }n } else {n $element[html ? ‘html’ : ‘text’](content)n }n }nn getTitle() {n let title = this.element.getAttribute(‘data-original-title’)nn if (!title) {n title = typeof this.config.title === ‘function’n ? this.config.title.call(this.element)n : this.config.titlen }nn return titlen }nn // Privatenn _getAttachment(placement) {n return AttachmentMap[placement.toUpperCase()]n }nn _setListeners() {n const triggers = this.config.trigger.split(‘ ’)nn triggers.forEach((trigger) => {n if (trigger === ‘click’) {n $(this.element).on(n this.constructor.Event.CLICK,n this.config.selector,n (event) => this.toggle(event)n )n } else if (trigger !== Trigger.MANUAL) {n const eventIn = trigger === Trigger.HOVERn ? this.constructor.Event.MOUSEENTERn : this.constructor.Event.FOCUSINn const eventOut = trigger === Trigger.HOVERn ? this.constructor.Event.MOUSELEAVEn : this.constructor.Event.FOCUSOUTnn $(this.element)n .on(n eventIn,n this.config.selector,n (event) => this._enter(event)n )n .on(n eventOut,n this.config.selector,n (event) => this._leave(event)n )n }nn $(this.element).closest(‘.modal’).on(n ‘hide.bs.modal’,n () => this.hide()n )n })nn if (this.config.selector) {n this.config = {n …this.config,n trigger: ‘manual’,n selector: ”n }n } else {n this._fixTitle()n }n }nn _fixTitle() {n const titleType = typeof this.element.getAttribute(‘data-original-title’)n if (this.element.getAttribute(‘title’) ||n titleType !== ‘string’) {n this.element.setAttribute(n ‘data-original-title’,n this.element.getAttribute(‘title’) || ”n )n this.element.setAttribute(‘title’, ”)n }n }nn _enter(event, context) {n const dataKey = this.constructor.DATA_KEYnn context = context || $(event.currentTarget).data(dataKey)nn if (!context) {n context = new this.constructor(n event.currentTarget,n this._getDelegateConfig()n )n $(event.currentTarget).data(dataKey, context)n }nn if (event) {n context._activeTrigger[n event.type === ‘focusin’ ? Trigger.FOCUS : Trigger.HOVERn ] = truen }nn if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||n context._hoverState === HoverState.SHOW) {n context._hoverState = HoverState.SHOWn returnn }nn clearTimeout(context._timeout)nn context._hoverState = HoverState.SHOWnn if (!context.config.delay || !context.config.delay.show) {n context.show()n returnn }nn context._timeout = setTimeout(() => {n if (context._hoverState === HoverState.SHOW) {n context.show()n }n }, context.config.delay.show)n }nn _leave(event, context) {n const dataKey = this.constructor.DATA_KEYnn context = context || $(event.currentTarget).data(dataKey)nn if (!context) {n context = new this.constructor(n event.currentTarget,n this._getDelegateConfig()n )n $(event.currentTarget).data(dataKey, context)n }nn if (event) {n context._activeTrigger[n event.type === ‘focusout’ ? Trigger.FOCUS : Trigger.HOVERn ] = falsen }nn if (context._isWithActiveTrigger()) {n returnn }nn clearTimeout(context._timeout)nn context._hoverState = HoverState.OUTnn if (!context.config.delay || !context.config.delay.hide) {n context.hide()n returnn }nn context._timeout = setTimeout(() => {n if (context._hoverState === HoverState.OUT) {n context.hide()n }n }, context.config.delay.hide)n }nn _isWithActiveTrigger() {n for (const trigger in this._activeTrigger) {n if (this._activeTrigger[trigger]) {n return truen }n }nn return falsen }nn _getConfig(config) {n config = {n …this.constructor.Default,n …$(this.element).data(),n …confign }nn if (typeof config.delay === ‘number’) {n config.delay = {n show: config.delay,n hide: config.delayn }n }nn if (typeof config.title === ‘number’) {n config.title = config.title.toString()n }nn if (typeof config.content === ‘number’) {n config.content = config.content.toString()n }nn Util.typeCheckConfig(n NAME,n config,n this.constructor.DefaultTypen )nn return confign }nn _getDelegateConfig() {n const config = {}nn if (this.config) {n for (const key in this.config) {n if (this.constructor.Default[key] !== this.config[key]) {n config[key] = this.config[key]n }n }n }nn return confign }nn _cleanTipClass() {n const $tip = $(this.getTipElement())n const tabClass = $tip.attr(‘class’).match(BSCLS_PREFIX_REGEX)n if (tabClass !== null && tabClass.length > 0) {n $tip.removeClass(tabClass.join(”))n }n }nn _handlePopperPlacementChange(data) {n this._cleanTipClass()n this.addAttachmentClass(this._getAttachment(data.placement))n }nn _fixTransition() {n const tip = this.getTipElement()n const initConfigAnimation = this.config.animationn if (tip.getAttribute(‘x-placement’) !== null) {n returnn }n $(tip).removeClass(ClassName.FADE)n this.config.animation = falsen this.hide()n this.show()n this.config.animation = initConfigAnimationn }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === ‘object’ && confignn if (!data && /dispose|hide/.test(config)) {n returnn }nn if (!data) {n data = new Tooltip(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn[NAME] = Tooltip._jQueryInterfacen $.fn[NAME].Constructor = Tooltipn $.fn[NAME].noConflict = function () {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Tooltip._jQueryInterfacen }nn return Tooltipn})($, Popper)nnexport default Tooltipn”,“import $ from ‘jquery’nimport Tooltip from ‘./tooltip’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): popover.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Popover = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘popover’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.popover’n const EVENT_KEY = `.${DATA_KEY}`n const JQUERY_NO_CONFLICT = $.fn[NAME]n const CLASS_PREFIX = ‘bs-popover’n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, ‘g’)nn const Default = {n …Tooltip.Default,n placement : ‘right’,n trigger : ‘click’,n content : ”,n template : ‘’n }nn const DefaultType = {n …Tooltip.DefaultType,n content : ‘(string|element|function)’n }nn const ClassName = {n FADE : ‘fade’,n SHOW : ‘show’n }nn const Selector = {n TITLE : ‘.popover-header’,n CONTENT : ‘.popover-body’n }nn const Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n INSERTED : `inserted${EVENT_KEY}`,n CLICK : `click${EVENT_KEY}`,n FOCUSIN : `focusin${EVENT_KEY}`,n FOCUSOUT : `focusout${EVENT_KEY}`,n MOUSEENTER : `mouseenter${EVENT_KEY}`,n MOUSELEAVE : `mouseleave${EVENT_KEY}`n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Popover extends Tooltip {n // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn static get NAME() {n return NAMEn }nn static get DATA_KEY() {n return DATA_KEYn }nn static get Event() {n return Eventn }nn static get EVENT_KEY() {n return EVENT_KEYn }nn static get DefaultType() {n return DefaultTypen }nn // Overridesnn isWithContent() {n return this.getTitle() || this._getContent()n }nn addAttachmentClass(attachment) {n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)n }nn getTipElement() {n this.tip = this.tip || $(this.config.template)[0]n return this.tipn }nn setContent() {n const $tip = $(this.getTipElement())nn // We use append for html objects to maintain js eventsn this.setElementContent($tip.find(Selector.TITLE), this.getTitle())n let content = this._getContent()n if (typeof content === ‘function’) {n content = content.call(this.element)n }n this.setElementContent($tip.find(Selector.CONTENT), content)nn $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)n }nn // Privatenn _getContent() {n return this.element.getAttribute(‘data-content’) ||n this.config.contentn }nn _cleanTipClass() {n const $tip = $(this.getTipElement())n const tabClass = $tip.attr(‘class’).match(BSCLS_PREFIX_REGEX)n if (tabClass !== null && tabClass.length > 0) {n $tip.removeClass(tabClass.join(”))n }n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === ‘object’ ? config : nullnn if (!data && /destroy|hide/.test(config)) {n returnn }nn if (!data) {n data = new Popover(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn[NAME] = Popover._jQueryInterfacen $.fn[NAME].Constructor = Popovern $.fn[NAME].noConflict = function () {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Popover._jQueryInterfacen }nn return Popovern})($)nnexport default Popovern”,“import $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): scrollspy.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst ScrollSpy = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = ‘scrollspy’n const VERSION = ‘4.0.0’n const DATA_KEY = ‘bs.scrollspy’n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = ‘.data-api’n const JQUERY_NO_CONFLICT = $.fn[NAME]nn const Default = {n offset : 10,n method : ‘auto’,n target : ”n }nn const DefaultType = {n offset : ‘number’,n method : ‘string’,n target : ‘(string|element)’n }nn const Event = {n ACTIVATE : `activate${EVENT_KEY}`,n SCROLL : `scroll${EVENT_KEY}`,n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`n }nn const ClassName = {n DROPDOWN_ITEM : ‘dropdown-item’,n DROPDOWN_MENU : ‘dropdown-menu’,n ACTIVE : ‘active’n }nn const Selector = {n DATA_SPY : ‘[data-spy="scroll"]’,n ACTIVE : ‘.active’,n NAV_LIST_GROUP : ‘.nav, .list-group’,n NAV_LINKS : ‘.nav-link’,n NAV_ITEMS : ‘.nav-item’,n LIST_ITEMS : ‘.list-group-item’,n DROPDOWN : ‘.dropdown’,n DROPDOWN_ITEMS : ‘.dropdown-item’,n DROPDOWN_TOGGLE : ‘.dropdown-toggle’n }nn const OffsetMethod = {n OFFSET : ‘offset’,n POSITION : ‘position’n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class ScrollSpy {n constructor(element, config) {n this._element = elementn this._scrollElement = element.tagName === ‘BODY’ ? window : elementn this._config = this._getConfig(config)n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +n `${this._config.target} ${Selector.LIST_ITEMS},` +n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`n this._offsets = []n this._targets = []n this._activeTarget = nulln this._scrollHeight = 0nn $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))nn this.refresh()n this._process()n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn refresh() {n const autoMethod = this._scrollElement === this._scrollElement.windown ? OffsetMethod.OFFSET : OffsetMethod.POSITIONnn const offsetMethod = this._config.method === ‘auto’n ? autoMethod : this._config.methodnn const offsetBase = offsetMethod === OffsetMethod.POSITIONn ? this._getScrollTop() : 0nn this._offsets = []n this._targets = []nn this._scrollHeight = this._getScrollHeight()nn const targets = $.makeArray($(this._selector))nn targetsn .map((element) => {n let targetn const targetSelector = Util.getSelectorFromElement(element)nn if (targetSelector) {n target = $(targetSelector)[0]n }nn if (target) {n const targetBCR = target.getBoundingClientRect()n if (targetBCR.width || targetBCR.height) {n // TODO (fat): remove sketch reliance on jQuery position/offsetn return [n $(target)[offsetMethod]().top + offsetBase,n targetSelectorn ]n }n }n return nulln })n .filter((item) => item)n .sort((a, b) => a[0] - b[0])n .forEach((item) => {n this._offsets.push(item[0])n this._targets.push(item[1])n })n }nn dispose() {n $.removeData(this._element, DATA_KEY)n $(this._scrollElement).off(EVENT_KEY)nn this._element = nulln this._scrollElement = nulln this._config = nulln this._selector = nulln this._offsets = nulln this._targets = nulln this._activeTarget = nulln this._scrollHeight = nulln }nn // Privatenn _getConfig(config) {n config = {n …Default,n …confign }nn if (typeof config.target !== ‘string’) {n let id = $(config.target).attr(‘id’)n if (!id) {n id = Util.getUID(NAME)n $(config.target).attr(‘id’, id)n }n config.target = `#${id}`n }nn Util.typeCheckConfig(NAME, config, DefaultType)nn return confign }nn _getScrollTop() {n return this._scrollElement === windown ? this._scrollElement.pageYOffset : this._scrollElement.scrollTopn }nn _getScrollHeight() {n return this._scrollElement.scrollHeight || Math.max(n document.body.scrollHeight,n document.documentElement.scrollHeightn )n }nn _getOffsetHeight() {n return this._scrollElement === windown ? window.innerHeight : this._scrollElement.getBoundingClientRect().heightn }nn _process() {n const scrollTop = this._getScrollTop() + this._config.offsetn const scrollHeight = this._getScrollHeight()n const maxScroll = this._config.offset +n scrollHeight -n this._getOffsetHeight()nn if (this._scrollHeight !== scrollHeight) {n this.refresh()n }nn if (scrollTop >= maxScroll) {n const target = this._targets[this._targets.length - 1]nn if (this._activeTarget !== target) {n this._activate(target)n }n returnn }nn if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {n this._activeTarget = nulln this._clear()n returnn }nn for (let i = this._offsets.length; i–;) {n const isActiveTarget = this._activeTarget !== this._targets[i] &&n scrollTop >= this._offsets[i] &&n (typeof this._offsets[i + 1] === ‘undefined’ ||n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {n return `${selector,` +n `$selector`n })nn const $link = $(queries.join(','))nn if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)n $link.addClass(ClassName.ACTIVE)n } else {n // Set triggered link as activen $link.addClass(ClassName.ACTIVE)n // Set triggered links parents as activen // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestorn $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)n // Handle special case when .nav-link is inside .nav-itemn $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)n }nn $(this._scrollElement).trigger(Event.ACTIVATE, {n relatedTarget: targetn })n }nn _clear() {n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === 'object' && confignn if (!data) {n data = new ScrollSpy(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (typeof data === 'undefined') {n throw new TypeError(`No method named "${config}"`)n }n data()n }n })n }n }nn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(window).on(Event.LOAD_DATA_API, () => {n const scrollSpys = $.makeArray($(Selector.DATA_SPY))nn for (let i = scrollSpys.length; i–;) {n const $spy = $(scrollSpys)n ScrollSpy._jQueryInterface.call($spy, $spy.data())n }n })nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn = ScrollSpy._jQueryInterfacen $.fn.Constructor = ScrollSpyn $.fn.noConflict = function () {n $.fn = JQUERY_NO_CONFLICTn return ScrollSpy._jQueryInterfacen }nn return ScrollSpyn})($)nnexport default ScrollSpyn”,“import $ from 'jquery'nimport Util from './util'nn/**n * ————————————————————————–n * Bootstrap (v4.0.0): tab.jsn * Licensed under MIT (github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Tab = (($) => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = 'tab'n const VERSION = '4.0.0'n const DATA_KEY = 'bs.tab'n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = '.data-api'n const JQUERY_NO_CONFLICT = $.fnn const TRANSITION_DURATION = 150nn const Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`n }nn const ClassName = {n DROPDOWN_MENU : 'dropdown-menu',n ACTIVE : 'active',n DISABLED : 'disabled',n FADE : 'fade',n SHOW : 'show'n }nn const Selector = {n DROPDOWN : '.dropdown',n NAV_LIST_GROUP : '.nav, .list-group',n ACTIVE : '.active',n ACTIVE_UL : '> li > .active',n DATA_TOGGLE : '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',n DROPDOWN_TOGGLE : '.dropdown-toggle',n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'n }nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Tab {n constructor(element) {n this._element = elementn }nn // Gettersnn static get VERSION() {n return VERSIONn }nn // Publicnn show() {n if (this._element.parentNode &&n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&n $(this._element).hasClass(ClassName.ACTIVE) ||n $(this._element).hasClass(ClassName.DISABLED)) {n returnn }nn let targetn let previousn const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)n const selector = Util.getSelectorFromElement(this._element)nn if (listElement) {n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVEn previous = $.makeArray($(listElement).find(itemSelector))n previous = previous[previous.length - 1]n }nn const hideEvent = $.Event(Event.HIDE, {n relatedTarget: this._elementn })nn const showEvent = $.Event(Event.SHOW, {n relatedTarget: previousn })nn if (previous) {n $(previous).trigger(hideEvent)n }nn $(this._element).trigger(showEvent)nn if (showEvent.isDefaultPrevented() ||n hideEvent.isDefaultPrevented()) {n returnn }nn if (selector) {n target = $(selector)n }nn this._activate(n this._element,n listElementn )nn const complete = () => {n const hiddenEvent = $.Event(Event.HIDDEN, {n relatedTarget: this._elementn })nn const shownEvent = $.Event(Event.SHOWN, {n relatedTarget: previousn })nn $(previous).trigger(hiddenEvent)n $(this._element).trigger(shownEvent)n }nn if (target) {n this._activate(target, target.parentNode, complete)n } else {n complete()n }n }nn dispose() {n $.removeData(this._element, DATA_KEY)n this._element = nulln }nn // Privatenn _activate(element, container, callback) {n let activeElementsn if (container.nodeName === 'UL') {n activeElements = $(container).find(Selector.ACTIVE_UL)n } else {n activeElements = $(container).children(Selector.ACTIVE)n }nn const active = activeElementsn const isTransitioning = callback &&n Util.supportsTransitionEnd() &&n (active && $(active).hasClass(ClassName.FADE))nn const complete = () => this._transitionComplete(n element,n active,n callbackn )nn if (active && isTransitioning) {n $(active)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(TRANSITION_DURATION)n } else {n complete()n }n }nn _transitionComplete(element, active, callback) {n if (active) {n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)nn const dropdownChild = $(active.parentNode).find(n Selector.DROPDOWN_ACTIVE_CHILDn )[0]nn if (dropdownChild) {n $(dropdownChild).removeClass(ClassName.ACTIVE)n }nn if (active.getAttribute('role') === 'tab') {n active.setAttribute('aria-selected', false)n }n }nn $(element).addClass(ClassName.ACTIVE)n if (element.getAttribute('role') === 'tab') {n element.setAttribute('aria-selected', true)n }nn Util.reflow(element)n $(element).addClass(ClassName.SHOW)nn if (element.parentNode &&n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {n const dropdownElement = $(element).closest(Selector.DROPDOWN)n if (dropdownElement) {n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)n }nn element.setAttribute('aria-expanded', true)n }nn if (callback) {n callback()n }n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n const $this = $(this)n let data = $this.data(DATA_KEY)nn if (!data) {n data = new Tab(this)n $this.data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (typeof data === 'undefined') {n throw new TypeError(`No method named "${config}"`)n }n data()n }n })n }n }nn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(document)n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {n event.preventDefault()n Tab._jQueryInterface.call($(this), 'show')n })nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn = Tab._jQueryInterfacen $.fn.Constructor = Tabn $.fn.noConflict = function () {n $.fn = JQUERY_NO_CONFLICTn return Tab._jQueryInterfacen }nn return Tabn})($)nnexport default Tabn”,“const Util = (() => {n /**n * ————————————————————————n * Private TransitionEnd Helpersn * ————————————————————————n */nn let transitionEnd = false;n let transitionEndSelector = "";nn const TransitionEndEvent = {n WebkitTransition: "webkitTransitionEnd",n MozTransition: "transitionend",n OTransition: "oTransitionEnd otransitionend",n transition: "transitionend"n };nn function transitionEndTest() {n if (window.QUnit) {n return false;n }nn let el = document.createElement("bmd");nn for (let name in TransitionEndEvent) {n if (el.style !== undefined) {n return TransitionEndEvent; // { end: TransitionEndEvent }n }n }nn return false;n }nn function setTransitionEndSupport() {n transitionEnd = transitionEndTest();nn // generate a concatenated transition end event selectorn for (let name in TransitionEndEvent) {n transitionEndSelector += ` ${TransitionEndEvent}`;n }n }nn /**n * ————————————————————————–n * Public Util Apin * ————————————————————————–n */nn let Util = {n transitionEndSupported() {n return transitionEnd;n },nn transitionEndSelector() {n return transitionEndSelector;n },nn isChar(event) {n if (typeof event.which === "undefined") {n return true;n } else if (typeof event.which === "number" && event.which > 0) {n return (n !event.ctrlKey &&n !event.metaKey &&n !event.altKey &&n event.which !== 8 && // backspacen event.which !== 9 && // tabn event.which !== 13 && // entern event.which !== 16 && // shiftn event.which !== 17 && // ctrln event.which !== 20 && // caps lockn event.which !== 27 // escapen );n }n return false;n },nn assert($element, invalidTest, message) {n if (invalidTest) {n if (!$element === undefined) {n $element.css("border", "1px solid red");n }n console.error(message, $element); // eslint-disable-line no-consolen throw message;n }n },nn describe($element) {n if ($element === undefined) {n return "undefined";n } else if ($element.length === 0) {n return "(no matching elements)";n }n return `${$element.outerHTML.split(">")}>`;n }n };nn setTransitionEndSupport();n return Util;n})(jQuery);nnexport default Util;n”,“import Util from "./util";nnconst Base = ($ => {n const ClassName = {n BMD_FORM_GROUP: "bmd-form-group",n IS_FILLED: "is-filled",n IS_FOCUSED: "is-focused"n };nn const Selector = {n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`n };nn const Default = {};nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Base {n /**n *n * @param elementn * @param confign * @param properties - anything that needs to be set as this = value. Works around the need to call `super` before using `this`n */n constructor($element, config, properties = {}) {n this.$element = $element;n this.config = $.extend(true, {}, Default, config);nn // set properties for use in the constructor initializationn for (let key in properties) {n this = properties;n }n }nn dispose(dataKey) {n this.$element.data(dataKey, null);n this.$element = null;n this.config = null;n }nn // ————————————————————————n // protectednn addFormGroupFocus() {n if (!this.$element.prop("disabled")) {n this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED);n }n }nn removeFormGroupFocus() {n this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED);n }nn removeIsFilled() {n this.$bmdFormGroup.removeClass(ClassName.IS_FILLED);n }nn addIsFilled() {n this.$bmdFormGroup.addClass(ClassName.IS_FILLED);n }nn // Find bmd-form-groupn findMdbFormGroup(raiseError = true) {n let mfg = this.$element.closest(Selector.BMD_FORM_GROUP);n if (mfg.length === 0 && raiseError) {n $.error(n `Failed to find ${Selector.BMD_FORM_GROUP} for ${Util.describe(n this.$elementn )}`n );n }n return mfg;n }nn // ————————————————————————n // privatenn // ————————————————————————n // staticn }nn return Base;n})(jQuery);nnexport default Base;n”,“import Base from "./base";nimport Util from "./util";nnconst BaseInput = ($ => {n const ClassName = {n FORM_GROUP: "form-group",n BMD_FORM_GROUP: "bmd-form-group",n BMD_LABEL: "bmd-label",n BMD_LABEL_STATIC: "bmd-label-static",n BMD_LABEL_PLACEHOLDER: "bmd-label-placeholder",n BMD_LABEL_FLOATING: "bmd-label-floating",n HAS_DANGER: "has-danger",n IS_FILLED: "is-filled",n IS_FOCUSED: "is-focused",n INPUT_GROUP: "input-group"n };nn const Selector = {n FORM_GROUP: `.${ClassName.FORM_GROUP}`,n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`,n BMD_LABEL_WILDCARD: `label, label[class*=' ${ClassName.BMD_LABEL}']` // match any label variant if specifiedn };nn const Default = {n validate: false,n formGroup: {n required: falsen },n bmdFormGroup: {n template: `<span class='${ClassName.BMD_FORM_GROUP}'></span>`,n create: true, // create a wrapper if form-group not foundn required: true // not recommended to turn this off, only used for inline componentsn },n label: {n required: false,nn // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markupn // - a function(thisComponent); orn // - a string selector used like $bmdFormGroup.find(selector)n //n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)n //n selectors: [n `.form-control-label`, // in the case of horizontal or inline forms, this will be markedn `> label` // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.n ],n className: ClassName.BMD_LABEL_STATICn },n requiredClasses: [],n invalidComponentMatches: [],n convertInputSizeVariations: truen };nn const FormControlSizeMarkers = {n "form-control-lg": "bmd-form-group-lg",n "form-control-sm": "bmd-form-group-sm"n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class BaseInput extends Base {n /**n *n * @param elementn * @param confign * @param properties - anything that needs to be set as this = value. Works around the need to call `super` before using `this`n */n constructor($element, config, properties = {}) {n super($element, $.extend(true, {}, Default, config), properties);nn // Enforce no overlap between components to prevent side effectsn this._rejectInvalidComponentMatches();nn // Enforce expected structure (if any)n this.rejectWithoutRequiredStructure();nn // Enforce required classes for a consistent renderingn this._rejectWithoutRequiredClasses();nn // Resolve the form-group first, it will be used for bmd-form-group if possiblen // note: different components have different rulesn this.$formGroup = this.findFormGroup(this.config.formGroup.required);nn // Will add bmd-form-group to form-group or create an bmd-form-groupn // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoidn // rendering changes once added.n this.$bmdFormGroup = this.resolveMdbFormGroup();nn // Resolve and mark the bmdLabel if necessary as defined by the confign this.$bmdLabel = this.resolveMdbLabel();nn // Signal to the bmd-form-group that a form-control-* variation is being usedn this.resolveMdbFormGroupSizing();nn this.addFocusListener();n this.addChangeListener();nn if (this.$element.val() != "") {n this.addIsFilled();n }n }nn dispose(dataKey) {n super.dispose(dataKey);n this.$bmdFormGroup = null;n this.$formGroup = null;n }nn // ————————————————————————n // protectednn rejectWithoutRequiredStructure() {n // implementn }nn addFocusListener() {n this.$elementn .on("focus", () => {n this.addFormGroupFocus();n })n .on("blur", () => {n this.removeFormGroupFocus();n });n }nn addChangeListener() {n this.$elementn .on("keydown paste", event => {n if (Util.isChar(event)) {n this.addIsFilled();n }n })n .on("keyup change", () => {n // make sure empty is added back when there is a programmatic value change.n // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')n if (this.isEmpty()) {n this.removeIsFilled();n } else {n this.addIsFilled();n }nn if (this.config.validate) {n // Validation events do not bubble, so they must be attached directly to the text: jsfiddle.net/PEpRM/1/n // Further, even the bind method is being caught, but since we are already calling checkValidity here, just altern // the form-group on change.n //n // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.n // BUT, I've left it here for backwards compatibility.n let isValid =n typeof this.$element.checkValidity === "undefined" ||n this.$element.checkValidity();n if (isValid) {n this.removeHasDanger();n } else {n this.addHasDanger();n }n }n });n }nn addHasDanger() {n this.$bmdFormGroup.addClass(ClassName.HAS_DANGER);n }nn removeHasDanger() {n this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER);n }nn isEmpty() {n return (n this.$element.val() === null ||n this.$element.val() === undefined ||n this.$element.val() === ""n );n }nn // Will add bmd-form-group to form-group or create a bmd-form-group if necessaryn resolveMdbFormGroup() {n let mfg = this.findMdbFormGroup(false);n if (mfg === undefined || mfg.length === 0) {n if (n this.config.bmdFormGroup.create &&n (this.$formGroup === undefined || this.$formGroup.length === 0)n ) {n // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).n // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.nn // this may be an input-group, wrap that insteadn if (this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)) {n this.outerElement()n .parent()n .wrap(this.config.bmdFormGroup.template);n } else {n this.outerElement().wrap(this.config.bmdFormGroup.template);n }n } else {n // a form-group does exist, add our marker class to itn this.$formGroup.addClass(ClassName.BMD_FORM_GROUP);nn // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferablen // A form-group does exist, so add an bmd-form-group wrapping it's internal contentsn //fg.wrapInner(this.config.bmdFormGroup.template)n }nn mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required);n }nn return mfg;n }nn // Demarcation element (e.g. first child of a form-group)n // Subclasses such as file inputs may have different structuresn outerElement() {n return this.$element;n }nn // Will add bmd-label to bmd-form-group if not already specifiedn resolveMdbLabel() {n let label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);n if (label === undefined || label.length === 0) {n // we need to find it based on the configured selectorsn label = this.findMdbLabel(this.config.label.required);nn if (label === undefined || label.length === 0) {n // no label found, and finder did not require onen } else {n // a candidate label was found, add the configured default class namen label.addClass(this.config.label.className);n }n }nn return label;n }nn // Find bmd-label variant based on the config selectorsn findMdbLabel(raiseError = true) {n let label = null;nn // use the specified selector ordern for (let selector of this.config.label.selectors) {n if ($.isFunction(selector)) {n label = selector(this);n } else {n label = this.$bmdFormGroup.find(selector);n }nn if (label !== undefined && label.length > 0) {n break;n }n }nn if (label.length === 0 && raiseError) {n $.error(n `Failed to find ${Selector.BMD_LABEL_WILDCARD} within form-group for ${Util.describe(n this.$elementn )}`n );n }n return label;n }nn // Find bmd-form-groupn findFormGroup(raiseError = true) {n let fg = this.$element.closest(Selector.FORM_GROUP);n if (fg.length === 0 && raiseError) {n $.error(n `Failed to find ${Selector.FORM_GROUP} for ${Util.describe(n this.$elementn )}`n );n }n return fg;n }nn // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based onn // a found form-control-* sizen resolveMdbFormGroupSizing() {n if (!this.config.convertInputSizeVariations) {n return;n }nn // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)n for (let inputSize in FormControlSizeMarkers) {n if (this.$element.hasClass(inputSize)) {n //this.$element.removeClass(inputSize)n this.$bmdFormGroup.addClass(FormControlSizeMarkers);n }n }n }nn // ————————————————————————n // privaten _rejectInvalidComponentMatches() {n for (let otherComponent of this.config.invalidComponentMatches) {n otherComponent.rejectMatch(this.constructor.name, this.$element);n }n }nn _rejectWithoutRequiredClasses() {n for (let requiredClass of this.config.requiredClasses) {n let found = false;n // allow one of several classes to be passed in x||yn if (requiredClass.indexOf("||") !== -1) {n let oneOf = requiredClass.split("||");n for (let requiredClass of oneOf) {n if (this.$element.hasClass(requiredClass)) {n found = true;n break;n }n }n } else if (this.$element.hasClass(requiredClass)) {n found = true;n }n }n }nn // ————————————————————————n // staticn }nn return BaseInput;n})(jQuery);nnexport default BaseInput;n”,“import BaseInput from "./baseInput";nimport Util from "./util";nnconst BaseSelection = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const Default = {n label: {n required: falsenn // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markupn // - a function(thisComponent); orn // - a string selector used like $bmdFormGroup.find(selector)n //n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)n //n //selectors: [n // `.form-control-label`, // in the case of horizontal or inline forms, this will be markedn // `> label` // usual case for text inputsn //]n }n };nn const Selector = {n LABEL: "label"n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class BaseSelection extends BaseInput {n constructor($element, config, properties) {n // properties = {inputType: checkbox, outerClass: checkbox-inline}n // '.checkbox|switch|radio > label > input'n // '.${this.outerClass} > label > input'nn super($element, $.extend(true, {}, Default, config), properties);n this.decorateMarkup();n }nn // ————————————————————————n // protectednn decorateMarkup() {n const $decorator = $(this.config.template);n this.$element.after($decorator);nn // initialize ripples after decorator has been inserted into DOMn if (this.config.ripples !== false) {n $decorator.bmdRipples();n }n }nn // Demarcation element (e.g. first child of a form-group)n outerElement() {n // .checkbox|switch|radio > label > inputn // label.checkbox-inline > inputn // .${this.outerClass} > label > inputn return this.$element.parent().closest(`.${this.outerClass}`);n }nn rejectWithoutRequiredStructure() {n // '.checkbox|switch|radio > label > input'n // '.${this.outerClass} > label > input'n Util.assert(n this.$element,n !this.$element.parent().prop("tagName") === "label",n `${this.constructor.name}'s ${Util.describe(n this.$elementn )} parent element should be <label>.`n );n Util.assert(n this.$element,n !this.outerElement().hasClass(this.outerClass),n `${this.constructor.name}'s ${Util.describe(n this.$elementn )} outer element should have class ${this.outerClass}.`n );n }nn addFocusListener() {n // checkboxes didn't appear to bubble to the document, so we'll bind these directlyn this.$element.closest(Selector.LABEL).hover(n () => {n this.addFormGroupFocus();n },n () => {n this.removeFormGroupFocus();n }n );n }nn addChangeListener() {n this.$element.change(() => {n this.$element.blur();n });n }nn // ————————————————————————n // privaten }nn return BaseSelection;n})(jQuery);nnexport default BaseSelection;n”,“import BaseSelection from "./baseSelection";n//import Text from './text'n//import File from './file'n//import Radio from './radio'n//import Textarea from './textarea'n//import Select from './select'nimport Util from "./util";nnconst Checkbox = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "checkbox";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {n template: `<span class='checkbox-decorator'><span class='check'></span></span>`n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Checkbox extends BaseSelection {n constructor(n $element,n config,n properties = { inputType: NAME, outerClass: NAME }n ) {n super(n $element,n $.extend(n true,n //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},n Default,n confign ),n propertiesn );n }nn dispose(dataKey = DATA_KEY) {n super.dispose(dataKey);n }nn static matches($element) {n // '.checkbox > label > input'n if ($element.attr("type") === "checkbox") {n return true;n }n return false;n }nn static rejectMatch(component, $element) {n Util.assert(n this.$element,n this.matches($element),n `${component} component element ${Util.describe(n $elementn )} is invalid for type='checkbox'.`n );n }nn // ————————————————————————n // protectednn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Checkbox($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Checkbox._jQueryInterface;n $.fn.Constructor = Checkbox;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Checkbox._jQueryInterface;n };nn return Checkbox;n})(jQuery);nnexport default Checkbox;n”,“import Checkbox from "./checkbox";nnconst CheckboxInline = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "checkboxInline";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {n bmdFormGroup: {n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.n required: falsen }n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class CheckboxInline extends Checkbox {n constructor(n $element,n config,n properties = { inputType: "checkbox", outerClass: "checkbox-inline" }n ) {n super($element, $.extend(true, {}, Default, config), properties);n }nn dispose() {n super.dispose(DATA_KEY);n }nn //static matches($element) {n // // '.checkbox-inline > input'n // if ($element.attr('type') === 'checkbox') {n // return truen // }n // return falsen //}n //n //static rejectMatch(component, $element) {n // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)n //}nn // ————————————————————————n // protectednn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new CheckboxInline($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = CheckboxInline._jQueryInterface;n $.fn.Constructor = CheckboxInline;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return CheckboxInline._jQueryInterface;n };nn return CheckboxInline;n})(jQuery);nnexport default CheckboxInline;n”,“import Base from "./base";nimport Util from "./util";nnconst CollapseInline = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "collapseInline";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Selector = {n ANY_INPUT: "input, select, textarea"n };nn const ClassName = {n IN: "in",n COLLAPSE: "collapse",n COLLAPSING: "collapsing",n COLLAPSED: "collapsed",n WIDTH: "width"n };n const Default = {};nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class CollapseInline extends Base {n // $element is expected to be the triggern // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field">n constructor($element, config) {n super($element, $.extend(true, {}, Default, config));n this.$bmdFormGroup = this.findMdbFormGroup(true);nn let collapseSelector = $element.data("target");n this.$collapse = $(collapseSelector);nn Util.assert(n $element,n this.$collapse.length === 0,n `Cannot find collapse target for ${Util.describe($element)}`n );n Util.assert(n this.$collapse,n !this.$collapse.hasClass(ClassName.COLLAPSE),n `${Util.describe(n this.$collapsen )} is expected to have the '${ClassName.COLLAPSE}' class. It is being targeted by ${Util.describe(n $elementn )}`n );nn // find the first input for focusingn let $inputs = this.$bmdFormGroup.find(Selector.ANY_INPUT);n if ($inputs.length > 0) {n this.$input = $inputs.first();n }nn // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgottenn if (!this.$collapse.hasClass(ClassName.WIDTH)) {n this.$collapse.addClass(ClassName.WIDTH);n }nn if (this.$input) {n // add a listener to set focusn this.$collapse.on("shown.bs.collapse", () => {n this.$input.focus();n });nn // add a listener to collapse fieldn this.$input.blur(() => {n this.$collapse.collapse("hide");n });n }n }nn dispose() {n super.dispose(DATA_KEY);n this.$bmdFormGroup = null;n this.$collapse = null;n this.$input = null;n }nn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new CollapseInline($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = CollapseInline._jQueryInterface;n $.fn.Constructor = CollapseInline;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return CollapseInline._jQueryInterface;n };nn return CollapseInline;n})(jQuery);nnexport default CollapseInline;n”,“import BaseInput from "./baseInput";n//import Checkbox from './checkbox'n//import Radio from './radio'n//import Switch from './switch'n//import Text from './text'n//import Textarea from './textarea'n//import Select from './select'nimport Util from "./util";nnconst File = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "file";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {};nn const ClassName = {n FILE: NAME,n IS_FILE: "is-file"n };nn const Selector = {n FILENAMES: "input.form-control[readonly]"n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class File extends BaseInput {n constructor($element, config) {n super(n $element,n $.extend(n true,n //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},n Default,n confign )n );nn this.$bmdFormGroup.addClass(ClassName.IS_FILE);n }nn dispose() {n super.dispose(DATA_KEY);n }nn static matches($element) {n if ($element.attr("type") === "file") {n return true;n }n return false;n }nn static rejectMatch(component, $element) {n Util.assert(n this.$element,n this.matches($element),n `${component} component element ${Util.describe(n $elementn )} is invalid for type='file'.`n );n }nn // ————————————————————————n // protectednn // Demarcation element (e.g. first child of a form-group)n outerElement() {n // label.file > inputn return this.$element.parent().closest(`.${ClassName.FILE}`);n }nn rejectWithoutRequiredStructure() {n // label.file > inputn Util.assert(n this.$element,n !this.outerElement().prop("tagName") === "label",n `${this.constructor.name}'s ${Util.describe(n this.$elementn )} parent element ${Util.describe(n this.outerElement()n )} should be <label>.`n );n Util.assert(n this.$element,n !this.outerElement().hasClass(ClassName.FILE),n `${this.constructor.name}'s ${Util.describe(n this.$elementn )} parent element ${Util.describe(n this.outerElement()n )} should have class .${ClassName.FILE}.`n );n }nn addFocusListener() {n this.$bmdFormGroupn .on("focus", () => {n this.addFormGroupFocus();n })n .on("blur", () => {n this.removeFormGroupFocus();n });n }nn addChangeListener() {n // set the fileinput readonly field with the name of the filen this.$element.on("change", () => {n let value = "";n $.each(this.$element.files, (i, file) => {n value += `${file.name} , `;n });n value = value.substring(0, value.length - 2);n if (value) {n this.addIsFilled();n } else {n this.removeIsFilled();n }n this.$bmdFormGroup.find(Selector.FILENAMES).val(value);n });n }nn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new File($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = File._jQueryInterface;n $.fn.Constructor = File;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return File._jQueryInterface;n };nn return File;n})(jQuery);nnexport default File;n”,“import BaseSelection from "./baseSelection";n//import Text from './text'n//import File from './file'n//import Checkbox from './checkbox'n//import Switch from './switch'nimport Util from "./util";nnconst Radio = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "radio";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {n template: `<span class='bmd-radio'></span>`n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Radio extends BaseSelection {n constructor(n $element,n config,n properties = { inputType: NAME, outerClass: NAME }n ) {n super(n $element,n $.extend(n true,n //{invalidComponentMatches: [Checkbox, File, Switch, Text]},n Default,n confign ),n propertiesn );n }nn dispose(dataKey = DATA_KEY) {n super.dispose(dataKey);n }nn static matches($element) {n // '.radio > label > input'n if ($element.attr("type") === "radio") {n return true;n }n return false;n }nn static rejectMatch(component, $element) {n Util.assert(n this.$element,n this.matches($element),n `${component} component element ${Util.describe(n $elementn )} is invalid for type='radio'.`n );n }nn // ————————————————————————n // protectednn //decorateMarkup() {n // this.$element.after(this.config.template)n //}nn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Radio($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Radio._jQueryInterface;n $.fn.Constructor = Radio;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Radio._jQueryInterface;n };nn return Radio;n})(jQuery);nnexport default Radio;n”,“import Radio from "./radio";nnconst RadioInline = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "radioInline";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {n bmdFormGroup: {n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.n required: falsen }n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class RadioInline extends Radio {n constructor(n $element,n config,n properties = { inputType: "radio", outerClass: "radio-inline" }n ) {n super($element, $.extend(true, {}, Default, config), properties);n }nn dispose() {n super.dispose(DATA_KEY);n }nn // ————————————————————————n // protectednn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new RadioInline($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = RadioInline._jQueryInterface;n $.fn.Constructor = RadioInline;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return RadioInline._jQueryInterface;n };nn return RadioInline;n})(jQuery);nnexport default RadioInline;n”,“import BaseInput from "./baseInput";nnconst BaseFormControl = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const Default = {n requiredClasses: ["form-control"]n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class BaseFormControl extends BaseInput {n constructor($element, config) {n super($element, $.extend(true, Default, config));nn // Initially mark as emptyn if (this.isEmpty()) {n this.removeIsFilled();n }n }n }nn return BaseFormControl;n})(jQuery);nnexport default BaseFormControl;n”,“import BaseFormControl from "./baseFormControl";n//import Checkbox from './checkbox'n//import File from './file'n//import Radio from './radio'n//import Switch from './switch'n//import Text from './text'n//import Textarea from './textarea'nimport Util from "./util";nnconst Select = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "select";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {n requiredClasses: ["form-control||custom-select"]n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Select extends BaseFormControl {n constructor($element, config) {n super(n $element,n $.extend(n true,n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},n Default,n confign )n );nn // floating labels will cover the options, so trigger them to be above (if used)n this.addIsFilled();n }nn dispose() {n super.dispose(DATA_KEY);n }nn static matches($element) {n if ($element.prop("tagName") === "select") {n return true;n }n return false;n }nn static rejectMatch(component, $element) {n Util.assert(n this.$element,n this.matches($element),n `${component} component element ${Util.describe(n $elementn )} is invalid for <select>.`n );n }nn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Select($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Select._jQueryInterface;n $.fn.Constructor = Select;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Select._jQueryInterface;n };nn return Select;n})(jQuery);nnexport default Select;n”,“import Checkbox from "./checkbox";nnconst Switch = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "switch";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {n template: `<span class='bmd-switch-track'></span>`n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Switch extends Checkbox {n constructor(n $element,n config,n properties = { inputType: "checkbox", outerClass: "switch" }n ) {n super($element, $.extend(true, {}, Default, config), properties);n // selector: '.switch > label > input'n }nn dispose() {n super.dispose(DATA_KEY);n }nn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Switch($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Switch._jQueryInterface;n $.fn.Constructor = Switch;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Switch._jQueryInterface;n };nn return Switch;n})(jQuery);nnexport default Switch;n”,“import BaseFormControl from "./baseFormControl";n//import Checkbox from './checkbox'n//import File from './file'n//import Radio from './radio'n//import Switch from './switch'n//import Textarea from './textarea'n//import Select from './select'nimport Util from "./util";nnconst Text = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "text";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {};nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Text extends BaseFormControl {n constructor($element, config) {n super(n $element,n $.extend(n true,n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},n Default,n confign )n );n }nn dispose(dataKey = DATA_KEY) {n super.dispose(dataKey);n }nn static matches($element) {n if ($element.attr("type") === "text") {n return true;n }n return false;n }nn static rejectMatch(component, $element) {n Util.assert(n this.$element,n this.matches($element),n `${component} component element ${Util.describe(n $elementn )} is invalid for type='text'.`n );n }nn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Text($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Text._jQueryInterface;n $.fn.Constructor = Text;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Text._jQueryInterface;n };nn return Text;n})(jQuery);nnexport default Text;n”,“import BaseFormControl from "./baseFormControl";n//import Checkbox from './checkbox'n//import File from './file'n//import Radio from './radio'n//import Switch from './switch'n//import Text from './text'n//import Select from './select'nimport Util from "./util";nnconst Textarea = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "textarea";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {};nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Textarea extends BaseFormControl {n constructor($element, config) {n super(n $element,n $.extend(n true,n //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},n Default,n confign )n );n }nn dispose() {n super.dispose(DATA_KEY);n }nn static matches($element) {n if ($element.prop("tagName") === "textarea") {n return true;n }n return false;n }nn static rejectMatch(component, $element) {n Util.assert(n this.$element,n this.matches($element),n `${component} component element ${Util.describe(n $elementn )} is invalid for <textarea>.`n );n }nn // ————————————————————————n // protectednn // ————————————————————————n // privatenn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Textarea($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Textarea._jQueryInterface;n $.fn.Constructor = Textarea;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Textarea._jQueryInterface;n };nn return Textarea;n})(jQuery);nnexport default Textarea;n”,“/* global Popper */nn/**n * This is a copy of the Bootstrap's original dropdown.js, with the only additionn * of two new classes: 'showing' and 'hiding', used to handle animaitons.n */nnimport Util from 'bootstrap/js/src/util';nnn/**n * ————————————————————————–n * Bootstrap (v4.1.0): dropdown.jsn * Licensed under MIT (github.com/twbs/bootstrap/blob/master/LICENSE)n * ————————————————————————–n */nnconst Dropdown = (($) => {nn /**n * Check for Popper dependencyn * Popper - popper.js.orgn */n if (typeof Popper === 'undefined') {n throw new Error('Bootstrap dropdown require Popper.js (popper.js.org)‘)n }nn /**n * ————————————————————————n * Constantsn * ————————————————————————n */nn const NAME = 'dropdown'n const VERSION = '4.1.0'n const DATA_KEY = 'bs.dropdown'n const EVENT_KEY = `.${DATA_KEY}`n const DATA_API_KEY = '.data-api'n const JQUERY_NO_CONFLICT = $.fnn const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) keyn const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space keyn const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab keyn const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow keyn const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow keyn const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)nn const Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n CLICK : `click${EVENT_KEY}`,n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`,n TRANSITION_END : 'transitionend webkitTransitionEnd oTransitionEnd animationend webkitAnimationEnd oAnimationEnd',n }nn const ClassName = {n DISABLED : 'disabled',n SHOW : 'show',n SHOWING : 'showing',n HIDING : 'hiding',n DROPUP : 'dropup',n MENURIGHT : 'dropdown-menu-right',n MENULEFT : 'dropdown-menu-left'n }nn const Selector = {n DATA_TOGGLE : '[data-toggle="dropdown"]',n FORM_CHILD : '.dropdown form',n MENU : '.dropdown-menu',n NAVBAR_NAV : '.navbar-nav',n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'n }nn const AttachmentMap = {n TOP : 'top-start',n TOPEND : 'top-end',n BOTTOM : 'bottom-start',n BOTTOMEND : 'bottom-end'n }nn const Default = {n placement : AttachmentMap.BOTTOM,n offset : 0,n flip : truen }nn const DefaultType = {n placement : 'string',n offset : '(number|string)',n flip : 'boolean'n }nnn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nn class Dropdown {nn constructor(element, config) {n this._element = elementn this._popper = nulln this._config = this._getConfig(config)n this._menu = this._getMenuElement()n this._inNavbar = this._detectNavbar()nn this._addEventListeners()n }nnn // gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn static get DefaultType() {n return DefaultTypen }nn // publicnn toggle() {n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {n returnn }nn const parent = Dropdown._getParentFromElement(this._element)n const isActive = $(this._menu).hasClass(ClassName.SHOW)nn Dropdown._clearMenus()nn if (isActive) {n returnn }nn const relatedTarget = {n relatedTarget : this._elementn }n const showEvent = $.Event(Event.SHOW, relatedTarget)nn $(parent).trigger(showEvent)nn if (showEvent.isDefaultPrevented()) {n returnn }nn let element = this._elementn // for dropup with alignment we use the parent as popper containern if ($(parent).hasClass(ClassName.DROPUP)) {n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {n element = parentn }n }n this._popper = new Popper(element, this._menu, this._getPopperConfig())nn // if this is a touch-enabled device we add extran // empty mouseover listeners to the body's immediate children;n // only needed because of broken event delegation on iOSn // www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.htmln if ('ontouchstart' in document.documentElement &&n !$(parent).closest(Selector.NAVBAR_NAV).length) {n $('body').children().on('mouseover', null, $.noop)n }nn this._element.focus()n this._element.setAttribute('aria-expanded', true)nn $(this._menu).one(Event.TRANSITION_END, () => {n $(parent).trigger($.Event(Event.SHOWN, relatedTarget))n $(this._menu).removeClass(ClassName.SHOWING)n })nn $(this._menu).addClass(`${ClassName.SHOW} ${ClassName.SHOWING}`)n $(parent).addClass(ClassName.SHOW)n }nn dispose() {n $.removeData(this._element, DATA_KEY)n $(this._element).off(EVENT_KEY)n this._element = nulln this._menu = nulln if (this._popper !== null) {n this._popper.destroy()n }n this._popper = nulln }nn update() {n this._inNavbar = this._detectNavbar()n if (this._popper !== null) {n this._popper.scheduleUpdate()n }n }nn // privatenn _addEventListeners() {n $(this._element).on(Event.CLICK, (event) => {n event.preventDefault()n event.stopPropagation()n this.toggle()n })n }nn _getConfig(config) {n const elementData = $(this._element).data()n if (elementData.placement !== undefined) {n elementData.placement = AttachmentMapn }nn config = $.extend(n {},n this.constructor.Default,n $(this._element).data(),n confign )nn Util.typeCheckConfig(n NAME,n config,n this.constructor.DefaultTypen )nn return confign }nn _getMenuElement() {n if (!this._menu) {n const parent = Dropdown._getParentFromElement(this._element)n this._menu = $(parent).find(Selector.MENU)n }n return this._menun }nn _getPlacement() {n const $parentDropdown = $(this._element).parent()n let placement = this._config.placementnn // Handle dropupn if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {n placement = AttachmentMap.TOPn if ($(this._menu).hasClass(ClassName.MENURIGHT)) {n placement = AttachmentMap.TOPENDn }n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {n placement = AttachmentMap.BOTTOMENDn }n return placementn }nn _detectNavbar() {n return $(this._element).closest('.navbar').length > 0n }nn _getPopperConfig() {n const popperConfig = {n placement : this._getPlacement(),n modifiers : {n offset : {n offset : this._config.offsetn },n flip : {n enabled : this._config.flipn }n }n }nn // Disable Popper.js for Dropdown in Navbarn if (this._inNavbar) {n popperConfig.modifiers.applyStyle = {n enabled: !this._inNavbarn }n }n return popperConfign }nn // staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === 'object' ? config : nullnn if (!data) {n data = new Dropdown(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (data === undefined) {n throw new Error(`No method named "${config}"`)n }n data()n }n })n }nn static _clearMenus(event) {n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {n returnn }nn const toggles = $.makeArray($(Selector.DATA_TOGGLE))n for (let i = 0; i < toggles.length; i++) {n const parent = Dropdown._getParentFromElement(toggles)n const context = $(toggles).data(DATA_KEY)n const relatedTarget = {n relatedTarget : togglesn }nn if (!context) {n continuen }nn const dropdownMenu = context._menun if (!$(parent).hasClass(ClassName.SHOW)) {n continuen }nn if (event && (event.type === 'click' &&n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)n && $.contains(parent, event.target)) {n continuen }nn const hideEvent = $.Event(Event.HIDE, relatedTarget)n $(parent).trigger(hideEvent)n if (hideEvent.isDefaultPrevented()) {n continuen }nn // if this is a touch-enabled device we remove the extran // empty mouseover listeners we added for iOS supportn if ('ontouchstart' in document.documentElement) {n $('body').children().off('mouseover', null, $.noop)n }nn toggles.setAttribute('aria-expanded', 'false')nn $(dropdownMenu)n .addClass(ClassName.HIDING)n .removeClass(ClassName.SHOW)n $(parent).removeClass(ClassName.SHOW)nn $(dropdownMenu).one(Event.TRANSITION_END, function() {n $(parent).trigger($.Event(Event.HIDDEN, relatedTarget))n $(dropdownMenu).removeClass(ClassName.HIDING)n })n }n }nn static _getParentFromElement(element) {n let parentn const selector = Util.getSelectorFromElement(element)nn if (selector) {n parent = $(selector)n }nn return parent || element.parentNoden }nn static _dataApiKeydownHandler(event) {n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||n /input|textarea/i.test(event.target.tagName)) {n returnn }nn event.preventDefault()n event.stopPropagation()nn if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {n returnn }nn const parent = Dropdown._getParentFromElement(this)n const isActive = $(parent).hasClass(ClassName.SHOW)nn if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {nn if (event.which === ESCAPE_KEYCODE) {n const toggle = $(parent).find(Selector.DATA_TOGGLE)n $(toggle).trigger('focus')n }nn $(this).trigger('click')n returnn }nn const items = $(parent).find(Selector.VISIBLE_ITEMS).get()nn if (!items.length) {n returnn }nn let index = items.indexOf(event.target)nn if (event.which === ARROW_UP_KEYCODE && index > 0) { // upn index–n }nn if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // downn index++n }nn if (index < 0) {n index = 0n }nn items.focus()n }nn }nnn /**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn $(document)n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {n event.preventDefault()n event.stopPropagation()n Dropdown._jQueryInterface.call($(this), 'toggle')n })n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {n e.stopPropagation()n })nnn /**n * ————————————————————————n * jQueryn * ————————————————————————n */nn $.fn = Dropdown._jQueryInterfacen $.fn.Constructor = Dropdownn $.fn.noConflict = function () {n $.fn = JQUERY_NO_CONFLICTn return Dropdown._jQueryInterfacen }nn return Dropdownnn})(jQuery)nnexport default Dropdownn”,“import Base from "./base";nimport Util from "./util";nnconst BaseLayout = ($ => {n const ClassName = {n CANVAS: "bmd-layout-canvas",n CONTAINER: "bmd-layout-container",n BACKDROP: `bmd-layout-backdrop`n };nn const Selector = {n CANVAS: `.${ClassName.CANVAS}`,n CONTAINER: `.${ClassName.CONTAINER}`,n BACKDROP: `.${ClassName.BACKDROP}`n };nn const Default = {n canvas: {n create: true,n required: true,n template: `<div class="${ClassName.CANVAS}"></div>`n },n backdrop: {n create: true,n required: true,n template: `<div class="${ClassName.BACKDROP}"></div>`n }n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class BaseLayout extends Base {n constructor($element, config, properties = {}) {n super($element, $.extend(true, {}, Default, config), properties);nn this.$container = this.findContainer(true);n this.$backdrop = this.resolveBackdrop();n this.resolveCanvas();n }nn dispose(dataKey) {n super.dispose(dataKey);n this.$container = null;n this.$backdrop = null;n }nn // ————————————————————————n // protectednn // Will wrap container in bmd-layout-canvas if necessaryn resolveCanvas() {n let bd = this.findCanvas(false);n if (bd === undefined || bd.length === 0) {n if (this.config.canvas.create) {n this.$container.wrap(this.config.canvas.template);n }nn bd = this.findCanvas(this.config.canvas.required);n }nn return bd;n }nn // Find closest bmd-layout-container based on the given contextn findCanvas(raiseError = true, context = this.$container) {n let canvas = context.closest(Selector.CANVAS);n if (canvas.length === 0 && raiseError) {n $.error(n `Failed to find ${Selector.CANVAS} for ${Util.describe(context)}`n );n }n return canvas;n }nn // Will add bmd-layout-backdrop to bmd-layout-container if necessaryn resolveBackdrop() {n let bd = this.findBackdrop(false);n if (bd === undefined || bd.length === 0) {n if (this.config.backdrop.create) {n this.$container.append(this.config.backdrop.template);n }nn bd = this.findBackdrop(this.config.backdrop.required);n }nn return bd;n }nn // Find closest bmd-layout-container based on the given contextn findBackdrop(raiseError = true, context = this.$container) {n let backdrop = context.find(`> ${Selector.BACKDROP}`);n if (backdrop.length === 0 && raiseError) {n $.error(n `Failed to find ${Selector.BACKDROP} for ${Util.describe(context)}`n );n }n return backdrop;n }nn // Find closest bmd-layout-container based on the given contextn findContainer(raiseError = true, context = this.$element) {n let container = context.closest(Selector.CONTAINER);n if (container.length === 0 && raiseError) {n $.error(n `Failed to find ${Selector.CONTAINER} for ${Util.describe(context)}`n );n }n return container;n }nn // ————————————————————————n // privatenn // ————————————————————————n // staticn }nn return BaseLayout;n})(jQuery);nnexport default BaseLayout;n”,“import BaseLayout from "./baseLayout";nnconst Drawer = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "drawer";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Keycodes = {n ESCAPE: 27n //ENTER: 13,n //SPACE: 32n };nn const ClassName = {n IN: "in",n DRAWER_IN: `bmd-drawer-in`,n DRAWER_OUT: `bmd-drawer-out`,n DRAWER: "bmd-layout-drawer",n CONTAINER: "bmd-layout-container"n };nn const Default = {n focusSelector: `a, button, input`n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Drawer extends BaseLayout {n // $element is expected to be the triggern // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="drawer" data-target="#my-side-nav-drawer" aria-expanded="false" aria-controls="my-side-nav-drawer">n constructor($element, config) {n super($element, $.extend(true, {}, Default, config));nn this.$toggles = $(n `[data-toggle="drawer"][href="#${this.$elementn .id}"], [data-toggle="drawer"][data-target="#${this.$element.id}"]`n );nn this._addAria();nn // click or escape on the backdrop closes the drawern this.$backdropn .keydown(ev => {n if (ev.which === Keycodes.ESCAPE) {n this.hide();n }n })n .click(() => {n this.hide();n });nn // escape on the drawer closes itn this.$element.keydown(ev => {n if (ev.which === Keycodes.ESCAPE) {n this.hide();n }n });nn // any toggle button clicksn this.$toggles.click(() => {n this.toggle();n });n }nn dispose() {n super.dispose(DATA_KEY);n this.$toggles = null;n }nn toggle() {n if (this._isOpen()) {n this.hide();n } else {n this.show();n }n }nn show() {n if (this._isForcedClosed() || this._isOpen()) {n return;n }nn this.$toggles.attr("aria-expanded", true);n this.$element.attr("aria-expanded", true);n this.$element.attr("aria-hidden", false);nn // focus on the first focusable itemn let $focusOn = this.$element.find(this.config.focusSelector);n if ($focusOn.length > 0) {n $focusOn.first().focus();n }nn this.$container.addClass(ClassName.DRAWER_IN);n // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.n this.$backdrop.addClass(ClassName.IN);n }nn hide() {n if (!this._isOpen()) {n return;n }nn this.$toggles.attr("aria-expanded", false);n this.$element.attr("aria-expanded", false);n this.$element.attr("aria-hidden", true);nn this.$container.removeClass(ClassName.DRAWER_IN);n this.$backdrop.removeClass(ClassName.IN);n }nn // ————————————————————————n // privatenn _isOpen() {n return this.$container.hasClass(ClassName.DRAWER_IN);n }nn _isForcedClosed() {n return this.$container.hasClass(ClassName.DRAWER_OUT);n }nn _addAria() {n let isOpen = this._isOpen();n this.$element.attr("aria-expanded", isOpen);n this.$element.attr("aria-hidden", isOpen);nn if (this.$toggles.length) {n this.$toggles.attr("aria-expanded", isOpen);n }n }nn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Drawer($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Drawer._jQueryInterface;n $.fn.Constructor = Drawer;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Drawer._jQueryInterface;n };nn return Drawer;n})(jQuery);nnexport default Drawer;n”,“import Util from "./util";nnconst Ripples = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "ripples";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const ClassName = {n CONTAINER: "ripple-container",n DECORATOR: "ripple-decorator"n };nn const Selector = {n CONTAINER: `.${ClassName.CONTAINER}`,n DECORATOR: `.${ClassName.DECORATOR}` //,n };nn const Default = {n container: {n template: `<div class='${ClassName.CONTAINER}'></div>`n },n decorator: {n template: `<div class='${ClassName.DECORATOR}'></div>`n },n trigger: {n start: "mousedown touchstart",n end: "mouseup mouseleave touchend"n },n touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,n duration: 500n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Ripples {n constructor($element, config) {n this.$element = $element;nn // console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-consolen this.config = $.extend(true, {}, Default, config);nn // attach initial listenern this.$element.on(this.config.trigger.start, event => {n this._onStartRipple(event);n });n }nn dispose() {n this.$element.data(DATA_KEY, null);n this.$element = null;n this.$container = null;n this.$decorator = null;n this.config = null;n }nn // ————————————————————————n // privatenn _onStartRipple(event) {n // Verify if the user is just touching on a device and return if son if (this._isTouch() && event.type === "mousedown") {n return;n }nn // Find or create the ripple container elementn this._findOrCreateContainer();nn // Get relY and relX positions of the container elementn let relY = this._getRelY(event);n let relX = this._getRelX(event);nn // If relY and/or relX are false, return the eventn if (!relY && !relX) {n return;n }nn // set the location and color each time (even if element is cached)n this.$decorator.css({n left: relX,n top: relY,n "background-color": this._getRipplesColor()n });nn // Make sure the ripple has the styles applied (ugly hack but it works)n this._forceStyleApplication();nn // Turn on the ripple animationn this.rippleOn();nn // Call the rippleEnd function when the transition 'on' endsn setTimeout(() => {n this.rippleEnd();n }, this.config.duration);nn // Detect when the user leaves the element to cleanup if not already done?n this.$element.on(this.config.trigger.end, () => {n if (this.$decorator) {n // guard against race condition/mouse attackn this.$decorator.data("mousedown", "off");nn if (this.$decorator.data("animating") === "off") {n this.rippleOut();n }n }n });n }nn _findOrCreateContainer() {n if (!this.$container || !this.$container.length > 0) {n this.$element.append(this.config.container.template);n this.$container = this.$element.find(Selector.CONTAINER);n }nn // always add the rippleElement, it is always removedn this.$container.append(this.config.decorator.template);n this.$decorator = this.$container.find(Selector.DECORATOR);n }nn // Make sure the ripple has the styles applied (ugly hack but it works)n _forceStyleApplication() {n return window.getComputedStyle(this.$decorator).opacity;n }nn /**n * Get the relXn */n _getRelX(event) {n let wrapperOffset = this.$container.offset();nn let result = null;n if (!this._isTouch()) {n // Get the mouse position relative to the ripple wrappern result = event.pageX - wrapperOffset.left;n } else {n // Make sure the user is using only one finger and then get the touchn // position relative to the ripple wrappern event = event.originalEvent;nn if (event.touches.length === 1) {n result = event.touches.pageX - wrapperOffset.left;n } else {n result = false;n }n }nn return result;n }nn /**n * Get the relYn */n _getRelY(event) {n let containerOffset = this.$container.offset();n let result = null;nn if (!this._isTouch()) {n /**n * Get the mouse position relative to the ripple wrappern */n result = event.pageY - containerOffset.top;n } else {n /**n * Make sure the user is using only one finger and then get the touchn * position relative to the ripple wrappern */n event = event.originalEvent;nn if (event.touches.length === 1) {n result = event.touches.pageY - containerOffset.top;n } else {n result = false;n }n }nn return result;n }nn /**n * Get the ripple colorn */n _getRipplesColor() {n let color = this.$element.data("ripple-color")n ? this.$element.data("ripple-color")n : window.getComputedStyle(this.$element).color;n return color;n }nn /**n * Verify if the client is using a mobile devicen */n _isTouch() {n return this.config.touchUserAgentRegex.test(navigator.userAgent);n }nn /**n * End the animation of the ripplen */n rippleEnd() {n if (this.$decorator) {n // guard against race condition/mouse attackn this.$decorator.data("animating", "off");nn if (this.$decorator.data("mousedown") === "off") {n this.rippleOut(this.$decorator);n }n }n }nn /**n * Turn off the ripple effectn */n rippleOut() {n this.$decorator.off();nn if (Util.transitionEndSupported()) {n this.$decorator.addClass("ripple-out");n } else {n this.$decorator.animate({ opacity: 0 }, 100, () => {n this.$decorator.trigger("transitionend");n });n }nn this.$decorator.on(Util.transitionEndSelector(), () => {n if (this.$decorator) {n this.$decorator.remove();n this.$decorator = null;n }n });n }nn /**n * Turn on the ripple effectn */n rippleOn() {n let size = this._getNewSize();nn if (Util.transitionEndSupported()) {n this.$decoratorn .css({n "-ms-transform": `scale(${size})`,n "-moz-transform": `scale(${size})`,n "-webkit-transform": `scale(${size})`,n transform: `scale(${size})`n })n .addClass("ripple-on")n .data("animating", "on")n .data("mousedown", "on");n } else {n this.$decorator.animate(n {n width:n Math.max(n this.$element.outerWidth(),n this.$element.outerHeight()n ) * 2,n height:n Math.max(n this.$element.outerWidth(),n this.$element.outerHeight()n ) * 2,n "margin-left":n Math.max(n this.$element.outerWidth(),n this.$element.outerHeight()n ) * -1,n "margin-top":n Math.max(n this.$element.outerWidth(),n this.$element.outerHeight()n ) * -1,n opacity: 0.2n },n this.config.duration,n () => {n this.$decorator.trigger("transitionend");n }n );n }n }nn /**n * Get the new size based on the element height/width and the ripple widthn */n _getNewSize() {n return (n Math.max(this.$element.outerWidth(), this.$element.outerHeight()) /n this.$decorator.outerWidth() *n 2.5n );n }nn // ————————————————————————n // staticnn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Ripples($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Ripples._jQueryInterface;n $.fn.Constructor = Ripples;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Ripples._jQueryInterface;n };nn return Ripples;n})(jQuery);nnexport default Ripples;n”,“import Base from "./base";nnconst Autofill = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "autofill";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`;n const JQUERY_NO_CONFLICT = $.fn;nn const Default = {};nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class Autofill extends Base {n constructor($element, config) {n super($element, $.extend(true, {}, Default, config));nn this._watchLoading();n this._attachEventHandlers();n }nn dispose() {n super.dispose(DATA_KEY);n }nn // ————————————————————————n // privatenn _watchLoading() {n // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking themn setTimeout(() => {n clearInterval(this._onLoading);n }, 10000);n }nn // This part of code will detect autofill when the page is loading (username and password inputs for example)n _onLoading() {n setInterval(() => {n $("input[type!=checkbox]").each((index, element) => {n let $element = $(element);nn let initialValue = $element.attr("value");n if (initialValue === undefined) {n initialValue = "";n }nn if ($element.val() && $element.val() !== initialValue) {n $element.trigger("change");n }n });n }, 100);n }nn _attachEventHandlers() {n // Listen on inputs of the focused formn // (because user can select from the autofill dropdown only when the input has focus)n let focused = null;n $(document)n .on("focus", "input", event => {n let $inputs = $(event.currentTarget)n .closest("form")n .find("input")n .not(", [type=date]");n focused = setInterval(() => {n $inputs.each((index, element) => {n let $element = $(element);nn let initialValue = $element.attr("value");n if (initialValue === undefined) {n initialValue = "";n }nn if ($element.val() !== initialValue) {n $element.trigger("change");n }n });n }, 100);n })n .on("blur", ".form-group input", () => {n clearInterval(focused);n });n }nn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new Autofill($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = Autofill._jQueryInterface;n $.fn.Constructor = Autofill;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return Autofill._jQueryInterface;n };nn return Autofill;n})(jQuery);nnexport default Autofill;n”,“/* globals Popper */nPopper.Defaults.modifiers.computeStyle.gpuAcceleration = falsenn/**n * $.bootstrapMaterialDesign(config) is a macro class to configure the components generallyn * used in Material Design for Bootstrap. You may pass overrides to the configurationsn * which will be passed into each component, or you may omit use of this class andn * configure each component separately.n */nconst BootstrapMaterialDesign = ($ => {n /**n * ————————————————————————n * Constantsn * ————————————————————————n */n const NAME = "bootstrapMaterialDesign";n const DATA_KEY = `bmd.${NAME}`;n const JQUERY_NAME = NAME; // retain this full name since it is long enough not to conflictn const JQUERY_NO_CONFLICT = $.fn;nn /**n * Global configuration:n * The global configuration hash will be mixed in to each components' config.n * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every componentn *n *n * Component configuration:n * - selector: may be a string or an array. Any array will be joined with a comma to generate the selectorn * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })n *n * @see each individual component for more configuration settings.n */n const Default = {n global: {n validate: false,n label: {n className: "bmd-label-static" // default style of label to be used if not specified in the html markupn }n },n autofill: {n selector: "body"n },n checkbox: {n selector: ".checkbox > label > input"n },n checkboxInline: {n selector: "label.checkbox-inline > input"n },n collapseInline: {n selector: '.bmd-collapse-inline [data-toggle="collapse"]'n },n drawer: {n selector: ".bmd-layout-drawer"n },n file: {n selector: "input[type=file]"n },n radio: {n selector: ".radio > label > input"n },n radioInline: {n selector: "label.radio-inline > input"n },n ripples: {n //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing onlyn selector: [n ".btn:not(.btn-link):not(.ripple-none)",n ".card-image:not(.ripple-none)",n ".navbar a:not(.ripple-none)",n ".dropdown-menu a:not(.ripple-none)",n ".nav-tabs a:not(.ripple-none)",n ".pagination li:not(.active):not(.disabled) a:not(.ripple-none)",n ".ripple" // generic marker class to add ripple to elementsn ]n },n select: {n selector: ["select"]n },n switch: {n selector: ".switch > label > input"n },n text: {n // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.n selector: [n `input:not():not():not():not():not():not():not()`n ]n },n textarea: {n selector: ["textarea"]n },n arrive: true,n // create an ordered component list for instantiationn instantiation: [n "ripples",n "checkbox",n "checkboxInline",n "collapseInline",n "drawer",n //'file',n "radio",n "radioInline",n "switch",n "text",n "textarea",n "select",n "autofill"n ]n };nn /**n * ————————————————————————n * Class Definitionn * ————————————————————————n */n class BootstrapMaterialDesign {n constructor($element, config) {n this.$element = $element;n this.config = $.extend(true, {}, Default, config);n let $document = $(document);nn for (let component of this.config.instantiation) {n // the component's config fragment is passed in directly, allowing users to overriden let componentConfig = this.config;nn // check to make sure component config is enabled (not `false`)n if (componentConfig) {n // assemble the selector as it may be an arrayn let selector = this._resolveSelector(componentConfig);nn // mix in global optionsn componentConfig = $.extend(n true,n {},n this.config.global,n componentConfign );nn // create the jquery fn name e.g. 'bmdText' for 'text'n let componentName = `${component.charAt(0).toUpperCase() +n component.slice(1)}`;n let jqueryFn = `bmd${componentName}`;nn try {n // safely instantiate component on selector elements with config, report errors and move on.n // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-consolen $(selector)(componentConfig);nn // add to arrive if present and enabledn if (document.arrive && this.config.arrive) {n $document.arrive(selector, function() {n // eslint-disable-line no-loop-funcn $(this)(componentConfig);n });n }n } catch (e) {n let message = `Failed to instantiate component: $('${selector}')[${jqueryFn}](${componentConfig})`;n console.error(message, e, `\nSelected elements: `, $(selector)); // eslint-disable-line no-consolen throw e;n }n }n }n }nn dispose() {n this.$element.data(DATA_KEY, null);n this.$element = null;n this.config = null;n }nn // ————————————————————————n // privatenn _resolveSelector(componentConfig) {n let selector = componentConfig.selector;n if (Array.isArray(selector)) {n selector = selector.join(", ");n }nn return selector;n }nn // ————————————————————————n // staticn static _jQueryInterface(config) {n return this.each(function() {n let $element = $(this);n let data = $element.data(DATA_KEY);nn if (!data) {n data = new BootstrapMaterialDesign($element, config);n $element.data(DATA_KEY, data);n }n });n }n }nn /**n * ————————————————————————n * jQueryn * ————————————————————————n */n $.fn = BootstrapMaterialDesign._jQueryInterface;n $.fn.Constructor = BootstrapMaterialDesign;n $.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICT;n return BootstrapMaterialDesign._jQueryInterface;n };nn return BootstrapMaterialDesign;n})(jQuery);nnexport default BootstrapMaterialDesign;n”,“/*n * This is the main entry point.n *n * You can import other modules here, including external packages. When bundling using rollup you can mark those modules as external and have them excluded or, if they have a jsnext:main entry in their package.json (like this package does), let rollup bundle them into your dist file.n *n * at your application entry point. This is necessary for browsers that do not yet support some ES2015 runtime necessities such as Symbol. We do this in `index-iife.js` for our iife rollup bundle.n */nn// Bootstrap componentsnimport "bootstrap/js/src/alert";nimport "bootstrap/js/src/button";n//import "bootstrap/js/src/carousel";nimport "bootstrap/js/src/collapse";nimport "bootstrap/js/src/modal";nimport "bootstrap/js/src/popover";nimport "bootstrap/js/src/scrollspy";nimport "bootstrap/js/src/tab";nimport "bootstrap/js/src/tooltip";nimport "bootstrap/js/src/util";nn// invalidComponentMatches is currently disabled due to github.com/rollup/rollup/issues/428#issuecomment-170066452nimport "./checkbox";nimport "./checkboxInline";nimport "./collapseInline";nimport "./file";nimport "./radio";nimport "./radioInline";nimport "./select";nimport "./switch";nimport "./text";nimport "./textarea";nimport "./dropdown";nnimport "./drawer";nnimport "./ripples";nimport "./autofill";nimport "./bootstrapMaterialDesign";n”],“names”:,“mappings”:“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”}