{"version":3,"file":"js/chunk-vendors-c4322097.be33c33b.js","mappings":"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","sources":["webpack://frog/./node_modules/bootstrap-vue/esm/components/button/index.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/button/button-close.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/button/button.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/button-group/index.js"],"sourcesContent":["import { BButton } from './button';\nimport { BButtonClose } from './button-close';\nimport { pluginFactory } from '../../utils/plugins';\nvar ButtonPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButton: BButton,\n BBtn: BButton,\n BButtonClose: BButtonClose,\n BBtnClose: BButtonClose\n }\n});\nexport { ButtonPlugin, BButton, BButtonClose };","import { extend } from '../../vue';\nimport { NAME_BUTTON_TOOLBAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP } from '../../constants/key-codes';\nimport { attemptFocus, contains, isVisible, selectAll } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(','); // --- Props ---\n\nexport var props = makePropsConfigurable({\n justify: makeProp(PROP_TYPE_BOOLEAN, false),\n keyNav: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_BUTTON_TOOLBAR); // --- Main component ---\n// @vue/component\n\nexport var BButtonToolbar = /*#__PURE__*/extend({\n name: NAME_BUTTON_TOOLBAR,\n mixins: [normalizeSlotMixin],\n props: props,\n mounted: function mounted() {\n // Pre-set the tabindexes if the markup does not include\n // `tabindex=\"-1\"` on the toolbar items\n if (this.keyNav) {\n this.getItems();\n }\n },\n methods: {\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el); // Ensure `tabindex=\"-1\"` is set on every item\n\n items.forEach(function (item) {\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n },\n focusFirst: function focusFirst() {\n var items = this.getItems();\n attemptFocus(items[0]);\n },\n focusPrev: function focusPrev(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n attemptFocus(items[0]);\n }\n },\n focusNext: function focusNext(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n attemptFocus(items[0]);\n }\n },\n focusLast: function focusLast() {\n var items = this.getItems().reverse();\n attemptFocus(items[0]);\n },\n onFocusin: function onFocusin(event) {\n var $el = this.$el;\n\n if (event.target === $el && !contains($el, event.relatedTarget)) {\n stopEvent(event);\n this.focusFirst(event);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (keyCode === CODE_UP || keyCode === CODE_LEFT) {\n stopEvent(event);\n shiftKey ? this.focusFirst(event) : this.focusPrev(event);\n } else if (keyCode === CODE_DOWN || keyCode === CODE_RIGHT) {\n stopEvent(event);\n shiftKey ? this.focusLast(event) : this.focusNext(event);\n }\n }\n },\n render: function render(h) {\n var keyNav = this.keyNav;\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: keyNav ? '0' : null\n },\n on: keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.normalizeSlot()]);\n }\n});","import { BButtonToolbar } from './button-toolbar';\nimport { pluginFactory } from '../../utils/plugins';\nvar ButtonToolbarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButtonToolbar: BButtonToolbar,\n BBtnToolbar: BButtonToolbar\n }\n});\nexport { ButtonToolbarPlugin, BButtonToolbar };","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, mergeData } from '../../vue';\nimport { NAME_BUTTON_CLOSE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { stopEvent } from '../../utils/events';\nimport { isEvent } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_BUTTON_CLOSE); // --- Main component ---\n// @vue/component\n\nexport var BButtonClose = /*#__PURE__*/extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(event) {\n // Ensure click on button HTML content is also disabled\n\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n }\n }\n }\n }; // Careful not to override the default slot with innerHTML\n\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = {\n innerHTML: props.content\n };\n }\n\n return h('button', mergeData(data, componentData), normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, mergeData } from '../../vue';\nimport { NAME_BUTTON } from '../../constants/components';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { addClass, isTag, removeClass } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink as isLinkStrict } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BUTTON); // --- Helper methods ---\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\n\nvar handleFocus = function handleFocus(event) {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus');\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus');\n }\n}; // Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\n\n\nvar isLink = function isLink(props) {\n return isLinkStrict(props) || isTag(props.tag, 'a');\n}; // Is the button to be a toggle button?\n\n\nvar isToggle = function isToggle(props) {\n return isBoolean(props.pressed);\n}; // Is the button \"really\" a button?\n\n\nvar isButton = function isButton(props) {\n return !(isLink(props) || props.tag && !isTag(props.tag, 'button'));\n}; // Is the requested tag not a button or link?\n\n\nvar isNonStandardTag = function isNonStandardTag(props) {\n return !isLink(props) && !isButton(props);\n}; // Compute required classes (non static classes)\n\n\nvar computeClass = function computeClass(props) {\n var _ref;\n\n return [\"btn-\".concat(props.variant || 'secondary'), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(props.size), props.size), _defineProperty(_ref, 'btn-block', props.block), _defineProperty(_ref, 'rounded-pill', props.pill), _defineProperty(_ref, 'rounded-0', props.squared && !props.pill), _defineProperty(_ref, \"disabled\", props.disabled), _defineProperty(_ref, \"active\", props.pressed), _ref)];\n}; // Compute the link props to pass to b-link (if required)\n\n\nvar computeLinkProps = function computeLinkProps(props) {\n return isLink(props) ? pluckProps(linkProps, props) : {};\n}; // Compute the attributes for a button\n\n\nvar computeAttrs = function computeAttrs(props, data) {\n var button = isButton(props);\n var link = isLink(props);\n var toggle = isToggle(props);\n var nonStandardTag = isNonStandardTag(props);\n var hashLink = link && props.href === '#';\n var role = data.attrs && data.attrs.role ? data.attrs.role : null;\n var tabindex = data.attrs ? data.attrs.tabindex : null;\n\n if (nonStandardTag || hashLink) {\n tabindex = '0';\n }\n\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n };\n}; // --- Main component ---\n// @vue/component\n\n\nexport var BButton = /*#__PURE__*/extend({\n name: NAME_BUTTON,\n functional: true,\n props: props,\n render: function render(h, _ref2) {\n var props = _ref2.props,\n data = _ref2.data,\n listeners = _ref2.listeners,\n children = _ref2.children;\n var toggle = isToggle(props);\n var link = isLink(props);\n var nonStandardTag = isNonStandardTag(props);\n var hashLink = link && props.href === '#';\n var on = {\n keydown: function keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return;\n }\n\n var keyCode = event.keyCode; // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n\n if (keyCode === CODE_SPACE || keyCode === CODE_ENTER && nonStandardTag) {\n var target = event.currentTarget || event.target;\n stopEvent(event, {\n propagation: false\n });\n target.click();\n }\n },\n click: function click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event);\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(function (fn) {\n if (isFunction(fn)) {\n fn(!props.pressed);\n }\n });\n }\n }\n };\n\n if (toggle) {\n on.focusin = handleFocus;\n on.focusout = handleFocus;\n }\n\n var componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on: on\n };\n return h(link ? BLink : props.tag, mergeData(_objectSpread(_objectSpread({}, data), {}, {\n props: undefined\n }), componentData), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, mergeData } from '../../vue';\nimport { NAME_BUTTON_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as buttonProps } from '../button/button'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(buttonProps, ['size'])), {}, {\n ariaRole: makeProp(PROP_TYPE_STRING, 'group'),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_BUTTON_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BButtonGroup = /*#__PURE__*/extend({\n name: NAME_BUTTON_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), props.size),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n});","import { BButtonGroup } from './button-group';\nimport { pluginFactory } from '../../utils/plugins';\nvar ButtonGroupPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButtonGroup: BButtonGroup,\n BBtnGroup: BButtonGroup\n }\n});\nexport { ButtonGroupPlugin, BButtonGroup };"],"names":["ButtonPlugin","components","BButton","BBtn","BButtonClose","BBtnClose","ITEM_SELECTOR","join","justify","keyNav","BButtonToolbar","name","mixins","props","mounted","this","getItems","methods","items","$el","forEach","item","tabIndex","filter","el","focusFirst","focusPrev","event","index","indexOf","target","slice","reverse","focusNext","focusLast","onFocusin","relatedTarget","onKeydown","keyCode","shiftKey","render","h","staticClass","class","attrs","role","tabindex","on","focusin","keydown","normalizeSlot","ButtonToolbarPlugin","BBtnToolbar","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ariaLabel","content","disabled","textVariant","functional","_ref","data","slots","scopedSlots","$slots","$scopedSlots","componentData","concat","type","String","click","domProps","innerHTML","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","i","arguments","length","source","getOwnPropertyDescriptors","defineProperties","linkProps","href","default","to","block","pill","pressed","size","squared","tag","variant","handleFocus","isLink","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","autocomplete","_ref2","listeners","children","currentTarget","propagation","fn","focusout","undefined","ariaRole","vertical","BButtonGroup","ButtonGroupPlugin","BBtnGroup"],"sourceRoot":""}