diff options
author | dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 2023-06-10 04:35:38 +0000 |
---|---|---|
committer | nextcloud-command <nextcloud-command@users.noreply.github.com> | 2023-06-11 08:04:17 +0000 |
commit | d4bebc5d293cbd656abdd5ef1e24b4fb6e84b52b (patch) | |
tree | fdb349e8040dcf22520c2471f2c985b4048ba9e2 /dist/2323-2323.js.map | |
parent | 689936020d4a0d7dc62b4504bf6b1b19a5ffd399 (diff) | |
download | nextcloud-server-d4bebc5d293cbd656abdd5ef1e24b4fb6e84b52b.tar.gz nextcloud-server-d4bebc5d293cbd656abdd5ef1e24b4fb6e84b52b.zip |
chore(deps): Bump @nextcloud/event-bus from 3.0.2 to 3.1.0
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-event-bus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.0.2...v3.1.0)
---
updated-dependencies:
- dependency-name: "@nextcloud/event-bus"
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Diffstat (limited to 'dist/2323-2323.js.map')
-rw-r--r-- | dist/2323-2323.js.map | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/2323-2323.js.map b/dist/2323-2323.js.map index d4fa42dcc19..0e22f8acf64 100644 --- a/dist/2323-2323.js.map +++ b/dist/2323-2323.js.map @@ -1 +1 @@ -{"version":3,"file":"2323-2323.js?v=27ed0a89c036e0597842","mappings":"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jD,GAGFC,EAA2BpjD,EACpC,CAGA,SAASojD,EAA2BpjD,GAClC,OAAa,KAATA,GACF42C,EAAQE,QAAQ92C,GACTqjD,IAGL,QAAcrjD,IAChB42C,EAAQE,QAAQ92C,GACTojD,GAGFJ,EAA4BhjD,EACrC,CAGA,SAASqjD,EAA6BrjD,GACpC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEO45C,EAAI55C,GAGA,KAATA,GAAwB,KAATA,GACjB42C,EAAQE,QAAQ92C,GAChBo/C,EAASp/C,EACFsjD,IAGL,QAActjD,IAChB42C,EAAQE,QAAQ92C,GACTqjD,IAGTjE,EAAS,KACFmE,EAA+BvjD,GACxC,CAGA,SAASsjD,EAA6BtjD,GACpC,OAAa,OAATA,IAAiB,QAAmBA,GAC/B45C,EAAI55C,GAGTA,IAASo/C,GACXxI,EAAQE,QAAQ92C,GACTwjD,IAGT5M,EAAQE,QAAQ92C,GACTsjD,EACT,CAGA,SAASC,EAA+BvjD,GACtC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,IACA,QAA0BA,GAEnBojD,EAA2BpjD,IAGpC42C,EAAQE,QAAQ92C,GACTujD,EACT,CAGA,SAASC,EAAkCxjD,GACzC,OAAa,KAATA,GAAwB,KAATA,IAAe,QAAcA,GACvCgjD,EAA4BhjD,GAG9B45C,EAAI55C,EACb,CAGA,SAASkjD,EAAYljD,GACnB,OAAa,KAATA,GACF42C,EAAQE,QAAQ92C,GACTyjD,GAGF7J,EAAI55C,EACb,CAGA,SAASyjD,EAAczjD,GACrB,OAAI,QAAcA,IAChB42C,EAAQE,QAAQ92C,GACTyjD,GAGO,OAATzjD,IAAiB,QAAmBA,GACvC83C,EAAa93C,GACb45C,EAAI55C,EACV,CAGA,SAAS83C,EAAa93C,GACpB,OAAa,KAATA,GAAwB,IAATg5B,GACjB4d,EAAQE,QAAQ92C,GACT0jD,GAGI,KAAT1jD,GAAwB,IAATg5B,GACjB4d,EAAQE,QAAQ92C,GACT2jD,GAGI,KAAT3jD,GAAwB,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","sources":["webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/index.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is/convert.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents/index.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit/index.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcRichContenteditable.js","webpack:///nextcloud/node_modules/extend/index.js","webpack:///nextcloud/node_modules/inline-style-parser/index.js","webpack:///nextcloud/node_modules/style-to-object/index.js","webpack:///nextcloud/node_modules/tributejs/dist/tribute.esm.js","webpack:///nextcloud/node_modules/unified/node_modules/is-buffer/index.js","webpack:///nextcloud/node_modules/vfile/node_modules/is-buffer/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/LinkVariant.vue?7418","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue?vue&type=template&id=3834522c&","webpack://nextcloud/./node_modules/vue-material-design-icons/Magnify.vue?0775","webpack:///nextcloud/node_modules/mdast-util-definitions/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","webpack:///nextcloud/node_modules/micromark-util-character/index.js","webpack:///nextcloud/node_modules/property-information/lib/util/schema.js","webpack:///nextcloud/node_modules/property-information/lib/util/merge.js","webpack:///nextcloud/node_modules/property-information/lib/normalize.js","webpack:///nextcloud/node_modules/property-information/lib/util/info.js","webpack:///nextcloud/node_modules/property-information/lib/util/types.js","webpack:///nextcloud/node_modules/property-information/lib/util/defined-info.js","webpack:///nextcloud/node_modules/property-information/lib/util/create.js","webpack:///nextcloud/node_modules/property-information/lib/xlink.js","webpack:///nextcloud/node_modules/property-information/lib/xml.js","webpack:///nextcloud/node_modules/property-information/lib/util/case-sensitive-transform.js","webpack:///nextcloud/node_modules/property-information/lib/util/case-insensitive-transform.js","webpack:///nextcloud/node_modules/property-information/lib/xmlns.js","webpack:///nextcloud/node_modules/property-information/lib/aria.js","webpack:///nextcloud/node_modules/property-information/lib/html.js","webpack:///nextcloud/node_modules/property-information/lib/svg.js","webpack:///nextcloud/node_modules/property-information/index.js","webpack:///nextcloud/node_modules/property-information/lib/find.js","webpack:///nextcloud/node_modules/property-information/lib/hast-to-react.js","webpack:///nextcloud/node_modules/style-to-object/index.mjs","webpack:///nextcloud/node_modules/web-namespaces/index.js","webpack:///nextcloud/node_modules/hast-to-hyperscript/lib/index.js","webpack:///nextcloud/node_modules/comma-separated-tokens/index.js","webpack:///nextcloud/node_modules/rehype-react/lib/index.js","webpack:///nextcloud/node_modules/hast-util-whitespace/index.js","webpack:///nextcloud/node_modules/remark-breaks/index.js","webpack:///nextcloud/node_modules/is-absolute-url/index.js","webpack:///nextcloud/node_modules/remark-external-links/index.js","webpack:///nextcloud/node_modules/mdast-util-to-string/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-chunked/index.js","webpack:///nextcloud/node_modules/micromark-util-combine-extensions/index.js","webpack:///nextcloud/node_modules/micromark-factory-space/index.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/content.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/document.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/blank-line.js","webpack:///nextcloud/node_modules/micromark-util-subtokenize/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/content.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/flow.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/text.js","webpack:///nextcloud/node_modules/micromark-util-resolve-all/index.js","webpack:///nextcloud/node_modules/micromark/lib/create-tokenizer.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/thematic-break.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/list.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/block-quote.js","webpack:///nextcloud/node_modules/micromark-factory-destination/index.js","webpack:///nextcloud/node_modules/micromark-factory-label/index.js","webpack:///nextcloud/node_modules/micromark-factory-title/index.js","webpack:///nextcloud/node_modules/micromark-factory-whitespace/index.js","webpack:///nextcloud/node_modules/micromark-util-normalize-identifier/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/definition.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-indented.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/heading-atx.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/setext-underline.js","webpack:///nextcloud/node_modules/micromark-util-html-tag-name/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/html-flow.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-fenced.js","webpack:///nextcloud/node_modules/decode-named-character-reference/index.dom.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/character-reference.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/character-escape.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/line-ending.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-end.js","webpack:///nextcloud/node_modules/micromark-util-classify-character/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/attention.js","webpack:///nextcloud/node_modules/micromark/lib/constructs.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-start-image.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/autolink.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/html-text.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-start-link.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/hard-break-escape.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-text.js","webpack:///nextcloud/node_modules/micromark/lib/preprocess.js","webpack:///nextcloud/node_modules/micromark-util-decode-numeric-character-reference/index.js","webpack:///nextcloud/node_modules/micromark-util-decode-string/index.js","webpack:///nextcloud/node_modules/mdast-util-from-markdown/lib/index.js","webpack:///nextcloud/node_modules/micromark/lib/postprocess.js","webpack:///nextcloud/node_modules/micromark/lib/parse.js","webpack:///nextcloud/node_modules/remark-parse/index.js","webpack:///nextcloud/node_modules/remark-parse/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-sanitize-uri/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/revert.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack:///nextcloud/node_modules/unist-util-position/lib/index.js","webpack:///nextcloud/node_modules/trim-lines/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/footnote.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table-row.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/state.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/index.js","webpack:///nextcloud/node_modules/unist-util-generated/lib/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/footer.js","webpack:///nextcloud/node_modules/remark-rehype/lib/index.js","webpack:///nextcloud/node_modules/space-separated-tokens/index.js","webpack:///nextcloud/node_modules/string-length/index.js","webpack:///nextcloud/node_modules/string-length/node_modules/strip-ansi/index.js","webpack:///nextcloud/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///nextcloud/node_modules/char-regex/index.js","webpack:///nextcloud/node_modules/bail/index.js","webpack:///nextcloud/node_modules/unified/node_modules/is-plain-obj/index.js","webpack:///nextcloud/node_modules/vfile-message/lib/index.js","webpack:///nextcloud/node_modules/vfile/lib/minpath.browser.js","webpack:///nextcloud/node_modules/vfile/lib/minproc.browser.js","webpack:///nextcloud/node_modules/vfile/lib/minurl.shared.js","webpack:///nextcloud/node_modules/vfile/lib/index.js","webpack:///nextcloud/node_modules/vfile/lib/minurl.browser.js","webpack:///nextcloud/node_modules/unified/lib/index.js","webpack:///nextcloud/node_modules/trough/index.js","webpack:///nextcloud/node_modules/unist-builder/lib/index.js","webpack:///nextcloud/node_modules/unist-util-stringify-position/lib/index.js","webpack:///nextcloud/node_modules/unist-util-is/lib/index.js","webpack:///nextcloud/node_modules/unist-util-visit-parents/lib/index.js","webpack:///nextcloud/node_modules/unist-util-visit/lib/index.js"],"sourcesContent":["'use strict';\n\nvar visit = require('unist-util-visit');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: 'text-align',\n valign: 'vertical-align',\n height: 'height',\n width: 'width',\n};\n\nmodule.exports = function tableCellStyle(node) {\n visit(node, 'element', visitor);\n return node;\n};\n\nfunction visitor(node) {\n if (node.tagName !== 'tr' && node.tagName !== 'td' && node.tagName !== 'th') {\n return;\n }\n\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (\n !hasOwnProperty.call(hastCssPropertyMap, hastName) ||\n node.properties[hastName] === undefined\n ) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\n\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || '').trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += ';';\n }\n if (prevStyle) {\n prevStyle += ' ';\n }\n var nextStyle = prevStyle + property + ': ' + value + ';';\n node.properties.style = nextStyle;\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = []\n var subresult\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)))\n return subresult[0] === EXIT ? subresult : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var result\n\n while (index > min && index < children.length) {\n result = one(children[index], index, parents)\n\n if (result[0] === EXIT) {\n return result\n }\n\n index = typeof result[1] === 'number' ? result[1] : index + step\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","/*! For license information please see NcRichContenteditable.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/NcRichContenteditable\"]=e())}(self,(()=>(()=>{var t={9456:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(9104),r=n(1205),o=n(5512),a=n.n(o),s=n(6915),l=n.n(s);const c={name:\"NcInputField\",components:{NcButton:i.default,AlertCircle:a(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"text\",\"password\",\"email\",\"tel\",\"url\",\"search\",\"number\"].includes(t)}},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:\"\"},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},disabled:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:\"\"}},emits:[\"update:value\",\"trailing-button-click\"],computed:{computedId:function(){return this.$attrs.id&&\"\"!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:function(){return\"input\"+(0,r.Z)()},hasLeadingIcon:function(){return this.$slots.default},hasTrailingIcon:function(){return this.success},hasPlaceholder:function(){return\"\"!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder:function(){return this.labelVisible?this.hasPlaceholder?this.placeholder:\"\":this.hasPlaceholder?this.placeholder:this.label},isValidLabel:function(){var t=this.label||this.labelOutside;return t||console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\"),t}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)},handleTrailingButtonClick:function(t){this.$emit(\"trailing-button-click\",t)}}}},1039:(t,e,n)=>{\"use strict\";n.d(e,{s:()=>i,x:()=>r});var i=function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"input-field\"},[!t.labelOutside&&t.isValidLabel?e(\"label\",{staticClass:\"input-field__label\",class:{\"input-field__label--hidden\":!t.labelVisible},attrs:{for:t.computedId}},[t._v(\"\\n\\t\\t\"+t._s(t.label)+\"\\n\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"input-field__main-wrapper\"},[e(\"input\",t._g(t._b({ref:\"input\",staticClass:\"input-field__input\",class:[t.inputClass,{\"input-field__input--trailing-icon\":t.showTrailingButton||t.hasTrailingIcon,\"input-field__input--leading-icon\":t.hasLeadingIcon,\"input-field__input--success\":t.success,\"input-field__input--error\":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,\"aria-describedby\":t.helperText.length>0?\"\".concat(t.inputName,\"-helper-text\"):\"\",\"aria-live\":\"polite\"},domProps:{value:t.value},on:{input:t.handleInput}},\"input\",t.$attrs,!1),t.$listeners)),t._v(\" \"),e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasLeadingIcon,expression:\"hasLeadingIcon\"}],staticClass:\"input-field__icon input-field__icon--leading\"},[t._t(\"default\")],2),t._v(\" \"),t.showTrailingButton?e(\"NcButton\",{staticClass:\"input-field__clear-button\",attrs:{type:\"tertiary-no-background\",\"aria-label\":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"trailing-button-icon\")]},proxy:!0}],null,!0)}):t.success||t.error?e(\"div\",{staticClass:\"input-field__icon input-field__icon--trailing\"},[t.success?e(\"Check\",{attrs:{size:18}}):t.error?e(\"AlertCircle\",{attrs:{size:18}}):t._e()],1):t._e()],1),t._v(\" \"),t.helperText.length>0?e(\"p\",{staticClass:\"input-field__helper-text-message\",class:{\"input-field__helper-text-message--error\":t.error,\"input-field__helper-text-message--success\":t.success},attrs:{id:\"\".concat(t.inputName,\"-helper-text\")}},[t.success?e(\"Check\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t.error?e(\"AlertCircle\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t._e(),t._v(\"\\n\\t\\t\"+t._s(t.helperText)+\"\\n\\t\")],1):t._e()])},r=[]},644:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>G});var i=n(9104),r=n(5825),o=n(1205),a=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(t){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},d(t)}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){m(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function m(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==d(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===d(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return f(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var v=\".focusable\";const g={name:\"NcActions\",components:{NcButton:i.default,DotsHorizontal:u(),NcPopover:r.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:null},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:(0,a.t)(\"Actions\")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:[String,Object,Element,Boolean],default:\"body\"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0}},emits:[\"update:open\",\"open\",\"update:open\",\"close\",\"focus\",\"blur\"],data:function(){return{opened:this.open,focusIndex:0,randomId:\"menu-\".concat((0,o.Z)())}},computed:{triggerBtnType:function(){return this.type||(this.primary?\"primary\":this.menuTitle?\"secondary\":\"tertiary\")}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},methods:{isValidSingleAction:function(t){var e,n,i,r,o,a=null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag;return[\"NcActionButton\",\"NcActionLink\",\"NcActionRouter\"].includes(a)},openMenu:function(t){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:t}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(v);if(n){var i=h(this.$refs.menu.querySelectorAll(v)).indexOf(n);i>-1&&(this.focusIndex=i,this.focusAction())}}}},onKeydown:function(t){(38===t.keyCode||9===t.keyCode&&t.shiftKey)&&this.focusPreviousAction(t),(40===t.keyCode||9===t.keyCode&&!t.shiftKey)&&this.focusNextAction(t),33===t.keyCode&&this.focusFirstAction(t),34===t.keyCode&&this.focusLastAction(t),27===t.keyCode&&(this.closeMenu(),t.preventDefault())},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(v)[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(v).length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$refs.menu.querySelectorAll(v).length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}},render:function(t){var e=this,n=(this.$slots.default||[]).filter((function(t){var e,n,i,r;return(null==t||null===(e=t.componentOptions)||void 0===e?void 0:e.tag)||(null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)})),i=n.every((function(t){var e,n,i,r,o,a,s,l;return\"NcActionLink\"===(null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag)&&(null==t||null===(a=t.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),r=n.filter(this.isValidSingleAction);if(this.forceMenu&&r.length>0&&this.inline>0&&(l().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),r=[]),0!==n.length){var o=function(n){var i,r,o,a,s,l,c,u,d,p,m,h,f,v,g,C,b,y,x,w,k,_,S=(null==n||null===(i=n.data)||void 0===i||null===(r=i.scopedSlots)||void 0===r||null===(o=r.icon())||void 0===o?void 0:o[0])||t(\"span\",{class:[\"icon\",null==n||null===(a=n.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s?void 0:s.icon]}),B=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,j=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(m=p.text)||void 0===m||null===(h=m.trim)||void 0===h?void 0:h.call(m),E=(null==n||null===(f=n.componentOptions)||void 0===f||null===(v=f.propsData)||void 0===v?void 0:v.ariaLabel)||j,N=e.forceTitle?j:\"\",P=null==n||null===(g=n.componentOptions)||void 0===g||null===(C=g.propsData)||void 0===C?void 0:C.title;return e.forceTitle||P||(P=j),t(\"NcButton\",{class:[\"action-item action-item--single\",null==n||null===(b=n.data)||void 0===b?void 0:b.staticClass,null==n||null===(y=n.data)||void 0===y?void 0:y.class],attrs:{\"aria-label\":E,title:P},ref:null==n||null===(x=n.data)||void 0===x?void 0:x.ref,props:A({type:e.type||(N?\"secondary\":\"tertiary\"),disabled:e.disabled||(null==n||null===(w=n.componentOptions)||void 0===w||null===(k=w.propsData)||void 0===k?void 0:k.disabled),ariaHidden:e.ariaHidden},null==n||null===(_=n.componentOptions)||void 0===_?void 0:_.propsData),on:A({focus:e.onFocus,blur:e.onBlur},!!B&&{click:function(t){B&&B(t)}})},[t(\"template\",{slot:\"icon\"},[S]),N])},a=function(n){var r,o,a=(null===(r=e.$slots.icon)||void 0===r?void 0:r[0])||(e.defaultIcon?t(\"span\",{class:[\"icon\",e.defaultIcon]}):t(\"DotsHorizontal\",{props:{size:20}}));return t(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\",setReturnFocus:null===(o=e.$refs.menuButton)||void 0===o?void 0:o.$el},attrs:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\"},on:{show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[t(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:e.triggerBtnType,disabled:e.disabled,ariaHidden:e.ariaHidden},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":i?null:\"menu\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.opened?e.randomId:null,\"aria-expanded\":e.opened.toString()},on:{focus:e.onFocus,blur:e.onBlur}},[t(\"template\",{slot:\"icon\"},[a]),e.menuTitle]),t(\"div\",{class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:e.onKeydown,mousemove:e.onMouseFocusAction},ref:\"menu\"},[t(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\",role:i?null:\"menu\"}},[n])])])};if(1===n.length&&1===r.length&&!this.forceMenu)return o(r[0]);if(r.length>0&&this.inline>0){var s=r.slice(0,this.inline),c=n.filter((function(t){return!s.includes(t)}));return t(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(h(s.map(o)),[c.length>0?t(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[a(c)]):null]))}return t(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[a(n)])}}};var C=n(3379),b=n.n(C),y=n(7795),x=n.n(y),w=n(569),k=n.n(w),_=n(3565),S=n.n(_),B=n(9216),j=n.n(B),E=n(4589),N=n.n(E),P=n(8827),z={};z.styleTagTransform=N(),z.setAttributes=S(),z.insert=k().bind(null,\"head\"),z.domAPI=x(),z.insertStyleElement=j();b()(P.Z,z);P.Z&&P.Z.locals&&P.Z.locals;var O=n(5565),D={};D.styleTagTransform=N(),D.setAttributes=S(),D.insert=k().bind(null,\"head\"),D.domAPI=x(),D.insertStyleElement=j();b()(O.Z,D);O.Z&&O.Z.locals&&O.Z.locals;var T=n(1900),L=n(5727),I=n.n(L),$=(0,T.Z)(g,undefined,undefined,!1,null,\"20a3e950\",null);\"function\"==typeof I()&&I()($);const G=$.exports},8091:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>Z});var i=n(5825),r=n(306),o=n(5378),a=n(7993),s=n(3351),l=n(932),c=n(768),u=n.n(c),d=n(1441),p=n.n(d),A=n(3607),m=n(542),h=n(7672),f=n(4262),v=n(4055);function g(t){return g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},g(t)}function C(){C=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(j([])));v&&v!==e&&n.call(v,o)&&(h=v);var b=m.prototype=p.prototype=Object.create(h);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==g(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return A.prototype=m,i(b,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),l(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),l(b,s,\"Generator\"),l(b,o,(function(){return this})),l(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function b(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function y(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){b(o,i,r,a,s,\"next\",t)}function s(t){b(o,i,r,a,s,\"throw\",t)}a(void 0)}))}}var x=(0,h.getBuilder)(\"nextcloud\").persist().build();function w(t){var e=x.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function k(t,e){t&&x.setItem(\"user-has-avatar.\"+t,e)}const _={name:\"NcAvatar\",directives:{ClickOutside:v.vOnClickOutside},components:{DotsHorizontal:p(),NcLoadingIcon:o.default,NcPopover:i.default,NcPopoverMenu:r.default},mixins:[s.iQ],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:[String,Object,Element,Boolean],default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){var t,e;if(this.hasMenu)return this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,l.t)(\"Avatar of {displayName}, {status}\",{displayName:null!==(e=this.displayName)&&void 0!==e?e:this.user,status:this.userStatus.status}):(0,l.t)(\"Avatar of {displayName}\",{displayName:null!==(t=this.displayName)&&void 0!==t?t:this.user})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=(0,A.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){return{\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.45*this.size)+\"px\"}},initialsWrapperStyle:function(){var t=(0,a.default)(this.getUserIdentifier),e=t.r,n=t.g,i=t.b;return{backgroundColor:\"rgba(\".concat(e,\", \").concat(n,\", \").concat(i,\", 0.1)\")}},initialsStyle:function(){var t=(0,a.default)(this.getUserIdentifier),e=t.r,n=t.g,i=t.b;return{color:\"rgb(\".concat(e,\", \").concat(n,\", \").concat(i,\")\")}},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),(0,m.subscribe)(\"settings:avatar:updated\",this.loadAvatarUrl),(0,m.subscribe)(\"settings:display-name:updated\",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,m.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroy:function(){(0,m.unsubscribe)(\"settings:avatar:updated\",this.loadAvatarUrl),(0,m.unsubscribe)(\"settings:display-name:updated\",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(0,m.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return y(C().mark((function e(){return C().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return y(C().mark((function e(){var n,i,r;return C().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,u().post((0,f.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,r=i.data,t.contactsMenuActions=r.topAction?[r.topAction].concat(r.actions):r.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){var t=this.avatarUrlGenerator(this.user,64),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,512)+\" 8x\"].join(\", \");this.updateImageIfValid(t,e)}else{var n=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(n)}},avatarUrlGenerator:function(t,e){var n,i=\"invert(100%)\"===window.getComputedStyle(document.body).getPropertyValue(\"--background-invert-if-dark\"),r=\"/avatar/{user}/{size}\"+(i?\"/dark\":\"\");this.isGuest&&(r=\"/avatar/guest/{user}/{size}\"+(i?\"/dark\":\"\"));var o=(0,f.generateUrl)(r,{user:t,size:e});return t===(null===(n=(0,A.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(o+=\"?v=\"+oc_userconfig.avatar.version),o},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=w(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var r=new Image;r.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,k(e.user,!0)},r.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,k(e.user,!1)},n&&(r.srcset=n),r.src=t}}};var S=n(3379),B=n.n(S),j=n(7795),E=n.n(j),N=n(569),P=n.n(N),z=n(3565),O=n.n(z),D=n(9216),T=n.n(D),L=n(4589),I=n.n(L),$=n(2242),G={};G.styleTagTransform=I(),G.setAttributes=O(),G.insert=P().bind(null,\"head\"),G.domAPI=E(),G.insertStyleElement=T();B()($.Z,G);$.Z&&$.Z.locals&&$.Z.locals;var M=n(1900),U=n(3051),F=n.n(U),R=(0,M.Z)(_,(function(){var t=this,e=t._self._c;return e(\"div\",t._g({directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{title:t.tooltip,tabindex:t.hasMenu?\"0\":void 0,\"aria-label\":t.avatarAriaLabel,role:t.hasMenu?\"button\":void 0},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu.apply(null,arguments)}}},t.hasMenu?{click:t.toggleMenu}:{}),[t._t(\"icon\",(function(){return[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e()]})),t._v(\" \"),t.hasMenu?e(\"NcPopover\",{attrs:{placement:\"auto\",container:t.menuContainer,shown:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"NcLoadingIcon\"):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:20}})]},proxy:!0}],null,!1,2037777893)},[e(\"NcPopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),!t.userDoesNotExist||t.iconClass||t.$slots.icon?t._e():e(\"div\",{staticClass:\"avatardiv__initials-wrapper\",style:t.initialsWrapperStyle},[e(\"div\",{staticClass:\"unknown\",style:t.initialsStyle},[t._v(\"\\n\\t\\t\\t\"+t._s(t.initials)+\"\\n\\t\\t\")])])],2)}),[],!1,null,\"f73be20c\",null);\"function\"==typeof F()&&F()(R);const Z=R.exports},9104:(t,e,n)=>{\"use strict\";function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!==i(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===i(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{default:()=>S});const s={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:\"secondary\"},nativeType:{type:String,validator:function(t){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(t)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(t){var e,n,i,r,s,l=this,c=null===(e=this.$slots.default)||void 0===e||null===(n=e[0])||void 0===n||null===(i=n.text)||void 0===i||null===(r=i.trim)||void 0===r?void 0:r.call(i),u=!!c,d=null===(s=this.$slots)||void 0===s?void 0:s.icon;c||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:c,ariaLabel:this.ariaLabel},this);var p=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.navigate,r=n.isActive,s=n.isExactActive;return t(l.to||!l.href?\"button\":\"a\",{class:[\"button-vue\",(e={\"button-vue--icon-only\":d&&!u,\"button-vue--text-only\":u&&!d,\"button-vue--icon-and-text\":d&&u},a(e,\"button-vue--vue-\".concat(l.type),l.type),a(e,\"button-vue--wide\",l.wide),a(e,\"active\",r),a(e,\"router-link-exact-active\",s),e)],attrs:o({\"aria-label\":l.ariaLabel,disabled:l.disabled,type:l.href?null:l.nativeType,role:l.href?\"button\":null,href:!l.to&&l.href?l.href:null},l.$attrs),on:o(o({},l.$listeners),{},{click:function(t){var e,n;null===(e=l.$listeners)||void 0===e||null===(n=e.click)||void 0===n||n.call(e,t),null==i||i(t)}})},[t(\"span\",{class:\"button-vue__wrapper\"},[d?t(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":l.ariaHidden}},[l.$slots.icon]):null,u?t(\"span\",{class:\"button-vue__text\"},[c]):null])])};return this.to?t(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:p}}):p()}};var l=n(3379),c=n.n(l),u=n(7795),d=n.n(u),p=n(569),A=n.n(p),m=n(3565),h=n.n(m),f=n(9216),v=n.n(f),g=n(4589),C=n.n(g),b=n(1898),y={};y.styleTagTransform=C(),y.setAttributes=h(),y.insert=A().bind(null,\"head\"),y.domAPI=d(),y.insertStyleElement=v();c()(b.Z,y);b.Z&&b.Z.locals&&b.Z.locals;var x=n(1900),w=n(2102),k=n.n(w),_=(0,x.Z)(s,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof k()&&k()(_);const S=_.exports},4378:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>b});var i=n(281),r=n(1336);const o={name:\"NcEllipsisedOption\",components:{NcHighlight:i.default},props:{name:{type:String,default:\"\"},search:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.slice(this.split):\"\"},highlight1:function(){return this.search?(0,r.Z)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}};var a=n(3379),s=n.n(a),l=n(7795),c=n.n(l),u=n(569),d=n.n(u),p=n(3565),A=n.n(p),m=n(9216),h=n.n(m),f=n(4589),v=n.n(f),g=n(436),C={};C.styleTagTransform=v(),C.setAttributes=A(),C.insert=d().bind(null,\"head\"),C.domAPI=c(),C.insertStyleElement=h();s()(g.Z,C);g.Z&&g.Z.locals&&g.Z.locals;const b=(0,n(1900).Z)(o,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"NcHighlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"NcHighlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"3daafbe0\",null).exports},1917:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>x});const i={name:\"NcEmptyContent\",props:{title:{type:String,default:\"\"},description:{type:String,default:\"\"}},computed:{hasTitle:function(){return\"\"!==this.title},hasDescription:function(){var t;return\"\"!==this.description||(null===(t=this.$slots.description)||void 0===t?void 0:t[0])}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(6291),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900),C=n(9258),b=n.n(C),y=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"empty-content\",attrs:{role:\"note\"}},[t.$slots.icon?e(\"div\",{staticClass:\"empty-content__icon\",attrs:{\"aria-hidden\":\"true\"}},[t._t(\"icon\")],2):t._e(),t._v(\" \"),t._t(\"title\",(function(){return[t.hasTitle?e(\"h2\",{staticClass:\"empty-content__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]):t._e()]})),t._v(\" \"),t.hasDescription?e(\"p\",[t._t(\"description\",(function(){return[t._v(\"\\n\\t\\t\\t\"+t._s(t.description)+\"\\n\\t\\t\")]}))],2):t._e(),t._v(\" \"),t.$slots.action?e(\"div\",{staticClass:\"empty-content__action\"},[t._t(\"action\")],2):t._e()],2)}),[],!1,null,\"1f71c9f4\",null);\"function\"==typeof b()&&b()(y);const x=y.exports},281:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>A});var i=n(1336);function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function s(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==r(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===r(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const l={name:\"NcHighlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:(0,i.Z)(this.text,this.search),e.forEach((function(t,n){t.end<t.start&&(e[n]={start:t.end,end:t.start})})),e=e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[]),e.sort((function(t,e){return t.start-e.start})),e=e.reduce((function(t,e){if(t.length){var n=t.length-1;t[n].end>=e.start?t[n]={start:t[n].start,end:Math.max(t[n].end,e.end)}:t.push(e)}else t.push(e);return t}),[]),e):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.slice(e,i.start)}),e=i.start):(t.push(a(a({},i),{},{highlight:!0,text:this.text.slice(i.start,i.end)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.slice(e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}};var c=n(1900),u=n(6274),d=n.n(u),p=(0,c.Z)(l,undefined,undefined,!1,null,null,null);\"function\"==typeof d()&&d()(p);const A=p.exports},6388:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});const i=require(\"@skjnldsv/sanitize-svg\");function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(){o=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},a=\"function\"==typeof Symbol?Symbol:{},s=a.iterator||\"@@iterator\",l=a.asyncIterator||\"@@asyncIterator\",c=a.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,s,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,s)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function o(i,a,s,l){var c=p(t[i],t,a);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==r(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){o(\"next\",t,s,l)}),(function(t){o(\"throw\",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return o(\"throw\",t,s,l)}))}l(c.arg)}var a;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){o(t,n,e,i)}))}return a=a?a.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[s];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,c,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,l,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,c,\"Generator\"),u(b,s,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function a(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function s(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function s(t){a(o,i,r,s,l,\"next\",t)}function l(t){a(o,i,r,s,l,\"throw\",t)}s(void 0)}))}}const l={name:\"NcIconSvgWrapper\",props:{svg:{type:String,default:\"\"},title:{type:String,default:\"\"}},data:function(){return{cleanSvg:\"\"}},beforeMount:function(){var t=this;return s(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.sanitizeSVG();case 2:case\"end\":return e.stop()}}),e)})))()},methods:{sanitizeSVG:function(){var t=this;return s(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.svg){e.next=2;break}return e.abrupt(\"return\");case 2:return e.next=4,(0,i.sanitizeSVG)(t.svg);case 4:t.cleanSvg=e.sent;case 5:case\"end\":return e.stop()}}),e)})))()}}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),A=n(569),m=n.n(A),h=n(3565),f=n.n(h),v=n(9216),g=n.n(v),C=n(4589),b=n.n(C),y=n(5635),x={};x.styleTagTransform=b(),x.setAttributes=f(),x.insert=m().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=g();u()(y.Z,x);y.Z&&y.Z.locals&&y.Z.locals;var w=n(1900),k=n(1287),_=n.n(k),S=(0,w.Z)(l,(function(){var t=this;return(0,t._self._c)(\"span\",{staticClass:\"icon-vue\",attrs:{role:\"img\",\"aria-hidden\":!t.title,\"aria-label\":t.title},domProps:{innerHTML:t._s(t.cleanSvg)}})}),[],!1,null,\"5bf5fa74\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},6750:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});var i=n(8091),r=n(281),o=n(6388),a=n(3351);const s={name:\"NcListItemIcon\",components:{NcAvatar:i.default,NcHighlight:r.default,NcIconSvgWrapper:o.default},mixins:[a.iQ],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},iconSvg:{type:String,default:\"\"},iconTitle:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasIconSvg:function(){return\"\"!==this.iconSvg},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},l=s;var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),A=n(569),m=n.n(A),h=n(3565),f=n.n(h),v=n(9216),g=n.n(v),C=n(4589),b=n.n(C),y=n(808),x={};x.styleTagTransform=b(),x.setAttributes=f(),x.insert=m().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=g();u()(y.Z,x);y.Z&&y.Z.locals&&y.Z.locals;var w=n(1900),k=n(8488),_=n.n(k),S=(0,w.Z)(l,(function(){var t=this,e=t._self._c;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"NcAvatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"NcAvatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"NcHighlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"NcHighlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\",(function(){return[t.hasIconSvg?e(\"NcIconSvgWrapper\",{staticClass:\"option__icon\",attrs:{svg:t.iconSvg,title:t.iconTitle}}):t.hasIcon?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon,attrs:{\"aria-label\":t.iconTitle}}):t._e()]}))],2)}),[],!1,null,\"4f3daf70\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},5378:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>x});const i={name:\"NcLoadingIcon\",props:{size:{type:Number,default:20},appearance:{type:String,validator:function(t){return[\"auto\",\"light\",\"dark\"].includes(t)},default:\"auto\"},title:{type:String,default:\"\"}},computed:{colors:function(){var t=[\"#777\",\"#CCC\"];return\"light\"===this.appearance?t:\"dark\"===this.appearance?t.reverse():[\"var(--color-loading-light)\",\"var(--color-loading-dark)\"]}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(5030),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900),C=n(9280),b=n.n(C),y=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"material-design-icon loading-icon\",attrs:{\"aria-label\":t.title,role:\"img\"}},[e(\"svg\",{attrs:{width:t.size,height:t.size,viewBox:\"0 0 24 24\"}},[e(\"path\",{attrs:{fill:t.colors[0],d:\"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z\"}}),t._v(\" \"),e(\"path\",{attrs:{fill:t.colors[1],d:\"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z\"}},[t.title?e(\"title\",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,\"c4a9cada\",null);\"function\"==typeof b()&&b()(y);const x=y.exports},1373:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>K});var i=n(7645),r=n(1206),o=n(932),a=n(1205),s=n(3648),l=n(644),c=n(9104);function u(t,e){var n,i,r,o=e;this.start=function(){r=!0,i=new Date,n=setTimeout(t,o)},this.pause=function(){r=!1,clearTimeout(n),o-=new Date-i},this.clear=function(){r=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return r&&(this.pause(),this.start()),o},this.getStateRunning=function(){return r},this.start()}var d=n(336);const p=require(\"vue-material-design-icons/ChevronLeft.vue\");var A=n.n(p),m=n(9044),h=n.n(m),f=n(8618),v=n.n(f);const g=require(\"vue-material-design-icons/Pause.vue\");var C=n.n(g);const b=require(\"vue-material-design-icons/Play.vue\");var y=n.n(b),x=n(4505),w=n(2640),k=n.n(w);function _(t){return _=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_(t)}function S(){S=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(j([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==_(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function B(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function j(t){return function(t){if(Array.isArray(t))return E(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return E(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const N={name:\"NcModal\",components:{NcActions:l.default,ChevronLeft:A(),ChevronRight:h(),Close:v(),Pause:C(),Play:y(),NcButton:c.default},directives:{tooltip:d.default},mixins:[s.Z],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return[\"small\",\"normal\",\"large\",\"full\"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:[String,null],default:\"body\"},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:function(){return[]}},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0}},emits:[\"previous\",\"next\",\"close\",\"update:show\"],data:function(){return{mc:null,playing:!1,slideshowTimeout:null,iconSize:24,focusTrap:null,randId:(0,a.Z)(),internalShow:!0}},computed:{showModal:function(){return void 0===this.show?this.internalShow:this.show},modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?(0,o.t)(\"Pause slideshow\"):(0,o.t)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}},closeButtonAriaLabel:function(){return(0,o.t)(\"Close modal\")},prevButtonAriaLabel:function(){return(0,o.t)(\"Previous\")},nextButtonAriaLabel:function(){return(0,o.t)(\"Next\")}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements:function(t){if(this.focusTrap){var e=this.$refs.mask;this.focusTrap.updateContainerElements([e].concat(j(t)))}}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var t=this;(this.useFocusTrap(),this.mc=new(k())(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(e){t.handleSwipe(e)})),this.container)&&(\"body\"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed:function(){this.clearFocusTrap(),this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit(\"previous\",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit(\"next\",t))},close:function(t){var e=this;this.canClose&&(this.internalShow=!1,this.$emit(\"update:show\",!1),setTimeout((function(){e.$emit(\"close\",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&(\"swipeleft\"===t.type?this.next(t):\"swiperight\"===t.type&&this.previous(t))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new u((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()},useFocusTrap:function(){var t,e=this;return(t=S().mark((function t(){var n;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.showModal&&!e.focusTrap){t.next=2;break}return t.abrupt(\"return\");case 2:return n=e.$refs.mask,t.next=5,e.$nextTick();case 5:e.focusTrap=(0,x.createFocusTrap)(n,{allowOutsideClick:!0,trapStack:(0,r.L)()}),e.focusTrap.activate();case 7:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){B(o,i,r,a,s,\"next\",t)}function s(t){B(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()},clearFocusTrap:function(){var t;this.focusTrap&&(null===(t=this.focusTrap)||void 0===t||t.deactivate(),this.focusTrap=null)}}};var P=n(3379),z=n.n(P),O=n(7795),D=n.n(O),T=n(569),L=n.n(T),I=n(3565),$=n.n(I),G=n(9216),M=n.n(G),U=n(4589),F=n.n(U),R=n(4167),Z={};Z.styleTagTransform=F(),Z.setAttributes=$(),Z.insert=L().bind(null,\"head\"),Z.domAPI=D(),Z.insertStyleElement=M();z()(R.Z,Z);R.Z&&R.Z.locals&&R.Z.locals;var q=n(1900),W=n(9989),Y=n.n(W),V=(0,q.Z)(N,(function(){var t=this,e=t._self._c;return e(\"transition\",{attrs:{name:\"fade\",appear:\"\"},on:{\"after-enter\":t.useFocusTrap,\"before-leave\":t.clearFocusTrap}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},style:t.cssVariables,attrs:{role:\"dialog\",\"aria-modal\":\"true\",\"aria-labelledby\":\"modal-title-\"+t.randId,\"aria-describedby\":\"modal-description-\"+t.randId}},[e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"div\",{staticClass:\"modal-header\"},[\"\"!==t.title.trim()?e(\"h2\",{staticClass:\"modal-title\",attrs:{id:\"modal-title-\"+t.randId}},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?e(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":t.slideshowPaused},attrs:{type:\"button\"},on:{click:t.togglePlayPause}},[t.playing?e(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:t.iconSize}}):e(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:t.iconSize}}),t._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.playing?e(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[e(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()],1):t._e(),t._v(\" \"),e(\"NcActions\",{staticClass:\"header-actions\",attrs:{inline:t.inlineActions}},[t._t(\"actions\")],2),t._v(\" \"),t.canClose&&!t.closeButtonContained?e(\"NcButton\",{staticClass:\"header-close\",attrs:{\"aria-label\":t.closeButtonAriaLabel,type:\"tertiary\"},on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:t.iconSize}})]},proxy:!0}],null,!1,1841713362)}):t._e()],1)])]),t._v(\" \"),e(\"transition\",{attrs:{name:t.modalTransitionName,appear:\"\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\".concat(t.size),t.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close.apply(null,arguments)}}},[e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"NcButton\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious,expression:\"hasPrevious\"}],staticClass:\"prev\",class:{invisible:!t.hasPrevious},attrs:{type:\"tertiary-no-background\",\"aria-label\":t.prevButtonAriaLabel},on:{click:t.previous},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ChevronLeft\",{attrs:{size:40}})]},proxy:!0}])})],1),t._v(\" \"),e(\"div\",{staticClass:\"modal-container\",attrs:{id:\"modal-description-\"+t.randId}},[t._t(\"default\"),t._v(\" \"),t.canClose&&t.closeButtonContained?e(\"NcButton\",{staticClass:\"modal-container__close\",attrs:{type:\"tertiary\",\"aria-label\":t.closeButtonAriaLabel},on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],2),t._v(\" \"),e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"NcButton\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext,expression:\"hasNext\"}],staticClass:\"next\",class:{invisible:!t.hasNext},attrs:{type:\"tertiary-no-background\",\"aria-label\":t.nextButtonAriaLabel},on:{click:t.next},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ChevronRight\",{attrs:{size:40}})]},proxy:!0}])})],1)],1)])],1)])}),[],!1,null,\"1350db4f\",null);\"function\"==typeof Y()&&Y()(V);const H=V.exports;(0,i.Z)(H);const K=H},2917:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>z});var i=n(3379),r=n.n(i),o=n(7795),a=n.n(o),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),A=n(4589),m=n.n(A),h=n(636),f={};f.styleTagTransform=m(),f.setAttributes=u(),f.insert=l().bind(null,\"head\"),f.domAPI=a(),f.insertStyleElement=p();r()(h.Z,f);h.Z&&h.Z.locals&&h.Z.locals;var v=n(4378),g=n(6750),C=n(5378),b=n(336),y=n(3648);const x=require(\"vue-multiselect\");var w=n.n(x);function k(t){return k=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},k(t)}const _={name:\"NcMultiselect\",components:{NcEllipsisedOption:v.default,NcListItemIcon:g.default,NcLoadingIcon:C.default,VueMultiselect:w()},directives:{tooltip:b.default},mixins:[y.Z],inheritAttrs:!1,props:{value:{default:function(){return[]}},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},emits:[\"change\",\"update:value\"],data:function(){return{elWidth:0,ariaExpanded:!1}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==k(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}},willCloseOnSelect:function(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===k(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},S=_;var B=n(1900),j=n(6049),E=n.n(j),N=(0,B.Z)(S,(function(){var t=this,e=t._self._c;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,loading:t.loading,\"aria-expanded\":t.ariaExpanded.toString(),\"close-on-select\":t.willCloseOnSelect,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},on:{close:function(e){t.ariaExpanded=!1},open:function(e){t.ariaExpanded=!0}},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"NcListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"NcListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"NcEllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),search:n.search}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[t._t(\"noResult\",(function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]}))]},proxy:!0},{key:\"loading\",fn:function(){return[t.loading?e(\"NcLoadingIcon\"):t._e()]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof E()&&E()(N);const P=N.exports;(0,n(7645).Z)(P);const z=P},5825:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>E});var i=n(9454),r=n(4505),o=n(1206);function a(t){return a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},a(t)}function s(){s=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",l=r.asyncIterator||\"@@asyncIterator\",c=r.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,o,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,o)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,s,l){var c=p(t[i],t,o);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==a(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,s,l)}),(function(t){r(\"throw\",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return r(\"throw\",t,s,l)}))}l(c.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,c,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,l,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,c,\"Generator\"),u(b,o,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function l(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const c={name:\"NcPopover\",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:[\"after-show\",\"after-hide\"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var t,e=this;return(t=s().mark((function t(){var n,i,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$nextTick();case 2:if(e.focusTrap){t.next=4;break}return t.abrupt(\"return\");case 4:if(a=null===(n=e.$refs.popover)||void 0===n||null===(i=n.$refs.popperContent)||void 0===i?void 0:i.$el){t.next=7;break}return t.abrupt(\"return\");case 7:e.$focusTrap=(0,r.createFocusTrap)(a,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:e.setReturnFocus,trapStack:(0,o.L)()}),e.$focusTrap.activate();case 9:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){l(o,i,r,a,s,\"next\",t)}function s(t){l(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()},clearFocusTrap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var e;null===(e=this.$focusTrap)||void 0===e||e.deactivate(t),this.$focusTrap=null}catch(t){console.warn(t)}},afterShow:function(){var t=this;this.$nextTick((function(){t.$emit(\"after-show\"),t.useFocusTrap()}))},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},u=c;var d=n(3379),p=n.n(d),A=n(7795),m=n.n(A),h=n(569),f=n.n(h),v=n(3565),g=n.n(v),C=n(9216),b=n.n(C),y=n(4589),x=n.n(y),w=n(4401),k={};k.styleTagTransform=x(),k.setAttributes=g(),k.insert=f().bind(null,\"head\"),k.domAPI=m(),k.insertStyleElement=b();p()(w.Z,k);w.Z&&w.Z.locals&&w.Z.locals;var _=n(1900),S=n(2405),B=n.n(S),j=(0,_.Z)(u,(function(){var t=this;return(0,t._self._c)(\"Dropdown\",t._g(t._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"no-auto-focus\":!0,\"popper-class\":t.popoverBaseClass},on:{\"apply-show\":t.afterShow,\"apply-hide\":t.afterHide},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof B()&&B()(j);const E=j.exports},306:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});const i={name:\"NcPopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(8369),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(408),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=c().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=A();o()(g.Z,C);g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900);const y={name:\"NcPopoverMenu\",components:{NcPopoverMenuItem:(0,b.Z)(i,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"nofollow noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,r=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",r)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"127b0c62\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}};var x=n(2),w={};w.styleTagTransform=h(),w.setAttributes=d(),w.insert=c().bind(null,\"head\"),w.domAPI=s(),w.insertStyleElement=A();o()(x.Z,w);x.Z&&x.Z.locals&&x.Z.locals;var k=n(1174),_=n.n(k),S=(0,b.Z)(y,(function(){var t=this,e=t._self._c;return e(\"ul\",{staticClass:\"popover__menu\"},t._l(t.menu,(function(t,n){return e(\"NcPopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"31ffd2d4\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},2611:(t,e,n)=>{\"use strict\";n.d(e,{getLinkWithPicker:()=>Ee,searchProvider:()=>yt});window._vue_richtext_widgets||(window._vue_richtext_widgets={});window._registerWidget=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){};window._vue_richtext_widgets[t]?console.error(\"Widget for id \"+t+\" already registered\"):window._vue_richtext_widgets[t]={id:t,callback:e,onDestroy:n}};const i={name:\"NcReferenceWidget\",props:{reference:{type:Object,required:!0}},data:function(){return{compact:3}},computed:{hasCustomWidget:function(){return t=this.reference.richObjectType,!!window._vue_richtext_widgets[t];var t},noAccess:function(){return this.reference&&!this.reference.accessible},descriptionStyle:function(){if(0===this.compact)return{display:\"none\"};var t=this.compact<4?this.compact:3;return{lineClamp:t,webkitLineClamp:t}},compactLink:function(){var t=this.reference.openGraphObject.link;return t?t.startsWith(\"https://\")?t.substring(8):t.startsWith(\"http://\")?t.substring(7):t:\"\"}},mounted:function(){var t=this;this.renderWidget(),this.observer=new ResizeObserver((function(e){e[0].contentRect.width<450?t.compact=0:e[0].contentRect.width<550?t.compact=1:e[0].contentRect.width<650?t.compact=2:t.compact=3})),this.observer.observe(this.$el)},beforeDestroy:function(){var t,e;this.observer.disconnect(),t=this.reference.richObjectType,e=this.$el,\"open-graph\"!==t&&window._vue_richtext_widgets[t]&&window._vue_richtext_widgets[t].onDestroy(e)},methods:{renderWidget:function(){var t,e=this;this.$refs.customWidget&&(this.$refs.customWidget.innerHTML=\"\"),\"open-graph\"!==(null==this||null===(t=this.reference)||void 0===t?void 0:t.richObjectType)&&this.$nextTick((function(){var t,n,i,r,o;t=e.$refs.customWidget,n=e.reference,i=n.richObjectType,r=n.richObject,o=n.accessible,\"open-graph\"!==i&&(window._vue_richtext_widgets[i]?window._vue_richtext_widgets[i].callback(t,{richObjectType:i,richObject:r,accessible:o}):console.error(\"Widget for rich object type \"+i+\" not registered\"))}))}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(1880),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900);const C=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"div\",[t.reference&&t.hasCustomWidget?e(\"div\",{staticClass:\"widget-custom\"},[e(\"div\",{ref:\"customWidget\"})]):!t.noAccess&&t.reference&&t.reference.openGraphObject&&!t.hasCustomWidget?e(\"a\",{staticClass:\"widget-default\",attrs:{href:t.reference.openGraphObject.link,rel:\"noopener noreferrer\",target:\"_blank\"}},[t.reference.openGraphObject.thumb?e(\"img\",{staticClass:\"widget-default--image\",attrs:{src:t.reference.openGraphObject.thumb}}):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"widget-default--details\"},[e(\"p\",{staticClass:\"widget-default--title\"},[t._v(t._s(t.reference.openGraphObject.name))]),t._v(\" \"),e(\"p\",{staticClass:\"widget-default--description\",style:t.descriptionStyle},[t._v(t._s(t.reference.openGraphObject.description))]),t._v(\" \"),e(\"p\",{staticClass:\"widget-default--link\"},[t._v(t._s(t.compactLink))])])]):t._e()])}),[],!1,null,\"4be6aca8\",null).exports;var b=/(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/gi,y=/(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/gi,x=n(768),w=n.n(x),k=n(4262);const _={name:\"NcReferenceList\",components:{NcReferenceWidget:C},props:{text:{type:String,default:\"\"},referenceData:{type:Object,default:null},limit:{type:Number,default:1}},data:function(){return{references:null,loading:!0}},computed:{isVisible:function(){return this.loading||this.displayedReferences},values:function(){return this.referenceData?this.referenceData:this.references?Object.values(this.references):[]},firstReference:function(){var t;return null!==(t=this.values[0])&&void 0!==t?t:null},displayedReferences:function(){return this.values.slice(0,this.limit)}},watch:{text:\"fetch\"},mounted:function(){this.fetch()},methods:{fetch:function(){var t=this;this.loading=!0,this.referenceData?this.loading=!1:new RegExp(b).exec(this.text)?this.resolve().then((function(e){t.references=e.data.ocs.data.references,t.loading=!1})).catch((function(e){console.error(\"Failed to extract references\",e),t.loading=!1})):this.loading=!1},resolve:function(){var t=new RegExp(b).exec(this.text.trim());return 1===this.limit&&t?w().get((0,k.generateOcsUrl)(\"references/resolve\",2)+\"?reference=\".concat(encodeURIComponent(t[0]))):w().post((0,k.generateOcsUrl)(\"references/extract\",2),{text:this.text,resolve:!0,limit:this.limit})}}};var S=n(122),B={};B.styleTagTransform=h(),B.setAttributes=d(),B.insert=c().bind(null,\"head\"),B.domAPI=s(),B.insertStyleElement=A();o()(S.Z,B);S.Z&&S.Z.locals&&S.Z.locals;const j=(0,g.Z)(_,(function(){var t=this,e=t._self._c;return t.isVisible?e(\"div\",{staticClass:\"widgets--list\",class:{\"icon-loading\":t.loading}},t._l(t.displayedReferences,(function(t){var n;return e(\"div\",{key:null==t||null===(n=t.openGraphObject)||void 0===n?void 0:n.id},[e(\"NcReferenceWidget\",{attrs:{reference:t}})],1)})),0):t._e()}),[],!1,null,\"36a4d5cc\",null).exports,E=require(\"unist-util-visit\"),N=require(\"unist-builder\");function P(t){return function(t){if(Array.isArray(t))return z(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return z(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function z(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var O={name:\"NcLink\",props:{href:{type:String,required:!0}},render:function(t){return t(\"a\",{attrs:{href:this.href,rel:\"noopener noreferrer\",target:\"_blank\",class:\"rich-text--external-link\"}},[this.href.trim()])}},D=function(t){var e=t.autolink,n=t.useMarkdown;return function(t){n&&e&&(0,E.visit)(t,(function(t){return\"text\"===t.type}),(function(t,e,n){var i,r=T(t.value);return r=r.map((function(t){return\"string\"==typeof t?(0,N.u)(\"text\",t):(0,N.u)(\"link\",{url:t.props.href},[(0,N.u)(\"text\",t.props.href)])})).filter((function(t){return t})),(i=n.children).splice.apply(i,[e,1].concat(P(r.flat()))),[E.SKIP,e+r.flat().length]}))}},T=function(t){for(var e=y.exec(t),n=[],i=0;null!==e;){var r=e[2],o=void 0,a=t.substring(i,e.index+e[1].length);\" \"===r[0]&&(a+=r[0],r=r.substring(1).trim());var s=r[r.length-1];(\".\"===s||\",\"===s||\";\"===s||\"(\"===e[0][0]&&\")\"===s)&&(r=r.substring(0,r.length-1),o=s),n.push(a),n.push({component:O,props:{href:r}}),o&&n.push(o),i=e.index+e[0].length,e=y.exec(t)}return n.push(t.substring(i)),t===n.map((function(t){return\"string\"==typeof t?t:t.props.href})).join(\"\")?n:(console.error(\"Failed to reassemble the chunked text: \"+t),t)};function L(t){return function(t){if(Array.isArray(t))return G(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||$(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function I(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var i,r,o,a,s=[],l=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(t){c=!0,r=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw r}}return s}}(t,e)||$(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function $(t,e){if(t){if(\"string\"==typeof t)return G(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G(t,e):void 0}}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var M=function(){return function(t){(0,E.visit)(t,(function(t){return\"text\"===t.type}),(function(t,e,n){var i=t.value.split(/(\\{[a-z\\-_.0-9]+\\})/gi).map((function(t,e,n){var i=t.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);if(!i)return(0,N.u)(\"text\",t);var r=I(i,2)[1];return(0,N.u)(\"element\",{tagName:\"#\".concat(r)})}));t=(0,N.u)(\"element\",{tagName:\"span\"},L(i)),n.children[e]=t}))}};const U=require(\"unified\"),F=require(\"remark-parse\");var R=n.n(F);const Z=require(\"remark-breaks\");var q=n.n(Z);const W=require(\"remark-rehype\");var Y=n.n(W);const V=require(\"rehype-react\");var H=n.n(V);const K=require(\"remark-external-links\");var Q=n.n(K);function J(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function X(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?J(Object(n),!0).forEach((function(e){tt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function tt(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==et(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==et(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===et(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function et(t){return et=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},et(t)}const nt={name:\"NcRichText\",components:{NcReferenceList:j},props:{text:{type:String,default:\"\"},arguments:{type:Object,default:function(){return{}}},referenceLimit:{type:Number,default:0},references:{type:Object,default:null},markdownCssClasses:{type:Object,default:function(){return{a:\"rich-text--external-link\",ol:\"rich-text--ordered-list\",ul:\"rich-text--un-ordered-list\",li:\"rich-text--list-item\",strong:\"rich-text--strong\",em:\"rich-text--italic\",h1:\"rich-text--heading rich-text--heading-1\",h2:\"rich-text--heading rich-text--heading-2\",h3:\"rich-text--heading rich-text--heading-3\",h4:\"rich-text--heading rich-text--heading-4\",h5:\"rich-text--heading rich-text--heading-5\",h6:\"rich-text--heading rich-text--heading-6\",hr:\"rich-text--hr\",table:\"rich-text--table\",pre:\"rich-text--pre\",code:\"rich-text--code\",blockquote:\"rich-text--blockquote\"}}},useMarkdown:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},methods:{renderPlaintext:function(t){var e=this,n=this.text.split(/(\\{[a-z\\-_.0-9]+\\})/gi).map((function(n,i,r){var o=n.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);if(!o)return function(t,e){var n=t.h;return t.context.autolink&&(e=T(e)),Array.isArray(e)?e.map((function(t){if(\"string\"==typeof t)return t;var e=t.component,i=t.props,r=\"NcLink\"===e.name?void 0:\"rich-text--component\";return n(e,{props:i,class:r})})):e}({h:t,context:e},n);var a=o[1],s=e.arguments[a];if(\"object\"===et(s)){var l=s.component,c=s.props;return t(l,{props:c,class:\"rich-text--component\"})}return s?t(\"span\",{class:\"rich-text--fallback\"},s):n}));return t(\"div\",{class:\"rich-text--wrapper\"},[t(\"div\",{},n.flat()),this.referenceLimit>0?t(\"div\",{class:\"rich-text--reference-widget\"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])},renderMarkdown:function(t){var e=this,n=(0,U.unified)().use(R()).use(D,{autolink:this.autolink,useMarkdown:this.useMarkdown}).use(Q(),{target:\"_blank\",rel:[\"noopener noreferrer\"]}).use(q()).use(Y(),{handlers:{component:function(t,e){return t(e,e.component,{value:e.value})}}}).use(M).use(H(),{createElement:function(n,i,r){if(!n.startsWith(\"#\"))return t(n,i,r);var o=e.arguments[n.slice(1)];return o?o.component?t(o.component,{attrs:i,props:o.props,class:\"rich-text--component\"},r):t(\"span\",i,[o]):t(\"span\",X(X({},{attrs:i}),{class:\"rich-text--fallback\"}),[\"{\".concat(n.slice(1),\"}\")])},prefix:!1}).processSync(this.text).result;return t(\"div\",{class:\"rich-text--wrapper\"},[n,this.referenceLimit>0?t(\"div\",{class:\"rich-text--reference-widget\"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])}},render:function(t){return this.useMarkdown?this.renderMarkdown(t):this.renderPlaintext(t)}},it=nt;var rt=n(7856),ot={};ot.styleTagTransform=h(),ot.setAttributes=d(),ot.insert=c().bind(null,\"head\"),ot.domAPI=s(),ot.insertStyleElement=A();o()(rt.Z,ot);rt.Z&&rt.Z.locals&&rt.Z.locals;var at=n(3407),st=n.n(at),lt=(0,g.Z)(it,undefined,undefined,!1,null,\"57480046\",null);\"function\"==typeof st()&&st()(lt);lt.exports;window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});var ct=function(t){return!!window._vue_richtext_custom_picker_elements[t]};window._registerCustomPickerElement=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"large\";window._vue_richtext_custom_picker_elements[t]?console.error(\"Custom reference picker element for id \"+t+\" already registered\"):window._vue_richtext_custom_picker_elements[t]={id:t,callback:e,onDestroy:n,size:i}};const ut={name:\"NcCustomPickerElement\",props:{provider:{type:Object,required:!0}},emits:[\"cancel\",\"submit\"],data:function(){return{isRegistered:ct(this.provider.id),renderResult:null}},mounted:function(){this.isRegistered&&this.renderElement()},beforeDestroy:function(){var t,e,n;this.isRegistered&&(t=this.provider.id,e=this.$el,n=this.renderResult,window._vue_richtext_custom_picker_elements[t]&&window._vue_richtext_custom_picker_elements[t].onDestroy(e,n))},methods:{renderElement:function(){var t=this;this.$refs.domElement&&(this.$refs.domElement.innerHTML=\"\");var e=function(t,e){var n=e.providerId,i=e.accessible;if(window._vue_richtext_custom_picker_elements[n])return window._vue_richtext_custom_picker_elements[n].callback(t,{providerId:n,accessible:i});console.error(\"Custom reference picker element for reference provider ID \"+n+\" not registered\")}(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(e).then((function(e){var n,i;t.renderResult=e,null!==(n=t.renderResult.object)&&void 0!==n&&n._isVue&&null!==(i=t.renderResult.object)&&void 0!==i&&i.$on&&(t.renderResult.object.$on(\"submit\",t.onSubmit),t.renderResult.object.$on(\"cancel\",t.onCancel)),t.renderResult.element.addEventListener(\"submit\",(function(e){t.onSubmit(e.detail)})),t.renderResult.element.addEventListener(\"cancel\",t.onCancel)}))},onSubmit:function(t){this.$emit(\"submit\",t)},onCancel:function(){this.$emit(\"cancel\")}}};var dt=n(9425),pt={};pt.styleTagTransform=h(),pt.setAttributes=d(),pt.insert=c().bind(null,\"head\"),pt.domAPI=s(),pt.insertStyleElement=A();o()(dt.Z,pt);dt.Z&&dt.Z.locals&&dt.Z.locals;const At=(0,g.Z)(ut,(function(){return(0,this._self._c)(\"div\",{ref:\"domElement\"})}),[],!1,null,\"60e96d80\",null).exports;var mt=n(932),ht=n(733),ft=\"any-link\",vt={id:ft,title:(0,mt.t)(\"Any link\"),icon_url:(0,k.imagePath)(\"core\",\"filetypes/link.svg\")};function gt(t){return t===ft?vt:Ct().find((function(e){return e.id===t}))}function Ct(){return window._vue_richtext_reference_providers.filter((function(t){var e=!!t.search_providers_ids&&t.search_providers_ids.length>0||ct(t.id);return e||console.debug(\"[smart picker]\",t.id,\"reference provider is discoverable but does not have any related search provider or custom picker component registered\"),e}))}function bt(t){var e=window._vue_richtext_reference_provider_timestamps;return t.sort((function(t,e){return t.order===e.order?0:t.order>e.order?1:-1})).sort((function(t,n){var i=e[t.id],r=e[n.id];return i===r?0:void 0===r?-1:void 0===i?1:i>r?-1:1}))}function yt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=Ct(),i=t.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),r=new RegExp(i,\"i\"),o=bt(n),a=o.filter((function(t){return t.title.match(r)})),s=e?a.slice(0,e):a;return\"\"!==t&&0!==s.length||s.push(vt),s}window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=(0,ht.loadState)(\"core\",\"reference-provider-list\",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=(0,ht.loadState)(\"core\",\"reference-provider-timestamps\",{}));var xt=0;function wt(t,e){return function(){var n=this,i=arguments;clearTimeout(xt),xt=setTimeout((function(){t.apply(n,i)}),e||0)}}function kt(t){try{return Boolean(new URL(t))}catch(t){return!1}}var _t=n(1917),St=n(281),Bt=n(2917);const jt=require(\"vue-material-design-icons/LinkVariant.vue\");var Et=n.n(jt);function Nt(t){return function(t){if(Array.isArray(t))return Pt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return Pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Pt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const zt={name:\"NcProviderList\",components:{NcMultiselect:Bt.default,NcHighlight:St.default,NcEmptyContent:_t.default,LinkVariantIcon:Et()},emits:[\"select-provider\",\"submit\"],data:function(){return{selectedProvider:null,query:\"\",multiselectPlaceholder:(0,mt.t)(\"Select provider\")}},computed:{options:function(){var t=[];return\"\"!==this.query&&kt(this.query)&&t.push({id:this.query,title:this.query,isLink:!0}),t.push.apply(t,Nt(yt(this.query))),t}},methods:{focus:function(){var t=this;this.$nextTick((function(){var e,n;null===(e=t.$refs[\"provider-select\"])||void 0===e||null===(n=e.$el)||void 0===n||n.focus()}))},onProviderSelected:function(t){null!==t&&(t.isLink?this.$emit(\"submit\",t.title):this.$emit(\"select-provider\",t),this.selectedProvider=null)}}};var Ot=n(4091),Dt={};Dt.styleTagTransform=h(),Dt.setAttributes=d(),Dt.insert=c().bind(null,\"head\"),Dt.domAPI=s(),Dt.insertStyleElement=A();o()(Ot.Z,Dt);Ot.Z&&Ot.Z.locals&&Ot.Z.locals;const Tt=(0,g.Z)(zt,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"provider-list\"},[e(\"NcMultiselect\",{ref:\"provider-select\",staticClass:\"provider-list--select\",attrs:{\"track-by\":\"id\",label:\"title\",placeholder:t.multiselectPlaceholder,options:t.options,\"internal-search\":!1,\"clear-on-select\":!0,\"preserve-search\":!0,\"option-height\":44},on:{\"search-change\":function(e){t.query=e},input:t.onProviderSelected},scopedSlots:t._u([{key:\"option\",fn:function(n){var i=n.option;return[i.isLink?e(\"div\",{staticClass:\"provider\"},[e(\"LinkVariantIcon\",{staticClass:\"link-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",[t._v(t._s(i.title))])],1):e(\"div\",{staticClass:\"provider\"},[e(\"img\",{staticClass:\"provider-icon\",attrs:{src:i.icon_url}}),t._v(\" \"),e(\"NcHighlight\",{staticClass:\"option-text\",attrs:{search:t.query,text:i.title}})],1)]}}]),model:{value:t.selectedProvider,callback:function(e){t.selectedProvider=e},expression:\"selectedProvider\"}}),t._v(\" \"),e(\"NcEmptyContent\",{staticClass:\"provider-list--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"LinkVariantIcon\")]},proxy:!0}])})],1)}),[],!1,null,\"51a83e19\",null).exports;var Lt=n(5378),It=n(4941);const $t={name:\"NcRawLinkInput\",components:{LinkVariantIcon:Et(),NcEmptyContent:_t.default,NcLoadingIcon:Lt.default,NcReferenceWidget:C,NcTextField:It.default},props:{provider:{type:Object,required:!0}},emits:[\"submit\"],data:function(){return{inputValue:\"\",loading:!1,reference:null,abortController:null,inputPlaceholder:(0,mt.t)(\"Enter link\")}},computed:{isLinkValid:function(){return kt(this.inputValue)}},methods:{focus:function(){var t;null===(t=this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0])||void 0===t||t.focus()},onSubmit:function(t){var e=t.target.value;this.isLinkValid&&this.$emit(\"submit\",e)},onClear:function(){this.inputValue=\"\",this.reference=null},onInput:function(){var t=this;this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&wt((function(){t.updateReference()}),500)()},updateReference:function(){var t=this;this.loading=!0,this.abortController=new AbortController,w().get((0,k.generateOcsUrl)(\"references/resolve\",2)+\"?reference=\"+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then((function(e){t.reference=e.data.ocs.data.references[t.inputValue]})).catch((function(t){console.error(t)})).then((function(){t.loading=!1}))}}};var Gt=n(6068),Mt={};Mt.styleTagTransform=h(),Mt.setAttributes=d(),Mt.insert=c().bind(null,\"head\"),Mt.domAPI=s(),Mt.insertStyleElement=A();o()(Gt.Z,Mt);Gt.Z&&Gt.Z.locals&&Gt.Z.locals;const Ut=(0,g.Z)($t,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"raw-link\"},[e(\"div\",{staticClass:\"input-wrapper\"},[e(\"NcTextField\",{ref:\"url-input\",attrs:{value:t.inputValue,\"show-trailing-button\":\"\"!==t.inputValue,label:t.inputPlaceholder},on:{\"update:value\":[function(e){t.inputValue=e},t.onInput],\"trailing-button-click\":t.onClear},nativeOn:{keyup:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.onSubmit.apply(null,arguments)}}},[t.loading?e(\"NcLoadingIcon\",{attrs:{size:16}}):e(\"LinkVariantIcon\",{attrs:{size:16}})],1)],1),t._v(\" \"),null!==t.reference?e(\"NcReferenceWidget\",{staticClass:\"reference-widget\",attrs:{reference:t.reference}}):e(\"NcEmptyContent\",{staticClass:\"raw-link--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon\",attrs:{src:t.provider.icon_url}}):e(\"LinkVariantIcon\")]},proxy:!0}])})],1)}),[],!1,null,\"2e61b91c\",null).exports;function Ft(t){return Ft=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ft(t)}function Rt(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==Ft(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==Ft(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===Ft(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const Zt={name:\"NcSearchResult\",components:{NcHighlight:St.default},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var qt=n(9052),Wt={};Wt.styleTagTransform=h(),Wt.setAttributes=d(),Wt.insert=c().bind(null,\"head\"),Wt.domAPI=s(),Wt.insertStyleElement=A();o()(qt.Z,Wt);qt.Z&&qt.Z.locals&&qt.Z.locals;const Yt=(0,g.Z)(Zt,(function(){var t,e=this,n=e._self._c;return n(\"div\",{staticClass:\"result\"},[e.entry.icon?n(\"div\",{staticClass:\"result--icon-class\",class:(t={},Rt(t,e.entry.icon,!0),Rt(t,\"rounded\",e.entry.rounded),t)}):n(\"img\",{staticClass:\"result--image\",class:{rounded:e.entry.rounded},attrs:{src:e.entry.thumbnailUrl}}),e._v(\" \"),n(\"div\",{staticClass:\"result--content\"},[n(\"span\",{staticClass:\"result--content--title\"},[n(\"NcHighlight\",{attrs:{search:e.query,text:e.entry.title}})],1),e._v(\" \"),n(\"span\",{staticClass:\"result--content--subline\"},[n(\"NcHighlight\",{attrs:{search:e.query,text:e.entry.subline}})],1)])])}),[],!1,null,\"7297c50a\",null).exports;var Vt=n(1441),Ht=n.n(Vt);const Kt=require(\"vue-material-design-icons/Magnify.vue\");var Qt=n.n(Kt);function Jt(t){return function(t){if(Array.isArray(t))return Xt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return Xt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xt(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Xt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const te={name:\"NcSearch\",components:{LinkVariantIcon:Et(),DotsHorizontalIcon:Ht(),MagnifyIcon:Qt(),NcEmptyContent:_t.default,NcMultiselect:Bt.default,NcSearchResult:Yt},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:[\"submit\"],data:function(){return{searchQuery:\"\",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null}},computed:{mySearchPlaceholder:function(){return this.searchPlaceholder||(0,mt.t)(\"Search\")},searchProviderIds:function(){return this.provider.search_providers_ids},options:function(){if(\"\"===this.searchQuery)return[];var t=[];return kt(this.searchQuery)&&t.push(this.rawLinkEntry),t.push.apply(t,Jt(this.formattedSearchResults)),t},rawLinkEntry:function(){return{resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults:function(){var t=this,e=[];return this.searchProviderIds.forEach((function(n){t.resultsBySearchProvider[n].entries.length>0&&((t.searchProviderIds.length>1||t.resultsBySearchProvider[n].entries.length>1)&&e.push({name:t.resultsBySearchProvider[n].name,isCustomGroupTitle:!0,providerId:n}),e.push.apply(e,Jt(t.resultsBySearchProvider[n].entries)),t.resultsBySearchProvider[n].isPaginated&&e.push({name:t.resultsBySearchProvider[n].name,isMore:!0,providerId:n,isLoading:t.searchingMoreOf===n}))})),e}},mounted:function(){this.resetResults()},beforeDestroy:function(){this.cancelSearchRequests()},methods:{t:mt.t,resetResults:function(){var t={};this.searchProviderIds.forEach((function(e){t[e]={entries:[]}})),this.resultsBySearchProvider=t},focus:function(){var t,e;null===(t=this.$refs[\"search-select\"])||void 0===t||null===(e=t.$el)||void 0===e||e.focus()},cancelSearchRequests:function(){this.abortController&&this.abortController.abort()},onSearchInput:function(t){var e=this;this.searchQuery=t,wt((function(){e.updateSearch()}),500)()},onSelectResultSelected:function(t){null!==t&&(t.resourceUrl?(this.cancelSearchRequests(),this.$emit(\"submit\",t.resourceUrl)):t.isMore&&this.searchMoreOf(t.providerId)),this.selectedResult=null},searchMoreOf:function(t){this.searchingMoreOf=t,this.cancelSearchRequests(),this.searchProviders(t)},updateSearch:function(){this.cancelSearchRequests(),this.resetResults(),\"\"!==this.searchQuery?this.searchProviders():this.searching=!1},searchProviders:function(){var t,e,n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.abortController=new AbortController,this.searching=!0;var r=null===i?Jt(this.searchProviderIds).map((function(t){return n.searchOneProvider(t)})):[this.searchOneProvider(i,null!==(t=null===(e=this.resultsBySearchProvider[i])||void 0===e?void 0:e.cursor)&&void 0!==t?t:null)];return Promise.allSettled(r).then((function(t){!!t.find((function(t){return\"rejected\"===t.status&&(\"CanceledError\"===t.reason.name||\"ERR_CANCELED\"===t.reason.code)}))||(n.searching=!1,n.searchingMoreOf=null)}))},searchOneProvider:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=null===n?(0,k.generateOcsUrl)(\"search/providers/{providerId}/search?term={term}&limit={limit}\",{providerId:t,term:this.searchQuery,limit:5}):(0,k.generateOcsUrl)(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\",{providerId:t,term:this.searchQuery,limit:5,cursor:n});return w().get(i,{signal:this.abortController.signal}).then((function(n){var i,r=n.data.ocs.data;e.resultsBySearchProvider[t].name=r.name,e.resultsBySearchProvider[t].cursor=r.cursor,e.resultsBySearchProvider[t].isPaginated=r.isPaginated,(i=e.resultsBySearchProvider[t].entries).push.apply(i,Jt(r.entries))}))}}},ee=te;var ne=n(2873),ie={};ie.styleTagTransform=h(),ie.setAttributes=d(),ie.insert=c().bind(null,\"head\"),ie.domAPI=s(),ie.insertStyleElement=A();o()(ne.Z,ie);ne.Z&&ne.Z.locals&&ne.Z.locals;const re=(0,g.Z)(ee,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"smart-picker-search\",class:{\"with-empty-content\":t.showEmptyContent}},[e(\"NcMultiselect\",{ref:\"search-select\",staticClass:\"smart-picker-search--select\",attrs:{\"track-by\":\"resourceUrl\",placeholder:t.mySearchPlaceholder,options:t.options,\"internal-search\":!1,\"clear-on-select\":!1,\"close-on-select\":!1,\"preserve-search\":!0,loading:t.searching,multiple:!1,\"option-height\":60},on:{\"search-change\":t.onSearchInput,input:t.onSelectResultSelected},scopedSlots:t._u([{key:\"option\",fn:function(n){var i=n.option;return[i.isRawLink?e(\"div\",{staticClass:\"custom-option\"},[e(\"LinkVariantIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Raw link {options}\",{options:i.resourceUrl}))+\"\\n\\t\\t\\t\\t\")])],1):i.resourceUrl?e(\"NcSearchResult\",{staticClass:\"search-result\",attrs:{entry:i,query:t.searchQuery}}):i.isCustomGroupTitle?e(\"span\",{staticClass:\"custom-option group-title\"},[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon group-title-icon\",attrs:{src:t.provider.icon_url}}):t._e(),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[e(\"strong\",[t._v(t._s(i.name))])])]):i.isMore?e(\"span\",{class:{\"custom-option\":!0}},[i.isLoading?e(\"span\",{staticClass:\"option-simple-icon icon-loading-small\"}):e(\"DotsHorizontalIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t('Load more \"{options}\"\"',{options:i.name}))+\"\\n\\t\\t\\t\\t\")])],1):t._e()]}},{key:\"noOptions\",fn:function(){return[e(\"MagnifyIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\"\\n\\t\\t\\t\"+t._s(t.t(\"Start typing to search\"))+\"\\n\\t\\t\")]},proxy:!0},{key:\"noResult\",fn:function(){return[e(\"MagnifyIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\"\\n\\t\\t\\t\"+t._s(t.t(\"Start typing to search\"))+\"\\n\\t\\t\")]},proxy:!0}]),model:{value:t.selectedResult,callback:function(e){t.selectedResult=e},expression:\"selectedResult\"}}),t._v(\" \"),t.showEmptyContent?e(\"NcEmptyContent\",{staticClass:\"smart-picker-search--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon\",attrs:{src:t.provider.icon_url}}):e(\"LinkVariantIcon\")]},proxy:!0}],null,!1,4245470124)}):t._e()],1)}),[],!1,null,\"26e3248c\",null).exports;var oe={providerList:1,standardLinkInput:2,searchInput:3,customElement:4};const ae={name:\"NcReferencePicker\",components:{NcCustomPickerElement:At,NcProviderList:Tt,NcRawLinkInput:Ut,NcSearch:re},props:{initialProvider:{type:Object,default:function(){return null}},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:[\"cancel\",\"cancel-raw-link\",\"cancel-search\",\"provider-selected\",\"submit\"],data:function(){return{MODES:oe,selectedProvider:this.initialProvider}},computed:{mode:function(){return null===this.selectedProvider?oe.providerList:ct(this.selectedProvider.id)?oe.customElement:this.selectedProvider.search_providers_ids?oe.searchInput:oe.standardLinkInput},pickerWrapperStyle:function(){return{width:this.width?this.width+\"px\":void 0}}},mounted:function(){var t=this;this.focusOnCreate&&(this.initialProvider?setTimeout((function(){var e;null===(e=t.$refs[\"url-input\"])||void 0===e||e.focus()}),300):this.$nextTick((function(){var e;null===(e=t.$refs[\"provider-list\"])||void 0===e||e.focus()})))},methods:{onEscapePressed:function(){null!==this.selectedProvider?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected:function(t){var e=this;this.selectedProvider=t,this.$emit(\"provider-selected\",t),this.$nextTick((function(){var t;null===(t=e.$refs[\"url-input\"])||void 0===t||t.focus()}))},cancelCustomElement:function(){this.deselectProvider()},cancelSearch:function(){var t;this.$emit(\"cancel-search\",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelRawLinkInput:function(){var t;this.$emit(\"cancel-raw-link\",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelProviderSelection:function(){this.$emit(\"cancel\")},submitLink:function(t){var e,n,i,r;null!==this.selectedProvider&&(e=this.selectedProvider.id,n=Math.floor(Date.now()/1e3),i={timestamp:n},r=(0,k.generateOcsUrl)(\"references/provider/{providerId}\",{providerId:e}),w().put(r,i).then((function(t){window._vue_richtext_reference_provider_timestamps[e]=n}))),this.$emit(\"submit\",t),this.deselectProvider()},deselectProvider:function(){var t=this;this.selectedProvider=null,this.$emit(\"provider-selected\",null),setTimeout((function(){var e;null===(e=t.$refs[\"provider-list\"])||void 0===e||e.focus()}),300)}}};var se=n(34),le={};le.styleTagTransform=h(),le.setAttributes=d(),le.insert=c().bind(null,\"head\"),le.domAPI=s(),le.insertStyleElement=A();o()(se.Z,le);se.Z&&se.Z.locals&&se.Z.locals;const ce=(0,g.Z)(ae,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"reference-picker\",style:t.pickerWrapperStyle,attrs:{tabindex:\"-1\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:(e.stopPropagation(),e.preventDefault(),t.onEscapePressed.apply(null,arguments))}}},[t.mode===t.MODES.providerList?e(\"NcProviderList\",{ref:\"provider-list\",on:{\"select-provider\":t.onProviderSelected,submit:t.submitLink,cancel:t.cancelProviderSelection}}):t.mode===t.MODES.standardLinkInput?e(\"NcRawLinkInput\",{ref:\"url-input\",attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelRawLinkInput}}):t.mode===t.MODES.searchInput?e(\"NcSearch\",{ref:\"url-input\",attrs:{provider:t.selectedProvider},on:{cancel:t.cancelSearch,submit:t.submitLink}}):t.mode===t.MODES.customElement?e(\"div\",{staticClass:\"custom-element-wrapper\"},[e(\"NcCustomPickerElement\",{attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelCustomElement}})],1):t._e()],1)}),[],!1,null,\"9b2f661a\",null).exports;var ue=n(9104),de=n(1373),pe=n(542),Ae=n(6921),me=n.n(Ae),he=n(8618),fe=n.n(he);const ve={name:\"NcReferencePickerModal\",components:{NcReferencePicker:ce,NcModal:de.default,NcButton:ue.default,ArrowLeftIcon:me(),CloseIcon:fe()},props:{initialProvider:{type:Object,default:function(){return null}},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:[\"cancel\",\"submit\"],data:function(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:(0,mt.t)(\"Back to provider selection\"),closeButtonTitle:(0,mt.t)(\"Close\"),closeButtonLabel:(0,mt.t)(\"Close Smart Picker\")}},computed:{isProviderSelected:function(){return null!==this.selectedProvider},showBackButton:function(){return null===this.initialProvider&&this.isProviderSelected},modalSize:function(){var t,e,n,i;return this.isProviderSelected&&ct(this.selectedProvider.id)?null!==(e=this.selectedProvider.id,i=null===(n=window._vue_richtext_custom_picker_elements[e])||void 0===n?void 0:n.size,t=[\"small\",\"normal\",\"large\",\"full\"].includes(i)?i:null)&&void 0!==t?t:\"large\":\"normal\"},showModalTitle:function(){return!this.isProviderSelected||!ct(this.selectedProvider.id)},modalTitle:function(){return this.isProviderSelected?this.selectedProvider.title:(0,mt.t)(\"Smart Picker\")}},mounted:function(){if(this.isInsideViewer){var t=this.$refs.modal_content;(0,pe.emit)(\"viewer:trapElements:changed\",t)}},methods:{onCancel:function(){this.show=!1,this.$emit(\"cancel\")},onSubmit:function(t){this.show=!1,this.$emit(\"submit\",t)},onProviderSelect:function(t){this.selectedProvider=t,null===t&&null!==this.initialProvider&&this.onCancel()},onBackClicked:function(){this.$refs.referencePicker.deselectProvider()}}};var ge=n(698),Ce={};Ce.styleTagTransform=h(),Ce.setAttributes=d(),Ce.insert=c().bind(null,\"head\"),Ce.domAPI=s(),Ce.insertStyleElement=A();o()(ge.Z,Ce);ge.Z&&ge.Z.locals&&ge.Z.locals;var be=n(6508),ye={};ye.styleTagTransform=h(),ye.setAttributes=d(),ye.insert=c().bind(null,\"head\"),ye.domAPI=s(),ye.insertStyleElement=A();o()(be.Z,ye);be.Z&&be.Z.locals&&be.Z.locals;const xe=(0,g.Z)(ve,(function(){var t=this,e=t._self._c;return t.show?e(\"NcModal\",{staticClass:\"reference-picker-modal\",attrs:{size:t.modalSize,\"can-close\":!1},on:{close:t.onCancel}},[e(\"div\",{ref:\"modal_content\",staticClass:\"reference-picker-modal--content\"},[t.showBackButton?e(\"NcButton\",{staticClass:\"back-button\",attrs:{\"aria-label\":t.backButtonTitle,title:t.backButtonTitle},on:{click:t.onBackClicked},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ArrowLeftIcon\")]},proxy:!0}],null,!1,3001860362)}):t._e(),t._v(\" \"),e(\"NcButton\",{staticClass:\"close-button\",attrs:{\"aria-label\":t.closeButtonLabel,title:t.closeButtonTitle},on:{click:t.onCancel},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"CloseIcon\")]},proxy:!0}],null,!1,2491825086)}),t._v(\" \"),t.showModalTitle?e(\"h2\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.modalTitle)+\"\\n\\t\\t\")]):t._e(),t._v(\" \"),e(\"NcReferencePicker\",{ref:\"referencePicker\",attrs:{\"initial-provider\":t.initialProvider,\"focus-on-create\":t.focusOnCreate},on:{\"provider-selected\":t.onProviderSelect,submit:t.onSubmit,cancel:t.onCancel}})],1)]):t._e()}),[],!1,null,\"1f66021a\",null).exports;var we=n(2734),ke=n.n(we);function _e(t){return _e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_e(t)}function Se(){Se=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new _(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(S([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==_e(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return B()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:B}}function B(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=S,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function Be(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function je(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){Be(o,i,r,a,s,\"next\",t)}function s(t){Be(o,i,r,a,s,\"throw\",t)}a(void 0)}))}}function Ee(){return Ne.apply(this,arguments)}function Ne(){return Ne=je(Se().mark((function t(){var e,n,i=arguments;return Se().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:null,n=i.length>1&&void 0!==i[1]?i[1]:void 0,t.next=4,new Promise((function(t,i){var r,o=document.createElement(\"div\");o.id=\"referencePickerModal\",document.body.append(o);var a=null===e?null:null!==(r=gt(e))&&void 0!==r?r:null,s=new(ke().extend(xe))({propsData:{initialProvider:a,isInsideViewer:n}}).$mount(o);s.$on(\"cancel\",(function(){s.$destroy(),i(new Error(\"User cancellation\"))})),s.$on(\"submit\",(function(e){s.$destroy(),t(e)}))}));case 4:return t.abrupt(\"return\",t.sent);case 5:case\"end\":return t.stop()}}),t)}))),Ne.apply(this,arguments)}},4941:(t,e,n)=>{\"use strict\";function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!==i(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===i(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{default:()=>k});var s=n(9563),l=n(8618),c=n.n(l),u=n(3875),d=n.n(u);const p=require(\"vue-material-design-icons/UndoVariant.vue\");var A=n.n(p),m=n(932);function h(t){return h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},h(t)}function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?f(Object(n),!0).forEach((function(e){g(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function g(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==h(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==h(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===h(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const C={name:\"NcTextField\",components:{NcInputField:s.Z,Close:c(),ArrowRight:d(),Undo:A()},inheritAttrs:!1,props:v(v({},s.Z.props),{},{trailingButtonIcon:{type:String,default:\"close\",validator:function(t){return[\"close\",\"arrowRight\",\"undo\"].includes(t)}}}),emits:[\"update:value\"],computed:{clearTextLabel:function(){return this.trailingButtonLabel||(0,m.t)(\"Clear text\")}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)}}};var b=n(1900),y=n(5439),x=n.n(y),w=(0,b.Z)(C,(function(){var t=this,e=t._self._c;return e(\"NcInputField\",t._g(t._b({ref:\"inputField\",attrs:{\"trailing-button-label\":t.clearTextLabel},on:{input:t.handleInput},scopedSlots:t._u([\"search\"!==t.type?{key:\"trailing-button-icon\",fn:function(){return[\"close\"===t.trailingButtonIcon?e(\"Close\",{attrs:{size:20}}):\"arrowRight\"===t.trailingButtonIcon?e(\"ArrowRight\",{attrs:{size:20}}):\"undo\"===t.trailingButtonIcon?e(\"Undo\",{attrs:{size:20}}):t._e()]},proxy:!0}:null],null,!0)},\"NcInputField\",o(o({},t.$attrs),t.$props),!1),t.$listeners),[t._t(\"default\")],2)}),[],!1,null,null,null);\"function\"==typeof x()&&x()(w);const k=w.exports},336:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>g});var i=n(9454),r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(8384),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;i.options.themes.tooltip.html=!1,i.options.themes.tooltip.delay={show:500,hide:200},i.options.themes.tooltip.distance=10,i.options.themes.tooltip[\"arrow-padding\"]=3;const g=i.VTooltip},6540:(t,e,n)=>{\"use strict\";n.d(e,{emojiAddRecent:()=>s,emojiSearch:()=>a});var i=n(1822),r=n.n(i),o=n(9),a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=new o.EmojiIndex(r());if(t){var i=n.search(\":\".concat(t),e);return i.length<e&&(i=i.concat(n.search(t,e-i.length))),i}return o.frequently.get(e).map((function(t){return n.emoji(t)}))||[]},s=function(t){o.frequently.add(t)}},7993:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>a});var i=n(6609);const r=require(\"md5\");var o=n.n(r);const a=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=o()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return(0,i.Z)(6)[function(t,e){for(var n=0,i=[],r=0;r<t.length;r++)i.push(parseInt(t.charAt(r),16)%16);for(var o in i)n+=i[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]}},932:(t,e,n)=>{\"use strict\";n.d(e,{n:()=>a,t:()=>s});var i=n(7931),r=(0,i.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Anything shared with the same group of people will show up here\":\"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",\"Change title\":\"تغيير العنوان\",Choose:\"إختيار\",\"Clear text\":\"مسح النص\",Close:\"أغلق\",\"Close modal\":\"قفل الشرط\",\"Close navigation\":\"إغلاق المتصفح\",\"Close sidebar\":\"قفل الشريط الجانبي\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"Error getting related resources\":\"خطأ في تحصيل مصادر ذات صلة\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Favorite:\"مفضلة\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Hide password\":\"إخفاء كلمة السر\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",\"More items …\":\"عناصر أخرى ...\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",Open:\"فتح\",'Open link to \"{resourceTitle}\"':'فتح رابط إلى \"{resourceTitle}\"',\"Open navigation\":\"فتح المتصفح\",\"Password is secure\":\"كلمة السر مُؤمّنة\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",\"Related resources\":\"مصادر ذات صلة\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Show password\":\"أعرض كلمة السر\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Anything shared with the same group of people will show up here\":\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",\"Change title\":\"Canviar títol\",Choose:\"Tria\",\"Clear text\":\"Netejar text\",Close:\"Tanca\",\"Close modal\":\"Tancar el mode\",\"Close navigation\":\"Tanca la navegació\",\"Close sidebar\":\"Tancar la barra lateral\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"Error getting related resources\":\"Error obtenint els recursos relacionats\",\"Error parsing svg\":\"Error en l'anàlisi del svg\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Favorite:\"Preferit\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Hide password\":\"Amagar contrasenya\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"More items …\":\"Més artícles...\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",Open:\"Obrir\",'Open link to \"{resourceTitle}\"':'Obrir enllaç a \"{resourceTitle}\"',\"Open navigation\":\"Obre la navegació\",\"Password is secure\":\"Contrasenya segura<br>\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionats\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Seleccioneu una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Show password\":\"Mostrar contrasenya\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfés els canvis\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escriu missatge, fes servir \"@\" per esmentar algú, fes servir \":\" per autocompletar emojis...'}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Anything shared with the same group of people will show up here\":\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",\"Change title\":\"Změnit nadpis\",Choose:\"Zvolit\",\"Clear text\":\"Čitelný text\",Close:\"Zavřít\",\"Close modal\":\"Zavřít dialogové okno\",\"Close navigation\":\"Zavřít navigaci\",\"Close sidebar\":\"Zavřít postranní panel\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"Error getting related resources\":\"Chyba při získávání souvisejících prostředků\",\"Error parsing svg\":\"Chyba při zpracovávání svg\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Favorite:\"Oblíbené\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Hide password\":\"Skrýt heslo\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"More items …\":\"Další položky…\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",Open:\"Otevřít\",'Open link to \"{resourceTitle}\"':\"Otevřít odkaz na „{resourceTitle}“\",\"Open navigation\":\"Otevřít navigaci\",\"Password is secure\":\"Heslo je bezpečné\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",\"Related resources\":\"Související prostředky\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Show password\":\"Zobrazit heslo\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Anything shared with the same group of people will show up here\":\"Alt der deles med samme gruppe af personer vil vises her\",\"Avatar of {displayName}\":\"Avatar af {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar af {displayName}, {status}\",\"Cancel changes\":\"Annuller ændringer\",\"Change title\":\"Ret titel\",Choose:\"Vælg\",\"Clear text\":\"Ryd tekst\",Close:\"Luk\",\"Close modal\":\"Luk vindue\",\"Close navigation\":\"Luk navigation\",\"Close sidebar\":\"Luk sidepanel\",\"Confirm changes\":\"Bekræft ændringer\",Custom:\"Brugerdefineret\",\"Edit item\":\"Rediger emne\",\"Error getting related resources\":\"Kunne ikke hente tilknyttede data\",\"Error parsing svg\":\"Fejl ved analysering af svg\",\"External documentation for {title}\":\"Ekstern dokumentation for {title}\",Favorite:\"Favorit\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",Global:\"Global\",\"Go back to the list\":\"Tilbage til listen\",\"Hide password\":\"Skjul kodeord\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"More items …\":\"Mere ...\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åbn\",'Open link to \"{resourceTitle}\"':'Åbn link til \"{resourceTitle}\"',\"Open navigation\":\"Åbn navigation\",\"Password is secure\":\"Kodeordet er sikkert\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Please select a time zone:\":\"Vælg venligst en tidszone:\",Previous:\"Forrige\",\"Related resources\":\"Relaterede emner\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Show password\":\"Vis kodeord\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Type to search time zone\":\"Indtast for at søge efter tidszone\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Undo changes\":\"Fortryd ændringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv besked, brug \"@\" for at nævne nogen, brug \":\" til emoji-autofuldførelse ...'}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Anything shared with the same group of people will show up here\":\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Avatar of {displayName}, {status}\":\"Άβαταρ του {displayName}, {status}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",\"Change title\":\"Αλλαγή τίτλου\",Choose:\"Επιλογή\",\"Clear text\":\"Εκκαθάριση κειμένου\",Close:\"Κλείσιμο\",\"Close modal\":\"Βοηθητικό κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Close sidebar\":\"Κλείσιμο πλευρικής μπάρας\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"Error getting related resources\":\"Σφάλμα λήψης σχετικών πόρων\",\"Error parsing svg\":\"Σφάλμα ανάλυσης svg\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Favorite:\"Αγαπημένα\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Hide password\":\"Απόκρυψη κωδικού πρόσβασης\",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",\"More items …\":\"Περισσότερα στοιχεία …\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",Open:\"Άνοιγμα\",'Open link to \"{resourceTitle}\"':'Άνοιγμα συνδέσμου στο \"{resourceTitle}\"',\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Password is secure\":\"Ο κωδικός πρόσβασης είναι ασφαλής\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",\"Related resources\":\"Σχετικοί πόροι\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Show password\":\"Εμφάνιση κωδικού πρόσβασης\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε \"@\" για να αναφέρετε κάποιον, χρησιμοποιείστε \":\" για αυτόματη συμπλήρωση emoji …'}},{locale:\"en_GB\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Actions\",Activities:\"Activities\",\"Animals & Nature\":\"Animals & Nature\",\"Anything shared with the same group of people will show up here\":\"Anything shared with the same group of people will show up here\",\"Avatar of {displayName}\":\"Avatar of {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar of {displayName}, {status}\",\"Cancel changes\":\"Cancel changes\",\"Change title\":\"Change title\",Choose:\"Choose\",\"Clear text\":\"Clear text\",Close:\"Close\",\"Close modal\":\"Close modal\",\"Close navigation\":\"Close navigation\",\"Close sidebar\":\"Close sidebar\",\"Confirm changes\":\"Confirm changes\",Custom:\"Custom\",\"Edit item\":\"Edit item\",\"Error getting related resources\":\"Error getting related resources\",\"Error parsing svg\":\"Error parsing svg\",\"External documentation for {title}\":\"External documentation for {title}\",Favorite:\"Favourite\",Flags:\"Flags\",\"Food & Drink\":\"Food & Drink\",\"Frequently used\":\"Frequently used\",Global:\"Global\",\"Go back to the list\":\"Go back to the list\",\"Hide password\":\"Hide password\",\"Message limit of {count} characters reached\":\"Message limit of {count} characters reached\",\"More items …\":\"More items …\",Next:\"Next\",\"No emoji found\":\"No emoji found\",\"No results\":\"No results\",Objects:\"Objects\",Open:\"Open\",'Open link to \"{resourceTitle}\"':'Open link to \"{resourceTitle}\"',\"Open navigation\":\"Open navigation\",\"Password is secure\":\"Password is secure\",\"Pause slideshow\":\"Pause slideshow\",\"People & Body\":\"People & Body\",\"Pick an emoji\":\"Pick an emoji\",\"Please select a time zone:\":\"Please select a time zone:\",Previous:\"Previous\",\"Related resources\":\"Related resources\",Search:\"Search\",\"Search results\":\"Search results\",\"Select a tag\":\"Select a tag\",Settings:\"Settings\",\"Settings navigation\":\"Settings navigation\",\"Show password\":\"Show password\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start slideshow\",Submit:\"Submit\",Symbols:\"Symbols\",\"Travel & Places\":\"Travel & Places\",\"Type to search time zone\":\"Type to search time zone\",\"Unable to search the group\":\"Unable to search the group\",\"Undo changes\":\"Undo changes\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …'}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Anything shared with the same group of people will show up here\":\"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",\"Change title\":\"Cambiar título\",Choose:\"Elegir\",\"Clear text\":\"Limpiar texto\",Close:\"Cerrar\",\"Close modal\":\"Cerrar modal\",\"Close navigation\":\"Cerrar navegación\",\"Close sidebar\":\"Cerrar barra lateral\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"Error getting related resources\":\"Se encontró un error al obtener los recursos relacionados\",\"Error parsing svg\":\"Error procesando svg\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Favorite:\"Favorito\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Hide password\":\"Ocultar contraseña\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"More items …\":\"Más ítems...\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",Open:\"Abrir\",'Open link to \"{resourceTitle}\"':'Abrir enlace a \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegación\",\"Password is secure\":\"La contraseña es segura\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Show password\":\"Mostrar contraseña\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escribir mensaje, utilice \"@\" para mencionar a alguien, utilice \":\" para autocompletado de emojis ...'}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Anything shared with the same group of people will show up here\":\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",\"Change title\":\"Aldatu titulua\",Choose:\"Aukeratu\",\"Clear text\":\"Garbitu testua\",Close:\"Itxi\",\"Close modal\":\"Itxi modala\",\"Close navigation\":\"Itxi nabigazioa\",\"Close sidebar\":\"Itxi albo-barra\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"Error getting related resources\":\"Errorea erlazionatutako baliabideak lortzerakoan\",\"Error parsing svg\":\"Errore bat gertatu da svg-a analizatzean\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Favorite:\"Gogokoa\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Hide password\":\"Ezkutatu pasahitza\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",\"More items …\":\"Elementu gehiago …\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",Open:\"Ireki\",'Open link to \"{resourceTitle}\"':'Ireki esteka: \"{resourceTitle}\"',\"Open navigation\":\"Ireki nabigazioa\",\"Password is secure\":\"Pasahitza segurua da\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Hautatu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",\"Related resources\":\"Erlazionatutako baliabideak\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Show password\":\"Erakutsi pasahitza\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Idatzi mezua, erabili \"@\" norbait aipatzeko, erabili \":\" emojiak automatikoki osatzeko...'}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Anything shared with the same group of people will show up here\":\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",\"Change title\":\"Modifier le titre\",Choose:\"Choisir\",\"Clear text\":\"Effacer le texte\",Close:\"Fermer\",\"Close modal\":\"Fermer la fenêtre\",\"Close navigation\":\"Fermer la navigation\",\"Close sidebar\":\"Fermer la barre latérale\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"Error getting related resources\":\"Erreur à la récupération des ressources liées\",\"Error parsing svg\":\"Erreur d'analyse SVG\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Favorite:\"Favori\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Hide password\":\"Cacher le mot de passe\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"More items …\":\"Plus d'éléments...\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",Open:\"Ouvrir\",'Open link to \"{resourceTitle}\"':'Ouvrir le lien vers \"{resourceTitle}\"',\"Open navigation\":\"Ouvrir la navigation\",\"Password is secure\":\"Le mot de passe est sécurisé\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",\"Related resources\":\"Ressources liées\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Show password\":\"Afficher le mot de passe\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Écrire un message, utiliser \"@\" pour mentionner une personne, \":\" pour l\\'autocomplétion des émojis...'}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Anything shared with the same group of people will show up here\":\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Avatar of {displayName}, {status}\":\"{displayName} profilképe, {status}\",\"Cancel changes\":\"Változtatások elvetése\",\"Change title\":\"Cím megváltoztatása\",Choose:\"Válassszon\",\"Clear text\":\"Szöveg törlése\",Close:\"Bezárás\",\"Close modal\":\"Ablak bezárása\",\"Close navigation\":\"Navigáció bezárása\",\"Close sidebar\":\"Oldalsáv bezárása\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"Edit item\":\"Elem szerkesztése\",\"Error getting related resources\":\"Hiba a kapcsolódó erőforrások lekérésekor\",\"Error parsing svg\":\"Hiba az SVG feldolgozásakor\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Favorite:\"Kedvenc\",Flags:\"Zászlók\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Go back to the list\":\"Ugrás vissza a listához\",\"Hide password\":\"Jelszó elrejtése\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"More items …\":\"További elemek...\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",Open:\"Megnyitás\",'Open link to \"{resourceTitle}\"':\"A(z) „{resourceTitle}” hivatkozásának megnyitása\",\"Open navigation\":\"Navigáció megnyitása\",\"Password is secure\":\"A jelszó biztonságos\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",\"Related resources\":\"Kapcsolódó erőforrások\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Show password\":\"Jelszó megjelenítése\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Undo changes\":\"Változtatások visszavonása\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Anything shared with the same group of people will show up here\":\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",\"Change title\":\"Modifica il titolo\",Choose:\"Scegli\",\"Clear text\":\"Cancella il testo\",Close:\"Chiudi\",\"Close modal\":\"Chiudi il messaggio modale\",\"Close navigation\":\"Chiudi la navigazione\",\"Close sidebar\":\"Chiudi la barra laterale\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"Error getting related resources\":\"Errore nell'ottenere risorse correlate\",\"Error parsing svg\":\"Errore nell'analizzare l'svg\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Favorite:\"Preferito\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Hide password\":\"Nascondi la password\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"More items …\":\"Più elementi ...\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",Open:\"Apri\",'Open link to \"{resourceTitle}\"':'Apri il link a \"{resourceTitle}\"',\"Open navigation\":\"Apri la navigazione\",\"Password is secure\":\"La password è sicura\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",\"Related resources\":\"Risorse correlate\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Show password\":\"Mostra la password\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrivi un messaggio, \"@\" per menzionare qualcuno, \":\" per il completamento automatico delle emoji ...'}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Anything shared with the same group of people will show up here\":\"同じグループで共有しているものは、全てここに表示されます\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} のアバター\",\"Cancel changes\":\"変更をキャンセル\",\"Change title\":\"タイトルを変更\",Choose:\"選択\",\"Clear text\":\"テキストをクリア\",Close:\"閉じる\",\"Close modal\":\"モーダルを閉じる\",\"Close navigation\":\"ナビゲーションを閉じる\",\"Close sidebar\":\"サイドバーを閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"Edit item\":\"編集\",\"Error getting related resources\":\"関連リソースの取得エラー\",\"Error parsing svg\":\"svgの解析エラー\",\"External documentation for {title}\":\"{title} のための添付文書\",Favorite:\"お気に入り\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Go back to the list\":\"リストに戻る\",\"Hide password\":\"パスワードを非表示\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"More items …\":\"他のアイテム\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",Open:\"開く\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\"のリンクを開く',\"Open navigation\":\"ナビゲーションを開く\",\"Password is secure\":\"パスワードは保護されています\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",\"Related resources\":\"関連リソース\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Show password\":\"パスワードを表示\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Undo changes\":\"変更を取り消し\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'メッセージを記入、\"@\"でメンション、\":\"で絵文字の自動補完 ...'}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Avatar of {displayName}\":\"Аватар на {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар на {displayName}, {status}\",\"Cancel changes\":\"Откажи ги промените\",\"Change title\":\"Промени наслов\",Choose:\"Избери\",Close:\"Затвори\",\"Close modal\":\"Затвори модал\",\"Close navigation\":\"Затвори навигација\",\"Confirm changes\":\"Потврди ги промените\",Custom:\"Прилагодени\",\"Edit item\":\"Уреди\",\"External documentation for {title}\":\"Надворешна документација за {title}\",Favorite:\"Фаворити\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",Global:\"Глобално\",\"Go back to the list\":\"Врати се на листата\",items:\"ставки\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"More {dashboardItemType} …\":\"Повеќе {dashboardItemType} …\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",Open:\"Отвори\",\"Open navigation\":\"Отвори навигација\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Please select a time zone:\":\"Изберете временска зона:\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Submit:\"Испрати\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Type to search time zone\":\"Напишете за да пребарате временска зона\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Undo changes\":\"Врати ги промените\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ...\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Anything shared with the same group of people will show up here\":\"Alt som er delt med den samme gruppen vil vises her\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",\"Change title\":\"Endre tittel\",Choose:\"Velg\",\"Clear text\":\"Fjern tekst\",Close:\"Lukk\",\"Close modal\":\"Lukk modal\",\"Close navigation\":\"Lukk navigasjon\",\"Close sidebar\":\"Lukk sidepanel\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"Error getting related resources\":\"Feil ved henting av relaterte ressurser\",\"Error parsing svg\":\"Feil ved parsing av svg\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Favorite:\"Favoritt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Hide password\":\"Skjul passord\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",\"More items …\":\"Flere gjenstander...\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åpne\",'Open link to \"{resourceTitle}\"':'Åpne link til \"{resourceTitle}\"',\"Open navigation\":\"Åpne navigasjon\",\"Password is secure\":\"Passordet er sikkert\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",\"Related resources\":\"Relaterte ressurser\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjonsinstillinger\",\"Show password\":\"Vis passord\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Tast for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv melding, bruk \"@\" for å nevne noen, bruk \":\" for autofullføring av emoji...'}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Anything shared with the same group of people will show up here\":\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",\"Change title\":\"Zmień tytuł\",Choose:\"Wybierz\",\"Clear text\":\"Wyczyść tekst\",Close:\"Zamknij\",\"Close modal\":\"Zamknij modal\",\"Close navigation\":\"Zamknij nawigację\",\"Close sidebar\":\"Zamknij pasek boczny\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"Error getting related resources\":\"Błąd podczas pobierania powiązanych zasobów\",\"Error parsing svg\":\"Błąd podczas analizowania svg\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Favorite:\"Ulubiony\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Hide password\":\"Ukryj hasło\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"More items …\":\"Więcej pozycji…\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emoji\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",Open:\"Otwórz\",'Open link to \"{resourceTitle}\"':'Otwórz link do \"{resourceTitle}\"',\"Open navigation\":\"Otwórz nawigację\",\"Password is secure\":\"Hasło jest bezpieczne\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",\"Related resources\":\"Powiązane zasoby\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Show password\":\"Pokaż hasło\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Napisz wiadomość, \"@\" aby o kimś wspomnieć, \":\" dla autouzupełniania emoji…'}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Anything shared with the same group of people will show up here\":\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",\"Change title\":\"Alterar título\",Choose:\"Escolher\",\"Clear text\":\"Limpar texto\",Close:\"Fechar\",\"Close modal\":\"Fechar modal\",\"Close navigation\":\"Fechar navegação\",\"Close sidebar\":\"Fechar barra lateral\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"Error getting related resources\":\"Erro ao obter recursos relacionados\",\"Error parsing svg\":\"Erro ao analisar svg\",\"External documentation for {title}\":\"Documentação externa para {title}\",Favorite:\"Favorito\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Hide password\":\"Ocultar a senha\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"More items …\":\"Mais itens …\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",Open:\"Aberto\",'Open link to \"{resourceTitle}\"':'Abrir link para \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegação\",\"Password is secure\":\"A senha é segura\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Show password\":\"Mostrar senha\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escreva mensagens, use \"@\" para mencionar algum, use \":\" for autocompletar emoji …'}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ro\",translations:{\"{tag} (invisible)\":\"{tag} (invizibil)\",\"{tag} (restricted)\":\"{tag} (restricționat)\",Actions:\"Acțiuni\",Activities:\"Activități\",\"Animals & Nature\":\"Animale și natură\",\"Anything shared with the same group of people will show up here\":\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\",\"Avatar of {displayName}\":\"Avatarul lui {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatarul lui {displayName}, {status}\",\"Cancel changes\":\"Anulează modificările\",\"Change title\":\"Modificați titlul\",Choose:\"Alegeți\",\"Clear text\":\"Șterge textul\",Close:\"Închideți\",\"Close modal\":\"Închideți modulul\",\"Close navigation\":\"Închideți navigarea\",\"Close sidebar\":\"Închide bara laterală\",\"Confirm changes\":\"Confirmați modificările\",Custom:\"Personalizat\",\"Edit item\":\"Editați elementul\",\"Error getting related resources\":\" Eroare la returnarea resurselor legate\",\"Error parsing svg\":\"Eroare de analizare a svg\",\"External documentation for {title}\":\"Documentație externă pentru {title}\",Favorite:\"Favorit\",Flags:\"Marcaje\",\"Food & Drink\":\"Alimente și băuturi\",\"Frequently used\":\"Utilizate frecvent\",Global:\"Global\",\"Go back to the list\":\"Întoarceți-vă la listă\",\"Hide password\":\"Ascunde parola\",\"Message limit of {count} characters reached\":\"Limita mesajului de {count} caractere a fost atinsă\",\"More items …\":\"Mai multe articole ...\",Next:\"Următorul\",\"No emoji found\":\"Nu s-a găsit niciun emoji\",\"No results\":\"Nu există rezultate\",Objects:\"Obiecte\",Open:\"Deschideți\",'Open link to \"{resourceTitle}\"':'Deschide legătura la \"{resourceTitle}\"',\"Open navigation\":\"Deschideți navigația\",\"Password is secure\":\"Parola este sigură\",\"Pause slideshow\":\"Pauză prezentare de diapozitive\",\"People & Body\":\"Oameni și corp\",\"Pick an emoji\":\"Alege un emoji\",\"Please select a time zone:\":\"Vă rugăm să selectați un fus orar:\",Previous:\"Anterior\",\"Related resources\":\"Resurse legate\",Search:\"Căutare\",\"Search results\":\"Rezultatele căutării\",\"Select a tag\":\"Selectați o etichetă\",Settings:\"Setări\",\"Settings navigation\":\"Navigare setări\",\"Show password\":\"Arată parola\",\"Smileys & Emotion\":\"Zâmbete și emoții\",\"Start slideshow\":\"Începeți prezentarea de diapozitive\",Submit:\"Trimiteți\",Symbols:\"Simboluri\",\"Travel & Places\":\"Călătorii și locuri\",\"Type to search time zone\":\"Tastați pentru a căuta fusul orar\",\"Unable to search the group\":\"Imposibilitatea de a căuta în grup\",\"Undo changes\":\"Anularea modificărilor\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrie un mesaj, folosește \"@\" pentru a menționa pe cineva, folosește \":\" pentru autocompletarea cu emoji ...'}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Фотография {displayName}, {status}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Close modal\":\"Закрыть модальное окно\",\"Close navigation\":\"Закрыть навигацию\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"Edit item\":\"Изменить элемент\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Go back to the list\":\"Вернуться к списку\",items:\"элементов\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",\"More {dashboardItemType} …\":\"Больше {dashboardItemType} …\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",Open:\"Открыть\",\"Open navigation\":\"Открыть навигацию\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Undo changes\":\"Отменить изменения\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Avatar of {displayName}, {status}\":\"Prikazna slika {displayName}, {status}\",\"Cancel changes\":\"Prekliči spremembe\",\"Change title\":\"Spremeni naziv\",Choose:\"Izbor\",\"Clear text\":\"Počisti besedilo\",Close:\"Zapri\",\"Close modal\":\"Zapri pojavno okno\",\"Close navigation\":\"Zapri krmarjenje\",\"Close sidebar\":\"Zapri stransko vrstico\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"Edit item\":\"Uredi predmet\",\"Error getting related resources\":\"Napaka pridobivanja povezanih virov\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Favorite:\"Priljubljeno\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Go back to the list\":\"Vrni se na seznam\",\"Hide password\":\"Skrij geslo\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"More items …\":\"Več predmetov ...\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",Open:\"Odpri\",'Open link to \"{resourceTitle}\"':\"Odpri povezavo do »{resourceTitle}«\",\"Open navigation\":\"Odpri krmarjenje\",\"Password is secure\":\"Geslo je varno\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick a date\":\"Izbor datuma\",\"Pick a date and a time\":\"Izbor datuma in časa\",\"Pick a month\":\"Izbor meseca\",\"Pick a time\":\"Izbor časa\",\"Pick a week\":\"Izbor tedna\",\"Pick a year\":\"Izbor leta\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",\"Related resources\":\"Povezani viri\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Show password\":\"Pokaži geslo\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Undo changes\":\"Razveljavi spremembe\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …\"}},{locale:\"sr\",translations:{\"{tag} (invisible)\":\"{tag} (nevidljivo)\",\"{tag} (restricted)\":\"{tag} (ograničeno)\",Actions:\"Radnje\",Activities:\"Aktivnosti\",\"Animals & Nature\":\"Životinje i Priroda\",\"Avatar of {displayName}\":\"Avatar za {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar za {displayName}, {status}\",\"Cancel changes\":\"Otkaži izmene\",\"Change title\":\"Izmeni naziv\",Choose:\"Изаберите\",Close:\"Затвори\",\"Close modal\":\"Zatvori modal\",\"Close navigation\":\"Zatvori navigaciju\",\"Close sidebar\":\"Zatvori bočnu traku\",\"Confirm changes\":\"Potvrdite promene\",Custom:\"Po meri\",\"Edit item\":\"Uredi stavku\",\"External documentation for {title}\":\"Eksterna dokumentacija za {title}\",Favorite:\"Omiljeni\",Flags:\"Zastave\",\"Food & Drink\":\"Hrana i Piće\",\"Frequently used\":\"Često korišćeno\",Global:\"Globalno\",\"Go back to the list\":\"Natrag na listu\",items:\"stavke\",\"Message limit of {count} characters reached\":\"Dostignuto je ograničenje za poruke od {count} znakova\",\"More {dashboardItemType} …\":\"Više {dashboardItemType} …\",Next:\"Следеће\",\"No emoji found\":\"Nije pronađen nijedan emodži\",\"No results\":\"Нема резултата\",Objects:\"Objekti\",Open:\"Otvori\",\"Open navigation\":\"Otvori navigaciju\",\"Pause slideshow\":\"Паузирај слајд шоу\",\"People & Body\":\"Ljudi i Telo\",\"Pick an emoji\":\"Izaberi emodži\",\"Please select a time zone:\":\"Molimo izaberite vremensku zonu:\",Previous:\"Претходно\",Search:\"Pretraži\",\"Search results\":\"Rezultati pretrage\",\"Select a tag\":\"Изаберите ознаку\",Settings:\"Поставке\",\"Settings navigation\":\"Navigacija u podešavanjima\",\"Smileys & Emotion\":\"Smajli i Emocije\",\"Start slideshow\":\"Покрени слајд шоу\",Submit:\"Prihvati\",Symbols:\"Simboli\",\"Travel & Places\":\"Putovanja i Mesta\",\"Type to search time zone\":\"Ukucaj da pretražiš vremenske zone\",\"Unable to search the group\":\"Nije moguće pretražiti grupu\",\"Undo changes\":\"Poništi promene\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Anything shared with the same group of people will show up here\":\"Något som delats med samma grupp av personer kommer att visas här\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",\"Change title\":\"Ändra titel\",Choose:\"Välj\",\"Clear text\":\"Ta bort text\",Close:\"Stäng\",\"Close modal\":\"Stäng modal\",\"Close navigation\":\"Stäng navigering\",\"Close sidebar\":\"Stäng sidopanel\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"Error getting related resources\":\"Problem att hämta relaterade resurser\",\"Error parsing svg\":\"Fel vid inläsning av svg\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Favorite:\"Favorit\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Hide password\":\"Göm lössenordet\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"More items …\":\"Fler objekt\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",Open:\"Öppna\",'Open link to \"{resourceTitle}\"':'Öppna länk till \"{resourceTitle}\"',\"Open navigation\":\"Öppna navigering\",\"Password is secure\":\"Lössenordet är säkert\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",\"Related resources\":\"Relaterade resurser\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Show password\":\"Visa lössenordet\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv meddelande, använd \"@\" för att nämna någon, använd \":\" för automatiska emojiförslag ...'}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Anything shared with the same group of people will show up here\":\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",\"Change title\":\"Başlığı değiştir\",Choose:\"Seçin\",\"Clear text\":\"Metni temizle\",Close:\"Kapat\",\"Close modal\":\"Üste açılan pencereyi kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Close sidebar\":\"Yan çubuğu kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"Error getting related resources\":\"İlgili kaynaklar alınırken sorun çıktı\",\"Error parsing svg\":\"svg işlenirken sorun çıktı\",\"External documentation for {title}\":\"{title} için dış belgeler\",Favorite:\"Sık kullanılanlara ekle\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Hide password\":\"Parolayı gizle\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"More items …\":\"Diğer ögeler…\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",Open:\"Aç\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\" bağlantısını aç',\"Open navigation\":\"Gezinmeyi aç\",\"Password is secure\":\"Parola güvenli\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",\"Related resources\":\"İlgili kaynaklar\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Show password\":\"Parolayı görüntüle\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için \":\" kullanın…'}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (невидимий)\",\"{tag} (restricted)\":\"{tag} (обмежений)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар {displayName}, {status}\",\"Cancel changes\":\"Скасувати зміни\",\"Change title\":\"Змінити назву\",Choose:\"ВиберітьВиберіть\",\"Clear text\":\"Очистити текст\",Close:\"Закрити\",\"Close modal\":\"Закрити модаль\",\"Close navigation\":\"Закрити навігацію\",\"Close sidebar\":\"Закрити бічну панель\",\"Confirm changes\":\"Підтвердити зміни\",Custom:\"Власне\",\"Edit item\":\"Редагувати елемент\",\"External documentation for {title}\":\"Зовнішня документація для {title}\",Favorite:\"Улюблений\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напої\",\"Frequently used\":\"Найчастіші\",Global:\"Глобальний\",\"Go back to the list\":\"Повернутися до списку\",\"Hide password\":\"Приховати пароль\",items:\"елементи\",\"Message limit of {count} characters reached\":\"Вичерпано ліміт у {count} символів для повідомлення\",\"More {dashboardItemType} …\":\"Більше {dashboardItemType}…\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",Open:\"Відкрити\",\"Open navigation\":\"Відкрити навігацію\",\"Password is secure\":\"Пароль безпечний\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Please select a time zone:\":\"Виберіть часовий пояс:\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Settings navigation\":\"Навігація у налаштуваннях\",\"Show password\":\"Показати пароль\",\"Smileys & Emotion\":\"Смайли та емоції\",\"Start slideshow\":\"Почати показ слайдів\",Submit:\"Надіслати\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Type to search time zone\":\"Введіть для пошуку часовий пояс\",\"Unable to search the group\":\"Неможливо шукати в групі\",\"Undo changes\":\"Скасувати зміни\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Anything shared with the same group of people will show up here\":\"与同组用户分享的所有内容都会显示于此\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改标题\",Choose:\"选择\",\"Clear text\":\"清除文本\",Close:\"关闭\",\"Close modal\":\"关闭窗口\",\"Close navigation\":\"关闭导航\",\"Close sidebar\":\"关闭侧边栏\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"Error getting related resources\":\"获取相关资源时出错\",\"Error parsing svg\":\"解析 svg 时出错\",\"External documentation for {title}\":\"{title}的外部文档\",Favorite:\"喜爱\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Hide password\":\"隐藏密码\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"More items …\":\"更多项目…\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",Open:\"打开\",'Open link to \"{resourceTitle}\"':'打开\"{resourceTitle}\"的连接',\"Open navigation\":\"开启导航\",\"Password is secure\":\"密码安全\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",\"Related resources\":\"相关资源\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Show password\":\"显示密码\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'写信息,使用\"@\"来提及某人,使用\":\"进行表情符号自动完成 ...'}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Anything shared with the same group of people will show up here\":\"與同一組人共享的任何內容都會顯示在此處\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName} 的頭像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改標題\",Choose:\"選擇\",\"Clear text\":\"清除文本\",Close:\"關閉\",\"Close modal\":\"關閉模態\",\"Close navigation\":\"關閉導航\",\"Close sidebar\":\"關閉側邊欄\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"Error getting related resources\":\"獲取相關資源出錯\",\"Error parsing svg\":\"解析 svg 時出錯\",\"External documentation for {title}\":\"{title} 的外部文檔\",Favorite:\"喜愛\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Hide password\":\"隱藏密碼\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"More items …\":\"更多項目 …\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",Open:\"打開\",'Open link to \"{resourceTitle}\"':\"打開指向 “{resourceTitle}” 的鏈結\",\"Open navigation\":\"開啟導航\",\"Password is secure\":\"密碼是安全的\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",\"Related resources\":\"相關資源\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Show password\":\"顯示密碼\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'寫訊息,使用 \"@\" 來指代某人,使用 \":\" 用於表情符號自動填充 ...'}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};r.addTranslation(t.locale,{translations:{\"\":e}})}));var o=r.build(),a=o.ngettext.bind(o),s=o.gettext.bind(o)},6730:()=>{\"use strict\"},3351:(t,e,n)=>{\"use strict\";n.d(e,{iQ:()=>d});n(6730),n(8136),n(334),n(3132);var i=n(3607),r=n(768),o=n.n(r);const a=require(\"@nextcloud/capabilities\");var s=n(4262);function l(t){return l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},l(t)}function c(){c=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,o,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,o)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,a,s){var c=p(t[i],t,o);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==l(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return r(\"throw\",t,a,s)}))}s(c.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,s,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,s,\"Generator\"),u(b,o,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function u(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const d={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=c().mark((function e(){var r,l,u,d,p,A,m,h,f;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(r=(0,a.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,\"user_status\")&&r.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if((0,i.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,o().get((0,s.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:l=e.sent,u=l.data,d=u.ocs.data,p=d.status,A=d.message,m=d.icon,n.userStatus.status=p,n.userStatus.message=A||\"\",n.userStatus.icon=m||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(h=e.t0.response.data.ocs)||void 0===h||null===(f=h.data)||void 0===f?void 0:f.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function a(t){u(o,i,r,a,s,\"next\",t)}function s(t){u(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()}}}},8136:()=>{\"use strict\"},334:(t,e,n)=>{\"use strict\";var i=n(2734);new(n.n(i)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}})},3648:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>r});var i=n(932);const r={methods:{n:i.n,t:i.t}}},3132:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>h});var i=n(4470),r=n(1390);const o=require(\"escape-html\");var a=n.n(o);const s=require(\"striptags\");var l=n.n(s),c=n(2734),u=n.n(c),d=\"(?:^|\\\\s)\",p=\"(?:[^a-z]|$)\",A=new RegExp(\"\".concat(d,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(p,\")\"),\"gi\"),m=new RegExp(\"\".concat(d,\"(@"[a-zA-Z0-9 _.@\\\\-']+")(\").concat(p,\")\"),\"gi\");const h={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(A).map((function(t){return t.split(m)})).flat().map((function(t){if(!t.startsWith(\"@\"))return(0,r.Z)(t);var n=t.replace(/@|"/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/ /gim,\" \")).replace(/&/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){if(void 0===t)return\"\".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);var e=this.userData[t];return e?this.renderComponentHtml(e,i.Z).replace(/[\\n\\t]/gim,\"\"):t.includes(\" \")||t.includes(\"/\")?'@\"'.concat(t,'\"'):\"@\".concat(t)},renderComponentHtml:function(t,e){var n=new(u().extend(e))({propsData:t}),i=document.createElement(\"div\"),r=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(r),document.body.appendChild(i),n.$mount(r);var o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},1336:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t,e){for(var n=[],i=0,r=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;r>-1&&o<t.length;)i=r+e.length,n.push({start:r,end:i}),r=t.toLowerCase().indexOf(e.toLowerCase(),i),o++;return n}},6609:(t,e,n)=>{\"use strict\";function i(t,e,n){this.r=t,this.g=e,this.b=n}function r(t,e,n){var r=[];r.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),a=1;a<t;a++){var s=parseInt(e.r+o[0]*a,10),l=parseInt(e.g+o[1]*a,10),c=parseInt(e.b+o[2]*a,10);r.push(new i(s,l,c))}return r}n.d(e,{Z:()=>o});const o=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),a=r(t,e,n),s=r(t,n,o),l=r(t,o,e);return a.concat(s).concat(l)}},1205:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,t||5)}},1390:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>o});const i=require(\"linkify-string\");var r=n.n(i);const o=function(t){return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external linkified\",attributes:{rel:\"nofollow noopener noreferrer\"}})}},7645:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"70f0364\"),\"\")}))}},1206:(t,e,n)=>{\"use strict\";n.d(e,{L:()=>i});n(4505);var i=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},636:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-70f0364]{margin:0;padding:0 !important;display:inline-block;min-width:260px;position:relative}.multiselect[data-v-70f0364]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-70f0364].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-70f0364].multiselect--disabled,.multiselect[data-v-70f0364].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-70f0364] .loading-icon{position:absolute;right:1px;top:1px;width:48px;height:35px;background:var(--color-main-background);z-index:3}.multiselect[data-v-70f0364] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:2px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:var(--border-radius-large);min-height:44px;height:44px;padding:8px 12px !important;background-color:var(--color-main-background);box-sizing:border-box}.multiselect[data-v-70f0364] .multiselect__tags:focus,.multiselect[data-v-70f0364] .multiselect__tags:hover{border-color:var(--color-primary-element)}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;gap:5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:2px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:var(--border-radius);min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:0}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__single,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__placeholder{z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center;font-size:var(--default-font-size)}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__single,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__single *,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__strong,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-70f0364] .multiselect__tags input.multiselect__input{width:100% !important;height:auto !important;margin:0;opacity:0;border:none;cursor:pointer;display:none;height:40px;min-height:26px;padding:0 !important;font-size:var(--default-font-size)}.multiselect[data-v-70f0364].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-70f0364].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-70f0364] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-70f0364] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-70f0364] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:rgba(0,0,0,0)}.multiselect[data-v-70f0364] .multiselect__content-wrapper li,.multiselect[data-v-70f0364] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0);color:var(--color-text-lighter);width:100%}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span::before{content:\" \";background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-70f0364].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-70f0364].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-70f0364].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-dark)}.multiselect[data-v-70f0364].multiselect--multiple .multiselect__content-wrapper li>span[data-select=create]::before{background-image:var(--icon-add-dark);visibility:visible}.multiselect[data-v-70f0364].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-70f0364]:hover .multiselect__placeholder,.multiselect[data-v-70f0364] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcMultiselect/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,6BACC,QAAA,CACA,oBAAA,CACA,oBAAA,CAEA,eAAA,CACA,iBAAA,CAGA,4EACC,UAAA,CACA,oBAAA,CAKA,6FACC,2DAAA,CAKF,2HAEC,wDAAA,CAID,2CACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,uCAAA,CACA,SAAA,CAID,gDAGC,YAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,cAAA,CACA,iBAAA,CACA,wCAAA,CACA,eAAA,CACA,WAAA,CACA,2BAAA,CACA,6CAAA,CACA,qBAAA,CAEA,4GACC,yCAAA,CAID,wEACC,kBAAA,CACA,mBAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAzBe,CA0Bf,QAAA,CACA,gBAAA,CAGA,uGACC,oBAAA,CACA,wBAAA,CAIA,sIACC,YAAA,CAIF,0FACC,gBAAA,CACA,eAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,mBAAA,CACA,kBAAA,CACA,kCAAA,CAGA,WAAA,CACA,qBAAA,CACA,0BAAA,CACA,QAAA,CAGA,qGACC,aAAA,CAID,+FACC,kBAAA,CACA,sBAAA,CACA,eAAA,CAOH,+IAEC,SAAA,CACA,6CAAA,CACA,gBAAA,CACA,+BAAA,CAEA,YAAA,CACA,kBAAA,CACA,kCAAA,CAGA,kSACC,cAAA,CAIF,yIAEC,gBAAA,CACA,+BAAA,CACA,mBAAA,CACA,kBAAA,CACA,UClGc,CDmGd,gBAjGe,CAmGf,SAAA,CAGD,yEACC,qBAAA,CACA,sBAAA,CACA,QAAA,CACA,SAAA,CACA,WAAA,CAGA,cAAA,CAEA,YAAA,CACA,WAAA,CACA,eAAA,CACA,oBAAA,CACA,kCAAA,CAQD,0EACC,oBAAA,CACA,sBAAA,CAEA,2DAAA,CACA,wBAAA,CAID,qEACC,YAAA,CAKF,2DACC,iBAAA,CACA,UAAA,CACA,eAAA,CACA,yCAAA,CACA,uCAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,2DAAA,CACA,iFACC,UAAA,CACA,SAAA,CAED,8DACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,iIAEC,cAAA,CAED,mEACC,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,0BAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,8BAAA,CACA,+BAAA,CACA,UAAA,CAEA,2EACC,WAAA,CACA,2BAAA,CACA,0BAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,UC/Lc,CDgMd,gBAAA,CACA,iBAAA,CAED,iGACC,6CAAA,CACA,UCrMc,CDuMf,kGACC,4BAAA,CACA,6CAAA,CAED,qHACC,UAAA,CAIA,8NACC,kBAAA,CAOL,8EACC,WAAA,CACA,kBAAA,CAMA,sEACC,cAAA,CAIA,iGACC,2CAAA,CAMA,qHACC,qCAAA,CACA,kBAAA,CAOJ,+FACC,YAAA,CAMA,6IACC,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 260px;\\n\\tposition: relative;\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t.loading-icon {\\n\\t\\tposition: absolute;\\n\\t\\tright: 1px;\\n\\t\\ttop: 1px;\\n\\t\\twidth: 48px;\\n\\t\\theight: 35px;\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 3;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 2px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tmin-height: 44px;\\n\\t\\theight: 44px;\\n\\t\\tpadding: 8px 12px !important;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t&:focus, &:hover {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tgap: $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 2px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\theight: auto !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tdisplay: none;\\n\\t\\t\\theight: 40px;\\n\\t\\t\\tmin-height: 26px;\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t}\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-dark);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},8384:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap (http://getbootstrap.com)\\n* SCSS copied from version 3.3.5\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-tooltip {\\n\\t&.v-popper__popper {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tright: auto;\\n\\t\\tleft: auto;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\ttext-align: left;\\n\\t\\ttext-align: start;\\n\\t\\topacity: 0;\\n\\t\\tline-height: 1.6;\\n\\n\\t\\tline-break: auto;\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t// TOP\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// BOTTOM\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// RIGHT\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// LEFT\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// HIDDEN / SHOWN\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity .15s;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// CONTENT\\n\\t.v-popper__inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.v-popper__arrow-container {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},8827:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Inline buttons\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\n\\t// Spacing between buttons\\n\\t& > button {\\n\\t\\tmargin-right: math.div($icon-margin, 2);\\n\\t}\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--tertiary-no-background {\\n\\t\\t--open-background-color: transparent;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},5565:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\\n\\tborder-radius: var(--border-radius-large);\\n\\toverflow:hidden;\\n\\n\\t.v-popper__inner {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: 4px;\\n\\t\\tmax-height: calc(50vh - 16px);\\n\\t\\toverflow: auto;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2242:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>f});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),u=new URL(n(2605),n.b),d=new URL(n(7127),n.b),p=a()(r()),A=l()(c),m=l()(u),h=l()(d);p.push([t.id,\".material-design-icon[data-v-f73be20c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-f73be20c]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-f73be20c]{position:relative;background-color:var(--color-main-background)}.avatardiv[data-v-f73be20c]:not(.avatardiv--unknown){background-color:var(--color-main-background) !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}.avatardiv--with-menu[data-v-f73be20c]{cursor:pointer}.avatardiv--with-menu[data-v-f73be20c] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-f73be20c]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-f73be20c],.avatardiv--with-menu:hover .icon-more[data-v-f73be20c]{opacity:1}.avatardiv--with-menu:focus img[data-v-f73be20c],.avatardiv--with-menu:hover img[data-v-f73be20c]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-f73be20c],.avatardiv--with-menu img[data-v-f73be20c]{transition:opacity var(--animation-quick)}.avatardiv .avatardiv__initials-wrapper[data-v-f73be20c]{height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:50%}.avatardiv .avatardiv__initials-wrapper .unknown[data-v-f73be20c]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal}.avatardiv img[data-v-f73be20c]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-f73be20c]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-f73be20c]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-f73be20c]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-f73be20c]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--online[data-v-f73be20c]{background-image:url(\"+A+\")}.avatardiv .avatardiv__user-status--dnd[data-v-f73be20c]{background-image:url(\"+m+\");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-f73be20c]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-f73be20c]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-f73be20c]{position:relative;display:inline-block}.avatar-class-icon[data-v-f73be20c]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAvatar/NcAvatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,6CAAA,CAGD,qDAEC,wDAAA,CACA,wCAAA,CAGD,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,yDACC,kBAAA,CACA,iBAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kEACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAIF,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,+CAAA,CACA,mDAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White/black background for avatars with transparency\\n\\t\\tbackground-color: var(--color-main-background) !important;\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t:deep(.v-popper) {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__initials-wrapper {\\n\\t\\theight: var(--size);\\n\\t\\twidth: var(--size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.unknown {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t}\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.material-design-icon {\\n\\t\\twidth: var(--size);\\n\\t\\theight: var(--size);\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tmax-height: 18px;\\n\\t\\tmax-width: 18px;\\n\\t\\theight: 40%;\\n\\t\\twidth: 40%;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]);const f=p},1898:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},436:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-3daafbe0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-3daafbe0]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-3daafbe0]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-3daafbe0],.name-parts__last[data-v-3daafbe0]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-3daafbe0],.name-parts__last strong[data-v-3daafbe0]{font-weight:bold}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEllipsisedOption/NcEllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,YAAA,CACA,cAAA,CACA,cAAA,CACA,oCACC,eAAA,CACA,sBAAA,CAED,uEAGC,eAAA,CACA,cAAA,CACA,qFACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\tcursor: inherit;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tcursor: inherit;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6291:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-1f71c9f4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-1f71c9f4]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.modal-wrapper .empty-content[data-v-1f71c9f4]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-1f71c9f4]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-1f71c9f4] svg{width:64px;height:64px}.empty-content__title[data-v-1f71c9f4]{margin-bottom:10px;text-align:center}.empty-content__action[data-v-1f71c9f4]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-1f71c9f4]{margin-top:20px;display:flex}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEmptyContent/NcEmptyContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CAEA,+CACC,cAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,0CACC,UAAA,CACA,WAAA,CAIF,uCACC,kBAAA,CACA,iBAAA,CAGD,wCACC,cAAA,CAEA,uDACC,eAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t.modal-wrapper & {\\n\\t\\tmargin-top: 5vh;\\n\\t\\tmargin-bottom: 5vh;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\t:deep(svg) {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\t&__action {\\n\\t\\tmargin-top: 8px;\\n\\n\\t\\t.modal-wrapper & {\\n\\t\\t\\tmargin-top: 20px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},5635:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-5bf5fa74]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-5bf5fa74]{display:flex;justify-content:center;align-items:center;width:44px;height:44px;opacity:1}.icon-vue[data-v-5bf5fa74] svg{fill:currentColor;max-width:20px;max-height:20px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.icon-vue {\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n\\talign-items: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t&:deep(svg) {\\n\\t\\tfill: currentColor;\\n\\t\\tmax-width: 20px;\\n\\t\\tmax-height: 20px;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},847:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-f50b337c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-f50b337c]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-f50b337c]{height:36px;position:relative}.input-field__input[data-v-f50b337c]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-f50b337c]:active:not([disabled]),.input-field__input[data-v-f50b337c]:hover:not([disabled]),.input-field__input[data-v-f50b337c]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-f50b337c]:focus{cursor:text}.input-field__input[data-v-f50b337c]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-f50b337c]{border-color:var(--color-success) !important}.input-field__input--success[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-f50b337c]{border-color:var(--color-error) !important}.input-field__input--error[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-f50b337c]{padding-left:28px}.input-field__input--trailing-icon[data-v-f50b337c]{padding-right:28px}.input-field__label[data-v-f50b337c]{padding:4px 0;display:block}.input-field__label--hidden[data-v-f50b337c]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-f50b337c]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-f50b337c]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-f50b337c]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-f50b337c]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-f50b337c]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-f50b337c]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-f50b337c]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-f50b337c]{color:var(--color-success)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcInputField/NcInputField.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.input-field {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\tborder-radius: var(--border-radius-large);\\n\\n\\t&__main-wrapper {\\n\\t\\theight: 36px;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__input {\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0 12px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t\\theight: 36px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcursor: pointer;\\n\\t\\twidth: 100%;\\n\\t\\t-webkit-appearance: textfield !important;\\n\\t\\t-moz-appearance: textfield !important;\\n\\n\\t\\t&:active:not([disabled]),\\n\\t\\t&:hover:not([disabled]),\\n\\t\\t&:focus:not([disabled]) {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\tcursor: text;\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: unset !important; // Override server rules\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tborder-color: var(--color-success) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tborder-color: var(--color-error) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--leading-icon {\\n\\t\\t\\tpadding-left: 28px;\\n\\t\\t}\\n\\n\\t\\t&--trailing-icon {\\n\\t\\t\\tpadding-right: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: block;\\n\\n\\t\\t&--hidden {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: -10000px;\\n\\t\\t\\ttop: auto;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 1px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: absolute;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: 0.7;\\n\\t\\t&--leading {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tleft: 2px;\\n\\t\\t}\\n\\n\\t\\t&--trailing {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tright: 2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__clear-button.button-vue {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 2px;\\n\\t\\tright: 1px;\\n\\t\\tmin-width: unset;\\n\\t\\tmin-height: unset;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tcolor: var(--color-success);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},808:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-4f3daf70]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-4f3daf70]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-4f3daf70]{margin-right:var(--margin)}.option__details[data-v-4f3daf70]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-4f3daf70]{color:var(--color-main-text)}.option__linetwo[data-v-4f3daf70]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-4f3daf70],.option__linetwo strong[data-v-4f3daf70]{font-weight:bold}.option__icon[data-v-4f3daf70]{width:44px;height:44px;color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-4f3daf70]{flex:0 0 44px;opacity:.7;background-position:center;background-size:16px}.option__details[data-v-4f3daf70],.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70],.option__icon[data-v-4f3daf70]{cursor:inherit}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcListItemIcon/NcListItemIcon.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,UAAA,CACA,oBAAA,CACA,cAAA,CAEA,iCACC,0BAAA,CAGD,kCACC,YAAA,CACA,QAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAGD,kCACC,4BAAA,CAGD,kCACC,mCAAA,CAGD,oEAEC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,kFACC,gBAAA,CAIF,+BACC,UChBe,CDiBf,WCjBe,CDkBf,mCAAA,CACA,oCACC,aAAA,CACA,UCHc,CDId,0BAAA,CACA,oBAAA,CAIF,qIAIC,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\tcursor: inherit;\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__linetwo {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t&.icon {\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__details,\\n\\t&__lineone,\\n\\t&__linetwo,\\n\\t&__icon {\\n\\t\\tcursor: inherit;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},5030:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.loading-icon svg{\\n\\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},4167:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon[data-v-1350db4f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-1350db4f]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-1350db4f]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-1350db4f]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-header.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-header .modal-title[data-v-1350db4f]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-1350db4f]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-1350db4f]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-1350db4f]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1350db4f]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons__pause[data-v-1350db4f]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-1350db4f]{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item{margin:3px}.modal-header .icons-menu[data-v-1350db4f] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-1350db4f] button{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle span,.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-1350db4f],.modal-wrapper .next[data-v-1350db4f]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-1350db4f]:focus-visible,.modal-wrapper .next[data-v-1350db4f]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .prev.invisible[style*=\"display: none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-wrapper .prev[data-v-1350db4f]{left:2px}.modal-wrapper .next[data-v-1350db4f]{right:2px}.modal-wrapper .modal-container[data-v-1350db4f]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-1350db4f]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-1350db4f]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-1350db4f]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-1350db4f]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-1350db4f]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-1350db4f]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-1350db4f],.fade-leave-active[data-v-1350db4f]{transition:opacity 250ms}.fade-enter[data-v-1350db4f],.fade-leave-to[data-v-1350db4f]{opacity:0}.fade-visibility-enter[data-v-1350db4f],.fade-visibility-leave-to[data-v-1350db4f]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-1350db4f],.modal-in-leave-active[data-v-1350db4f],.modal-out-enter-active[data-v-1350db4f],.modal-out-leave-active[data-v-1350db4f]{transition:opacity 250ms}.modal-in-enter[data-v-1350db4f],.modal-in-leave-to[data-v-1350db4f],.modal-out-enter[data-v-1350db4f],.modal-out-leave-to[data-v-1350db4f]{opacity:0}.modal-in-enter .modal-container[data-v-1350db4f],.modal-in-leave-to .modal-container[data-v-1350db4f]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-1350db4f],.modal-out-leave-to .modal-container[data-v-1350db4f]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-1350db4f]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1350db4f]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-1350db4f linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-1350db4f]{animation:breath-1350db4f 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1350db4f]{animation-play-state:paused !important}@keyframes progressring-1350db4f{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-1350db4f{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcModal/NcModal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\toverflow: hidden;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t&:deep() .action-item {\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\n\\t\\t\\t&--single {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: 22px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t:deep(button) {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&:deep(.action-item__menutoggle) {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\t// Override NcButton focus styles\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\\n\\t\\t\\tbackground-color: var(--color-box-shadow);\\n\\t\\t}\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 2px;\\n\\t}\\n\\t.next {\\n\\t\\tright: 2px;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t\\t&__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 4px;\\n\\t\\t\\tright: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 400px;\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},4401:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},2:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-31ffd2d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-31ffd2d4]{display:flex;flex-direction:column;gap:4px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA,CACA,OAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},408:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon[data-v-127b0c62]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-127b0c62]{display:flex;flex:0 0 auto}li.hidden[data-v-127b0c62]{display:none}li>button[data-v-127b0c62],li>a[data-v-127b0c62],li>.menuitem[data-v-127b0c62]{cursor:pointer;line-height:44px;border:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=\" icon-\"][data-v-127b0c62],li>button[class^=icon-][data-v-127b0c62],li>button[class*=\" icon-\"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=\" icon-\"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=\" icon-\"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=\" icon-\"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=\" icon-\"][data-v-127b0c62]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=\" icon-\"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=\" icon-\"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=\" icon-\"][data-v-127b0c62]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-127b0c62],li>button[class*=\" icon-\"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=\" icon-\"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=\" icon-\"][data-v-127b0c62]{padding:0 14px 0 44px}li>button[data-v-127b0c62]:not(:disabled):hover,li>button[data-v-127b0c62]:not(:disabled):focus,li>button:not(:disabled).active[data-v-127b0c62],li>a[data-v-127b0c62]:not(:disabled):hover,li>a[data-v-127b0c62]:not(:disabled):focus,li>a:not(:disabled).active[data-v-127b0c62],li>.menuitem[data-v-127b0c62]:not(:disabled):hover,li>.menuitem[data-v-127b0c62]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-127b0c62]{opacity:1 !important}li>button.action[data-v-127b0c62],li>a.action[data-v-127b0c62],li>.menuitem.action[data-v-127b0c62]{padding:inherit !important}li>button>span[data-v-127b0c62],li>a>span[data-v-127b0c62],li>.menuitem>span[data-v-127b0c62]{cursor:pointer;white-space:nowrap}li>button>p[data-v-127b0c62],li>a>p[data-v-127b0c62],li>.menuitem>p[data-v-127b0c62]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-127b0c62],li>a>select[data-v-127b0c62],li>.menuitem>select[data-v-127b0c62]{margin:0;margin-left:6px}li>button[data-v-127b0c62]:not(:empty),li>a[data-v-127b0c62]:not(:empty),li>.menuitem[data-v-127b0c62]:not(:empty){padding-right:14px !important}li>button>img[data-v-127b0c62],li>a>img[data-v-127b0c62],li>.menuitem>img[data-v-127b0c62]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-127b0c62],li>button>input.checkbox+label[data-v-127b0c62],li>a>input.radio+label[data-v-127b0c62],li>a>input.checkbox+label[data-v-127b0c62],li>.menuitem>input.radio+label[data-v-127b0c62],li>.menuitem>input.checkbox+label[data-v-127b0c62]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-127b0c62]::before,li>a>input.checkbox+label[data-v-127b0c62]::before,li>.menuitem>input.checkbox+label[data-v-127b0c62]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-127b0c62]::before,li>a>input.radio+label[data-v-127b0c62]::before,li>.menuitem>input.radio+label[data-v-127b0c62]::before{margin:-2px 12px 0}li>button>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-127b0c62],li>a form[data-v-127b0c62],li>.menuitem form[data-v-127b0c62]{display:flex;flex:1 1 auto}li>button form[data-v-127b0c62]:not(:first-child),li>a form[data-v-127b0c62]:not(:first-child),li>.menuitem form[data-v-127b0c62]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-127b0c62],li>button>span[style*=\"display:none\"]+form[data-v-127b0c62],li>a>span.hidden+form[data-v-127b0c62],li>a>span[style*=\"display:none\"]+form[data-v-127b0c62],li>.menuitem>span.hidden+form[data-v-127b0c62],li>.menuitem>span[style*=\"display:none\"]+form[data-v-127b0c62]{margin-left:0}li>button input[data-v-127b0c62],li>a input[data-v-127b0c62],li>.menuitem input[data-v-127b0c62]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-127b0c62]:not(:first-child),li>a input[data-v-127b0c62]:not(:first-child),li>.menuitem input[data-v-127b0c62]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>input[data-v-127b0c62]{margin-top:12px}li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>input[data-v-127b0c62]{margin-bottom:12px}li>button[data-v-127b0c62]{padding:0}li>button span[data-v-127b0c62]{opacity:1}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCgBe,CDbf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCRS,CDWV,yRAIC,wBAAA,CAQC,ylCACC,gBC5BY,CDiCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC5ES,CD6ET,WC7ES,CD8ET,WC1EW,CD8EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCtHc,CDuHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCnIY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},6956:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>f});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),u=new URL(n(2605),n.b),d=new URL(n(7127),n.b),p=a()(r()),A=l()(c),m=l()(u),h=l()(d);p.push([t.id,\".material-design-icon[data-v-800c95ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-800c95ae]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-800c95ae]{color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.highlight .autocomplete-result[data-v-800c95ae],.highlight .autocomplete-result *[data-v-800c95ae]{cursor:pointer}.autocomplete-result__icon[data-v-800c95ae]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-800c95ae]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-800c95ae]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-800c95ae]{background-image:url(\"+A+\")}.autocomplete-result__status--dnd[data-v-800c95ae]{background-image:url(\"+m+\");background-color:#fff}.autocomplete-result__status--away[data-v-800c95ae]{background-image:url(\"+h+\")}.autocomplete-result__status--icon[data-v-800c95ae]{border:none;background-color:rgba(0,0,0,0)}.autocomplete-result__content[data-v-800c95ae]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-800c95ae],.autocomplete-result__subline[data-v-800c95ae]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-800c95ae]{color:var(--color-text-maxcontrast)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcAutoCompleteResult.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sCACC,YAAA,CACA,WCmBgB,CDlBhB,YALsB,CAOtB,iDACC,6CAAA,CACA,6CAAA,CACA,oGACC,cAAA,CAIF,4CACC,iBAAA,CACA,aAAA,CACA,UCKe,CDJf,cCIe,CDHf,WCGe,CDFf,kBCEe,CDDf,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CACA,yDACC,aAAA,CACA,qBAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,6CAAA,CACA,iBAAA,CACA,6CAAA,CACA,kCAAA,CACA,gBAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAEA,sDACC,wDAAA,CAED,mDACC,wDAAA,CACA,qBAAA,CAED,oDACC,wDAAA,CAED,oDACC,WAAA,CACA,8BAAA,CAIF,+CACC,YAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAtEqB,CAyEtB,4FAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground: var(--color-primary-element-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const f=p},5594:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-8a961b36]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: math.div($bubble-height, 2);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: math.div($bubble-avatar-size, 2);\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},6366:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-48b21e01]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-48b21e01]{overflow-y:auto;width:auto;margin:0;padding:8px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-dark);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-48b21e01]:before{content:attr(placeholder);color:var(--color-text-maxcontrast);position:absolute}.rich-contenteditable__input[contenteditable=false][data-v-48b21e01]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:rgba(0,0,0,0);color:var(--color-main-text);border-color:rgba(0,0,0,0);opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-48b21e01]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-48b21e01]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,eAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,oBAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,wCAAA,CACA,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,iBAAA,CACA,eCOgB,CDNhB,gBAAA,CAGA,4DACC,yBAAA,CACA,mCAAA,CACA,iBAAA,CAGD,iHACC,cAAA,CACA,8BAAA,CACA,4BAAA,CACA,0BAAA,CACA,SAAA,CACA,eAAA,CAGD,yDACC,gBAAA,CAEA,eAAA,CAGD,wDACC,UCFiB,CDGjB,mCAAA,CACA,+CAAA,CACA,kCAAA,CACA,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 8px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 2px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius-large);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&[contenteditable='false']:not(&--disabled) {\\n\\t\\tcursor: default;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-color: transparent;\\n\\t\\topacity: 1;\\n\\t\\tborder-radius: 0;\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tborder: 2px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},2431:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji,.tribute-container-link{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji,.tribute-container-link{min-width:200px;max-width:200px;padding:4px;max-height:192.5px !important}.tribute-container-emoji__item,.tribute-container-link__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child,.tribute-container-link__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji,.tribute-container-link__item__emoji{padding-right:8px}.tribute-container-emoji .highlight,.tribute-container-link .highlight{opacity:1;color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *,.tribute-container-link .highlight,.tribute-container-link .highlight *{cursor:pointer}.tribute-container-link{min-width:200px;max-width:300px}.tribute-container-link__item{display:flex;align-items:center}.tribute-container-link__item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-link__item__icon{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:8px;filter:var(--background-invert-if-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oEACC,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,gBAAA,CAEA,YAAA,CACA,4BAAA,CACA,kCAAA,CACA,uCAAA,CACA,4CAAA,CAGD,iDACC,eAAA,CACA,eAAA,CACA,WAAA,CAEA,6BAAA,CAEA,6DACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,mFACC,eAAA,CAGD,2EACC,iBAAA,CAIF,uEACC,SAAA,CACA,6CAAA,CACA,6CAAA,CACA,kJACC,cAAA,CAKH,wBACC,eAAA,CACA,eAAA,CACA,8BACC,YAAA,CACA,kBAAA,CACA,qCACC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,oCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,iBAAA,CACA,uCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.tribute-container, .tribute-container-emoji, .tribute-container-link {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n.tribute-container-emoji, .tribute-container-link {\\n\\tmin-width: 200px;\\n\\tmax-width: 200px;\\n\\tpadding: 4px;\\n\\t// Show maximum 5 entries and a half to show scroll\\n\\tmax-height: 35px * 5 + math.div(35px, 2) !important;\\n\\n\\t&__item {\\n\\t\\tborder-radius: 8px;\\n\\t\\tpadding: 4px 8px;\\n\\t\\tmargin-bottom: 4px;\\n\\t\\topacity: 0.8;\\n\\t\\tcursor: pointer;\\n\\n\\t\\t// Take care of long names\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__emoji {\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.highlight {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground: var(--color-primary-element-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n}\\n\\n.tribute-container-link {\\n\\tmin-width: 200px;\\n\\tmax-width: 300px;\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t&__label {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\t\\t&__icon {\\n\\t\\t\\tmargin: auto 0;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tobject-fit: contain;\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},122:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-36a4d5cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list.icon-loading[data-v-36a4d5cc]{min-height:44px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferenceList.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6CACC,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.widgets--list.icon-loading {\\n\\tmin-height: 44px;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9425:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-60e96d80]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},4091:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-51a83e19]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-51a83e19]{width:100%;min-height:350px;padding-right:2px;display:flex;flex-direction:column}.provider-list--empty-content[data-v-51a83e19]{margin-top:auto !important;margin-bottom:auto !important}.provider-list--select[data-v-51a83e19]{width:100%}.provider-list--select .provider[data-v-51a83e19]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-51a83e19]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-51a83e19]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-51a83e19]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcProviderList.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,UAAA,CACA,gBAAA,CAGA,iBAAA,CACA,YAAA,CACA,qBAAA,CAEA,+CACC,0BAAA,CACA,6BAAA,CAGD,wCACC,UAAA,CAEA,kDACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,6DACC,gBAAA,CAGD,iEACC,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,uCAAA,CAGD,+DACC,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.provider-list {\\n\\twidth: 100%;\\n\\tmin-height: 350px;\\n\\t// multiselect dropdown is wider than the select input\\n\\t// this avoids overflow\\n\\tpadding-right: 2px;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\t}\\n\\n\\t&--select {\\n\\t\\twidth: 100%;\\n\\n\\t\\t.provider {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\theight: 28px;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t.link-icon {\\n\\t\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.provider-icon {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t.option-text {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6068:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-2e61b91c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-2e61b91c]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto}.raw-link .input-wrapper[data-v-2e61b91c]{width:100%}.raw-link .reference-widget[data-v-2e61b91c]{display:flex}.raw-link--empty-content[data-v-2e61b91c]{margin-top:auto !important;margin-bottom:auto !important}.raw-link--empty-content .provider-icon[data-v-2e61b91c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-2e61b91c]{width:99%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,UAAA,CACA,gBAAA,CACA,YAAA,CACA,qBAAA,CACA,eAAA,CAEA,0CACC,UAAA,CAGD,6CACC,YAAA,CAGD,0CACC,0BAAA,CACA,6BAAA,CAEA,yDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAIF,kCACC,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.raw-link {\\n\\twidth: 100%;\\n\\tmin-height: 350px;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\toverflow-y: auto;\\n\\n\\t.input-wrapper {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.reference-widget {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\n\\t\\t.provider-icon {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tobject-fit: contain;\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&--input {\\n\\t\\twidth: 99%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},34:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-9b2f661a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}.reference-picker .custom-element-wrapper[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,2DACC,YAAA,CACA,eAAA,CACA,UAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.reference-picker {\\n\\tdisplay: flex;\\n\\toverflow-y: auto;\\n\\twidth: 100%;\\n\\n\\t.custom-element-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow-y: auto;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},698:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,uBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// this is to avoid scroll on the container and leave it to the result block\\n.reference-picker-modal .modal-container {\\n\\tdisplay: flex !important;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6508:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-1f66021a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-1f66021a]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-1f66021a],.reference-picker-modal--content .back-button[data-v-1f66021a]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-1f66021a]{left:4px}.reference-picker-modal--content .close-button[data-v-1f66021a]{right:4px}.reference-picker-modal--content>h2[data-v-1f66021a]{display:flex;margin:12px 0 20px 0}.reference-picker-modal--content>h2 .icon[data-v-1f66021a]{margin-right:8px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAEA,+HAEC,iBAAA,CACA,OAAA,CAED,+DACC,QAAA,CAED,gEACC,SAAA,CAGD,qDACC,YAAA,CACA,oBAAA,CACA,2DACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.reference-picker-modal--content {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\toverflow-y: auto;\\n\\n\\t.close-button,\\n\\t.back-button {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 4px;\\n\\t}\\n\\t.back-button {\\n\\t\\tleft: 4px;\\n\\t}\\n\\t.close-button {\\n\\t\\tright: 4px;\\n\\t}\\n\\n\\t> h2 {\\n\\t\\tdisplay: flex;\\n\\t\\tmargin: 12px 0 20px 0;\\n\\t\\t.icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2873:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-26e3248c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-26e3248c]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px 16px}.smart-picker-search.with-empty-content[data-v-26e3248c]{min-height:350px}.smart-picker-search--empty-content[data-v-26e3248c]{margin-top:auto !important;margin-bottom:auto !important}.smart-picker-search .provider-icon[data-v-26e3248c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-26e3248c]{width:100%}.smart-picker-search--select .search-result[data-v-26e3248c]{width:100%}.smart-picker-search--select .group-title-icon[data-v-26e3248c],.smart-picker-search--select .option-simple-icon[data-v-26e3248c]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-26e3248c]{height:44px;display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-26e3248c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-picker-search--select[data-v-26e3248c] .multiselect__content-wrapper{width:calc(100% - 4px) !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcSearch.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,wBAAA,CACA,yDACC,gBAAA,CAGD,qDACC,0BAAA,CACA,6BAAA,CAGD,qDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAGD,8CACC,UAAA,CAEA,6DACC,UAAA,CAGD,kIAEC,UAAA,CACA,WAAA,CACA,oBAAA,CAGD,6DACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,2DACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAKD,4EACC,iCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.smart-picker-search {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding: 0 16px 16px 16px;\\n\\t&.with-empty-content {\\n\\t\\tmin-height: 350px;\\n\\t}\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\t}\\n\\n\\t.provider-icon {\\n\\t\\twidth: 150px;\\n\\t\\theight: 150px;\\n\\t\\tobject-fit: contain;\\n\\t\\tfilter: var(--background-invert-if-dark);\\n\\t}\\n\\n\\t&--select {\\n\\t\\twidth: 100%;\\n\\n\\t\\t.search-result {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.group-title-icon,\\n\\t\\t.option-simple-icon {\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tmargin: 0 20px 0 10px;\\n\\t\\t}\\n\\n\\t\\t.custom-option {\\n\\t\\t\\theight: 44px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\n\\t\\t.option-text {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// multiselect dropdown is wider than the select input\\n\\t\\t// this avoids overflow\\n\\t\\t:deep(.multiselect__content-wrapper) {\\n\\t\\t\\twidth: calc(100% - 4px) !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9052:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-7297c50a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-7297c50a]{display:flex;align-items:center;height:44px;overflow:hidden}.result--icon-class[data-v-7297c50a],.result--image[data-v-7297c50a]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-7297c50a],.result--image.rounded[data-v-7297c50a]{border-radius:50%}.result--content[data-v-7297c50a]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--title[data-v-7297c50a],.result--content--subline[data-v-7297c50a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcSearchResult.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,qEAEC,UAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CAEA,qFACC,iBAAA,CAIF,kCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CAEA,oFAEC,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\toverflow: hidden;\\n\\n\\t&--icon-class,\\n\\t&--image {\\n\\t\\twidth: 40px;\\n\\t\\tmin-width: 40px;\\n\\t\\theight: 40px;\\n\\t\\tobject-fit: contain;\\n\\n\\t\\t&.rounded {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t&--content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tpadding-left: 10px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&--title,\\n\\t\\t&--subline {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},1880:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-4be6aca8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-access[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;padding:calc(var(--default-grid-baseline, 4px)*3)}.widget-default[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-default--compact[data-v-4be6aca8]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-4be6aca8]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-4be6aca8]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px)*2);padding-bottom:calc(var(--default-grid-baseline, 4px)*2)}.widget-default--compact .widget-default--description[data-v-4be6aca8]{display:none}.widget-default--image[data-v-4be6aca8]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--title[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold}.widget-default--details[data-v-4be6aca8]{padding:calc(var(--default-grid-baseline, 4px)*3);width:60%}.widget-default--details p[data-v-4be6aca8]{margin:0;padding:0}.widget-default--description[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-4be6aca8]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferenceWidget.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCOD,gCAXC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAOD,gCAfC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CASA,iDAAA,CAGD,iCApBC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAeA,0CACC,qBAAA,CAEA,iEACC,UAAA,CACA,YAAA,CAGD,mEACC,UAAA,CACA,qDAAA,CACA,wDAAA,CAGD,uEACC,YAAA,CAKF,wCACC,SAAA,CACA,0BAAA,CACA,qBAAA,CACA,2BAAA,CAGD,wCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CAGD,0CACC,iDAAA,CACA,SAAA,CAEA,4CACC,QAAA,CACA,SAAA,CAIF,8CACC,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,2BAAA,CAGD,uCACC,mCAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n@mixin widget {\\n\\twidth: 100%;\\n\\tmargin: auto;\\n\\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\\n\\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\\n\\toverflow: hidden;\\n\\tborder: 2px solid var(--color-border);\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: transparent;\\n\\tdisplay: flex;\\n}\\n\\n.widget-custom {\\n\\t@include widget;\\n}\\n\\n.widget-access {\\n\\t@include widget;\\n\\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\\n}\\n\\n.widget-default {\\n\\t@include widget;\\n\\n\\t&--compact {\\n\\t\\tflex-direction: column;\\n\\n\\t\\t.widget-default--image {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t}\\n\\n\\t\\t.widget-default--details {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t\\t\\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t\\t}\\n\\n\\t\\t.widget-default--description {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&--image {\\n\\t\\twidth: 40%;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: cover;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t}\\n\\n\\t&--title {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&--details {\\n\\t\\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\\n\\t\\twidth: 60%;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&--description {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tdisplay: -webkit-box;\\n\\t\\t-webkit-line-clamp: 3;\\n\\t\\tline-clamp: 3;\\n\\t\\t-webkit-box-orient: vertical;\\n\\t}\\n\\n\\t&--link {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},8369:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\"\\nbutton.menuitem[data-v-127b0c62] {\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-127b0c62] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-127b0c62]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-127b0c62] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-127b0c62] {\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\"],names:[],mappings:\";AAgYA;CACA,oDAAA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,mDAAA;CACA,mFAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"nofollow noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'NcPopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\tborder-radius: var(--border-radius-large) !important;\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]);const s=a},7856:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(5425),l=a()(r());l.i(s.Z),l.push([t.id,\"\\n/* stylelint-disable-next-line scss/at-import-partial-extension */\\na[data-v-57480046]:not(.rich-text--component) {\\n\\ttext-decoration: underline;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcRichText/NcRichText.vue\"],names:[],mappings:\";AAkPA,iEAAA;AAGA;CACA,0BAAA;AACA\",sourcesContent:[\"\\x3c!--\\n - @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n - @author Guido Krömer <mail@cacodaemon.de>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n<docs>\\n```vue\\n<template>\\n\\t<div>\\n\\t\\t<textarea v-model=\\\"text\\\" />\\n\\t\\t<NcCheckboxRadioSwitch :checked.sync=\\\"autolink\\\" type=\\\"checkbox\\\">Autolink</NcCheckboxRadioSwitch>\\n\\t\\t<NcCheckboxRadioSwitch :checked.sync=\\\"useMarkdown\\\" type=\\\"checkbox\\\">Use Markdown</NcCheckboxRadioSwitch>\\n\\n\\t\\t<NcRichText\\n\\t\\t\\t:text=\\\"text\\\" :autolink=\\\"autolink\\\" :arguments=\\\"args\\\"\\n\\t\\t\\t:use-markdown=\\\"useMarkdown\\\" />\\n\\t</div>\\n</template>\\n<script>\\nexport default {\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\ttext: `Hello {username}. The file {file} was added by {username}. Go visit https://nextcloud.com\\n\\nLocal IP: http://127.0.0.1/status.php should be clickable\\n\\nSome examples for markdown syntax: **bold text** *italic text* ~~strikethrough~~`,\\n\\t\\t\\tautolink: true,\\n\\t\\t\\tuseMarkdown: true,\\n\\t\\t\\targs: {\\n\\t\\t\\t\\tfile: 'MyDocument.odt',\\n\\t\\t\\t\\tusername: {\\n\\t\\t\\t\\t\\tcomponent: 'NcUserBubble',\\n\\t\\t\\t\\t\\tprops: {\\n\\t\\t\\t\\t\\t\\tdisplayName: 'Jane Doe'\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t}\\n\\t},\\n}\\n<\\/script>\\n<style lang=\\\"scss\\\">\\ntextarea {\\n\\twidth: 100%;\\n\\theight: 100px;\\n}\\n</style>\\n```\\n</docs>\\n\\n<script>\\nimport NcReferenceList from './NcReferenceList.vue'\\nimport { remarkAutolink } from './autolink.js'\\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\\n\\nimport { unified } from 'unified'\\nimport markdown from 'remark-parse'\\nimport breaks from 'remark-breaks'\\nimport remark2rehype from 'remark-rehype'\\nimport rehype2react from 'rehype-react'\\nimport remarkExternalLinks from 'remark-external-links'\\n\\nexport default {\\n\\tname: 'NcRichText',\\n\\tcomponents: {\\n\\t\\tNcReferenceList,\\n\\t},\\n\\tprops: {\\n\\t\\ttext: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\tdefault: '',\\n\\t\\t},\\n\\t\\targuments: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {}\\n\\t\\t\\t},\\n\\t\\t},\\n\\t\\treferenceLimit: {\\n\\t\\t\\ttype: Number,\\n\\t\\t\\tdefault: 0,\\n\\t\\t},\\n\\t\\t/** Provide data upfront to avoid extra http request */\\n\\t\\treferences: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: null,\\n\\t\\t},\\n\\t\\tmarkdownCssClasses: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ta: 'rich-text--external-link',\\n\\t\\t\\t\\t\\tol: 'rich-text--ordered-list',\\n\\t\\t\\t\\t\\tul: 'rich-text--un-ordered-list',\\n\\t\\t\\t\\t\\tli: 'rich-text--list-item',\\n\\t\\t\\t\\t\\tstrong: 'rich-text--strong',\\n\\t\\t\\t\\t\\tem: 'rich-text--italic',\\n\\t\\t\\t\\t\\th1: 'rich-text--heading rich-text--heading-1',\\n\\t\\t\\t\\t\\th2: 'rich-text--heading rich-text--heading-2',\\n\\t\\t\\t\\t\\th3: 'rich-text--heading rich-text--heading-3',\\n\\t\\t\\t\\t\\th4: 'rich-text--heading rich-text--heading-4',\\n\\t\\t\\t\\t\\th5: 'rich-text--heading rich-text--heading-5',\\n\\t\\t\\t\\t\\th6: 'rich-text--heading rich-text--heading-6',\\n\\t\\t\\t\\t\\thr: 'rich-text--hr',\\n\\t\\t\\t\\t\\ttable: 'rich-text--table',\\n\\t\\t\\t\\t\\tpre: 'rich-text--pre',\\n\\t\\t\\t\\t\\tcode: 'rich-text--code',\\n\\t\\t\\t\\t\\tblockquote: 'rich-text--blockquote',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t},\\n\\t\\tuseMarkdown: {\\n\\t\\t\\ttype: Boolean,\\n\\t\\t\\tdefault: false,\\n\\t\\t},\\n\\t\\tautolink: {\\n\\t\\t\\ttype: Boolean,\\n\\t\\t\\tdefault: true,\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\trenderPlaintext(h) {\\n\\t\\t\\tconst context = this\\n\\t\\t\\tconst placeholders = this.text.split(/(\\\\{[a-z\\\\-_.0-9]+\\\\})/ig).map(function(entry, index, list) {\\n\\t\\t\\t\\tconst matches = entry.match(/^\\\\{([a-z\\\\-_.0-9]+)\\\\}$/i)\\n\\t\\t\\t\\t// just return plain string nodes as text\\n\\t\\t\\t\\tif (!matches) {\\n\\t\\t\\t\\t\\treturn prepareTextNode({ h, context }, entry)\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// return component instance if argument is an object\\n\\t\\t\\t\\tconst argumentId = matches[1]\\n\\t\\t\\t\\tconst argument = context.arguments[argumentId]\\n\\t\\t\\t\\tif (typeof argument === 'object') {\\n\\t\\t\\t\\t\\tconst { component, props } = argument\\n\\t\\t\\t\\t\\treturn h(component, {\\n\\t\\t\\t\\t\\t\\tprops,\\n\\t\\t\\t\\t\\t\\tclass: 'rich-text--component',\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif (argument) {\\n\\t\\t\\t\\t\\treturn h('span', { class: 'rich-text--fallback' }, argument)\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn entry\\n\\t\\t\\t})\\n\\t\\t\\treturn h('div', { class: 'rich-text--wrapper' }, [\\n\\t\\t\\t\\th('div', {}, placeholders.flat()),\\n\\t\\t\\t\\tthis.referenceLimit > 0\\n\\t\\t\\t\\t\\t? h('div', { class: 'rich-text--reference-widget' }, [\\n\\t\\t\\t\\t\\t\\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\\n\\t\\t\\t\\t\\t])\\n\\t\\t\\t\\t\\t: null,\\n\\t\\t\\t])\\n\\t\\t},\\n\\t\\trenderMarkdown(h) {\\n\\t\\t\\tconst renderedMarkdown = unified()\\n\\t\\t\\t\\t.use(markdown)\\n\\t\\t\\t\\t.use(remarkAutolink, {\\n\\t\\t\\t\\t\\tautolink: this.autolink,\\n\\t\\t\\t\\t\\tuseMarkdown: this.useMarkdown,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.use(remarkExternalLinks, {\\n\\t\\t\\t\\t\\ttarget: '_blank',\\n\\t\\t\\t\\t\\trel: ['noopener noreferrer'],\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.use(breaks)\\n\\t\\t\\t\\t.use(remark2rehype, {\\n\\t\\t\\t\\t\\thandlers: {\\n\\t\\t\\t\\t\\t\\tcomponent(toHast, node) {\\n\\t\\t\\t\\t\\t\\t\\treturn toHast(node, node.component, { value: node.value })\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t// .use(rehypeAddClasses, this.markdownCssClasses)\\n\\t\\t\\t\\t.use(remarkPlaceholder)\\n\\t\\t\\t\\t.use(rehype2react, {\\n\\t\\t\\t\\t\\tcreateElement: (tag, attrs, children) => {\\n\\t\\t\\t\\t\\t\\tif (!tag.startsWith('#')) {\\n\\t\\t\\t\\t\\t\\t\\treturn h(tag, attrs, children)\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tconst placeholder = this.arguments[tag.slice(1)]\\n\\t\\t\\t\\t\\t\\tif (!placeholder) {\\n\\t\\t\\t\\t\\t\\t\\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tif (!placeholder.component) {\\n\\t\\t\\t\\t\\t\\t\\treturn h('span', attrs, [placeholder])\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\treturn h(\\n\\t\\t\\t\\t\\t\\t\\tplaceholder.component,\\n\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\tattrs,\\n\\t\\t\\t\\t\\t\\t\\t\\tprops: placeholder.props,\\n\\t\\t\\t\\t\\t\\t\\t\\tclass: 'rich-text--component',\\n\\t\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\tchildren\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\tprefix: false,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.processSync(this.text)\\n\\t\\t\\t\\t.result\\n\\n\\t\\t\\treturn h('div', { class: 'rich-text--wrapper' }, [\\n\\t\\t\\t\\trenderedMarkdown,\\n\\t\\t\\t\\tthis.referenceLimit > 0\\n\\t\\t\\t\\t\\t? h('div', { class: 'rich-text--reference-widget' }, [\\n\\t\\t\\t\\t\\t\\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\\n\\t\\t\\t\\t\\t])\\n\\t\\t\\t\\t\\t: null,\\n\\t\\t\\t])\\n\\t\\t},\\n\\t},\\n\\trender(h) {\\n\\t\\tif (!this.useMarkdown) {\\n\\t\\t\\treturn this.renderPlaintext(h)\\n\\t\\t}\\n\\n\\t\\treturn this.renderMarkdown(h)\\n\\t},\\n}\\n<\\/script>\\n<style scoped>\\n/* stylelint-disable-next-line scss/at-import-partial-extension */\\n@import './richtext.scss';\\n\\na:not(.rich-text--component) {\\n\\ttext-decoration: underline;\\n}\\n</style>\\n\"],sourceRoot:\"\"}]);const c=l},5425:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\"/**\\n * Styles are extracted to extract scss to dist folder, too.\\n */\\n\\n.rich-text--wrapper {\\n\\tword-break: break-word;\\n\\tline-height: 1.5;\\n\\n\\t.rich-text--fallback, .rich-text-component {\\n\\t\\tdisplay: inline;\\n\\t}\\n\\n\\t.rich-text--external-link {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&:after {\\n\\t\\t\\tcontent: ' ↗';\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: decimal;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--un-ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: initial;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--list-item {\\n\\t\\twhite-space: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tpadding: initial;\\n\\t\\tmargin-left: 20px;\\n\\n\\t\\t&.task-list-item {\\n\\t\\t\\tlist-style: none;\\n\\t\\t\\twhite-space: initial;\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tmin-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--strong {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--italic {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-style: italic;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--heading {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-size: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmargin-top: 5px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&.rich-text--heading-1 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-2 {\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-3 {\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-5 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-6 {\\n\\t\\t\\tfont-size: 15px;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--hr {\\n\\t\\tborder-top: 1px solid var(--color-border-dark);\\n\\t\\tborder-bottom: 0;\\n\\t}\\n\\n\\t.rich-text--pre {\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tpadding: 5px;\\n\\t}\\n\\n\\t.rich-text--code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t.rich-text--blockquote {\\n\\t\\tborder-left: 3px solid var(--color-border-dark);\\n\\t\\tpadding-left: 5px;\\n\\t}\\n\\n\\t.rich-text--table {\\n\\t\\tborder-collapse: collapse;\\n\\n\\t\\tthead tr th {\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 6px 13px;\\n\\t\\t}\\n\\n\\t\\ttbody tr {\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tpadding: 6px 13px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:nth-child(even) {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcRichText/richtext.scss\"],names:[],mappings:\"AAAA;;EAEE;;AAEF;CACC,sBAAsB;CACtB,gBAAgB;;CAEhB;EACC,eAAe;CAChB;;CAEA;EACC,0BAA0B;EAC1B;GACC,aAAa;EACd;CACD;;CAEA;EACC;GACC,mBAAmB;EACpB;CACD;;CAEA;EACC;GACC,mBAAmB;EACpB;CACD;;CAEA;EACC,oBAAoB;EACpB,8BAA8B;EAC9B,gBAAgB;EAChB,iBAAiB;;EAEjB;GACC,gBAAgB;GAChB,oBAAoB;GACpB,8BAA8B;;GAE9B;IACC,mBAAmB;GACpB;EACD;CACD;;CAEA;EACC,oBAAoB;EACpB,iBAAiB;EACjB,8BAA8B;CAC/B;;CAEA;EACC,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;CAC/B;;CAEA;EACC,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;EAClB,eAAe;EACf,iBAAiB;;EAEjB;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;CACD;;CAEA;EACC,8CAA8C;EAC9C,gBAAgB;CACjB;;CAEA;EACC,0CAA0C;EAC1C,8CAA8C;EAC9C,YAAY;CACb;;CAEA;EACC,8CAA8C;CAC/C;;CAEA;EACC,+CAA+C;EAC/C,iBAAiB;CAClB;;CAEA;EACC,yBAAyB;;EAEzB;GACC,0CAA0C;GAC1C,iBAAiB;GACjB,iBAAiB;EAClB;;EAEA;GACC;IACC,0CAA0C;IAC1C,iBAAiB;GAClB;;GAEA;IACC,8CAA8C;GAC/C;EACD;CACD;AACD\",sourcesContent:[\"/**\\n * Styles are extracted to extract scss to dist folder, too.\\n */\\n\\n.rich-text--wrapper {\\n\\tword-break: break-word;\\n\\tline-height: 1.5;\\n\\n\\t.rich-text--fallback, .rich-text-component {\\n\\t\\tdisplay: inline;\\n\\t}\\n\\n\\t.rich-text--external-link {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&:after {\\n\\t\\t\\tcontent: ' ↗';\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: decimal;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--un-ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: initial;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--list-item {\\n\\t\\twhite-space: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tpadding: initial;\\n\\t\\tmargin-left: 20px;\\n\\n\\t\\t&.task-list-item {\\n\\t\\t\\tlist-style: none;\\n\\t\\t\\twhite-space: initial;\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tmin-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--strong {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--italic {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-style: italic;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--heading {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-size: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmargin-top: 5px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&.rich-text--heading-1 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-2 {\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-3 {\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-5 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-6 {\\n\\t\\t\\tfont-size: 15px;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--hr {\\n\\t\\tborder-top: 1px solid var(--color-border-dark);\\n\\t\\tborder-bottom: 0;\\n\\t}\\n\\n\\t.rich-text--pre {\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tpadding: 5px;\\n\\t}\\n\\n\\t.rich-text--code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t.rich-text--blockquote {\\n\\t\\tborder-left: 3px solid var(--color-border-dark);\\n\\t\\tpadding-left: 5px;\\n\\t}\\n\\n\\t.rich-text--table {\\n\\t\\tborder-collapse: collapse;\\n\\n\\t\\tthead tr th {\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 6px 13px;\\n\\t\\t}\\n\\n\\t\\ttbody tr {\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tpadding: 6px 13px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:nth-child(even) {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},3645:t=>{\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=\"\",i=void 0!==e[5];return e[4]&&(n+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(n+=\"@media \".concat(e[2],\" {\")),i&&(n+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),n+=t(e),i&&(n+=\"}\"),e[2]&&(n+=\"}\"),e[4]&&(n+=\"}\"),n})).join(\"\")},e.i=function(t,n,i,r,o){\"string\"==typeof t&&(t=[[null,t,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);i&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]=\"@layer\".concat(u[5].length>0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=o),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=r):u[4]=\"\".concat(r)),e.push(u))}},e}},1667:t=>{\"use strict\";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]|(%20)/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t):t}},7537:t=>{\"use strict\";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),o=\"/*# \".concat(r,\" */\");return[e].concat([o]).join(\"\\n\")}return[e].join(\"\\n\")}},5664:(t,e,n)=>{\"use strict\";var i=n(3379),r=n.n(i),o=n(7795),a=n.n(o),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),A=n(4589),m=n.n(A),h=n(847),f={};f.styleTagTransform=m(),f.setAttributes=u(),f.insert=l().bind(null,\"head\"),f.domAPI=a(),f.insertStyleElement=p();r()(h.Z,f),h.Z&&h.Z.locals&&h.Z.locals},3379:t=>{\"use strict\";var e=[];function n(t){for(var n=-1,i=0;i<e.length;i++)if(e[i].identifier===t){n=i;break}return n}function i(t,i){for(var o={},a=[],s=0;s<t.length;s++){var l=t[s],c=i.base?l[0]+i.base:l[0],u=o[c]||0,d=\"\".concat(c,\" \").concat(u);o[c]=u+1;var p=n(d),A={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)e[p].references++,e[p].updater(A);else{var m=r(A,i);i.byIndex=s,e.splice(s,0,{identifier:d,updater:m,references:1})}a.push(d)}return a}function r(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,r){var o=i(t=t||[],r=r||{});return function(t){t=t||[];for(var a=0;a<o.length;a++){var s=n(o[a]);e[s].references--}for(var l=i(t,r),c=0;c<o.length;c++){var u=n(o[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}o=l}}},569:t=>{\"use strict\";var e={};t.exports=function(t,n){var i=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(n)}},9216:t=>{\"use strict\";t.exports=function(t){var e=document.createElement(\"style\");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{\"use strict\";t.exports=function(t){var e=n.nc;e&&t.setAttribute(\"nonce\",e)}},7795:t=>{\"use strict\";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var i=\"\";n.supports&&(i+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(i+=\"@media \".concat(n.media,\" {\"));var r=void 0!==n.layer;r&&(i+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),i+=n.css,r&&(i+=\"}\"),n.media&&(i+=\"}\"),n.supports&&(i+=\"}\");var o=n.sourceMap;o&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),e.styleTagTransform(i,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},9563:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(1039),r=n(5495),o=(n(9521),n(1900)),a=n(4348),s=n.n(a),l=(0,o.Z)(r.Z,i.s,i.x,!1,null,\"f50b337c\",null);\"function\"==typeof s()&&s()(l);const c=l.exports},4470:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>C});var i=n(4262);const r={name:\"NcMentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},iconUrl:{type:[String,null],default:null},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return this.id.includes(\" \")||this.id.includes(\"/\")?'@\"'.concat(this.id,'\"'):\"@\".concat(this.id)}},methods:{getAvatarUrl:function(t,e){return(0,i.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}};var o=n(3379),a=n.n(o),s=n(7795),l=n.n(s),c=n(569),u=n.n(c),d=n(3565),p=n.n(d),A=n(9216),m=n.n(A),h=n(4589),f=n.n(h),v=n(5594),g={};g.styleTagTransform=f(),g.setAttributes=p(),g.insert=u().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m();a()(v.Z,g);v.Z&&v.Z.locals&&v.Z.locals;const C=(0,n(1900).Z)(r,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"8a961b36\",null).exports},5495:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=n(9456).Z},9521:(t,e,n)=>{\"use strict\";n(5664)},5727:()=>{},3051:()=>{},2102:()=>{},9258:()=>{},6274:()=>{},1287:()=>{},4348:()=>{},8488:()=>{},9280:()=>{},9989:()=>{},6049:()=>{},2405:()=>{},1174:()=>{},2272:()=>{},3407:()=>{},5439:()=>{},1900:(t,e,n)=>{\"use strict\";function i(t,e,n,i,r,o,a,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=s?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,{Z:()=>i})},7127:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},2605:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},3423:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},3607:t=>{\"use strict\";t.exports=require(\"@nextcloud/auth\")},768:t=>{\"use strict\";t.exports=require(\"@nextcloud/axios\")},7672:t=>{\"use strict\";t.exports=require(\"@nextcloud/browser-storage\")},542:t=>{\"use strict\";t.exports=require(\"@nextcloud/event-bus\")},733:t=>{\"use strict\";t.exports=require(\"@nextcloud/initial-state\")},7931:t=>{\"use strict\";t.exports=require(\"@nextcloud/l10n/gettext\")},4262:t=>{\"use strict\";t.exports=require(\"@nextcloud/router\")},4055:t=>{\"use strict\";t.exports=require(\"@vueuse/components\")},3465:t=>{\"use strict\";t.exports=require(\"debounce\")},9:t=>{\"use strict\";t.exports=require(\"emoji-mart-vue-fast\")},1822:t=>{\"use strict\";t.exports=require(\"emoji-mart-vue-fast/data/all.json\")},9454:t=>{\"use strict\";t.exports=require(\"floating-vue\")},4505:t=>{\"use strict\";t.exports=require(\"focus-trap\")},2640:t=>{\"use strict\";t.exports=require(\"hammerjs\")},2734:t=>{\"use strict\";t.exports=require(\"vue\")},5512:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/AlertCircleOutline.vue\")},6921:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ArrowLeft.vue\")},3875:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ArrowRight.vue\")},6915:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/Check.vue\")},9044:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ChevronRight.vue\")},8618:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/Close.vue\")},1441:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/DotsHorizontal.vue\")}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={id:i,exports:{}};return t[i](o,o.exports,n),o.exports}n.m=t,n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.b=document.baseURI||self.location.href,n.nc=void 0;var i={};return(()=>{\"use strict\";n.r(i),n.d(i,{NcAutoCompleteResult:()=>b,NcMentionBubble:()=>t.Z,default:()=>R});var t=n(4470),e=n(4262);const r={name:\"NcAutoCompleteResult\",props:{label:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},iconUrl:{type:String,default:null},source:{type:String,required:!0},status:{type:[Object,Array],default:function(){return{}}}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus:function(){var t,e,n;return(null===(t=this.status)||void 0===t?void 0:t.icon)||(null===(e=this.status)||void 0===e?void 0:e.status)&&\"offline\"!==(null===(n=this.status)||void 0===n?void 0:n.status)}},methods:{getAvatarUrl:function(t,n){return(0,e.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:n})}}};var o=n(3379),a=n.n(o),s=n(7795),l=n.n(s),c=n(569),u=n.n(c),d=n(3565),p=n.n(d),A=n(9216),m=n.n(A),h=n(4589),f=n.n(h),v=n(6956),g={};g.styleTagTransform=f(),g.setAttributes=p(),g.insert=u().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m();a()(v.Z,g);v.Z&&v.Z.locals&&v.Z.locals;var C=n(1900);const b=(0,C.Z)(r,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"autocomplete-result\"},[e(\"div\",{staticClass:\"autocomplete-result__icon\",class:[t.icon,\"autocomplete-result__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null},[t.haveStatus?e(\"div\",{staticClass:\"autocomplete-result__status\",class:[\"autocomplete-result__status--\".concat(t.status&&t.status.icon?\"icon\":t.status.status)]},[t._v(\"\\n\\t\\t\\t\"+t._s(t.status&&t.status.icon||\"\")+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),e(\"span\",{staticClass:\"autocomplete-result__content\"},[e(\"span\",{staticClass:\"autocomplete-result__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.label)+\"\\n\\t\\t\")]),t._v(\" \"),t.subline?e(\"span\",{staticClass:\"autocomplete-result__subline\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.subline)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"800c95ae\",null).exports;var y=n(932),x=n(3132),w=n(336),k=n(6540),_=n(2611);const S=require(\"tributejs/dist/tribute.esm.js\");var B=n.n(S),j=n(3465),E=n.n(j);const N=require(\"string-length\");var P=n.n(N);function z(t){return z=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},z(t)}function O(){O=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new _(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(S([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==z(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return B()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:B}}function B(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=S,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function D(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const T={name:\"NcRichContenteditable\",directives:{tooltip:w.default},mixins:[x.default],props:{value:{type:String,default:\"\",required:!0},placeholder:{type:String,default:(0,y.t)('Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …')},autoComplete:{type:Function,default:function(){return[]}},menuContainer:{type:Element,default:function(){return document.body}},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0},linkAutocomplete:{type:Boolean,default:!0}},emits:[\"submit\",\"paste\",\"update:value\"],data:function(){var t=this;return{textSmiles:[],tribute:null,autocompleteOptions:{allowSpaces:!0,fillAttr:\"id\",lookup:function(t){return\"\".concat(t.id,\" \").concat(t.label)},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.renderComponentHtml(e.original,b)},noMatchTemplate:function(){return'<span class=\"hidden\"></span>'},selectTemplate:function(e){var n;return t.genSelectTemplate(null==e||null===(n=e.original)||void 0===n?void 0:n.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:\":\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.textSmiles.includes(e.original)?e.original:'<span class=\"tribute-container-emoji__item__emoji\">'.concat(e.original.native,\"</span> :\").concat(e.original.short_name)},noMatchTemplate:function(){return(0,y.t)(\"No emoji found\")},selectTemplate:function(e){return t.textSmiles.includes(e.original)?e.original:((0,k.emojiAddRecent)(e.original),e.original.native)},values:function(e,n){var i=(0,k.emojiSearch)(e);t.textSmiles.includes(\":\"+e)&&i.unshift(\":\"+e),n(i)},containerClass:\"tribute-container-emoji\",itemClass:\"tribute-container-emoji__item\"},linkOptions:{trigger:\"/\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(t){return'<img class=\"tribute-container-link__item__icon\" src=\"'.concat(t.original.icon_url,'\"> <span class=\"tribute-container-link__item__label\">').concat(t.original.title,\"</span>\")},noMatchTemplate:function(){return(0,y.t)(\"No link provider found\")},selectTemplate:this.getLink,values:function(t,e){return e((0,_.searchProvider)(t))},containerClass:\"tribute-container-link\",itemClass:\"tribute-container-link__item\"},localValue:this.value}},computed:{isEmptyValue:function(){return!this.localValue||this.localValue&&\"\"===this.localValue.trim()},isFF:function(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength:function(){return!(this.isEmptyValue||!this.maxlength)&&P()(this.localValue)>this.maxlength},tooltipString:function(){return this.isOverMaxlength?{content:(0,y.t)(\"Message limit of {count} characters reached\",{count:this.maxlength}),shown:!0,trigger:\"manual\"}:null},canEdit:function(){return this.contenteditable&&!this.disabled}},watch:{value:function(){var t=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(t).trim()&&this.updateContent(this.value)}},mounted:function(){var t=this;this.textSmiles=[],[\"d\",\"D\",\"p\",\"P\",\"s\",\"S\",\"x\",\"X\",\")\",\"(\",\"|\",\"/\"].forEach((function(e){t.textSmiles.push(\":\"+e),t.textSmiles.push(\":-\"+e)})),this.autocompleteTribute=new(B())(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new(B())(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.linkAutocomplete&&(this.linkTribute=new(B())(this.linkOptions),this.linkTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy:function(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el),this.linkTribute&&this.linkTribute.detach(this.$el)},methods:{getLink:function(t){var e=this;return(0,_.getLinkWithPicker)(t.original.id).then((function(t){var n=document.getElementById(\"tmp-link-result-node\"),i=document.createTextNode(t);n.replaceWith(i),e.setCursorAfter(i),e.updateValue(e.$refs.contenteditable.innerHTML)})).catch((function(t){console.debug(\"Smart picker promise rejected:\",t);var n=document.getElementById(\"tmp-link-result-node\");e.setCursorAfter(n),n.remove()})),'<span id=\"tmp-link-result-node\"></span>'},setCursorAfter:function(t){var e=document.createRange();e.setEndAfter(t),e.collapse();var n=window.getSelection();n.removeAllRanges(),n.addRange(e)},onInput:function(t){this.updateValue(t.target.innerHTML)},onPaste:function(t){if(this.canEdit){t.preventDefault();var e=t.clipboardData;if(this.$emit(\"paste\",t),0===e.files.length&&Object.values(e.items).find((function(t){return null==t?void 0:t.type.startsWith(\"text\")}))){var n=e.getData(\"text\"),i=window.getSelection();if(i.rangeCount){var r=i.getRangeAt(0);i.deleteFromDocument(),r.insertNode(document.createTextNode(n));var o=document.createRange();o.setStart(t.target,r.endOffset),o.collapse(!0),i.removeAllRanges(),i.addRange(o),this.updateValue(this.$refs.contenteditable.innerHTML)}else this.updateValue(n)}}},updateValue:function(t){var e=this.parseContent(t);this.localValue=e,this.$emit(\"update:value\",e)},updateContent:function(t){var e=this.renderContent(t);this.$refs.contenteditable.innerHTML=e,this.localValue=t},onDelete:function(t){if(this.isFF&&window.getSelection&&this.canEdit){var e=window.getSelection(),n=t.target;if(e.isCollapsed&&e.rangeCount){var i=e.getRangeAt(e.rangeCount-1);if(!(3===i.commonAncestorContainer.nodeType&&i.startOffset>0)){var r=document.createRange();if(e.anchorNode!==n)r.selectNodeContents(n),r.setEndBefore(e.anchorNode);else{if(!(e.anchorOffset>0))return;r.setEnd(n,e.anchorOffset)}r.setStart(n,r.endOffset-1);var o=r.cloneContents().lastChild;o&&\"false\"===o.contentEditable&&(r.deleteContents(),t.preventDefault())}}}},onEnter:function(t){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||this.linkTribute.isActive||(t.preventDefault(),t.stopPropagation(),this.$emit(\"submit\",t))},onCtrlEnter:function(t){this.isOverMaxlength||this.$emit(\"submit\",t)},debouncedAutoComplete:E()(function(){var t,e=(t=O().mark((function t(e,n){return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.autoComplete(e,n);case 1:case\"end\":return t.stop()}}),t,this)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){D(o,i,r,a,s,\"next\",t)}function s(t){D(o,i,r,a,s,\"throw\",t)}a(void 0)}))});return function(t,n){return e.apply(this,arguments)}}(),100),onKeyUp:function(t){t.stopImmediatePropagation()}}};var L=n(6366),I={};I.styleTagTransform=f(),I.setAttributes=p(),I.insert=u().bind(null,\"head\"),I.domAPI=l(),I.insertStyleElement=m();a()(L.Z,I);L.Z&&L.Z.locals&&L.Z.locals;var $=n(2431),G={};G.styleTagTransform=f(),G.setAttributes=p(),G.insert=u().bind(null,\"head\"),G.domAPI=l(),G.insertStyleElement=m();a()($.Z,G);$.Z&&$.Z.locals&&$.Z.locals;var M=n(2272),U=n.n(M),F=(0,C.Z)(T,(function(){var t=this;return(0,t._self._c)(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltipString,expression:\"tooltipString\"}],ref:\"contenteditable\",staticClass:\"rich-contenteditable__input\",class:{\"rich-contenteditable__input--empty\":t.isEmptyValue,\"rich-contenteditable__input--multiline\":t.multiline,\"rich-contenteditable__input--overflow\":t.isOverMaxlength,\"rich-contenteditable__input--disabled\":t.disabled},attrs:{contenteditable:t.canEdit,placeholder:t.placeholder,\"aria-multiline\":\"true\",role:\"textbox\"},on:{input:t.onInput,keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\",\"Del\"])?null:t.onDelete.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.onEnter.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:e.ctrlKey?e.shiftKey||e.altKey||e.metaKey?null:(e.stopPropagation(),e.preventDefault(),t.onCtrlEnter.apply(null,arguments)):null}],paste:t.onPaste,\"!keyup\":function(e){return e.stopPropagation(),e.preventDefault(),t.onKeyUp.apply(null,arguments)}}},t.$listeners))}),[],!1,null,\"48b21e01\",null);\"function\"==typeof U()&&U()(F);const R=F.exports})(),i})()));\n//# sourceMappingURL=NcRichContenteditable.js.map","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n","if (!Array.prototype.find) {\n Array.prototype.find = function(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined')\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function')\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value\n }\n }\n return undefined\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n function CustomEvent$1(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt\n }\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent$1.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent$1;\n}\n\nclass TributeEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n static keys() {\n return [\n {\n key: 9,\n value: \"TAB\"\n },\n {\n key: 8,\n value: \"DELETE\"\n },\n {\n key: 13,\n value: \"ENTER\"\n },\n {\n key: 27,\n value: \"ESCAPE\"\n },\n {\n key: 32,\n value: \"SPACE\"\n },\n {\n key: 38,\n value: \"UP\"\n },\n {\n key: 40,\n value: \"DOWN\"\n }\n ];\n }\n\n bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n\n element.addEventListener(\"keydown\", element.boundKeydown, false);\n element.addEventListener(\"keyup\", element.boundKeyup, false);\n element.addEventListener(\"input\", element.boundInput, false);\n }\n\n unbind(element) {\n element.removeEventListener(\"keydown\", element.boundKeydown, false);\n element.removeEventListener(\"keyup\", element.boundKeyup, false);\n element.removeEventListener(\"input\", element.boundInput, false);\n\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n\n keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n let element = this;\n instance.commandEvent = false;\n\n TributeEvents.keys().forEach(o => {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n\n input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n\n click(instance, event) {\n let tribute = instance.tribute;\n if (tribute.menu && tribute.menu.contains(event.target)) {\n let li = event.target;\n event.preventDefault();\n event.stopPropagation();\n while (li.nodeName.toLowerCase() !== \"li\") {\n li = li.parentNode;\n if (!li || li === tribute.menu) {\n throw new Error(\"cannot find the <li> container for the click\");\n }\n }\n tribute.selectItemAtIndex(li.getAttribute(\"data-index\"), event);\n tribute.hideMenu();\n\n // TODO: should fire with externalTrigger and target is outside of menu\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(() => tribute.hideMenu());\n }\n }\n\n keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n instance.updateSelection(this);\n\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, \"\");\n } else {\n let keyCode = instance.getKeyCode(instance, this, event);\n\n if (isNaN(keyCode) || !keyCode) return;\n\n let trigger = instance.tribute.triggers().find(trigger => {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== \"undefined\") {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if (\n instance.tribute.current.mentionText.length <\n instance.tribute.current.collection.menuShowMinLength\n ) {\n return;\n }\n\n if (\n ((instance.tribute.current.trigger ||\n instance.tribute.autocompleteMode) &&\n instance.commandEvent === false) ||\n (instance.tribute.isActive && event.keyCode === 8)\n ) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n\n shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n let eventKeyPressed = false;\n TributeEvents.keys().forEach(o => {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n\n return !eventKeyPressed;\n }\n\n return false;\n }\n\n getKeyCode(instance, el, event) {\n let tribute = instance.tribute;\n let info = tribute.range.getTriggerInfo(\n false,\n tribute.hasTrailingSpace,\n true,\n tribute.allowSpaces,\n tribute.autocompleteMode\n );\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n\n updateSelection(el) {\n this.tribute.current.element = el;\n let info = this.tribute.range.getTriggerInfo(\n false,\n this.tribute.hasTrailingSpace,\n true,\n this.tribute.allowSpaces,\n this.tribute.autocompleteMode\n );\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n\n callbacks() {\n return {\n triggerChar: (e, el, trigger) => {\n let tribute = this.tribute;\n tribute.current.trigger = trigger;\n\n let collectionItem = tribute.collection.find(item => {\n return item.trigger === trigger;\n });\n\n tribute.current.collection = collectionItem;\n\n if (\n tribute.current.mentionText.length >=\n tribute.current.collection.menuShowMinLength &&\n tribute.inputEvent\n ) {\n tribute.showMenuFor(el, true);\n }\n },\n enter: (e, el) => {\n // choose selection\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.selectItemAtIndex(this.tribute.menuSelected, e);\n this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: (e, el) => {\n if (this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n this.tribute.isActive = false;\n this.tribute.hideMenu();\n }\n },\n tab: (e, el) => {\n // choose first match\n this.callbacks().enter(e, el);\n },\n space: (e, el) => {\n if (this.tribute.isActive) {\n if (this.tribute.spaceSelectsMatch) {\n this.callbacks().enter(e, el);\n } else if (!this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.hideMenu();\n this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: (e, el) => {\n // navigate up ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length,\n selected = this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n this.tribute.menuSelected--;\n this.setActiveLi();\n } else if (selected === 0) {\n this.tribute.menuSelected = count - 1;\n this.setActiveLi();\n this.tribute.menu.scrollTop = this.tribute.menu.scrollHeight;\n }\n }\n },\n down: (e, el) => {\n // navigate down ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length - 1,\n selected = this.tribute.menuSelected;\n\n if (count > selected) {\n this.tribute.menuSelected++;\n this.setActiveLi();\n } else if (count === selected) {\n this.tribute.menuSelected = 0;\n this.setActiveLi();\n this.tribute.menu.scrollTop = 0;\n }\n }\n },\n delete: (e, el) => {\n if (\n this.tribute.isActive &&\n this.tribute.current.mentionText.length < 1\n ) {\n this.tribute.hideMenu();\n } else if (this.tribute.isActive) {\n this.tribute.showMenuFor(el);\n }\n }\n };\n }\n\n setActiveLi(index) {\n let lis = this.tribute.menu.querySelectorAll(\"li\"),\n length = lis.length >>> 0;\n\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (let i = 0; i < length; i++) {\n let li = lis[i];\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n\n let liClientRect = li.getBoundingClientRect();\n let menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n let scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n let scrollDistance = menuClientRect.top - liClientRect.top;\n this.tribute.menu.scrollTop -= scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n\n getFullHeight(elem, includeMargin) {\n let height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n let style = elem.currentStyle || window.getComputedStyle(elem);\n return (\n height + parseFloat(style.marginTop) + parseFloat(style.marginBottom)\n );\n }\n\n return height;\n }\n}\n\nclass TributeMenuEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n bind(menu) {\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.showMenuFor(this.tribute.current.element, false);\n }\n },\n 300,\n false\n );\n this.windowResizeEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.range.positionMenuAtCaret(true);\n }\n },\n 300,\n false\n );\n\n // fixes IE11 issues with mousedown\n this.tribute.range\n .getDocument()\n .addEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .addEventListener(\"mousedown\", this.menuClickEvent, false);\n window.addEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.addEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n unbind(menu) {\n this.tribute.range\n .getDocument()\n .removeEventListener(\"mousedown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .removeEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n window.removeEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.removeEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n debounce(func, wait, immediate) {\n var timeout;\n return () => {\n var context = this,\n args = arguments;\n var later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n}\n\n// Thanks to https://github.com/jeff-collins/ment.io\n\nclass TributeRange {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n getDocument() {\n let iframe;\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document\n }\n\n return iframe.contentWindow.document\n }\n\n positionMenuAtCaret(scrollTo) {\n let context = this.tribute.current,\n coordinates;\n\n let info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n\n if(!this.tribute.positionMenu){\n this.tribute.menu.style.cssText = `display: block;`;\n return\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,\n info.mentionPosition);\n }\n else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = `top: ${coordinates.top}px;\n left: ${coordinates.left}px;\n right: ${coordinates.right}px;\n bottom: ${coordinates.bottom}px;\n position: absolute;\n display: block;`;\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n\n window.setTimeout(() => {\n let menuDimensions = {\n width: this.tribute.menu.offsetWidth,\n height: this.tribute.menu.offsetHeight\n };\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n let menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n let menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n this.tribute.menu.style.cssText = 'display: none';\n this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n\n get menuContainerIsBody() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n\n\n selectElement(targetElement, path, offset) {\n let range;\n let elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n if (elem === undefined) {\n return\n }\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n\n replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n let info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n let context = this.tribute.current;\n let replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent,\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n let myField = this.tribute.current.element;\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : ' ';\n text += textSuffix;\n let startPos = info.mentionPosition;\n let endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length - 1;\n }\n myField.value = myField.value.substring(0, startPos) + text +\n myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : '\\xA0';\n text += textSuffix;\n let endPos = info.mentionPosition + info.mentionText.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length;\n }\n this.pasteHtml(text, info.mentionPosition, endPos);\n }\n\n context.element.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n context.element.dispatchEvent(replaceEvent);\n }\n }\n\n pasteHtml(html, startPos, endPos) {\n let range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n\n let el = this.getDocument().createElement('div');\n el.innerHTML = html;\n let frag = this.getDocument().createDocumentFragment(),\n node, lastNode;\n while ((node = el.firstChild)) {\n lastNode = frag.appendChild(node);\n }\n range.insertNode(frag);\n\n // Preserve the selection\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n\n getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection()\n }\n\n return window.getSelection()\n }\n\n getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n let node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i\n }\n }\n }\n\n getContentEditableSelectedPath(ctx) {\n let sel = this.getWindowSelection();\n let selected = sel.anchorNode;\n let path = [];\n let offset;\n\n if (selected != null) {\n let i;\n let ce = selected.contentEditable;\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n path.reverse();\n\n // getRangeAt may not exist, need alternative\n offset = sel.getRangeAt(0).startOffset;\n\n return {\n selected: selected,\n path: path,\n offset: offset\n }\n }\n }\n\n getTextPrecedingCurrentSelection() {\n let context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n let textComponent = this.tribute.current.element;\n if (textComponent) {\n let startPos = textComponent.selectionStart;\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n\n } else {\n let selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n let workingNodeContent = selectedElem.textContent;\n let selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text\n }\n\n getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n let wordsArray = text.split(/\\s+/);\n let worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim()\n }\n\n getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n let ctx = this.tribute.current;\n let selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n let selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n let effectiveRange = this.getTextPrecedingCurrentSelection();\n let lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n }\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n let mostRecentTriggerCharPos = -1;\n let triggerChar;\n\n this.tribute.collection.forEach(config => {\n let c = config.trigger;\n let idx = config.requireLeadingSpace ?\n this.lastIndexWithLeadingSpace(effectiveRange, c) :\n effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 &&\n (\n mostRecentTriggerCharPos === 0 ||\n !requireLeadingSpace ||\n /[\\xA0\\s]/g.test(\n effectiveRange.substring(\n mostRecentTriggerCharPos - 1,\n mostRecentTriggerCharPos)\n )\n )\n ) {\n let currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + triggerChar.length,\n effectiveRange.length);\n\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + triggerChar.length);\n let firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n let leadingSpace = currentTriggerSnippet.length > 0 &&\n (\n firstSnippetChar === ' ' ||\n firstSnippetChar === '\\xA0'\n );\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n let regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !(regex.test(currentTriggerSnippet)))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n }\n }\n }\n }\n }\n\n lastIndexWithLeadingSpace (str, trigger) {\n let reversedStr = str.split('').reverse().join('');\n let index = -1;\n\n for (let cidx = 0, len = str.length; cidx < len; cidx++) {\n let firstChar = cidx === str.length - 1;\n let leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n\n let match = true;\n for (let triggerIdx = trigger.length - 1; triggerIdx >= 0; triggerIdx--) {\n if (trigger[triggerIdx] !== reversedStr[cidx-triggerIdx]) {\n match = false;\n break\n }\n }\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break\n }\n }\n\n return index\n }\n\n isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA'\n }\n\n isMenuOffScreen(coordinates, menuDimensions) {\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n let menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n let menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n let menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n }\n }\n\n getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n let dimensions = {\n width: null,\n height: null\n };\n\n this.tribute.menu.style.cssText = `top: 0px;\n left: 0px;\n position: fixed;\n display: block;\n visibility; hidden;`;\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n\n this.tribute.menu.style.cssText = `display: none;`;\n\n return dimensions\n }\n\n getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n let properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX',\n 'overflowY', 'borderTopWidth', 'borderRightWidth',\n 'borderBottomWidth', 'borderLeftWidth', 'paddingTop',\n 'paddingRight', 'paddingBottom', 'paddingLeft',\n 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch',\n 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily',\n 'textAlign', 'textTransform', 'textIndent',\n 'textDecoration', 'letterSpacing', 'wordSpacing'\n ];\n\n let isFirefox = (window.mozInnerScreenX !== null);\n\n let div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n\n let style = div.style;\n let computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n }\n\n // position off-screen\n style.position = 'absolute';\n style.visibility = 'hidden';\n\n // transfer the element's properties to the div\n properties.forEach(prop => {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = `${(parseInt(computed.width) - 2)}px`;\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n let span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n\n let rect = element.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let top = 0;\n let left = 0;\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n let coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates\n }\n\n getContentEditableCaretPosition(selectedNodePosition) {\n let range;\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n\n range.collapse(false);\n\n let rect = range.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let left = rect.left;\n let top = rect.top;\n\n let coordinates = {\n left: left + windowLeft,\n top: top + rect.height + windowTop\n };\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n if (!this.menuContainerIsBody) {\n coordinates.left = coordinates.left ? coordinates.left - this.tribute.menuContainer.offsetLeft : coordinates.left;\n coordinates.top = coordinates.top ? coordinates.top - this.tribute.menuContainer.offsetTop : coordinates.top;\n }\n\n return coordinates\n }\n\n scrollIntoView(elem) {\n let reasonableBuffer = 20,\n clientRect;\n let maxScrollDisplacement = 100;\n let e = this.menu;\n\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n if (e === undefined || !e.getBoundingClientRect) {\n return\n }\n }\n }\n\n let elemTop = clientRect.top;\n let elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n let maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n let targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n}\n\n// Thanks to https://github.com/mattyork/fuzzy\nclass TributeSearch {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n simpleFilter(pattern, array) {\n return array.filter(string => {\n return this.test(pattern, string)\n })\n }\n\n test(pattern, string) {\n return this.match(pattern, string) !== null\n }\n\n match(pattern, string, opts) {\n opts = opts || {};\n let len = string.length,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase();\n\n if (opts.skip) {\n return {rendered: string, score: 0}\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n\n let patternCache = this.traverse(compareString, pattern, 0, 0, []);\n if (!patternCache) {\n return null\n }\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n }\n }\n\n traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n }\n }\n\n // if string at end or remaining pattern > remaining string\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined\n }\n\n let c = pattern[patternIndex];\n let index = string.indexOf(c, stringIndex);\n let best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop();\n\n // if downstream traversal failed, return best answer so far\n if (!temp) {\n return best\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best\n }\n\n calculateScore(patternCache) {\n let score = 0;\n let temp = 1;\n\n patternCache.forEach((index, i) => {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n }\n else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n\n return score\n }\n\n render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n\n indices.forEach((index, i) => {\n rendered += pre + string[index] + post +\n string.substring(index + 1, (indices[i + 1]) ? indices[i + 1] : string.length);\n });\n\n return rendered\n }\n\n filter(pattern, arr, opts) {\n opts = opts || {};\n return arr\n .reduce((prev, element, idx, arr) => {\n let str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) { // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n let rendered = this.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev\n }, [])\n\n .sort((a, b) => {\n let compare = b.score - a.score;\n if (compare) return compare\n return a.index - b.index\n })\n }\n}\n\nclass Tribute {\n constructor({\n values = null,\n iframe = null,\n selectClass = \"highlight\",\n containerClass = \"tribute-container\",\n itemClass = \"\",\n trigger = \"@\",\n autocompleteMode = false,\n selectTemplate = null,\n menuItemTemplate = null,\n lookup = \"key\",\n fillAttr = \"value\",\n collection = null,\n menuContainer = null,\n noMatchTemplate = null,\n requireLeadingSpace = true,\n allowSpaces = false,\n replaceTextSuffix = null,\n positionMenu = true,\n spaceSelectsMatch = false,\n searchOpts = {},\n menuItemLimit = null,\n menuShowMinLength = 0\n }) {\n this.autocompleteMode = autocompleteMode;\n this.menuSelected = 0;\n this.current = {};\n this.inputEvent = false;\n this.isActive = false;\n this.menuContainer = menuContainer;\n this.allowSpaces = allowSpaces;\n this.replaceTextSuffix = replaceTextSuffix;\n this.positionMenu = positionMenu;\n this.hasTrailingSpace = false;\n this.spaceSelectsMatch = spaceSelectsMatch;\n\n if (this.autocompleteMode) {\n trigger = \"\";\n allowSpaces = false;\n }\n\n if (values) {\n this.collection = [\n {\n // symbol that starts the lookup\n trigger: trigger,\n\n // is it wrapped in an iframe\n iframe: iframe,\n\n // class applied to selected item\n selectClass: selectClass,\n\n // class applied to the Container\n containerClass: containerClass,\n\n // class applied to each item\n itemClass: itemClass,\n\n // function called on select that retuns the content to insert\n selectTemplate: (\n selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n\n // function called that returns content for an item\n menuItemTemplate: (\n menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n\n // column to search against in the object\n lookup: lookup,\n\n // column that contains the content to insert by default\n fillAttr: fillAttr,\n\n // array of objects or a function returning an array of objects\n values: values,\n\n requireLeadingSpace: requireLeadingSpace,\n\n searchOpts: searchOpts,\n\n menuItemLimit: menuItemLimit,\n\n menuShowMinLength: menuShowMinLength\n }\n ];\n } else if (collection) {\n if (this.autocompleteMode)\n console.warn(\n \"Tribute in autocomplete mode does not work for collections\"\n );\n this.collection = collection.map(item => {\n return {\n trigger: item.trigger || trigger,\n iframe: item.iframe || iframe,\n selectClass: item.selectClass || selectClass,\n containerClass: item.containerClass || containerClass,\n itemClass: item.itemClass || itemClass,\n selectTemplate: (\n item.selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n menuItemTemplate: (\n item.menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n lookup: item.lookup || lookup,\n fillAttr: item.fillAttr || fillAttr,\n values: item.values,\n requireLeadingSpace: item.requireLeadingSpace,\n searchOpts: item.searchOpts || searchOpts,\n menuItemLimit: item.menuItemLimit || menuItemLimit,\n menuShowMinLength: item.menuShowMinLength || menuShowMinLength\n };\n });\n } else {\n throw new Error(\"[Tribute] No collection specified.\");\n }\n\n new TributeRange(this);\n new TributeEvents(this);\n new TributeMenuEvents(this);\n new TributeSearch(this);\n }\n\n get isActive() {\n return this._isActive;\n }\n\n set isActive(val) {\n if (this._isActive != val) {\n this._isActive = val;\n if (this.current.element) {\n let noMatchEvent = new CustomEvent(`tribute-active-${val}`);\n this.current.element.dispatchEvent(noMatchEvent);\n }\n }\n }\n\n static defaultSelectTemplate(item) {\n if (typeof item === \"undefined\")\n return `${this.current.collection.trigger}${this.current.mentionText}`;\n if (this.range.isContentEditable(this.current.element)) {\n return (\n '<span class=\"tribute-mention\">' +\n (this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]) +\n \"</span>\"\n );\n }\n\n return (\n this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]\n );\n }\n\n static defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n\n static inputTypes() {\n return [\"TEXTAREA\", \"INPUT\"];\n }\n\n triggers() {\n return this.collection.map(config => {\n return config.trigger;\n });\n }\n\n attach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._attach(el[i]);\n }\n } else {\n this._attach(el);\n }\n }\n\n _attach(el) {\n if (el.hasAttribute(\"data-tribute\")) {\n console.warn(\"Tribute was already bound to \" + el.nodeName);\n }\n\n this.ensureEditable(el);\n this.events.bind(el);\n el.setAttribute(\"data-tribute\", true);\n }\n\n ensureEditable(element) {\n if (Tribute.inputTypes().indexOf(element.nodeName) === -1) {\n if (element.contentEditable) {\n element.contentEditable = true;\n } else {\n throw new Error(\"[Tribute] Cannot bind to \" + element.nodeName);\n }\n }\n }\n\n createMenu(containerClass) {\n let wrapper = this.range.getDocument().createElement(\"div\"),\n ul = this.range.getDocument().createElement(\"ul\");\n wrapper.className = containerClass;\n wrapper.appendChild(ul);\n\n if (this.menuContainer) {\n return this.menuContainer.appendChild(wrapper);\n }\n\n return this.range.getDocument().body.appendChild(wrapper);\n }\n\n showMenuFor(element, scrollTo) {\n // Only proceed if menu isn't already shown for the current element & mentionText\n if (\n this.isActive &&\n this.current.element === element &&\n this.current.mentionText === this.currentMentionTextSnapshot\n ) {\n return;\n }\n this.currentMentionTextSnapshot = this.current.mentionText;\n\n // create the menu if it doesn't exist.\n if (!this.menu) {\n this.menu = this.createMenu(this.current.collection.containerClass);\n element.tributeMenu = this.menu;\n this.menuEvents.bind(this.menu);\n }\n\n this.isActive = true;\n this.menuSelected = 0;\n\n if (!this.current.mentionText) {\n this.current.mentionText = \"\";\n }\n\n const processValues = values => {\n // Tribute may not be active any more by the time the value callback returns\n if (!this.isActive) {\n return;\n }\n\n let items = this.search.filter(this.current.mentionText, values, {\n pre: this.current.collection.searchOpts.pre || \"<span>\",\n post: this.current.collection.searchOpts.post || \"</span>\",\n skip: this.current.collection.searchOpts.skip,\n extract: el => {\n if (typeof this.current.collection.lookup === \"string\") {\n return el[this.current.collection.lookup];\n } else if (typeof this.current.collection.lookup === \"function\") {\n return this.current.collection.lookup(el, this.current.mentionText);\n } else {\n throw new Error(\n \"Invalid lookup attribute, lookup must be string or function.\"\n );\n }\n }\n });\n\n if (this.current.collection.menuItemLimit) {\n items = items.slice(0, this.current.collection.menuItemLimit);\n }\n\n this.current.filteredItems = items;\n\n let ul = this.menu.querySelector(\"ul\");\n\n this.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n let noMatchEvent = new CustomEvent(\"tribute-no-match\", {\n detail: this.menu\n });\n this.current.element.dispatchEvent(noMatchEvent);\n if (\n (typeof this.current.collection.noMatchTemplate === \"function\" &&\n !this.current.collection.noMatchTemplate()) ||\n !this.current.collection.noMatchTemplate\n ) {\n this.hideMenu();\n } else {\n typeof this.current.collection.noMatchTemplate === \"function\"\n ? (ul.innerHTML = this.current.collection.noMatchTemplate())\n : (ul.innerHTML = this.current.collection.noMatchTemplate);\n }\n\n return;\n }\n\n ul.innerHTML = \"\";\n let fragment = this.range.getDocument().createDocumentFragment();\n\n items.forEach((item, index) => {\n let li = this.range.getDocument().createElement(\"li\");\n li.setAttribute(\"data-index\", index);\n li.className = this.current.collection.itemClass;\n li.addEventListener(\"mousemove\", e => {\n let [li, index] = this._findLiTarget(e.target);\n if (e.movementY !== 0) {\n this.events.setActiveLi(index);\n }\n });\n if (this.menuSelected === index) {\n li.classList.add(this.current.collection.selectClass);\n }\n li.innerHTML = this.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === \"function\") {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n\n _findLiTarget(el) {\n if (!el) return [];\n const index = el.getAttribute(\"data-index\");\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n\n showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n\n if (element.isContentEditable)\n this.insertTextAtCursor(this.current.collection.trigger);\n else this.insertAtCaret(element, this.current.collection.trigger);\n\n this.showMenuFor(element);\n }\n\n // TODO: make sure this works for inputs/textareas\n placeCaretAtEnd(el) {\n el.focus();\n if (\n typeof window.getSelection != \"undefined\" &&\n typeof document.createRange != \"undefined\"\n ) {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n }\n\n // for contenteditable\n insertTextAtCursor(text) {\n var sel, range;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n\n // for regular inputs\n insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(\n textarea.selectionEnd,\n textarea.value.length\n );\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n\n hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = \"display: none;\";\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n\n selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== \"number\" || isNaN(index)) return;\n let item = this.current.filteredItems[index];\n let content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n\n replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n\n _append(collection, newValues, replace) {\n if (typeof collection.values === \"function\") {\n throw new Error(\"Unable to append to values, as it is a function.\");\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n\n append(collectionIndex, newValues, replace) {\n let index = parseInt(collectionIndex);\n if (typeof index !== \"number\")\n throw new Error(\"please provide an index for the collection to update.\");\n\n let collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n\n appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error(\n \"No active state. Please use append instead and pass an index.\"\n );\n }\n }\n\n detach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n\n _detach(el) {\n this.events.unbind(el);\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(() => {\n el.removeAttribute(\"data-tribute\");\n this.isActive = false;\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n}\n\n/**\n * Tribute.js\n * Native ES6 JavaScript @mention Plugin\n **/\n\nexport default Tribute;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon link-variant-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LinkVariantIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LinkVariant.vue?vue&type=template&id=3834522c&\"\nimport script from \"./LinkVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./LinkVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon link-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=d480a606&\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js&\"\nexport * from \"./Magnify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Definition} Definition\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback GetDefinition\n * Get a definition by identifier.\n * @param {string | null | undefined} [identifier]\n * Identifier of definition.\n * @returns {Definition | null}\n * Definition corresponding to `identifier` or `null`.\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `tree`.\n *\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} tree\n * Tree to check.\n * @returns {GetDefinition}\n * Getter.\n */\nexport function definitions(tree) {\n /** @type {Record<string, Definition>} */\n const cache = Object.create(null)\n\n if (!tree || !tree.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(tree, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /** @type {GetDefinition} */\n function definition(identifier) {\n const id = clean(identifier)\n // To do: next major: return `undefined` when not found.\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string | null | undefined} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * `hast` is close to `React`, but differs in a couple of cases.\n *\n * To get a React property from a hast property, check if it is in\n * `hastToReact`, if it is, then use the corresponding value,\n * otherwise, use the hast property.\n *\n * @type {Record<string, string>}\n */\nexport const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","import StyleToObject from './index.js';\n\nexport default StyleToObject;\n","/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('hast').Content} Content\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback CreateElementLike\n * Function that works somewhat like `React.createElement`.\n * @param {string} name\n * Element name.\n * @param {any} attributes\n * Properties.\n * @param {Array<any>} [children]\n * Children.\n * @returns {any}\n * Something.\n *\n * @typedef State\n * Info passed around.\n * @property {Schema} schema\n * Current schema.\n * @property {string | undefined} prefix\n * Prefix to use.\n * @property {number} key\n * Current key.\n * @property {boolean} react\n * Looks like React.\n * @property {boolean} vue\n * Looks like Vue.\n * @property {boolean} vdom\n * Looks like vdom.\n * @property {boolean} hyperscript\n * Looks like `hyperscript`.\n *\n * @typedef Options\n * Configuration.\n * @property {string | null | undefined} [prefix]\n * Prefix to use as a prefix for keys passed in `props` to `h()`, this\n * behavior is turned off by passing `false` and turned on by passing a\n * `string`.\n * By default, `h-` is used as a prefix if the given `h` is detected as being\n * `virtual-dom/h` or `React.createElement`\n * @property {'html' | 'svg' | null | undefined} [space]\n * Whether `node` is in the `'html'` or `'svg'` space.\n * If an `<svg>` element is found when inside the HTML space, `toH`\n * automatically switches to the SVG space when entering the element, and\n * switches back when exiting.\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Node} tree\n * Tree to transform.\n * @param {string | boolean | Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ReturnType<H>}\n * Return type of the hyperscript function.\n */\n// eslint-disable-next-line complexity\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (tree && tree.type === 'root') {\n const head = tree.children[0]\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && head.type === 'element'\n ? head\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (tree && tree.type === 'element') {\n node = tree\n } else {\n throw new Error(\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : undefined\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : undefined,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Element} node\n * Node to transform.\n * @param {State} state\n * Info passed around.\n * @returns {ReturnType<H>}\n * Return type of the hyperscript function.\n */\nfunction transform(h, node, state) {\n const parentSchema = state.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record<string, unknown>} */\n const attributes = {}\n /** @type {Array<ReturnType<H>|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n state.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], state, name)\n }\n }\n\n if (state.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = webNamespaces[schema.space]\n }\n }\n\n if (state.prefix) {\n state.key++\n attributes.key = state.prefix + state.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (value.type === 'element') {\n nodes.push(transform(h, value, state))\n } else if (value.type === 'text') {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n state.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * Add an attribute to `props`.\n *\n * @param {Record<string, unknown>} props\n * Map.\n * @param {string} prop\n * Key.\n * @param {unknown} value\n * Value.\n * @param {State} state\n * Info passed around.\n * @param {string} name\n * Element name.\n * @returns {void}\n * Nothing.\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, state, name) {\n const info = find(state.schema, prop)\n /** @type {string | undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (state.vue || state.vdom || state.hyperscript)) ||\n (!value && info.boolean && (state.vue || state.vdom || state.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && state.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (state.react || state.vue || state.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 2 */\n if (state.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (state.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (state.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && state.react) {\n props[hastToReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like React.\n */\nfunction react(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `hyperscript`.\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `virtual-dom`\n */\nfunction vdom(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like Vue.\n */\nfunction vue(h) {\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 3 */\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * Parse a declaration into an object.\n *\n * @param {string} value\n * CSS declarations.\n * @param {string} tagName\n * Tag name.\n * @returns {Record<string, string>}\n * Properties.\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n styleToObject(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */\n (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error_) {\n const error = /** @type {Error} */ (error_)\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<unknown>} ReactElement\n *\n * @callback CreateElementLike\n * @param {any} name\n * @param {any} props\n * @param {...ReactNode} children\n * @returns {ReactNode}\n *\n * @typedef SharedOptions\n * Base configuration (without `components`).\n * @property {CreateElementLike} createElement\n * How to create elements or components.\n * You should typically pass `React.createElement`.\n * @property {((props: any) => ReactNode)|undefined} [Fragment]\n * Create fragments instead of an outer `<div>` if available.\n * You should typically pass `React.Fragment`.\n * @property {string|undefined} [prefix='h-']\n * React key prefix.\n * @property {boolean|undefined} [fixTableCellAlign=true]\n * Fix obsolete align attributes on table cells by turning them\n * into inline styles.\n * Keep it on when working with markdown, turn it off when working\n * with markup for emails.\n * The default is `true`.\n *\n * @typedef {SharedOptions & (import('./complex-types').ComponentsWithNodeOptions|import('./complex-types').ComponentsWithoutNodeOptions)} Options\n * Configuration.\n */\n\nimport {toH} from 'hast-to-hyperscript'\n// @ts-expect-error: hush.\nimport tableCellStyle from '@mapbox/hast-util-table-cell-style'\nimport {whitespace} from 'hast-util-whitespace'\n\nconst own = {}.hasOwnProperty\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * Compile HTML to React nodes.\n *\n * > 👉 **Note**: this compiler returns a React node where compilers typically\n * > return `string`.\n * > When using `.stringify`, the result is such a React node.\n * > When using `.process` (or `.processSync`), the result is available at\n * > `file.result`.\n *\n * @this {import('unified').Processor}\n * @type {import('unified').Plugin<[Options], Root, ReactElement>}\n */\nexport default function rehypeReact(options) {\n if (!options || typeof options.createElement !== 'function') {\n throw new TypeError('createElement is not a function')\n }\n\n const createElement = options.createElement\n\n const fixTableCellAlign = options.fixTableCellAlign !== false\n\n Object.assign(this, {Compiler: compiler})\n\n /** @type {import('unified').CompilerFunction<Root, ReactNode>} */\n function compiler(node) {\n /** @type {ReactNode} */\n let result = toH(\n // @ts-expect-error: assume `name` is a known element.\n h,\n fixTableCellAlign ? tableCellStyle(node) : node,\n options.prefix\n )\n\n if (node.type === 'root') {\n // Invert <https://github.com/syntax-tree/hast-to-hyperscript/blob/d227372/index.js#L46-L56>.\n result =\n result &&\n typeof result === 'object' &&\n 'type' in result &&\n 'props' in result &&\n result.type === 'div' &&\n (node.children.length !== 1 || node.children[0].type !== 'element')\n ? // `children` does exist.\n // type-coverage:ignore-next-line\n result.props.children\n : [result]\n\n return createElement(options.Fragment || 'div', {}, result)\n }\n\n return result\n }\n\n /**\n * @param {keyof JSX.IntrinsicElements} name\n * @param {Record<string, unknown>} props\n * @param {Array<ReactNode>} [children]\n * @returns {ReactNode}\n */\n function h(name, props, children) {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we remove the pretty lines for now.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n // See: <https://github.com/rehypejs/rehype-react/pull/29>.\n // See: <https://github.com/rehypejs/rehype-react/pull/32>.\n // See: <https://github.com/rehypejs/rehype-react/pull/45>.\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child))\n }\n\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name]\n\n if (options.passNode && typeof component === 'function') {\n // @ts-expect-error: `toH` passes the current node.\n // type-coverage:ignore-next-line\n props = Object.assign({node: this}, props)\n }\n\n return createElement(component, props, children)\n }\n\n return createElement(name, props, children)\n }\n}\n","/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://infra.spec.whatwg.org/#ascii-whitespace>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst find = /[\\t ]*(?:\\r?\\n|\\r)/g\n\n/**\n * Plugin to support hard breaks without needing spaces or escapes (turns enters\n * into `<br>`s).\n *\n * @type {import('unified').Plugin<void[], Root>}\n */\nexport default function remarkBreaks() {\n return (tree) => {\n visit(tree, 'text', (node, index, parent) => {\n /** @type {PhrasingContent[]} */\n const result = []\n let start = 0\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n\n if (start !== position) {\n result.push({type: 'text', value: node.value.slice(start, position)})\n }\n\n result.push({type: 'break'})\n start = position + match[0].length\n match = find.exec(node.value)\n }\n\n if (result.length > 0 && parent && typeof index === 'number') {\n if (start < node.value.length) {\n result.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...result)\n return index + result.length\n }\n })\n }\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element['children'][number]} ElementChild\n *\n * @typedef Options\n * Configuration.\n * @property {'_self'|'_blank'|'_parent'|'_top'|false} [target='_blank']\n * How to display referenced documents (`string?`: `_self`, `_blank`,\n * `_parent`, or `_top`, default: `_blank`).\n * Pass `false` to not set `target`s on links.\n * @property {string[]|string|false} [rel=['nofollow', 'noopener', 'noreferrer']]\n * Link types to hint about the referenced documents.\n * Pass `false` to not set `rel`s on links.\n *\n * > When using a `target`, add `noopener` and `noreferrer` to avoid\n * > exploitation of the `window.opener` API.\n * @property {string[]} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel`.\n * @property {ElementChild|ElementChild[]} [content]\n * hast content to insert at the end of external links.\n * Will be inserted in a `<span>` element.\n *\n * Useful for improving accessibility by [giving users advanced warning when\n * opening a new window.\n * @property {Properties} [contentProperties]\n * `Properties` to add to the `span` wrapping `content`, when given.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {definitions} from 'mdast-util-definitions'\nimport {parse} from 'space-separated-tokens'\nimport absolute from 'is-absolute-url'\nimport extend from 'extend'\n\nconst defaultTarget = '_blank'\nconst defaultRel = ['nofollow', 'noopener', 'noreferrer']\nconst defaultProtocols = ['http', 'https']\n\n/**\n * Plugin to automatically add `target` and `rel` attributes to external links.\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function remarkExternalLinks(options = {}) {\n const target = options.target\n const rel = typeof options.rel === 'string' ? parse(options.rel) : options.rel\n const protocols = options.protocols || defaultProtocols\n const content =\n options.content && !Array.isArray(options.content)\n ? [options.content]\n : options.content\n const contentProperties = options.contentProperties || {}\n\n return (tree) => {\n const definition = definitions(tree)\n\n visit(tree, (node) => {\n if (node.type === 'link' || node.type === 'linkReference') {\n const ctx = node.type === 'link' ? node : definition(node.identifier)\n\n // Undefined references can be injected into the tree by plugins.\n /* c8 ignore next */\n if (!ctx) return\n\n const protocol = ctx.url.slice(0, ctx.url.indexOf(':'))\n\n if (absolute(ctx.url) && protocols.includes(protocol)) {\n const data = node.data || (node.data = {})\n const props = /** @type {Properties} */ (\n data.hProperties || (data.hProperties = {})\n )\n\n if (target !== false) {\n props.target = target || defaultTarget\n }\n\n if (rel !== false) {\n props.rel = (rel || defaultRel).concat()\n }\n\n if (content) {\n // `fragment` is not a known mdast node, but unknown nodes with\n // children are handled as elements by `mdast-util-to-hast`:\n // See: <https://github.com/syntax-tree/mdast-util-to-hast#notes>.\n node.children.push({\n // @ts-expect-error\n type: 'fragment',\n children: [],\n data: {\n hName: 'span',\n hProperties: extend(true, contentProperties),\n hChildren: extend(true, content)\n }\n })\n }\n }\n }\n })\n }\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s.\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML.\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} value\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array<unknown>} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Node}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record<string, unknown>} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array<StackItem>} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record<string, number>} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record<string, number>}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record<string, number>} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit<Point, '_index'|'_bufferIndex'>} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record<string, number>} */\n\n const columnStart = {}\n /** @type {Array<Construct>} */\n\n const resolveAllConstructs = []\n /** @type {Array<Chunk>} */\n\n let chunks = []\n /** @type {Array<Token>} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record<string, unknown>} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Array<Construct>|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Array<Construct>} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Array<Construct>} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array<Chunk>} chunks\n * @param {Pick<Token, 'start'|'end'>} token\n * @returns {Array<Chunk>}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array<Chunk>} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array<Chunk>} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array<string>} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record<string, unknown> & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable<Code>} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * Note that `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/// <reference lib=\"dom\" />\n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable<Code>|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Array<Chunk>}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Root | Content} Node\n * @typedef {Extract<Node, UnistParent>} Parent\n *\n * @typedef {Omit<UnistParent, 'type' | 'children'> & {type: 'fragment', children: Array<PhrasingContent>}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | undefined | null | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {Record<string, Handle>} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit<CompileContext, 'sliceSerialize'>} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit<CompileContext, 'sliceSerialize'>} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array<string>} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array<Transform>} transforms\n * Tree transforms.\n *\n * @typedef {Partial<Config>} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array<Node | Fragment>} stack\n * Stack of nodes.\n * @property {Array<TokenTuple>} tokenStack\n * Stack of tokens.\n * @property {<Key extends keyof CompileData>(key: Key) => CompileData[Key]} getData\n * Get data from the key/value store.\n * @property {<Key extends keyof CompileData>(key: Key, value?: CompileData[Key]) => void} setData\n * Set data into the key/value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {<Kind extends Node>(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array<Extension | Array<Extension>> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\n// To do: micromark: create a registry of tokens?\n// To do: next major: don’t return given `Node` from `enter`.\n// To do: next major: remove setter/getter.\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * @param value\n * Markdown to parse.\n * @param encoding\n * Character encoding for when `value` is `Buffer`.\n * @param options\n * Configuration.\n * @returns\n * mdast tree.\n */\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) &\n * ((value: Value, options?: Options | null | undefined) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding | Options | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n // @ts-expect-error: micromark types need to accept `null`.\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array<Event>} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n /** @type {Array<number>} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n }\n // @ts-expect-error: `listItem` is most definitely defined, TS...\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n // @ts-expect-error Patched.\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Set data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @param {CompileData[Key]} [value]\n * New value.\n * @returns {void}\n * Nothing.\n */\n function setData(key, value) {\n data[key] = value\n }\n\n /**\n * Get data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @returns {CompileData[Key]}\n * Value.\n */\n function getData(key) {\n return data[key]\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Node} create\n * Create a node.\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {void}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @template {Node} Kind\n * Node type.\n * @this {CompileContext}\n * Context.\n * @param {Kind} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {Kind}\n * The given node.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n // @ts-expect-error: `end` will be patched later.\n node.position = {\n start: point(token.start)\n }\n return node\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {Node}\n * The closed node.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n return node\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n let tail = node.children[node.children.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n // @ts-expect-error: we’ll add `end` later.\n tail.position = {\n start: point(token.start)\n }\n // @ts-expect-error: Assume `parent` accepts `text`.\n node.children.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n setData('inReference', true)\n if (node.type === 'link') {\n /** @type {Array<StaticPhrasingContent>} */\n // @ts-expect-error: Assume static phrasing content.\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n setData('inReference')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {HTML} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array<Extension | Array<Extension>>} extensions\n * @returns {void}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {void}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n if (key === 'canContainEols') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'transforms') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'enter' || key === 'exit') {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Array<Event>} events\n * @returns {Array<Event>}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","import remarkParse from './lib/index.js'\n\nexport default remarkParse\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction<Root>} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri` below).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * Then, a regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`,\n * or `/^https?$/i` for `img[src]`.\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string|undefined} url\n * @param {RegExp} [protocol]\n * @returns {string}\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n\n if (!protocol) {\n return value\n }\n\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) || // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n/**\n * Normalize a URL (such as used in definitions).\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function normalizeUri(value) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n\n let replace = '' // A correct percent encoded value.\n\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n } // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n } // Astral.\n else if (code > 55295 && code < 57344) {\n const next = value.charCodeAt(index + 1) // A correct surrogate pair.\n\n if (code < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n } // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n } // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n\n if (skip) {\n index += skip\n skip = 0\n }\n }\n\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('hast').Element} Element\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {FootnoteReference} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnoteReference(state, node) {\n const id = String(node.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n const index = state.footnoteOrder.indexOf(id)\n /** @type {number} */\n let counter\n\n if (index === -1) {\n state.footnoteOrder.push(id)\n state.footnoteCounts[id] = 1\n counter = state.footnoteOrder.length\n } else {\n state.footnoteCounts[id]++\n counter = index + 1\n }\n\n const reuseCounter = state.footnoteCounts[id]\n\n /** @type {Element} */\n const link = {\n type: 'element',\n tagName: 'a',\n properties: {\n href: '#' + state.clobberPrefix + 'fn-' + safeId,\n id:\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (reuseCounter > 1 ? '-' + reuseCounter : ''),\n dataFootnoteRef: true,\n ariaDescribedBy: ['footnote-label']\n },\n children: [{type: 'text', value: String(counter)}]\n }\n state.patch(node, link)\n\n /** @type {Element} */\n const sup = {\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [link]\n }\n state.patch(node, sup)\n return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Reference} Reference\n * @typedef {import('mdast').Root} Root\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Reference>} References\n */\n\n// To do: next major: always return array.\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {References} node\n * Reference node (image, link).\n * @returns {ElementContent | Array<ElementContent>}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return {type: 'text', value: '![' + node.alt + suffix}\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Parent>} Parents\n */\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array<ElementContent>} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Get the starting point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointStart = point('start')\n\n/**\n * Get the ending point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike | Node | null | undefined} [node]\n * Node.\n * @returns {Position}\n * Position.\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start' | 'end'} type\n * Side.\n * @returns\n * Getter.\n */\nfunction point(type) {\n return point\n\n /**\n * Get the point info of `node` at a bound side.\n *\n * @param {NodeLike | Node | null | undefined} [node]\n * @returns {Point}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n // To do: next major: don’t return points when invalid.\n return {\n // @ts-expect-error: in practice, null is allowed.\n line: point.line || null,\n // @ts-expect-error: in practice, null is allowed.\n column: point.column || null,\n // @ts-expect-error: in practice, null is allowed.\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array<string>} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array<Element | Text>}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang ? node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/) : null\n /** @type {Properties} */\n const properties = {}\n\n if (lang) {\n properties.className = ['language-' + lang]\n }\n\n // Create `<code>`.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `<pre>`.\n result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n state.patch(node, result)\n return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Delete} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strikethrough(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'del',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Emphasis} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function emphasis(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'em',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../state.js').State} State\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n// To do: when both:\n// * <https://github.com/micromark/micromark-extension-footnote>\n// * <https://github.com/syntax-tree/mdast-util-footnote>\n// …are archived, remove this (also from mdast).\n// These inline notes are not used in GFM.\n\n/**\n * Turn an mdast `footnote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Footnote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnote(state, node) {\n const footnoteById = state.footnoteById\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(state, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Heading} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function heading(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'h' + node.depth,\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').HTML} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n * Info passed around.\n * @param {Html} node\n * mdast node.\n * @returns {Raw | Element | null}\n * hast node.\n */\nexport function html(state, node) {\n if (state.dangerous) {\n /** @type {Raw} */\n const result = {type: 'raw', value: node.value}\n state.patch(node, result)\n return state.applyData(node, result)\n }\n\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ImageReference} node\n * mdast node.\n * @returns {ElementContent | Array<ElementContent>}\n * hast node.\n */\nexport function imageReference(state, node) {\n const def = state.definition(node.identifier)\n\n if (!def) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {src: normalizeUri(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n properties.title = def.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Image} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function image(state, node) {\n /** @type {Properties} */\n const properties = {src: normalizeUri(node.url)}\n\n if (node.alt !== null && node.alt !== undefined) {\n properties.alt = node.alt\n }\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {InlineCode} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function inlineCode(state, node) {\n /** @type {Text} */\n const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n state.patch(node, text)\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'code',\n properties: {},\n children: [text]\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {LinkReference} node\n * mdast node.\n * @returns {ElementContent | Array<ElementContent>}\n * hast node.\n */\nexport function linkReference(state, node) {\n const def = state.definition(node.identifier)\n\n if (!def) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {href: normalizeUri(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n properties.title = def.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Link} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function link(state, node) {\n /** @type {Properties} */\n const properties = {href: normalizeUri(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {List} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function list(state, node) {\n /** @type {Properties} */\n const properties = {}\n const results = state.all(node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n properties.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < results.length) {\n const child = results[index]\n\n if (\n child.type === 'element' &&\n child.tagName === 'li' &&\n child.properties &&\n Array.isArray(child.properties.className) &&\n child.properties.className.includes('task-list-item')\n ) {\n properties.className = ['contains-task-list']\n break\n }\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: node.ordered ? 'ol' : 'ul',\n properties,\n children: state.wrap(results, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Paragraph} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function paragraph(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'p',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastRoot} node\n * mdast node.\n * @returns {HastRoot | HastElement}\n * hast node.\n */\nexport function root(state, node) {\n /** @type {HastRoot} */\n const result = {type: 'root', children: state.wrap(state.all(node))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Strong} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strong(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'strong',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Table} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function table(state, node) {\n const rows = state.all(node)\n const firstRow = rows.shift()\n /** @type {Array<Element>} */\n const tableContent = []\n\n if (firstRow) {\n /** @type {Element} */\n const head = {\n type: 'element',\n tagName: 'thead',\n properties: {},\n children: state.wrap([firstRow], true)\n }\n state.patch(node.children[0], head)\n tableContent.push(head)\n }\n\n if (rows.length > 0) {\n /** @type {Element} */\n const body = {\n type: 'element',\n tagName: 'tbody',\n properties: {},\n children: state.wrap(rows, true)\n }\n\n const start = pointStart(node.children[1])\n const end = pointEnd(node.children[node.children.length - 1])\n if (start.line && end.line) body.position = {start, end}\n tableContent.push(body)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'table',\n properties: {},\n children: state.wrap(tableContent, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableCell} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function tableCell(state, node) {\n // Note: this function is normally not called: see `table-row` for how rows\n // and their cells are compiled.\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'td', // Assume body cell.\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Parent>} Parents\n */\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableRow} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function tableRow(state, node, parent) {\n const siblings = parent ? parent.children : undefined\n // Generate a body row when without parent.\n const rowIndex = siblings ? siblings.indexOf(node) : 1\n const tagName = rowIndex === 0 ? 'th' : 'td'\n const align = parent && parent.type === 'table' ? parent.align : undefined\n const length = align ? align.length : node.children.length\n let cellIndex = -1\n /** @type {Array<ElementContent>} */\n const cells = []\n\n while (++cellIndex < length) {\n // Note: can also be undefined.\n const cell = node.children[cellIndex]\n /** @type {Properties} */\n const properties = {}\n const alignValue = align ? align[cellIndex] : undefined\n\n if (alignValue) {\n properties.align = alignValue\n }\n\n /** @type {Element} */\n let result = {type: 'element', tagName, properties, children: []}\n\n if (cell) {\n result.children = state.all(cell)\n state.patch(cell, result)\n result = state.applyData(node, result)\n }\n\n cells.push(result)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'tr',\n properties: {},\n children: state.wrap(cells, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastText} node\n * mdast node.\n * @returns {HastText | HastElement}\n * hast node.\n */\nexport function text(state, node) {\n /** @type {HastText} */\n const result = {type: 'text', value: trimLines(String(node.value))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ThematicBreak} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function thematicBreak(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'hr',\n properties: {},\n children: []\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Parent} MdastParent\n * @typedef {import('mdast').Root} MdastRoot\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n * @typedef {Extract<MdastNodes, MdastParent>} MdastParents\n *\n * @typedef EmbeddedHastFields\n * hast fields.\n * @property {string | null | undefined} [hName]\n * Generate a specific element with this tag name instead.\n * @property {HastProperties | null | undefined} [hProperties]\n * Generate an element with these properties instead.\n * @property {Array<HastElementContent> | null | undefined} [hChildren]\n * Generate an element with this content instead.\n *\n * @typedef {Record<string, unknown> & EmbeddedHastFields} MdastData\n * mdast data with embedded hast fields.\n *\n * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData\n * mdast node with embedded hast data.\n *\n * @typedef PointLike\n * Point-like value.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @typedef PositionLike\n * Position-like value.\n * @property {PointLike | null | undefined} [start]\n * Point-like value.\n * @property {PointLike | null | undefined} [end]\n * Point-like value.\n *\n * @callback Handler\n * Handle a node.\n * @param {State} state\n * Info passed around.\n * @param {any} node\n * mdast node to handle.\n * @param {MdastParents | null | undefined} parent\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * hast node.\n *\n * @callback HFunctionProps\n * Signature of `state` for when props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n * mdast node or unist position.\n * @param {string} tagName\n * HTML tag name.\n * @param {HastProperties} props\n * Properties.\n * @param {Array<HastElementContent> | null | undefined} [children]\n * hast content.\n * @returns {HastElement}\n * Compiled element.\n *\n * @callback HFunctionNoProps\n * Signature of `state` for when no props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n * mdast node or unist position.\n * @param {string} tagName\n * HTML tag name.\n * @param {Array<HastElementContent> | null | undefined} [children]\n * hast content.\n * @returns {HastElement}\n * Compiled element.\n *\n * @typedef HFields\n * Info on `state`.\n * @property {boolean} dangerous\n * Whether HTML is allowed.\n * @property {string} clobberPrefix\n * Prefix to use to prevent DOM clobbering.\n * @property {string} footnoteLabel\n * Label to use to introduce the footnote section.\n * @property {string} footnoteLabelTagName\n * HTML used for the footnote label.\n * @property {HastProperties} footnoteLabelProperties\n * Properties on the HTML tag used for the footnote label.\n * @property {string} footnoteBackLabel\n * Label to use from backreferences back to their footnote call.\n * @property {(identifier: string) => MdastDefinition | null} definition\n * Definition cache.\n * @property {Record<string, MdastFootnoteDefinition>} footnoteById\n * Footnote definitions by their identifier.\n * @property {Array<string>} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Record<string, number>} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {Handler} unknownHandler\n * Handler for any none not in `passThrough` or otherwise handled.\n * @property {(from: MdastNodes, node: HastNodes) => void} patch\n * Copy a node’s positional info.\n * @property {<Type extends HastNodes>(from: MdastNodes, to: Type) => Type | HastElement} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array<HastElementContent> | null | undefined} one\n * Transform an mdast node to hast.\n * @property {(node: MdastNodes) => Array<HastElementContent>} all\n * Transform the children of an mdast parent to hast.\n * @property {<Type extends HastContent>(nodes: Array<Type>, loose?: boolean | null | undefined) => Array<Type | HastText>} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment\n * Like `state` but lower-level and usable on non-elements.\n * Deprecated: use `patch` and `applyData`.\n * @property {Array<string>} passThrough\n * List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Whether to persist raw HTML in markdown in the hast tree.\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n * Prefix to use before the `id` attribute on footnotes to prevent it from\n * *clobbering*.\n * @property {string | null | undefined} [footnoteBackLabel='Back to content']\n * Label to use from backreferences back to their footnote call (affects\n * screen readers).\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Label to use for the footnotes section (affects screen readers).\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (note that `id: 'footnote-label'`\n * is always added as footnote calls use it with `aria-describedby` to\n * provide an accessible label).\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * Tag name to use for the footnote label.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes.\n * @property {Array<string> | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes.\n *\n * @typedef {Record<string, Handler>} Handlers\n * Handle nodes.\n *\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} State\n * Info passed around.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {position, pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Record<string, MdastFootnoteDefinition>} */\n const footnoteById = {}\n\n // To do: next major: add `options` to state, remove:\n // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,\n // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,\n // `unknownHandler`.\n\n // To do: next major: move to `state.options.allowDangerousHtml`.\n state.dangerous = dangerous\n // To do: next major: move to `state.options`.\n state.clobberPrefix =\n settings.clobberPrefix === undefined || settings.clobberPrefix === null\n ? 'user-content-'\n : settings.clobberPrefix\n // To do: next major: move to `state.options`.\n state.footnoteLabel = settings.footnoteLabel || 'Footnotes'\n // To do: next major: move to `state.options`.\n state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'\n // To do: next major: move to `state.options`.\n state.footnoteLabelProperties = settings.footnoteLabelProperties || {\n className: ['sr-only']\n }\n // To do: next major: move to `state.options`.\n state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'\n // To do: next major: move to `state.options`.\n state.unknownHandler = settings.unknownHandler\n // To do: next major: move to `state.options`.\n state.passThrough = settings.passThrough\n\n state.handlers = {...handlers, ...settings.handlers}\n\n // To do: next major: replace utility with `definitionById` object, so we\n // only walk once (as we need footnotes too).\n state.definition = definitions(tree)\n state.footnoteById = footnoteById\n /** @type {Array<string>} */\n state.footnoteOrder = []\n /** @type {Record<string, number>} */\n state.footnoteCounts = {}\n\n state.patch = patch\n state.applyData = applyData\n state.one = oneBound\n state.all = allBound\n state.wrap = wrap\n // To do: next major: remove `augment`.\n state.augment = augment\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return state\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n *\n * @param {MdastNodeWithData | PositionLike | null | undefined} left\n * @param {HastElementContent} right\n * @returns {HastElementContent}\n */\n /* c8 ignore start */\n // To do: next major: remove.\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {MdastData} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n // @ts-expect-error: fine.\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n /* c8 ignore stop */\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n /* c8 ignore start */\n // To do: next major: remove.\n function state(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n /* c8 ignore stop */\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | null | undefined} [parent]\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * Resulting hast node.\n */\n function oneBound(node, parent) {\n // @ts-expect-error: that’s a state :)\n return one(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n function allBound(parent) {\n // @ts-expect-error: that’s a state :)\n return all(state, parent)\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {void}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {Type | HastElement}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {Type | HastElement} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent is likely to keep the content around (otherwise: pass\n // `hChildren`).\n else {\n result = {\n type: 'element',\n tagName: hName,\n properties: {},\n children: []\n }\n\n // To do: next major: take the children from the `root`, or inject the\n // raw/text/comment or so into the element?\n // if ('children' in node) {\n // // @ts-expect-error: assume `children` are allowed in elements.\n // result.children = node.children\n // } else {\n // // @ts-expect-error: assume `node` is allowed in elements.\n // result.children.push(node)\n // }\n }\n }\n\n if (result.type === 'element' && hProperties) {\n result.properties = {...result.properties, ...hProperties}\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n // @ts-expect-error: assume valid children are defined.\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an mdast node into a hast node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | null | undefined} [parent]\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * Resulting hast node.\n */\n// To do: next major: do not expose, keep bound.\nexport function one(state, node, parent) {\n const type = node && node.type\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(state.handlers, type)) {\n return state.handlers[type](state, node, parent)\n }\n\n if (state.passThrough && state.passThrough.includes(type)) {\n // To do: next major: deep clone.\n // @ts-expect-error: types of passed through nodes are expected to be added manually.\n return 'children' in node ? {...node, children: all(state, node)} : node\n }\n\n if (state.unknownHandler) {\n return state.unknownHandler(state, node, parent)\n }\n\n return defaultUnknownHandler(state, node)\n}\n\n/**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n// To do: next major: do not expose, keep bound.\nexport function all(state, parent) {\n /** @type {Array<HastElementContent>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = one(state, nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastText | HastElement}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastText | HastElement} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: all(state, node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastContent} Type\n * Node type.\n * @param {Array<Type>} nodes\n * List of nodes to wrap.\n * @param {boolean | null | undefined} [loose=false]\n * Whether to add line endings at start and end.\n * @returns {Array<Type | HastText>}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array<Type | HastText>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Root} HastRoot\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Root} MdastRoot\n *\n * @typedef {import('./state.js').Options} Options\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n */\n\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * <p id=x></p>\n * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `<div>` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {HastNodes | null | undefined}\n * hast tree.\n */\n// To do: next major: always return a single `root`.\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, null)\n const foot = footer(state)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n // To do: next major: always return root?\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef NodeLike\n * @property {PositionLike | null | undefined} [position]\n */\n\n/**\n * Check if `node` is generated.\n *\n * @param {NodeLike | null | undefined} [node]\n * Node to check.\n * @returns {boolean}\n * Whether `node` is generated (does not have positional info).\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\nexport function footer(state) {\n /** @type {Array<ElementContent>} */\n const listItems = []\n let index = -1\n\n while (++index < state.footnoteOrder.length) {\n const def = state.footnoteById[state.footnoteOrder[index]]\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array<ElementContent>} */\n const backReferences = []\n\n while (++referenceIndex <= state.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: state.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: state.clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: state.footnoteLabelTagName,\n properties: {\n // To do: use structured clone.\n ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: state.footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor<any, any, any, any>} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","import stripAnsi from 'strip-ansi';\nimport charRegex from 'char-regex';\n\nexport default function stringLength(string, {countAnsiEscapeCodes = false} = {}) {\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\treturn string.match(charRegex()).length;\n}\n","import ansiRegex from 'ansi-regex';\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\treturn string.replace(ansiRegex(), '');\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","// Based on https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js\r\n\r\nexport default function charRegex() {\r\n\t// Unicode character classes\r\n\tconst astralRange = '\\\\ud800-\\\\udfff';\r\n\tconst comboMarksRange = '\\\\u0300-\\\\u036f';\r\n\tconst comboHalfMarksRange = '\\\\ufe20-\\\\ufe2f';\r\n\tconst comboSymbolsRange = '\\\\u20d0-\\\\u20ff';\r\n\tconst comboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff';\r\n\tconst comboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff';\r\n\tconst comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange;\r\n\tconst varRange = '\\\\ufe0e\\\\ufe0f';\r\n\r\n\t// Telugu characters\r\n\tconst teluguVowels = '\\\\u0c05-\\\\u0c0c\\\\u0c0e-\\\\u0c10\\\\u0c12-\\\\u0c14\\\\u0c60-\\\\u0c61';\r\n\tconst teluguVowelsDiacritic = '\\\\u0c3e-\\\\u0c44\\\\u0c46-\\\\u0c48\\\\u0c4a-\\\\u0c4c\\\\u0c62-\\\\u0c63';\r\n\tconst teluguConsonants = '\\\\u0c15-\\\\u0c28\\\\u0c2a-\\\\u0c39';\r\n\tconst teluguConsonantsRare = '\\\\u0c58-\\\\u0c5a';\r\n\tconst teluguModifiers = '\\\\u0c01-\\\\u0c03\\\\u0c4d\\\\u0c55\\\\u0c56';\r\n\tconst teluguNumerals = '\\\\u0c66-\\\\u0c6f\\\\u0c78-\\\\u0c7e';\r\n\tconst teluguSingle = `[${teluguVowels}(?:${teluguConsonants}(?!\\\\u0c4d))${teluguNumerals}${teluguConsonantsRare}]`;\r\n\tconst teluguDouble = `[${teluguConsonants}${teluguConsonantsRare}][${teluguVowelsDiacritic}]|[${teluguConsonants}${teluguConsonantsRare}][${teluguModifiers}`;\r\n\tconst teluguTriple = `[${teluguConsonants}]\\\\u0c4d[${teluguConsonants}]`;\r\n\tconst telugu = `(?:${teluguTriple}|${teluguDouble}|${teluguSingle})`;\r\n\r\n\t// Unicode capture groups\r\n\tconst astral = `[${astralRange}]`;\r\n\tconst combo = `[${comboRange}]`;\r\n\tconst fitz = '\\\\ud83c[\\\\udffb-\\\\udfff]';\r\n\tconst modifier = `(?:${combo}|${fitz})`;\r\n\tconst nonAstral = `[^${astralRange}]`;\r\n\tconst regional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}';\r\n\tconst surrogatePair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]';\r\n\tconst zeroWidthJoiner = '\\\\u200d';\r\n\tconst blackFlag = '(?:\\\\ud83c\\\\udff4\\\\udb40\\\\udc67\\\\udb40\\\\udc62\\\\udb40(?:\\\\udc65|\\\\udc73|\\\\udc77)\\\\udb40(?:\\\\udc6e|\\\\udc63|\\\\udc6c)\\\\udb40(?:\\\\udc67|\\\\udc74|\\\\udc73)\\\\udb40\\\\udc7f)';\r\n\r\n\t// Unicode regexes\r\n\tconst optModifier = `${modifier}?`;\r\n\tconst optVar = `[${varRange}]?`;\r\n\tconst optJoin = `(?:${zeroWidthJoiner}(?:${[nonAstral, regional, surrogatePair].join('|')})${optVar + optModifier})*`;\r\n\tconst seq = optVar + optModifier + optJoin;\r\n\tconst nonAstralCombo = `${nonAstral}${combo}?`;\r\n\tconst symbol = `(?:${[blackFlag, nonAstralCombo, combo, regional, surrogatePair, astral].join('|')})`;\r\n\r\n\t// Match string symbols (https://mathiasbynens.be/notes/javascript-unicode)\r\n\treturn new RegExp(`${fitz}(?=${fitz})|${telugu}|${symbol + seq}`, 'g');\r\n}\r\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason` at `place` from `origin`.\n *\n * When an error is passed in as `reason`, the `stack` is copied.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n *\n * > 👉 **Note**: you should use markdown.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // To do: next major: expose `undefined` everywhere instead of `null`.\n constructor(reason, place, origin) {\n /** @type {[string | null, string | null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n // To do: next major: deep clone.\n // @ts-expect-error: looks like a position.\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n // @ts-expect-error: looks like a position.\n // To do: next major: deep clone.\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n // To do: next major: deep clone.\n position.start = place\n }\n }\n\n // Fields from `Error`.\n /**\n * Serialized positional info of error.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(place) || '1:1'\n\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = typeof reason === 'object' ? reason.message : reason\n\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack = ''\n\n if (typeof reason === 'object' && reason.stack) {\n this.stack = reason.stack\n }\n\n /**\n * Reason for message.\n *\n * > 👉 **Note**: you should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /* eslint-disable no-unused-expressions */\n /**\n * State of problem.\n *\n * * `true` — marks associated file as no longer processable (error)\n * * `false` — necessitates a (potential) change (warning)\n * * `null | undefined` — for things that might not need changing (info)\n *\n * @type {boolean | null | undefined}\n */\n this.fatal\n\n /**\n * Starting line of error.\n *\n * @type {number | null}\n */\n this.line = position.start.line\n\n /**\n * Starting column of error.\n *\n * @type {number | null}\n */\n this.column = position.start.column\n\n /**\n * Full unist position.\n *\n * @type {Position | null}\n */\n this.position = position\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | null}\n */\n this.source = parts[0]\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | null}\n */\n this.ruleId = parts[1]\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | null}\n */\n this.file\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | null}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array<string> | null}\n */\n this.expected\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | null}\n */\n this.url\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | null}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array<string>} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * Check if `fileUrlOrPath` looks like a URL.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileUrlOrPath) {\n return (\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.href &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.origin\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {Record<string, unknown> & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n *\n * This is a copy of the types from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Options | URL | Value | VFile} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {Value | null | undefined} [value]\n * Set `value`.\n * @property {string | null | undefined} [cwd]\n * Set `cwd`.\n * @property {Array<string> | null | undefined} [history]\n * Set `history`.\n * @property {URL | string | null | undefined} [path]\n * Set `path`.\n * @property {string | null | undefined} [basename]\n * Set `basename`.\n * @property {string | null | undefined} [stem]\n * Set `stem`.\n * @property {string | null | undefined} [extname]\n * Set `extname`.\n * @property {string | null | undefined} [dirname]\n * Set `dirname`.\n * @property {Data | null | undefined} [data]\n * Set `data`.\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array<string>} sources\n * An array of URLs to the original source files.\n * @property {Array<string>} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array<string> | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template {ReporterSettings} Settings\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array<VFile>} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport bufferLike from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n *\n * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}\n */\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Buffer` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {string | URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Buffer`\n * (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding || undefined)\n }\n\n /**\n * Create a warning message associated with the file.\n *\n * Its `fatal` is set to `false` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Create an info message associated with the file.\n *\n * Its `fatal` is set to `null` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Create a fatal error associated with the file.\n *\n * Its `fatal` is set to `true` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Message.\n * @throws {VFileMessage}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {void}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is a buffer.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Buffer}\n * Whether `value` is a Node.js buffer.\n */\nfunction buffer(value) {\n return bufferLike(value)\n}\n","/// <reference lib=\"dom\" />\n\nimport {isUrl} from './minurl.shared.js'\n\n// See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>\n\n/**\n * @param {string | URL} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n */\n\n/**\n * @typedef {Array<Node> | string} ChildrenOrValue\n * List to use as `children` or value to use as `value`.\n *\n * @typedef {Record<string, unknown>} Props\n * Other fields to add to the node.\n */\n\n/**\n * Build a node.\n *\n * @param type\n * Node type.\n * @param props\n * Fields assigned to node.\n * @param value\n * Children of node or value of `node` (cast to string).\n * @returns\n * Built node.\n */\nexport const u =\n /**\n * @type {(\n * (<T extends string>(type: T) => {type: T}) &\n * (<T extends string, P extends Props>(type: T, props: P) => {type: T} & P) &\n * (<T extends string>(type: T, value: string) => {type: T, value: string}) &\n * (<T extends string, P extends Props>(type: T, props: P, value: string) => {type: T, value: string} & P) &\n * (<T extends string, C extends Array<Node>>(type: T, children: C) => {type: T, children: C}) &\n * (<T extends string, P extends Props, C extends Array<Node>>(type: T, props: P, children: C) => {type: T, children: C} & P)\n * )}\n */\n (\n /**\n * @param {string} type\n * @param {Props | ChildrenOrValue | null | undefined} [props]\n * @param {ChildrenOrValue | null | undefined} [value]\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n const node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n // @ts-expect-error: create a parent.\n node.children = value\n } else if (value !== undefined && value !== null) {\n // @ts-expect-error: create a literal.\n node.value = String(value)\n }\n\n return node\n }\n )\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @typedef {Record<string, unknown>} Props\n * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test\n * Check for an arbitrary node, unaware of TypeScript inferral.\n *\n * @callback TestFunctionAnything\n * Check if a node passes a test, unaware of TypeScript inferral.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | void}\n * Whether this node passes the test.\n */\n\n/**\n * @template {Node} Kind\n * Node type.\n * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest\n * Check for a node that can be inferred by TypeScript.\n */\n\n/**\n * Check if a node passes a certain test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback TestFunctionPredicate\n * Complex test function for a node that can be inferred by TypeScript.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this node passes the test.\n */\n\n/**\n * @callback AssertAnything\n * Check that an arbitrary value is a node, unaware of TypeScript inferral.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if a node is a node and passes a certain node test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback AssertPredicate\n * Check that an arbitrary value is a specific node, aware of TypeScript.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @param test\n * A check for a specific node.\n * @param index\n * The node’s position in its parent.\n * @param parent\n * The node’s parent.\n * @returns\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n /**\n * @type {(\n * (() => false) &\n * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &\n * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &\n * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &\n * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns\n * An assertion.\n */\nexport const convert =\n /**\n * @type {(\n * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array<string | Props | TestFunctionAnything>} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array<AssertAnything>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {Array<unknown>} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array<unknown>} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n 'type' in node &&\n // @ts-expect-error: fine.\n Boolean(check.call(this, node, ...parameters))\n )\n }\n}\n\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n */\n\n/**\n * @typedef {boolean | 'skip'} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array<Ancestor>} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * Tree type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {Visitor<import('./complex-types.js').Matches<import('./complex-types.js').InclusiveDescendant<Tree>, Check>, Extract<import('./complex-types.js').InclusiveDescendant<Tree>, Parent>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visitParents =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor<Node>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {Node} node\n * @param {number | undefined} index\n * @param {Array<Parent>} parents\n */\n function factory(node, index, parents) {\n /** @type {Record<string, unknown>} */\n // @ts-expect-error: hush\n const value = node && typeof node === 'object' ? node : {}\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array<Parent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {ActionTuple}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * Check if `Child` can be a child of `Ancestor`.\n *\n * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns\n * `never`.\n *\n * @template {Node} Ancestor\n * Node type.\n * @template {Node} Child\n * Node type.\n * @typedef {(\n * Ancestor extends Parent\n * ? Child extends Ancestor['children'][number]\n * ? Ancestor\n * : never\n * : never\n * )} ParentsOf\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends Node ? number | null : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends Node ? Ancestor | null : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Visited\n * Node type.\n * @template {Parent} Ancestor\n * Parent type.\n * @typedef {Visitor<Visited, ParentsOf<Ancestor, Visited>>} BuildVisitorFromMatch\n */\n\n/**\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n * @typedef {(\n * BuildVisitorFromMatch<\n * import('unist-util-visit-parents/complex-types.js').Matches<Descendant, Check>,\n * Extract<Descendant, Parent>\n * >\n * )} BuildVisitorFromDescendants\n */\n\n/**\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} [Tree=Node]\n * Node type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {(\n * BuildVisitorFromDescendants<\n * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant<Tree>,\n * Check\n * >\n * )} BuildVisitor\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n"],"names":["visit","hasOwnProperty","Object","prototype","hastCssPropertyMap","align","valign","height","width","visitor","node","hastName","tagName","call","undefined","properties","appendStyle","property","value","prevStyle","style","trim","test","nextStyle","module","exports","convert","Boolean","type","typeFactory","ok","anyFactory","matchesFactory","Error","key","tests","checks","results","length","index","convertAll","apply","this","arguments","visitParents","CONTINUE","SKIP","EXIT","tree","reverse","is","one","parents","subresult","result","toResult","children","step","all","concat","parent","indexOf","e","self","t","n","d","Z","c","i","r","o","a","s","l","name","components","NcButton","default","AlertCircle","Check","inheritAttrs","props","String","required","validator","includes","label","labelOutside","labelVisible","placeholder","showTrailingButton","trailingButtonLabel","success","error","helperText","disabled","inputClass","emits","computed","computedId","$attrs","id","inputName","hasLeadingIcon","$slots","hasTrailingIcon","hasPlaceholder","computedPlaceholder","isValidLabel","console","warn","methods","handleInput","$emit","target","handleTrailingButtonClick","x","_self","_c","staticClass","class","attrs","for","_v","_s","_e","_g","_b","ref","domProps","on","input","$listeners","directives","rawName","expression","_t","click","scopedSlots","_u","fn","proxy","size","G","u","Symbol","iterator","constructor","p","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","A","forEach","m","getOwnPropertyDescriptors","defineProperties","defineProperty","toPrimitive","TypeError","configurable","writable","h","Array","isArray","f","from","toString","slice","v","g","DotsHorizontal","NcPopover","open","forceMenu","forceTitle","menuTitle","primary","defaultIcon","ariaLabel","ariaHidden","placement","boundariesElement","Element","document","querySelector","container","inline","Number","data","opened","focusIndex","randomId","triggerBtnType","watch","isValidSingleAction","componentOptions","Ctor","extendOptions","tag","openMenu","closeMenu","$refs","popover","clearFocusTrap","returnFocus","menuButton","$el","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","focusAction","onKeydown","keyCode","shiftKey","focusPreviousAction","focusNextAction","focusLastAction","preventDefault","removeCurrentActive","classList","remove","add","preventIfEvent","stopPropagation","onFocus","onBlur","render","every","propsData","href","startsWith","window","location","origin","util","C","b","y","w","k","_","S","icon","B","listeners","j","text","E","N","P","title","blur","slot","delay","handleResize","shown","boundary","popoverBaseClass","setReturnFocus","show","hide","tabindex","keydown","mousemove","role","map","z","styleTagTransform","setAttributes","insert","bind","domAPI","insertStyleElement","locals","O","D","T","L","I","$","asyncIterator","toStringTag","create","arg","wrap","getPrototypeOf","_invoke","resolve","__await","then","done","method","delegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","pop","values","prev","charAt","stop","rval","complete","finish","catch","delegateYield","getBuilder","persist","build","setItem","ClickOutside","vOnClickOutside","NcLoadingIcon","NcPopoverMenu","mixins","iQ","url","iconClass","user","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasMenu","hasStatus","status","userStatus","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","getCurrentUser","uid","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","Math","round","initialsWrapperStyle","backgroundColor","initialsStyle","color","tooltip","initials","fromCodePoint","codePointAt","toUpperCase","hyperlink","longtext","message","createTextNode","createElement","appendChild","innerHTML","loadAvatarUrl","mounted","subscribe","fetchUserStatus","handleUserStatusUpdated","beforeDestroy","unsubscribe","handlePopoverAfterShow","popoverMenu","getElementsByTagName","handlePopoverAfterHide","main","userId","toggleMenu","fetchContactsMenu","encodeURIComponent","post","generateUrl","topAction","actions","t0","updateImageIfValid","avatarUrlGenerator","join","getComputedStyle","body","getPropertyValue","oc_userconfig","avatar","version","getItem","Image","onload","onerror","debug","srcset","src","M","U","F","R","_k","alt","nativeType","wide","to","exact","navigate","isActive","isExactActive","custom","NcHighlight","search","needsTruncate","split","min","floor","part1","part2","highlight1","highlight2","start","end","highlight","description","hasTitle","hasDescription","action","ranges","reduce","sort","max","chunks","svg","cleanSvg","beforeMount","sanitizeSVG","NcAvatar","NcIconSvgWrapper","subtitle","iconSvg","iconTitle","avatarSize","noMargin","margin","hasIcon","hasIconSvg","isValidSubtitle","isSizeBigEnough","cssVars","appearance","colors","viewBox","fill","K","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","NcActions","ChevronLeft","ChevronRight","Close","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","closeButtonContained","additionalTrapElements","inlineActions","mc","playing","slideshowTimeout","iconSize","focusTrap","randId","internalShow","showModal","modalTransitionName","playPauseTitle","cssVariables","closeButtonAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","mask","updateContainerElements","addEventListener","handleKeydown","removeEventListener","off","destroy","useFocusTrap","handleSwipe","insertBefore","lastChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","createFocusTrap","allowOutsideClick","trapStack","activate","deactivate","q","W","Y","V","appear","modifiers","auto","stroke","cx","cy","mousedown","currentTarget","invisible","H","NcEllipsisedOption","NcListItemIcon","VueMultiselect","closeOnSelect","multiple","limit","trackBy","options","userSelect","loading","autoLimit","tagWidth","elWidth","ariaExpanded","maxOptions","limitString","localValue","get","set","willCloseOnSelect","updateWidth","getOptionLabel","formatLimitTitle","offsetWidth","$scopedSlots","option","_l","model","callback","Dropdown","HTMLElement","SVGElement","popperContent","$focusTrap","escapeDeactivates","afterShow","afterHide","distance","item","random","iconIsUrl","URL","NcPopoverMenuItem","download","rel","active","submit","checked","_i","change","$set","_q","composing","getLinkWithPicker","Ee","searchProvider","yt","_vue_richtext_widgets","_registerWidget","onDestroy","reference","compact","hasCustomWidget","richObjectType","noAccess","accessible","descriptionStyle","display","lineClamp","webkitLineClamp","compactLink","openGraphObject","link","substring","renderWidget","observer","ResizeObserver","contentRect","observe","disconnect","customWidget","richObject","thumb","NcReferenceWidget","referenceData","references","isVisible","displayedReferences","firstReference","fetch","RegExp","exec","ocs","generateOcsUrl","autolink","useMarkdown","splice","flat","component","match","Q","J","X","tt","et","nt","NcReferenceList","referenceLimit","markdownCssClasses","ol","ul","li","strong","em","h1","h2","h3","h4","h5","h6","hr","table","pre","code","blockquote","renderPlaintext","context","renderMarkdown","unified","use","handlers","prefix","processSync","it","rt","ot","at","st","lt","_vue_richtext_custom_picker_elements","ct","_registerCustomPickerElement","ut","provider","isRegistered","renderResult","renderElement","domElement","providerId","object","_isVue","$on","onSubmit","onCancel","element","detail","dt","pt","At","mt","ht","ft","vt","icon_url","imagePath","gt","Ct","find","_vue_richtext_reference_providers","search_providers_ids","replace","_vue_richtext_reference_provider_timestamps","order","bt","loadState","xt","wt","kt","St","Bt","jt","Et","Pt","zt","NcMultiselect","NcEmptyContent","LinkVariantIcon","selectedProvider","query","multiselectPlaceholder","isLink","Nt","onProviderSelected","Ot","Dt","Tt","Lt","It","$t","NcTextField","inputValue","abortController","inputPlaceholder","isLinkValid","onClear","onInput","abort","updateReference","AbortController","signal","Gt","Mt","Ut","nativeOn","keyup","Ft","Rt","Zt","entry","qt","Wt","Yt","rounded","thumbnailUrl","subline","Vt","Ht","Kt","Qt","Jt","Xt","te","DotsHorizontalIcon","MagnifyIcon","NcSearchResult","showEmptyContent","searchPlaceholder","searchQuery","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","entries","isCustomGroupTitle","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","searchMoreOf","searchProviders","searchOneProvider","cursor","allSettled","reason","term","ee","ne","ie","re","oe","providerList","standardLinkInput","searchInput","customElement","ae","NcCustomPickerElement","NcProviderList","NcRawLinkInput","NcSearch","initialProvider","focusOnCreate","MODES","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","now","put","se","le","ce","cancel","ue","de","pe","Ae","me","he","fe","ve","NcReferencePicker","NcModal","ArrowLeftIcon","CloseIcon","isInsideViewer","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalTitle","modalTitle","modal_content","emit","onProviderSelect","onBackClicked","referencePicker","ge","Ce","be","ye","xe","we","ke","Se","Be","Ne","je","append","extend","$mount","$destroy","NcInputField","ArrowRight","Undo","trailingButtonIcon","clearTextLabel","$props","themes","html","VTooltip","emojiAddRecent","emojiSearch","EmojiIndex","frequently","emoji","toLowerCase","parseInt","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid","msgid_plural","msgstr","addTranslation","ngettext","gettext","getCapabilities","user_status","enabled","response","isMobile","created","handleWindowResize","documentElement","clientWidth","userData","renderContent","genSelectTemplate","parseContent","autocompleteTribute","current","collection","trigger","mentionText","renderComponentHtml","defaultProtocol","className","attributes","setAttribute","assign","_nc_focus_trap","sources","names","mappings","sourcesContent","sourceRoot","__esModule","hash","needQuotes","btoa","unescape","JSON","stringify","identifier","base","css","media","sourceMap","supports","layer","updater","byIndex","update","HTMLIFrameElement","contentDocument","head","nc","parentNode","removeChild","styleSheet","cssText","firstChild","iconUrl","source","avatarUrl","getAvatarUrl","contenteditable","backgroundImage","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","baseURI","NcAutoCompleteResult","NcMentionBubble","haveStatus","autoComplete","Function","multiline","maxlength","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","original","noMatchTemplate","selectTemplate","debouncedAutoComplete","emojiOptions","native","short_name","unshift","containerClass","itemClass","linkOptions","getLink","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","content","count","canEdit","updateContent","attach","emojiTribute","linkTribute","contentEditable","detach","getElementById","replaceWith","setCursorAfter","updateValue","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onPaste","clipboardData","files","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","onDelete","isCollapsed","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","deleteContents","onEnter","onCtrlEnter","onKeyUp","stopImmediatePropagation","ctrlKey","altKey","metaKey","paste","hasOwn","toStr","gOPD","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","copy","copyIsArray","clone","deep","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","str","lineno","column","updatePosition","lines","lastIndexOf","position","line","Position","whitespace","errorsList","msg","err","filename","silent","comments","rules","comment","pos","declaration","prop","val","ret","decl","decls","declarations","parse","StyleToObject","output","hasIterator","len","predicate","list","thisArg","CustomEvent","CustomEvent$1","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","TributeEvents","events","static","boundKeydown","boundKeyup","boundInput","unbind","instance","shouldDeactivate","hideMenu","commandEvent","callbacks","inputEvent","contains","nodeName","selectItemAtIndex","getAttribute","externalTrigger","updateSelection","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","charCodeAt","menuShowMinLength","showMenuFor","eventKeyPressed","el","info","range","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","collectionItem","enter","filteredItems","menuSelected","escape","tab","space","spaceSelectsMatch","up","selected","setActiveLi","scrollTop","scrollHeight","down","delete","lis","selectClass","liClientRect","getBoundingClientRect","menuClientRect","bottom","scrollDistance","top","getFullHeight","elem","includeMargin","currentStyle","parseFloat","marginTop","marginBottom","TributeMenuEvents","menuEvents","menuClickEvent","menuContainerScrollEvent","debounce","windowResizeEvent","positionMenuAtCaret","getDocument","func","wait","immediate","timeout","args","callNow","TributeRange","iframe","contentWindow","scrollTo","coordinates","positionMenu","isContentEditable","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","left","right","scrollIntoView","menuDimensions","offsetHeight","menuIsOffScreen","isMenuOffScreen","menuIsOffScreenHorizontally","innerWidth","menuIsOffScreenVertically","innerHeight","menuContainerIsBody","selectElement","targetElement","path","offset","childNodes","nextSibling","previousSibling","sel","getWindowSelection","replaceTriggerText","requireLeadingSpace","originalEvent","replaceEvent","replaceTextSuffix","endPos","pasteHtml","myField","textSuffix","startPos","selectionStart","selectionEnd","dispatchEvent","lastNode","frag","createDocumentFragment","cloneRange","setStartAfter","getNodePositionInParent","getContentEditableSelectedPath","ctx","getTextPrecedingCurrentSelection","selectedElem","workingNodeContent","textContent","selectStartOffset","textComponent","getLastWordInText","wordsArray","menuAlreadyActive","isAutocomplete","selectionInfo","effectiveRange","lastWordOfEffectiveRange","mentionSelectedElement","mostRecentTriggerCharPos","config","idx","lastIndexWithLeadingSpace","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","reversedStr","cidx","firstChar","triggerIdx","windowWidth","windowHeight","doc","windowLeft","pageXOffset","scrollLeft","clientLeft","windowTop","pageYOffset","clientTop","menuTop","menuRight","menuBottom","menuLeft","ceil","getMenuDimensions","dimensions","flipped","isFirefox","mozInnerScreenX","div","whiteSpace","wordWrap","visibility","overflowY","overflow","span","rect","offsetTop","borderTopWidth","offsetLeft","borderLeftWidth","parentHeight","scrollStillAvailable","selectedNodePosition","clientRect","elemTop","elemBottom","maxY","targetY","TributeSearch","simpleFilter","pattern","array","string","opts","compareString","caseSensitive","skip","rendered","score","patternCache","traverse","cache","stringIndex","patternIndex","calculateScore","best","temp","indices","extract","Tribute","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","_isActive","noMatchEvent","matchItem","jQuery","NodeList","HTMLCollection","_attach","hasAttribute","ensureEditable","inputTypes","createMenu","wrapper","currentMentionTextSnapshot","tributeMenu","processValues","fragment","_findLiTarget","movementY","showMenuForCollection","collectionIndex","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","createTextRange","textRange","moveToElementText","select","textNode","textarea","scrollPos","caretPos","front","back","replaceText","_append","newValues","appendCurrent","_detach","removeAttribute","isBuffer","fillColor","_vm","$event","own","definitions","definition","clean","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","fromCharCode","Schema","normal","merge","normalize","Info","attribute","boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated","mustUseProperty","defined","powers","increment","DefinedInfo","super","check","transform","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","as","autoCapitalize","autoFocus","autoPlay","capture","charSet","cite","cols","colSpan","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","lang","language","loop","low","manifest","maxLength","minLength","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeUnload","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFormData","onHashChange","onInvalid","onKeyDown","onKeyPress","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","preload","readOnly","referrerPolicy","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","shape","sizes","spellCheck","srcDoc","srcLang","srcSet","tabIndex","translate","typeMustMatch","useMap","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","defaultAction","descent","diffuseConstant","direction","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","format","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","opacity","operator","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","textLength","transformBehavior","u1","u2","unicode","viewTarget","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","valid","dash","cap","kebab","$0","camelcase","hastToReact","webNamespaces","mathml","toH","react","vue","vd","vdom","schema","hyperscript","state","parentSchema","nodes","addAttribute","namespace","Type","rest","dashes","subprop","settings","padRight","padLeft","$1","error_","parseStyle","tableElements","Set","rehypeReact","fixTableCellAlign","has","child","thing","passNode","Compiler","Fragment","remarkBreaks","lastIndex","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","defaultTarget","defaultRel","defaultProtocols","remarkExternalLinks","protocols","contentProperties","protocol","hProperties","hName","hChildren","emptyOptions","includeImageAlt","includeHtml","parameters","chunkStart","syntaxExtension","extension","hook","constructs","existing","before","factorySpace","effects","POSITIVE_INFINITY","consume","exit","tokenize","contentStart","attempt","parser","contentInitial","lineStart","token","contentType","stack","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","point","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","lazy","containerContinue","flow","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","write","seen","nok","disable","null","blankLine","partial","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","more","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","_gfmTasklistFirstContentOfListItem","contentEnd","continuationConstruct","contentContinue","prefixed","tail","sliceSerialize","initial","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","field","notText","atBreak","resolveAllLineSuffixes","extraResolver","tabs","bufferIndex","chunk","_index","_bufferIndex","called","createTokenizer","initialize","columnStart","resolveAllConstructs","consumed","accountForPotentialSkip","fields","constructFactory","construct","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","chunkIndex","go","expectedCode","startIndex","startBufferIndex","endIndex","endBufferIndex","view","sliceChunks","restore","onreturn","returnState","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","def","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","resolveTo","thematicBreak","marker","sequence","initialSize","atMarker","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","after","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","labelAfter","titleConstruct","codeIndented","afterStartPrefix","afterPrefix","indentedContent","headingAtx","fenceOpenInside","headingBreak","setextUnderline","paragraph","closingSequence","closingSequenceEnd","heading","htmlBlockNames","htmlRawNames","htmlFlow","startTag","buffer","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","codeFenced","closingFenceConstruct","sizeOpen","nonLazyLine","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","meta","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","group","insideSpan","destinationAfter","between","afterLabel","classifyCharacter","attention","attentionMarkers","_open","_close","openingSequence","nextEvents","movePoint","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","gap","tailExitIndex","headEnterIndex","decodeNumericCharacterReference","characterEscapeOrReference","decode","$2","hex","fromMarkdown","encoding","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeText","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreakEscape","hardBreak","hardBreakTrailing","htmlFlowData","htmlText","htmlTextData","image","listItem","spread","_spread","listItemValue","setData","listOrdered","listUnordered","referenceString","resourceDestinationString","resourceTitleString","setextHeading","closer","atxHeadingSequence","depth","onexitdata","characterEscapeValue","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","resume","codeFencedFence","onexithardbreak","referenceType","labelText","ancestor","decodeString","setextHeadingLineSequence","setextHeadingText","configure","mdastExtensions","tokenStack","listStack","prepareList","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","and","errorHandler","onExitError","ordered","compiler","postprocess","extensions","combineExtensions","atCarriageReturn","endPosition","preprocess","combined","Parser","normalizeUri","footnoteReference","safeId","footnoteOrder","counter","footnoteCounts","reuseCounter","clobberPrefix","dataFootnoteRef","patch","sup","applyData","revert","subtype","suffix","contents","listItemLoose","pointStart","pointEnd","trimLines","last","trimLine","break","footnote","footnoteById","no","dangerous","imageReference","inlineCode","linkReference","loose","listLoose","root","firstRow","shift","tableContent","tableCell","tableRow","siblings","cellIndex","cells","cell","alignValue","toml","ignore","yaml","footnoteDefinition","passThrough","unknownHandler","defaultUnknownHandler","toHast","allowDangerousHtml","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","footnoteBackLabel","augment","createState","foot","listItems","referenceIndex","backReferences","backReference","dataFootnoteBackref","tailTail","dataFootnotes","footer","destination","file","run","bridge","mutate","stringLength","countAnsiEscapeCodes","onlyFirst","ansiRegex","stripAnsi","astralRange","teluguConsonants","teluguConsonantsRare","telugu","astral","combo","fitz","nonAstral","regional","surrogatePair","optModifier","optVar","seq","symbol","charRegex","bail","VFileMessage","place","parts","fatal","ruleId","actual","expected","note","basename","ext","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","dirname","unmatchedSlash","extname","startPart","startDot","preDotState","segments","joined","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","sep","proc","isUrl","fileUrlOrPath","VFile","messages","history","cwd","stored","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","urlToPath","assertNonEmpty","assertPart","stem","fail","part","transformers","fns","pipeline","middlewareIndex","middleware","fnExpectsCallback","middelware","trough","attachers","frozen","freezeIndex","processor","assertUnfrozen","freeze","attacher","transformer","addPlugin","addList","addPreset","plugin","plugins","vfile","assertParser","newable","assertCompiler","assertNode","compile","executor","reject","runSync","assertDone","process","asyncName","looksLikeAVFile","stringifyPosition","castFactory","propsFactory","factory","grandparents"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"2323-2323.js?v=b9f9952c757837337444","mappings":"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jD,GAGFC,EAA2BpjD,EACpC,CAGA,SAASojD,EAA2BpjD,GAClC,OAAa,KAATA,GACF42C,EAAQE,QAAQ92C,GACTqjD,IAGL,QAAcrjD,IAChB42C,EAAQE,QAAQ92C,GACTojD,GAGFJ,EAA4BhjD,EACrC,CAGA,SAASqjD,EAA6BrjD,GACpC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEO45C,EAAI55C,GAGA,KAATA,GAAwB,KAATA,GACjB42C,EAAQE,QAAQ92C,GAChBo/C,EAASp/C,EACFsjD,IAGL,QAActjD,IAChB42C,EAAQE,QAAQ92C,GACTqjD,IAGTjE,EAAS,KACFmE,EAA+BvjD,GACxC,CAGA,SAASsjD,EAA6BtjD,GACpC,OAAa,OAATA,IAAiB,QAAmBA,GAC/B45C,EAAI55C,GAGTA,IAASo/C,GACXxI,EAAQE,QAAQ92C,GACTwjD,IAGT5M,EAAQE,QAAQ92C,GACTsjD,EACT,CAGA,SAASC,EAA+BvjD,GACtC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,IACA,QAA0BA,GAEnBojD,EAA2BpjD,IAGpC42C,EAAQE,QAAQ92C,GACTujD,EACT,CAGA,SAASC,EAAkCxjD,GACzC,OAAa,KAATA,GAAwB,KAATA,IAAe,QAAcA,GACvCgjD,EAA4BhjD,GAG9B45C,EAAI55C,EACb,CAGA,SAASkjD,EAAYljD,GACnB,OAAa,KAATA,GACF42C,EAAQE,QAAQ92C,GACTyjD,GAGF7J,EAAI55C,EACb,CAGA,SAASyjD,EAAczjD,GACrB,OAAI,QAAcA,IAChB42C,EAAQE,QAAQ92C,GACTyjD,GAGO,OAATzjD,IAAiB,QAAmBA,GACvC83C,EAAa93C,GACb45C,EAAI55C,EACV,CAGA,SAAS83C,EAAa93C,GACpB,OAAa,KAATA,GAAwB,IAATg5B,GACjB4d,EAAQE,QAAQ92C,GACT0jD,GAGI,KAAT1jD,GAAwB,IAATg5B,GACjB4d,EAAQE,QAAQ92C,GACT2jD,GAGI,KAAT3jD,GAAwB,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","sources":["webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/index.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-is/convert.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit-parents/index.js","webpack:///nextcloud/node_modules/@mapbox/hast-util-table-cell-style/node_modules/unist-util-visit/index.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcRichContenteditable.js","webpack:///nextcloud/node_modules/extend/index.js","webpack:///nextcloud/node_modules/inline-style-parser/index.js","webpack:///nextcloud/node_modules/style-to-object/index.js","webpack:///nextcloud/node_modules/tributejs/dist/tribute.esm.js","webpack:///nextcloud/node_modules/unified/node_modules/is-buffer/index.js","webpack:///nextcloud/node_modules/vfile/node_modules/is-buffer/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/LinkVariant.vue?7418","webpack:///nextcloud/node_modules/vue-material-design-icons/LinkVariant.vue?vue&type=template&id=3834522c&","webpack://nextcloud/./node_modules/vue-material-design-icons/Magnify.vue?0775","webpack:///nextcloud/node_modules/mdast-util-definitions/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","webpack:///nextcloud/node_modules/micromark-util-character/index.js","webpack:///nextcloud/node_modules/property-information/lib/util/schema.js","webpack:///nextcloud/node_modules/property-information/lib/util/merge.js","webpack:///nextcloud/node_modules/property-information/lib/normalize.js","webpack:///nextcloud/node_modules/property-information/lib/util/info.js","webpack:///nextcloud/node_modules/property-information/lib/util/types.js","webpack:///nextcloud/node_modules/property-information/lib/util/defined-info.js","webpack:///nextcloud/node_modules/property-information/lib/util/create.js","webpack:///nextcloud/node_modules/property-information/lib/xlink.js","webpack:///nextcloud/node_modules/property-information/lib/xml.js","webpack:///nextcloud/node_modules/property-information/lib/util/case-sensitive-transform.js","webpack:///nextcloud/node_modules/property-information/lib/util/case-insensitive-transform.js","webpack:///nextcloud/node_modules/property-information/lib/xmlns.js","webpack:///nextcloud/node_modules/property-information/lib/aria.js","webpack:///nextcloud/node_modules/property-information/lib/html.js","webpack:///nextcloud/node_modules/property-information/lib/svg.js","webpack:///nextcloud/node_modules/property-information/index.js","webpack:///nextcloud/node_modules/property-information/lib/find.js","webpack:///nextcloud/node_modules/property-information/lib/hast-to-react.js","webpack:///nextcloud/node_modules/style-to-object/index.mjs","webpack:///nextcloud/node_modules/web-namespaces/index.js","webpack:///nextcloud/node_modules/hast-to-hyperscript/lib/index.js","webpack:///nextcloud/node_modules/comma-separated-tokens/index.js","webpack:///nextcloud/node_modules/rehype-react/lib/index.js","webpack:///nextcloud/node_modules/hast-util-whitespace/index.js","webpack:///nextcloud/node_modules/remark-breaks/index.js","webpack:///nextcloud/node_modules/is-absolute-url/index.js","webpack:///nextcloud/node_modules/remark-external-links/index.js","webpack:///nextcloud/node_modules/mdast-util-to-string/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-chunked/index.js","webpack:///nextcloud/node_modules/micromark-util-combine-extensions/index.js","webpack:///nextcloud/node_modules/micromark-factory-space/index.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/content.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/document.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/blank-line.js","webpack:///nextcloud/node_modules/micromark-util-subtokenize/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/content.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/flow.js","webpack:///nextcloud/node_modules/micromark/lib/initialize/text.js","webpack:///nextcloud/node_modules/micromark-util-resolve-all/index.js","webpack:///nextcloud/node_modules/micromark/lib/create-tokenizer.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/thematic-break.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/list.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/block-quote.js","webpack:///nextcloud/node_modules/micromark-factory-destination/index.js","webpack:///nextcloud/node_modules/micromark-factory-label/index.js","webpack:///nextcloud/node_modules/micromark-factory-title/index.js","webpack:///nextcloud/node_modules/micromark-factory-whitespace/index.js","webpack:///nextcloud/node_modules/micromark-util-normalize-identifier/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/definition.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-indented.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/heading-atx.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/setext-underline.js","webpack:///nextcloud/node_modules/micromark-util-html-tag-name/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/html-flow.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-fenced.js","webpack:///nextcloud/node_modules/decode-named-character-reference/index.dom.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/character-reference.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/character-escape.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/line-ending.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-end.js","webpack:///nextcloud/node_modules/micromark-util-classify-character/index.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/attention.js","webpack:///nextcloud/node_modules/micromark/lib/constructs.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-start-image.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/autolink.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/html-text.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/label-start-link.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/hard-break-escape.js","webpack:///nextcloud/node_modules/micromark-core-commonmark/lib/code-text.js","webpack:///nextcloud/node_modules/micromark/lib/preprocess.js","webpack:///nextcloud/node_modules/micromark-util-decode-numeric-character-reference/index.js","webpack:///nextcloud/node_modules/micromark-util-decode-string/index.js","webpack:///nextcloud/node_modules/mdast-util-from-markdown/lib/index.js","webpack:///nextcloud/node_modules/micromark/lib/postprocess.js","webpack:///nextcloud/node_modules/micromark/lib/parse.js","webpack:///nextcloud/node_modules/remark-parse/index.js","webpack:///nextcloud/node_modules/remark-parse/lib/index.js","webpack:///nextcloud/node_modules/micromark-util-sanitize-uri/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/revert.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack:///nextcloud/node_modules/unist-util-position/lib/index.js","webpack:///nextcloud/node_modules/trim-lines/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/footnote.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/table-row.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/state.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/index.js","webpack:///nextcloud/node_modules/unist-util-generated/lib/index.js","webpack:///nextcloud/node_modules/mdast-util-to-hast/lib/footer.js","webpack:///nextcloud/node_modules/remark-rehype/lib/index.js","webpack:///nextcloud/node_modules/space-separated-tokens/index.js","webpack:///nextcloud/node_modules/string-length/index.js","webpack:///nextcloud/node_modules/string-length/node_modules/strip-ansi/index.js","webpack:///nextcloud/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///nextcloud/node_modules/char-regex/index.js","webpack:///nextcloud/node_modules/bail/index.js","webpack:///nextcloud/node_modules/unified/node_modules/is-plain-obj/index.js","webpack:///nextcloud/node_modules/vfile-message/lib/index.js","webpack:///nextcloud/node_modules/vfile/lib/minpath.browser.js","webpack:///nextcloud/node_modules/vfile/lib/minproc.browser.js","webpack:///nextcloud/node_modules/vfile/lib/minurl.shared.js","webpack:///nextcloud/node_modules/vfile/lib/index.js","webpack:///nextcloud/node_modules/vfile/lib/minurl.browser.js","webpack:///nextcloud/node_modules/unified/lib/index.js","webpack:///nextcloud/node_modules/trough/index.js","webpack:///nextcloud/node_modules/unist-builder/lib/index.js","webpack:///nextcloud/node_modules/unist-util-stringify-position/lib/index.js","webpack:///nextcloud/node_modules/unist-util-is/lib/index.js","webpack:///nextcloud/node_modules/unist-util-visit-parents/lib/index.js","webpack:///nextcloud/node_modules/unist-util-visit/lib/index.js"],"sourcesContent":["'use strict';\n\nvar visit = require('unist-util-visit');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: 'text-align',\n valign: 'vertical-align',\n height: 'height',\n width: 'width',\n};\n\nmodule.exports = function tableCellStyle(node) {\n visit(node, 'element', visitor);\n return node;\n};\n\nfunction visitor(node) {\n if (node.tagName !== 'tr' && node.tagName !== 'td' && node.tagName !== 'th') {\n return;\n }\n\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (\n !hasOwnProperty.call(hastCssPropertyMap, hastName) ||\n node.properties[hastName] === undefined\n ) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\n\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || '').trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += ';';\n }\n if (prevStyle) {\n prevStyle += ' ';\n }\n var nextStyle = prevStyle + property + ': ' + value + ';';\n node.properties.style = nextStyle;\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = []\n var subresult\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)))\n return subresult[0] === EXIT ? subresult : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var result\n\n while (index > min && index < children.length) {\n result = one(children[index], index, parents)\n\n if (result[0] === EXIT) {\n return result\n }\n\n index = typeof result[1] === 'number' ? result[1] : index + step\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n","/*! For license information please see NcRichContenteditable.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/NcRichContenteditable\"]=e())}(self,(()=>(()=>{var t={9456:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(9104),r=n(1205),o=n(5512),a=n.n(o),s=n(6915),l=n.n(s);const c={name:\"NcInputField\",components:{NcButton:i.default,AlertCircle:a(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"text\",\"password\",\"email\",\"tel\",\"url\",\"search\",\"number\"].includes(t)}},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:\"\"},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},disabled:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:\"\"}},emits:[\"update:value\",\"trailing-button-click\"],computed:{computedId:function(){return this.$attrs.id&&\"\"!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:function(){return\"input\"+(0,r.Z)()},hasLeadingIcon:function(){return this.$slots.default},hasTrailingIcon:function(){return this.success},hasPlaceholder:function(){return\"\"!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder:function(){return this.labelVisible?this.hasPlaceholder?this.placeholder:\"\":this.hasPlaceholder?this.placeholder:this.label},isValidLabel:function(){var t=this.label||this.labelOutside;return t||console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\"),t}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)},handleTrailingButtonClick:function(t){this.$emit(\"trailing-button-click\",t)}}}},1039:(t,e,n)=>{\"use strict\";n.d(e,{s:()=>i,x:()=>r});var i=function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"input-field\"},[!t.labelOutside&&t.isValidLabel?e(\"label\",{staticClass:\"input-field__label\",class:{\"input-field__label--hidden\":!t.labelVisible},attrs:{for:t.computedId}},[t._v(\"\\n\\t\\t\"+t._s(t.label)+\"\\n\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"input-field__main-wrapper\"},[e(\"input\",t._g(t._b({ref:\"input\",staticClass:\"input-field__input\",class:[t.inputClass,{\"input-field__input--trailing-icon\":t.showTrailingButton||t.hasTrailingIcon,\"input-field__input--leading-icon\":t.hasLeadingIcon,\"input-field__input--success\":t.success,\"input-field__input--error\":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,\"aria-describedby\":t.helperText.length>0?\"\".concat(t.inputName,\"-helper-text\"):\"\",\"aria-live\":\"polite\"},domProps:{value:t.value},on:{input:t.handleInput}},\"input\",t.$attrs,!1),t.$listeners)),t._v(\" \"),e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasLeadingIcon,expression:\"hasLeadingIcon\"}],staticClass:\"input-field__icon input-field__icon--leading\"},[t._t(\"default\")],2),t._v(\" \"),t.showTrailingButton?e(\"NcButton\",{staticClass:\"input-field__clear-button\",attrs:{type:\"tertiary-no-background\",\"aria-label\":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"trailing-button-icon\")]},proxy:!0}],null,!0)}):t.success||t.error?e(\"div\",{staticClass:\"input-field__icon input-field__icon--trailing\"},[t.success?e(\"Check\",{attrs:{size:18}}):t.error?e(\"AlertCircle\",{attrs:{size:18}}):t._e()],1):t._e()],1),t._v(\" \"),t.helperText.length>0?e(\"p\",{staticClass:\"input-field__helper-text-message\",class:{\"input-field__helper-text-message--error\":t.error,\"input-field__helper-text-message--success\":t.success},attrs:{id:\"\".concat(t.inputName,\"-helper-text\")}},[t.success?e(\"Check\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t.error?e(\"AlertCircle\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t._e(),t._v(\"\\n\\t\\t\"+t._s(t.helperText)+\"\\n\\t\")],1):t._e()])},r=[]},644:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>G});var i=n(9104),r=n(5825),o=n(1205),a=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(t){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},d(t)}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){m(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function m(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==d(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==d(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===d(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function h(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return f(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var v=\".focusable\";const g={name:\"NcActions\",components:{NcButton:i.default,DotsHorizontal:u(),NcPopover:r.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:null},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:(0,a.t)(\"Actions\")},ariaHidden:{type:Boolean,default:null},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:[String,Object,Element,Boolean],default:\"body\"},disabled:{type:Boolean,default:!1},inline:{type:Number,default:0}},emits:[\"update:open\",\"open\",\"update:open\",\"close\",\"focus\",\"blur\"],data:function(){return{opened:this.open,focusIndex:0,randomId:\"menu-\".concat((0,o.Z)())}},computed:{triggerBtnType:function(){return this.type||(this.primary?\"primary\":this.menuTitle?\"secondary\":\"tertiary\")}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},methods:{isValidSingleAction:function(t){var e,n,i,r,o,a=null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag;return[\"NcActionButton\",\"NcActionLink\",\"NcActionRouter\"].includes(a)},openMenu:function(t){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:t}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(v);if(n){var i=h(this.$refs.menu.querySelectorAll(v)).indexOf(n);i>-1&&(this.focusIndex=i,this.focusAction())}}}},onKeydown:function(t){(38===t.keyCode||9===t.keyCode&&t.shiftKey)&&this.focusPreviousAction(t),(40===t.keyCode||9===t.keyCode&&!t.shiftKey)&&this.focusNextAction(t),33===t.keyCode&&this.focusFirstAction(t),34===t.keyCode&&this.focusLastAction(t),27===t.keyCode&&(this.closeMenu(),t.preventDefault())},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(v)[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(v).length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$refs.menu.querySelectorAll(v).length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}},render:function(t){var e=this,n=(this.$slots.default||[]).filter((function(t){var e,n,i,r;return(null==t||null===(e=t.componentOptions)||void 0===e?void 0:e.tag)||(null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)})),i=n.every((function(t){var e,n,i,r,o,a,s,l;return\"NcActionLink\"===(null!==(e=null==t||null===(n=t.componentOptions)||void 0===n||null===(i=n.Ctor)||void 0===i||null===(r=i.extendOptions)||void 0===r?void 0:r.name)&&void 0!==e?e:null==t||null===(o=t.componentOptions)||void 0===o?void 0:o.tag)&&(null==t||null===(a=t.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),r=n.filter(this.isValidSingleAction);if(this.forceMenu&&r.length>0&&this.inline>0&&(l().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),r=[]),0!==n.length){var o=function(n){var i,r,o,a,s,l,c,u,d,p,m,h,f,v,g,C,b,y,x,w,k,_,S=(null==n||null===(i=n.data)||void 0===i||null===(r=i.scopedSlots)||void 0===r||null===(o=r.icon())||void 0===o?void 0:o[0])||t(\"span\",{class:[\"icon\",null==n||null===(a=n.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s?void 0:s.icon]}),B=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,j=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(m=p.text)||void 0===m||null===(h=m.trim)||void 0===h?void 0:h.call(m),E=(null==n||null===(f=n.componentOptions)||void 0===f||null===(v=f.propsData)||void 0===v?void 0:v.ariaLabel)||j,N=e.forceTitle?j:\"\",P=null==n||null===(g=n.componentOptions)||void 0===g||null===(C=g.propsData)||void 0===C?void 0:C.title;return e.forceTitle||P||(P=j),t(\"NcButton\",{class:[\"action-item action-item--single\",null==n||null===(b=n.data)||void 0===b?void 0:b.staticClass,null==n||null===(y=n.data)||void 0===y?void 0:y.class],attrs:{\"aria-label\":E,title:P},ref:null==n||null===(x=n.data)||void 0===x?void 0:x.ref,props:A({type:e.type||(N?\"secondary\":\"tertiary\"),disabled:e.disabled||(null==n||null===(w=n.componentOptions)||void 0===w||null===(k=w.propsData)||void 0===k?void 0:k.disabled),ariaHidden:e.ariaHidden},null==n||null===(_=n.componentOptions)||void 0===_?void 0:_.propsData),on:A({focus:e.onFocus,blur:e.onBlur},!!B&&{click:function(t){B&&B(t)}})},[t(\"template\",{slot:\"icon\"},[S]),N])},a=function(n){var r,o,a=(null===(r=e.$slots.icon)||void 0===r?void 0:r[0])||(e.defaultIcon?t(\"span\",{class:[\"icon\",e.defaultIcon]}):t(\"DotsHorizontal\",{props:{size:20}}));return t(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\",setReturnFocus:null===(o=e.$refs.menuButton)||void 0===o?void 0:o.$el},attrs:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\"},on:{show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[t(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:e.triggerBtnType,disabled:e.disabled,ariaHidden:e.ariaHidden},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":i?null:\"menu\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.opened?e.randomId:null,\"aria-expanded\":e.opened.toString()},on:{focus:e.onFocus,blur:e.onBlur}},[t(\"template\",{slot:\"icon\"},[a]),e.menuTitle]),t(\"div\",{class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:e.onKeydown,mousemove:e.onMouseFocusAction},ref:\"menu\"},[t(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\",role:i?null:\"menu\"}},[n])])])};if(1===n.length&&1===r.length&&!this.forceMenu)return o(r[0]);if(r.length>0&&this.inline>0){var s=r.slice(0,this.inline),c=n.filter((function(t){return!s.includes(t)}));return t(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(h(s.map(o)),[c.length>0?t(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[a(c)]):null]))}return t(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[a(n)])}}};var C=n(3379),b=n.n(C),y=n(7795),x=n.n(y),w=n(569),k=n.n(w),_=n(3565),S=n.n(_),B=n(9216),j=n.n(B),E=n(4589),N=n.n(E),P=n(8827),z={};z.styleTagTransform=N(),z.setAttributes=S(),z.insert=k().bind(null,\"head\"),z.domAPI=x(),z.insertStyleElement=j();b()(P.Z,z);P.Z&&P.Z.locals&&P.Z.locals;var O=n(5565),D={};D.styleTagTransform=N(),D.setAttributes=S(),D.insert=k().bind(null,\"head\"),D.domAPI=x(),D.insertStyleElement=j();b()(O.Z,D);O.Z&&O.Z.locals&&O.Z.locals;var T=n(1900),L=n(5727),I=n.n(L),$=(0,T.Z)(g,undefined,undefined,!1,null,\"20a3e950\",null);\"function\"==typeof I()&&I()($);const G=$.exports},8091:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>Z});var i=n(5825),r=n(306),o=n(5378),a=n(7993),s=n(3351),l=n(932),c=n(768),u=n.n(c),d=n(1441),p=n.n(d),A=n(3607),m=n(542),h=n(7672),f=n(4262),v=n(4055);function g(t){return g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},g(t)}function C(){C=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(j([])));v&&v!==e&&n.call(v,o)&&(h=v);var b=m.prototype=p.prototype=Object.create(h);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==g(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return A.prototype=m,i(b,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),l(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),l(b,s,\"Generator\"),l(b,o,(function(){return this})),l(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function b(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function y(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){b(o,i,r,a,s,\"next\",t)}function s(t){b(o,i,r,a,s,\"throw\",t)}a(void 0)}))}}var x=(0,h.getBuilder)(\"nextcloud\").persist().build();function w(t){var e=x.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function k(t,e){t&&x.setItem(\"user-has-avatar.\"+t,e)}const _={name:\"NcAvatar\",directives:{ClickOutside:v.vOnClickOutside},components:{DotsHorizontal:p(),NcLoadingIcon:o.default,NcPopover:i.default,NcPopoverMenu:r.default},mixins:[s.iQ],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:[String,Object,Element,Boolean],default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){var t,e;if(this.hasMenu)return this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,l.t)(\"Avatar of {displayName}, {status}\",{displayName:null!==(e=this.displayName)&&void 0!==e?e:this.user,status:this.userStatus.status}):(0,l.t)(\"Avatar of {displayName}\",{displayName:null!==(t=this.displayName)&&void 0!==t?t:this.user})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=(0,A.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){return{\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.45*this.size)+\"px\"}},initialsWrapperStyle:function(){var t=(0,a.default)(this.getUserIdentifier),e=t.r,n=t.g,i=t.b;return{backgroundColor:\"rgba(\".concat(e,\", \").concat(n,\", \").concat(i,\", 0.1)\")}},initialsStyle:function(){var t=(0,a.default)(this.getUserIdentifier),e=t.r,n=t.g,i=t.b;return{color:\"rgb(\".concat(e,\", \").concat(n,\", \").concat(i,\")\")}},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),(0,m.subscribe)(\"settings:avatar:updated\",this.loadAvatarUrl),(0,m.subscribe)(\"settings:display-name:updated\",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,m.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroy:function(){(0,m.unsubscribe)(\"settings:avatar:updated\",this.loadAvatarUrl),(0,m.unsubscribe)(\"settings:display-name:updated\",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(0,m.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return y(C().mark((function e(){return C().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return y(C().mark((function e(){var n,i,r;return C().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,u().post((0,f.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,r=i.data,t.contactsMenuActions=r.topAction?[r.topAction].concat(r.actions):r.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){var t=this.avatarUrlGenerator(this.user,64),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,512)+\" 8x\"].join(\", \");this.updateImageIfValid(t,e)}else{var n=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(n)}},avatarUrlGenerator:function(t,e){var n,i=\"invert(100%)\"===window.getComputedStyle(document.body).getPropertyValue(\"--background-invert-if-dark\"),r=\"/avatar/{user}/{size}\"+(i?\"/dark\":\"\");this.isGuest&&(r=\"/avatar/guest/{user}/{size}\"+(i?\"/dark\":\"\"));var o=(0,f.generateUrl)(r,{user:t,size:e});return t===(null===(n=(0,A.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(o+=\"?v=\"+oc_userconfig.avatar.version),o},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=w(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var r=new Image;r.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,k(e.user,!0)},r.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,k(e.user,!1)},n&&(r.srcset=n),r.src=t}}};var S=n(3379),B=n.n(S),j=n(7795),E=n.n(j),N=n(569),P=n.n(N),z=n(3565),O=n.n(z),D=n(9216),T=n.n(D),L=n(4589),I=n.n(L),$=n(2242),G={};G.styleTagTransform=I(),G.setAttributes=O(),G.insert=P().bind(null,\"head\"),G.domAPI=E(),G.insertStyleElement=T();B()($.Z,G);$.Z&&$.Z.locals&&$.Z.locals;var M=n(1900),U=n(3051),F=n.n(U),R=(0,M.Z)(_,(function(){var t=this,e=t._self._c;return e(\"div\",t._g({directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{title:t.tooltip,tabindex:t.hasMenu?\"0\":void 0,\"aria-label\":t.avatarAriaLabel,role:t.hasMenu?\"button\":void 0},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu.apply(null,arguments)}}},t.hasMenu?{click:t.toggleMenu}:{}),[t._t(\"icon\",(function(){return[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e()]})),t._v(\" \"),t.hasMenu?e(\"NcPopover\",{attrs:{placement:\"auto\",container:t.menuContainer,shown:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"NcLoadingIcon\"):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:20}})]},proxy:!0}],null,!1,2037777893)},[e(\"NcPopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),!t.userDoesNotExist||t.iconClass||t.$slots.icon?t._e():e(\"div\",{staticClass:\"avatardiv__initials-wrapper\",style:t.initialsWrapperStyle},[e(\"div\",{staticClass:\"unknown\",style:t.initialsStyle},[t._v(\"\\n\\t\\t\\t\"+t._s(t.initials)+\"\\n\\t\\t\")])])],2)}),[],!1,null,\"f73be20c\",null);\"function\"==typeof F()&&F()(R);const Z=R.exports},9104:(t,e,n)=>{\"use strict\";function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!==i(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===i(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{default:()=>S});const s={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:\"secondary\"},nativeType:{type:String,validator:function(t){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(t)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(t){var e,n,i,r,s,l=this,c=null===(e=this.$slots.default)||void 0===e||null===(n=e[0])||void 0===n||null===(i=n.text)||void 0===i||null===(r=i.trim)||void 0===r?void 0:r.call(i),u=!!c,d=null===(s=this.$slots)||void 0===s?void 0:s.icon;c||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:c,ariaLabel:this.ariaLabel},this);var p=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.navigate,r=n.isActive,s=n.isExactActive;return t(l.to||!l.href?\"button\":\"a\",{class:[\"button-vue\",(e={\"button-vue--icon-only\":d&&!u,\"button-vue--text-only\":u&&!d,\"button-vue--icon-and-text\":d&&u},a(e,\"button-vue--vue-\".concat(l.type),l.type),a(e,\"button-vue--wide\",l.wide),a(e,\"active\",r),a(e,\"router-link-exact-active\",s),e)],attrs:o({\"aria-label\":l.ariaLabel,disabled:l.disabled,type:l.href?null:l.nativeType,role:l.href?\"button\":null,href:!l.to&&l.href?l.href:null},l.$attrs),on:o(o({},l.$listeners),{},{click:function(t){var e,n;null===(e=l.$listeners)||void 0===e||null===(n=e.click)||void 0===n||n.call(e,t),null==i||i(t)}})},[t(\"span\",{class:\"button-vue__wrapper\"},[d?t(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":l.ariaHidden}},[l.$slots.icon]):null,u?t(\"span\",{class:\"button-vue__text\"},[c]):null])])};return this.to?t(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:p}}):p()}};var l=n(3379),c=n.n(l),u=n(7795),d=n.n(u),p=n(569),A=n.n(p),m=n(3565),h=n.n(m),f=n(9216),v=n.n(f),g=n(4589),C=n.n(g),b=n(1898),y={};y.styleTagTransform=C(),y.setAttributes=h(),y.insert=A().bind(null,\"head\"),y.domAPI=d(),y.insertStyleElement=v();c()(b.Z,y);b.Z&&b.Z.locals&&b.Z.locals;var x=n(1900),w=n(2102),k=n.n(w),_=(0,x.Z)(s,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof k()&&k()(_);const S=_.exports},4378:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>b});var i=n(281),r=n(1336);const o={name:\"NcEllipsisedOption\",components:{NcHighlight:i.default},props:{name:{type:String,default:\"\"},search:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.slice(this.split):\"\"},highlight1:function(){return this.search?(0,r.Z)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}};var a=n(3379),s=n.n(a),l=n(7795),c=n.n(l),u=n(569),d=n.n(u),p=n(3565),A=n.n(p),m=n(9216),h=n.n(m),f=n(4589),v=n.n(f),g=n(436),C={};C.styleTagTransform=v(),C.setAttributes=A(),C.insert=d().bind(null,\"head\"),C.domAPI=c(),C.insertStyleElement=h();s()(g.Z,C);g.Z&&g.Z.locals&&g.Z.locals;const b=(0,n(1900).Z)(o,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"NcHighlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"NcHighlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"3daafbe0\",null).exports},1917:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>x});const i={name:\"NcEmptyContent\",props:{title:{type:String,default:\"\"},description:{type:String,default:\"\"}},computed:{hasTitle:function(){return\"\"!==this.title},hasDescription:function(){var t;return\"\"!==this.description||(null===(t=this.$slots.description)||void 0===t?void 0:t[0])}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(6291),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900),C=n(9258),b=n.n(C),y=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"empty-content\",attrs:{role:\"note\"}},[t.$slots.icon?e(\"div\",{staticClass:\"empty-content__icon\",attrs:{\"aria-hidden\":\"true\"}},[t._t(\"icon\")],2):t._e(),t._v(\" \"),t._t(\"title\",(function(){return[t.hasTitle?e(\"h2\",{staticClass:\"empty-content__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]):t._e()]})),t._v(\" \"),t.hasDescription?e(\"p\",[t._t(\"description\",(function(){return[t._v(\"\\n\\t\\t\\t\"+t._s(t.description)+\"\\n\\t\\t\")]}))],2):t._e(),t._v(\" \"),t.$slots.action?e(\"div\",{staticClass:\"empty-content__action\"},[t._t(\"action\")],2):t._e()],2)}),[],!1,null,\"1f71c9f4\",null);\"function\"==typeof b()&&b()(y);const x=y.exports},281:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>A});var i=n(1336);function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function s(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==r(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==r(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===r(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const l={name:\"NcHighlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:(0,i.Z)(this.text,this.search),e.forEach((function(t,n){t.end<t.start&&(e[n]={start:t.end,end:t.start})})),e=e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[]),e.sort((function(t,e){return t.start-e.start})),e=e.reduce((function(t,e){if(t.length){var n=t.length-1;t[n].end>=e.start?t[n]={start:t[n].start,end:Math.max(t[n].end,e.end)}:t.push(e)}else t.push(e);return t}),[]),e):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.slice(e,i.start)}),e=i.start):(t.push(a(a({},i),{},{highlight:!0,text:this.text.slice(i.start,i.end)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.slice(e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}};var c=n(1900),u=n(6274),d=n.n(u),p=(0,c.Z)(l,undefined,undefined,!1,null,null,null);\"function\"==typeof d()&&d()(p);const A=p.exports},6388:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});const i=require(\"@skjnldsv/sanitize-svg\");function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(){o=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},a=\"function\"==typeof Symbol?Symbol:{},s=a.iterator||\"@@iterator\",l=a.asyncIterator||\"@@asyncIterator\",c=a.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,s,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,s)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function o(i,a,s,l){var c=p(t[i],t,a);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==r(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){o(\"next\",t,s,l)}),(function(t){o(\"throw\",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return o(\"throw\",t,s,l)}))}l(c.arg)}var a;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){o(t,n,e,i)}))}return a=a?a.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[s];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,c,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,l,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,c,\"Generator\"),u(b,s,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function a(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function s(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function s(t){a(o,i,r,s,l,\"next\",t)}function l(t){a(o,i,r,s,l,\"throw\",t)}s(void 0)}))}}const l={name:\"NcIconSvgWrapper\",props:{svg:{type:String,default:\"\"},title:{type:String,default:\"\"}},data:function(){return{cleanSvg:\"\"}},beforeMount:function(){var t=this;return s(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.sanitizeSVG();case 2:case\"end\":return e.stop()}}),e)})))()},methods:{sanitizeSVG:function(){var t=this;return s(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.svg){e.next=2;break}return e.abrupt(\"return\");case 2:return e.next=4,(0,i.sanitizeSVG)(t.svg);case 4:t.cleanSvg=e.sent;case 5:case\"end\":return e.stop()}}),e)})))()}}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),A=n(569),m=n.n(A),h=n(3565),f=n.n(h),v=n(9216),g=n.n(v),C=n(4589),b=n.n(C),y=n(5635),x={};x.styleTagTransform=b(),x.setAttributes=f(),x.insert=m().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=g();u()(y.Z,x);y.Z&&y.Z.locals&&y.Z.locals;var w=n(1900),k=n(1287),_=n.n(k),S=(0,w.Z)(l,(function(){var t=this;return(0,t._self._c)(\"span\",{staticClass:\"icon-vue\",attrs:{role:\"img\",\"aria-hidden\":!t.title,\"aria-label\":t.title},domProps:{innerHTML:t._s(t.cleanSvg)}})}),[],!1,null,\"5bf5fa74\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},6750:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});var i=n(8091),r=n(281),o=n(6388),a=n(3351);const s={name:\"NcListItemIcon\",components:{NcAvatar:i.default,NcHighlight:r.default,NcIconSvgWrapper:o.default},mixins:[a.iQ],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},iconSvg:{type:String,default:\"\"},iconTitle:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasIconSvg:function(){return\"\"!==this.iconSvg},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},l=s;var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),A=n(569),m=n.n(A),h=n(3565),f=n.n(h),v=n(9216),g=n.n(v),C=n(4589),b=n.n(C),y=n(808),x={};x.styleTagTransform=b(),x.setAttributes=f(),x.insert=m().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=g();u()(y.Z,x);y.Z&&y.Z.locals&&y.Z.locals;var w=n(1900),k=n(8488),_=n.n(k),S=(0,w.Z)(l,(function(){var t=this,e=t._self._c;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"NcAvatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"NcAvatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"NcHighlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"NcHighlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\",(function(){return[t.hasIconSvg?e(\"NcIconSvgWrapper\",{staticClass:\"option__icon\",attrs:{svg:t.iconSvg,title:t.iconTitle}}):t.hasIcon?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon,attrs:{\"aria-label\":t.iconTitle}}):t._e()]}))],2)}),[],!1,null,\"4f3daf70\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},5378:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>x});const i={name:\"NcLoadingIcon\",props:{size:{type:Number,default:20},appearance:{type:String,validator:function(t){return[\"auto\",\"light\",\"dark\"].includes(t)},default:\"auto\"},title:{type:String,default:\"\"}},computed:{colors:function(){var t=[\"#777\",\"#CCC\"];return\"light\"===this.appearance?t:\"dark\"===this.appearance?t.reverse():[\"var(--color-loading-light)\",\"var(--color-loading-dark)\"]}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(5030),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900),C=n(9280),b=n.n(C),y=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"material-design-icon loading-icon\",attrs:{\"aria-label\":t.title,role:\"img\"}},[e(\"svg\",{attrs:{width:t.size,height:t.size,viewBox:\"0 0 24 24\"}},[e(\"path\",{attrs:{fill:t.colors[0],d:\"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z\"}}),t._v(\" \"),e(\"path\",{attrs:{fill:t.colors[1],d:\"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z\"}},[t.title?e(\"title\",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,\"c4a9cada\",null);\"function\"==typeof b()&&b()(y);const x=y.exports},1373:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>K});var i=n(7645),r=n(1206),o=n(932),a=n(1205),s=n(3648),l=n(644),c=n(9104);function u(t,e){var n,i,r,o=e;this.start=function(){r=!0,i=new Date,n=setTimeout(t,o)},this.pause=function(){r=!1,clearTimeout(n),o-=new Date-i},this.clear=function(){r=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return r&&(this.pause(),this.start()),o},this.getStateRunning=function(){return r},this.start()}var d=n(336);const p=require(\"vue-material-design-icons/ChevronLeft.vue\");var A=n.n(p),m=n(9044),h=n.n(m),f=n(8618),v=n.n(f);const g=require(\"vue-material-design-icons/Pause.vue\");var C=n.n(g);const b=require(\"vue-material-design-icons/Play.vue\");var y=n.n(b),x=n(4505),w=n(2640),k=n.n(w);function _(t){return _=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_(t)}function S(){S=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(j([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==_(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function B(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function j(t){return function(t){if(Array.isArray(t))return E(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return E(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return E(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const N={name:\"NcModal\",components:{NcActions:l.default,ChevronLeft:A(),ChevronRight:h(),Close:v(),Pause:C(),Play:y(),NcButton:c.default},directives:{tooltip:d.default},mixins:[s.Z],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return[\"small\",\"normal\",\"large\",\"full\"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:[String,null],default:\"body\"},closeButtonContained:{type:Boolean,default:!0},additionalTrapElements:{type:Array,default:function(){return[]}},inlineActions:{type:Number,default:0},show:{type:Boolean,default:void 0}},emits:[\"previous\",\"next\",\"close\",\"update:show\"],data:function(){return{mc:null,playing:!1,slideshowTimeout:null,iconSize:24,focusTrap:null,randId:(0,a.Z)(),internalShow:!0}},computed:{showModal:function(){return void 0===this.show?this.internalShow:this.show},modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?(0,o.t)(\"Pause slideshow\"):(0,o.t)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}},closeButtonAriaLabel:function(){return(0,o.t)(\"Close modal\")},prevButtonAriaLabel:function(){return(0,o.t)(\"Previous\")},nextButtonAriaLabel:function(){return(0,o.t)(\"Next\")}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())},additionalTrapElements:function(t){if(this.focusTrap){var e=this.$refs.mask;this.focusTrap.updateContainerElements([e].concat(j(t)))}}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var t=this;(this.useFocusTrap(),this.mc=new(k())(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(e){t.handleSwipe(e)})),this.container)&&(\"body\"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el))},destroyed:function(){this.clearFocusTrap(),this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit(\"previous\",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit(\"next\",t))},close:function(t){var e=this;this.canClose&&(this.internalShow=!1,this.$emit(\"update:show\",!1),setTimeout((function(){e.$emit(\"close\",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&(\"swipeleft\"===t.type?this.next(t):\"swiperight\"===t.type&&this.previous(t))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new u((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()},useFocusTrap:function(){var t,e=this;return(t=S().mark((function t(){var n;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.showModal&&!e.focusTrap){t.next=2;break}return t.abrupt(\"return\");case 2:return n=e.$refs.mask,t.next=5,e.$nextTick();case 5:e.focusTrap=(0,x.createFocusTrap)(n,{allowOutsideClick:!0,trapStack:(0,r.L)()}),e.focusTrap.activate();case 7:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){B(o,i,r,a,s,\"next\",t)}function s(t){B(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()},clearFocusTrap:function(){var t;this.focusTrap&&(null===(t=this.focusTrap)||void 0===t||t.deactivate(),this.focusTrap=null)}}};var P=n(3379),z=n.n(P),O=n(7795),D=n.n(O),T=n(569),L=n.n(T),I=n(3565),$=n.n(I),G=n(9216),M=n.n(G),U=n(4589),F=n.n(U),R=n(4167),Z={};Z.styleTagTransform=F(),Z.setAttributes=$(),Z.insert=L().bind(null,\"head\"),Z.domAPI=D(),Z.insertStyleElement=M();z()(R.Z,Z);R.Z&&R.Z.locals&&R.Z.locals;var q=n(1900),W=n(9989),Y=n.n(W),V=(0,q.Z)(N,(function(){var t=this,e=t._self._c;return e(\"transition\",{attrs:{name:\"fade\",appear:\"\"},on:{\"after-enter\":t.useFocusTrap,\"before-leave\":t.clearFocusTrap}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},style:t.cssVariables,attrs:{role:\"dialog\",\"aria-modal\":\"true\",\"aria-labelledby\":\"modal-title-\"+t.randId,\"aria-describedby\":\"modal-description-\"+t.randId}},[e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"div\",{staticClass:\"modal-header\"},[\"\"!==t.title.trim()?e(\"h2\",{staticClass:\"modal-title\",attrs:{id:\"modal-title-\"+t.randId}},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?e(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":t.slideshowPaused},attrs:{type:\"button\"},on:{click:t.togglePlayPause}},[t.playing?e(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:t.iconSize}}):e(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:t.iconSize}}),t._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.playing?e(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[e(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()],1):t._e(),t._v(\" \"),e(\"NcActions\",{staticClass:\"header-actions\",attrs:{inline:t.inlineActions}},[t._t(\"actions\")],2),t._v(\" \"),t.canClose&&!t.closeButtonContained?e(\"NcButton\",{staticClass:\"header-close\",attrs:{\"aria-label\":t.closeButtonAriaLabel,type:\"tertiary\"},on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:t.iconSize}})]},proxy:!0}],null,!1,1841713362)}):t._e()],1)])]),t._v(\" \"),e(\"transition\",{attrs:{name:t.modalTransitionName,appear:\"\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\".concat(t.size),t.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close.apply(null,arguments)}}},[e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"NcButton\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious,expression:\"hasPrevious\"}],staticClass:\"prev\",class:{invisible:!t.hasPrevious},attrs:{type:\"tertiary-no-background\",\"aria-label\":t.prevButtonAriaLabel},on:{click:t.previous},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ChevronLeft\",{attrs:{size:40}})]},proxy:!0}])})],1),t._v(\" \"),e(\"div\",{staticClass:\"modal-container\",attrs:{id:\"modal-description-\"+t.randId}},[t._t(\"default\"),t._v(\" \"),t.canClose&&t.closeButtonContained?e(\"NcButton\",{staticClass:\"modal-container__close\",attrs:{type:\"tertiary\",\"aria-label\":t.closeButtonAriaLabel},on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:20}})]},proxy:!0}],null,!1,2121748766)}):t._e()],2),t._v(\" \"),e(\"transition\",{attrs:{name:\"fade-visibility\",appear:\"\"}},[e(\"NcButton\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext,expression:\"hasNext\"}],staticClass:\"next\",class:{invisible:!t.hasNext},attrs:{type:\"tertiary-no-background\",\"aria-label\":t.nextButtonAriaLabel},on:{click:t.next},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ChevronRight\",{attrs:{size:40}})]},proxy:!0}])})],1)],1)])],1)])}),[],!1,null,\"1350db4f\",null);\"function\"==typeof Y()&&Y()(V);const H=V.exports;(0,i.Z)(H);const K=H},2917:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>z});var i=n(3379),r=n.n(i),o=n(7795),a=n.n(o),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),A=n(4589),m=n.n(A),h=n(636),f={};f.styleTagTransform=m(),f.setAttributes=u(),f.insert=l().bind(null,\"head\"),f.domAPI=a(),f.insertStyleElement=p();r()(h.Z,f);h.Z&&h.Z.locals&&h.Z.locals;var v=n(4378),g=n(6750),C=n(5378),b=n(336),y=n(3648);const x=require(\"vue-multiselect\");var w=n.n(x);function k(t){return k=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},k(t)}const _={name:\"NcMultiselect\",components:{NcEllipsisedOption:v.default,NcListItemIcon:g.default,NcLoadingIcon:C.default,VueMultiselect:w()},directives:{tooltip:b.default},mixins:[y.Z],inheritAttrs:!1,props:{value:{default:function(){return[]}},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},emits:[\"change\",\"update:value\"],data:function(){return{elWidth:0,ariaExpanded:!1}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==k(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}},willCloseOnSelect:function(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===k(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},S=_;var B=n(1900),j=n(6049),E=n.n(j),N=(0,B.Z)(S,(function(){var t=this,e=t._self._c;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,loading:t.loading,\"aria-expanded\":t.ariaExpanded.toString(),\"close-on-select\":t.willCloseOnSelect,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},on:{close:function(e){t.ariaExpanded=!1},open:function(e){t.ariaExpanded=!0}},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"NcListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"NcListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"NcEllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),search:n.search}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[t._t(\"noResult\",(function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]}))]},proxy:!0},{key:\"loading\",fn:function(){return[t.loading?e(\"NcLoadingIcon\"):t._e()]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof E()&&E()(N);const P=N.exports;(0,n(7645).Z)(P);const z=P},5825:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>E});var i=n(9454),r=n(4505),o=n(1206);function a(t){return a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},a(t)}function s(){s=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",l=r.asyncIterator||\"@@asyncIterator\",c=r.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,o,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,o)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,s,l){var c=p(t[i],t,o);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==a(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,s,l)}),(function(t){r(\"throw\",t,s,l)})):e.resolve(d).then((function(t){u.value=t,s(u)}),(function(t){return r(\"throw\",t,s,l)}))}l(c.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,c,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,l,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,c,\"Generator\"),u(b,o,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function l(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const c={name:\"NcPopover\",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:[\"after-show\",\"after-hide\"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var t,e=this;return(t=s().mark((function t(){var n,i,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$nextTick();case 2:if(e.focusTrap){t.next=4;break}return t.abrupt(\"return\");case 4:if(a=null===(n=e.$refs.popover)||void 0===n||null===(i=n.$refs.popperContent)||void 0===i?void 0:i.$el){t.next=7;break}return t.abrupt(\"return\");case 7:e.$focusTrap=(0,r.createFocusTrap)(a,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:e.setReturnFocus,trapStack:(0,o.L)()}),e.$focusTrap.activate();case 9:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){l(o,i,r,a,s,\"next\",t)}function s(t){l(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()},clearFocusTrap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var e;null===(e=this.$focusTrap)||void 0===e||e.deactivate(t),this.$focusTrap=null}catch(t){console.warn(t)}},afterShow:function(){var t=this;this.$nextTick((function(){t.$emit(\"after-show\"),t.useFocusTrap()}))},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},u=c;var d=n(3379),p=n.n(d),A=n(7795),m=n.n(A),h=n(569),f=n.n(h),v=n(3565),g=n.n(v),C=n(9216),b=n.n(C),y=n(4589),x=n.n(y),w=n(4401),k={};k.styleTagTransform=x(),k.setAttributes=g(),k.insert=f().bind(null,\"head\"),k.domAPI=m(),k.insertStyleElement=b();p()(w.Z,k);w.Z&&w.Z.locals&&w.Z.locals;var _=n(1900),S=n(2405),B=n.n(S),j=(0,_.Z)(u,(function(){var t=this;return(0,t._self._c)(\"Dropdown\",t._g(t._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"no-auto-focus\":!0,\"popper-class\":t.popoverBaseClass},on:{\"apply-show\":t.afterShow,\"apply-hide\":t.afterHide},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof B()&&B()(j);const E=j.exports},306:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>B});const i={name:\"NcPopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(8369),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(408),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=c().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=A();o()(g.Z,C);g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900);const y={name:\"NcPopoverMenu\",components:{NcPopoverMenuItem:(0,b.Z)(i,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"nofollow noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,r=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",r)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"127b0c62\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}};var x=n(2),w={};w.styleTagTransform=h(),w.setAttributes=d(),w.insert=c().bind(null,\"head\"),w.domAPI=s(),w.insertStyleElement=A();o()(x.Z,w);x.Z&&x.Z.locals&&x.Z.locals;var k=n(1174),_=n.n(k),S=(0,b.Z)(y,(function(){var t=this,e=t._self._c;return e(\"ul\",{staticClass:\"popover__menu\"},t._l(t.menu,(function(t,n){return e(\"NcPopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"31ffd2d4\",null);\"function\"==typeof _()&&_()(S);const B=S.exports},2611:(t,e,n)=>{\"use strict\";n.d(e,{getLinkWithPicker:()=>Ee,searchProvider:()=>yt});window._vue_richtext_widgets||(window._vue_richtext_widgets={});window._registerWidget=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){};window._vue_richtext_widgets[t]?console.error(\"Widget for id \"+t+\" already registered\"):window._vue_richtext_widgets[t]={id:t,callback:e,onDestroy:n}};const i={name:\"NcReferenceWidget\",props:{reference:{type:Object,required:!0}},data:function(){return{compact:3}},computed:{hasCustomWidget:function(){return t=this.reference.richObjectType,!!window._vue_richtext_widgets[t];var t},noAccess:function(){return this.reference&&!this.reference.accessible},descriptionStyle:function(){if(0===this.compact)return{display:\"none\"};var t=this.compact<4?this.compact:3;return{lineClamp:t,webkitLineClamp:t}},compactLink:function(){var t=this.reference.openGraphObject.link;return t?t.startsWith(\"https://\")?t.substring(8):t.startsWith(\"http://\")?t.substring(7):t:\"\"}},mounted:function(){var t=this;this.renderWidget(),this.observer=new ResizeObserver((function(e){e[0].contentRect.width<450?t.compact=0:e[0].contentRect.width<550?t.compact=1:e[0].contentRect.width<650?t.compact=2:t.compact=3})),this.observer.observe(this.$el)},beforeDestroy:function(){var t,e;this.observer.disconnect(),t=this.reference.richObjectType,e=this.$el,\"open-graph\"!==t&&window._vue_richtext_widgets[t]&&window._vue_richtext_widgets[t].onDestroy(e)},methods:{renderWidget:function(){var t,e=this;this.$refs.customWidget&&(this.$refs.customWidget.innerHTML=\"\"),\"open-graph\"!==(null==this||null===(t=this.reference)||void 0===t?void 0:t.richObjectType)&&this.$nextTick((function(){var t,n,i,r,o;t=e.$refs.customWidget,n=e.reference,i=n.richObjectType,r=n.richObject,o=n.accessible,\"open-graph\"!==i&&(window._vue_richtext_widgets[i]?window._vue_richtext_widgets[i].callback(t,{richObjectType:i,richObject:r,accessible:o}):console.error(\"Widget for rich object type \"+i+\" not registered\"))}))}}};var r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(1880),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;var g=n(1900);const C=(0,g.Z)(i,(function(){var t=this,e=t._self._c;return e(\"div\",[t.reference&&t.hasCustomWidget?e(\"div\",{staticClass:\"widget-custom\"},[e(\"div\",{ref:\"customWidget\"})]):!t.noAccess&&t.reference&&t.reference.openGraphObject&&!t.hasCustomWidget?e(\"a\",{staticClass:\"widget-default\",attrs:{href:t.reference.openGraphObject.link,rel:\"noopener noreferrer\",target:\"_blank\"}},[t.reference.openGraphObject.thumb?e(\"img\",{staticClass:\"widget-default--image\",attrs:{src:t.reference.openGraphObject.thumb}}):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"widget-default--details\"},[e(\"p\",{staticClass:\"widget-default--title\"},[t._v(t._s(t.reference.openGraphObject.name))]),t._v(\" \"),e(\"p\",{staticClass:\"widget-default--description\",style:t.descriptionStyle},[t._v(t._s(t.reference.openGraphObject.description))]),t._v(\" \"),e(\"p\",{staticClass:\"widget-default--link\"},[t._v(t._s(t.compactLink))])])]):t._e()])}),[],!1,null,\"4be6aca8\",null).exports;var b=/(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/gi,y=/(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/gi,x=n(768),w=n.n(x),k=n(4262);const _={name:\"NcReferenceList\",components:{NcReferenceWidget:C},props:{text:{type:String,default:\"\"},referenceData:{type:Object,default:null},limit:{type:Number,default:1}},data:function(){return{references:null,loading:!0}},computed:{isVisible:function(){return this.loading||this.displayedReferences},values:function(){return this.referenceData?this.referenceData:this.references?Object.values(this.references):[]},firstReference:function(){var t;return null!==(t=this.values[0])&&void 0!==t?t:null},displayedReferences:function(){return this.values.slice(0,this.limit)}},watch:{text:\"fetch\"},mounted:function(){this.fetch()},methods:{fetch:function(){var t=this;this.loading=!0,this.referenceData?this.loading=!1:new RegExp(b).exec(this.text)?this.resolve().then((function(e){t.references=e.data.ocs.data.references,t.loading=!1})).catch((function(e){console.error(\"Failed to extract references\",e),t.loading=!1})):this.loading=!1},resolve:function(){var t=new RegExp(b).exec(this.text.trim());return 1===this.limit&&t?w().get((0,k.generateOcsUrl)(\"references/resolve\",2)+\"?reference=\".concat(encodeURIComponent(t[0]))):w().post((0,k.generateOcsUrl)(\"references/extract\",2),{text:this.text,resolve:!0,limit:this.limit})}}};var S=n(122),B={};B.styleTagTransform=h(),B.setAttributes=d(),B.insert=c().bind(null,\"head\"),B.domAPI=s(),B.insertStyleElement=A();o()(S.Z,B);S.Z&&S.Z.locals&&S.Z.locals;const j=(0,g.Z)(_,(function(){var t=this,e=t._self._c;return t.isVisible?e(\"div\",{staticClass:\"widgets--list\",class:{\"icon-loading\":t.loading}},t._l(t.displayedReferences,(function(t){var n;return e(\"div\",{key:null==t||null===(n=t.openGraphObject)||void 0===n?void 0:n.id},[e(\"NcReferenceWidget\",{attrs:{reference:t}})],1)})),0):t._e()}),[],!1,null,\"36a4d5cc\",null).exports,E=require(\"unist-util-visit\"),N=require(\"unist-builder\");function P(t){return function(t){if(Array.isArray(t))return z(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return z(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function z(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var O={name:\"NcLink\",props:{href:{type:String,required:!0}},render:function(t){return t(\"a\",{attrs:{href:this.href,rel:\"noopener noreferrer\",target:\"_blank\",class:\"rich-text--external-link\"}},[this.href.trim()])}},D=function(t){var e=t.autolink,n=t.useMarkdown;return function(t){n&&e&&(0,E.visit)(t,(function(t){return\"text\"===t.type}),(function(t,e,n){var i,r=T(t.value);return r=r.map((function(t){return\"string\"==typeof t?(0,N.u)(\"text\",t):(0,N.u)(\"link\",{url:t.props.href},[(0,N.u)(\"text\",t.props.href)])})).filter((function(t){return t})),(i=n.children).splice.apply(i,[e,1].concat(P(r.flat()))),[E.SKIP,e+r.flat().length]}))}},T=function(t){for(var e=y.exec(t),n=[],i=0;null!==e;){var r=e[2],o=void 0,a=t.substring(i,e.index+e[1].length);\" \"===r[0]&&(a+=r[0],r=r.substring(1).trim());var s=r[r.length-1];(\".\"===s||\",\"===s||\";\"===s||\"(\"===e[0][0]&&\")\"===s)&&(r=r.substring(0,r.length-1),o=s),n.push(a),n.push({component:O,props:{href:r}}),o&&n.push(o),i=e.index+e[0].length,e=y.exec(t)}return n.push(t.substring(i)),t===n.map((function(t){return\"string\"==typeof t?t:t.props.href})).join(\"\")?n:(console.error(\"Failed to reassemble the chunked text: \"+t),t)};function L(t){return function(t){if(Array.isArray(t))return G(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||$(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function I(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var i,r,o,a,s=[],l=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(t){c=!0,r=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw r}}return s}}(t,e)||$(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function $(t,e){if(t){if(\"string\"==typeof t)return G(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G(t,e):void 0}}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var M=function(){return function(t){(0,E.visit)(t,(function(t){return\"text\"===t.type}),(function(t,e,n){var i=t.value.split(/(\\{[a-z\\-_.0-9]+\\})/gi).map((function(t,e,n){var i=t.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);if(!i)return(0,N.u)(\"text\",t);var r=I(i,2)[1];return(0,N.u)(\"element\",{tagName:\"#\".concat(r)})}));t=(0,N.u)(\"element\",{tagName:\"span\"},L(i)),n.children[e]=t}))}};const U=require(\"unified\"),F=require(\"remark-parse\");var R=n.n(F);const Z=require(\"remark-breaks\");var q=n.n(Z);const W=require(\"remark-rehype\");var Y=n.n(W);const V=require(\"rehype-react\");var H=n.n(V);const K=require(\"remark-external-links\");var Q=n.n(K);function J(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function X(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?J(Object(n),!0).forEach((function(e){tt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function tt(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==et(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==et(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===et(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function et(t){return et=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},et(t)}const nt={name:\"NcRichText\",components:{NcReferenceList:j},props:{text:{type:String,default:\"\"},arguments:{type:Object,default:function(){return{}}},referenceLimit:{type:Number,default:0},references:{type:Object,default:null},markdownCssClasses:{type:Object,default:function(){return{a:\"rich-text--external-link\",ol:\"rich-text--ordered-list\",ul:\"rich-text--un-ordered-list\",li:\"rich-text--list-item\",strong:\"rich-text--strong\",em:\"rich-text--italic\",h1:\"rich-text--heading rich-text--heading-1\",h2:\"rich-text--heading rich-text--heading-2\",h3:\"rich-text--heading rich-text--heading-3\",h4:\"rich-text--heading rich-text--heading-4\",h5:\"rich-text--heading rich-text--heading-5\",h6:\"rich-text--heading rich-text--heading-6\",hr:\"rich-text--hr\",table:\"rich-text--table\",pre:\"rich-text--pre\",code:\"rich-text--code\",blockquote:\"rich-text--blockquote\"}}},useMarkdown:{type:Boolean,default:!1},autolink:{type:Boolean,default:!0}},methods:{renderPlaintext:function(t){var e=this,n=this.text.split(/(\\{[a-z\\-_.0-9]+\\})/gi).map((function(n,i,r){var o=n.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);if(!o)return function(t,e){var n=t.h;return t.context.autolink&&(e=T(e)),Array.isArray(e)?e.map((function(t){if(\"string\"==typeof t)return t;var e=t.component,i=t.props,r=\"NcLink\"===e.name?void 0:\"rich-text--component\";return n(e,{props:i,class:r})})):e}({h:t,context:e},n);var a=o[1],s=e.arguments[a];if(\"object\"===et(s)){var l=s.component,c=s.props;return t(l,{props:c,class:\"rich-text--component\"})}return s?t(\"span\",{class:\"rich-text--fallback\"},s):n}));return t(\"div\",{class:\"rich-text--wrapper\"},[t(\"div\",{},n.flat()),this.referenceLimit>0?t(\"div\",{class:\"rich-text--reference-widget\"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])},renderMarkdown:function(t){var e=this,n=(0,U.unified)().use(R()).use(D,{autolink:this.autolink,useMarkdown:this.useMarkdown}).use(Q(),{target:\"_blank\",rel:[\"noopener noreferrer\"]}).use(q()).use(Y(),{handlers:{component:function(t,e){return t(e,e.component,{value:e.value})}}}).use(M).use(H(),{createElement:function(n,i,r){if(!n.startsWith(\"#\"))return t(n,i,r);var o=e.arguments[n.slice(1)];return o?o.component?t(o.component,{attrs:i,props:o.props,class:\"rich-text--component\"},r):t(\"span\",i,[o]):t(\"span\",X(X({},{attrs:i}),{class:\"rich-text--fallback\"}),[\"{\".concat(n.slice(1),\"}\")])},prefix:!1}).processSync(this.text).result;return t(\"div\",{class:\"rich-text--wrapper\"},[n,this.referenceLimit>0?t(\"div\",{class:\"rich-text--reference-widget\"},[t(j,{props:{text:this.text,referenceData:this.references}})]):null])}},render:function(t){return this.useMarkdown?this.renderMarkdown(t):this.renderPlaintext(t)}},it=nt;var rt=n(7856),ot={};ot.styleTagTransform=h(),ot.setAttributes=d(),ot.insert=c().bind(null,\"head\"),ot.domAPI=s(),ot.insertStyleElement=A();o()(rt.Z,ot);rt.Z&&rt.Z.locals&&rt.Z.locals;var at=n(3407),st=n.n(at),lt=(0,g.Z)(it,undefined,undefined,!1,null,\"57480046\",null);\"function\"==typeof st()&&st()(lt);lt.exports;window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});var ct=function(t){return!!window._vue_richtext_custom_picker_elements[t]};window._registerCustomPickerElement=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t){},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"large\";window._vue_richtext_custom_picker_elements[t]?console.error(\"Custom reference picker element for id \"+t+\" already registered\"):window._vue_richtext_custom_picker_elements[t]={id:t,callback:e,onDestroy:n,size:i}};const ut={name:\"NcCustomPickerElement\",props:{provider:{type:Object,required:!0}},emits:[\"cancel\",\"submit\"],data:function(){return{isRegistered:ct(this.provider.id),renderResult:null}},mounted:function(){this.isRegistered&&this.renderElement()},beforeDestroy:function(){var t,e,n;this.isRegistered&&(t=this.provider.id,e=this.$el,n=this.renderResult,window._vue_richtext_custom_picker_elements[t]&&window._vue_richtext_custom_picker_elements[t].onDestroy(e,n))},methods:{renderElement:function(){var t=this;this.$refs.domElement&&(this.$refs.domElement.innerHTML=\"\");var e=function(t,e){var n=e.providerId,i=e.accessible;if(window._vue_richtext_custom_picker_elements[n])return window._vue_richtext_custom_picker_elements[n].callback(t,{providerId:n,accessible:i});console.error(\"Custom reference picker element for reference provider ID \"+n+\" not registered\")}(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(e).then((function(e){var n,i;t.renderResult=e,null!==(n=t.renderResult.object)&&void 0!==n&&n._isVue&&null!==(i=t.renderResult.object)&&void 0!==i&&i.$on&&(t.renderResult.object.$on(\"submit\",t.onSubmit),t.renderResult.object.$on(\"cancel\",t.onCancel)),t.renderResult.element.addEventListener(\"submit\",(function(e){t.onSubmit(e.detail)})),t.renderResult.element.addEventListener(\"cancel\",t.onCancel)}))},onSubmit:function(t){this.$emit(\"submit\",t)},onCancel:function(){this.$emit(\"cancel\")}}};var dt=n(9425),pt={};pt.styleTagTransform=h(),pt.setAttributes=d(),pt.insert=c().bind(null,\"head\"),pt.domAPI=s(),pt.insertStyleElement=A();o()(dt.Z,pt);dt.Z&&dt.Z.locals&&dt.Z.locals;const At=(0,g.Z)(ut,(function(){return(0,this._self._c)(\"div\",{ref:\"domElement\"})}),[],!1,null,\"60e96d80\",null).exports;var mt=n(932),ht=n(733),ft=\"any-link\",vt={id:ft,title:(0,mt.t)(\"Any link\"),icon_url:(0,k.imagePath)(\"core\",\"filetypes/link.svg\")};function gt(t){return t===ft?vt:Ct().find((function(e){return e.id===t}))}function Ct(){return window._vue_richtext_reference_providers.filter((function(t){var e=!!t.search_providers_ids&&t.search_providers_ids.length>0||ct(t.id);return e||console.debug(\"[smart picker]\",t.id,\"reference provider is discoverable but does not have any related search provider or custom picker component registered\"),e}))}function bt(t){var e=window._vue_richtext_reference_provider_timestamps;return t.sort((function(t,e){return t.order===e.order?0:t.order>e.order?1:-1})).sort((function(t,n){var i=e[t.id],r=e[n.id];return i===r?0:void 0===r?-1:void 0===i?1:i>r?-1:1}))}function yt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=Ct(),i=t.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),r=new RegExp(i,\"i\"),o=bt(n),a=o.filter((function(t){return t.title.match(r)})),s=e?a.slice(0,e):a;return\"\"!==t&&0!==s.length||s.push(vt),s}window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=(0,ht.loadState)(\"core\",\"reference-provider-list\",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=(0,ht.loadState)(\"core\",\"reference-provider-timestamps\",{}));var xt=0;function wt(t,e){return function(){var n=this,i=arguments;clearTimeout(xt),xt=setTimeout((function(){t.apply(n,i)}),e||0)}}function kt(t){try{return Boolean(new URL(t))}catch(t){return!1}}var _t=n(1917),St=n(281),Bt=n(2917);const jt=require(\"vue-material-design-icons/LinkVariant.vue\");var Et=n.n(jt);function Nt(t){return function(t){if(Array.isArray(t))return Pt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return Pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Pt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const zt={name:\"NcProviderList\",components:{NcMultiselect:Bt.default,NcHighlight:St.default,NcEmptyContent:_t.default,LinkVariantIcon:Et()},emits:[\"select-provider\",\"submit\"],data:function(){return{selectedProvider:null,query:\"\",multiselectPlaceholder:(0,mt.t)(\"Select provider\")}},computed:{options:function(){var t=[];return\"\"!==this.query&&kt(this.query)&&t.push({id:this.query,title:this.query,isLink:!0}),t.push.apply(t,Nt(yt(this.query))),t}},methods:{focus:function(){var t=this;this.$nextTick((function(){var e,n;null===(e=t.$refs[\"provider-select\"])||void 0===e||null===(n=e.$el)||void 0===n||n.focus()}))},onProviderSelected:function(t){null!==t&&(t.isLink?this.$emit(\"submit\",t.title):this.$emit(\"select-provider\",t),this.selectedProvider=null)}}};var Ot=n(4091),Dt={};Dt.styleTagTransform=h(),Dt.setAttributes=d(),Dt.insert=c().bind(null,\"head\"),Dt.domAPI=s(),Dt.insertStyleElement=A();o()(Ot.Z,Dt);Ot.Z&&Ot.Z.locals&&Ot.Z.locals;const Tt=(0,g.Z)(zt,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"provider-list\"},[e(\"NcMultiselect\",{ref:\"provider-select\",staticClass:\"provider-list--select\",attrs:{\"track-by\":\"id\",label:\"title\",placeholder:t.multiselectPlaceholder,options:t.options,\"internal-search\":!1,\"clear-on-select\":!0,\"preserve-search\":!0,\"option-height\":44},on:{\"search-change\":function(e){t.query=e},input:t.onProviderSelected},scopedSlots:t._u([{key:\"option\",fn:function(n){var i=n.option;return[i.isLink?e(\"div\",{staticClass:\"provider\"},[e(\"LinkVariantIcon\",{staticClass:\"link-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",[t._v(t._s(i.title))])],1):e(\"div\",{staticClass:\"provider\"},[e(\"img\",{staticClass:\"provider-icon\",attrs:{src:i.icon_url}}),t._v(\" \"),e(\"NcHighlight\",{staticClass:\"option-text\",attrs:{search:t.query,text:i.title}})],1)]}}]),model:{value:t.selectedProvider,callback:function(e){t.selectedProvider=e},expression:\"selectedProvider\"}}),t._v(\" \"),e(\"NcEmptyContent\",{staticClass:\"provider-list--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"LinkVariantIcon\")]},proxy:!0}])})],1)}),[],!1,null,\"51a83e19\",null).exports;var Lt=n(5378),It=n(4941);const $t={name:\"NcRawLinkInput\",components:{LinkVariantIcon:Et(),NcEmptyContent:_t.default,NcLoadingIcon:Lt.default,NcReferenceWidget:C,NcTextField:It.default},props:{provider:{type:Object,required:!0}},emits:[\"submit\"],data:function(){return{inputValue:\"\",loading:!1,reference:null,abortController:null,inputPlaceholder:(0,mt.t)(\"Enter link\")}},computed:{isLinkValid:function(){return kt(this.inputValue)}},methods:{focus:function(){var t;null===(t=this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0])||void 0===t||t.focus()},onSubmit:function(t){var e=t.target.value;this.isLinkValid&&this.$emit(\"submit\",e)},onClear:function(){this.inputValue=\"\",this.reference=null},onInput:function(){var t=this;this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&wt((function(){t.updateReference()}),500)()},updateReference:function(){var t=this;this.loading=!0,this.abortController=new AbortController,w().get((0,k.generateOcsUrl)(\"references/resolve\",2)+\"?reference=\"+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then((function(e){t.reference=e.data.ocs.data.references[t.inputValue]})).catch((function(t){console.error(t)})).then((function(){t.loading=!1}))}}};var Gt=n(6068),Mt={};Mt.styleTagTransform=h(),Mt.setAttributes=d(),Mt.insert=c().bind(null,\"head\"),Mt.domAPI=s(),Mt.insertStyleElement=A();o()(Gt.Z,Mt);Gt.Z&&Gt.Z.locals&&Gt.Z.locals;const Ut=(0,g.Z)($t,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"raw-link\"},[e(\"div\",{staticClass:\"input-wrapper\"},[e(\"NcTextField\",{ref:\"url-input\",attrs:{value:t.inputValue,\"show-trailing-button\":\"\"!==t.inputValue,label:t.inputPlaceholder},on:{\"update:value\":[function(e){t.inputValue=e},t.onInput],\"trailing-button-click\":t.onClear},nativeOn:{keyup:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.onSubmit.apply(null,arguments)}}},[t.loading?e(\"NcLoadingIcon\",{attrs:{size:16}}):e(\"LinkVariantIcon\",{attrs:{size:16}})],1)],1),t._v(\" \"),null!==t.reference?e(\"NcReferenceWidget\",{staticClass:\"reference-widget\",attrs:{reference:t.reference}}):e(\"NcEmptyContent\",{staticClass:\"raw-link--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon\",attrs:{src:t.provider.icon_url}}):e(\"LinkVariantIcon\")]},proxy:!0}])})],1)}),[],!1,null,\"2e61b91c\",null).exports;function Ft(t){return Ft=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ft(t)}function Rt(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==Ft(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==Ft(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===Ft(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const Zt={name:\"NcSearchResult\",components:{NcHighlight:St.default},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var qt=n(9052),Wt={};Wt.styleTagTransform=h(),Wt.setAttributes=d(),Wt.insert=c().bind(null,\"head\"),Wt.domAPI=s(),Wt.insertStyleElement=A();o()(qt.Z,Wt);qt.Z&&qt.Z.locals&&qt.Z.locals;const Yt=(0,g.Z)(Zt,(function(){var t,e=this,n=e._self._c;return n(\"div\",{staticClass:\"result\"},[e.entry.icon?n(\"div\",{staticClass:\"result--icon-class\",class:(t={},Rt(t,e.entry.icon,!0),Rt(t,\"rounded\",e.entry.rounded),t)}):n(\"img\",{staticClass:\"result--image\",class:{rounded:e.entry.rounded},attrs:{src:e.entry.thumbnailUrl}}),e._v(\" \"),n(\"div\",{staticClass:\"result--content\"},[n(\"span\",{staticClass:\"result--content--title\"},[n(\"NcHighlight\",{attrs:{search:e.query,text:e.entry.title}})],1),e._v(\" \"),n(\"span\",{staticClass:\"result--content--subline\"},[n(\"NcHighlight\",{attrs:{search:e.query,text:e.entry.subline}})],1)])])}),[],!1,null,\"7297c50a\",null).exports;var Vt=n(1441),Ht=n.n(Vt);const Kt=require(\"vue-material-design-icons/Magnify.vue\");var Qt=n.n(Kt);function Jt(t){return function(t){if(Array.isArray(t))return Xt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return Xt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xt(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Xt(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}const te={name:\"NcSearch\",components:{LinkVariantIcon:Et(),DotsHorizontalIcon:Ht(),MagnifyIcon:Qt(),NcEmptyContent:_t.default,NcMultiselect:Bt.default,NcSearchResult:Yt},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:[\"submit\"],data:function(){return{searchQuery:\"\",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null}},computed:{mySearchPlaceholder:function(){return this.searchPlaceholder||(0,mt.t)(\"Search\")},searchProviderIds:function(){return this.provider.search_providers_ids},options:function(){if(\"\"===this.searchQuery)return[];var t=[];return kt(this.searchQuery)&&t.push(this.rawLinkEntry),t.push.apply(t,Jt(this.formattedSearchResults)),t},rawLinkEntry:function(){return{resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults:function(){var t=this,e=[];return this.searchProviderIds.forEach((function(n){t.resultsBySearchProvider[n].entries.length>0&&((t.searchProviderIds.length>1||t.resultsBySearchProvider[n].entries.length>1)&&e.push({name:t.resultsBySearchProvider[n].name,isCustomGroupTitle:!0,providerId:n}),e.push.apply(e,Jt(t.resultsBySearchProvider[n].entries)),t.resultsBySearchProvider[n].isPaginated&&e.push({name:t.resultsBySearchProvider[n].name,isMore:!0,providerId:n,isLoading:t.searchingMoreOf===n}))})),e}},mounted:function(){this.resetResults()},beforeDestroy:function(){this.cancelSearchRequests()},methods:{t:mt.t,resetResults:function(){var t={};this.searchProviderIds.forEach((function(e){t[e]={entries:[]}})),this.resultsBySearchProvider=t},focus:function(){var t,e;null===(t=this.$refs[\"search-select\"])||void 0===t||null===(e=t.$el)||void 0===e||e.focus()},cancelSearchRequests:function(){this.abortController&&this.abortController.abort()},onSearchInput:function(t){var e=this;this.searchQuery=t,wt((function(){e.updateSearch()}),500)()},onSelectResultSelected:function(t){null!==t&&(t.resourceUrl?(this.cancelSearchRequests(),this.$emit(\"submit\",t.resourceUrl)):t.isMore&&this.searchMoreOf(t.providerId)),this.selectedResult=null},searchMoreOf:function(t){this.searchingMoreOf=t,this.cancelSearchRequests(),this.searchProviders(t)},updateSearch:function(){this.cancelSearchRequests(),this.resetResults(),\"\"!==this.searchQuery?this.searchProviders():this.searching=!1},searchProviders:function(){var t,e,n=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.abortController=new AbortController,this.searching=!0;var r=null===i?Jt(this.searchProviderIds).map((function(t){return n.searchOneProvider(t)})):[this.searchOneProvider(i,null!==(t=null===(e=this.resultsBySearchProvider[i])||void 0===e?void 0:e.cursor)&&void 0!==t?t:null)];return Promise.allSettled(r).then((function(t){!!t.find((function(t){return\"rejected\"===t.status&&(\"CanceledError\"===t.reason.name||\"ERR_CANCELED\"===t.reason.code)}))||(n.searching=!1,n.searchingMoreOf=null)}))},searchOneProvider:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=null===n?(0,k.generateOcsUrl)(\"search/providers/{providerId}/search?term={term}&limit={limit}\",{providerId:t,term:this.searchQuery,limit:5}):(0,k.generateOcsUrl)(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\",{providerId:t,term:this.searchQuery,limit:5,cursor:n});return w().get(i,{signal:this.abortController.signal}).then((function(n){var i,r=n.data.ocs.data;e.resultsBySearchProvider[t].name=r.name,e.resultsBySearchProvider[t].cursor=r.cursor,e.resultsBySearchProvider[t].isPaginated=r.isPaginated,(i=e.resultsBySearchProvider[t].entries).push.apply(i,Jt(r.entries))}))}}},ee=te;var ne=n(2873),ie={};ie.styleTagTransform=h(),ie.setAttributes=d(),ie.insert=c().bind(null,\"head\"),ie.domAPI=s(),ie.insertStyleElement=A();o()(ne.Z,ie);ne.Z&&ne.Z.locals&&ne.Z.locals;const re=(0,g.Z)(ee,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"smart-picker-search\",class:{\"with-empty-content\":t.showEmptyContent}},[e(\"NcMultiselect\",{ref:\"search-select\",staticClass:\"smart-picker-search--select\",attrs:{\"track-by\":\"resourceUrl\",placeholder:t.mySearchPlaceholder,options:t.options,\"internal-search\":!1,\"clear-on-select\":!1,\"close-on-select\":!1,\"preserve-search\":!0,loading:t.searching,multiple:!1,\"option-height\":60},on:{\"search-change\":t.onSearchInput,input:t.onSelectResultSelected},scopedSlots:t._u([{key:\"option\",fn:function(n){var i=n.option;return[i.isRawLink?e(\"div\",{staticClass:\"custom-option\"},[e(\"LinkVariantIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Raw link {options}\",{options:i.resourceUrl}))+\"\\n\\t\\t\\t\\t\")])],1):i.resourceUrl?e(\"NcSearchResult\",{staticClass:\"search-result\",attrs:{entry:i,query:t.searchQuery}}):i.isCustomGroupTitle?e(\"span\",{staticClass:\"custom-option group-title\"},[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon group-title-icon\",attrs:{src:t.provider.icon_url}}):t._e(),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[e(\"strong\",[t._v(t._s(i.name))])])]):i.isMore?e(\"span\",{class:{\"custom-option\":!0}},[i.isLoading?e(\"span\",{staticClass:\"option-simple-icon icon-loading-small\"}):e(\"DotsHorizontalIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"option-text\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t('Load more \"{options}\"\"',{options:i.name}))+\"\\n\\t\\t\\t\\t\")])],1):t._e()]}},{key:\"noOptions\",fn:function(){return[e(\"MagnifyIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\"\\n\\t\\t\\t\"+t._s(t.t(\"Start typing to search\"))+\"\\n\\t\\t\")]},proxy:!0},{key:\"noResult\",fn:function(){return[e(\"MagnifyIcon\",{staticClass:\"option-simple-icon\",attrs:{size:20}}),t._v(\"\\n\\t\\t\\t\"+t._s(t.t(\"Start typing to search\"))+\"\\n\\t\\t\")]},proxy:!0}]),model:{value:t.selectedResult,callback:function(e){t.selectedResult=e},expression:\"selectedResult\"}}),t._v(\" \"),t.showEmptyContent?e(\"NcEmptyContent\",{staticClass:\"smart-picker-search--empty-content\",scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.provider.icon_url?e(\"img\",{staticClass:\"provider-icon\",attrs:{src:t.provider.icon_url}}):e(\"LinkVariantIcon\")]},proxy:!0}],null,!1,4245470124)}):t._e()],1)}),[],!1,null,\"26e3248c\",null).exports;var oe={providerList:1,standardLinkInput:2,searchInput:3,customElement:4};const ae={name:\"NcReferencePicker\",components:{NcCustomPickerElement:At,NcProviderList:Tt,NcRawLinkInput:Ut,NcSearch:re},props:{initialProvider:{type:Object,default:function(){return null}},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:[\"cancel\",\"cancel-raw-link\",\"cancel-search\",\"provider-selected\",\"submit\"],data:function(){return{MODES:oe,selectedProvider:this.initialProvider}},computed:{mode:function(){return null===this.selectedProvider?oe.providerList:ct(this.selectedProvider.id)?oe.customElement:this.selectedProvider.search_providers_ids?oe.searchInput:oe.standardLinkInput},pickerWrapperStyle:function(){return{width:this.width?this.width+\"px\":void 0}}},mounted:function(){var t=this;this.focusOnCreate&&(this.initialProvider?setTimeout((function(){var e;null===(e=t.$refs[\"url-input\"])||void 0===e||e.focus()}),300):this.$nextTick((function(){var e;null===(e=t.$refs[\"provider-list\"])||void 0===e||e.focus()})))},methods:{onEscapePressed:function(){null!==this.selectedProvider?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected:function(t){var e=this;this.selectedProvider=t,this.$emit(\"provider-selected\",t),this.$nextTick((function(){var t;null===(t=e.$refs[\"url-input\"])||void 0===t||t.focus()}))},cancelCustomElement:function(){this.deselectProvider()},cancelSearch:function(){var t;this.$emit(\"cancel-search\",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelRawLinkInput:function(){var t;this.$emit(\"cancel-raw-link\",null===(t=this.selectedProvider)||void 0===t?void 0:t.title),this.deselectProvider()},cancelProviderSelection:function(){this.$emit(\"cancel\")},submitLink:function(t){var e,n,i,r;null!==this.selectedProvider&&(e=this.selectedProvider.id,n=Math.floor(Date.now()/1e3),i={timestamp:n},r=(0,k.generateOcsUrl)(\"references/provider/{providerId}\",{providerId:e}),w().put(r,i).then((function(t){window._vue_richtext_reference_provider_timestamps[e]=n}))),this.$emit(\"submit\",t),this.deselectProvider()},deselectProvider:function(){var t=this;this.selectedProvider=null,this.$emit(\"provider-selected\",null),setTimeout((function(){var e;null===(e=t.$refs[\"provider-list\"])||void 0===e||e.focus()}),300)}}};var se=n(34),le={};le.styleTagTransform=h(),le.setAttributes=d(),le.insert=c().bind(null,\"head\"),le.domAPI=s(),le.insertStyleElement=A();o()(se.Z,le);se.Z&&se.Z.locals&&se.Z.locals;const ce=(0,g.Z)(ae,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"reference-picker\",style:t.pickerWrapperStyle,attrs:{tabindex:\"-1\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:(e.stopPropagation(),e.preventDefault(),t.onEscapePressed.apply(null,arguments))}}},[t.mode===t.MODES.providerList?e(\"NcProviderList\",{ref:\"provider-list\",on:{\"select-provider\":t.onProviderSelected,submit:t.submitLink,cancel:t.cancelProviderSelection}}):t.mode===t.MODES.standardLinkInput?e(\"NcRawLinkInput\",{ref:\"url-input\",attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelRawLinkInput}}):t.mode===t.MODES.searchInput?e(\"NcSearch\",{ref:\"url-input\",attrs:{provider:t.selectedProvider},on:{cancel:t.cancelSearch,submit:t.submitLink}}):t.mode===t.MODES.customElement?e(\"div\",{staticClass:\"custom-element-wrapper\"},[e(\"NcCustomPickerElement\",{attrs:{provider:t.selectedProvider},on:{submit:t.submitLink,cancel:t.cancelCustomElement}})],1):t._e()],1)}),[],!1,null,\"9b2f661a\",null).exports;var ue=n(9104),de=n(1373),pe=n(542),Ae=n(6921),me=n.n(Ae),he=n(8618),fe=n.n(he);const ve={name:\"NcReferencePickerModal\",components:{NcReferencePicker:ce,NcModal:de.default,NcButton:ue.default,ArrowLeftIcon:me(),CloseIcon:fe()},props:{initialProvider:{type:Object,default:function(){return null}},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:[\"cancel\",\"submit\"],data:function(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:(0,mt.t)(\"Back to provider selection\"),closeButtonTitle:(0,mt.t)(\"Close\"),closeButtonLabel:(0,mt.t)(\"Close Smart Picker\")}},computed:{isProviderSelected:function(){return null!==this.selectedProvider},showBackButton:function(){return null===this.initialProvider&&this.isProviderSelected},modalSize:function(){var t,e,n,i;return this.isProviderSelected&&ct(this.selectedProvider.id)?null!==(e=this.selectedProvider.id,i=null===(n=window._vue_richtext_custom_picker_elements[e])||void 0===n?void 0:n.size,t=[\"small\",\"normal\",\"large\",\"full\"].includes(i)?i:null)&&void 0!==t?t:\"large\":\"normal\"},showModalTitle:function(){return!this.isProviderSelected||!ct(this.selectedProvider.id)},modalTitle:function(){return this.isProviderSelected?this.selectedProvider.title:(0,mt.t)(\"Smart Picker\")}},mounted:function(){if(this.isInsideViewer){var t=this.$refs.modal_content;(0,pe.emit)(\"viewer:trapElements:changed\",t)}},methods:{onCancel:function(){this.show=!1,this.$emit(\"cancel\")},onSubmit:function(t){this.show=!1,this.$emit(\"submit\",t)},onProviderSelect:function(t){this.selectedProvider=t,null===t&&null!==this.initialProvider&&this.onCancel()},onBackClicked:function(){this.$refs.referencePicker.deselectProvider()}}};var ge=n(698),Ce={};Ce.styleTagTransform=h(),Ce.setAttributes=d(),Ce.insert=c().bind(null,\"head\"),Ce.domAPI=s(),Ce.insertStyleElement=A();o()(ge.Z,Ce);ge.Z&&ge.Z.locals&&ge.Z.locals;var be=n(6508),ye={};ye.styleTagTransform=h(),ye.setAttributes=d(),ye.insert=c().bind(null,\"head\"),ye.domAPI=s(),ye.insertStyleElement=A();o()(be.Z,ye);be.Z&&be.Z.locals&&be.Z.locals;const xe=(0,g.Z)(ve,(function(){var t=this,e=t._self._c;return t.show?e(\"NcModal\",{staticClass:\"reference-picker-modal\",attrs:{size:t.modalSize,\"can-close\":!1},on:{close:t.onCancel}},[e(\"div\",{ref:\"modal_content\",staticClass:\"reference-picker-modal--content\"},[t.showBackButton?e(\"NcButton\",{staticClass:\"back-button\",attrs:{\"aria-label\":t.backButtonTitle,title:t.backButtonTitle},on:{click:t.onBackClicked},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ArrowLeftIcon\")]},proxy:!0}],null,!1,3001860362)}):t._e(),t._v(\" \"),e(\"NcButton\",{staticClass:\"close-button\",attrs:{\"aria-label\":t.closeButtonLabel,title:t.closeButtonTitle},on:{click:t.onCancel},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"CloseIcon\")]},proxy:!0}],null,!1,2491825086)}),t._v(\" \"),t.showModalTitle?e(\"h2\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.modalTitle)+\"\\n\\t\\t\")]):t._e(),t._v(\" \"),e(\"NcReferencePicker\",{ref:\"referencePicker\",attrs:{\"initial-provider\":t.initialProvider,\"focus-on-create\":t.focusOnCreate},on:{\"provider-selected\":t.onProviderSelect,submit:t.onSubmit,cancel:t.onCancel}})],1)]):t._e()}),[],!1,null,\"1f66021a\",null).exports;var we=n(2734),ke=n.n(we);function _e(t){return _e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},_e(t)}function Se(){Se=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new _(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(S([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==_e(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return B()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:B}}function B(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=S,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function Be(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function je(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){Be(o,i,r,a,s,\"next\",t)}function s(t){Be(o,i,r,a,s,\"throw\",t)}a(void 0)}))}}function Ee(){return Ne.apply(this,arguments)}function Ne(){return Ne=je(Se().mark((function t(){var e,n,i=arguments;return Se().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:null,n=i.length>1&&void 0!==i[1]?i[1]:void 0,t.next=4,new Promise((function(t,i){var r,o=document.createElement(\"div\");o.id=\"referencePickerModal\",document.body.append(o);var a=null===e?null:null!==(r=gt(e))&&void 0!==r?r:null,s=new(ke().extend(xe))({propsData:{initialProvider:a,isInsideViewer:n}}).$mount(o);s.$on(\"cancel\",(function(){s.$destroy(),i(new Error(\"User cancellation\"))})),s.$on(\"submit\",(function(e){s.$destroy(),t(e)}))}));case 4:return t.abrupt(\"return\",t.sent);case 5:case\"end\":return t.stop()}}),t)}))),Ne.apply(this,arguments)}},4941:(t,e,n)=>{\"use strict\";function i(t){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i(t)}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?r(Object(n),!0).forEach((function(e){a(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function a(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!==i(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===i(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{default:()=>k});var s=n(9563),l=n(8618),c=n.n(l),u=n(3875),d=n.n(u);const p=require(\"vue-material-design-icons/UndoVariant.vue\");var A=n.n(p),m=n(932);function h(t){return h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},h(t)}function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?f(Object(n),!0).forEach((function(e){g(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function g(t,e,n){return(e=function(t){var e=function(t,e){if(\"object\"!==h(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||\"default\");if(\"object\"!==h(i))return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"===h(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const C={name:\"NcTextField\",components:{NcInputField:s.Z,Close:c(),ArrowRight:d(),Undo:A()},inheritAttrs:!1,props:v(v({},s.Z.props),{},{trailingButtonIcon:{type:String,default:\"close\",validator:function(t){return[\"close\",\"arrowRight\",\"undo\"].includes(t)}}}),emits:[\"update:value\"],computed:{clearTextLabel:function(){return this.trailingButtonLabel||(0,m.t)(\"Clear text\")}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)}}};var b=n(1900),y=n(5439),x=n.n(y),w=(0,b.Z)(C,(function(){var t=this,e=t._self._c;return e(\"NcInputField\",t._g(t._b({ref:\"inputField\",attrs:{\"trailing-button-label\":t.clearTextLabel},on:{input:t.handleInput},scopedSlots:t._u([\"search\"!==t.type?{key:\"trailing-button-icon\",fn:function(){return[\"close\"===t.trailingButtonIcon?e(\"Close\",{attrs:{size:20}}):\"arrowRight\"===t.trailingButtonIcon?e(\"ArrowRight\",{attrs:{size:20}}):\"undo\"===t.trailingButtonIcon?e(\"Undo\",{attrs:{size:20}}):t._e()]},proxy:!0}:null],null,!0)},\"NcInputField\",o(o({},t.$attrs),t.$props),!1),t.$listeners),[t._t(\"default\")],2)}),[],!1,null,null,null);\"function\"==typeof x()&&x()(w);const k=w.exports},336:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>g});var i=n(9454),r=n(3379),o=n.n(r),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),A=n.n(p),m=n(4589),h=n.n(m),f=n(8384),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=A();o()(f.Z,v);f.Z&&f.Z.locals&&f.Z.locals;i.options.themes.tooltip.html=!1,i.options.themes.tooltip.delay={show:500,hide:200},i.options.themes.tooltip.distance=10,i.options.themes.tooltip[\"arrow-padding\"]=3;const g=i.VTooltip},6540:(t,e,n)=>{\"use strict\";n.d(e,{emojiAddRecent:()=>s,emojiSearch:()=>a});var i=n(1822),r=n.n(i),o=n(9),a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=new o.EmojiIndex(r());if(t){var i=n.search(\":\".concat(t),e);return i.length<e&&(i=i.concat(n.search(t,e-i.length))),i}return o.frequently.get(e).map((function(t){return n.emoji(t)}))||[]},s=function(t){o.frequently.add(t)}},7993:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>a});var i=n(6609);const r=require(\"md5\");var o=n.n(r);const a=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=o()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return(0,i.Z)(6)[function(t,e){for(var n=0,i=[],r=0;r<t.length;r++)i.push(parseInt(t.charAt(r),16)%16);for(var o in i)n+=i[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]}},932:(t,e,n)=>{\"use strict\";n.d(e,{n:()=>a,t:()=>s});var i=n(7931),r=(0,i.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Anything shared with the same group of people will show up here\":\"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",\"Change title\":\"تغيير العنوان\",Choose:\"إختيار\",\"Clear text\":\"مسح النص\",Close:\"أغلق\",\"Close modal\":\"قفل الشرط\",\"Close navigation\":\"إغلاق المتصفح\",\"Close sidebar\":\"قفل الشريط الجانبي\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"Error getting related resources\":\"خطأ في تحصيل مصادر ذات صلة\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Favorite:\"مفضلة\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Hide password\":\"إخفاء كلمة السر\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",\"More items …\":\"عناصر أخرى ...\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",Open:\"فتح\",'Open link to \"{resourceTitle}\"':'فتح رابط إلى \"{resourceTitle}\"',\"Open navigation\":\"فتح المتصفح\",\"Password is secure\":\"كلمة السر مُؤمّنة\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",\"Related resources\":\"مصادر ذات صلة\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Show password\":\"أعرض كلمة السر\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Anything shared with the same group of people will show up here\":\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",\"Change title\":\"Canviar títol\",Choose:\"Tria\",\"Clear text\":\"Netejar text\",Close:\"Tanca\",\"Close modal\":\"Tancar el mode\",\"Close navigation\":\"Tanca la navegació\",\"Close sidebar\":\"Tancar la barra lateral\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"Error getting related resources\":\"Error obtenint els recursos relacionats\",\"Error parsing svg\":\"Error en l'anàlisi del svg\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Favorite:\"Preferit\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Hide password\":\"Amagar contrasenya\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"More items …\":\"Més artícles...\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",Open:\"Obrir\",'Open link to \"{resourceTitle}\"':'Obrir enllaç a \"{resourceTitle}\"',\"Open navigation\":\"Obre la navegació\",\"Password is secure\":\"Contrasenya segura<br>\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionats\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Seleccioneu una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Show password\":\"Mostrar contrasenya\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfés els canvis\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escriu missatge, fes servir \"@\" per esmentar algú, fes servir \":\" per autocompletar emojis...'}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Anything shared with the same group of people will show up here\":\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",\"Change title\":\"Změnit nadpis\",Choose:\"Zvolit\",\"Clear text\":\"Čitelný text\",Close:\"Zavřít\",\"Close modal\":\"Zavřít dialogové okno\",\"Close navigation\":\"Zavřít navigaci\",\"Close sidebar\":\"Zavřít postranní panel\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"Error getting related resources\":\"Chyba při získávání souvisejících prostředků\",\"Error parsing svg\":\"Chyba při zpracovávání svg\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Favorite:\"Oblíbené\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Hide password\":\"Skrýt heslo\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"More items …\":\"Další položky…\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",Open:\"Otevřít\",'Open link to \"{resourceTitle}\"':\"Otevřít odkaz na „{resourceTitle}“\",\"Open navigation\":\"Otevřít navigaci\",\"Password is secure\":\"Heslo je bezpečné\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",\"Related resources\":\"Související prostředky\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Show password\":\"Zobrazit heslo\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Anything shared with the same group of people will show up here\":\"Alt der deles med samme gruppe af personer vil vises her\",\"Avatar of {displayName}\":\"Avatar af {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar af {displayName}, {status}\",\"Cancel changes\":\"Annuller ændringer\",\"Change title\":\"Ret titel\",Choose:\"Vælg\",\"Clear text\":\"Ryd tekst\",Close:\"Luk\",\"Close modal\":\"Luk vindue\",\"Close navigation\":\"Luk navigation\",\"Close sidebar\":\"Luk sidepanel\",\"Confirm changes\":\"Bekræft ændringer\",Custom:\"Brugerdefineret\",\"Edit item\":\"Rediger emne\",\"Error getting related resources\":\"Kunne ikke hente tilknyttede data\",\"Error parsing svg\":\"Fejl ved analysering af svg\",\"External documentation for {title}\":\"Ekstern dokumentation for {title}\",Favorite:\"Favorit\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",Global:\"Global\",\"Go back to the list\":\"Tilbage til listen\",\"Hide password\":\"Skjul kodeord\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"More items …\":\"Mere ...\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åbn\",'Open link to \"{resourceTitle}\"':'Åbn link til \"{resourceTitle}\"',\"Open navigation\":\"Åbn navigation\",\"Password is secure\":\"Kodeordet er sikkert\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Please select a time zone:\":\"Vælg venligst en tidszone:\",Previous:\"Forrige\",\"Related resources\":\"Relaterede emner\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Show password\":\"Vis kodeord\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Type to search time zone\":\"Indtast for at søge efter tidszone\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Undo changes\":\"Fortryd ændringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv besked, brug \"@\" for at nævne nogen, brug \":\" til emoji-autofuldførelse ...'}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Anything shared with the same group of people will show up here\":\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Avatar of {displayName}, {status}\":\"Άβαταρ του {displayName}, {status}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",\"Change title\":\"Αλλαγή τίτλου\",Choose:\"Επιλογή\",\"Clear text\":\"Εκκαθάριση κειμένου\",Close:\"Κλείσιμο\",\"Close modal\":\"Βοηθητικό κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Close sidebar\":\"Κλείσιμο πλευρικής μπάρας\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"Error getting related resources\":\"Σφάλμα λήψης σχετικών πόρων\",\"Error parsing svg\":\"Σφάλμα ανάλυσης svg\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Favorite:\"Αγαπημένα\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Hide password\":\"Απόκρυψη κωδικού πρόσβασης\",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",\"More items …\":\"Περισσότερα στοιχεία …\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",Open:\"Άνοιγμα\",'Open link to \"{resourceTitle}\"':'Άνοιγμα συνδέσμου στο \"{resourceTitle}\"',\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Password is secure\":\"Ο κωδικός πρόσβασης είναι ασφαλής\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",\"Related resources\":\"Σχετικοί πόροι\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Show password\":\"Εμφάνιση κωδικού πρόσβασης\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε \"@\" για να αναφέρετε κάποιον, χρησιμοποιείστε \":\" για αυτόματη συμπλήρωση emoji …'}},{locale:\"en_GB\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Actions\",Activities:\"Activities\",\"Animals & Nature\":\"Animals & Nature\",\"Anything shared with the same group of people will show up here\":\"Anything shared with the same group of people will show up here\",\"Avatar of {displayName}\":\"Avatar of {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar of {displayName}, {status}\",\"Cancel changes\":\"Cancel changes\",\"Change title\":\"Change title\",Choose:\"Choose\",\"Clear text\":\"Clear text\",Close:\"Close\",\"Close modal\":\"Close modal\",\"Close navigation\":\"Close navigation\",\"Close sidebar\":\"Close sidebar\",\"Confirm changes\":\"Confirm changes\",Custom:\"Custom\",\"Edit item\":\"Edit item\",\"Error getting related resources\":\"Error getting related resources\",\"Error parsing svg\":\"Error parsing svg\",\"External documentation for {title}\":\"External documentation for {title}\",Favorite:\"Favourite\",Flags:\"Flags\",\"Food & Drink\":\"Food & Drink\",\"Frequently used\":\"Frequently used\",Global:\"Global\",\"Go back to the list\":\"Go back to the list\",\"Hide password\":\"Hide password\",\"Message limit of {count} characters reached\":\"Message limit of {count} characters reached\",\"More items …\":\"More items …\",Next:\"Next\",\"No emoji found\":\"No emoji found\",\"No results\":\"No results\",Objects:\"Objects\",Open:\"Open\",'Open link to \"{resourceTitle}\"':'Open link to \"{resourceTitle}\"',\"Open navigation\":\"Open navigation\",\"Password is secure\":\"Password is secure\",\"Pause slideshow\":\"Pause slideshow\",\"People & Body\":\"People & Body\",\"Pick an emoji\":\"Pick an emoji\",\"Please select a time zone:\":\"Please select a time zone:\",Previous:\"Previous\",\"Related resources\":\"Related resources\",Search:\"Search\",\"Search results\":\"Search results\",\"Select a tag\":\"Select a tag\",Settings:\"Settings\",\"Settings navigation\":\"Settings navigation\",\"Show password\":\"Show password\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start slideshow\",Submit:\"Submit\",Symbols:\"Symbols\",\"Travel & Places\":\"Travel & Places\",\"Type to search time zone\":\"Type to search time zone\",\"Unable to search the group\":\"Unable to search the group\",\"Undo changes\":\"Undo changes\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …'}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Anything shared with the same group of people will show up here\":\"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",\"Change title\":\"Cambiar título\",Choose:\"Elegir\",\"Clear text\":\"Limpiar texto\",Close:\"Cerrar\",\"Close modal\":\"Cerrar modal\",\"Close navigation\":\"Cerrar navegación\",\"Close sidebar\":\"Cerrar barra lateral\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"Error getting related resources\":\"Se encontró un error al obtener los recursos relacionados\",\"Error parsing svg\":\"Error procesando svg\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Favorite:\"Favorito\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Hide password\":\"Ocultar contraseña\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"More items …\":\"Más ítems...\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",Open:\"Abrir\",'Open link to \"{resourceTitle}\"':'Abrir enlace a \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegación\",\"Password is secure\":\"La contraseña es segura\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Show password\":\"Mostrar contraseña\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escribir mensaje, utilice \"@\" para mencionar a alguien, utilice \":\" para autocompletado de emojis ...'}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Anything shared with the same group of people will show up here\":\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",\"Change title\":\"Aldatu titulua\",Choose:\"Aukeratu\",\"Clear text\":\"Garbitu testua\",Close:\"Itxi\",\"Close modal\":\"Itxi modala\",\"Close navigation\":\"Itxi nabigazioa\",\"Close sidebar\":\"Itxi albo-barra\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"Error getting related resources\":\"Errorea erlazionatutako baliabideak lortzerakoan\",\"Error parsing svg\":\"Errore bat gertatu da svg-a analizatzean\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Favorite:\"Gogokoa\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Hide password\":\"Ezkutatu pasahitza\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",\"More items …\":\"Elementu gehiago …\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",Open:\"Ireki\",'Open link to \"{resourceTitle}\"':'Ireki esteka: \"{resourceTitle}\"',\"Open navigation\":\"Ireki nabigazioa\",\"Password is secure\":\"Pasahitza segurua da\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Hautatu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",\"Related resources\":\"Erlazionatutako baliabideak\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Show password\":\"Erakutsi pasahitza\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Idatzi mezua, erabili \"@\" norbait aipatzeko, erabili \":\" emojiak automatikoki osatzeko...'}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Anything shared with the same group of people will show up here\":\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",\"Change title\":\"Modifier le titre\",Choose:\"Choisir\",\"Clear text\":\"Effacer le texte\",Close:\"Fermer\",\"Close modal\":\"Fermer la fenêtre\",\"Close navigation\":\"Fermer la navigation\",\"Close sidebar\":\"Fermer la barre latérale\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"Error getting related resources\":\"Erreur à la récupération des ressources liées\",\"Error parsing svg\":\"Erreur d'analyse SVG\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Favorite:\"Favori\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Hide password\":\"Cacher le mot de passe\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"More items …\":\"Plus d'éléments...\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",Open:\"Ouvrir\",'Open link to \"{resourceTitle}\"':'Ouvrir le lien vers \"{resourceTitle}\"',\"Open navigation\":\"Ouvrir la navigation\",\"Password is secure\":\"Le mot de passe est sécurisé\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",\"Related resources\":\"Ressources liées\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Show password\":\"Afficher le mot de passe\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Écrire un message, utiliser \"@\" pour mentionner une personne, \":\" pour l\\'autocomplétion des émojis...'}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Anything shared with the same group of people will show up here\":\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Avatar of {displayName}, {status}\":\"{displayName} profilképe, {status}\",\"Cancel changes\":\"Változtatások elvetése\",\"Change title\":\"Cím megváltoztatása\",Choose:\"Válassszon\",\"Clear text\":\"Szöveg törlése\",Close:\"Bezárás\",\"Close modal\":\"Ablak bezárása\",\"Close navigation\":\"Navigáció bezárása\",\"Close sidebar\":\"Oldalsáv bezárása\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"Edit item\":\"Elem szerkesztése\",\"Error getting related resources\":\"Hiba a kapcsolódó erőforrások lekérésekor\",\"Error parsing svg\":\"Hiba az SVG feldolgozásakor\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Favorite:\"Kedvenc\",Flags:\"Zászlók\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Go back to the list\":\"Ugrás vissza a listához\",\"Hide password\":\"Jelszó elrejtése\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"More items …\":\"További elemek...\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",Open:\"Megnyitás\",'Open link to \"{resourceTitle}\"':\"A(z) „{resourceTitle}” hivatkozásának megnyitása\",\"Open navigation\":\"Navigáció megnyitása\",\"Password is secure\":\"A jelszó biztonságos\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",\"Related resources\":\"Kapcsolódó erőforrások\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Show password\":\"Jelszó megjelenítése\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Undo changes\":\"Változtatások visszavonása\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Anything shared with the same group of people will show up here\":\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",\"Change title\":\"Modifica il titolo\",Choose:\"Scegli\",\"Clear text\":\"Cancella il testo\",Close:\"Chiudi\",\"Close modal\":\"Chiudi il messaggio modale\",\"Close navigation\":\"Chiudi la navigazione\",\"Close sidebar\":\"Chiudi la barra laterale\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"Error getting related resources\":\"Errore nell'ottenere risorse correlate\",\"Error parsing svg\":\"Errore nell'analizzare l'svg\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Favorite:\"Preferito\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Hide password\":\"Nascondi la password\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"More items …\":\"Più elementi ...\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",Open:\"Apri\",'Open link to \"{resourceTitle}\"':'Apri il link a \"{resourceTitle}\"',\"Open navigation\":\"Apri la navigazione\",\"Password is secure\":\"La password è sicura\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",\"Related resources\":\"Risorse correlate\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Show password\":\"Mostra la password\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrivi un messaggio, \"@\" per menzionare qualcuno, \":\" per il completamento automatico delle emoji ...'}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Anything shared with the same group of people will show up here\":\"同じグループで共有しているものは、全てここに表示されます\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} のアバター\",\"Cancel changes\":\"変更をキャンセル\",\"Change title\":\"タイトルを変更\",Choose:\"選択\",\"Clear text\":\"テキストをクリア\",Close:\"閉じる\",\"Close modal\":\"モーダルを閉じる\",\"Close navigation\":\"ナビゲーションを閉じる\",\"Close sidebar\":\"サイドバーを閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"Edit item\":\"編集\",\"Error getting related resources\":\"関連リソースの取得エラー\",\"Error parsing svg\":\"svgの解析エラー\",\"External documentation for {title}\":\"{title} のための添付文書\",Favorite:\"お気に入り\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Go back to the list\":\"リストに戻る\",\"Hide password\":\"パスワードを非表示\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"More items …\":\"他のアイテム\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",Open:\"開く\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\"のリンクを開く',\"Open navigation\":\"ナビゲーションを開く\",\"Password is secure\":\"パスワードは保護されています\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",\"Related resources\":\"関連リソース\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Show password\":\"パスワードを表示\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Undo changes\":\"変更を取り消し\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'メッセージを記入、\"@\"でメンション、\":\"で絵文字の自動補完 ...'}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Avatar of {displayName}\":\"Аватар на {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар на {displayName}, {status}\",\"Cancel changes\":\"Откажи ги промените\",\"Change title\":\"Промени наслов\",Choose:\"Избери\",Close:\"Затвори\",\"Close modal\":\"Затвори модал\",\"Close navigation\":\"Затвори навигација\",\"Confirm changes\":\"Потврди ги промените\",Custom:\"Прилагодени\",\"Edit item\":\"Уреди\",\"External documentation for {title}\":\"Надворешна документација за {title}\",Favorite:\"Фаворити\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",Global:\"Глобално\",\"Go back to the list\":\"Врати се на листата\",items:\"ставки\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"More {dashboardItemType} …\":\"Повеќе {dashboardItemType} …\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",Open:\"Отвори\",\"Open navigation\":\"Отвори навигација\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Please select a time zone:\":\"Изберете временска зона:\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Submit:\"Испрати\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Type to search time zone\":\"Напишете за да пребарате временска зона\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Undo changes\":\"Врати ги промените\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ...\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Anything shared with the same group of people will show up here\":\"Alt som er delt med den samme gruppen vil vises her\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",\"Change title\":\"Endre tittel\",Choose:\"Velg\",\"Clear text\":\"Fjern tekst\",Close:\"Lukk\",\"Close modal\":\"Lukk modal\",\"Close navigation\":\"Lukk navigasjon\",\"Close sidebar\":\"Lukk sidepanel\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"Error getting related resources\":\"Feil ved henting av relaterte ressurser\",\"Error parsing svg\":\"Feil ved parsing av svg\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Favorite:\"Favoritt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Hide password\":\"Skjul passord\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",\"More items …\":\"Flere gjenstander...\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åpne\",'Open link to \"{resourceTitle}\"':'Åpne link til \"{resourceTitle}\"',\"Open navigation\":\"Åpne navigasjon\",\"Password is secure\":\"Passordet er sikkert\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",\"Related resources\":\"Relaterte ressurser\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjonsinstillinger\",\"Show password\":\"Vis passord\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Tast for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv melding, bruk \"@\" for å nevne noen, bruk \":\" for autofullføring av emoji...'}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Anything shared with the same group of people will show up here\":\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",\"Change title\":\"Zmień tytuł\",Choose:\"Wybierz\",\"Clear text\":\"Wyczyść tekst\",Close:\"Zamknij\",\"Close modal\":\"Zamknij modal\",\"Close navigation\":\"Zamknij nawigację\",\"Close sidebar\":\"Zamknij pasek boczny\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"Error getting related resources\":\"Błąd podczas pobierania powiązanych zasobów\",\"Error parsing svg\":\"Błąd podczas analizowania svg\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Favorite:\"Ulubiony\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Hide password\":\"Ukryj hasło\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"More items …\":\"Więcej pozycji…\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emoji\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",Open:\"Otwórz\",'Open link to \"{resourceTitle}\"':'Otwórz link do \"{resourceTitle}\"',\"Open navigation\":\"Otwórz nawigację\",\"Password is secure\":\"Hasło jest bezpieczne\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",\"Related resources\":\"Powiązane zasoby\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Show password\":\"Pokaż hasło\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Napisz wiadomość, \"@\" aby o kimś wspomnieć, \":\" dla autouzupełniania emoji…'}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Anything shared with the same group of people will show up here\":\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",\"Change title\":\"Alterar título\",Choose:\"Escolher\",\"Clear text\":\"Limpar texto\",Close:\"Fechar\",\"Close modal\":\"Fechar modal\",\"Close navigation\":\"Fechar navegação\",\"Close sidebar\":\"Fechar barra lateral\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"Error getting related resources\":\"Erro ao obter recursos relacionados\",\"Error parsing svg\":\"Erro ao analisar svg\",\"External documentation for {title}\":\"Documentação externa para {title}\",Favorite:\"Favorito\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Hide password\":\"Ocultar a senha\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"More items …\":\"Mais itens …\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",Open:\"Aberto\",'Open link to \"{resourceTitle}\"':'Abrir link para \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegação\",\"Password is secure\":\"A senha é segura\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Show password\":\"Mostrar senha\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escreva mensagens, use \"@\" para mencionar algum, use \":\" for autocompletar emoji …'}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ro\",translations:{\"{tag} (invisible)\":\"{tag} (invizibil)\",\"{tag} (restricted)\":\"{tag} (restricționat)\",Actions:\"Acțiuni\",Activities:\"Activități\",\"Animals & Nature\":\"Animale și natură\",\"Anything shared with the same group of people will show up here\":\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\",\"Avatar of {displayName}\":\"Avatarul lui {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatarul lui {displayName}, {status}\",\"Cancel changes\":\"Anulează modificările\",\"Change title\":\"Modificați titlul\",Choose:\"Alegeți\",\"Clear text\":\"Șterge textul\",Close:\"Închideți\",\"Close modal\":\"Închideți modulul\",\"Close navigation\":\"Închideți navigarea\",\"Close sidebar\":\"Închide bara laterală\",\"Confirm changes\":\"Confirmați modificările\",Custom:\"Personalizat\",\"Edit item\":\"Editați elementul\",\"Error getting related resources\":\" Eroare la returnarea resurselor legate\",\"Error parsing svg\":\"Eroare de analizare a svg\",\"External documentation for {title}\":\"Documentație externă pentru {title}\",Favorite:\"Favorit\",Flags:\"Marcaje\",\"Food & Drink\":\"Alimente și băuturi\",\"Frequently used\":\"Utilizate frecvent\",Global:\"Global\",\"Go back to the list\":\"Întoarceți-vă la listă\",\"Hide password\":\"Ascunde parola\",\"Message limit of {count} characters reached\":\"Limita mesajului de {count} caractere a fost atinsă\",\"More items …\":\"Mai multe articole ...\",Next:\"Următorul\",\"No emoji found\":\"Nu s-a găsit niciun emoji\",\"No results\":\"Nu există rezultate\",Objects:\"Obiecte\",Open:\"Deschideți\",'Open link to \"{resourceTitle}\"':'Deschide legătura la \"{resourceTitle}\"',\"Open navigation\":\"Deschideți navigația\",\"Password is secure\":\"Parola este sigură\",\"Pause slideshow\":\"Pauză prezentare de diapozitive\",\"People & Body\":\"Oameni și corp\",\"Pick an emoji\":\"Alege un emoji\",\"Please select a time zone:\":\"Vă rugăm să selectați un fus orar:\",Previous:\"Anterior\",\"Related resources\":\"Resurse legate\",Search:\"Căutare\",\"Search results\":\"Rezultatele căutării\",\"Select a tag\":\"Selectați o etichetă\",Settings:\"Setări\",\"Settings navigation\":\"Navigare setări\",\"Show password\":\"Arată parola\",\"Smileys & Emotion\":\"Zâmbete și emoții\",\"Start slideshow\":\"Începeți prezentarea de diapozitive\",Submit:\"Trimiteți\",Symbols:\"Simboluri\",\"Travel & Places\":\"Călătorii și locuri\",\"Type to search time zone\":\"Tastați pentru a căuta fusul orar\",\"Unable to search the group\":\"Imposibilitatea de a căuta în grup\",\"Undo changes\":\"Anularea modificărilor\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrie un mesaj, folosește \"@\" pentru a menționa pe cineva, folosește \":\" pentru autocompletarea cu emoji ...'}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Фотография {displayName}, {status}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Close modal\":\"Закрыть модальное окно\",\"Close navigation\":\"Закрыть навигацию\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"Edit item\":\"Изменить элемент\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Go back to the list\":\"Вернуться к списку\",items:\"элементов\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",\"More {dashboardItemType} …\":\"Больше {dashboardItemType} …\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",Open:\"Открыть\",\"Open navigation\":\"Открыть навигацию\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Undo changes\":\"Отменить изменения\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Avatar of {displayName}, {status}\":\"Prikazna slika {displayName}, {status}\",\"Cancel changes\":\"Prekliči spremembe\",\"Change title\":\"Spremeni naziv\",Choose:\"Izbor\",\"Clear text\":\"Počisti besedilo\",Close:\"Zapri\",\"Close modal\":\"Zapri pojavno okno\",\"Close navigation\":\"Zapri krmarjenje\",\"Close sidebar\":\"Zapri stransko vrstico\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"Edit item\":\"Uredi predmet\",\"Error getting related resources\":\"Napaka pridobivanja povezanih virov\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Favorite:\"Priljubljeno\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Go back to the list\":\"Vrni se na seznam\",\"Hide password\":\"Skrij geslo\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"More items …\":\"Več predmetov ...\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",Open:\"Odpri\",'Open link to \"{resourceTitle}\"':\"Odpri povezavo do »{resourceTitle}«\",\"Open navigation\":\"Odpri krmarjenje\",\"Password is secure\":\"Geslo je varno\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick a date\":\"Izbor datuma\",\"Pick a date and a time\":\"Izbor datuma in časa\",\"Pick a month\":\"Izbor meseca\",\"Pick a time\":\"Izbor časa\",\"Pick a week\":\"Izbor tedna\",\"Pick a year\":\"Izbor leta\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",\"Related resources\":\"Povezani viri\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Show password\":\"Pokaži geslo\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Undo changes\":\"Razveljavi spremembe\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …\"}},{locale:\"sr\",translations:{\"{tag} (invisible)\":\"{tag} (nevidljivo)\",\"{tag} (restricted)\":\"{tag} (ograničeno)\",Actions:\"Radnje\",Activities:\"Aktivnosti\",\"Animals & Nature\":\"Životinje i Priroda\",\"Avatar of {displayName}\":\"Avatar za {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar za {displayName}, {status}\",\"Cancel changes\":\"Otkaži izmene\",\"Change title\":\"Izmeni naziv\",Choose:\"Изаберите\",Close:\"Затвори\",\"Close modal\":\"Zatvori modal\",\"Close navigation\":\"Zatvori navigaciju\",\"Close sidebar\":\"Zatvori bočnu traku\",\"Confirm changes\":\"Potvrdite promene\",Custom:\"Po meri\",\"Edit item\":\"Uredi stavku\",\"External documentation for {title}\":\"Eksterna dokumentacija za {title}\",Favorite:\"Omiljeni\",Flags:\"Zastave\",\"Food & Drink\":\"Hrana i Piće\",\"Frequently used\":\"Često korišćeno\",Global:\"Globalno\",\"Go back to the list\":\"Natrag na listu\",items:\"stavke\",\"Message limit of {count} characters reached\":\"Dostignuto je ograničenje za poruke od {count} znakova\",\"More {dashboardItemType} …\":\"Više {dashboardItemType} …\",Next:\"Следеће\",\"No emoji found\":\"Nije pronađen nijedan emodži\",\"No results\":\"Нема резултата\",Objects:\"Objekti\",Open:\"Otvori\",\"Open navigation\":\"Otvori navigaciju\",\"Pause slideshow\":\"Паузирај слајд шоу\",\"People & Body\":\"Ljudi i Telo\",\"Pick an emoji\":\"Izaberi emodži\",\"Please select a time zone:\":\"Molimo izaberite vremensku zonu:\",Previous:\"Претходно\",Search:\"Pretraži\",\"Search results\":\"Rezultati pretrage\",\"Select a tag\":\"Изаберите ознаку\",Settings:\"Поставке\",\"Settings navigation\":\"Navigacija u podešavanjima\",\"Smileys & Emotion\":\"Smajli i Emocije\",\"Start slideshow\":\"Покрени слајд шоу\",Submit:\"Prihvati\",Symbols:\"Simboli\",\"Travel & Places\":\"Putovanja i Mesta\",\"Type to search time zone\":\"Ukucaj da pretražiš vremenske zone\",\"Unable to search the group\":\"Nije moguće pretražiti grupu\",\"Undo changes\":\"Poništi promene\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Anything shared with the same group of people will show up here\":\"Något som delats med samma grupp av personer kommer att visas här\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",\"Change title\":\"Ändra titel\",Choose:\"Välj\",\"Clear text\":\"Ta bort text\",Close:\"Stäng\",\"Close modal\":\"Stäng modal\",\"Close navigation\":\"Stäng navigering\",\"Close sidebar\":\"Stäng sidopanel\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"Error getting related resources\":\"Problem att hämta relaterade resurser\",\"Error parsing svg\":\"Fel vid inläsning av svg\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Favorite:\"Favorit\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Hide password\":\"Göm lössenordet\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"More items …\":\"Fler objekt\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",Open:\"Öppna\",'Open link to \"{resourceTitle}\"':'Öppna länk till \"{resourceTitle}\"',\"Open navigation\":\"Öppna navigering\",\"Password is secure\":\"Lössenordet är säkert\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",\"Related resources\":\"Relaterade resurser\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Show password\":\"Visa lössenordet\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv meddelande, använd \"@\" för att nämna någon, använd \":\" för automatiska emojiförslag ...'}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Anything shared with the same group of people will show up here\":\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",\"Change title\":\"Başlığı değiştir\",Choose:\"Seçin\",\"Clear text\":\"Metni temizle\",Close:\"Kapat\",\"Close modal\":\"Üste açılan pencereyi kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Close sidebar\":\"Yan çubuğu kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"Error getting related resources\":\"İlgili kaynaklar alınırken sorun çıktı\",\"Error parsing svg\":\"svg işlenirken sorun çıktı\",\"External documentation for {title}\":\"{title} için dış belgeler\",Favorite:\"Sık kullanılanlara ekle\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Hide password\":\"Parolayı gizle\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"More items …\":\"Diğer ögeler…\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",Open:\"Aç\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\" bağlantısını aç',\"Open navigation\":\"Gezinmeyi aç\",\"Password is secure\":\"Parola güvenli\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",\"Related resources\":\"İlgili kaynaklar\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Show password\":\"Parolayı görüntüle\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için \":\" kullanın…'}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (невидимий)\",\"{tag} (restricted)\":\"{tag} (обмежений)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар {displayName}, {status}\",\"Cancel changes\":\"Скасувати зміни\",\"Change title\":\"Змінити назву\",Choose:\"ВиберітьВиберіть\",\"Clear text\":\"Очистити текст\",Close:\"Закрити\",\"Close modal\":\"Закрити модаль\",\"Close navigation\":\"Закрити навігацію\",\"Close sidebar\":\"Закрити бічну панель\",\"Confirm changes\":\"Підтвердити зміни\",Custom:\"Власне\",\"Edit item\":\"Редагувати елемент\",\"External documentation for {title}\":\"Зовнішня документація для {title}\",Favorite:\"Улюблений\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напої\",\"Frequently used\":\"Найчастіші\",Global:\"Глобальний\",\"Go back to the list\":\"Повернутися до списку\",\"Hide password\":\"Приховати пароль\",items:\"елементи\",\"Message limit of {count} characters reached\":\"Вичерпано ліміт у {count} символів для повідомлення\",\"More {dashboardItemType} …\":\"Більше {dashboardItemType}…\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",Open:\"Відкрити\",\"Open navigation\":\"Відкрити навігацію\",\"Password is secure\":\"Пароль безпечний\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Please select a time zone:\":\"Виберіть часовий пояс:\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Settings navigation\":\"Навігація у налаштуваннях\",\"Show password\":\"Показати пароль\",\"Smileys & Emotion\":\"Смайли та емоції\",\"Start slideshow\":\"Почати показ слайдів\",Submit:\"Надіслати\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Type to search time zone\":\"Введіть для пошуку часовий пояс\",\"Unable to search the group\":\"Неможливо шукати в групі\",\"Undo changes\":\"Скасувати зміни\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Anything shared with the same group of people will show up here\":\"与同组用户分享的所有内容都会显示于此\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改标题\",Choose:\"选择\",\"Clear text\":\"清除文本\",Close:\"关闭\",\"Close modal\":\"关闭窗口\",\"Close navigation\":\"关闭导航\",\"Close sidebar\":\"关闭侧边栏\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"Error getting related resources\":\"获取相关资源时出错\",\"Error parsing svg\":\"解析 svg 时出错\",\"External documentation for {title}\":\"{title}的外部文档\",Favorite:\"喜爱\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Hide password\":\"隐藏密码\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"More items …\":\"更多项目…\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",Open:\"打开\",'Open link to \"{resourceTitle}\"':'打开\"{resourceTitle}\"的连接',\"Open navigation\":\"开启导航\",\"Password is secure\":\"密码安全\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",\"Related resources\":\"相关资源\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Show password\":\"显示密码\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'写信息,使用\"@\"来提及某人,使用\":\"进行表情符号自动完成 ...'}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Anything shared with the same group of people will show up here\":\"與同一組人共享的任何內容都會顯示在此處\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName} 的頭像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改標題\",Choose:\"選擇\",\"Clear text\":\"清除文本\",Close:\"關閉\",\"Close modal\":\"關閉模態\",\"Close navigation\":\"關閉導航\",\"Close sidebar\":\"關閉側邊欄\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"Error getting related resources\":\"獲取相關資源出錯\",\"Error parsing svg\":\"解析 svg 時出錯\",\"External documentation for {title}\":\"{title} 的外部文檔\",Favorite:\"喜愛\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Hide password\":\"隱藏密碼\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"More items …\":\"更多項目 …\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",Open:\"打開\",'Open link to \"{resourceTitle}\"':\"打開指向 “{resourceTitle}” 的鏈結\",\"Open navigation\":\"開啟導航\",\"Password is secure\":\"密碼是安全的\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",\"Related resources\":\"相關資源\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Show password\":\"顯示密碼\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'寫訊息,使用 \"@\" 來指代某人,使用 \":\" 用於表情符號自動填充 ...'}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};r.addTranslation(t.locale,{translations:{\"\":e}})}));var o=r.build(),a=o.ngettext.bind(o),s=o.gettext.bind(o)},6730:()=>{\"use strict\"},3351:(t,e,n)=>{\"use strict\";n.d(e,{iQ:()=>d});n(6730),n(8136),n(334),n(3132);var i=n(3607),r=n(768),o=n.n(r);const a=require(\"@nextcloud/capabilities\");var s=n(4262);function l(t){return l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},l(t)}function c(){c=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},\"\")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof m?e:m,a=Object.create(o.prototype),s=new B(r||[]);return i(a,\"_invoke\",{value:w(t,n,s)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=d;var A={};function m(){}function h(){}function f(){}var v={};u(v,o,(function(){return this}));var g=Object.getPrototypeOf,C=g&&g(g(j([])));C&&C!==e&&n.call(C,o)&&(v=C);var b=f.prototype=m.prototype=Object.create(v);function y(t){[\"next\",\"throw\",\"return\"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,o,a,s){var c=p(t[i],t,o);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==l(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return r(\"throw\",t,a,s)}))}s(c.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function w(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return E()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=k(a,n);if(s){if(s===A)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=p(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===A)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function k(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,k(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),A;var r=p(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,A;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,A):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:E}}function E(){return{value:void 0,done:!0}}return h.prototype=f,i(b,\"constructor\",{value:f,configurable:!0}),i(f,\"constructor\",{value:h,configurable:!0}),h.displayName=u(f,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===h||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,u(t,s,\"GeneratorFunction\")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},y(x.prototype),u(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new x(d(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(b),u(b,s,\"Generator\"),u(b,o,(function(){return this})),u(b,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=j,B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;S(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),A}},t}function u(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const d={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=c().mark((function e(){var r,l,u,d,p,A,m,h,f;return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(r=(0,a.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,\"user_status\")&&r.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if((0,i.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,o().get((0,s.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:l=e.sent,u=l.data,d=u.ocs.data,p=d.status,A=d.message,m=d.icon,n.userStatus.status=p,n.userStatus.message=A||\"\",n.userStatus.icon=m||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(h=e.t0.response.data.ocs)||void 0===h||null===(f=h.data)||void 0===f?void 0:f.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function a(t){u(o,i,r,a,s,\"next\",t)}function s(t){u(o,i,r,a,s,\"throw\",t)}a(void 0)}))})()}}}},8136:()=>{\"use strict\"},334:(t,e,n)=>{\"use strict\";var i=n(2734);new(n.n(i)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}})},3648:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>r});var i=n(932);const r={methods:{n:i.n,t:i.t}}},3132:(t,e,n)=>{\"use strict\";n.d(e,{default:()=>h});var i=n(4470),r=n(1390);const o=require(\"escape-html\");var a=n.n(o);const s=require(\"striptags\");var l=n.n(s),c=n(2734),u=n.n(c),d=\"(?:^|\\\\s)\",p=\"(?:[^a-z]|$)\",A=new RegExp(\"\".concat(d,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(p,\")\"),\"gi\"),m=new RegExp(\"\".concat(d,\"(@"[a-zA-Z0-9 _.@\\\\-']+")(\").concat(p,\")\"),\"gi\");const h={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(A).map((function(t){return t.split(m)})).flat().map((function(t){if(!t.startsWith(\"@\"))return(0,r.Z)(t);var n=t.replace(/@|"/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/ /gim,\" \")).replace(/&/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){if(void 0===t)return\"\".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);var e=this.userData[t];return e?this.renderComponentHtml(e,i.Z).replace(/[\\n\\t]/gim,\"\"):t.includes(\" \")||t.includes(\"/\")?'@\"'.concat(t,'\"'):\"@\".concat(t)},renderComponentHtml:function(t,e){var n=new(u().extend(e))({propsData:t}),i=document.createElement(\"div\"),r=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(r),document.body.appendChild(i),n.$mount(r);var o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},1336:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t,e){for(var n=[],i=0,r=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;r>-1&&o<t.length;)i=r+e.length,n.push({start:r,end:i}),r=t.toLowerCase().indexOf(e.toLowerCase(),i),o++;return n}},6609:(t,e,n)=>{\"use strict\";function i(t,e,n){this.r=t,this.g=e,this.b=n}function r(t,e,n){var r=[];r.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),a=1;a<t;a++){var s=parseInt(e.r+o[0]*a,10),l=parseInt(e.g+o[1]*a,10),c=parseInt(e.b+o[2]*a,10);r.push(new i(s,l,c))}return r}n.d(e,{Z:()=>o});const o=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),a=r(t,e,n),s=r(t,n,o),l=r(t,o,e);return a.concat(s).concat(l)}},1205:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,t||5)}},1390:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>o});const i=require(\"linkify-string\");var r=n.n(i);const o=function(t){return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external linkified\",attributes:{rel:\"nofollow noopener noreferrer\"}})}},7645:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"70f0364\"),\"\")}))}},1206:(t,e,n)=>{\"use strict\";n.d(e,{L:()=>i});n(4505);var i=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},636:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-70f0364]{margin:0;padding:0 !important;display:inline-block;min-width:260px;position:relative}.multiselect[data-v-70f0364]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-70f0364].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-70f0364].multiselect--disabled,.multiselect[data-v-70f0364].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-70f0364] .loading-icon{position:absolute;right:1px;top:1px;width:48px;height:35px;background:var(--color-main-background);z-index:3}.multiselect[data-v-70f0364] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:2px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:var(--border-radius-large);min-height:44px;height:44px;padding:8px 12px !important;background-color:var(--color-main-background);box-sizing:border-box}.multiselect[data-v-70f0364] .multiselect__tags:focus,.multiselect[data-v-70f0364] .multiselect__tags:hover{border-color:var(--color-primary-element)}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;gap:5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:2px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:var(--border-radius);min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:0}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__single,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__placeholder{z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center;font-size:var(--default-font-size)}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__single,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__single *,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-70f0364] .multiselect__tags .multiselect__strong,.multiselect[data-v-70f0364] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-70f0364] .multiselect__tags input.multiselect__input{width:100% !important;height:auto !important;margin:0;opacity:0;border:none;cursor:pointer;display:none;height:40px;min-height:26px;padding:0 !important;font-size:var(--default-font-size)}.multiselect[data-v-70f0364].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-70f0364].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-70f0364] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-70f0364] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-70f0364] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:rgba(0,0,0,0)}.multiselect[data-v-70f0364] .multiselect__content-wrapper li,.multiselect[data-v-70f0364] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0);color:var(--color-text-lighter);width:100%}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span::before{content:\" \";background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-70f0364] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-70f0364].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-70f0364].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-70f0364].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-dark)}.multiselect[data-v-70f0364].multiselect--multiple .multiselect__content-wrapper li>span[data-select=create]::before{background-image:var(--icon-add-dark);visibility:visible}.multiselect[data-v-70f0364].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-70f0364]:hover .multiselect__placeholder,.multiselect[data-v-70f0364] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcMultiselect/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,6BACC,QAAA,CACA,oBAAA,CACA,oBAAA,CAEA,eAAA,CACA,iBAAA,CAGA,4EACC,UAAA,CACA,oBAAA,CAKA,6FACC,2DAAA,CAKF,2HAEC,wDAAA,CAID,2CACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,uCAAA,CACA,SAAA,CAID,gDAGC,YAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,cAAA,CACA,iBAAA,CACA,wCAAA,CACA,eAAA,CACA,WAAA,CACA,2BAAA,CACA,6CAAA,CACA,qBAAA,CAEA,4GACC,yCAAA,CAID,wEACC,kBAAA,CACA,mBAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAzBe,CA0Bf,QAAA,CACA,gBAAA,CAGA,uGACC,oBAAA,CACA,wBAAA,CAIA,sIACC,YAAA,CAIF,0FACC,gBAAA,CACA,eAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,mBAAA,CACA,kBAAA,CACA,kCAAA,CAGA,WAAA,CACA,qBAAA,CACA,0BAAA,CACA,QAAA,CAGA,qGACC,aAAA,CAID,+FACC,kBAAA,CACA,sBAAA,CACA,eAAA,CAOH,+IAEC,SAAA,CACA,6CAAA,CACA,gBAAA,CACA,+BAAA,CAEA,YAAA,CACA,kBAAA,CACA,kCAAA,CAGA,kSACC,cAAA,CAIF,yIAEC,gBAAA,CACA,+BAAA,CACA,mBAAA,CACA,kBAAA,CACA,UClGc,CDmGd,gBAjGe,CAmGf,SAAA,CAGD,yEACC,qBAAA,CACA,sBAAA,CACA,QAAA,CACA,SAAA,CACA,WAAA,CAGA,cAAA,CAEA,YAAA,CACA,WAAA,CACA,eAAA,CACA,oBAAA,CACA,kCAAA,CAQD,0EACC,oBAAA,CACA,sBAAA,CAEA,2DAAA,CACA,wBAAA,CAID,qEACC,YAAA,CAKF,2DACC,iBAAA,CACA,UAAA,CACA,eAAA,CACA,yCAAA,CACA,uCAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,2DAAA,CACA,iFACC,UAAA,CACA,SAAA,CAED,8DACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,iIAEC,cAAA,CAED,mEACC,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,0BAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,8BAAA,CACA,+BAAA,CACA,UAAA,CAEA,2EACC,WAAA,CACA,2BAAA,CACA,0BAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,UC/Lc,CDgMd,gBAAA,CACA,iBAAA,CAED,iGACC,6CAAA,CACA,UCrMc,CDuMf,kGACC,4BAAA,CACA,6CAAA,CAED,qHACC,UAAA,CAIA,8NACC,kBAAA,CAOL,8EACC,WAAA,CACA,kBAAA,CAMA,sEACC,cAAA,CAIA,iGACC,2CAAA,CAMA,qHACC,qCAAA,CACA,kBAAA,CAOJ,+FACC,YAAA,CAMA,6IACC,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 260px;\\n\\tposition: relative;\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t.loading-icon {\\n\\t\\tposition: absolute;\\n\\t\\tright: 1px;\\n\\t\\ttop: 1px;\\n\\t\\twidth: 48px;\\n\\t\\theight: 35px;\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 3;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 2px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tmin-height: 44px;\\n\\t\\theight: 44px;\\n\\t\\tpadding: 8px 12px !important;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t&:focus, &:hover {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tgap: $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 2px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\theight: auto !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tdisplay: none;\\n\\t\\t\\theight: 40px;\\n\\t\\t\\tmin-height: 26px;\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t}\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-dark);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},8384:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap (http://getbootstrap.com)\\n* SCSS copied from version 3.3.5\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-tooltip {\\n\\t&.v-popper__popper {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tright: auto;\\n\\t\\tleft: auto;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\ttext-align: left;\\n\\t\\ttext-align: start;\\n\\t\\topacity: 0;\\n\\t\\tline-height: 1.6;\\n\\n\\t\\tline-break: auto;\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t// TOP\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// BOTTOM\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// RIGHT\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// LEFT\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// HIDDEN / SHOWN\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity .15s;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// CONTENT\\n\\t.v-popper__inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.v-popper__arrow-container {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},8827:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Inline buttons\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\n\\t// Spacing between buttons\\n\\t& > button {\\n\\t\\tmargin-right: math.div($icon-margin, 2);\\n\\t}\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--tertiary-no-background {\\n\\t\\t--open-background-color: transparent;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},5565:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\\n\\tborder-radius: var(--border-radius-large);\\n\\toverflow:hidden;\\n\\n\\t.v-popper__inner {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: 4px;\\n\\t\\tmax-height: calc(50vh - 16px);\\n\\t\\toverflow: auto;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2242:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>f});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),u=new URL(n(2605),n.b),d=new URL(n(7127),n.b),p=a()(r()),A=l()(c),m=l()(u),h=l()(d);p.push([t.id,\".material-design-icon[data-v-f73be20c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-f73be20c]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-f73be20c]{position:relative;background-color:var(--color-main-background)}.avatardiv[data-v-f73be20c]:not(.avatardiv--unknown){background-color:var(--color-main-background) !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}.avatardiv--with-menu[data-v-f73be20c]{cursor:pointer}.avatardiv--with-menu[data-v-f73be20c] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-f73be20c]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-f73be20c],.avatardiv--with-menu:hover .icon-more[data-v-f73be20c]{opacity:1}.avatardiv--with-menu:focus img[data-v-f73be20c],.avatardiv--with-menu:hover img[data-v-f73be20c]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-f73be20c],.avatardiv--with-menu img[data-v-f73be20c]{transition:opacity var(--animation-quick)}.avatardiv .avatardiv__initials-wrapper[data-v-f73be20c]{height:var(--size);width:var(--size);background-color:var(--color-main-background);border-radius:50%}.avatardiv .avatardiv__initials-wrapper .unknown[data-v-f73be20c]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal}.avatardiv img[data-v-f73be20c]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-f73be20c]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-f73be20c]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-f73be20c]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-f73be20c]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--online[data-v-f73be20c]{background-image:url(\"+A+\")}.avatardiv .avatardiv__user-status--dnd[data-v-f73be20c]{background-image:url(\"+m+\");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-f73be20c]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-f73be20c]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-f73be20c]{position:relative;display:inline-block}.avatar-class-icon[data-v-f73be20c]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAvatar/NcAvatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,6CAAA,CAGD,qDAEC,wDAAA,CACA,wCAAA,CAGD,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,yDACC,kBAAA,CACA,iBAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kEACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAIF,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,+CAAA,CACA,mDAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White/black background for avatars with transparency\\n\\t\\tbackground-color: var(--color-main-background) !important;\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t:deep(.v-popper) {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__initials-wrapper {\\n\\t\\theight: var(--size);\\n\\t\\twidth: var(--size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.unknown {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t}\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.material-design-icon {\\n\\t\\twidth: var(--size);\\n\\t\\theight: var(--size);\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tmax-height: 18px;\\n\\t\\tmax-width: 18px;\\n\\t\\theight: 40%;\\n\\t\\twidth: 40%;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]);const f=p},1898:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},436:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-3daafbe0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-3daafbe0]{display:flex;max-width:100%;cursor:inherit}.name-parts__first[data-v-3daafbe0]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-3daafbe0],.name-parts__last[data-v-3daafbe0]{white-space:pre;cursor:inherit}.name-parts__first strong[data-v-3daafbe0],.name-parts__last strong[data-v-3daafbe0]{font-weight:bold}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEllipsisedOption/NcEllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,YAAA,CACA,cAAA,CACA,cAAA,CACA,oCACC,eAAA,CACA,sBAAA,CAED,uEAGC,eAAA,CACA,cAAA,CACA,qFACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\tcursor: inherit;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tcursor: inherit;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6291:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-1f71c9f4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-1f71c9f4]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.modal-wrapper .empty-content[data-v-1f71c9f4]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-1f71c9f4]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-1f71c9f4] svg{width:64px;height:64px}.empty-content__title[data-v-1f71c9f4]{margin-bottom:10px;text-align:center}.empty-content__action[data-v-1f71c9f4]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-1f71c9f4]{margin-top:20px;display:flex}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEmptyContent/NcEmptyContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CAEA,+CACC,cAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,0CACC,UAAA,CACA,WAAA,CAIF,uCACC,kBAAA,CACA,iBAAA,CAGD,wCACC,cAAA,CAEA,uDACC,eAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t.modal-wrapper & {\\n\\t\\tmargin-top: 5vh;\\n\\t\\tmargin-bottom: 5vh;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\t:deep(svg) {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\t&__action {\\n\\t\\tmargin-top: 8px;\\n\\n\\t\\t.modal-wrapper & {\\n\\t\\t\\tmargin-top: 20px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},5635:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-5bf5fa74]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-5bf5fa74]{display:flex;justify-content:center;align-items:center;width:44px;height:44px;opacity:1}.icon-vue[data-v-5bf5fa74] svg{fill:currentColor;max-width:20px;max-height:20px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.icon-vue {\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n\\talign-items: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t&:deep(svg) {\\n\\t\\tfill: currentColor;\\n\\t\\tmax-width: 20px;\\n\\t\\tmax-height: 20px;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},847:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-f50b337c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-f50b337c]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-f50b337c]{height:36px;position:relative}.input-field__input[data-v-f50b337c]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-f50b337c]:active:not([disabled]),.input-field__input[data-v-f50b337c]:hover:not([disabled]),.input-field__input[data-v-f50b337c]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-f50b337c]:focus{cursor:text}.input-field__input[data-v-f50b337c]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-f50b337c]{border-color:var(--color-success) !important}.input-field__input--success[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-f50b337c]{border-color:var(--color-error) !important}.input-field__input--error[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-f50b337c]{padding-left:28px}.input-field__input--trailing-icon[data-v-f50b337c]{padding-right:28px}.input-field__label[data-v-f50b337c]{padding:4px 0;display:block}.input-field__label--hidden[data-v-f50b337c]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-f50b337c]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-f50b337c]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-f50b337c]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-f50b337c]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-f50b337c]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-f50b337c]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-f50b337c]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-f50b337c]{color:var(--color-success)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcInputField/NcInputField.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.input-field {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\tborder-radius: var(--border-radius-large);\\n\\n\\t&__main-wrapper {\\n\\t\\theight: 36px;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__input {\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0 12px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t\\theight: 36px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcursor: pointer;\\n\\t\\twidth: 100%;\\n\\t\\t-webkit-appearance: textfield !important;\\n\\t\\t-moz-appearance: textfield !important;\\n\\n\\t\\t&:active:not([disabled]),\\n\\t\\t&:hover:not([disabled]),\\n\\t\\t&:focus:not([disabled]) {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\tcursor: text;\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: unset !important; // Override server rules\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tborder-color: var(--color-success) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tborder-color: var(--color-error) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--leading-icon {\\n\\t\\t\\tpadding-left: 28px;\\n\\t\\t}\\n\\n\\t\\t&--trailing-icon {\\n\\t\\t\\tpadding-right: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: block;\\n\\n\\t\\t&--hidden {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: -10000px;\\n\\t\\t\\ttop: auto;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 1px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: absolute;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: 0.7;\\n\\t\\t&--leading {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tleft: 2px;\\n\\t\\t}\\n\\n\\t\\t&--trailing {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tright: 2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__clear-button.button-vue {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 2px;\\n\\t\\tright: 1px;\\n\\t\\tmin-width: unset;\\n\\t\\tmin-height: unset;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tcolor: var(--color-success);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},808:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-4f3daf70]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-4f3daf70]{display:flex;align-items:center;width:100%;height:var(--height);cursor:inherit}.option__avatar[data-v-4f3daf70]{margin-right:var(--margin)}.option__details[data-v-4f3daf70]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-4f3daf70]{color:var(--color-main-text)}.option__linetwo[data-v-4f3daf70]{color:var(--color-text-maxcontrast)}.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-4f3daf70],.option__linetwo strong[data-v-4f3daf70]{font-weight:bold}.option__icon[data-v-4f3daf70]{width:44px;height:44px;color:var(--color-text-maxcontrast)}.option__icon.icon[data-v-4f3daf70]{flex:0 0 44px;opacity:.7;background-position:center;background-size:16px}.option__details[data-v-4f3daf70],.option__lineone[data-v-4f3daf70],.option__linetwo[data-v-4f3daf70],.option__icon[data-v-4f3daf70]{cursor:inherit}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcListItemIcon/NcListItemIcon.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,UAAA,CACA,oBAAA,CACA,cAAA,CAEA,iCACC,0BAAA,CAGD,kCACC,YAAA,CACA,QAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAGD,kCACC,4BAAA,CAGD,kCACC,mCAAA,CAGD,oEAEC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,kFACC,gBAAA,CAIF,+BACC,UChBe,CDiBf,WCjBe,CDkBf,mCAAA,CACA,oCACC,aAAA,CACA,UCHc,CDId,0BAAA,CACA,oBAAA,CAIF,qIAIC,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\tcursor: inherit;\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__linetwo {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t&.icon {\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__details,\\n\\t&__lineone,\\n\\t&__linetwo,\\n\\t&__icon {\\n\\t\\tcursor: inherit;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},5030:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.loading-icon svg{\\n\\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},4167:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon[data-v-1350db4f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-1350db4f]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-1350db4f]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-1350db4f]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-header.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-header .modal-title[data-v-1350db4f]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-1350db4f]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-1350db4f]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-1350db4f]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1350db4f]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons__pause[data-v-1350db4f]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-1350db4f]{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item{margin:3px}.modal-header .icons-menu[data-v-1350db4f] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-1350db4f] button{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle span,.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-1350db4f],.modal-wrapper .next[data-v-1350db4f]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-1350db4f]:focus-visible,.modal-wrapper .next[data-v-1350db4f]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .prev.invisible[style*=\"display: none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-wrapper .prev[data-v-1350db4f]{left:2px}.modal-wrapper .next[data-v-1350db4f]{right:2px}.modal-wrapper .modal-container[data-v-1350db4f]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-1350db4f]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-1350db4f]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-1350db4f]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-1350db4f]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-1350db4f]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-1350db4f]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-1350db4f],.fade-leave-active[data-v-1350db4f]{transition:opacity 250ms}.fade-enter[data-v-1350db4f],.fade-leave-to[data-v-1350db4f]{opacity:0}.fade-visibility-enter[data-v-1350db4f],.fade-visibility-leave-to[data-v-1350db4f]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-1350db4f],.modal-in-leave-active[data-v-1350db4f],.modal-out-enter-active[data-v-1350db4f],.modal-out-leave-active[data-v-1350db4f]{transition:opacity 250ms}.modal-in-enter[data-v-1350db4f],.modal-in-leave-to[data-v-1350db4f],.modal-out-enter[data-v-1350db4f],.modal-out-leave-to[data-v-1350db4f]{opacity:0}.modal-in-enter .modal-container[data-v-1350db4f],.modal-in-leave-to .modal-container[data-v-1350db4f]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-1350db4f],.modal-out-leave-to .modal-container[data-v-1350db4f]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-1350db4f]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1350db4f]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-1350db4f linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-1350db4f]{animation:breath-1350db4f 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1350db4f]{animation-play-state:paused !important}@keyframes progressring-1350db4f{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-1350db4f{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcModal/NcModal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\toverflow: hidden;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t&:deep() .action-item {\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\n\\t\\t\\t&--single {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: 22px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t:deep(button) {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&:deep(.action-item__menutoggle) {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\t// Override NcButton focus styles\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\\n\\t\\t\\tbackground-color: var(--color-box-shadow);\\n\\t\\t}\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 2px;\\n\\t}\\n\\t.next {\\n\\t\\tright: 2px;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t\\t&__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 4px;\\n\\t\\t\\tright: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 400px;\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},4401:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},2:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-31ffd2d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-31ffd2d4]{display:flex;flex-direction:column;gap:4px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA,CACA,OAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 4px;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},408:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,'.material-design-icon[data-v-127b0c62]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-127b0c62]{display:flex;flex:0 0 auto}li.hidden[data-v-127b0c62]{display:none}li>button[data-v-127b0c62],li>a[data-v-127b0c62],li>.menuitem[data-v-127b0c62]{cursor:pointer;line-height:44px;border:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=\" icon-\"][data-v-127b0c62],li>button[class^=icon-][data-v-127b0c62],li>button[class*=\" icon-\"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=\" icon-\"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=\" icon-\"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=\" icon-\"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=\" icon-\"][data-v-127b0c62]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-127b0c62],li>button span[class*=\" icon-\"][data-v-127b0c62],li>a span[class^=icon-][data-v-127b0c62],li>a span[class*=\" icon-\"][data-v-127b0c62],li>.menuitem span[class^=icon-][data-v-127b0c62],li>.menuitem span[class*=\" icon-\"][data-v-127b0c62]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-127b0c62]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-127b0c62],li>button[class*=\" icon-\"][data-v-127b0c62],li>a[class^=icon-][data-v-127b0c62],li>a[class*=\" icon-\"][data-v-127b0c62],li>.menuitem[class^=icon-][data-v-127b0c62],li>.menuitem[class*=\" icon-\"][data-v-127b0c62]{padding:0 14px 0 44px}li>button[data-v-127b0c62]:not(:disabled):hover,li>button[data-v-127b0c62]:not(:disabled):focus,li>button:not(:disabled).active[data-v-127b0c62],li>a[data-v-127b0c62]:not(:disabled):hover,li>a[data-v-127b0c62]:not(:disabled):focus,li>a:not(:disabled).active[data-v-127b0c62],li>.menuitem[data-v-127b0c62]:not(:disabled):hover,li>.menuitem[data-v-127b0c62]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-127b0c62]{opacity:1 !important}li>button.action[data-v-127b0c62],li>a.action[data-v-127b0c62],li>.menuitem.action[data-v-127b0c62]{padding:inherit !important}li>button>span[data-v-127b0c62],li>a>span[data-v-127b0c62],li>.menuitem>span[data-v-127b0c62]{cursor:pointer;white-space:nowrap}li>button>p[data-v-127b0c62],li>a>p[data-v-127b0c62],li>.menuitem>p[data-v-127b0c62]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-127b0c62],li>a>select[data-v-127b0c62],li>.menuitem>select[data-v-127b0c62]{margin:0;margin-left:6px}li>button[data-v-127b0c62]:not(:empty),li>a[data-v-127b0c62]:not(:empty),li>.menuitem[data-v-127b0c62]:not(:empty){padding-right:14px !important}li>button>img[data-v-127b0c62],li>a>img[data-v-127b0c62],li>.menuitem>img[data-v-127b0c62]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-127b0c62],li>button>input.checkbox+label[data-v-127b0c62],li>a>input.radio+label[data-v-127b0c62],li>a>input.checkbox+label[data-v-127b0c62],li>.menuitem>input.radio+label[data-v-127b0c62],li>.menuitem>input.checkbox+label[data-v-127b0c62]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-127b0c62]::before,li>a>input.checkbox+label[data-v-127b0c62]::before,li>.menuitem>input.checkbox+label[data-v-127b0c62]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-127b0c62]::before,li>a>input.radio+label[data-v-127b0c62]::before,li>.menuitem>input.radio+label[data-v-127b0c62]::before{margin:-2px 12px 0}li>button>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-127b0c62]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-127b0c62],li>a form[data-v-127b0c62],li>.menuitem form[data-v-127b0c62]{display:flex;flex:1 1 auto}li>button form[data-v-127b0c62]:not(:first-child),li>a form[data-v-127b0c62]:not(:first-child),li>.menuitem form[data-v-127b0c62]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-127b0c62],li>button>span[style*=\"display:none\"]+form[data-v-127b0c62],li>a>span.hidden+form[data-v-127b0c62],li>a>span[style*=\"display:none\"]+form[data-v-127b0c62],li>.menuitem>span.hidden+form[data-v-127b0c62],li>.menuitem>span[style*=\"display:none\"]+form[data-v-127b0c62]{margin-left:0}li>button input[data-v-127b0c62],li>a input[data-v-127b0c62],li>.menuitem input[data-v-127b0c62]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-127b0c62]:not(:first-child),li>a input[data-v-127b0c62]:not(:first-child),li>.menuitem input[data-v-127b0c62]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>input[data-v-127b0c62]{margin-top:12px}li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>input[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>form[data-v-127b0c62],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>input[data-v-127b0c62]{margin-bottom:12px}li>button[data-v-127b0c62]{padding:0}li>button span[data-v-127b0c62]{opacity:1}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCgBe,CDbf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCRS,CDWV,yRAIC,wBAAA,CAQC,ylCACC,gBC5BY,CDiCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC5ES,CD6ET,WC7ES,CD8ET,WC1EW,CD8EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCtHc,CDuHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCnIY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},6956:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>f});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(1667),l=n.n(s),c=new URL(n(3423),n.b),u=new URL(n(2605),n.b),d=new URL(n(7127),n.b),p=a()(r()),A=l()(c),m=l()(u),h=l()(d);p.push([t.id,\".material-design-icon[data-v-800c95ae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-800c95ae]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-800c95ae]{color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.highlight .autocomplete-result[data-v-800c95ae],.highlight .autocomplete-result *[data-v-800c95ae]{cursor:pointer}.autocomplete-result__icon[data-v-800c95ae]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-800c95ae]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-800c95ae]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-800c95ae]{background-image:url(\"+A+\")}.autocomplete-result__status--dnd[data-v-800c95ae]{background-image:url(\"+m+\");background-color:#fff}.autocomplete-result__status--away[data-v-800c95ae]{background-image:url(\"+h+\")}.autocomplete-result__status--icon[data-v-800c95ae]{border:none;background-color:rgba(0,0,0,0)}.autocomplete-result__content[data-v-800c95ae]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-800c95ae],.autocomplete-result__subline[data-v-800c95ae]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-800c95ae]{color:var(--color-text-maxcontrast)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcAutoCompleteResult.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sCACC,YAAA,CACA,WCmBgB,CDlBhB,YALsB,CAOtB,iDACC,6CAAA,CACA,6CAAA,CACA,oGACC,cAAA,CAIF,4CACC,iBAAA,CACA,aAAA,CACA,UCKe,CDJf,cCIe,CDHf,WCGe,CDFf,kBCEe,CDDf,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CACA,yDACC,aAAA,CACA,qBAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,6CAAA,CACA,iBAAA,CACA,6CAAA,CACA,kCAAA,CACA,gBAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAEA,sDACC,wDAAA,CAED,mDACC,wDAAA,CACA,qBAAA,CAED,oDACC,wDAAA,CAED,oDACC,WAAA,CACA,8BAAA,CAIF,+CACC,YAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAtEqB,CAyEtB,4FAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground: var(--color-primary-element-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const f=p},5594:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-8a961b36]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-8a961b36]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-8a961b36]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-8a961b36]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-8a961b36]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-8a961b36]{color:inherit;background-size:cover}.mention-bubble__title[data-v-8a961b36]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-8a961b36]::before{content:attr(title)}.mention-bubble__select[data-v-8a961b36]{position:absolute;z-index:-1;left:-1000px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,uCAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: math.div($bubble-height, 2);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: math.div($bubble-avatar-size, 2);\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},6366:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-48b21e01]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-48b21e01]{overflow-y:auto;width:auto;margin:0;padding:8px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:2px solid var(--color-border-dark);border-radius:var(--border-radius-large);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-48b21e01]:before{content:attr(placeholder);color:var(--color-text-maxcontrast);position:absolute}.rich-contenteditable__input[contenteditable=false][data-v-48b21e01]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:rgba(0,0,0,0);color:var(--color-main-text);border-color:rgba(0,0,0,0);opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-48b21e01]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-48b21e01]{opacity:.5;color:var(--color-text-maxcontrast);border:2px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,eAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,oBAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,wCAAA,CACA,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,iBAAA,CACA,eCOgB,CDNhB,gBAAA,CAGA,4DACC,yBAAA,CACA,mCAAA,CACA,iBAAA,CAGD,iHACC,cAAA,CACA,8BAAA,CACA,4BAAA,CACA,0BAAA,CACA,SAAA,CACA,eAAA,CAGD,yDACC,gBAAA,CAEA,eAAA,CAGD,wDACC,UCFiB,CDGjB,mCAAA,CACA,+CAAA,CACA,kCAAA,CACA,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 8px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 2px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius-large);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&[contenteditable='false']:not(&--disabled) {\\n\\t\\tcursor: default;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-color: transparent;\\n\\t\\topacity: 1;\\n\\t\\tborder-radius: 0;\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tborder: 2px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=a},2431:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji,.tribute-container-link{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji,.tribute-container-link{min-width:200px;max-width:200px;padding:4px;max-height:192.5px !important}.tribute-container-emoji__item,.tribute-container-link__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child,.tribute-container-link__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji,.tribute-container-link__item__emoji{padding-right:8px}.tribute-container-emoji .highlight,.tribute-container-link .highlight{opacity:1;color:var(--color-primary-element-light-text);background:var(--color-primary-element-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *,.tribute-container-link .highlight,.tribute-container-link .highlight *{cursor:pointer}.tribute-container-link{min-width:200px;max-width:300px}.tribute-container-link__item{display:flex;align-items:center}.tribute-container-link__item__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-link__item__icon{margin:auto 0;width:20px;height:20px;object-fit:contain;padding-right:8px;filter:var(--background-invert-if-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oEACC,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,gBAAA,CAEA,YAAA,CACA,4BAAA,CACA,kCAAA,CACA,uCAAA,CACA,4CAAA,CAGD,iDACC,eAAA,CACA,eAAA,CACA,WAAA,CAEA,6BAAA,CAEA,6DACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,mFACC,eAAA,CAGD,2EACC,iBAAA,CAIF,uEACC,SAAA,CACA,6CAAA,CACA,6CAAA,CACA,kJACC,cAAA,CAKH,wBACC,eAAA,CACA,eAAA,CACA,8BACC,YAAA,CACA,kBAAA,CACA,qCACC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,oCACC,aAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,iBAAA,CACA,uCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.tribute-container, .tribute-container-emoji, .tribute-container-link {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n.tribute-container-emoji, .tribute-container-link {\\n\\tmin-width: 200px;\\n\\tmax-width: 200px;\\n\\tpadding: 4px;\\n\\t// Show maximum 5 entries and a half to show scroll\\n\\tmax-height: 35px * 5 + math.div(35px, 2) !important;\\n\\n\\t&__item {\\n\\t\\tborder-radius: 8px;\\n\\t\\tpadding: 4px 8px;\\n\\t\\tmargin-bottom: 4px;\\n\\t\\topacity: 0.8;\\n\\t\\tcursor: pointer;\\n\\n\\t\\t// Take care of long names\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__emoji {\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.highlight {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground: var(--color-primary-element-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n}\\n\\n.tribute-container-link {\\n\\tmin-width: 200px;\\n\\tmax-width: 300px;\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t&__label {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\t\\t&__icon {\\n\\t\\t\\tmargin: auto 0;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tobject-fit: contain;\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=a},122:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-36a4d5cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widgets--list.icon-loading[data-v-36a4d5cc]{min-height:44px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferenceList.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6CACC,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.widgets--list.icon-loading {\\n\\tmin-height: 44px;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9425:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-60e96d80]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},4091:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-51a83e19]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.provider-list[data-v-51a83e19]{width:100%;min-height:350px;padding-right:2px;display:flex;flex-direction:column}.provider-list--empty-content[data-v-51a83e19]{margin-top:auto !important;margin-bottom:auto !important}.provider-list--select[data-v-51a83e19]{width:100%}.provider-list--select .provider[data-v-51a83e19]{display:flex;align-items:center;height:28px;overflow:hidden}.provider-list--select .provider .link-icon[data-v-51a83e19]{margin-right:8px}.provider-list--select .provider .provider-icon[data-v-51a83e19]{width:20px;height:20px;object-fit:contain;margin-right:8px;filter:var(--background-invert-if-dark)}.provider-list--select .provider .option-text[data-v-51a83e19]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcProviderList.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,UAAA,CACA,gBAAA,CAGA,iBAAA,CACA,YAAA,CACA,qBAAA,CAEA,+CACC,0BAAA,CACA,6BAAA,CAGD,wCACC,UAAA,CAEA,kDACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,6DACC,gBAAA,CAGD,iEACC,UAAA,CACA,WAAA,CACA,kBAAA,CACA,gBAAA,CACA,uCAAA,CAGD,+DACC,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.provider-list {\\n\\twidth: 100%;\\n\\tmin-height: 350px;\\n\\t// multiselect dropdown is wider than the select input\\n\\t// this avoids overflow\\n\\tpadding-right: 2px;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\t}\\n\\n\\t&--select {\\n\\t\\twidth: 100%;\\n\\n\\t\\t.provider {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\theight: 28px;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t.link-icon {\\n\\t\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.provider-icon {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t\\t}\\n\\n\\t\\t\\t.option-text {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6068:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-2e61b91c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.raw-link[data-v-2e61b91c]{width:100%;min-height:350px;display:flex;flex-direction:column;overflow-y:auto}.raw-link .input-wrapper[data-v-2e61b91c]{width:100%}.raw-link .reference-widget[data-v-2e61b91c]{display:flex}.raw-link--empty-content[data-v-2e61b91c]{margin-top:auto !important;margin-bottom:auto !important}.raw-link--empty-content .provider-icon[data-v-2e61b91c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.raw-link--input[data-v-2e61b91c]{width:99%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,UAAA,CACA,gBAAA,CACA,YAAA,CACA,qBAAA,CACA,eAAA,CAEA,0CACC,UAAA,CAGD,6CACC,YAAA,CAGD,0CACC,0BAAA,CACA,6BAAA,CAEA,yDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAIF,kCACC,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.raw-link {\\n\\twidth: 100%;\\n\\tmin-height: 350px;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\toverflow-y: auto;\\n\\n\\t.input-wrapper {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.reference-widget {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\n\\t\\t.provider-icon {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tobject-fit: contain;\\n\\t\\t\\tfilter: var(--background-invert-if-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&--input {\\n\\t\\twidth: 99%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},34:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-9b2f661a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}.reference-picker .custom-element-wrapper[data-v-9b2f661a]{display:flex;overflow-y:auto;width:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,2DACC,YAAA,CACA,eAAA,CACA,UAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.reference-picker {\\n\\tdisplay: flex;\\n\\toverflow-y: auto;\\n\\twidth: 100%;\\n\\n\\t.custom-element-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow-y: auto;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},698:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal .modal-container{display:flex !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,uBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// this is to avoid scroll on the container and leave it to the result block\\n.reference-picker-modal .modal-container {\\n\\tdisplay: flex !important;\\n}\\n\"],sourceRoot:\"\"}]);const s=a},6508:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-1f66021a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.reference-picker-modal--content[data-v-1f66021a]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto}.reference-picker-modal--content .close-button[data-v-1f66021a],.reference-picker-modal--content .back-button[data-v-1f66021a]{position:absolute;top:4px}.reference-picker-modal--content .back-button[data-v-1f66021a]{left:4px}.reference-picker-modal--content .close-button[data-v-1f66021a]{right:4px}.reference-picker-modal--content>h2[data-v-1f66021a]{display:flex;margin:12px 0 20px 0}.reference-picker-modal--content>h2 .icon[data-v-1f66021a]{margin-right:8px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAEA,+HAEC,iBAAA,CACA,OAAA,CAED,+DACC,QAAA,CAED,gEACC,SAAA,CAGD,qDACC,YAAA,CACA,oBAAA,CACA,2DACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.reference-picker-modal--content {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\toverflow-y: auto;\\n\\n\\t.close-button,\\n\\t.back-button {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 4px;\\n\\t}\\n\\t.back-button {\\n\\t\\tleft: 4px;\\n\\t}\\n\\t.close-button {\\n\\t\\tright: 4px;\\n\\t}\\n\\n\\t> h2 {\\n\\t\\tdisplay: flex;\\n\\t\\tmargin: 12px 0 20px 0;\\n\\t\\t.icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},2873:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-26e3248c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.smart-picker-search[data-v-26e3248c]{width:100%;display:flex;flex-direction:column;padding:0 16px 16px 16px}.smart-picker-search.with-empty-content[data-v-26e3248c]{min-height:350px}.smart-picker-search--empty-content[data-v-26e3248c]{margin-top:auto !important;margin-bottom:auto !important}.smart-picker-search .provider-icon[data-v-26e3248c]{width:150px;height:150px;object-fit:contain;filter:var(--background-invert-if-dark)}.smart-picker-search--select[data-v-26e3248c]{width:100%}.smart-picker-search--select .search-result[data-v-26e3248c]{width:100%}.smart-picker-search--select .group-title-icon[data-v-26e3248c],.smart-picker-search--select .option-simple-icon[data-v-26e3248c]{width:20px;height:20px;margin:0 20px 0 10px}.smart-picker-search--select .custom-option[data-v-26e3248c]{height:44px;display:flex;align-items:center;overflow:hidden}.smart-picker-search--select .option-text[data-v-26e3248c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-picker-search--select[data-v-26e3248c] .multiselect__content-wrapper{width:calc(100% - 4px) !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcSearch.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,wBAAA,CACA,yDACC,gBAAA,CAGD,qDACC,0BAAA,CACA,6BAAA,CAGD,qDACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,uCAAA,CAGD,8CACC,UAAA,CAEA,6DACC,UAAA,CAGD,kIAEC,UAAA,CACA,WAAA,CACA,oBAAA,CAGD,6DACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,2DACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAKD,4EACC,iCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.smart-picker-search {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding: 0 16px 16px 16px;\\n\\t&.with-empty-content {\\n\\t\\tmin-height: 350px;\\n\\t}\\n\\n\\t&--empty-content {\\n\\t\\tmargin-top: auto !important;\\n\\t\\tmargin-bottom: auto !important;\\n\\t}\\n\\n\\t.provider-icon {\\n\\t\\twidth: 150px;\\n\\t\\theight: 150px;\\n\\t\\tobject-fit: contain;\\n\\t\\tfilter: var(--background-invert-if-dark);\\n\\t}\\n\\n\\t&--select {\\n\\t\\twidth: 100%;\\n\\n\\t\\t.search-result {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.group-title-icon,\\n\\t\\t.option-simple-icon {\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tmargin: 0 20px 0 10px;\\n\\t\\t}\\n\\n\\t\\t.custom-option {\\n\\t\\t\\theight: 44px;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\n\\t\\t.option-text {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// multiselect dropdown is wider than the select input\\n\\t\\t// this avoids overflow\\n\\t\\t:deep(.multiselect__content-wrapper) {\\n\\t\\t\\twidth: calc(100% - 4px) !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},9052:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-7297c50a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.result[data-v-7297c50a]{display:flex;align-items:center;height:44px;overflow:hidden}.result--icon-class[data-v-7297c50a],.result--image[data-v-7297c50a]{width:40px;min-width:40px;height:40px;object-fit:contain}.result--icon-class.rounded[data-v-7297c50a],.result--image.rounded[data-v-7297c50a]{border-radius:50%}.result--content[data-v-7297c50a]{display:flex;flex-direction:column;padding-left:10px;overflow:hidden}.result--content--title[data-v-7297c50a],.result--content--subline[data-v-7297c50a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferencePicker/NcSearchResult.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,eAAA,CAEA,qEAEC,UAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CAEA,qFACC,iBAAA,CAIF,kCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CAEA,oFAEC,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\toverflow: hidden;\\n\\n\\t&--icon-class,\\n\\t&--image {\\n\\t\\twidth: 40px;\\n\\t\\tmin-width: 40px;\\n\\t\\theight: 40px;\\n\\t\\tobject-fit: contain;\\n\\n\\t\\t&.rounded {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t&--content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tpadding-left: 10px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&--title,\\n\\t\\t&--subline {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},1880:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\".material-design-icon[data-v-4be6aca8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.widget-custom[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-access[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;padding:calc(var(--default-grid-baseline, 4px)*3)}.widget-default[data-v-4be6aca8]{width:100%;margin:auto;margin-bottom:calc(var(--default-grid-baseline, 4px)*3);margin-top:calc(var(--default-grid-baseline, 4px)*3);overflow:hidden;border:2px solid var(--color-border);border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex}.widget-default--compact[data-v-4be6aca8]{flex-direction:column}.widget-default--compact .widget-default--image[data-v-4be6aca8]{width:100%;height:150px}.widget-default--compact .widget-default--details[data-v-4be6aca8]{width:100%;padding-top:calc(var(--default-grid-baseline, 4px)*2);padding-bottom:calc(var(--default-grid-baseline, 4px)*2)}.widget-default--compact .widget-default--description[data-v-4be6aca8]{display:none}.widget-default--image[data-v-4be6aca8]{width:40%;background-position:center;background-size:cover;background-repeat:no-repeat}.widget-default--title[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold}.widget-default--details[data-v-4be6aca8]{padding:calc(var(--default-grid-baseline, 4px)*3);width:60%}.widget-default--details p[data-v-4be6aca8]{margin:0;padding:0}.widget-default--description[data-v-4be6aca8]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.widget-default--link[data-v-4be6aca8]{color:var(--color-text-maxcontrast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichText/NcReferenceWidget.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCOD,gCAXC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAOD,gCAfC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CASA,iDAAA,CAGD,iCApBC,UAAA,CACA,WAAA,CACA,uDAAA,CACA,oDAAA,CACA,eAAA,CACA,oCAAA,CACA,wCAAA,CACA,8BAAA,CACA,YAAA,CAeA,0CACC,qBAAA,CAEA,iEACC,UAAA,CACA,YAAA,CAGD,mEACC,UAAA,CACA,qDAAA,CACA,wDAAA,CAGD,uEACC,YAAA,CAKF,wCACC,SAAA,CACA,0BAAA,CACA,qBAAA,CACA,2BAAA,CAGD,wCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAAA,CAGD,0CACC,iDAAA,CACA,SAAA,CAEA,4CACC,QAAA,CACA,SAAA,CAIF,8CACC,eAAA,CACA,sBAAA,CACA,mBAAA,CACA,oBAAA,CACA,YAAA,CACA,2BAAA,CAGD,uCACC,mCAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n@mixin widget {\\n\\twidth: 100%;\\n\\tmargin: auto;\\n\\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\\n\\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\\n\\toverflow: hidden;\\n\\tborder: 2px solid var(--color-border);\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: transparent;\\n\\tdisplay: flex;\\n}\\n\\n.widget-custom {\\n\\t@include widget;\\n}\\n\\n.widget-access {\\n\\t@include widget;\\n\\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\\n}\\n\\n.widget-default {\\n\\t@include widget;\\n\\n\\t&--compact {\\n\\t\\tflex-direction: column;\\n\\n\\t\\t.widget-default--image {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t}\\n\\n\\t\\t.widget-default--details {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t\\t\\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t\\t}\\n\\n\\t\\t.widget-default--description {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&--image {\\n\\t\\twidth: 40%;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: cover;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t}\\n\\n\\t&--title {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&--details {\\n\\t\\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\\n\\t\\twidth: 60%;\\n\\n\\t\\tp {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&--description {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tdisplay: -webkit-box;\\n\\t\\t-webkit-line-clamp: 3;\\n\\t\\tline-clamp: 3;\\n\\t\\t-webkit-box-orient: vertical;\\n\\t}\\n\\n\\t&--link {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},8369:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\"\\nbutton.menuitem[data-v-127b0c62] {\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-127b0c62] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-127b0c62]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-127b0c62] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-127b0c62] {\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\"],names:[],mappings:\";AAgYA;CACA,oDAAA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,mDAAA;CACA,mFAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"nofollow noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'NcPopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\tborder-radius: var(--border-radius-large) !important;\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tborder-left: 4px solid var(--color-primary-element);\\n\\t\\tborder-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]);const s=a},7856:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o),s=n(5425),l=a()(r());l.i(s.Z),l.push([t.id,\"\\n/* stylelint-disable-next-line scss/at-import-partial-extension */\\na[data-v-57480046]:not(.rich-text--component) {\\n\\ttext-decoration: underline;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcRichText/NcRichText.vue\"],names:[],mappings:\";AAkPA,iEAAA;AAGA;CACA,0BAAA;AACA\",sourcesContent:[\"\\x3c!--\\n - @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n - @author Guido Krömer <mail@cacodaemon.de>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n<docs>\\n```vue\\n<template>\\n\\t<div>\\n\\t\\t<textarea v-model=\\\"text\\\" />\\n\\t\\t<NcCheckboxRadioSwitch :checked.sync=\\\"autolink\\\" type=\\\"checkbox\\\">Autolink</NcCheckboxRadioSwitch>\\n\\t\\t<NcCheckboxRadioSwitch :checked.sync=\\\"useMarkdown\\\" type=\\\"checkbox\\\">Use Markdown</NcCheckboxRadioSwitch>\\n\\n\\t\\t<NcRichText\\n\\t\\t\\t:text=\\\"text\\\" :autolink=\\\"autolink\\\" :arguments=\\\"args\\\"\\n\\t\\t\\t:use-markdown=\\\"useMarkdown\\\" />\\n\\t</div>\\n</template>\\n<script>\\nexport default {\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\ttext: `Hello {username}. The file {file} was added by {username}. Go visit https://nextcloud.com\\n\\nLocal IP: http://127.0.0.1/status.php should be clickable\\n\\nSome examples for markdown syntax: **bold text** *italic text* ~~strikethrough~~`,\\n\\t\\t\\tautolink: true,\\n\\t\\t\\tuseMarkdown: true,\\n\\t\\t\\targs: {\\n\\t\\t\\t\\tfile: 'MyDocument.odt',\\n\\t\\t\\t\\tusername: {\\n\\t\\t\\t\\t\\tcomponent: 'NcUserBubble',\\n\\t\\t\\t\\t\\tprops: {\\n\\t\\t\\t\\t\\t\\tdisplayName: 'Jane Doe'\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t}\\n\\t},\\n}\\n<\\/script>\\n<style lang=\\\"scss\\\">\\ntextarea {\\n\\twidth: 100%;\\n\\theight: 100px;\\n}\\n</style>\\n```\\n</docs>\\n\\n<script>\\nimport NcReferenceList from './NcReferenceList.vue'\\nimport { remarkAutolink } from './autolink.js'\\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\\n\\nimport { unified } from 'unified'\\nimport markdown from 'remark-parse'\\nimport breaks from 'remark-breaks'\\nimport remark2rehype from 'remark-rehype'\\nimport rehype2react from 'rehype-react'\\nimport remarkExternalLinks from 'remark-external-links'\\n\\nexport default {\\n\\tname: 'NcRichText',\\n\\tcomponents: {\\n\\t\\tNcReferenceList,\\n\\t},\\n\\tprops: {\\n\\t\\ttext: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\tdefault: '',\\n\\t\\t},\\n\\t\\targuments: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {}\\n\\t\\t\\t},\\n\\t\\t},\\n\\t\\treferenceLimit: {\\n\\t\\t\\ttype: Number,\\n\\t\\t\\tdefault: 0,\\n\\t\\t},\\n\\t\\t/** Provide data upfront to avoid extra http request */\\n\\t\\treferences: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: null,\\n\\t\\t},\\n\\t\\tmarkdownCssClasses: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ta: 'rich-text--external-link',\\n\\t\\t\\t\\t\\tol: 'rich-text--ordered-list',\\n\\t\\t\\t\\t\\tul: 'rich-text--un-ordered-list',\\n\\t\\t\\t\\t\\tli: 'rich-text--list-item',\\n\\t\\t\\t\\t\\tstrong: 'rich-text--strong',\\n\\t\\t\\t\\t\\tem: 'rich-text--italic',\\n\\t\\t\\t\\t\\th1: 'rich-text--heading rich-text--heading-1',\\n\\t\\t\\t\\t\\th2: 'rich-text--heading rich-text--heading-2',\\n\\t\\t\\t\\t\\th3: 'rich-text--heading rich-text--heading-3',\\n\\t\\t\\t\\t\\th4: 'rich-text--heading rich-text--heading-4',\\n\\t\\t\\t\\t\\th5: 'rich-text--heading rich-text--heading-5',\\n\\t\\t\\t\\t\\th6: 'rich-text--heading rich-text--heading-6',\\n\\t\\t\\t\\t\\thr: 'rich-text--hr',\\n\\t\\t\\t\\t\\ttable: 'rich-text--table',\\n\\t\\t\\t\\t\\tpre: 'rich-text--pre',\\n\\t\\t\\t\\t\\tcode: 'rich-text--code',\\n\\t\\t\\t\\t\\tblockquote: 'rich-text--blockquote',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t},\\n\\t\\tuseMarkdown: {\\n\\t\\t\\ttype: Boolean,\\n\\t\\t\\tdefault: false,\\n\\t\\t},\\n\\t\\tautolink: {\\n\\t\\t\\ttype: Boolean,\\n\\t\\t\\tdefault: true,\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\trenderPlaintext(h) {\\n\\t\\t\\tconst context = this\\n\\t\\t\\tconst placeholders = this.text.split(/(\\\\{[a-z\\\\-_.0-9]+\\\\})/ig).map(function(entry, index, list) {\\n\\t\\t\\t\\tconst matches = entry.match(/^\\\\{([a-z\\\\-_.0-9]+)\\\\}$/i)\\n\\t\\t\\t\\t// just return plain string nodes as text\\n\\t\\t\\t\\tif (!matches) {\\n\\t\\t\\t\\t\\treturn prepareTextNode({ h, context }, entry)\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// return component instance if argument is an object\\n\\t\\t\\t\\tconst argumentId = matches[1]\\n\\t\\t\\t\\tconst argument = context.arguments[argumentId]\\n\\t\\t\\t\\tif (typeof argument === 'object') {\\n\\t\\t\\t\\t\\tconst { component, props } = argument\\n\\t\\t\\t\\t\\treturn h(component, {\\n\\t\\t\\t\\t\\t\\tprops,\\n\\t\\t\\t\\t\\t\\tclass: 'rich-text--component',\\n\\t\\t\\t\\t\\t})\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif (argument) {\\n\\t\\t\\t\\t\\treturn h('span', { class: 'rich-text--fallback' }, argument)\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn entry\\n\\t\\t\\t})\\n\\t\\t\\treturn h('div', { class: 'rich-text--wrapper' }, [\\n\\t\\t\\t\\th('div', {}, placeholders.flat()),\\n\\t\\t\\t\\tthis.referenceLimit > 0\\n\\t\\t\\t\\t\\t? h('div', { class: 'rich-text--reference-widget' }, [\\n\\t\\t\\t\\t\\t\\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\\n\\t\\t\\t\\t\\t])\\n\\t\\t\\t\\t\\t: null,\\n\\t\\t\\t])\\n\\t\\t},\\n\\t\\trenderMarkdown(h) {\\n\\t\\t\\tconst renderedMarkdown = unified()\\n\\t\\t\\t\\t.use(markdown)\\n\\t\\t\\t\\t.use(remarkAutolink, {\\n\\t\\t\\t\\t\\tautolink: this.autolink,\\n\\t\\t\\t\\t\\tuseMarkdown: this.useMarkdown,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.use(remarkExternalLinks, {\\n\\t\\t\\t\\t\\ttarget: '_blank',\\n\\t\\t\\t\\t\\trel: ['noopener noreferrer'],\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.use(breaks)\\n\\t\\t\\t\\t.use(remark2rehype, {\\n\\t\\t\\t\\t\\thandlers: {\\n\\t\\t\\t\\t\\t\\tcomponent(toHast, node) {\\n\\t\\t\\t\\t\\t\\t\\treturn toHast(node, node.component, { value: node.value })\\n\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t// .use(rehypeAddClasses, this.markdownCssClasses)\\n\\t\\t\\t\\t.use(remarkPlaceholder)\\n\\t\\t\\t\\t.use(rehype2react, {\\n\\t\\t\\t\\t\\tcreateElement: (tag, attrs, children) => {\\n\\t\\t\\t\\t\\t\\tif (!tag.startsWith('#')) {\\n\\t\\t\\t\\t\\t\\t\\treturn h(tag, attrs, children)\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tconst placeholder = this.arguments[tag.slice(1)]\\n\\t\\t\\t\\t\\t\\tif (!placeholder) {\\n\\t\\t\\t\\t\\t\\t\\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tif (!placeholder.component) {\\n\\t\\t\\t\\t\\t\\t\\treturn h('span', attrs, [placeholder])\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\treturn h(\\n\\t\\t\\t\\t\\t\\t\\tplaceholder.component,\\n\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\tattrs,\\n\\t\\t\\t\\t\\t\\t\\t\\tprops: placeholder.props,\\n\\t\\t\\t\\t\\t\\t\\t\\tclass: 'rich-text--component',\\n\\t\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\tchildren\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\tprefix: false,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\t.processSync(this.text)\\n\\t\\t\\t\\t.result\\n\\n\\t\\t\\treturn h('div', { class: 'rich-text--wrapper' }, [\\n\\t\\t\\t\\trenderedMarkdown,\\n\\t\\t\\t\\tthis.referenceLimit > 0\\n\\t\\t\\t\\t\\t? h('div', { class: 'rich-text--reference-widget' }, [\\n\\t\\t\\t\\t\\t\\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\\n\\t\\t\\t\\t\\t])\\n\\t\\t\\t\\t\\t: null,\\n\\t\\t\\t])\\n\\t\\t},\\n\\t},\\n\\trender(h) {\\n\\t\\tif (!this.useMarkdown) {\\n\\t\\t\\treturn this.renderPlaintext(h)\\n\\t\\t}\\n\\n\\t\\treturn this.renderMarkdown(h)\\n\\t},\\n}\\n<\\/script>\\n<style scoped>\\n/* stylelint-disable-next-line scss/at-import-partial-extension */\\n@import './richtext.scss';\\n\\na:not(.rich-text--component) {\\n\\ttext-decoration: underline;\\n}\\n</style>\\n\"],sourceRoot:\"\"}]);const c=l},5425:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>s});var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([t.id,\"/**\\n * Styles are extracted to extract scss to dist folder, too.\\n */\\n\\n.rich-text--wrapper {\\n\\tword-break: break-word;\\n\\tline-height: 1.5;\\n\\n\\t.rich-text--fallback, .rich-text-component {\\n\\t\\tdisplay: inline;\\n\\t}\\n\\n\\t.rich-text--external-link {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&:after {\\n\\t\\t\\tcontent: ' ↗';\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: decimal;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--un-ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: initial;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--list-item {\\n\\t\\twhite-space: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tpadding: initial;\\n\\t\\tmargin-left: 20px;\\n\\n\\t\\t&.task-list-item {\\n\\t\\t\\tlist-style: none;\\n\\t\\t\\twhite-space: initial;\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tmin-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--strong {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--italic {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-style: italic;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--heading {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-size: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmargin-top: 5px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&.rich-text--heading-1 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-2 {\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-3 {\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-5 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-6 {\\n\\t\\t\\tfont-size: 15px;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--hr {\\n\\t\\tborder-top: 1px solid var(--color-border-dark);\\n\\t\\tborder-bottom: 0;\\n\\t}\\n\\n\\t.rich-text--pre {\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tpadding: 5px;\\n\\t}\\n\\n\\t.rich-text--code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t.rich-text--blockquote {\\n\\t\\tborder-left: 3px solid var(--color-border-dark);\\n\\t\\tpadding-left: 5px;\\n\\t}\\n\\n\\t.rich-text--table {\\n\\t\\tborder-collapse: collapse;\\n\\n\\t\\tthead tr th {\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 6px 13px;\\n\\t\\t}\\n\\n\\t\\ttbody tr {\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tpadding: 6px 13px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:nth-child(even) {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcRichText/richtext.scss\"],names:[],mappings:\"AAAA;;EAEE;;AAEF;CACC,sBAAsB;CACtB,gBAAgB;;CAEhB;EACC,eAAe;CAChB;;CAEA;EACC,0BAA0B;EAC1B;GACC,aAAa;EACd;CACD;;CAEA;EACC;GACC,mBAAmB;EACpB;CACD;;CAEA;EACC;GACC,mBAAmB;EACpB;CACD;;CAEA;EACC,oBAAoB;EACpB,8BAA8B;EAC9B,gBAAgB;EAChB,iBAAiB;;EAEjB;GACC,gBAAgB;GAChB,oBAAoB;GACpB,8BAA8B;;GAE9B;IACC,mBAAmB;GACpB;EACD;CACD;;CAEA;EACC,oBAAoB;EACpB,iBAAiB;EACjB,8BAA8B;CAC/B;;CAEA;EACC,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;CAC/B;;CAEA;EACC,oBAAoB;EACpB,kBAAkB;EAClB,8BAA8B;EAC9B,kBAAkB;EAClB,eAAe;EACf,iBAAiB;;EAEjB;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;;EAEA;GACC,eAAe;EAChB;CACD;;CAEA;EACC,8CAA8C;EAC9C,gBAAgB;CACjB;;CAEA;EACC,0CAA0C;EAC1C,8CAA8C;EAC9C,YAAY;CACb;;CAEA;EACC,8CAA8C;CAC/C;;CAEA;EACC,+CAA+C;EAC/C,iBAAiB;CAClB;;CAEA;EACC,yBAAyB;;EAEzB;GACC,0CAA0C;GAC1C,iBAAiB;GACjB,iBAAiB;EAClB;;EAEA;GACC;IACC,0CAA0C;IAC1C,iBAAiB;GAClB;;GAEA;IACC,8CAA8C;GAC/C;EACD;CACD;AACD\",sourcesContent:[\"/**\\n * Styles are extracted to extract scss to dist folder, too.\\n */\\n\\n.rich-text--wrapper {\\n\\tword-break: break-word;\\n\\tline-height: 1.5;\\n\\n\\t.rich-text--fallback, .rich-text-component {\\n\\t\\tdisplay: inline;\\n\\t}\\n\\n\\t.rich-text--external-link {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&:after {\\n\\t\\t\\tcontent: ' ↗';\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: decimal;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--un-ordered-list {\\n\\t\\t.rich-text--list-item {\\n\\t\\t\\tlist-style: initial;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--list-item {\\n\\t\\twhite-space: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tpadding: initial;\\n\\t\\tmargin-left: 20px;\\n\\n\\t\\t&.task-list-item {\\n\\t\\t\\tlist-style: none;\\n\\t\\t\\twhite-space: initial;\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tmin-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--strong {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--italic {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-style: italic;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\n\\t.rich-text--heading {\\n\\t\\twhite-space: initial;\\n\\t\\tfont-size: initial;\\n\\t\\tcolor: var(--color-text-light);\\n\\t\\tmargin-bottom: 5px;\\n\\t\\tmargin-top: 5px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t&.rich-text--heading-1 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-2 {\\n\\t\\t\\tfont-size: 19px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-3 {\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-5 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t}\\n\\n\\t\\t&.rich-text--heading-6 {\\n\\t\\t\\tfont-size: 15px;\\n\\t\\t}\\n\\t}\\n\\n\\t.rich-text--hr {\\n\\t\\tborder-top: 1px solid var(--color-border-dark);\\n\\t\\tborder-bottom: 0;\\n\\t}\\n\\n\\t.rich-text--pre {\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tpadding: 5px;\\n\\t}\\n\\n\\t.rich-text--code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t.rich-text--blockquote {\\n\\t\\tborder-left: 3px solid var(--color-border-dark);\\n\\t\\tpadding-left: 5px;\\n\\t}\\n\\n\\t.rich-text--table {\\n\\t\\tborder-collapse: collapse;\\n\\n\\t\\tthead tr th {\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 6px 13px;\\n\\t\\t}\\n\\n\\t\\ttbody tr {\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tpadding: 6px 13px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:nth-child(even) {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=a},3645:t=>{\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=\"\",i=void 0!==e[5];return e[4]&&(n+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(n+=\"@media \".concat(e[2],\" {\")),i&&(n+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),n+=t(e),i&&(n+=\"}\"),e[2]&&(n+=\"}\"),e[4]&&(n+=\"}\"),n})).join(\"\")},e.i=function(t,n,i,r,o){\"string\"==typeof t&&(t=[[null,t,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);i&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]=\"@layer\".concat(u[5].length>0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=o),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=r):u[4]=\"\".concat(r)),e.push(u))}},e}},1667:t=>{\"use strict\";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]|(%20)/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t):t}},7537:t=>{\"use strict\";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),o=\"/*# \".concat(r,\" */\");return[e].concat([o]).join(\"\\n\")}return[e].join(\"\\n\")}},5664:(t,e,n)=>{\"use strict\";var i=n(3379),r=n.n(i),o=n(7795),a=n.n(o),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),A=n(4589),m=n.n(A),h=n(847),f={};f.styleTagTransform=m(),f.setAttributes=u(),f.insert=l().bind(null,\"head\"),f.domAPI=a(),f.insertStyleElement=p();r()(h.Z,f),h.Z&&h.Z.locals&&h.Z.locals},3379:t=>{\"use strict\";var e=[];function n(t){for(var n=-1,i=0;i<e.length;i++)if(e[i].identifier===t){n=i;break}return n}function i(t,i){for(var o={},a=[],s=0;s<t.length;s++){var l=t[s],c=i.base?l[0]+i.base:l[0],u=o[c]||0,d=\"\".concat(c,\" \").concat(u);o[c]=u+1;var p=n(d),A={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)e[p].references++,e[p].updater(A);else{var m=r(A,i);i.byIndex=s,e.splice(s,0,{identifier:d,updater:m,references:1})}a.push(d)}return a}function r(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,r){var o=i(t=t||[],r=r||{});return function(t){t=t||[];for(var a=0;a<o.length;a++){var s=n(o[a]);e[s].references--}for(var l=i(t,r),c=0;c<o.length;c++){var u=n(o[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}o=l}}},569:t=>{\"use strict\";var e={};t.exports=function(t,n){var i=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(n)}},9216:t=>{\"use strict\";t.exports=function(t){var e=document.createElement(\"style\");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{\"use strict\";t.exports=function(t){var e=n.nc;e&&t.setAttribute(\"nonce\",e)}},7795:t=>{\"use strict\";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var i=\"\";n.supports&&(i+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(i+=\"@media \".concat(n.media,\" {\"));var r=void 0!==n.layer;r&&(i+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),i+=n.css,r&&(i+=\"}\"),n.media&&(i+=\"}\"),n.supports&&(i+=\"}\");var o=n.sourceMap;o&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),e.styleTagTransform(i,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},9563:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var i=n(1039),r=n(5495),o=(n(9521),n(1900)),a=n(4348),s=n.n(a),l=(0,o.Z)(r.Z,i.s,i.x,!1,null,\"f50b337c\",null);\"function\"==typeof s()&&s()(l);const c=l.exports},4470:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>C});var i=n(4262);const r={name:\"NcMentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},iconUrl:{type:[String,null],default:null},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return this.id.includes(\" \")||this.id.includes(\"/\")?'@\"'.concat(this.id,'\"'):\"@\".concat(this.id)}},methods:{getAvatarUrl:function(t,e){return(0,i.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}};var o=n(3379),a=n.n(o),s=n(7795),l=n.n(s),c=n(569),u=n.n(c),d=n(3565),p=n.n(d),A=n(9216),m=n.n(A),h=n(4589),f=n.n(h),v=n(5594),g={};g.styleTagTransform=f(),g.setAttributes=p(),g.insert=u().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m();a()(v.Z,g);v.Z&&v.Z.locals&&v.Z.locals;const C=(0,n(1900).Z)(r,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"8a961b36\",null).exports},5495:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>i});const i=n(9456).Z},9521:(t,e,n)=>{\"use strict\";n(5664)},5727:()=>{},3051:()=>{},2102:()=>{},9258:()=>{},6274:()=>{},1287:()=>{},4348:()=>{},8488:()=>{},9280:()=>{},9989:()=>{},6049:()=>{},2405:()=>{},1174:()=>{},2272:()=>{},3407:()=>{},5439:()=>{},1900:(t,e,n)=>{\"use strict\";function i(t,e,n,i,r,o,a,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):r&&(l=s?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,{Z:()=>i})},7127:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},2605:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},3423:t=>{\"use strict\";t.exports=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},3607:t=>{\"use strict\";t.exports=require(\"@nextcloud/auth\")},768:t=>{\"use strict\";t.exports=require(\"@nextcloud/axios\")},7672:t=>{\"use strict\";t.exports=require(\"@nextcloud/browser-storage\")},542:t=>{\"use strict\";t.exports=require(\"@nextcloud/event-bus\")},733:t=>{\"use strict\";t.exports=require(\"@nextcloud/initial-state\")},7931:t=>{\"use strict\";t.exports=require(\"@nextcloud/l10n/gettext\")},4262:t=>{\"use strict\";t.exports=require(\"@nextcloud/router\")},4055:t=>{\"use strict\";t.exports=require(\"@vueuse/components\")},3465:t=>{\"use strict\";t.exports=require(\"debounce\")},9:t=>{\"use strict\";t.exports=require(\"emoji-mart-vue-fast\")},1822:t=>{\"use strict\";t.exports=require(\"emoji-mart-vue-fast/data/all.json\")},9454:t=>{\"use strict\";t.exports=require(\"floating-vue\")},4505:t=>{\"use strict\";t.exports=require(\"focus-trap\")},2640:t=>{\"use strict\";t.exports=require(\"hammerjs\")},2734:t=>{\"use strict\";t.exports=require(\"vue\")},5512:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/AlertCircleOutline.vue\")},6921:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ArrowLeft.vue\")},3875:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ArrowRight.vue\")},6915:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/Check.vue\")},9044:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/ChevronRight.vue\")},8618:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/Close.vue\")},1441:t=>{\"use strict\";t.exports=require(\"vue-material-design-icons/DotsHorizontal.vue\")}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={id:i,exports:{}};return t[i](o,o.exports,n),o.exports}n.m=t,n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.b=document.baseURI||self.location.href,n.nc=void 0;var i={};return(()=>{\"use strict\";n.r(i),n.d(i,{NcAutoCompleteResult:()=>b,NcMentionBubble:()=>t.Z,default:()=>R});var t=n(4470),e=n(4262);const r={name:\"NcAutoCompleteResult\",props:{label:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},iconUrl:{type:String,default:null},source:{type:String,required:!0},status:{type:[Object,Array],default:function(){return{}}}},computed:{avatarUrl:function(){return this.iconUrl?this.iconUrl:this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus:function(){var t,e,n;return(null===(t=this.status)||void 0===t?void 0:t.icon)||(null===(e=this.status)||void 0===e?void 0:e.status)&&\"offline\"!==(null===(n=this.status)||void 0===n?void 0:n.status)}},methods:{getAvatarUrl:function(t,n){return(0,e.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:n})}}};var o=n(3379),a=n.n(o),s=n(7795),l=n.n(s),c=n(569),u=n.n(c),d=n(3565),p=n.n(d),A=n(9216),m=n.n(A),h=n(4589),f=n.n(h),v=n(6956),g={};g.styleTagTransform=f(),g.setAttributes=p(),g.insert=u().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m();a()(v.Z,g);v.Z&&v.Z.locals&&v.Z.locals;var C=n(1900);const b=(0,C.Z)(r,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"autocomplete-result\"},[e(\"div\",{staticClass:\"autocomplete-result__icon\",class:[t.icon,\"autocomplete-result__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null},[t.haveStatus?e(\"div\",{staticClass:\"autocomplete-result__status\",class:[\"autocomplete-result__status--\".concat(t.status&&t.status.icon?\"icon\":t.status.status)]},[t._v(\"\\n\\t\\t\\t\"+t._s(t.status&&t.status.icon||\"\")+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),e(\"span\",{staticClass:\"autocomplete-result__content\"},[e(\"span\",{staticClass:\"autocomplete-result__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.label)+\"\\n\\t\\t\")]),t._v(\" \"),t.subline?e(\"span\",{staticClass:\"autocomplete-result__subline\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.subline)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"800c95ae\",null).exports;var y=n(932),x=n(3132),w=n(336),k=n(6540),_=n(2611);const S=require(\"tributejs/dist/tribute.esm.js\");var B=n.n(S),j=n(3465),E=n.n(j);const N=require(\"string-length\");var P=n.n(N);function z(t){return z=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},z(t)}function O(){O=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},r=\"function\"==typeof Symbol?Symbol:{},o=r.iterator||\"@@iterator\",a=r.asyncIterator||\"@@asyncIterator\",s=r.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function c(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new _(r||[]);return i(a,\"_invoke\",{value:y(t,n,s)}),a}function u(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=c;var d={};function p(){}function A(){}function m(){}var h={};l(h,o,(function(){return this}));var f=Object.getPrototypeOf,v=f&&f(f(S([])));v&&v!==e&&n.call(v,o)&&(h=v);var g=m.prototype=p.prototype=Object.create(h);function C(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,o,a,s){var l=u(t[i],t,o);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==z(d)&&n.call(d,\"__await\")?e.resolve(d.__await).then((function(t){r(\"next\",t,a,s)}),(function(t){r(\"throw\",t,a,s)})):e.resolve(d).then((function(t){c.value=t,a(c)}),(function(t){return r(\"throw\",t,a,s)}))}s(l.arg)}var o;i(this,\"_invoke\",{value:function(t,n){function i(){return new e((function(e,i){r(t,n,e,i)}))}return o=o?o.then(i,i):i()}})}function y(t,e,n){var i=\"suspendedStart\";return function(r,o){if(\"executing\"===i)throw new Error(\"Generator is already running\");if(\"completed\"===i){if(\"throw\"===r)throw o;return B()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===i)throw i=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=\"executing\";var l=u(t,e,n);if(\"normal\"===l.type){if(i=n.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(i=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function x(t,e){var n=e.method,i=t.iterator[n];if(void 0===i)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,x(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var r=u(i,t.iterator,e.arg);if(\"throw\"===r.type)return e.method=\"throw\",e.arg=r.arg,e.delegate=null,d;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):o:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function w(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(w,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,r=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return r.next=r}}return{next:B}}function B(){return{value:void 0,done:!0}}return A.prototype=m,i(g,\"constructor\",{value:m,configurable:!0}),i(m,\"constructor\",{value:A,configurable:!0}),A.displayName=l(m,s,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===A||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,l(t,s,\"GeneratorFunction\")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},C(b.prototype),l(b.prototype,a,(function(){return this})),t.AsyncIterator=b,t.async=function(e,n,i,r,o){void 0===o&&(o=Promise);var a=new b(c(e,n,i,r),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},C(g),l(g,s,\"Generator\"),l(g,o,(function(){return this})),l(g,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=Object(t),n=[];for(var i in e)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in e)return t.value=i,t.done=!1,t}return t.done=!0,t}},t.values=S,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)\"t\"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(n,i){return a.type=\"throw\",a.arg=t,e.next=n,i&&(e.method=\"next\",e.arg=void 0),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if(\"root\"===o.tryLoc)return i(\"end\");if(o.tryLoc<=this.prev){var s=n.call(o,\"catchLoc\"),l=n.call(o,\"finallyLoc\");if(s&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if(\"throw\"===i.type){var r=i.arg;k(n)}return r}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function D(t,e,n,i,r,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}const T={name:\"NcRichContenteditable\",directives:{tooltip:w.default},mixins:[x.default],props:{value:{type:String,default:\"\",required:!0},placeholder:{type:String,default:(0,y.t)('Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …')},autoComplete:{type:Function,default:function(){return[]}},menuContainer:{type:Element,default:function(){return document.body}},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0},linkAutocomplete:{type:Boolean,default:!0}},emits:[\"submit\",\"paste\",\"update:value\"],data:function(){var t=this;return{textSmiles:[],tribute:null,autocompleteOptions:{allowSpaces:!0,fillAttr:\"id\",lookup:function(t){return\"\".concat(t.id,\" \").concat(t.label)},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.renderComponentHtml(e.original,b)},noMatchTemplate:function(){return'<span class=\"hidden\"></span>'},selectTemplate:function(e){var n;return t.genSelectTemplate(null==e||null===(n=e.original)||void 0===n?void 0:n.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:\":\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.textSmiles.includes(e.original)?e.original:'<span class=\"tribute-container-emoji__item__emoji\">'.concat(e.original.native,\"</span> :\").concat(e.original.short_name)},noMatchTemplate:function(){return(0,y.t)(\"No emoji found\")},selectTemplate:function(e){return t.textSmiles.includes(e.original)?e.original:((0,k.emojiAddRecent)(e.original),e.original.native)},values:function(e,n){var i=(0,k.emojiSearch)(e);t.textSmiles.includes(\":\"+e)&&i.unshift(\":\"+e),n(i)},containerClass:\"tribute-container-emoji\",itemClass:\"tribute-container-emoji__item\"},linkOptions:{trigger:\"/\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(t){return'<img class=\"tribute-container-link__item__icon\" src=\"'.concat(t.original.icon_url,'\"> <span class=\"tribute-container-link__item__label\">').concat(t.original.title,\"</span>\")},noMatchTemplate:function(){return(0,y.t)(\"No link provider found\")},selectTemplate:this.getLink,values:function(t,e){return e((0,_.searchProvider)(t))},containerClass:\"tribute-container-link\",itemClass:\"tribute-container-link__item\"},localValue:this.value}},computed:{isEmptyValue:function(){return!this.localValue||this.localValue&&\"\"===this.localValue.trim()},isFF:function(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength:function(){return!(this.isEmptyValue||!this.maxlength)&&P()(this.localValue)>this.maxlength},tooltipString:function(){return this.isOverMaxlength?{content:(0,y.t)(\"Message limit of {count} characters reached\",{count:this.maxlength}),shown:!0,trigger:\"manual\"}:null},canEdit:function(){return this.contenteditable&&!this.disabled}},watch:{value:function(){var t=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(t).trim()&&this.updateContent(this.value)}},mounted:function(){var t=this;this.textSmiles=[],[\"d\",\"D\",\"p\",\"P\",\"s\",\"S\",\"x\",\"X\",\")\",\"(\",\"|\",\"/\"].forEach((function(e){t.textSmiles.push(\":\"+e),t.textSmiles.push(\":-\"+e)})),this.autocompleteTribute=new(B())(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new(B())(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.linkAutocomplete&&(this.linkTribute=new(B())(this.linkOptions),this.linkTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy:function(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el),this.linkTribute&&this.linkTribute.detach(this.$el)},methods:{getLink:function(t){var e=this;return(0,_.getLinkWithPicker)(t.original.id).then((function(t){var n=document.getElementById(\"tmp-link-result-node\"),i=document.createTextNode(t);n.replaceWith(i),e.setCursorAfter(i),e.updateValue(e.$refs.contenteditable.innerHTML)})).catch((function(t){console.debug(\"Smart picker promise rejected:\",t);var n=document.getElementById(\"tmp-link-result-node\");e.setCursorAfter(n),n.remove()})),'<span id=\"tmp-link-result-node\"></span>'},setCursorAfter:function(t){var e=document.createRange();e.setEndAfter(t),e.collapse();var n=window.getSelection();n.removeAllRanges(),n.addRange(e)},onInput:function(t){this.updateValue(t.target.innerHTML)},onPaste:function(t){if(this.canEdit){t.preventDefault();var e=t.clipboardData;if(this.$emit(\"paste\",t),0===e.files.length&&Object.values(e.items).find((function(t){return null==t?void 0:t.type.startsWith(\"text\")}))){var n=e.getData(\"text\"),i=window.getSelection();if(i.rangeCount){var r=i.getRangeAt(0);i.deleteFromDocument(),r.insertNode(document.createTextNode(n));var o=document.createRange();o.setStart(t.target,r.endOffset),o.collapse(!0),i.removeAllRanges(),i.addRange(o),this.updateValue(this.$refs.contenteditable.innerHTML)}else this.updateValue(n)}}},updateValue:function(t){var e=this.parseContent(t);this.localValue=e,this.$emit(\"update:value\",e)},updateContent:function(t){var e=this.renderContent(t);this.$refs.contenteditable.innerHTML=e,this.localValue=t},onDelete:function(t){if(this.isFF&&window.getSelection&&this.canEdit){var e=window.getSelection(),n=t.target;if(e.isCollapsed&&e.rangeCount){var i=e.getRangeAt(e.rangeCount-1);if(!(3===i.commonAncestorContainer.nodeType&&i.startOffset>0)){var r=document.createRange();if(e.anchorNode!==n)r.selectNodeContents(n),r.setEndBefore(e.anchorNode);else{if(!(e.anchorOffset>0))return;r.setEnd(n,e.anchorOffset)}r.setStart(n,r.endOffset-1);var o=r.cloneContents().lastChild;o&&\"false\"===o.contentEditable&&(r.deleteContents(),t.preventDefault())}}}},onEnter:function(t){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||this.linkTribute.isActive||(t.preventDefault(),t.stopPropagation(),this.$emit(\"submit\",t))},onCtrlEnter:function(t){this.isOverMaxlength||this.$emit(\"submit\",t)},debouncedAutoComplete:E()(function(){var t,e=(t=O().mark((function t(e,n){return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.autoComplete(e,n);case 1:case\"end\":return t.stop()}}),t,this)})),function(){var e=this,n=arguments;return new Promise((function(i,r){var o=t.apply(e,n);function a(t){D(o,i,r,a,s,\"next\",t)}function s(t){D(o,i,r,a,s,\"throw\",t)}a(void 0)}))});return function(t,n){return e.apply(this,arguments)}}(),100),onKeyUp:function(t){t.stopImmediatePropagation()}}};var L=n(6366),I={};I.styleTagTransform=f(),I.setAttributes=p(),I.insert=u().bind(null,\"head\"),I.domAPI=l(),I.insertStyleElement=m();a()(L.Z,I);L.Z&&L.Z.locals&&L.Z.locals;var $=n(2431),G={};G.styleTagTransform=f(),G.setAttributes=p(),G.insert=u().bind(null,\"head\"),G.domAPI=l(),G.insertStyleElement=m();a()($.Z,G);$.Z&&$.Z.locals&&$.Z.locals;var M=n(2272),U=n.n(M),F=(0,C.Z)(T,(function(){var t=this;return(0,t._self._c)(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltipString,expression:\"tooltipString\"}],ref:\"contenteditable\",staticClass:\"rich-contenteditable__input\",class:{\"rich-contenteditable__input--empty\":t.isEmptyValue,\"rich-contenteditable__input--multiline\":t.multiline,\"rich-contenteditable__input--overflow\":t.isOverMaxlength,\"rich-contenteditable__input--disabled\":t.disabled},attrs:{contenteditable:t.canEdit,placeholder:t.placeholder,\"aria-multiline\":\"true\",role:\"textbox\"},on:{input:t.onInput,keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\",\"Del\"])?null:t.onDelete.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.onEnter.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:e.ctrlKey?e.shiftKey||e.altKey||e.metaKey?null:(e.stopPropagation(),e.preventDefault(),t.onCtrlEnter.apply(null,arguments)):null}],paste:t.onPaste,\"!keyup\":function(e){return e.stopPropagation(),e.preventDefault(),t.onKeyUp.apply(null,arguments)}}},t.$listeners))}),[],!1,null,\"48b21e01\",null);\"function\"==typeof U()&&U()(F);const R=F.exports})(),i})()));\n//# sourceMappingURL=NcRichContenteditable.js.map","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n","if (!Array.prototype.find) {\n Array.prototype.find = function(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined')\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function')\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value\n }\n }\n return undefined\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n function CustomEvent$1(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt\n }\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent$1.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent$1;\n}\n\nclass TributeEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n static keys() {\n return [\n {\n key: 9,\n value: \"TAB\"\n },\n {\n key: 8,\n value: \"DELETE\"\n },\n {\n key: 13,\n value: \"ENTER\"\n },\n {\n key: 27,\n value: \"ESCAPE\"\n },\n {\n key: 32,\n value: \"SPACE\"\n },\n {\n key: 38,\n value: \"UP\"\n },\n {\n key: 40,\n value: \"DOWN\"\n }\n ];\n }\n\n bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n\n element.addEventListener(\"keydown\", element.boundKeydown, false);\n element.addEventListener(\"keyup\", element.boundKeyup, false);\n element.addEventListener(\"input\", element.boundInput, false);\n }\n\n unbind(element) {\n element.removeEventListener(\"keydown\", element.boundKeydown, false);\n element.removeEventListener(\"keyup\", element.boundKeyup, false);\n element.removeEventListener(\"input\", element.boundInput, false);\n\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n\n keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n let element = this;\n instance.commandEvent = false;\n\n TributeEvents.keys().forEach(o => {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n\n input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n\n click(instance, event) {\n let tribute = instance.tribute;\n if (tribute.menu && tribute.menu.contains(event.target)) {\n let li = event.target;\n event.preventDefault();\n event.stopPropagation();\n while (li.nodeName.toLowerCase() !== \"li\") {\n li = li.parentNode;\n if (!li || li === tribute.menu) {\n throw new Error(\"cannot find the <li> container for the click\");\n }\n }\n tribute.selectItemAtIndex(li.getAttribute(\"data-index\"), event);\n tribute.hideMenu();\n\n // TODO: should fire with externalTrigger and target is outside of menu\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(() => tribute.hideMenu());\n }\n }\n\n keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n instance.updateSelection(this);\n\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, \"\");\n } else {\n let keyCode = instance.getKeyCode(instance, this, event);\n\n if (isNaN(keyCode) || !keyCode) return;\n\n let trigger = instance.tribute.triggers().find(trigger => {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== \"undefined\") {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if (\n instance.tribute.current.mentionText.length <\n instance.tribute.current.collection.menuShowMinLength\n ) {\n return;\n }\n\n if (\n ((instance.tribute.current.trigger ||\n instance.tribute.autocompleteMode) &&\n instance.commandEvent === false) ||\n (instance.tribute.isActive && event.keyCode === 8)\n ) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n\n shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n let eventKeyPressed = false;\n TributeEvents.keys().forEach(o => {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n\n return !eventKeyPressed;\n }\n\n return false;\n }\n\n getKeyCode(instance, el, event) {\n let tribute = instance.tribute;\n let info = tribute.range.getTriggerInfo(\n false,\n tribute.hasTrailingSpace,\n true,\n tribute.allowSpaces,\n tribute.autocompleteMode\n );\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n\n updateSelection(el) {\n this.tribute.current.element = el;\n let info = this.tribute.range.getTriggerInfo(\n false,\n this.tribute.hasTrailingSpace,\n true,\n this.tribute.allowSpaces,\n this.tribute.autocompleteMode\n );\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n\n callbacks() {\n return {\n triggerChar: (e, el, trigger) => {\n let tribute = this.tribute;\n tribute.current.trigger = trigger;\n\n let collectionItem = tribute.collection.find(item => {\n return item.trigger === trigger;\n });\n\n tribute.current.collection = collectionItem;\n\n if (\n tribute.current.mentionText.length >=\n tribute.current.collection.menuShowMinLength &&\n tribute.inputEvent\n ) {\n tribute.showMenuFor(el, true);\n }\n },\n enter: (e, el) => {\n // choose selection\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.selectItemAtIndex(this.tribute.menuSelected, e);\n this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: (e, el) => {\n if (this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n this.tribute.isActive = false;\n this.tribute.hideMenu();\n }\n },\n tab: (e, el) => {\n // choose first match\n this.callbacks().enter(e, el);\n },\n space: (e, el) => {\n if (this.tribute.isActive) {\n if (this.tribute.spaceSelectsMatch) {\n this.callbacks().enter(e, el);\n } else if (!this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.hideMenu();\n this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: (e, el) => {\n // navigate up ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length,\n selected = this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n this.tribute.menuSelected--;\n this.setActiveLi();\n } else if (selected === 0) {\n this.tribute.menuSelected = count - 1;\n this.setActiveLi();\n this.tribute.menu.scrollTop = this.tribute.menu.scrollHeight;\n }\n }\n },\n down: (e, el) => {\n // navigate down ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length - 1,\n selected = this.tribute.menuSelected;\n\n if (count > selected) {\n this.tribute.menuSelected++;\n this.setActiveLi();\n } else if (count === selected) {\n this.tribute.menuSelected = 0;\n this.setActiveLi();\n this.tribute.menu.scrollTop = 0;\n }\n }\n },\n delete: (e, el) => {\n if (\n this.tribute.isActive &&\n this.tribute.current.mentionText.length < 1\n ) {\n this.tribute.hideMenu();\n } else if (this.tribute.isActive) {\n this.tribute.showMenuFor(el);\n }\n }\n };\n }\n\n setActiveLi(index) {\n let lis = this.tribute.menu.querySelectorAll(\"li\"),\n length = lis.length >>> 0;\n\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (let i = 0; i < length; i++) {\n let li = lis[i];\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n\n let liClientRect = li.getBoundingClientRect();\n let menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n let scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n let scrollDistance = menuClientRect.top - liClientRect.top;\n this.tribute.menu.scrollTop -= scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n\n getFullHeight(elem, includeMargin) {\n let height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n let style = elem.currentStyle || window.getComputedStyle(elem);\n return (\n height + parseFloat(style.marginTop) + parseFloat(style.marginBottom)\n );\n }\n\n return height;\n }\n}\n\nclass TributeMenuEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n bind(menu) {\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.showMenuFor(this.tribute.current.element, false);\n }\n },\n 300,\n false\n );\n this.windowResizeEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.range.positionMenuAtCaret(true);\n }\n },\n 300,\n false\n );\n\n // fixes IE11 issues with mousedown\n this.tribute.range\n .getDocument()\n .addEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .addEventListener(\"mousedown\", this.menuClickEvent, false);\n window.addEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.addEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n unbind(menu) {\n this.tribute.range\n .getDocument()\n .removeEventListener(\"mousedown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .removeEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n window.removeEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.removeEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n debounce(func, wait, immediate) {\n var timeout;\n return () => {\n var context = this,\n args = arguments;\n var later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n}\n\n// Thanks to https://github.com/jeff-collins/ment.io\n\nclass TributeRange {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n getDocument() {\n let iframe;\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document\n }\n\n return iframe.contentWindow.document\n }\n\n positionMenuAtCaret(scrollTo) {\n let context = this.tribute.current,\n coordinates;\n\n let info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n\n if(!this.tribute.positionMenu){\n this.tribute.menu.style.cssText = `display: block;`;\n return\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,\n info.mentionPosition);\n }\n else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = `top: ${coordinates.top}px;\n left: ${coordinates.left}px;\n right: ${coordinates.right}px;\n bottom: ${coordinates.bottom}px;\n position: absolute;\n display: block;`;\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n\n window.setTimeout(() => {\n let menuDimensions = {\n width: this.tribute.menu.offsetWidth,\n height: this.tribute.menu.offsetHeight\n };\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n let menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n let menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n this.tribute.menu.style.cssText = 'display: none';\n this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n\n get menuContainerIsBody() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n\n\n selectElement(targetElement, path, offset) {\n let range;\n let elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n if (elem === undefined) {\n return\n }\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n\n replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n let info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n let context = this.tribute.current;\n let replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent,\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n let myField = this.tribute.current.element;\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : ' ';\n text += textSuffix;\n let startPos = info.mentionPosition;\n let endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length - 1;\n }\n myField.value = myField.value.substring(0, startPos) + text +\n myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : '\\xA0';\n text += textSuffix;\n let endPos = info.mentionPosition + info.mentionText.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length;\n }\n this.pasteHtml(text, info.mentionPosition, endPos);\n }\n\n context.element.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n context.element.dispatchEvent(replaceEvent);\n }\n }\n\n pasteHtml(html, startPos, endPos) {\n let range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n\n let el = this.getDocument().createElement('div');\n el.innerHTML = html;\n let frag = this.getDocument().createDocumentFragment(),\n node, lastNode;\n while ((node = el.firstChild)) {\n lastNode = frag.appendChild(node);\n }\n range.insertNode(frag);\n\n // Preserve the selection\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n\n getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection()\n }\n\n return window.getSelection()\n }\n\n getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n let node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i\n }\n }\n }\n\n getContentEditableSelectedPath(ctx) {\n let sel = this.getWindowSelection();\n let selected = sel.anchorNode;\n let path = [];\n let offset;\n\n if (selected != null) {\n let i;\n let ce = selected.contentEditable;\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n path.reverse();\n\n // getRangeAt may not exist, need alternative\n offset = sel.getRangeAt(0).startOffset;\n\n return {\n selected: selected,\n path: path,\n offset: offset\n }\n }\n }\n\n getTextPrecedingCurrentSelection() {\n let context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n let textComponent = this.tribute.current.element;\n if (textComponent) {\n let startPos = textComponent.selectionStart;\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n\n } else {\n let selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n let workingNodeContent = selectedElem.textContent;\n let selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text\n }\n\n getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n let wordsArray = text.split(/\\s+/);\n let worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim()\n }\n\n getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n let ctx = this.tribute.current;\n let selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n let selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n let effectiveRange = this.getTextPrecedingCurrentSelection();\n let lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n }\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n let mostRecentTriggerCharPos = -1;\n let triggerChar;\n\n this.tribute.collection.forEach(config => {\n let c = config.trigger;\n let idx = config.requireLeadingSpace ?\n this.lastIndexWithLeadingSpace(effectiveRange, c) :\n effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 &&\n (\n mostRecentTriggerCharPos === 0 ||\n !requireLeadingSpace ||\n /[\\xA0\\s]/g.test(\n effectiveRange.substring(\n mostRecentTriggerCharPos - 1,\n mostRecentTriggerCharPos)\n )\n )\n ) {\n let currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + triggerChar.length,\n effectiveRange.length);\n\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + triggerChar.length);\n let firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n let leadingSpace = currentTriggerSnippet.length > 0 &&\n (\n firstSnippetChar === ' ' ||\n firstSnippetChar === '\\xA0'\n );\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n let regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !(regex.test(currentTriggerSnippet)))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n }\n }\n }\n }\n }\n\n lastIndexWithLeadingSpace (str, trigger) {\n let reversedStr = str.split('').reverse().join('');\n let index = -1;\n\n for (let cidx = 0, len = str.length; cidx < len; cidx++) {\n let firstChar = cidx === str.length - 1;\n let leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n\n let match = true;\n for (let triggerIdx = trigger.length - 1; triggerIdx >= 0; triggerIdx--) {\n if (trigger[triggerIdx] !== reversedStr[cidx-triggerIdx]) {\n match = false;\n break\n }\n }\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break\n }\n }\n\n return index\n }\n\n isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA'\n }\n\n isMenuOffScreen(coordinates, menuDimensions) {\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n let menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n let menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n let menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n }\n }\n\n getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n let dimensions = {\n width: null,\n height: null\n };\n\n this.tribute.menu.style.cssText = `top: 0px;\n left: 0px;\n position: fixed;\n display: block;\n visibility; hidden;`;\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n\n this.tribute.menu.style.cssText = `display: none;`;\n\n return dimensions\n }\n\n getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n let properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX',\n 'overflowY', 'borderTopWidth', 'borderRightWidth',\n 'borderBottomWidth', 'borderLeftWidth', 'paddingTop',\n 'paddingRight', 'paddingBottom', 'paddingLeft',\n 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch',\n 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily',\n 'textAlign', 'textTransform', 'textIndent',\n 'textDecoration', 'letterSpacing', 'wordSpacing'\n ];\n\n let isFirefox = (window.mozInnerScreenX !== null);\n\n let div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n\n let style = div.style;\n let computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n }\n\n // position off-screen\n style.position = 'absolute';\n style.visibility = 'hidden';\n\n // transfer the element's properties to the div\n properties.forEach(prop => {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = `${(parseInt(computed.width) - 2)}px`;\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n let span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n\n let rect = element.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let top = 0;\n let left = 0;\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n let coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates\n }\n\n getContentEditableCaretPosition(selectedNodePosition) {\n let range;\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n\n range.collapse(false);\n\n let rect = range.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let left = rect.left;\n let top = rect.top;\n\n let coordinates = {\n left: left + windowLeft,\n top: top + rect.height + windowTop\n };\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n if (!this.menuContainerIsBody) {\n coordinates.left = coordinates.left ? coordinates.left - this.tribute.menuContainer.offsetLeft : coordinates.left;\n coordinates.top = coordinates.top ? coordinates.top - this.tribute.menuContainer.offsetTop : coordinates.top;\n }\n\n return coordinates\n }\n\n scrollIntoView(elem) {\n let reasonableBuffer = 20,\n clientRect;\n let maxScrollDisplacement = 100;\n let e = this.menu;\n\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n if (e === undefined || !e.getBoundingClientRect) {\n return\n }\n }\n }\n\n let elemTop = clientRect.top;\n let elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n let maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n let targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n}\n\n// Thanks to https://github.com/mattyork/fuzzy\nclass TributeSearch {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n simpleFilter(pattern, array) {\n return array.filter(string => {\n return this.test(pattern, string)\n })\n }\n\n test(pattern, string) {\n return this.match(pattern, string) !== null\n }\n\n match(pattern, string, opts) {\n opts = opts || {};\n let len = string.length,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase();\n\n if (opts.skip) {\n return {rendered: string, score: 0}\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n\n let patternCache = this.traverse(compareString, pattern, 0, 0, []);\n if (!patternCache) {\n return null\n }\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n }\n }\n\n traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n }\n }\n\n // if string at end or remaining pattern > remaining string\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined\n }\n\n let c = pattern[patternIndex];\n let index = string.indexOf(c, stringIndex);\n let best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop();\n\n // if downstream traversal failed, return best answer so far\n if (!temp) {\n return best\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best\n }\n\n calculateScore(patternCache) {\n let score = 0;\n let temp = 1;\n\n patternCache.forEach((index, i) => {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n }\n else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n\n return score\n }\n\n render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n\n indices.forEach((index, i) => {\n rendered += pre + string[index] + post +\n string.substring(index + 1, (indices[i + 1]) ? indices[i + 1] : string.length);\n });\n\n return rendered\n }\n\n filter(pattern, arr, opts) {\n opts = opts || {};\n return arr\n .reduce((prev, element, idx, arr) => {\n let str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) { // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n let rendered = this.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev\n }, [])\n\n .sort((a, b) => {\n let compare = b.score - a.score;\n if (compare) return compare\n return a.index - b.index\n })\n }\n}\n\nclass Tribute {\n constructor({\n values = null,\n iframe = null,\n selectClass = \"highlight\",\n containerClass = \"tribute-container\",\n itemClass = \"\",\n trigger = \"@\",\n autocompleteMode = false,\n selectTemplate = null,\n menuItemTemplate = null,\n lookup = \"key\",\n fillAttr = \"value\",\n collection = null,\n menuContainer = null,\n noMatchTemplate = null,\n requireLeadingSpace = true,\n allowSpaces = false,\n replaceTextSuffix = null,\n positionMenu = true,\n spaceSelectsMatch = false,\n searchOpts = {},\n menuItemLimit = null,\n menuShowMinLength = 0\n }) {\n this.autocompleteMode = autocompleteMode;\n this.menuSelected = 0;\n this.current = {};\n this.inputEvent = false;\n this.isActive = false;\n this.menuContainer = menuContainer;\n this.allowSpaces = allowSpaces;\n this.replaceTextSuffix = replaceTextSuffix;\n this.positionMenu = positionMenu;\n this.hasTrailingSpace = false;\n this.spaceSelectsMatch = spaceSelectsMatch;\n\n if (this.autocompleteMode) {\n trigger = \"\";\n allowSpaces = false;\n }\n\n if (values) {\n this.collection = [\n {\n // symbol that starts the lookup\n trigger: trigger,\n\n // is it wrapped in an iframe\n iframe: iframe,\n\n // class applied to selected item\n selectClass: selectClass,\n\n // class applied to the Container\n containerClass: containerClass,\n\n // class applied to each item\n itemClass: itemClass,\n\n // function called on select that retuns the content to insert\n selectTemplate: (\n selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n\n // function called that returns content for an item\n menuItemTemplate: (\n menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n\n // column to search against in the object\n lookup: lookup,\n\n // column that contains the content to insert by default\n fillAttr: fillAttr,\n\n // array of objects or a function returning an array of objects\n values: values,\n\n requireLeadingSpace: requireLeadingSpace,\n\n searchOpts: searchOpts,\n\n menuItemLimit: menuItemLimit,\n\n menuShowMinLength: menuShowMinLength\n }\n ];\n } else if (collection) {\n if (this.autocompleteMode)\n console.warn(\n \"Tribute in autocomplete mode does not work for collections\"\n );\n this.collection = collection.map(item => {\n return {\n trigger: item.trigger || trigger,\n iframe: item.iframe || iframe,\n selectClass: item.selectClass || selectClass,\n containerClass: item.containerClass || containerClass,\n itemClass: item.itemClass || itemClass,\n selectTemplate: (\n item.selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n menuItemTemplate: (\n item.menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n lookup: item.lookup || lookup,\n fillAttr: item.fillAttr || fillAttr,\n values: item.values,\n requireLeadingSpace: item.requireLeadingSpace,\n searchOpts: item.searchOpts || searchOpts,\n menuItemLimit: item.menuItemLimit || menuItemLimit,\n menuShowMinLength: item.menuShowMinLength || menuShowMinLength\n };\n });\n } else {\n throw new Error(\"[Tribute] No collection specified.\");\n }\n\n new TributeRange(this);\n new TributeEvents(this);\n new TributeMenuEvents(this);\n new TributeSearch(this);\n }\n\n get isActive() {\n return this._isActive;\n }\n\n set isActive(val) {\n if (this._isActive != val) {\n this._isActive = val;\n if (this.current.element) {\n let noMatchEvent = new CustomEvent(`tribute-active-${val}`);\n this.current.element.dispatchEvent(noMatchEvent);\n }\n }\n }\n\n static defaultSelectTemplate(item) {\n if (typeof item === \"undefined\")\n return `${this.current.collection.trigger}${this.current.mentionText}`;\n if (this.range.isContentEditable(this.current.element)) {\n return (\n '<span class=\"tribute-mention\">' +\n (this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]) +\n \"</span>\"\n );\n }\n\n return (\n this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]\n );\n }\n\n static defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n\n static inputTypes() {\n return [\"TEXTAREA\", \"INPUT\"];\n }\n\n triggers() {\n return this.collection.map(config => {\n return config.trigger;\n });\n }\n\n attach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._attach(el[i]);\n }\n } else {\n this._attach(el);\n }\n }\n\n _attach(el) {\n if (el.hasAttribute(\"data-tribute\")) {\n console.warn(\"Tribute was already bound to \" + el.nodeName);\n }\n\n this.ensureEditable(el);\n this.events.bind(el);\n el.setAttribute(\"data-tribute\", true);\n }\n\n ensureEditable(element) {\n if (Tribute.inputTypes().indexOf(element.nodeName) === -1) {\n if (element.contentEditable) {\n element.contentEditable = true;\n } else {\n throw new Error(\"[Tribute] Cannot bind to \" + element.nodeName);\n }\n }\n }\n\n createMenu(containerClass) {\n let wrapper = this.range.getDocument().createElement(\"div\"),\n ul = this.range.getDocument().createElement(\"ul\");\n wrapper.className = containerClass;\n wrapper.appendChild(ul);\n\n if (this.menuContainer) {\n return this.menuContainer.appendChild(wrapper);\n }\n\n return this.range.getDocument().body.appendChild(wrapper);\n }\n\n showMenuFor(element, scrollTo) {\n // Only proceed if menu isn't already shown for the current element & mentionText\n if (\n this.isActive &&\n this.current.element === element &&\n this.current.mentionText === this.currentMentionTextSnapshot\n ) {\n return;\n }\n this.currentMentionTextSnapshot = this.current.mentionText;\n\n // create the menu if it doesn't exist.\n if (!this.menu) {\n this.menu = this.createMenu(this.current.collection.containerClass);\n element.tributeMenu = this.menu;\n this.menuEvents.bind(this.menu);\n }\n\n this.isActive = true;\n this.menuSelected = 0;\n\n if (!this.current.mentionText) {\n this.current.mentionText = \"\";\n }\n\n const processValues = values => {\n // Tribute may not be active any more by the time the value callback returns\n if (!this.isActive) {\n return;\n }\n\n let items = this.search.filter(this.current.mentionText, values, {\n pre: this.current.collection.searchOpts.pre || \"<span>\",\n post: this.current.collection.searchOpts.post || \"</span>\",\n skip: this.current.collection.searchOpts.skip,\n extract: el => {\n if (typeof this.current.collection.lookup === \"string\") {\n return el[this.current.collection.lookup];\n } else if (typeof this.current.collection.lookup === \"function\") {\n return this.current.collection.lookup(el, this.current.mentionText);\n } else {\n throw new Error(\n \"Invalid lookup attribute, lookup must be string or function.\"\n );\n }\n }\n });\n\n if (this.current.collection.menuItemLimit) {\n items = items.slice(0, this.current.collection.menuItemLimit);\n }\n\n this.current.filteredItems = items;\n\n let ul = this.menu.querySelector(\"ul\");\n\n this.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n let noMatchEvent = new CustomEvent(\"tribute-no-match\", {\n detail: this.menu\n });\n this.current.element.dispatchEvent(noMatchEvent);\n if (\n (typeof this.current.collection.noMatchTemplate === \"function\" &&\n !this.current.collection.noMatchTemplate()) ||\n !this.current.collection.noMatchTemplate\n ) {\n this.hideMenu();\n } else {\n typeof this.current.collection.noMatchTemplate === \"function\"\n ? (ul.innerHTML = this.current.collection.noMatchTemplate())\n : (ul.innerHTML = this.current.collection.noMatchTemplate);\n }\n\n return;\n }\n\n ul.innerHTML = \"\";\n let fragment = this.range.getDocument().createDocumentFragment();\n\n items.forEach((item, index) => {\n let li = this.range.getDocument().createElement(\"li\");\n li.setAttribute(\"data-index\", index);\n li.className = this.current.collection.itemClass;\n li.addEventListener(\"mousemove\", e => {\n let [li, index] = this._findLiTarget(e.target);\n if (e.movementY !== 0) {\n this.events.setActiveLi(index);\n }\n });\n if (this.menuSelected === index) {\n li.classList.add(this.current.collection.selectClass);\n }\n li.innerHTML = this.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === \"function\") {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n\n _findLiTarget(el) {\n if (!el) return [];\n const index = el.getAttribute(\"data-index\");\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n\n showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n\n if (element.isContentEditable)\n this.insertTextAtCursor(this.current.collection.trigger);\n else this.insertAtCaret(element, this.current.collection.trigger);\n\n this.showMenuFor(element);\n }\n\n // TODO: make sure this works for inputs/textareas\n placeCaretAtEnd(el) {\n el.focus();\n if (\n typeof window.getSelection != \"undefined\" &&\n typeof document.createRange != \"undefined\"\n ) {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n }\n\n // for contenteditable\n insertTextAtCursor(text) {\n var sel, range;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n\n // for regular inputs\n insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(\n textarea.selectionEnd,\n textarea.value.length\n );\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n\n hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = \"display: none;\";\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n\n selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== \"number\" || isNaN(index)) return;\n let item = this.current.filteredItems[index];\n let content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n\n replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n\n _append(collection, newValues, replace) {\n if (typeof collection.values === \"function\") {\n throw new Error(\"Unable to append to values, as it is a function.\");\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n\n append(collectionIndex, newValues, replace) {\n let index = parseInt(collectionIndex);\n if (typeof index !== \"number\")\n throw new Error(\"please provide an index for the collection to update.\");\n\n let collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n\n appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error(\n \"No active state. Please use append instead and pass an index.\"\n );\n }\n }\n\n detach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n\n _detach(el) {\n this.events.unbind(el);\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(() => {\n el.removeAttribute(\"data-tribute\");\n this.isActive = false;\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n}\n\n/**\n * Tribute.js\n * Native ES6 JavaScript @mention Plugin\n **/\n\nexport default Tribute;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon link-variant-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LinkVariantIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LinkVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LinkVariant.vue?vue&type=template&id=3834522c&\"\nimport script from \"./LinkVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./LinkVariant.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon link-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Magnify.vue?vue&type=template&id=d480a606&\"\nimport script from \"./Magnify.vue?vue&type=script&lang=js&\"\nexport * from \"./Magnify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Definition} Definition\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback GetDefinition\n * Get a definition by identifier.\n * @param {string | null | undefined} [identifier]\n * Identifier of definition.\n * @returns {Definition | null}\n * Definition corresponding to `identifier` or `null`.\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `tree`.\n *\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} tree\n * Tree to check.\n * @returns {GetDefinition}\n * Getter.\n */\nexport function definitions(tree) {\n /** @type {Record<string, Definition>} */\n const cache = Object.create(null)\n\n if (!tree || !tree.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(tree, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /** @type {GetDefinition} */\n function definition(identifier) {\n const id = clean(identifier)\n // To do: next major: return `undefined` when not found.\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string | null | undefined} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * `hast` is close to `React`, but differs in a couple of cases.\n *\n * To get a React property from a hast property, check if it is in\n * `hastToReact`, if it is, then use the corresponding value,\n * otherwise, use the hast property.\n *\n * @type {Record<string, string>}\n */\nexport const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","import StyleToObject from './index.js';\n\nexport default StyleToObject;\n","/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('hast').Content} Content\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n */\n\n/**\n * @typedef {Root | Content} Node\n *\n * @callback CreateElementLike\n * Function that works somewhat like `React.createElement`.\n * @param {string} name\n * Element name.\n * @param {any} attributes\n * Properties.\n * @param {Array<any>} [children]\n * Children.\n * @returns {any}\n * Something.\n *\n * @typedef State\n * Info passed around.\n * @property {Schema} schema\n * Current schema.\n * @property {string | undefined} prefix\n * Prefix to use.\n * @property {number} key\n * Current key.\n * @property {boolean} react\n * Looks like React.\n * @property {boolean} vue\n * Looks like Vue.\n * @property {boolean} vdom\n * Looks like vdom.\n * @property {boolean} hyperscript\n * Looks like `hyperscript`.\n *\n * @typedef Options\n * Configuration.\n * @property {string | null | undefined} [prefix]\n * Prefix to use as a prefix for keys passed in `props` to `h()`, this\n * behavior is turned off by passing `false` and turned on by passing a\n * `string`.\n * By default, `h-` is used as a prefix if the given `h` is detected as being\n * `virtual-dom/h` or `React.createElement`\n * @property {'html' | 'svg' | null | undefined} [space]\n * Whether `node` is in the `'html'` or `'svg'` space.\n * If an `<svg>` element is found when inside the HTML space, `toH`\n * automatically switches to the SVG space when entering the element, and\n * switches back when exiting.\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Node} tree\n * Tree to transform.\n * @param {string | boolean | Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ReturnType<H>}\n * Return type of the hyperscript function.\n */\n// eslint-disable-next-line complexity\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (tree && tree.type === 'root') {\n const head = tree.children[0]\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && head.type === 'element'\n ? head\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (tree && tree.type === 'element') {\n node = tree\n } else {\n throw new Error(\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : undefined\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : undefined,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * Type of hyperscript function.\n * @param {H} h\n * HyperScript function.\n * @param {Element} node\n * Node to transform.\n * @param {State} state\n * Info passed around.\n * @returns {ReturnType<H>}\n * Return type of the hyperscript function.\n */\nfunction transform(h, node, state) {\n const parentSchema = state.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record<string, unknown>} */\n const attributes = {}\n /** @type {Array<ReturnType<H>|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n state.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], state, name)\n }\n }\n\n if (state.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = webNamespaces[schema.space]\n }\n }\n\n if (state.prefix) {\n state.key++\n attributes.key = state.prefix + state.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (value.type === 'element') {\n nodes.push(transform(h, value, state))\n } else if (value.type === 'text') {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n state.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * Add an attribute to `props`.\n *\n * @param {Record<string, unknown>} props\n * Map.\n * @param {string} prop\n * Key.\n * @param {unknown} value\n * Value.\n * @param {State} state\n * Info passed around.\n * @param {string} name\n * Element name.\n * @returns {void}\n * Nothing.\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, state, name) {\n const info = find(state.schema, prop)\n /** @type {string | undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (state.vue || state.vdom || state.hyperscript)) ||\n (!value && info.boolean && (state.vue || state.vdom || state.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && state.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (state.react || state.vue || state.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 2 */\n if (state.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (state.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (state.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && state.react) {\n props[hastToReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like React.\n */\nfunction react(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `hyperscript`.\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like `virtual-dom`\n */\nfunction vdom(h) {\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * HyperScript function.\n * @returns {boolean}\n * Looks like Vue.\n */\nfunction vue(h) {\n // Vue 3 (used in our tests) doesn’t need this anymore.\n // Some major in the future we can drop Vue 2 support.\n /* c8 ignore next 3 */\n const node = /** @type {unknown} */ (h('div', {}))\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * Parse a declaration into an object.\n *\n * @param {string} value\n * CSS declarations.\n * @param {string} tagName\n * Tag name.\n * @returns {Record<string, string>}\n * Properties.\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n styleToObject(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */\n (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error_) {\n const error = /** @type {Error} */ (error_)\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<unknown>} ReactElement\n *\n * @callback CreateElementLike\n * @param {any} name\n * @param {any} props\n * @param {...ReactNode} children\n * @returns {ReactNode}\n *\n * @typedef SharedOptions\n * Base configuration (without `components`).\n * @property {CreateElementLike} createElement\n * How to create elements or components.\n * You should typically pass `React.createElement`.\n * @property {((props: any) => ReactNode)|undefined} [Fragment]\n * Create fragments instead of an outer `<div>` if available.\n * You should typically pass `React.Fragment`.\n * @property {string|undefined} [prefix='h-']\n * React key prefix.\n * @property {boolean|undefined} [fixTableCellAlign=true]\n * Fix obsolete align attributes on table cells by turning them\n * into inline styles.\n * Keep it on when working with markdown, turn it off when working\n * with markup for emails.\n * The default is `true`.\n *\n * @typedef {SharedOptions & (import('./complex-types').ComponentsWithNodeOptions|import('./complex-types').ComponentsWithoutNodeOptions)} Options\n * Configuration.\n */\n\nimport {toH} from 'hast-to-hyperscript'\n// @ts-expect-error: hush.\nimport tableCellStyle from '@mapbox/hast-util-table-cell-style'\nimport {whitespace} from 'hast-util-whitespace'\n\nconst own = {}.hasOwnProperty\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * Compile HTML to React nodes.\n *\n * > 👉 **Note**: this compiler returns a React node where compilers typically\n * > return `string`.\n * > When using `.stringify`, the result is such a React node.\n * > When using `.process` (or `.processSync`), the result is available at\n * > `file.result`.\n *\n * @this {import('unified').Processor}\n * @type {import('unified').Plugin<[Options], Root, ReactElement>}\n */\nexport default function rehypeReact(options) {\n if (!options || typeof options.createElement !== 'function') {\n throw new TypeError('createElement is not a function')\n }\n\n const createElement = options.createElement\n\n const fixTableCellAlign = options.fixTableCellAlign !== false\n\n Object.assign(this, {Compiler: compiler})\n\n /** @type {import('unified').CompilerFunction<Root, ReactNode>} */\n function compiler(node) {\n /** @type {ReactNode} */\n let result = toH(\n // @ts-expect-error: assume `name` is a known element.\n h,\n fixTableCellAlign ? tableCellStyle(node) : node,\n options.prefix\n )\n\n if (node.type === 'root') {\n // Invert <https://github.com/syntax-tree/hast-to-hyperscript/blob/d227372/index.js#L46-L56>.\n result =\n result &&\n typeof result === 'object' &&\n 'type' in result &&\n 'props' in result &&\n result.type === 'div' &&\n (node.children.length !== 1 || node.children[0].type !== 'element')\n ? // `children` does exist.\n // type-coverage:ignore-next-line\n result.props.children\n : [result]\n\n return createElement(options.Fragment || 'div', {}, result)\n }\n\n return result\n }\n\n /**\n * @param {keyof JSX.IntrinsicElements} name\n * @param {Record<string, unknown>} props\n * @param {Array<ReactNode>} [children]\n * @returns {ReactNode}\n */\n function h(name, props, children) {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we remove the pretty lines for now.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n // See: <https://github.com/rehypejs/rehype-react/pull/29>.\n // See: <https://github.com/rehypejs/rehype-react/pull/32>.\n // See: <https://github.com/rehypejs/rehype-react/pull/45>.\n if (children && tableElements.has(name)) {\n children = children.filter((child) => !whitespace(child))\n }\n\n if (options.components && own.call(options.components, name)) {\n const component = options.components[name]\n\n if (options.passNode && typeof component === 'function') {\n // @ts-expect-error: `toH` passes the current node.\n // type-coverage:ignore-next-line\n props = Object.assign({node: this}, props)\n }\n\n return createElement(component, props, children)\n }\n\n return createElement(name, props, children)\n }\n}\n","/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://infra.spec.whatwg.org/#ascii-whitespace>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst find = /[\\t ]*(?:\\r?\\n|\\r)/g\n\n/**\n * Plugin to support hard breaks without needing spaces or escapes (turns enters\n * into `<br>`s).\n *\n * @type {import('unified').Plugin<void[], Root>}\n */\nexport default function remarkBreaks() {\n return (tree) => {\n visit(tree, 'text', (node, index, parent) => {\n /** @type {PhrasingContent[]} */\n const result = []\n let start = 0\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n\n if (start !== position) {\n result.push({type: 'text', value: node.value.slice(start, position)})\n }\n\n result.push({type: 'break'})\n start = position + match[0].length\n match = find.exec(node.value)\n }\n\n if (result.length > 0 && parent && typeof index === 'number') {\n if (start < node.value.length) {\n result.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...result)\n return index + result.length\n }\n })\n }\n}\n","// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\n\n// Windows paths like `c:\\`\nconst WINDOWS_PATH_REGEX = /^[a-zA-Z]:\\\\/;\n\nexport default function isAbsoluteUrl(url) {\n\tif (typeof url !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof url}\\``);\n\t}\n\n\tif (WINDOWS_PATH_REGEX.test(url)) {\n\t\treturn false;\n\t}\n\n\treturn ABSOLUTE_URL_REGEX.test(url);\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element['children'][number]} ElementChild\n *\n * @typedef Options\n * Configuration.\n * @property {'_self'|'_blank'|'_parent'|'_top'|false} [target='_blank']\n * How to display referenced documents (`string?`: `_self`, `_blank`,\n * `_parent`, or `_top`, default: `_blank`).\n * Pass `false` to not set `target`s on links.\n * @property {string[]|string|false} [rel=['nofollow', 'noopener', 'noreferrer']]\n * Link types to hint about the referenced documents.\n * Pass `false` to not set `rel`s on links.\n *\n * > When using a `target`, add `noopener` and `noreferrer` to avoid\n * > exploitation of the `window.opener` API.\n * @property {string[]} [protocols=['http', 'https']]\n * Protocols to check, such as `mailto` or `tel`.\n * @property {ElementChild|ElementChild[]} [content]\n * hast content to insert at the end of external links.\n * Will be inserted in a `<span>` element.\n *\n * Useful for improving accessibility by [giving users advanced warning when\n * opening a new window.\n * @property {Properties} [contentProperties]\n * `Properties` to add to the `span` wrapping `content`, when given.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {definitions} from 'mdast-util-definitions'\nimport {parse} from 'space-separated-tokens'\nimport absolute from 'is-absolute-url'\nimport extend from 'extend'\n\nconst defaultTarget = '_blank'\nconst defaultRel = ['nofollow', 'noopener', 'noreferrer']\nconst defaultProtocols = ['http', 'https']\n\n/**\n * Plugin to automatically add `target` and `rel` attributes to external links.\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function remarkExternalLinks(options = {}) {\n const target = options.target\n const rel = typeof options.rel === 'string' ? parse(options.rel) : options.rel\n const protocols = options.protocols || defaultProtocols\n const content =\n options.content && !Array.isArray(options.content)\n ? [options.content]\n : options.content\n const contentProperties = options.contentProperties || {}\n\n return (tree) => {\n const definition = definitions(tree)\n\n visit(tree, (node) => {\n if (node.type === 'link' || node.type === 'linkReference') {\n const ctx = node.type === 'link' ? node : definition(node.identifier)\n\n // Undefined references can be injected into the tree by plugins.\n /* c8 ignore next */\n if (!ctx) return\n\n const protocol = ctx.url.slice(0, ctx.url.indexOf(':'))\n\n if (absolute(ctx.url) && protocols.includes(protocol)) {\n const data = node.data || (node.data = {})\n const props = /** @type {Properties} */ (\n data.hProperties || (data.hProperties = {})\n )\n\n if (target !== false) {\n props.target = target || defaultTarget\n }\n\n if (rel !== false) {\n props.rel = (rel || defaultRel).concat()\n }\n\n if (content) {\n // `fragment` is not a known mdast node, but unknown nodes with\n // children are handled as elements by `mdast-util-to-hast`:\n // See: <https://github.com/syntax-tree/mdast-util-to-hast#notes>.\n node.children.push({\n // @ts-expect-error\n type: 'fragment',\n children: [],\n data: {\n hName: 'span',\n hProperties: extend(true, contentProperties),\n hChildren: extend(true, content)\n }\n })\n }\n }\n }\n })\n }\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s.\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML.\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} value\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array<unknown>} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Node}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record<string, unknown>} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array<StackItem>} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record<string, number>} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record<string, number>}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record<string, number>} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit<Point, '_index'|'_bufferIndex'>} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record<string, number>} */\n\n const columnStart = {}\n /** @type {Array<Construct>} */\n\n const resolveAllConstructs = []\n /** @type {Array<Chunk>} */\n\n let chunks = []\n /** @type {Array<Token>} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record<string, unknown>} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Array<Construct>|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Array<Construct>} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Array<Construct>} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array<Chunk>} chunks\n * @param {Pick<Token, 'start'|'end'>} token\n * @returns {Array<Chunk>}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array<Chunk>} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array<Chunk>} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array<string>} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record<string, unknown> & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable<Code>} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * Note that `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/// <reference lib=\"dom\" />\n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable<Code>|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Array<Chunk>}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Root | Content} Node\n * @typedef {Extract<Node, UnistParent>} Parent\n *\n * @typedef {Omit<UnistParent, 'type' | 'children'> & {type: 'fragment', children: Array<PhrasingContent>}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | undefined | null | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {Record<string, Handle>} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit<CompileContext, 'sliceSerialize'>} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit<CompileContext, 'sliceSerialize'>} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {void}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array<string>} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array<Transform>} transforms\n * Tree transforms.\n *\n * @typedef {Partial<Config>} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array<Node | Fragment>} stack\n * Stack of nodes.\n * @property {Array<TokenTuple>} tokenStack\n * Stack of tokens.\n * @property {<Key extends keyof CompileData>(key: Key) => CompileData[Key]} getData\n * Get data from the key/value store.\n * @property {<Key extends keyof CompileData>(key: Key, value?: CompileData[Key]) => void} setData\n * Set data into the key/value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {<Kind extends Node>(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array<Extension | Array<Extension>> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\n// To do: micromark: create a registry of tokens?\n// To do: next major: don’t return given `Node` from `enter`.\n// To do: next major: remove setter/getter.\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * @param value\n * Markdown to parse.\n * @param encoding\n * Character encoding for when `value` is `Buffer`.\n * @param options\n * Configuration.\n * @returns\n * mdast tree.\n */\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) &\n * ((value: Value, options?: Options | null | undefined) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding | Options | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n // @ts-expect-error: micromark types need to accept `null`.\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array<Event>} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n /** @type {Array<number>} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n }\n // @ts-expect-error: `listItem` is most definitely defined, TS...\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n // @ts-expect-error Patched.\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Set data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @param {CompileData[Key]} [value]\n * New value.\n * @returns {void}\n * Nothing.\n */\n function setData(key, value) {\n data[key] = value\n }\n\n /**\n * Get data.\n *\n * @template {keyof CompileData} Key\n * Field type.\n * @param {Key} key\n * Key of field.\n * @returns {CompileData[Key]}\n * Value.\n */\n function getData(key) {\n return data[key]\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Node} create\n * Create a node.\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {void}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @template {Node} Kind\n * Node type.\n * @this {CompileContext}\n * Context.\n * @param {Kind} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {Kind}\n * The given node.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n // @ts-expect-error: `end` will be patched later.\n node.position = {\n start: point(token.start)\n }\n return node\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {Node}\n * The closed node.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n return node\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n let tail = node.children[node.children.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n // @ts-expect-error: we’ll add `end` later.\n tail.position = {\n start: point(token.start)\n }\n // @ts-expect-error: Assume `parent` accepts `text`.\n node.children.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (getData('inReference')) {\n /** @type {ReferenceType} */\n const referenceType = getData('referenceType') || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n setData('referenceType')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n setData('inReference', true)\n if (node.type === 'link') {\n /** @type {Array<StaticPhrasingContent>} */\n // @ts-expect-error: Assume static phrasing content.\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n setData('inReference')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {HTML} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array<Extension | Array<Extension>>} extensions\n * @returns {void}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {void}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n if (key === 'canContainEols') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'transforms') {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n } else if (key === 'enter' || key === 'exit') {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Array<Event>} events\n * @returns {Array<Event>}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","import remarkParse from './lib/index.js'\n\nexport default remarkParse\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction<Root>} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri` below).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * Then, a regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`,\n * or `/^https?$/i` for `img[src]`.\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string|undefined} url\n * @param {RegExp} [protocol]\n * @returns {string}\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n\n if (!protocol) {\n return value\n }\n\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) || // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n/**\n * Normalize a URL (such as used in definitions).\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function normalizeUri(value) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n\n let replace = '' // A correct percent encoded value.\n\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n } // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n } // Astral.\n else if (code > 55295 && code < 57344) {\n const next = value.charCodeAt(index + 1) // A correct surrogate pair.\n\n if (code < 56320 && next > 56319 && next < 57344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n } // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n } // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n\n if (skip) {\n index += skip\n skip = 0\n }\n }\n\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('hast').Element} Element\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {FootnoteReference} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnoteReference(state, node) {\n const id = String(node.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n const index = state.footnoteOrder.indexOf(id)\n /** @type {number} */\n let counter\n\n if (index === -1) {\n state.footnoteOrder.push(id)\n state.footnoteCounts[id] = 1\n counter = state.footnoteOrder.length\n } else {\n state.footnoteCounts[id]++\n counter = index + 1\n }\n\n const reuseCounter = state.footnoteCounts[id]\n\n /** @type {Element} */\n const link = {\n type: 'element',\n tagName: 'a',\n properties: {\n href: '#' + state.clobberPrefix + 'fn-' + safeId,\n id:\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (reuseCounter > 1 ? '-' + reuseCounter : ''),\n dataFootnoteRef: true,\n ariaDescribedBy: ['footnote-label']\n },\n children: [{type: 'text', value: String(counter)}]\n }\n state.patch(node, link)\n\n /** @type {Element} */\n const sup = {\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [link]\n }\n state.patch(node, sup)\n return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Reference} Reference\n * @typedef {import('mdast').Root} Root\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Reference>} References\n */\n\n// To do: next major: always return array.\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {References} node\n * Reference node (image, link).\n * @returns {ElementContent | Array<ElementContent>}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return {type: 'text', value: '![' + node.alt + suffix}\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Parent>} Parents\n */\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array<ElementContent>} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Get the starting point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointStart = point('start')\n\n/**\n * Get the ending point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike | Node | null | undefined} [node]\n * Node.\n * @returns {Position}\n * Position.\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start' | 'end'} type\n * Side.\n * @returns\n * Getter.\n */\nfunction point(type) {\n return point\n\n /**\n * Get the point info of `node` at a bound side.\n *\n * @param {NodeLike | Node | null | undefined} [node]\n * @returns {Point}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n // To do: next major: don’t return points when invalid.\n return {\n // @ts-expect-error: in practice, null is allowed.\n line: point.line || null,\n // @ts-expect-error: in practice, null is allowed.\n column: point.column || null,\n // @ts-expect-error: in practice, null is allowed.\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array<string>} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array<Element | Text>}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang ? node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/) : null\n /** @type {Properties} */\n const properties = {}\n\n if (lang) {\n properties.className = ['language-' + lang]\n }\n\n // Create `<code>`.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `<pre>`.\n result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n state.patch(node, result)\n return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n\n */\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Delete} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strikethrough(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'del',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Emphasis} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function emphasis(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'em',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../state.js').State} State\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n// To do: when both:\n// * <https://github.com/micromark/micromark-extension-footnote>\n// * <https://github.com/syntax-tree/mdast-util-footnote>\n// …are archived, remove this (also from mdast).\n// These inline notes are not used in GFM.\n\n/**\n * Turn an mdast `footnote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Footnote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnote(state, node) {\n const footnoteById = state.footnoteById\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(state, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Heading} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function heading(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'h' + node.depth,\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').HTML} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n * Info passed around.\n * @param {Html} node\n * mdast node.\n * @returns {Raw | Element | null}\n * hast node.\n */\nexport function html(state, node) {\n if (state.dangerous) {\n /** @type {Raw} */\n const result = {type: 'raw', value: node.value}\n state.patch(node, result)\n return state.applyData(node, result)\n }\n\n // To do: next major: return `undefined`.\n return null\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ImageReference} node\n * mdast node.\n * @returns {ElementContent | Array<ElementContent>}\n * hast node.\n */\nexport function imageReference(state, node) {\n const def = state.definition(node.identifier)\n\n if (!def) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {src: normalizeUri(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n properties.title = def.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Image} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function image(state, node) {\n /** @type {Properties} */\n const properties = {src: normalizeUri(node.url)}\n\n if (node.alt !== null && node.alt !== undefined) {\n properties.alt = node.alt\n }\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {InlineCode} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function inlineCode(state, node) {\n /** @type {Text} */\n const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n state.patch(node, text)\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'code',\n properties: {},\n children: [text]\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {LinkReference} node\n * mdast node.\n * @returns {ElementContent | Array<ElementContent>}\n * hast node.\n */\nexport function linkReference(state, node) {\n const def = state.definition(node.identifier)\n\n if (!def) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {href: normalizeUri(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n properties.title = def.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Link} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function link(state, node) {\n /** @type {Properties} */\n const properties = {href: normalizeUri(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {List} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function list(state, node) {\n /** @type {Properties} */\n const properties = {}\n const results = state.all(node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n properties.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < results.length) {\n const child = results[index]\n\n if (\n child.type === 'element' &&\n child.tagName === 'li' &&\n child.properties &&\n Array.isArray(child.properties.className) &&\n child.properties.className.includes('task-list-item')\n ) {\n properties.className = ['contains-task-list']\n break\n }\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: node.ordered ? 'ol' : 'ul',\n properties,\n children: state.wrap(results, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Paragraph} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function paragraph(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'p',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastRoot} node\n * mdast node.\n * @returns {HastRoot | HastElement}\n * hast node.\n */\nexport function root(state, node) {\n /** @type {HastRoot} */\n const result = {type: 'root', children: state.wrap(state.all(node))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Strong} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strong(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'strong',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Table} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function table(state, node) {\n const rows = state.all(node)\n const firstRow = rows.shift()\n /** @type {Array<Element>} */\n const tableContent = []\n\n if (firstRow) {\n /** @type {Element} */\n const head = {\n type: 'element',\n tagName: 'thead',\n properties: {},\n children: state.wrap([firstRow], true)\n }\n state.patch(node.children[0], head)\n tableContent.push(head)\n }\n\n if (rows.length > 0) {\n /** @type {Element} */\n const body = {\n type: 'element',\n tagName: 'tbody',\n properties: {},\n children: state.wrap(rows, true)\n }\n\n const start = pointStart(node.children[1])\n const end = pointEnd(node.children[node.children.length - 1])\n if (start.line && end.line) body.position = {start, end}\n tableContent.push(body)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'table',\n properties: {},\n children: state.wrap(tableContent, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableCell} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function tableCell(state, node) {\n // Note: this function is normally not called: see `table-row` for how rows\n // and their cells are compiled.\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'td', // Assume body cell.\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * @typedef {Root | Content} Nodes\n * @typedef {Extract<Nodes, Parent>} Parents\n */\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableRow} node\n * mdast node.\n * @param {Parents | null | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function tableRow(state, node, parent) {\n const siblings = parent ? parent.children : undefined\n // Generate a body row when without parent.\n const rowIndex = siblings ? siblings.indexOf(node) : 1\n const tagName = rowIndex === 0 ? 'th' : 'td'\n const align = parent && parent.type === 'table' ? parent.align : undefined\n const length = align ? align.length : node.children.length\n let cellIndex = -1\n /** @type {Array<ElementContent>} */\n const cells = []\n\n while (++cellIndex < length) {\n // Note: can also be undefined.\n const cell = node.children[cellIndex]\n /** @type {Properties} */\n const properties = {}\n const alignValue = align ? align[cellIndex] : undefined\n\n if (alignValue) {\n properties.align = alignValue\n }\n\n /** @type {Element} */\n let result = {type: 'element', tagName, properties, children: []}\n\n if (cell) {\n result.children = state.all(cell)\n state.patch(cell, result)\n result = state.applyData(node, result)\n }\n\n cells.push(result)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'tr',\n properties: {},\n children: state.wrap(cells, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastText} node\n * mdast node.\n * @returns {HastText | HastElement}\n * hast node.\n */\nexport function text(state, node) {\n /** @type {HastText} */\n const result = {type: 'text', value: trimLines(String(node.value))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ThematicBreak} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function thematicBreak(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'hr',\n properties: {},\n children: []\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Parent} MdastParent\n * @typedef {import('mdast').Root} MdastRoot\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n * @typedef {Extract<MdastNodes, MdastParent>} MdastParents\n *\n * @typedef EmbeddedHastFields\n * hast fields.\n * @property {string | null | undefined} [hName]\n * Generate a specific element with this tag name instead.\n * @property {HastProperties | null | undefined} [hProperties]\n * Generate an element with these properties instead.\n * @property {Array<HastElementContent> | null | undefined} [hChildren]\n * Generate an element with this content instead.\n *\n * @typedef {Record<string, unknown> & EmbeddedHastFields} MdastData\n * mdast data with embedded hast fields.\n *\n * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData\n * mdast node with embedded hast data.\n *\n * @typedef PointLike\n * Point-like value.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @typedef PositionLike\n * Position-like value.\n * @property {PointLike | null | undefined} [start]\n * Point-like value.\n * @property {PointLike | null | undefined} [end]\n * Point-like value.\n *\n * @callback Handler\n * Handle a node.\n * @param {State} state\n * Info passed around.\n * @param {any} node\n * mdast node to handle.\n * @param {MdastParents | null | undefined} parent\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * hast node.\n *\n * @callback HFunctionProps\n * Signature of `state` for when props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n * mdast node or unist position.\n * @param {string} tagName\n * HTML tag name.\n * @param {HastProperties} props\n * Properties.\n * @param {Array<HastElementContent> | null | undefined} [children]\n * hast content.\n * @returns {HastElement}\n * Compiled element.\n *\n * @callback HFunctionNoProps\n * Signature of `state` for when no props are passed.\n * @param {MdastNodes | PositionLike | null | undefined} node\n * mdast node or unist position.\n * @param {string} tagName\n * HTML tag name.\n * @param {Array<HastElementContent> | null | undefined} [children]\n * hast content.\n * @returns {HastElement}\n * Compiled element.\n *\n * @typedef HFields\n * Info on `state`.\n * @property {boolean} dangerous\n * Whether HTML is allowed.\n * @property {string} clobberPrefix\n * Prefix to use to prevent DOM clobbering.\n * @property {string} footnoteLabel\n * Label to use to introduce the footnote section.\n * @property {string} footnoteLabelTagName\n * HTML used for the footnote label.\n * @property {HastProperties} footnoteLabelProperties\n * Properties on the HTML tag used for the footnote label.\n * @property {string} footnoteBackLabel\n * Label to use from backreferences back to their footnote call.\n * @property {(identifier: string) => MdastDefinition | null} definition\n * Definition cache.\n * @property {Record<string, MdastFootnoteDefinition>} footnoteById\n * Footnote definitions by their identifier.\n * @property {Array<string>} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Record<string, number>} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {Handler} unknownHandler\n * Handler for any none not in `passThrough` or otherwise handled.\n * @property {(from: MdastNodes, node: HastNodes) => void} patch\n * Copy a node’s positional info.\n * @property {<Type extends HastNodes>(from: MdastNodes, to: Type) => Type | HastElement} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array<HastElementContent> | null | undefined} one\n * Transform an mdast node to hast.\n * @property {(node: MdastNodes) => Array<HastElementContent>} all\n * Transform the children of an mdast parent to hast.\n * @property {<Type extends HastContent>(nodes: Array<Type>, loose?: boolean | null | undefined) => Array<Type | HastText>} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment\n * Like `state` but lower-level and usable on non-elements.\n * Deprecated: use `patch` and `applyData`.\n * @property {Array<string>} passThrough\n * List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Whether to persist raw HTML in markdown in the hast tree.\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n * Prefix to use before the `id` attribute on footnotes to prevent it from\n * *clobbering*.\n * @property {string | null | undefined} [footnoteBackLabel='Back to content']\n * Label to use from backreferences back to their footnote call (affects\n * screen readers).\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Label to use for the footnotes section (affects screen readers).\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (note that `id: 'footnote-label'`\n * is always added as footnote calls use it with `aria-describedby` to\n * provide an accessible label).\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * Tag name to use for the footnote label.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes.\n * @property {Array<string> | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes.\n *\n * @typedef {Record<string, Handler>} Handlers\n * Handle nodes.\n *\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} State\n * Info passed around.\n */\n\nimport {visit} from 'unist-util-visit'\nimport {position, pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Record<string, MdastFootnoteDefinition>} */\n const footnoteById = {}\n\n // To do: next major: add `options` to state, remove:\n // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,\n // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,\n // `unknownHandler`.\n\n // To do: next major: move to `state.options.allowDangerousHtml`.\n state.dangerous = dangerous\n // To do: next major: move to `state.options`.\n state.clobberPrefix =\n settings.clobberPrefix === undefined || settings.clobberPrefix === null\n ? 'user-content-'\n : settings.clobberPrefix\n // To do: next major: move to `state.options`.\n state.footnoteLabel = settings.footnoteLabel || 'Footnotes'\n // To do: next major: move to `state.options`.\n state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2'\n // To do: next major: move to `state.options`.\n state.footnoteLabelProperties = settings.footnoteLabelProperties || {\n className: ['sr-only']\n }\n // To do: next major: move to `state.options`.\n state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content'\n // To do: next major: move to `state.options`.\n state.unknownHandler = settings.unknownHandler\n // To do: next major: move to `state.options`.\n state.passThrough = settings.passThrough\n\n state.handlers = {...handlers, ...settings.handlers}\n\n // To do: next major: replace utility with `definitionById` object, so we\n // only walk once (as we need footnotes too).\n state.definition = definitions(tree)\n state.footnoteById = footnoteById\n /** @type {Array<string>} */\n state.footnoteOrder = []\n /** @type {Record<string, number>} */\n state.footnoteCounts = {}\n\n state.patch = patch\n state.applyData = applyData\n state.one = oneBound\n state.all = allBound\n state.wrap = wrap\n // To do: next major: remove `augment`.\n state.augment = augment\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return state\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n *\n * @param {MdastNodeWithData | PositionLike | null | undefined} left\n * @param {HastElementContent} right\n * @returns {HastElementContent}\n */\n /* c8 ignore start */\n // To do: next major: remove.\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {MdastData} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n // @ts-expect-error: fine.\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n /* c8 ignore stop */\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n /* c8 ignore start */\n // To do: next major: remove.\n function state(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n /* c8 ignore stop */\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | null | undefined} [parent]\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * Resulting hast node.\n */\n function oneBound(node, parent) {\n // @ts-expect-error: that’s a state :)\n return one(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n function allBound(parent) {\n // @ts-expect-error: that’s a state :)\n return all(state, parent)\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {void}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {Type | HastElement}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {Type | HastElement} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent is likely to keep the content around (otherwise: pass\n // `hChildren`).\n else {\n result = {\n type: 'element',\n tagName: hName,\n properties: {},\n children: []\n }\n\n // To do: next major: take the children from the `root`, or inject the\n // raw/text/comment or so into the element?\n // if ('children' in node) {\n // // @ts-expect-error: assume `children` are allowed in elements.\n // result.children = node.children\n // } else {\n // // @ts-expect-error: assume `node` is allowed in elements.\n // result.children.push(node)\n // }\n }\n }\n\n if (result.type === 'element' && hProperties) {\n result.properties = {...result.properties, ...hProperties}\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n // @ts-expect-error: assume valid children are defined.\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an mdast node into a hast node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | null | undefined} [parent]\n * Parent of `node`.\n * @returns {HastElementContent | Array<HastElementContent> | null | undefined}\n * Resulting hast node.\n */\n// To do: next major: do not expose, keep bound.\nexport function one(state, node, parent) {\n const type = node && node.type\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(state.handlers, type)) {\n return state.handlers[type](state, node, parent)\n }\n\n if (state.passThrough && state.passThrough.includes(type)) {\n // To do: next major: deep clone.\n // @ts-expect-error: types of passed through nodes are expected to be added manually.\n return 'children' in node ? {...node, children: all(state, node)} : node\n }\n\n if (state.unknownHandler) {\n return state.unknownHandler(state, node, parent)\n }\n\n return defaultUnknownHandler(state, node)\n}\n\n/**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n// To do: next major: do not expose, keep bound.\nexport function all(state, parent) {\n /** @type {Array<HastElementContent>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = one(state, nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastText | HastElement}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastText | HastElement} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: all(state, node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastContent} Type\n * Node type.\n * @param {Array<Type>} nodes\n * List of nodes to wrap.\n * @param {boolean | null | undefined} [loose=false]\n * Whether to add line endings at start and end.\n * @returns {Array<Type | HastText>}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array<Type | HastText>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n","/**\n * @typedef {import('hast').Content} HastContent\n * @typedef {import('hast').Root} HastRoot\n *\n * @typedef {import('mdast').Content} MdastContent\n * @typedef {import('mdast').Root} MdastRoot\n *\n * @typedef {import('./state.js').Options} Options\n */\n\n/**\n * @typedef {HastRoot | HastContent} HastNodes\n * @typedef {MdastRoot | MdastContent} MdastNodes\n */\n\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * <p id=x></p>\n * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `<div>` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {HastNodes | null | undefined}\n * hast tree.\n */\n// To do: next major: always return a single `root`.\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, null)\n const foot = footer(state)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n // To do: next major: always return root?\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef NodeLike\n * @property {PositionLike | null | undefined} [position]\n */\n\n/**\n * Check if `node` is generated.\n *\n * @param {NodeLike | null | undefined} [node]\n * Node to check.\n * @returns {boolean}\n * Whether `node` is generated (does not have positional info).\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\nexport function footer(state) {\n /** @type {Array<ElementContent>} */\n const listItems = []\n let index = -1\n\n while (++index < state.footnoteOrder.length) {\n const def = state.footnoteById[state.footnoteOrder[index]]\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let referenceIndex = 0\n /** @type {Array<ElementContent>} */\n const backReferences = []\n\n while (++referenceIndex <= state.footnoteCounts[id]) {\n /** @type {Element} */\n const backReference = {\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n state.clobberPrefix +\n 'fnref-' +\n safeId +\n (referenceIndex > 1 ? '-' + referenceIndex : ''),\n dataFootnoteBackref: true,\n className: ['data-footnote-backref'],\n ariaLabel: state.footnoteBackLabel\n },\n children: [{type: 'text', value: '↩'}]\n }\n\n if (referenceIndex > 1) {\n backReference.children.push({\n type: 'element',\n tagName: 'sup',\n children: [{type: 'text', value: String(referenceIndex)}]\n })\n }\n\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n backReferences.push(backReference)\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: state.clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: state.footnoteLabelTagName,\n properties: {\n // To do: use structured clone.\n ...JSON.parse(JSON.stringify(state.footnoteLabelProperties)),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: state.footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor<any, any, any, any>} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(\n\n/**\n * Plugin that turns markdown into HTML to support rehype.\n *\n * * If a destination processor is given, that processor runs with a new HTML\n * (hast) tree (bridge-mode).\n * As the given processor runs with a hast tree, and rehype plugins support\n * hast, that means rehype plugins can be used with the given processor.\n * The hast tree is discarded in the end.\n * It’s highly unlikely that you want to do this.\n * * The common case is to not pass a destination processor, in which case the\n * current processor continues running with a new HTML (hast) tree\n * (mutate-mode).\n * As the current processor continues with a hast tree, and rehype plugins\n * support hast, that means rehype plugins can be used after\n * `remark-rehype`.\n * It’s likely that this is what you want to do.\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination || options)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further plugins run on the hast tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned by `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","import stripAnsi from 'strip-ansi';\nimport charRegex from 'char-regex';\n\nexport default function stringLength(string, {countAnsiEscapeCodes = false} = {}) {\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\treturn string.match(charRegex()).length;\n}\n","import ansiRegex from 'ansi-regex';\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\treturn string.replace(ansiRegex(), '');\n}\n","export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","// Based on https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js\r\n\r\nexport default function charRegex() {\r\n\t// Unicode character classes\r\n\tconst astralRange = '\\\\ud800-\\\\udfff';\r\n\tconst comboMarksRange = '\\\\u0300-\\\\u036f';\r\n\tconst comboHalfMarksRange = '\\\\ufe20-\\\\ufe2f';\r\n\tconst comboSymbolsRange = '\\\\u20d0-\\\\u20ff';\r\n\tconst comboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff';\r\n\tconst comboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff';\r\n\tconst comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange;\r\n\tconst varRange = '\\\\ufe0e\\\\ufe0f';\r\n\r\n\t// Telugu characters\r\n\tconst teluguVowels = '\\\\u0c05-\\\\u0c0c\\\\u0c0e-\\\\u0c10\\\\u0c12-\\\\u0c14\\\\u0c60-\\\\u0c61';\r\n\tconst teluguVowelsDiacritic = '\\\\u0c3e-\\\\u0c44\\\\u0c46-\\\\u0c48\\\\u0c4a-\\\\u0c4c\\\\u0c62-\\\\u0c63';\r\n\tconst teluguConsonants = '\\\\u0c15-\\\\u0c28\\\\u0c2a-\\\\u0c39';\r\n\tconst teluguConsonantsRare = '\\\\u0c58-\\\\u0c5a';\r\n\tconst teluguModifiers = '\\\\u0c01-\\\\u0c03\\\\u0c4d\\\\u0c55\\\\u0c56';\r\n\tconst teluguNumerals = '\\\\u0c66-\\\\u0c6f\\\\u0c78-\\\\u0c7e';\r\n\tconst teluguSingle = `[${teluguVowels}(?:${teluguConsonants}(?!\\\\u0c4d))${teluguNumerals}${teluguConsonantsRare}]`;\r\n\tconst teluguDouble = `[${teluguConsonants}${teluguConsonantsRare}][${teluguVowelsDiacritic}]|[${teluguConsonants}${teluguConsonantsRare}][${teluguModifiers}`;\r\n\tconst teluguTriple = `[${teluguConsonants}]\\\\u0c4d[${teluguConsonants}]`;\r\n\tconst telugu = `(?:${teluguTriple}|${teluguDouble}|${teluguSingle})`;\r\n\r\n\t// Unicode capture groups\r\n\tconst astral = `[${astralRange}]`;\r\n\tconst combo = `[${comboRange}]`;\r\n\tconst fitz = '\\\\ud83c[\\\\udffb-\\\\udfff]';\r\n\tconst modifier = `(?:${combo}|${fitz})`;\r\n\tconst nonAstral = `[^${astralRange}]`;\r\n\tconst regional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}';\r\n\tconst surrogatePair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]';\r\n\tconst zeroWidthJoiner = '\\\\u200d';\r\n\tconst blackFlag = '(?:\\\\ud83c\\\\udff4\\\\udb40\\\\udc67\\\\udb40\\\\udc62\\\\udb40(?:\\\\udc65|\\\\udc73|\\\\udc77)\\\\udb40(?:\\\\udc6e|\\\\udc63|\\\\udc6c)\\\\udb40(?:\\\\udc67|\\\\udc74|\\\\udc73)\\\\udb40\\\\udc7f)';\r\n\r\n\t// Unicode regexes\r\n\tconst optModifier = `${modifier}?`;\r\n\tconst optVar = `[${varRange}]?`;\r\n\tconst optJoin = `(?:${zeroWidthJoiner}(?:${[nonAstral, regional, surrogatePair].join('|')})${optVar + optModifier})*`;\r\n\tconst seq = optVar + optModifier + optJoin;\r\n\tconst nonAstralCombo = `${nonAstral}${combo}?`;\r\n\tconst symbol = `(?:${[blackFlag, nonAstralCombo, combo, regional, surrogatePair, astral].join('|')})`;\r\n\r\n\t// Match string symbols (https://mathiasbynens.be/notes/javascript-unicode)\r\n\treturn new RegExp(`${fitz}(?=${fitz})|${telugu}|${symbol + seq}`, 'g');\r\n}\r\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason` at `place` from `origin`.\n *\n * When an error is passed in as `reason`, the `stack` is copied.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n *\n * > 👉 **Note**: you should use markdown.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // To do: next major: expose `undefined` everywhere instead of `null`.\n constructor(reason, place, origin) {\n /** @type {[string | null, string | null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n // To do: next major: deep clone.\n // @ts-expect-error: looks like a position.\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n // @ts-expect-error: looks like a position.\n // To do: next major: deep clone.\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n // To do: next major: deep clone.\n position.start = place\n }\n }\n\n // Fields from `Error`.\n /**\n * Serialized positional info of error.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(place) || '1:1'\n\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = typeof reason === 'object' ? reason.message : reason\n\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack = ''\n\n if (typeof reason === 'object' && reason.stack) {\n this.stack = reason.stack\n }\n\n /**\n * Reason for message.\n *\n * > 👉 **Note**: you should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /* eslint-disable no-unused-expressions */\n /**\n * State of problem.\n *\n * * `true` — marks associated file as no longer processable (error)\n * * `false` — necessitates a (potential) change (warning)\n * * `null | undefined` — for things that might not need changing (info)\n *\n * @type {boolean | null | undefined}\n */\n this.fatal\n\n /**\n * Starting line of error.\n *\n * @type {number | null}\n */\n this.line = position.start.line\n\n /**\n * Starting column of error.\n *\n * @type {number | null}\n */\n this.column = position.start.column\n\n /**\n * Full unist position.\n *\n * @type {Position | null}\n */\n this.position = position\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | null}\n */\n this.source = parts[0]\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | null}\n */\n this.ruleId = parts[1]\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | null}\n */\n this.file\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | null}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array<string> | null}\n */\n this.expected\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | null}\n */\n this.url\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | null}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array<string>} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * Check if `fileUrlOrPath` looks like a URL.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileUrlOrPath) {\n return (\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.href &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.origin\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {Record<string, unknown> & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n *\n * This is a copy of the types from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Options | URL | Value | VFile} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {Value | null | undefined} [value]\n * Set `value`.\n * @property {string | null | undefined} [cwd]\n * Set `cwd`.\n * @property {Array<string> | null | undefined} [history]\n * Set `history`.\n * @property {URL | string | null | undefined} [path]\n * Set `path`.\n * @property {string | null | undefined} [basename]\n * Set `basename`.\n * @property {string | null | undefined} [stem]\n * Set `stem`.\n * @property {string | null | undefined} [extname]\n * Set `extname`.\n * @property {string | null | undefined} [dirname]\n * Set `dirname`.\n * @property {Data | null | undefined} [data]\n * Set `data`.\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array<string>} sources\n * An array of URLs to the original source files.\n * @property {Array<string>} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array<string> | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template {ReporterSettings} Settings\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array<VFile>} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport bufferLike from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n *\n * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}\n */\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Buffer` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {string | URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Buffer`\n * (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding || undefined)\n }\n\n /**\n * Create a warning message associated with the file.\n *\n * Its `fatal` is set to `false` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Create an info message associated with the file.\n *\n * Its `fatal` is set to `null` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Create a fatal error associated with the file.\n *\n * Its `fatal` is set to `true` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Message.\n * @throws {VFileMessage}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {void}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is a buffer.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Buffer}\n * Whether `value` is a Node.js buffer.\n */\nfunction buffer(value) {\n return bufferLike(value)\n}\n","/// <reference lib=\"dom\" />\n\nimport {isUrl} from './minurl.shared.js'\n\n// See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>\n\n/**\n * @param {string | URL} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n */\n\n/**\n * @typedef {Array<Node> | string} ChildrenOrValue\n * List to use as `children` or value to use as `value`.\n *\n * @typedef {Record<string, unknown>} Props\n * Other fields to add to the node.\n */\n\n/**\n * Build a node.\n *\n * @param type\n * Node type.\n * @param props\n * Fields assigned to node.\n * @param value\n * Children of node or value of `node` (cast to string).\n * @returns\n * Built node.\n */\nexport const u =\n /**\n * @type {(\n * (<T extends string>(type: T) => {type: T}) &\n * (<T extends string, P extends Props>(type: T, props: P) => {type: T} & P) &\n * (<T extends string>(type: T, value: string) => {type: T, value: string}) &\n * (<T extends string, P extends Props>(type: T, props: P, value: string) => {type: T, value: string} & P) &\n * (<T extends string, C extends Array<Node>>(type: T, children: C) => {type: T, children: C}) &\n * (<T extends string, P extends Props, C extends Array<Node>>(type: T, props: P, children: C) => {type: T, children: C} & P)\n * )}\n */\n (\n /**\n * @param {string} type\n * @param {Props | ChildrenOrValue | null | undefined} [props]\n * @param {ChildrenOrValue | null | undefined} [value]\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n const node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n // @ts-expect-error: create a parent.\n node.children = value\n } else if (value !== undefined && value !== null) {\n // @ts-expect-error: create a literal.\n node.value = String(value)\n }\n\n return node\n }\n )\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @typedef {Record<string, unknown>} Props\n * @typedef {null | undefined | string | Props | TestFunctionAnything | Array<string | Props | TestFunctionAnything>} Test\n * Check for an arbitrary node, unaware of TypeScript inferral.\n *\n * @callback TestFunctionAnything\n * Check if a node passes a test, unaware of TypeScript inferral.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | void}\n * Whether this node passes the test.\n */\n\n/**\n * @template {Node} Kind\n * Node type.\n * @typedef {Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind> | Array<Kind['type'] | Partial<Kind> | TestFunctionPredicate<Kind>>} PredicateTest\n * Check for a node that can be inferred by TypeScript.\n */\n\n/**\n * Check if a node passes a certain test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback TestFunctionPredicate\n * Complex test function for a node that can be inferred by TypeScript.\n * @param {Node} node\n * A node.\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this node passes the test.\n */\n\n/**\n * @callback AssertAnything\n * Check that an arbitrary value is a node, unaware of TypeScript inferral.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if a node is a node and passes a certain node test.\n *\n * @template {Node} Kind\n * Node type.\n * @callback AssertPredicate\n * Check that an arbitrary value is a specific node, aware of TypeScript.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {node is Kind}\n * Whether this is a node and passes a test.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @param test\n * A check for a specific node.\n * @param index\n * The node’s position in its parent.\n * @param parent\n * The node’s parent.\n * @returns\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n /**\n * @type {(\n * (() => false) &\n * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index: number, parent: Parent, context?: unknown) => node is Kind) &\n * (<Kind extends Node = Node>(node: unknown, test: PredicateTest<Kind>, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) &\n * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) &\n * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns\n * An assertion.\n */\nexport const convert =\n /**\n * @type {(\n * (<Kind extends Node>(test: PredicateTest<Kind>) => AssertPredicate<Kind>) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array<string | Props | TestFunctionAnything>} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array<AssertAnything>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {Array<unknown>} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {unknown} node\n * @param {Array<unknown>} parameters\n * @returns {boolean}\n */\n function assertion(node, ...parameters) {\n return Boolean(\n node &&\n typeof node === 'object' &&\n 'type' in node &&\n // @ts-expect-error: fine.\n Boolean(check.call(this, node, ...parameters))\n )\n }\n}\n\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n */\n\n/**\n * @typedef {boolean | 'skip'} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array<Ancestor>} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * Tree type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {Visitor<import('./complex-types.js').Matches<import('./complex-types.js').InclusiveDescendant<Tree>, Check>, Extract<import('./complex-types.js').InclusiveDescendant<Tree>, Parent>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visitParents =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor<Node>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {Node} node\n * @param {number | undefined} index\n * @param {Array<Parent>} parents\n */\n function factory(node, index, parents) {\n /** @type {Record<string, unknown>} */\n // @ts-expect-error: hush\n const value = node && typeof node === 'object' ? node : {}\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array<Parent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {ActionTuple}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * Check if `Child` can be a child of `Ancestor`.\n *\n * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns\n * `never`.\n *\n * @template {Node} Ancestor\n * Node type.\n * @template {Node} Child\n * Node type.\n * @typedef {(\n * Ancestor extends Parent\n * ? Child extends Ancestor['children'][number]\n * ? Ancestor\n * : never\n * : never\n * )} ParentsOf\n */\n\n/**\n * @template {Node} [Visited=Node]\n * Visited node type.\n * @template {Parent} [Ancestor=Parent]\n * Ancestor type.\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends Node ? number | null : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends Node ? Ancestor | null : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n */\n\n/**\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Visited\n * Node type.\n * @template {Parent} Ancestor\n * Parent type.\n * @typedef {Visitor<Visited, ParentsOf<Ancestor, Visited>>} BuildVisitorFromMatch\n */\n\n/**\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n * @typedef {(\n * BuildVisitorFromMatch<\n * import('unist-util-visit-parents/complex-types.js').Matches<Descendant, Check>,\n * Extract<Descendant, Parent>\n * >\n * )} BuildVisitorFromDescendants\n */\n\n/**\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n *\n * @template {Node} [Tree=Node]\n * Node type.\n * @template {Test} [Check=string]\n * Test type.\n * @typedef {(\n * BuildVisitorFromDescendants<\n * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant<Tree>,\n * Check\n * >\n * )} BuildVisitor\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @param tree\n * Tree to traverse.\n * @param test\n * `unist-util-is`-compatible test\n * @param visitor\n * Handle each node.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns\n * Nothing.\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: BuildVisitor<Tree, Check>, reverse?: boolean | null | undefined) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: BuildVisitor<Tree>, reverse?: boolean | null | undefined) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {Visitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {void}\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n"],"names":["visit","hasOwnProperty","Object","prototype","hastCssPropertyMap","align","valign","height","width","visitor","node","hastName","tagName","call","undefined","properties","appendStyle","property","value","prevStyle","style","trim","test","nextStyle","module","exports","convert","Boolean","type","typeFactory","ok","anyFactory","matchesFactory","Error","key","tests","checks","results","length","index","convertAll","apply","this","arguments","visitParents","CONTINUE","SKIP","EXIT","tree","reverse","is","one","parents","subresult","result","toResult","children","step","all","concat","parent","indexOf","e","self","t","n","d","Z","c","i","r","o","a","s","l","name","components","NcButton","default","AlertCircle","Check","inheritAttrs","props","String","required","validator","includes","label","labelOutside","labelVisible","placeholder","showTrailingButton","trailingButtonLabel","success","error","helperText","disabled","inputClass","emits","computed","computedId","$attrs","id","inputName","hasLeadingIcon","$slots","hasTrailingIcon","hasPlaceholder","computedPlaceholder","isValidLabel","console","warn","methods","handleInput","$emit","target","handleTrailingButtonClick","x","_self","_c","staticClass","class","attrs","for","_v","_s","_e","_g","_b","ref","domProps","on","input","$listeners","directives","rawName","expression","_t","click","scopedSlots","_u","fn","proxy","size","G","u","Symbol","iterator","constructor","p","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","A","forEach","m","getOwnPropertyDescriptors","defineProperties","defineProperty","toPrimitive","TypeError","configurable","writable","h","Array","isArray","f","from","toString","slice","v","g","DotsHorizontal","NcPopover","open","forceMenu","forceTitle","menuTitle","primary","defaultIcon","ariaLabel","ariaHidden","placement","boundariesElement","Element","document","querySelector","container","inline","Number","data","opened","focusIndex","randomId","triggerBtnType","watch","isValidSingleAction","componentOptions","Ctor","extendOptions","tag","openMenu","closeMenu","$refs","popover","clearFocusTrap","returnFocus","menuButton","$el","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","focusAction","onKeydown","keyCode","shiftKey","focusPreviousAction","focusNextAction","focusLastAction","preventDefault","removeCurrentActive","classList","remove","add","preventIfEvent","stopPropagation","onFocus","onBlur","render","every","propsData","href","startsWith","window","location","origin","util","C","b","y","w","k","_","S","icon","B","listeners","j","text","E","N","P","title","blur","slot","delay","handleResize","shown","boundary","popoverBaseClass","setReturnFocus","show","hide","tabindex","keydown","mousemove","role","map","z","styleTagTransform","setAttributes","insert","bind","domAPI","insertStyleElement","locals","O","D","T","L","I","$","asyncIterator","toStringTag","create","arg","wrap","getPrototypeOf","_invoke","resolve","__await","then","done","method","delegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","pop","values","prev","charAt","stop","rval","complete","finish","catch","delegateYield","getBuilder","persist","build","setItem","ClickOutside","vOnClickOutside","NcLoadingIcon","NcPopoverMenu","mixins","iQ","url","iconClass","user","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","hasMenu","hasStatus","status","userStatus","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","getCurrentUser","uid","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","Math","round","initialsWrapperStyle","backgroundColor","initialsStyle","color","tooltip","initials","fromCodePoint","codePointAt","toUpperCase","hyperlink","longtext","message","createTextNode","createElement","appendChild","innerHTML","loadAvatarUrl","mounted","subscribe","fetchUserStatus","handleUserStatusUpdated","beforeDestroy","unsubscribe","handlePopoverAfterShow","popoverMenu","getElementsByTagName","handlePopoverAfterHide","main","userId","toggleMenu","fetchContactsMenu","encodeURIComponent","post","generateUrl","topAction","actions","t0","updateImageIfValid","avatarUrlGenerator","join","getComputedStyle","body","getPropertyValue","oc_userconfig","avatar","version","getItem","Image","onload","onerror","debug","srcset","src","M","U","F","R","_k","alt","nativeType","wide","to","exact","navigate","isActive","isExactActive","custom","NcHighlight","search","needsTruncate","split","min","floor","part1","part2","highlight1","highlight2","start","end","highlight","description","hasTitle","hasDescription","action","ranges","reduce","sort","max","chunks","svg","cleanSvg","beforeMount","sanitizeSVG","NcAvatar","NcIconSvgWrapper","subtitle","iconSvg","iconTitle","avatarSize","noMargin","margin","hasIcon","hasIconSvg","isValidSubtitle","isSizeBigEnough","cssVars","appearance","colors","viewBox","fill","K","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","NcActions","ChevronLeft","ChevronRight","Close","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","closeButtonContained","additionalTrapElements","inlineActions","mc","playing","slideshowTimeout","iconSize","focusTrap","randId","internalShow","showModal","modalTransitionName","playPauseTitle","cssVariables","closeButtonAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","mask","updateContainerElements","addEventListener","handleKeydown","removeEventListener","off","destroy","useFocusTrap","handleSwipe","insertBefore","lastChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","createFocusTrap","allowOutsideClick","trapStack","activate","deactivate","q","W","Y","V","appear","modifiers","auto","stroke","cx","cy","mousedown","currentTarget","invisible","H","NcEllipsisedOption","NcListItemIcon","VueMultiselect","closeOnSelect","multiple","limit","trackBy","options","userSelect","loading","autoLimit","tagWidth","elWidth","ariaExpanded","maxOptions","limitString","localValue","get","set","willCloseOnSelect","updateWidth","getOptionLabel","formatLimitTitle","offsetWidth","$scopedSlots","option","_l","model","callback","Dropdown","HTMLElement","SVGElement","popperContent","$focusTrap","escapeDeactivates","afterShow","afterHide","distance","item","random","iconIsUrl","URL","NcPopoverMenuItem","download","rel","active","submit","checked","_i","change","$set","_q","composing","getLinkWithPicker","Ee","searchProvider","yt","_vue_richtext_widgets","_registerWidget","onDestroy","reference","compact","hasCustomWidget","richObjectType","noAccess","accessible","descriptionStyle","display","lineClamp","webkitLineClamp","compactLink","openGraphObject","link","substring","renderWidget","observer","ResizeObserver","contentRect","observe","disconnect","customWidget","richObject","thumb","NcReferenceWidget","referenceData","references","isVisible","displayedReferences","firstReference","fetch","RegExp","exec","ocs","generateOcsUrl","autolink","useMarkdown","splice","flat","component","match","Q","J","X","tt","et","nt","NcReferenceList","referenceLimit","markdownCssClasses","ol","ul","li","strong","em","h1","h2","h3","h4","h5","h6","hr","table","pre","code","blockquote","renderPlaintext","context","renderMarkdown","unified","use","handlers","prefix","processSync","it","rt","ot","at","st","lt","_vue_richtext_custom_picker_elements","ct","_registerCustomPickerElement","ut","provider","isRegistered","renderResult","renderElement","domElement","providerId","object","_isVue","$on","onSubmit","onCancel","element","detail","dt","pt","At","mt","ht","ft","vt","icon_url","imagePath","gt","Ct","find","_vue_richtext_reference_providers","search_providers_ids","replace","_vue_richtext_reference_provider_timestamps","order","bt","loadState","xt","wt","kt","St","Bt","jt","Et","Pt","zt","NcMultiselect","NcEmptyContent","LinkVariantIcon","selectedProvider","query","multiselectPlaceholder","isLink","Nt","onProviderSelected","Ot","Dt","Tt","Lt","It","$t","NcTextField","inputValue","abortController","inputPlaceholder","isLinkValid","onClear","onInput","abort","updateReference","AbortController","signal","Gt","Mt","Ut","nativeOn","keyup","Ft","Rt","Zt","entry","qt","Wt","Yt","rounded","thumbnailUrl","subline","Vt","Ht","Kt","Qt","Jt","Xt","te","DotsHorizontalIcon","MagnifyIcon","NcSearchResult","showEmptyContent","searchPlaceholder","searchQuery","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","entries","isCustomGroupTitle","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","searchMoreOf","searchProviders","searchOneProvider","cursor","allSettled","reason","term","ee","ne","ie","re","oe","providerList","standardLinkInput","searchInput","customElement","ae","NcCustomPickerElement","NcProviderList","NcRawLinkInput","NcSearch","initialProvider","focusOnCreate","MODES","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","now","put","se","le","ce","cancel","ue","de","pe","Ae","me","he","fe","ve","NcReferencePicker","NcModal","ArrowLeftIcon","CloseIcon","isInsideViewer","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalTitle","modalTitle","modal_content","emit","onProviderSelect","onBackClicked","referencePicker","ge","Ce","be","ye","xe","we","ke","Se","Be","Ne","je","append","extend","$mount","$destroy","NcInputField","ArrowRight","Undo","trailingButtonIcon","clearTextLabel","$props","themes","html","VTooltip","emojiAddRecent","emojiSearch","EmojiIndex","frequently","emoji","toLowerCase","parseInt","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid","msgid_plural","msgstr","addTranslation","ngettext","gettext","getCapabilities","user_status","enabled","response","isMobile","created","handleWindowResize","documentElement","clientWidth","userData","renderContent","genSelectTemplate","parseContent","autocompleteTribute","current","collection","trigger","mentionText","renderComponentHtml","defaultProtocol","className","attributes","setAttribute","assign","_nc_focus_trap","sources","names","mappings","sourcesContent","sourceRoot","__esModule","hash","needQuotes","btoa","unescape","JSON","stringify","identifier","base","css","media","sourceMap","supports","layer","updater","byIndex","update","HTMLIFrameElement","contentDocument","head","nc","parentNode","removeChild","styleSheet","cssText","firstChild","iconUrl","source","avatarUrl","getAvatarUrl","contenteditable","backgroundImage","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","baseURI","NcAutoCompleteResult","NcMentionBubble","haveStatus","autoComplete","Function","multiline","maxlength","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","original","noMatchTemplate","selectTemplate","debouncedAutoComplete","emojiOptions","native","short_name","unshift","containerClass","itemClass","linkOptions","getLink","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","content","count","canEdit","updateContent","attach","emojiTribute","linkTribute","contentEditable","detach","getElementById","replaceWith","setCursorAfter","updateValue","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onPaste","clipboardData","files","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","onDelete","isCollapsed","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","deleteContents","onEnter","onCtrlEnter","onKeyUp","stopImmediatePropagation","ctrlKey","altKey","metaKey","paste","hasOwn","toStr","gOPD","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","copy","copyIsArray","clone","deep","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","str","lineno","column","updatePosition","lines","lastIndexOf","position","line","Position","whitespace","errorsList","msg","err","filename","silent","comments","rules","comment","pos","declaration","prop","val","ret","decl","decls","declarations","parse","StyleToObject","output","hasIterator","len","predicate","list","thisArg","CustomEvent","CustomEvent$1","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","TributeEvents","events","static","boundKeydown","boundKeyup","boundInput","unbind","instance","shouldDeactivate","hideMenu","commandEvent","callbacks","inputEvent","contains","nodeName","selectItemAtIndex","getAttribute","externalTrigger","updateSelection","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","charCodeAt","menuShowMinLength","showMenuFor","eventKeyPressed","el","info","range","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","collectionItem","enter","filteredItems","menuSelected","escape","tab","space","spaceSelectsMatch","up","selected","setActiveLi","scrollTop","scrollHeight","down","delete","lis","selectClass","liClientRect","getBoundingClientRect","menuClientRect","bottom","scrollDistance","top","getFullHeight","elem","includeMargin","currentStyle","parseFloat","marginTop","marginBottom","TributeMenuEvents","menuEvents","menuClickEvent","menuContainerScrollEvent","debounce","windowResizeEvent","positionMenuAtCaret","getDocument","func","wait","immediate","timeout","args","callNow","TributeRange","iframe","contentWindow","scrollTo","coordinates","positionMenu","isContentEditable","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","left","right","scrollIntoView","menuDimensions","offsetHeight","menuIsOffScreen","isMenuOffScreen","menuIsOffScreenHorizontally","innerWidth","menuIsOffScreenVertically","innerHeight","menuContainerIsBody","selectElement","targetElement","path","offset","childNodes","nextSibling","previousSibling","sel","getWindowSelection","replaceTriggerText","requireLeadingSpace","originalEvent","replaceEvent","replaceTextSuffix","endPos","pasteHtml","myField","textSuffix","startPos","selectionStart","selectionEnd","dispatchEvent","lastNode","frag","createDocumentFragment","cloneRange","setStartAfter","getNodePositionInParent","getContentEditableSelectedPath","ctx","getTextPrecedingCurrentSelection","selectedElem","workingNodeContent","textContent","selectStartOffset","textComponent","getLastWordInText","wordsArray","menuAlreadyActive","isAutocomplete","selectionInfo","effectiveRange","lastWordOfEffectiveRange","mentionSelectedElement","mostRecentTriggerCharPos","config","idx","lastIndexWithLeadingSpace","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","reversedStr","cidx","firstChar","triggerIdx","windowWidth","windowHeight","doc","windowLeft","pageXOffset","scrollLeft","clientLeft","windowTop","pageYOffset","clientTop","menuTop","menuRight","menuBottom","menuLeft","ceil","getMenuDimensions","dimensions","flipped","isFirefox","mozInnerScreenX","div","whiteSpace","wordWrap","visibility","overflowY","overflow","span","rect","offsetTop","borderTopWidth","offsetLeft","borderLeftWidth","parentHeight","scrollStillAvailable","selectedNodePosition","clientRect","elemTop","elemBottom","maxY","targetY","TributeSearch","simpleFilter","pattern","array","string","opts","compareString","caseSensitive","skip","rendered","score","patternCache","traverse","cache","stringIndex","patternIndex","calculateScore","best","temp","indices","extract","Tribute","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","_isActive","noMatchEvent","matchItem","jQuery","NodeList","HTMLCollection","_attach","hasAttribute","ensureEditable","inputTypes","createMenu","wrapper","currentMentionTextSnapshot","tributeMenu","processValues","fragment","_findLiTarget","movementY","showMenuForCollection","collectionIndex","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","createTextRange","textRange","moveToElementText","select","textNode","textarea","scrollPos","caretPos","front","back","replaceText","_append","newValues","appendCurrent","_detach","removeAttribute","isBuffer","fillColor","_vm","$event","own","definitions","definition","clean","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","fromCharCode","Schema","normal","merge","normalize","Info","attribute","boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated","mustUseProperty","defined","powers","increment","DefinedInfo","super","check","transform","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","caseSensitiveTransform","caseInsensitiveTransform","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaInvalid","ariaKeyShortcuts","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","as","autoCapitalize","autoFocus","autoPlay","capture","charSet","cite","cols","colSpan","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","lang","language","loop","low","manifest","maxLength","minLength","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeUnload","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFormData","onHashChange","onInvalid","onKeyDown","onKeyPress","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","optimum","ping","playsInline","poster","preload","readOnly","referrerPolicy","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","shape","sizes","spellCheck","srcDoc","srcLang","srcSet","tabIndex","translate","typeMustMatch","useMap","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","defaultAction","descent","diffuseConstant","direction","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","format","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","opacity","operator","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","textLength","transformBehavior","u1","u2","unicode","viewTarget","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","valid","dash","cap","kebab","$0","camelcase","hastToReact","webNamespaces","mathml","toH","react","vue","vd","vdom","schema","hyperscript","state","parentSchema","nodes","addAttribute","namespace","Type","rest","dashes","subprop","settings","padRight","padLeft","$1","error_","parseStyle","tableElements","Set","rehypeReact","fixTableCellAlign","has","child","thing","passNode","Compiler","Fragment","remarkBreaks","lastIndex","ABSOLUTE_URL_REGEX","WINDOWS_PATH_REGEX","defaultTarget","defaultRel","defaultProtocols","remarkExternalLinks","protocols","contentProperties","protocol","hProperties","hName","hChildren","emptyOptions","includeImageAlt","includeHtml","parameters","chunkStart","syntaxExtension","extension","hook","constructs","existing","before","factorySpace","effects","POSITIVE_INFINITY","consume","exit","tokenize","contentStart","attempt","parser","contentInitial","lineStart","token","contentType","stack","childFlow","childToken","lineStartOffset","continued","containerState","continuation","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","point","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","lazy","containerContinue","flow","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","write","seen","nok","disable","null","blankLine","partial","subtokenize","jumps","lineIndex","otherIndex","otherEvent","subevents","more","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","_gfmTasklistFirstContentOfListItem","contentEnd","continuationConstruct","contentContinue","prefixed","tail","sliceSerialize","initial","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","field","notText","atBreak","resolveAllLineSuffixes","extraResolver","tabs","bufferIndex","chunk","_index","_bufferIndex","called","createTokenizer","initialize","columnStart","resolveAllConstructs","consumed","accountForPotentialSkip","fields","constructFactory","construct","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","chunkIndex","go","expectedCode","startIndex","startBufferIndex","endIndex","endBufferIndex","view","sliceChunks","restore","onreturn","returnState","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","def","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","resolveTo","thematicBreak","marker","sequence","initialSize","atMarker","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","after","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","labelAfter","titleConstruct","codeIndented","afterStartPrefix","afterPrefix","indentedContent","headingAtx","fenceOpenInside","headingBreak","setextUnderline","paragraph","closingSequence","closingSequenceEnd","heading","htmlBlockNames","htmlRawNames","htmlFlow","startTag","buffer","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","codeFenced","closingFenceConstruct","sizeOpen","nonLazyLine","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","meta","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","group","insideSpan","destinationAfter","between","afterLabel","classifyCharacter","attention","attentionMarkers","_open","_close","openingSequence","nextEvents","movePoint","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","gap","tailExitIndex","headEnterIndex","decodeNumericCharacterReference","characterEscapeOrReference","decode","$2","hex","fromMarkdown","encoding","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeText","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreakEscape","hardBreak","hardBreakTrailing","htmlFlowData","htmlText","htmlTextData","image","listItem","spread","_spread","listItemValue","setData","listOrdered","listUnordered","referenceString","resourceDestinationString","resourceTitleString","setextHeading","closer","atxHeadingSequence","depth","onexitdata","characterEscapeValue","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","resume","codeFencedFence","onexithardbreak","referenceType","labelText","ancestor","decodeString","setextHeadingLineSequence","setextHeadingText","configure","mdastExtensions","tokenStack","listStack","prepareList","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","and","errorHandler","onExitError","ordered","compiler","postprocess","extensions","combineExtensions","atCarriageReturn","endPosition","preprocess","combined","Parser","normalizeUri","footnoteReference","safeId","footnoteOrder","counter","footnoteCounts","reuseCounter","clobberPrefix","dataFootnoteRef","patch","sup","applyData","revert","subtype","suffix","contents","listItemLoose","pointStart","pointEnd","trimLines","last","trimLine","break","footnote","footnoteById","no","dangerous","imageReference","inlineCode","linkReference","loose","listLoose","root","firstRow","shift","tableContent","tableCell","tableRow","siblings","cellIndex","cells","cell","alignValue","toml","ignore","yaml","footnoteDefinition","passThrough","unknownHandler","defaultUnknownHandler","toHast","allowDangerousHtml","footnoteLabel","footnoteLabelTagName","footnoteLabelProperties","footnoteBackLabel","augment","createState","foot","listItems","referenceIndex","backReferences","backReference","dataFootnoteBackref","tailTail","dataFootnotes","footer","destination","file","run","bridge","mutate","stringLength","countAnsiEscapeCodes","onlyFirst","ansiRegex","stripAnsi","astralRange","teluguConsonants","teluguConsonantsRare","telugu","astral","combo","fitz","nonAstral","regional","surrogatePair","optModifier","optVar","seq","symbol","charRegex","bail","VFileMessage","place","parts","fatal","ruleId","actual","expected","note","basename","ext","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","dirname","unmatchedSlash","extname","startPart","startDot","preDotState","segments","joined","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","sep","proc","isUrl","fileUrlOrPath","VFile","messages","history","cwd","stored","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","urlToPath","assertNonEmpty","assertPart","stem","fail","part","transformers","fns","pipeline","middlewareIndex","middleware","fnExpectsCallback","middelware","trough","attachers","frozen","freezeIndex","processor","assertUnfrozen","freeze","attacher","transformer","addPlugin","addList","addPreset","plugin","plugins","vfile","assertParser","newable","assertCompiler","assertNode","compile","executor","reject","runSync","assertDone","process","asyncName","looksLikeAVFile","stringifyPosition","castFactory","propsFactory","factory","grandparents"],"sourceRoot":""}
\ No newline at end of file |