{"version":3,"file":"js/6935-8bdca762037eea05fa42.chunk.js","mappings":"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","sources":["webpack://agra/./app/javascript/components/modal.vue","webpack://agra/./app/javascript/components/modal.vue?daec","webpack://agra/./node_modules/vue-loader/dist/exportHelper.js","webpack://agra/./app/javascript/discussion-forum/thread-for-feed.vue","webpack://agra/./app/javascript/discussion-forum/reply-create-control.vue","webpack://agra/./app/javascript/discussion-forum/reply-create-control.vue?721d","webpack://agra/./app/javascript/discussion-forum/thread-for-feed.vue?e937","webpack://agra/./node_modules/lodash/isRegExp.js","webpack://agra/./app/javascript/components/alert.vue","webpack://agra/./app/javascript/components/alert.vue?be3d","webpack://agra/./node_modules/lodash/_unicodeSize.js","webpack://agra/./node_modules/lodash/_baseIsRegExp.js","webpack://agra/./node_modules/lodash/_stringSize.js","webpack://agra/./node_modules/lodash/truncate.js","webpack://agra/./node_modules/lodash/_asciiSize.js"],"sourcesContent":["<template>\n  <div :id=\"modalId\" ref=\"root\" tabindex=\"-1\" role=\"dialog\" class=\"modal fade\">\n    <div class=\"modal-dialog\" :class=\"modalSizeClass\" role=\"document\">\n      <div class=\"modal-content\">\n        <div v-if=\"!headerless\" class=\"modal-header\">\n          <slot name=\"header\">\n            <h4 v-if=\"title\" class=\"modal-title mt-0\">\n              <slot name=\"title\">\n                {{ title }}\n              </slot>\n            </h4>\n            <button type=\"button\" class=\"btn-close\" :aria-label=\"i18n.t('close')\" @click=\"close\" />\n          </slot>\n        </div>\n        <div class=\"sub-heading\">\n          <slot name=\"sub-heading\" />\n        </div>\n        <div class=\"modal-body\" :class=\"{'paddingless-body': paddinglessBody}\">\n          <slot name=\"body\" />\n        </div>\n        <div v-if=\"hasFooterSlot\" class=\"modal-footer\">\n          <slot name=\"footer\" />\n        </div>\n      </div>\n    </div>\n\n    <slot name=\"outer-navigation\" />\n  </div>\n</template>\n\n<script>\nimport { Modal } from 'bootstrap'\n\nexport default {\n  props: {\n    modalId: {\n      type: String,\n      required: true\n    },\n    title: {\n      type: String,\n      required: false\n    },\n    showOnMount: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    size: {\n      type: String,\n      required: false,\n      default: 'lg'\n    },\n    clickOutsideToClose: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n    headerless: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    paddinglessBody: {\n      type: Boolean,\n      required: false,\n      default: false\n    }\n  },\n\n  emits: ['visibility-changed'],\n\n  data() {\n    return {\n      bootstrapModal: null,\n      transitionInProgress: false,\n      visibility: 'hidden'\n    }\n  },\n\n  computed: {\n    backdropSetting() {\n      if (this.clickOutsideToClose) {\n        return true\n      } else {\n        return 'static'\n      }\n    },\n\n    hasFooterSlot() {\n      return Object.keys(this.$slots).includes('footer')\n    },\n\n    modalSizeClass() {\n      return `modal-${this.size}`\n    }\n  },\n\n  watch: {\n    clickOutsideToClose: function() {\n      // Update the settings on the live Bootstrap modal to change whether clicks on the backdrop close the modal.\n      // This relies on an undocumented internal data structure, and will need to be updated at our next major version\n      // upgrade of bootstrap. Unfortunately, there is no supported API for changing this attribute of an already-open\n      // modal.\n      this.bootstrapModal._config.backdrop = this.backdropSetting\n    }\n  },\n\n  mounted() {\n    const vm = this\n    const rootElement = this.$refs.root\n\n    rootElement.addEventListener('hidden.bs.modal', function () {\n      vm.transitionInProgress = false\n      vm.visibility = 'hidden'\n      vm.$emit('visibility-changed', 'hidden')\n    })\n\n    rootElement.addEventListener('shown.bs.modal', function () {\n      vm.transitionInProgress = false\n      vm.visibility = 'shown'\n      vm.$emit('visibility-changed', 'shown')\n    })\n\n    this.bootstrapModal = Modal.getOrCreateInstance(this.$refs.root, {backdrop: this.backdropSetting})\n    if (this.showOnMount) {\n      this.open()\n    }\n  },\n\n  beforeUnmount() {\n    if (this.visibility === 'shown') {\n      // When a bootstrap modal opens, it adds `overflow: hidden` and `padding-right: 0px` to the body.\n      // Closing the modal normally removes those, but if we open another modal right away, a timing issue\n      // can prevent these styles from clearing when we close the second modal; this then\n      // prevents the page from scrolling. To avoid this issue, clear the body style ourselves.\n      document.body.attributeStyleMap.delete('overflow')\n      document.body.attributeStyleMap.delete('padding-right')\n    }\n\n    // If we call dispose() while there is a hide-modal transition in progress, then the callback at the end of the\n    // transition will not be able to complete properly, causing a JS console error.\n    if (!this.transitionInProgress) {\n      this.bootstrapModal.dispose()\n    }\n  },\n\n  methods: {\n    close() {\n      this.transitionInProgress = true\n      this.bootstrapModal.hide()\n    },\n\n    open() {\n      this.transitionInProgress = true\n      this.bootstrapModal.show()\n    }\n  }\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  .paddingless-body {\n    padding-left: 0;\n    padding-right: 0;\n  }\n</style>\n\n","import { render } from \"./modal.vue?vue&type=template&id=149afa11&scoped=true\"\nimport script from \"./modal.vue?vue&type=script&lang=js\"\nexport * from \"./modal.vue?vue&type=script&lang=js\"\n\nimport \"./modal.vue?vue&type=style&index=0&id=149afa11&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-149afa11\"]])\n\nexport default __exports__","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n    const target = sfc.__vccOpts || sfc;\n    for (const [key, val] of props) {\n        target[key] = val;\n    }\n    return target;\n};\n","<template>\n  <div :id=\"`message-thread-${id}`\" class=\"message-thread embedly\">\n    <thread-original-message-or-deleted :thread-id=\"id\" :title=\"title\" :original-message=\"originalMessage\" />\n    <ul class=\"message-thread-replies\">\n      <thread-reply-or-deleted v-for=\"reply in replies\" :key=\"reply.id\" class=\"message\" :thread-id=\"id\" :reply=\"reply\" />\n      <reply-create-control :thread-id=\"id\" />\n    </ul>\n  </div>\n</template>\n\n<script>\nimport ThreadOriginalMessageOrDeleted from './thread-original-message-or-deleted'\nimport ThreadReplyOrDeleted from './thread-reply-or-deleted'\nimport ReplyCreateControl from './reply-create-control'\n\nexport default {\n  components: { ThreadReplyOrDeleted, ThreadOriginalMessageOrDeleted, ReplyCreateControl },\n\n  props: {\n    id: {\n      type: Number,\n      required: true\n    },\n    originalMessage: {\n      type: Object,\n      required: true\n    },\n    replies: {\n      type: Array,\n      required: true\n    },\n    title: {\n      type: String,\n      required: true\n    }\n  }\n}\n</script>\n\n<style scoped lang=\"scss\">\n  @use \"~common_styles/breakpoints\" as breakpoints;\n\n  .message-thread {\n    margin-bottom: 10px;\n  }\n\n  .message-thread-replies {\n    list-style: none;\n    padding-inline-start: 110px;\n  }\n\n  @include breakpoints.screen-mobile-only {\n    .message-thread-replies {\n      padding-inline-start: unset;\n    }\n  }\n</style>\n","<template>\n  <li class=\"message-create-control\">\n    <profile-image class=\"profile-image me-2\" :user=\"currentUser\" size=\"md\" />\n    <text-create-form :placeholder=\"i18n.t('member.forums.write_your_comment')\"\n                      name=\"reply\"\n                      :button-text=\"i18n.t('member.forums.reply')\"\n                      size=\"md\"\n                      :create-action=\"createNewReply\" />\n  </li>\n</template>\n\n<script>\nimport ProfileImage from '@/components/members/profile-image'\nimport TextCreateForm from '@/components/inputs/text-create-form'\nimport { mapState } from 'vuex'\n\nexport default {\n  components: { ProfileImage, TextCreateForm },\n\n  props: {\n    threadId: {\n      type: Number,\n      required: true\n    }\n  },\n\n  computed: {\n    ...mapState(['currentUser'])\n  },\n\n  methods: {\n    createNewReply: function(content) {\n      return this.$store.dispatch('createReply', {threadId: this.threadId, content})\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n  @use \"~common_styles/breakpoints\" as breakpoints;\n\n  .message-create-control {\n    display: flex;\n    align-items: flex-start;\n    background-color: #F3F3F3;\n    margin-bottom: 10px;\n    padding: 10px;\n  }\n\n  @include breakpoints.screen-mobile-only {\n    .profile-image {\n      display: none;\n    }\n  }\n\n</style>\n","import { render } from \"./reply-create-control.vue?vue&type=template&id=5dbd5691&scoped=true\"\nimport script from \"./reply-create-control.vue?vue&type=script&lang=js\"\nexport * from \"./reply-create-control.vue?vue&type=script&lang=js\"\n\nimport \"./reply-create-control.vue?vue&type=style&index=0&id=5dbd5691&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5dbd5691\"]])\n\nexport default __exports__","import { render } from \"./thread-for-feed.vue?vue&type=template&id=33ace7d6&scoped=true\"\nimport script from \"./thread-for-feed.vue?vue&type=script&lang=js\"\nexport * from \"./thread-for-feed.vue?vue&type=script&lang=js\"\n\nimport \"./thread-for-feed.vue?vue&type=style&index=0&id=33ace7d6&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-33ace7d6\"]])\n\nexport default __exports__","var baseIsRegExp = require('./_baseIsRegExp'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\n","<template>\n  <div class=\"alert\" :class=\"{[`alert-${alertClass}`]: true}\">\n    <slot>\n      {{ message }}\n    </slot>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    alertClass: {\n      type: String,\n      required: false,\n      default: 'danger'\n    },\n    message: {\n      type: String,\n      required: false\n    }\n  }\n}\n</script>\n","import { render } from \"./alert.vue?vue&type=template&id=713210d2\"\nimport script from \"./alert.vue?vue&type=script&lang=js\"\nexport * from \"./alert.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n    rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n    rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n    rsCombo = '[' + rsComboRange + ']',\n    rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n    rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n    rsNonAstral = '[^' + rsAstralRange + ']',\n    rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n    rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n    rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n    rsOptVar = '[' + rsVarRange + ']?',\n    rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n    rsSeq = rsOptVar + reOptMod + rsOptJoin,\n    rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n  var result = reUnicode.lastIndex = 0;\n  while (reUnicode.test(string)) {\n    ++result;\n  }\n  return result;\n}\n\nmodule.exports = unicodeSize;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n  return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nmodule.exports = baseIsRegExp;\n","var asciiSize = require('./_asciiSize'),\n    hasUnicode = require('./_hasUnicode'),\n    unicodeSize = require('./_unicodeSize');\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n  return hasUnicode(string)\n    ? unicodeSize(string)\n    : asciiSize(string);\n}\n\nmodule.exports = stringSize;\n","var baseToString = require('./_baseToString'),\n    castSlice = require('./_castSlice'),\n    hasUnicode = require('./_hasUnicode'),\n    isObject = require('./isObject'),\n    isRegExp = require('./isRegExp'),\n    stringSize = require('./_stringSize'),\n    stringToArray = require('./_stringToArray'),\n    toInteger = require('./toInteger'),\n    toString = require('./toString');\n\n/** Used as default options for `_.truncate`. */\nvar DEFAULT_TRUNC_LENGTH = 30,\n    DEFAULT_TRUNC_OMISSION = '...';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Truncates `string` if it's longer than the given maximum string length.\n * The last characters of the truncated string are replaced with the omission\n * string which defaults to \"...\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to truncate.\n * @param {Object} [options={}] The options object.\n * @param {number} [options.length=30] The maximum string length.\n * @param {string} [options.omission='...'] The string to indicate text is omitted.\n * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n * @returns {string} Returns the truncated string.\n * @example\n *\n * _.truncate('hi-diddly-ho there, neighborino');\n * // => 'hi-diddly-ho there, neighbo...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n *   'length': 24,\n *   'separator': ' '\n * });\n * // => 'hi-diddly-ho there,...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n *   'length': 24,\n *   'separator': /,? +/\n * });\n * // => 'hi-diddly-ho there...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n *   'omission': ' [...]'\n * });\n * // => 'hi-diddly-ho there, neig [...]'\n */\nfunction truncate(string, options) {\n  var length = DEFAULT_TRUNC_LENGTH,\n      omission = DEFAULT_TRUNC_OMISSION;\n\n  if (isObject(options)) {\n    var separator = 'separator' in options ? options.separator : separator;\n    length = 'length' in options ? toInteger(options.length) : length;\n    omission = 'omission' in options ? baseToString(options.omission) : omission;\n  }\n  string = toString(string);\n\n  var strLength = string.length;\n  if (hasUnicode(string)) {\n    var strSymbols = stringToArray(string);\n    strLength = strSymbols.length;\n  }\n  if (length >= strLength) {\n    return string;\n  }\n  var end = length - stringSize(omission);\n  if (end < 1) {\n    return omission;\n  }\n  var result = strSymbols\n    ? castSlice(strSymbols, 0, end).join('')\n    : string.slice(0, end);\n\n  if (separator === undefined) {\n    return result + omission;\n  }\n  if (strSymbols) {\n    end += (result.length - end);\n  }\n  if (isRegExp(separator)) {\n    if (string.slice(end).search(separator)) {\n      var match,\n          substring = result;\n\n      if (!separator.global) {\n        separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n      }\n      separator.lastIndex = 0;\n      while ((match = separator.exec(substring))) {\n        var newEnd = match.index;\n      }\n      result = result.slice(0, newEnd === undefined ? end : newEnd);\n    }\n  } else if (string.indexOf(baseToString(separator), end) != end) {\n    var index = result.lastIndexOf(separator);\n    if (index > -1) {\n      result = result.slice(0, index);\n    }\n  }\n  return result + omission;\n}\n\nmodule.exports = truncate;\n","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\nmodule.exports = asciiSize;\n"],"names":["class","key","props","modalId","type","String","required","title","showOnMount","Boolean","default","size","clickOutsideToClose","headerless","paddinglessBody","emits","data","bootstrapModal","transitionInProgress","visibility","computed","backdropSetting","this","hasFooterSlot","Object","keys","$slots","includes","modalSizeClass","watch","_config","backdrop","mounted","vm","rootElement","$refs","root","addEventListener","$emit","Modal","getOrCreateInstance","open","beforeUnmount","document","body","attributeStyleMap","delete","dispose","methods","close","hide","show","_createElementBlock","id","$props","ref","tabindex","role","_createElementVNode","_normalizeClass","$options","_hoisted_2","_createCommentVNode","_hoisted_3","_renderSlot","_ctx","_hoisted_4","_createTextVNode","_toDisplayString","i18n","t","onClick","_cache","args","_hoisted_5","_hoisted_6","undefined","_hoisted_7","_hoisted_1","exports","sfc","target","__vccOpts","val","components","ProfileImage","TextCreateForm","threadId","Number","mapState","createNewReply","content","$store","dispatch","_createVNode","_component_profile_image","user","currentUser","_component_text_create_form","placeholder","name","ThreadReplyOrDeleted","ThreadOriginalMessageOrDeleted","ReplyCreateControl","originalMessage","replies","Array","_component_thread_original_message_or_deleted","_Fragment","_renderList","reply","_createBlock","_component_thread_reply_or_deleted","_component_reply_create_control","baseIsRegExp","baseUnary","nodeUtil","nodeIsRegExp","isRegExp","module","alertClass","message","rsAstralRange","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","join","rsSymbol","reUnicode","RegExp","string","result","lastIndex","test","baseGetTag","isObjectLike","value","asciiSize","hasUnicode","unicodeSize","baseToString","castSlice","isObject","stringSize","stringToArray","toInteger","toString","reFlags","options","length","omission","separator","strLength","strSymbols","end","slice","search","match","substring","global","source","exec","newEnd","index","indexOf","lastIndexOf","baseProperty"],"sourceRoot":""}