@maketribe/ms-app 3.0.9 → 3.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/cjs/components/form-components/form-date-picker/form-date-picker-options.d.ts +3 -3
  2. package/dist/cjs/components/form-components/form-date-picker/form-date-picker-options.js.map +1 -1
  3. package/dist/cjs/components/rich-text-editor/rich-text-editor-options.d.ts +2 -2
  4. package/dist/cjs/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
  5. package/dist/cjs/components/rich-text-editor/rich-text-editor.d.ts +2 -2
  6. package/dist/cjs/components/rich-text-editor/rich-text-editor.js +10 -11
  7. package/dist/cjs/components/rich-text-editor/rich-text-editor.js.map +1 -1
  8. package/dist/cjs/composables/use-http-request.d.ts +1 -1
  9. package/dist/cjs/composables/use-http-request.js +1 -1
  10. package/dist/cjs/composables/use-http-request.js.map +1 -1
  11. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js +3 -0
  12. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js.map +1 -1
  13. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js.map +1 -1
  14. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js +1 -1
  15. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js.map +1 -1
  16. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js +1 -1
  17. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js.map +1 -1
  18. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js +1 -1
  19. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js.map +1 -1
  20. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js +1 -1
  21. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js.map +1 -1
  22. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js.map +1 -1
  23. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js.map +1 -1
  24. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js +4 -0
  25. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js.map +1 -0
  26. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js +7 -0
  27. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js.map +1 -0
  28. package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/tinymce.js +20 -23
  29. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/tinymce.js.map +1 -0
  30. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  31. package/dist/cjs/utils.js +1 -4
  32. package/dist/cjs/utils.js.map +1 -1
  33. package/dist/esm/components/form-components/form-date-picker/form-date-picker-options.d.ts +3 -3
  34. package/dist/esm/components/form-components/form-date-picker/form-date-picker-options.js.map +1 -1
  35. package/dist/esm/components/rich-text-editor/rich-text-editor-options.d.ts +2 -2
  36. package/dist/esm/components/rich-text-editor/rich-text-editor-options.js.map +1 -1
  37. package/dist/esm/components/rich-text-editor/rich-text-editor.d.ts +2 -2
  38. package/dist/esm/components/rich-text-editor/rich-text-editor.js +10 -11
  39. package/dist/esm/components/rich-text-editor/rich-text-editor.js.map +1 -1
  40. package/dist/esm/composables/use-http-request.d.ts +1 -1
  41. package/dist/esm/composables/use-http-request.js +1 -1
  42. package/dist/esm/composables/use-http-request.js.map +1 -1
  43. package/dist/esm/dataview/material/material-group/MaterialGroupTree.js +3 -0
  44. package/dist/esm/dataview/material/material-group/MaterialGroupTree.js.map +1 -1
  45. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js.map +1 -1
  46. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js +1 -1
  47. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/models/dom/model.min.js.map +1 -1
  48. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js +1 -1
  49. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/fullscreen/plugin.js.map +1 -1
  50. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js +1 -1
  51. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/link/plugin.js.map +1 -1
  52. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js +1 -1
  53. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/plugins/table/plugin.js.map +1 -1
  54. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js.map +1 -1
  55. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js.map +1 -1
  56. package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js +2 -0
  57. package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/skins/ui/oxide/skin.js.map +1 -0
  58. package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js +5 -0
  59. package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/themes/silver/theme.min.js.map +1 -0
  60. package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/tinymce.js +20 -23
  61. package/dist/esm/node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/tinymce.js.map +1 -0
  62. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  63. package/dist/esm/utils.js +1 -4
  64. package/dist/esm/utils.js.map +1 -1
  65. package/package.json +5 -5
  66. package/src/components/form-components/form-date-picker/form-date-picker-options.ts +1 -1
  67. package/src/components/rich-text-editor/rich-text-editor-options.ts +1 -1
  68. package/src/components/rich-text-editor/rich-text-editor.tsx +2 -3
  69. package/src/composables/use-http-request.ts +2 -2
  70. package/src/dataview/material/material-group/MaterialGroupTree.ts +4 -0
  71. package/src/page/signup/index.vue +1 -1
  72. package/src/utils.ts +4 -4
  73. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js +0 -4
  74. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js.map +0 -1
  75. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js +0 -7
  76. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js.map +0 -1
  77. package/dist/cjs/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/tinymce.js.map +0 -1
  78. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js +0 -2
  79. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/skins/ui/oxide/skin.js.map +0 -1
  80. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js +0 -5
  81. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/themes/silver/theme.min.js.map +0 -1
  82. package/dist/esm/node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/tinymce.js.map +0 -1
  83. /package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js +0 -0
  84. /package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js +0 -0
  85. /package/dist/cjs/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js +0 -0
  86. /package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/icons/default/icons.min.js +0 -0
  87. /package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/content/default/content.js +0 -0
  88. /package/dist/esm/node_modules/.pnpm/{tinymce@6.8.0 → tinymce@6.8.2}/node_modules/tinymce/skins/ui/oxide/content.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["../../../../../../../../../../../node_modules/.pnpm/tinymce@6.8.0/node_modules/tinymce/plugins/link/plugin.js"],"sourcesContent":["/**\n * TinyMCE version 6.8.0 (2023-11-22)\n */\n\n(function () {\n 'use strict';\n\n var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const hasProto = (v, constructor, predicate) => {\n var _a;\n if (predicate(v, constructor.prototype)) {\n return true;\n } else {\n return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n }\n };\n const typeOf = x => {\n const t = typeof x;\n if (x === null) {\n return 'null';\n } else if (t === 'object' && Array.isArray(x)) {\n return 'array';\n } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n return 'string';\n } else {\n return t;\n }\n };\n const isType = type => value => typeOf(value) === type;\n const isSimpleType = type => value => typeof value === type;\n const eq = t => a => t === a;\n const isString = isType('string');\n const isObject = isType('object');\n const isArray = isType('array');\n const isNull = eq(null);\n const isBoolean = isSimpleType('boolean');\n const isNullable = a => a === null || a === undefined;\n const isNonNullable = a => !isNullable(a);\n const isFunction = isSimpleType('function');\n const isArrayOf = (value, pred) => {\n if (isArray(value)) {\n for (let i = 0, len = value.length; i < len; ++i) {\n if (!pred(value[i])) {\n return false;\n }\n }\n return true;\n }\n return false;\n };\n\n const noop = () => {\n };\n const constant = value => {\n return () => {\n return value;\n };\n };\n const tripleEquals = (a, b) => {\n return a === b;\n };\n\n class Optional {\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n static some(value) {\n return new Optional(true, value);\n }\n static none() {\n return Optional.singletonNone;\n }\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n } else {\n return onNone();\n }\n }\n isSome() {\n return this.tag;\n }\n isNone() {\n return !this.tag;\n }\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n } else {\n return Optional.none();\n }\n }\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n } else {\n return Optional.none();\n }\n }\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n } else {\n return Optional.none();\n }\n }\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n or(replacement) {\n return this.tag ? this : replacement;\n }\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n } else {\n return this.value;\n }\n }\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n getOrNull() {\n return this.tag ? this.value : null;\n }\n getOrUndefined() {\n return this.value;\n }\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n toArray() {\n return this.tag ? [this.value] : [];\n }\n toString() {\n return this.tag ? `some(${ this.value })` : 'none()';\n }\n }\n Optional.singletonNone = new Optional(false);\n\n const nativeIndexOf = Array.prototype.indexOf;\n const nativePush = Array.prototype.push;\n const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n const map = (xs, f) => {\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n const each$1 = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const foldl = (xs, f, acc) => {\n each$1(xs, (x, i) => {\n acc = f(acc, x, i);\n });\n return acc;\n };\n const flatten = xs => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; ++i) {\n if (!isArray(xs[i])) {\n throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n }\n nativePush.apply(r, xs[i]);\n }\n return r;\n };\n const bind = (xs, f) => flatten(map(xs, f));\n const findMap = (arr, f) => {\n for (let i = 0; i < arr.length; i++) {\n const r = f(arr[i], i);\n if (r.isSome()) {\n return r;\n }\n }\n return Optional.none();\n };\n\n const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n const cat = arr => {\n const r = [];\n const push = x => {\n r.push(x);\n };\n for (let i = 0; i < arr.length; i++) {\n arr[i].each(push);\n }\n return r;\n };\n const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n const option = name => editor => editor.options.get(name);\n const register$1 = editor => {\n const registerOption = editor.options.register;\n registerOption('link_assume_external_targets', {\n processor: value => {\n const valid = isString(value) || isBoolean(value);\n if (valid) {\n if (value === true) {\n return {\n value: 1,\n valid\n };\n } else if (value === 'http' || value === 'https') {\n return {\n value,\n valid\n };\n } else {\n return {\n value: 0,\n valid\n };\n }\n } else {\n return {\n valid: false,\n message: 'Must be a string or a boolean.'\n };\n }\n },\n default: false\n });\n registerOption('link_context_toolbar', {\n processor: 'boolean',\n default: false\n });\n registerOption('link_list', { processor: value => isString(value) || isFunction(value) || isArrayOf(value, isObject) });\n registerOption('link_default_target', { processor: 'string' });\n registerOption('link_default_protocol', {\n processor: 'string',\n default: 'https'\n });\n registerOption('link_target_list', {\n processor: value => isBoolean(value) || isArrayOf(value, isObject),\n default: true\n });\n registerOption('link_rel_list', {\n processor: 'object[]',\n default: []\n });\n registerOption('link_class_list', {\n processor: 'object[]',\n default: []\n });\n registerOption('link_title', {\n processor: 'boolean',\n default: true\n });\n registerOption('allow_unsafe_link_target', {\n processor: 'boolean',\n default: false\n });\n registerOption('link_quicklink', {\n processor: 'boolean',\n default: false\n });\n };\n const assumeExternalTargets = option('link_assume_external_targets');\n const hasContextToolbar = option('link_context_toolbar');\n const getLinkList = option('link_list');\n const getDefaultLinkTarget = option('link_default_target');\n const getDefaultLinkProtocol = option('link_default_protocol');\n const getTargetList = option('link_target_list');\n const getRelList = option('link_rel_list');\n const getLinkClassList = option('link_class_list');\n const shouldShowLinkTitle = option('link_title');\n const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n const useQuickLink = option('link_quicklink');\n\n var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n const getValue = item => isString(item.value) ? item.value : '';\n const getText = item => {\n if (isString(item.text)) {\n return item.text;\n } else if (isString(item.title)) {\n return item.title;\n } else {\n return '';\n }\n };\n const sanitizeList = (list, extractValue) => {\n const out = [];\n global$4.each(list, item => {\n const text = getText(item);\n if (item.menu !== undefined) {\n const items = sanitizeList(item.menu, extractValue);\n out.push({\n text,\n items\n });\n } else {\n const value = extractValue(item);\n out.push({\n text,\n value\n });\n }\n });\n return out;\n };\n const sanitizeWith = (extracter = getValue) => list => Optional.from(list).map(list => sanitizeList(list, extracter));\n const sanitize = list => sanitizeWith(getValue)(list);\n const createUi = (name, label) => items => ({\n name,\n type: 'listbox',\n label,\n items\n });\n const ListOptions = {\n sanitize,\n sanitizeWith,\n createUi,\n getValue\n };\n\n const keys = Object.keys;\n const hasOwnProperty = Object.hasOwnProperty;\n const each = (obj, f) => {\n const props = keys(obj);\n for (let k = 0, len = props.length; k < len; k++) {\n const i = props[k];\n const x = obj[i];\n f(x, i);\n }\n };\n const objAcc = r => (x, i) => {\n r[i] = x;\n };\n const internalFilter = (obj, pred, onTrue, onFalse) => {\n each(obj, (x, i) => {\n (pred(x, i) ? onTrue : onFalse)(x, i);\n });\n };\n const filter = (obj, pred) => {\n const t = {};\n internalFilter(obj, pred, objAcc(t), noop);\n return t;\n };\n const has = (obj, key) => hasOwnProperty.call(obj, key);\n const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n const isAnchor = elm => isNonNullable(elm) && elm.nodeName.toLowerCase() === 'a';\n const isLink = elm => isAnchor(elm) && !!getHref(elm);\n const collectNodesInRange = (rng, predicate) => {\n if (rng.collapsed) {\n return [];\n } else {\n const contents = rng.cloneContents();\n const firstChild = contents.firstChild;\n const walker = new global$3(firstChild, contents);\n const elements = [];\n let current = firstChild;\n do {\n if (predicate(current)) {\n elements.push(current);\n }\n } while (current = walker.next());\n return elements;\n }\n };\n const hasProtocol = url => /^\\w+:/i.test(url);\n const getHref = elm => {\n var _a, _b;\n return (_b = (_a = elm.getAttribute('data-mce-href')) !== null && _a !== void 0 ? _a : elm.getAttribute('href')) !== null && _b !== void 0 ? _b : '';\n };\n const applyRelTargetRules = (rel, isUnsafe) => {\n const rules = ['noopener'];\n const rels = rel ? rel.split(/\\s+/) : [];\n const toString = rels => global$4.trim(rels.sort().join(' '));\n const addTargetRules = rels => {\n rels = removeTargetRules(rels);\n return rels.length > 0 ? rels.concat(rules) : rules;\n };\n const removeTargetRules = rels => rels.filter(val => global$4.inArray(rules, val) === -1);\n const newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);\n return newRels.length > 0 ? toString(newRels) : '';\n };\n const trimCaretContainers = text => text.replace(/\\uFEFF/g, '');\n const getAnchorElement = (editor, selectedElm) => {\n selectedElm = selectedElm || getLinksInSelection(editor.selection.getRng())[0] || editor.selection.getNode();\n if (isImageFigure(selectedElm)) {\n return Optional.from(editor.dom.select('a[href]', selectedElm)[0]);\n } else {\n return Optional.from(editor.dom.getParent(selectedElm, 'a[href]'));\n }\n };\n const isInAnchor = (editor, selectedElm) => getAnchorElement(editor, selectedElm).isSome();\n const getAnchorText = (selection, anchorElm) => {\n const text = anchorElm.fold(() => selection.getContent({ format: 'text' }), anchorElm => anchorElm.innerText || anchorElm.textContent || '');\n return trimCaretContainers(text);\n };\n const getLinksInSelection = rng => collectNodesInRange(rng, isLink);\n const getLinks$1 = elements => global$4.grep(elements, isLink);\n const hasLinks = elements => getLinks$1(elements).length > 0;\n const hasLinksInSelection = rng => getLinksInSelection(rng).length > 0;\n const isOnlyTextSelected = editor => {\n const inlineTextElements = editor.schema.getTextInlineElements();\n const isElement = elm => elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase());\n const isInBlockAnchor = getAnchorElement(editor).exists(anchor => anchor.hasAttribute('data-mce-block'));\n if (isInBlockAnchor) {\n return false;\n }\n const rng = editor.selection.getRng();\n if (!rng.collapsed) {\n const elements = collectNodesInRange(rng, isElement);\n return elements.length === 0;\n } else {\n return true;\n }\n };\n const isImageFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE' && /\\bimage\\b/i.test(elm.className);\n const getLinkAttrs = data => {\n const attrs = [\n 'title',\n 'rel',\n 'class',\n 'target'\n ];\n return foldl(attrs, (acc, key) => {\n data[key].each(value => {\n acc[key] = value.length > 0 ? value : null;\n });\n return acc;\n }, { href: data.href });\n };\n const handleExternalTargets = (href, assumeExternalTargets) => {\n if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) {\n return assumeExternalTargets + '://' + href;\n }\n return href;\n };\n const applyLinkOverrides = (editor, linkAttrs) => {\n const newLinkAttrs = { ...linkAttrs };\n if (getRelList(editor).length === 0 && !allowUnsafeLinkTarget(editor)) {\n const newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank');\n newLinkAttrs.rel = newRel ? newRel : null;\n }\n if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) {\n newLinkAttrs.target = getDefaultLinkTarget(editor);\n }\n newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor));\n return newLinkAttrs;\n };\n const updateLink = (editor, anchorElm, text, linkAttrs) => {\n text.each(text => {\n if (has(anchorElm, 'innerText')) {\n anchorElm.innerText = text;\n } else {\n anchorElm.textContent = text;\n }\n });\n editor.dom.setAttribs(anchorElm, linkAttrs);\n editor.selection.select(anchorElm);\n };\n const createLink = (editor, selectedElm, text, linkAttrs) => {\n const dom = editor.dom;\n if (isImageFigure(selectedElm)) {\n linkImageFigure(dom, selectedElm, linkAttrs);\n } else {\n text.fold(() => {\n editor.execCommand('mceInsertLink', false, linkAttrs);\n }, text => {\n editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(text)));\n });\n }\n };\n const linkDomMutation = (editor, attachState, data) => {\n const selectedElm = editor.selection.getNode();\n const anchorElm = getAnchorElement(editor, selectedElm);\n const linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data));\n editor.undoManager.transact(() => {\n if (data.href === attachState.href) {\n attachState.attach();\n }\n anchorElm.fold(() => {\n createLink(editor, selectedElm, data.text, linkAttrs);\n }, elm => {\n editor.focus();\n updateLink(editor, elm, data.text, linkAttrs);\n });\n });\n };\n const unlinkSelection = editor => {\n const dom = editor.dom, selection = editor.selection;\n const bookmark = selection.getBookmark();\n const rng = selection.getRng().cloneRange();\n const startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody());\n const endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody());\n if (startAnchorElm) {\n rng.setStartBefore(startAnchorElm);\n }\n if (endAnchorElm) {\n rng.setEndAfter(endAnchorElm);\n }\n selection.setRng(rng);\n editor.execCommand('unlink');\n selection.moveToBookmark(bookmark);\n };\n const unlinkDomMutation = editor => {\n editor.undoManager.transact(() => {\n const node = editor.selection.getNode();\n if (isImageFigure(node)) {\n unlinkImageFigure(editor, node);\n } else {\n unlinkSelection(editor);\n }\n editor.focus();\n });\n };\n const unwrapOptions = data => {\n const {\n class: cls,\n href,\n rel,\n target,\n text,\n title\n } = data;\n return filter({\n class: cls.getOrNull(),\n href,\n rel: rel.getOrNull(),\n target: target.getOrNull(),\n text: text.getOrNull(),\n title: title.getOrNull()\n }, (v, _k) => isNull(v) === false);\n };\n const sanitizeData = (editor, data) => {\n const getOption = editor.options.get;\n const uriOptions = {\n allow_html_data_urls: getOption('allow_html_data_urls'),\n allow_script_urls: getOption('allow_script_urls'),\n allow_svg_data_urls: getOption('allow_svg_data_urls')\n };\n const href = data.href;\n return {\n ...data,\n href: global$2.isDomSafe(href, 'a', uriOptions) ? href : ''\n };\n };\n const link = (editor, attachState, data) => {\n const sanitizedData = sanitizeData(editor, data);\n editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);\n };\n const unlink = editor => {\n editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);\n };\n const unlinkImageFigure = (editor, fig) => {\n var _a;\n const img = editor.dom.select('img', fig)[0];\n if (img) {\n const a = editor.dom.getParents(img, 'a[href]', fig)[0];\n if (a) {\n (_a = a.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(img, a);\n editor.dom.remove(a);\n }\n }\n };\n const linkImageFigure = (dom, fig, attrs) => {\n var _a;\n const img = dom.select('img', fig)[0];\n if (img) {\n const a = dom.create('a', attrs);\n (_a = img.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(a, img);\n a.appendChild(img);\n }\n };\n\n const isListGroup = item => hasNonNullableKey(item, 'items');\n const findTextByValue = (value, catalog) => findMap(catalog, item => {\n if (isListGroup(item)) {\n return findTextByValue(value, item.items);\n } else {\n return someIf(item.value === value, item);\n }\n });\n const getDelta = (persistentText, fieldName, catalog, data) => {\n const value = data[fieldName];\n const hasPersistentText = persistentText.length > 0;\n return value !== undefined ? findTextByValue(value, catalog).map(i => ({\n url: {\n value: i.value,\n meta: {\n text: hasPersistentText ? persistentText : i.text,\n attach: noop\n }\n },\n text: hasPersistentText ? persistentText : i.text\n })) : Optional.none();\n };\n const findCatalog = (catalogs, fieldName) => {\n if (fieldName === 'link') {\n return catalogs.link;\n } else if (fieldName === 'anchor') {\n return catalogs.anchor;\n } else {\n return Optional.none();\n }\n };\n const init = (initialData, linkCatalog) => {\n const persistentData = {\n text: initialData.text,\n title: initialData.title\n };\n const getTitleFromUrlChange = url => {\n var _a;\n return someIf(persistentData.title.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.title).getOr(''));\n };\n const getTextFromUrlChange = url => {\n var _a;\n return someIf(persistentData.text.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.text).getOr(url.value));\n };\n const onUrlChange = data => {\n const text = getTextFromUrlChange(data.url);\n const title = getTitleFromUrlChange(data.url);\n if (text.isSome() || title.isSome()) {\n return Optional.some({\n ...text.map(text => ({ text })).getOr({}),\n ...title.map(title => ({ title })).getOr({})\n });\n } else {\n return Optional.none();\n }\n };\n const onCatalogChange = (data, change) => {\n const catalog = findCatalog(linkCatalog, change).getOr([]);\n return getDelta(persistentData.text, change, catalog, data);\n };\n const onChange = (getData, change) => {\n const name = change.name;\n if (name === 'url') {\n return onUrlChange(getData());\n } else if (contains([\n 'anchor',\n 'link'\n ], name)) {\n return onCatalogChange(getData(), name);\n } else if (name === 'text' || name === 'title') {\n persistentData[name] = getData()[name];\n return Optional.none();\n } else {\n return Optional.none();\n }\n };\n return { onChange };\n };\n const DialogChanges = {\n init,\n getDelta\n };\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n const delayedConfirm = (editor, message, callback) => {\n const rng = editor.selection.getRng();\n global$1.setEditorTimeout(editor, () => {\n editor.windowManager.confirm(message, state => {\n editor.selection.setRng(rng);\n callback(state);\n });\n });\n };\n const tryEmailTransform = data => {\n const url = data.href;\n const suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1;\n return suggestMailTo ? Optional.some({\n message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',\n preprocess: oldData => ({\n ...oldData,\n href: 'mailto:' + url\n })\n }) : Optional.none();\n };\n const tryProtocolTransform = (assumeExternalTargets, defaultLinkProtocol) => data => {\n const url = data.href;\n const suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\\s*www(\\.|\\d\\.)/i.test(url);\n return suggestProtocol ? Optional.some({\n message: `The URL you entered seems to be an external link. Do you want to add the required ${ defaultLinkProtocol }:// prefix?`,\n preprocess: oldData => ({\n ...oldData,\n href: defaultLinkProtocol + '://' + url\n })\n }) : Optional.none();\n };\n const preprocess = (editor, data) => findMap([\n tryEmailTransform,\n tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor))\n ], f => f(data)).fold(() => Promise.resolve(data), transform => new Promise(callback => {\n delayedConfirm(editor, transform.message, state => {\n callback(state ? transform.preprocess(data) : data);\n });\n }));\n const DialogConfirms = { preprocess };\n\n const getAnchors = editor => {\n const anchorNodes = editor.dom.select('a:not([href])');\n const anchors = bind(anchorNodes, anchor => {\n const id = anchor.name || anchor.id;\n return id ? [{\n text: id,\n value: '#' + id\n }] : [];\n });\n return anchors.length > 0 ? Optional.some([{\n text: 'None',\n value: ''\n }].concat(anchors)) : Optional.none();\n };\n const AnchorListOptions = { getAnchors };\n\n const getClasses = editor => {\n const list = getLinkClassList(editor);\n if (list.length > 0) {\n return ListOptions.sanitize(list);\n }\n return Optional.none();\n };\n const ClassListOptions = { getClasses };\n\n const parseJson = text => {\n try {\n return Optional.some(JSON.parse(text));\n } catch (err) {\n return Optional.none();\n }\n };\n const getLinks = editor => {\n const extractor = item => editor.convertURL(item.value || item.url || '', 'href');\n const linkList = getLinkList(editor);\n return new Promise(resolve => {\n if (isString(linkList)) {\n fetch(linkList).then(res => res.ok ? res.text().then(parseJson) : Promise.reject()).then(resolve, () => resolve(Optional.none()));\n } else if (isFunction(linkList)) {\n linkList(output => resolve(Optional.some(output)));\n } else {\n resolve(Optional.from(linkList));\n }\n }).then(optItems => optItems.bind(ListOptions.sanitizeWith(extractor)).map(items => {\n if (items.length > 0) {\n const noneItem = [{\n text: 'None',\n value: ''\n }];\n return noneItem.concat(items);\n } else {\n return items;\n }\n }));\n };\n const LinkListOptions = { getLinks };\n\n const getRels = (editor, initialTarget) => {\n const list = getRelList(editor);\n if (list.length > 0) {\n const isTargetBlank = is(initialTarget, '_blank');\n const enforceSafe = allowUnsafeLinkTarget(editor) === false;\n const safeRelExtractor = item => applyRelTargetRules(ListOptions.getValue(item), isTargetBlank);\n const sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize;\n return sanitizer(list);\n }\n return Optional.none();\n };\n const RelOptions = { getRels };\n\n const fallbacks = [\n {\n text: 'Current window',\n value: ''\n },\n {\n text: 'New window',\n value: '_blank'\n }\n ];\n const getTargets = editor => {\n const list = getTargetList(editor);\n if (isArray(list)) {\n return ListOptions.sanitize(list).orThunk(() => Optional.some(fallbacks));\n } else if (list === false) {\n return Optional.none();\n }\n return Optional.some(fallbacks);\n };\n const TargetOptions = { getTargets };\n\n const nonEmptyAttr = (dom, elem, name) => {\n const val = dom.getAttrib(elem, name);\n return val !== null && val.length > 0 ? Optional.some(val) : Optional.none();\n };\n const extractFromAnchor = (editor, anchor) => {\n const dom = editor.dom;\n const onlyText = isOnlyTextSelected(editor);\n const text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none();\n const url = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'href')));\n const target = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'target')));\n const rel = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'rel'));\n const linkClass = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'class'));\n const title = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'title'));\n return {\n url,\n text,\n title,\n target,\n rel,\n linkClass\n };\n };\n const collect = (editor, linkNode) => LinkListOptions.getLinks(editor).then(links => {\n const anchor = extractFromAnchor(editor, linkNode);\n return {\n anchor,\n catalogs: {\n targets: TargetOptions.getTargets(editor),\n rels: RelOptions.getRels(editor, anchor.target),\n classes: ClassListOptions.getClasses(editor),\n anchor: AnchorListOptions.getAnchors(editor),\n link: links\n },\n optNode: linkNode,\n flags: { titleEnabled: shouldShowLinkTitle(editor) }\n };\n });\n const DialogInfo = { collect };\n\n const handleSubmit = (editor, info) => api => {\n const data = api.getData();\n if (!data.url.value) {\n unlink(editor);\n api.close();\n return;\n }\n const getChangedValue = key => Optional.from(data[key]).filter(value => !is(info.anchor[key], value));\n const changedData = {\n href: data.url.value,\n text: getChangedValue('text'),\n target: getChangedValue('target'),\n rel: getChangedValue('rel'),\n class: getChangedValue('linkClass'),\n title: getChangedValue('title')\n };\n const attachState = {\n href: data.url.value,\n attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop\n };\n DialogConfirms.preprocess(editor, changedData).then(pData => {\n link(editor, attachState, pData);\n });\n api.close();\n };\n const collectData = editor => {\n const anchorNode = getAnchorElement(editor);\n return DialogInfo.collect(editor, anchorNode);\n };\n const getInitialData = (info, defaultTarget) => {\n const anchor = info.anchor;\n const url = anchor.url.getOr('');\n return {\n url: {\n value: url,\n meta: { original: { value: url } }\n },\n text: anchor.text.getOr(''),\n title: anchor.title.getOr(''),\n anchor: url,\n link: url,\n rel: anchor.rel.getOr(''),\n target: anchor.target.or(defaultTarget).getOr(''),\n linkClass: anchor.linkClass.getOr('')\n };\n };\n const makeDialog = (settings, onSubmit, editor) => {\n const urlInput = [{\n name: 'url',\n type: 'urlinput',\n filetype: 'file',\n label: 'URL',\n picker_text: 'Browse links'\n }];\n const displayText = settings.anchor.text.map(() => ({\n name: 'text',\n type: 'input',\n label: 'Text to display'\n })).toArray();\n const titleText = settings.flags.titleEnabled ? [{\n name: 'title',\n type: 'input',\n label: 'Title'\n }] : [];\n const defaultTarget = Optional.from(getDefaultLinkTarget(editor));\n const initialData = getInitialData(settings, defaultTarget);\n const catalogs = settings.catalogs;\n const dialogDelta = DialogChanges.init(initialData, catalogs);\n const body = {\n type: 'panel',\n items: flatten([\n urlInput,\n displayText,\n titleText,\n cat([\n catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')),\n catalogs.rels.map(ListOptions.createUi('rel', 'Rel')),\n catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')),\n catalogs.link.map(ListOptions.createUi('link', 'Link list')),\n catalogs.classes.map(ListOptions.createUi('linkClass', 'Class'))\n ])\n ])\n };\n return {\n title: 'Insert/Edit Link',\n size: 'normal',\n body,\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n initialData,\n onChange: (api, {name}) => {\n dialogDelta.onChange(api.getData, { name }).each(newData => {\n api.setData(newData);\n });\n },\n onSubmit\n };\n };\n const open$1 = editor => {\n const data = collectData(editor);\n data.then(info => {\n const onSubmit = handleSubmit(editor, info);\n return makeDialog(info, onSubmit, editor);\n }).then(spec => {\n editor.windowManager.open(spec);\n });\n };\n\n const register = editor => {\n editor.addCommand('mceLink', (_ui, value) => {\n if ((value === null || value === void 0 ? void 0 : value.dialog) === true || !useQuickLink(editor)) {\n open$1(editor);\n } else {\n editor.dispatch('contexttoolbar-show', { toolbarKey: 'quicklink' });\n }\n });\n };\n\n var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n const appendClickRemove = (link, evt) => {\n document.body.appendChild(link);\n link.dispatchEvent(evt);\n document.body.removeChild(link);\n };\n const open = url => {\n const link = document.createElement('a');\n link.target = '_blank';\n link.href = url;\n link.rel = 'noreferrer noopener';\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n appendClickRemove(link, evt);\n };\n\n const getLink = (editor, elm) => editor.dom.getParent(elm, 'a[href]');\n const getSelectedLink = editor => getLink(editor, editor.selection.getStart());\n const hasOnlyAltModifier = e => {\n return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n };\n const gotoLink = (editor, a) => {\n if (a) {\n const href = getHref(a);\n if (/^#/.test(href)) {\n const targetEl = editor.dom.select(href);\n if (targetEl.length) {\n editor.selection.scrollIntoView(targetEl[0], true);\n }\n } else {\n open(a.href);\n }\n }\n };\n const openDialog = editor => () => {\n editor.execCommand('mceLink', false, { dialog: true });\n };\n const gotoSelectedLink = editor => () => {\n gotoLink(editor, getSelectedLink(editor));\n };\n const setupGotoLinks = editor => {\n editor.on('click', e => {\n const link = getLink(editor, e.target);\n if (link && global.metaKeyPressed(e)) {\n e.preventDefault();\n gotoLink(editor, link);\n }\n });\n editor.on('keydown', e => {\n if (!e.isDefaultPrevented() && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n const link = getSelectedLink(editor);\n if (link) {\n e.preventDefault();\n gotoLink(editor, link);\n }\n }\n });\n };\n const toggleState = (editor, toggler) => {\n editor.on('NodeChange', toggler);\n return () => editor.off('NodeChange', toggler);\n };\n const toggleLinkState = editor => api => {\n const updateState = () => {\n api.setActive(!editor.mode.isReadOnly() && isInAnchor(editor, editor.selection.getNode()));\n api.setEnabled(editor.selection.isEditable());\n };\n updateState();\n return toggleState(editor, updateState);\n };\n const toggleLinkMenuState = editor => api => {\n const updateState = () => {\n api.setEnabled(editor.selection.isEditable());\n };\n updateState();\n return toggleState(editor, updateState);\n };\n const hasExactlyOneLinkInSelection = editor => {\n const links = editor.selection.isCollapsed() ? getLinks$1(editor.dom.getParents(editor.selection.getStart())) : getLinksInSelection(editor.selection.getRng());\n return links.length === 1;\n };\n const toggleGotoLinkState = editor => api => {\n const updateState = () => api.setEnabled(hasExactlyOneLinkInSelection(editor));\n updateState();\n return toggleState(editor, updateState);\n };\n const toggleUnlinkState = editor => api => {\n const hasLinks$1 = parents => hasLinks(parents) || hasLinksInSelection(editor.selection.getRng());\n const parents = editor.dom.getParents(editor.selection.getStart());\n const updateEnabled = parents => {\n api.setEnabled(hasLinks$1(parents) && editor.selection.isEditable());\n };\n updateEnabled(parents);\n return toggleState(editor, e => updateEnabled(e.parents));\n };\n\n const setup = editor => {\n editor.addShortcut('Meta+K', '', () => {\n editor.execCommand('mceLink');\n });\n };\n\n const setupButtons = editor => {\n editor.ui.registry.addToggleButton('link', {\n icon: 'link',\n tooltip: 'Insert/edit link',\n onAction: openDialog(editor),\n onSetup: toggleLinkState(editor)\n });\n editor.ui.registry.addButton('openlink', {\n icon: 'new-tab',\n tooltip: 'Open link',\n onAction: gotoSelectedLink(editor),\n onSetup: toggleGotoLinkState(editor)\n });\n editor.ui.registry.addButton('unlink', {\n icon: 'unlink',\n tooltip: 'Remove link',\n onAction: () => unlink(editor),\n onSetup: toggleUnlinkState(editor)\n });\n };\n const setupMenuItems = editor => {\n editor.ui.registry.addMenuItem('openlink', {\n text: 'Open link',\n icon: 'new-tab',\n onAction: gotoSelectedLink(editor),\n onSetup: toggleGotoLinkState(editor)\n });\n editor.ui.registry.addMenuItem('link', {\n icon: 'link',\n text: 'Link...',\n shortcut: 'Meta+K',\n onSetup: toggleLinkMenuState(editor),\n onAction: openDialog(editor)\n });\n editor.ui.registry.addMenuItem('unlink', {\n icon: 'unlink',\n text: 'Remove link',\n onAction: () => unlink(editor),\n onSetup: toggleUnlinkState(editor)\n });\n };\n const setupContextMenu = editor => {\n const inLink = 'link unlink openlink';\n const noLink = 'link';\n editor.ui.registry.addContextMenu('link', {\n update: element => {\n const isEditable = editor.dom.isEditable(element);\n if (!isEditable) {\n return '';\n }\n return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink;\n }\n });\n };\n const setupContextToolbars = editor => {\n const collapseSelectionToEnd = editor => {\n editor.selection.collapse(false);\n };\n const onSetupLink = buttonApi => {\n const node = editor.selection.getNode();\n buttonApi.setEnabled(isInAnchor(editor, node));\n return noop;\n };\n const getLinkText = value => {\n const anchor = getAnchorElement(editor);\n const onlyText = isOnlyTextSelected(editor);\n if (anchor.isNone() && onlyText) {\n const text = getAnchorText(editor.selection, anchor);\n return someIf(text.length === 0, value);\n } else {\n return Optional.none();\n }\n };\n editor.ui.registry.addContextForm('quicklink', {\n launch: {\n type: 'contextformtogglebutton',\n icon: 'link',\n tooltip: 'Link',\n onSetup: toggleLinkState(editor)\n },\n label: 'Link',\n predicate: node => hasContextToolbar(editor) && isInAnchor(editor, node),\n initValue: () => {\n const elm = getAnchorElement(editor);\n return elm.fold(constant(''), getHref);\n },\n commands: [\n {\n type: 'contextformtogglebutton',\n icon: 'link',\n tooltip: 'Link',\n primary: true,\n onSetup: buttonApi => {\n const node = editor.selection.getNode();\n buttonApi.setActive(isInAnchor(editor, node));\n return toggleLinkState(editor)(buttonApi);\n },\n onAction: formApi => {\n const value = formApi.getValue();\n const text = getLinkText(value);\n const attachState = {\n href: value,\n attach: noop\n };\n link(editor, attachState, {\n href: value,\n text,\n title: Optional.none(),\n rel: Optional.none(),\n target: Optional.none(),\n class: Optional.none()\n });\n collapseSelectionToEnd(editor);\n formApi.hide();\n }\n },\n {\n type: 'contextformbutton',\n icon: 'unlink',\n tooltip: 'Remove link',\n onSetup: onSetupLink,\n onAction: formApi => {\n unlink(editor);\n formApi.hide();\n }\n },\n {\n type: 'contextformbutton',\n icon: 'new-tab',\n tooltip: 'Open link',\n onSetup: onSetupLink,\n onAction: formApi => {\n gotoSelectedLink(editor)();\n formApi.hide();\n }\n }\n ]\n });\n };\n\n var Plugin = () => {\n global$5.add('link', editor => {\n register$1(editor);\n setupButtons(editor);\n setupMenuItems(editor);\n setupContextMenu(editor);\n setupContextToolbars(editor);\n setupGotoLinks(editor);\n register(editor);\n setup(editor);\n });\n };\n\n Plugin();\n\n})();\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"plugin.js","sources":["../../../../../../../../../../../node_modules/.pnpm/tinymce@6.8.2/node_modules/tinymce/plugins/link/plugin.js"],"sourcesContent":["/**\n * TinyMCE version 6.8.2 (2023-12-11)\n */\n\n(function () {\n 'use strict';\n\n var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const hasProto = (v, constructor, predicate) => {\n var _a;\n if (predicate(v, constructor.prototype)) {\n return true;\n } else {\n return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n }\n };\n const typeOf = x => {\n const t = typeof x;\n if (x === null) {\n return 'null';\n } else if (t === 'object' && Array.isArray(x)) {\n return 'array';\n } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n return 'string';\n } else {\n return t;\n }\n };\n const isType = type => value => typeOf(value) === type;\n const isSimpleType = type => value => typeof value === type;\n const eq = t => a => t === a;\n const isString = isType('string');\n const isObject = isType('object');\n const isArray = isType('array');\n const isNull = eq(null);\n const isBoolean = isSimpleType('boolean');\n const isNullable = a => a === null || a === undefined;\n const isNonNullable = a => !isNullable(a);\n const isFunction = isSimpleType('function');\n const isArrayOf = (value, pred) => {\n if (isArray(value)) {\n for (let i = 0, len = value.length; i < len; ++i) {\n if (!pred(value[i])) {\n return false;\n }\n }\n return true;\n }\n return false;\n };\n\n const noop = () => {\n };\n const constant = value => {\n return () => {\n return value;\n };\n };\n const tripleEquals = (a, b) => {\n return a === b;\n };\n\n class Optional {\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n static some(value) {\n return new Optional(true, value);\n }\n static none() {\n return Optional.singletonNone;\n }\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n } else {\n return onNone();\n }\n }\n isSome() {\n return this.tag;\n }\n isNone() {\n return !this.tag;\n }\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n } else {\n return Optional.none();\n }\n }\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n } else {\n return Optional.none();\n }\n }\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n } else {\n return Optional.none();\n }\n }\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n or(replacement) {\n return this.tag ? this : replacement;\n }\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n } else {\n return this.value;\n }\n }\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n getOrNull() {\n return this.tag ? this.value : null;\n }\n getOrUndefined() {\n return this.value;\n }\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n toArray() {\n return this.tag ? [this.value] : [];\n }\n toString() {\n return this.tag ? `some(${ this.value })` : 'none()';\n }\n }\n Optional.singletonNone = new Optional(false);\n\n const nativeIndexOf = Array.prototype.indexOf;\n const nativePush = Array.prototype.push;\n const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n const contains = (xs, x) => rawIndexOf(xs, x) > -1;\n const map = (xs, f) => {\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n const each$1 = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const foldl = (xs, f, acc) => {\n each$1(xs, (x, i) => {\n acc = f(acc, x, i);\n });\n return acc;\n };\n const flatten = xs => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; ++i) {\n if (!isArray(xs[i])) {\n throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n }\n nativePush.apply(r, xs[i]);\n }\n return r;\n };\n const bind = (xs, f) => flatten(map(xs, f));\n const findMap = (arr, f) => {\n for (let i = 0; i < arr.length; i++) {\n const r = f(arr[i], i);\n if (r.isSome()) {\n return r;\n }\n }\n return Optional.none();\n };\n\n const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n const cat = arr => {\n const r = [];\n const push = x => {\n r.push(x);\n };\n for (let i = 0; i < arr.length; i++) {\n arr[i].each(push);\n }\n return r;\n };\n const someIf = (b, a) => b ? Optional.some(a) : Optional.none();\n\n const option = name => editor => editor.options.get(name);\n const register$1 = editor => {\n const registerOption = editor.options.register;\n registerOption('link_assume_external_targets', {\n processor: value => {\n const valid = isString(value) || isBoolean(value);\n if (valid) {\n if (value === true) {\n return {\n value: 1,\n valid\n };\n } else if (value === 'http' || value === 'https') {\n return {\n value,\n valid\n };\n } else {\n return {\n value: 0,\n valid\n };\n }\n } else {\n return {\n valid: false,\n message: 'Must be a string or a boolean.'\n };\n }\n },\n default: false\n });\n registerOption('link_context_toolbar', {\n processor: 'boolean',\n default: false\n });\n registerOption('link_list', { processor: value => isString(value) || isFunction(value) || isArrayOf(value, isObject) });\n registerOption('link_default_target', { processor: 'string' });\n registerOption('link_default_protocol', {\n processor: 'string',\n default: 'https'\n });\n registerOption('link_target_list', {\n processor: value => isBoolean(value) || isArrayOf(value, isObject),\n default: true\n });\n registerOption('link_rel_list', {\n processor: 'object[]',\n default: []\n });\n registerOption('link_class_list', {\n processor: 'object[]',\n default: []\n });\n registerOption('link_title', {\n processor: 'boolean',\n default: true\n });\n registerOption('allow_unsafe_link_target', {\n processor: 'boolean',\n default: false\n });\n registerOption('link_quicklink', {\n processor: 'boolean',\n default: false\n });\n };\n const assumeExternalTargets = option('link_assume_external_targets');\n const hasContextToolbar = option('link_context_toolbar');\n const getLinkList = option('link_list');\n const getDefaultLinkTarget = option('link_default_target');\n const getDefaultLinkProtocol = option('link_default_protocol');\n const getTargetList = option('link_target_list');\n const getRelList = option('link_rel_list');\n const getLinkClassList = option('link_class_list');\n const shouldShowLinkTitle = option('link_title');\n const allowUnsafeLinkTarget = option('allow_unsafe_link_target');\n const useQuickLink = option('link_quicklink');\n\n var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n const getValue = item => isString(item.value) ? item.value : '';\n const getText = item => {\n if (isString(item.text)) {\n return item.text;\n } else if (isString(item.title)) {\n return item.title;\n } else {\n return '';\n }\n };\n const sanitizeList = (list, extractValue) => {\n const out = [];\n global$4.each(list, item => {\n const text = getText(item);\n if (item.menu !== undefined) {\n const items = sanitizeList(item.menu, extractValue);\n out.push({\n text,\n items\n });\n } else {\n const value = extractValue(item);\n out.push({\n text,\n value\n });\n }\n });\n return out;\n };\n const sanitizeWith = (extracter = getValue) => list => Optional.from(list).map(list => sanitizeList(list, extracter));\n const sanitize = list => sanitizeWith(getValue)(list);\n const createUi = (name, label) => items => ({\n name,\n type: 'listbox',\n label,\n items\n });\n const ListOptions = {\n sanitize,\n sanitizeWith,\n createUi,\n getValue\n };\n\n const keys = Object.keys;\n const hasOwnProperty = Object.hasOwnProperty;\n const each = (obj, f) => {\n const props = keys(obj);\n for (let k = 0, len = props.length; k < len; k++) {\n const i = props[k];\n const x = obj[i];\n f(x, i);\n }\n };\n const objAcc = r => (x, i) => {\n r[i] = x;\n };\n const internalFilter = (obj, pred, onTrue, onFalse) => {\n each(obj, (x, i) => {\n (pred(x, i) ? onTrue : onFalse)(x, i);\n });\n };\n const filter = (obj, pred) => {\n const t = {};\n internalFilter(obj, pred, objAcc(t), noop);\n return t;\n };\n const has = (obj, key) => hasOwnProperty.call(obj, key);\n const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;\n\n var global$3 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');\n\n const isAnchor = elm => isNonNullable(elm) && elm.nodeName.toLowerCase() === 'a';\n const isLink = elm => isAnchor(elm) && !!getHref(elm);\n const collectNodesInRange = (rng, predicate) => {\n if (rng.collapsed) {\n return [];\n } else {\n const contents = rng.cloneContents();\n const firstChild = contents.firstChild;\n const walker = new global$3(firstChild, contents);\n const elements = [];\n let current = firstChild;\n do {\n if (predicate(current)) {\n elements.push(current);\n }\n } while (current = walker.next());\n return elements;\n }\n };\n const hasProtocol = url => /^\\w+:/i.test(url);\n const getHref = elm => {\n var _a, _b;\n return (_b = (_a = elm.getAttribute('data-mce-href')) !== null && _a !== void 0 ? _a : elm.getAttribute('href')) !== null && _b !== void 0 ? _b : '';\n };\n const applyRelTargetRules = (rel, isUnsafe) => {\n const rules = ['noopener'];\n const rels = rel ? rel.split(/\\s+/) : [];\n const toString = rels => global$4.trim(rels.sort().join(' '));\n const addTargetRules = rels => {\n rels = removeTargetRules(rels);\n return rels.length > 0 ? rels.concat(rules) : rules;\n };\n const removeTargetRules = rels => rels.filter(val => global$4.inArray(rules, val) === -1);\n const newRels = isUnsafe ? addTargetRules(rels) : removeTargetRules(rels);\n return newRels.length > 0 ? toString(newRels) : '';\n };\n const trimCaretContainers = text => text.replace(/\\uFEFF/g, '');\n const getAnchorElement = (editor, selectedElm) => {\n selectedElm = selectedElm || getLinksInSelection(editor.selection.getRng())[0] || editor.selection.getNode();\n if (isImageFigure(selectedElm)) {\n return Optional.from(editor.dom.select('a[href]', selectedElm)[0]);\n } else {\n return Optional.from(editor.dom.getParent(selectedElm, 'a[href]'));\n }\n };\n const isInAnchor = (editor, selectedElm) => getAnchorElement(editor, selectedElm).isSome();\n const getAnchorText = (selection, anchorElm) => {\n const text = anchorElm.fold(() => selection.getContent({ format: 'text' }), anchorElm => anchorElm.innerText || anchorElm.textContent || '');\n return trimCaretContainers(text);\n };\n const getLinksInSelection = rng => collectNodesInRange(rng, isLink);\n const getLinks$1 = elements => global$4.grep(elements, isLink);\n const hasLinks = elements => getLinks$1(elements).length > 0;\n const hasLinksInSelection = rng => getLinksInSelection(rng).length > 0;\n const isOnlyTextSelected = editor => {\n const inlineTextElements = editor.schema.getTextInlineElements();\n const isElement = elm => elm.nodeType === 1 && !isAnchor(elm) && !has(inlineTextElements, elm.nodeName.toLowerCase());\n const isInBlockAnchor = getAnchorElement(editor).exists(anchor => anchor.hasAttribute('data-mce-block'));\n if (isInBlockAnchor) {\n return false;\n }\n const rng = editor.selection.getRng();\n if (!rng.collapsed) {\n const elements = collectNodesInRange(rng, isElement);\n return elements.length === 0;\n } else {\n return true;\n }\n };\n const isImageFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE' && /\\bimage\\b/i.test(elm.className);\n const getLinkAttrs = data => {\n const attrs = [\n 'title',\n 'rel',\n 'class',\n 'target'\n ];\n return foldl(attrs, (acc, key) => {\n data[key].each(value => {\n acc[key] = value.length > 0 ? value : null;\n });\n return acc;\n }, { href: data.href });\n };\n const handleExternalTargets = (href, assumeExternalTargets) => {\n if ((assumeExternalTargets === 'http' || assumeExternalTargets === 'https') && !hasProtocol(href)) {\n return assumeExternalTargets + '://' + href;\n }\n return href;\n };\n const applyLinkOverrides = (editor, linkAttrs) => {\n const newLinkAttrs = { ...linkAttrs };\n if (getRelList(editor).length === 0 && !allowUnsafeLinkTarget(editor)) {\n const newRel = applyRelTargetRules(newLinkAttrs.rel, newLinkAttrs.target === '_blank');\n newLinkAttrs.rel = newRel ? newRel : null;\n }\n if (Optional.from(newLinkAttrs.target).isNone() && getTargetList(editor) === false) {\n newLinkAttrs.target = getDefaultLinkTarget(editor);\n }\n newLinkAttrs.href = handleExternalTargets(newLinkAttrs.href, assumeExternalTargets(editor));\n return newLinkAttrs;\n };\n const updateLink = (editor, anchorElm, text, linkAttrs) => {\n text.each(text => {\n if (has(anchorElm, 'innerText')) {\n anchorElm.innerText = text;\n } else {\n anchorElm.textContent = text;\n }\n });\n editor.dom.setAttribs(anchorElm, linkAttrs);\n editor.selection.select(anchorElm);\n };\n const createLink = (editor, selectedElm, text, linkAttrs) => {\n const dom = editor.dom;\n if (isImageFigure(selectedElm)) {\n linkImageFigure(dom, selectedElm, linkAttrs);\n } else {\n text.fold(() => {\n editor.execCommand('mceInsertLink', false, linkAttrs);\n }, text => {\n editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(text)));\n });\n }\n };\n const linkDomMutation = (editor, attachState, data) => {\n const selectedElm = editor.selection.getNode();\n const anchorElm = getAnchorElement(editor, selectedElm);\n const linkAttrs = applyLinkOverrides(editor, getLinkAttrs(data));\n editor.undoManager.transact(() => {\n if (data.href === attachState.href) {\n attachState.attach();\n }\n anchorElm.fold(() => {\n createLink(editor, selectedElm, data.text, linkAttrs);\n }, elm => {\n editor.focus();\n updateLink(editor, elm, data.text, linkAttrs);\n });\n });\n };\n const unlinkSelection = editor => {\n const dom = editor.dom, selection = editor.selection;\n const bookmark = selection.getBookmark();\n const rng = selection.getRng().cloneRange();\n const startAnchorElm = dom.getParent(rng.startContainer, 'a[href]', editor.getBody());\n const endAnchorElm = dom.getParent(rng.endContainer, 'a[href]', editor.getBody());\n if (startAnchorElm) {\n rng.setStartBefore(startAnchorElm);\n }\n if (endAnchorElm) {\n rng.setEndAfter(endAnchorElm);\n }\n selection.setRng(rng);\n editor.execCommand('unlink');\n selection.moveToBookmark(bookmark);\n };\n const unlinkDomMutation = editor => {\n editor.undoManager.transact(() => {\n const node = editor.selection.getNode();\n if (isImageFigure(node)) {\n unlinkImageFigure(editor, node);\n } else {\n unlinkSelection(editor);\n }\n editor.focus();\n });\n };\n const unwrapOptions = data => {\n const {\n class: cls,\n href,\n rel,\n target,\n text,\n title\n } = data;\n return filter({\n class: cls.getOrNull(),\n href,\n rel: rel.getOrNull(),\n target: target.getOrNull(),\n text: text.getOrNull(),\n title: title.getOrNull()\n }, (v, _k) => isNull(v) === false);\n };\n const sanitizeData = (editor, data) => {\n const getOption = editor.options.get;\n const uriOptions = {\n allow_html_data_urls: getOption('allow_html_data_urls'),\n allow_script_urls: getOption('allow_script_urls'),\n allow_svg_data_urls: getOption('allow_svg_data_urls')\n };\n const href = data.href;\n return {\n ...data,\n href: global$2.isDomSafe(href, 'a', uriOptions) ? href : ''\n };\n };\n const link = (editor, attachState, data) => {\n const sanitizedData = sanitizeData(editor, data);\n editor.hasPlugin('rtc', true) ? editor.execCommand('createlink', false, unwrapOptions(sanitizedData)) : linkDomMutation(editor, attachState, sanitizedData);\n };\n const unlink = editor => {\n editor.hasPlugin('rtc', true) ? editor.execCommand('unlink') : unlinkDomMutation(editor);\n };\n const unlinkImageFigure = (editor, fig) => {\n var _a;\n const img = editor.dom.select('img', fig)[0];\n if (img) {\n const a = editor.dom.getParents(img, 'a[href]', fig)[0];\n if (a) {\n (_a = a.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(img, a);\n editor.dom.remove(a);\n }\n }\n };\n const linkImageFigure = (dom, fig, attrs) => {\n var _a;\n const img = dom.select('img', fig)[0];\n if (img) {\n const a = dom.create('a', attrs);\n (_a = img.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(a, img);\n a.appendChild(img);\n }\n };\n\n const isListGroup = item => hasNonNullableKey(item, 'items');\n const findTextByValue = (value, catalog) => findMap(catalog, item => {\n if (isListGroup(item)) {\n return findTextByValue(value, item.items);\n } else {\n return someIf(item.value === value, item);\n }\n });\n const getDelta = (persistentText, fieldName, catalog, data) => {\n const value = data[fieldName];\n const hasPersistentText = persistentText.length > 0;\n return value !== undefined ? findTextByValue(value, catalog).map(i => ({\n url: {\n value: i.value,\n meta: {\n text: hasPersistentText ? persistentText : i.text,\n attach: noop\n }\n },\n text: hasPersistentText ? persistentText : i.text\n })) : Optional.none();\n };\n const findCatalog = (catalogs, fieldName) => {\n if (fieldName === 'link') {\n return catalogs.link;\n } else if (fieldName === 'anchor') {\n return catalogs.anchor;\n } else {\n return Optional.none();\n }\n };\n const init = (initialData, linkCatalog) => {\n const persistentData = {\n text: initialData.text,\n title: initialData.title\n };\n const getTitleFromUrlChange = url => {\n var _a;\n return someIf(persistentData.title.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.title).getOr(''));\n };\n const getTextFromUrlChange = url => {\n var _a;\n return someIf(persistentData.text.length <= 0, Optional.from((_a = url.meta) === null || _a === void 0 ? void 0 : _a.text).getOr(url.value));\n };\n const onUrlChange = data => {\n const text = getTextFromUrlChange(data.url);\n const title = getTitleFromUrlChange(data.url);\n if (text.isSome() || title.isSome()) {\n return Optional.some({\n ...text.map(text => ({ text })).getOr({}),\n ...title.map(title => ({ title })).getOr({})\n });\n } else {\n return Optional.none();\n }\n };\n const onCatalogChange = (data, change) => {\n const catalog = findCatalog(linkCatalog, change).getOr([]);\n return getDelta(persistentData.text, change, catalog, data);\n };\n const onChange = (getData, change) => {\n const name = change.name;\n if (name === 'url') {\n return onUrlChange(getData());\n } else if (contains([\n 'anchor',\n 'link'\n ], name)) {\n return onCatalogChange(getData(), name);\n } else if (name === 'text' || name === 'title') {\n persistentData[name] = getData()[name];\n return Optional.none();\n } else {\n return Optional.none();\n }\n };\n return { onChange };\n };\n const DialogChanges = {\n init,\n getDelta\n };\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');\n\n const delayedConfirm = (editor, message, callback) => {\n const rng = editor.selection.getRng();\n global$1.setEditorTimeout(editor, () => {\n editor.windowManager.confirm(message, state => {\n editor.selection.setRng(rng);\n callback(state);\n });\n });\n };\n const tryEmailTransform = data => {\n const url = data.href;\n const suggestMailTo = url.indexOf('@') > 0 && url.indexOf('/') === -1 && url.indexOf('mailto:') === -1;\n return suggestMailTo ? Optional.some({\n message: 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',\n preprocess: oldData => ({\n ...oldData,\n href: 'mailto:' + url\n })\n }) : Optional.none();\n };\n const tryProtocolTransform = (assumeExternalTargets, defaultLinkProtocol) => data => {\n const url = data.href;\n const suggestProtocol = assumeExternalTargets === 1 && !hasProtocol(url) || assumeExternalTargets === 0 && /^\\s*www(\\.|\\d\\.)/i.test(url);\n return suggestProtocol ? Optional.some({\n message: `The URL you entered seems to be an external link. Do you want to add the required ${ defaultLinkProtocol }:// prefix?`,\n preprocess: oldData => ({\n ...oldData,\n href: defaultLinkProtocol + '://' + url\n })\n }) : Optional.none();\n };\n const preprocess = (editor, data) => findMap([\n tryEmailTransform,\n tryProtocolTransform(assumeExternalTargets(editor), getDefaultLinkProtocol(editor))\n ], f => f(data)).fold(() => Promise.resolve(data), transform => new Promise(callback => {\n delayedConfirm(editor, transform.message, state => {\n callback(state ? transform.preprocess(data) : data);\n });\n }));\n const DialogConfirms = { preprocess };\n\n const getAnchors = editor => {\n const anchorNodes = editor.dom.select('a:not([href])');\n const anchors = bind(anchorNodes, anchor => {\n const id = anchor.name || anchor.id;\n return id ? [{\n text: id,\n value: '#' + id\n }] : [];\n });\n return anchors.length > 0 ? Optional.some([{\n text: 'None',\n value: ''\n }].concat(anchors)) : Optional.none();\n };\n const AnchorListOptions = { getAnchors };\n\n const getClasses = editor => {\n const list = getLinkClassList(editor);\n if (list.length > 0) {\n return ListOptions.sanitize(list);\n }\n return Optional.none();\n };\n const ClassListOptions = { getClasses };\n\n const parseJson = text => {\n try {\n return Optional.some(JSON.parse(text));\n } catch (err) {\n return Optional.none();\n }\n };\n const getLinks = editor => {\n const extractor = item => editor.convertURL(item.value || item.url || '', 'href');\n const linkList = getLinkList(editor);\n return new Promise(resolve => {\n if (isString(linkList)) {\n fetch(linkList).then(res => res.ok ? res.text().then(parseJson) : Promise.reject()).then(resolve, () => resolve(Optional.none()));\n } else if (isFunction(linkList)) {\n linkList(output => resolve(Optional.some(output)));\n } else {\n resolve(Optional.from(linkList));\n }\n }).then(optItems => optItems.bind(ListOptions.sanitizeWith(extractor)).map(items => {\n if (items.length > 0) {\n const noneItem = [{\n text: 'None',\n value: ''\n }];\n return noneItem.concat(items);\n } else {\n return items;\n }\n }));\n };\n const LinkListOptions = { getLinks };\n\n const getRels = (editor, initialTarget) => {\n const list = getRelList(editor);\n if (list.length > 0) {\n const isTargetBlank = is(initialTarget, '_blank');\n const enforceSafe = allowUnsafeLinkTarget(editor) === false;\n const safeRelExtractor = item => applyRelTargetRules(ListOptions.getValue(item), isTargetBlank);\n const sanitizer = enforceSafe ? ListOptions.sanitizeWith(safeRelExtractor) : ListOptions.sanitize;\n return sanitizer(list);\n }\n return Optional.none();\n };\n const RelOptions = { getRels };\n\n const fallbacks = [\n {\n text: 'Current window',\n value: ''\n },\n {\n text: 'New window',\n value: '_blank'\n }\n ];\n const getTargets = editor => {\n const list = getTargetList(editor);\n if (isArray(list)) {\n return ListOptions.sanitize(list).orThunk(() => Optional.some(fallbacks));\n } else if (list === false) {\n return Optional.none();\n }\n return Optional.some(fallbacks);\n };\n const TargetOptions = { getTargets };\n\n const nonEmptyAttr = (dom, elem, name) => {\n const val = dom.getAttrib(elem, name);\n return val !== null && val.length > 0 ? Optional.some(val) : Optional.none();\n };\n const extractFromAnchor = (editor, anchor) => {\n const dom = editor.dom;\n const onlyText = isOnlyTextSelected(editor);\n const text = onlyText ? Optional.some(getAnchorText(editor.selection, anchor)) : Optional.none();\n const url = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'href')));\n const target = anchor.bind(anchorElm => Optional.from(dom.getAttrib(anchorElm, 'target')));\n const rel = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'rel'));\n const linkClass = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'class'));\n const title = anchor.bind(anchorElm => nonEmptyAttr(dom, anchorElm, 'title'));\n return {\n url,\n text,\n title,\n target,\n rel,\n linkClass\n };\n };\n const collect = (editor, linkNode) => LinkListOptions.getLinks(editor).then(links => {\n const anchor = extractFromAnchor(editor, linkNode);\n return {\n anchor,\n catalogs: {\n targets: TargetOptions.getTargets(editor),\n rels: RelOptions.getRels(editor, anchor.target),\n classes: ClassListOptions.getClasses(editor),\n anchor: AnchorListOptions.getAnchors(editor),\n link: links\n },\n optNode: linkNode,\n flags: { titleEnabled: shouldShowLinkTitle(editor) }\n };\n });\n const DialogInfo = { collect };\n\n const handleSubmit = (editor, info) => api => {\n const data = api.getData();\n if (!data.url.value) {\n unlink(editor);\n api.close();\n return;\n }\n const getChangedValue = key => Optional.from(data[key]).filter(value => !is(info.anchor[key], value));\n const changedData = {\n href: data.url.value,\n text: getChangedValue('text'),\n target: getChangedValue('target'),\n rel: getChangedValue('rel'),\n class: getChangedValue('linkClass'),\n title: getChangedValue('title')\n };\n const attachState = {\n href: data.url.value,\n attach: data.url.meta !== undefined && data.url.meta.attach ? data.url.meta.attach : noop\n };\n DialogConfirms.preprocess(editor, changedData).then(pData => {\n link(editor, attachState, pData);\n });\n api.close();\n };\n const collectData = editor => {\n const anchorNode = getAnchorElement(editor);\n return DialogInfo.collect(editor, anchorNode);\n };\n const getInitialData = (info, defaultTarget) => {\n const anchor = info.anchor;\n const url = anchor.url.getOr('');\n return {\n url: {\n value: url,\n meta: { original: { value: url } }\n },\n text: anchor.text.getOr(''),\n title: anchor.title.getOr(''),\n anchor: url,\n link: url,\n rel: anchor.rel.getOr(''),\n target: anchor.target.or(defaultTarget).getOr(''),\n linkClass: anchor.linkClass.getOr('')\n };\n };\n const makeDialog = (settings, onSubmit, editor) => {\n const urlInput = [{\n name: 'url',\n type: 'urlinput',\n filetype: 'file',\n label: 'URL',\n picker_text: 'Browse links'\n }];\n const displayText = settings.anchor.text.map(() => ({\n name: 'text',\n type: 'input',\n label: 'Text to display'\n })).toArray();\n const titleText = settings.flags.titleEnabled ? [{\n name: 'title',\n type: 'input',\n label: 'Title'\n }] : [];\n const defaultTarget = Optional.from(getDefaultLinkTarget(editor));\n const initialData = getInitialData(settings, defaultTarget);\n const catalogs = settings.catalogs;\n const dialogDelta = DialogChanges.init(initialData, catalogs);\n const body = {\n type: 'panel',\n items: flatten([\n urlInput,\n displayText,\n titleText,\n cat([\n catalogs.anchor.map(ListOptions.createUi('anchor', 'Anchors')),\n catalogs.rels.map(ListOptions.createUi('rel', 'Rel')),\n catalogs.targets.map(ListOptions.createUi('target', 'Open link in...')),\n catalogs.link.map(ListOptions.createUi('link', 'Link list')),\n catalogs.classes.map(ListOptions.createUi('linkClass', 'Class'))\n ])\n ])\n };\n return {\n title: 'Insert/Edit Link',\n size: 'normal',\n body,\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n initialData,\n onChange: (api, {name}) => {\n dialogDelta.onChange(api.getData, { name }).each(newData => {\n api.setData(newData);\n });\n },\n onSubmit\n };\n };\n const open$1 = editor => {\n const data = collectData(editor);\n data.then(info => {\n const onSubmit = handleSubmit(editor, info);\n return makeDialog(info, onSubmit, editor);\n }).then(spec => {\n editor.windowManager.open(spec);\n });\n };\n\n const register = editor => {\n editor.addCommand('mceLink', (_ui, value) => {\n if ((value === null || value === void 0 ? void 0 : value.dialog) === true || !useQuickLink(editor)) {\n open$1(editor);\n } else {\n editor.dispatch('contexttoolbar-show', { toolbarKey: 'quicklink' });\n }\n });\n };\n\n var global = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n const appendClickRemove = (link, evt) => {\n document.body.appendChild(link);\n link.dispatchEvent(evt);\n document.body.removeChild(link);\n };\n const open = url => {\n const link = document.createElement('a');\n link.target = '_blank';\n link.href = url;\n link.rel = 'noreferrer noopener';\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n appendClickRemove(link, evt);\n };\n\n const getLink = (editor, elm) => editor.dom.getParent(elm, 'a[href]');\n const getSelectedLink = editor => getLink(editor, editor.selection.getStart());\n const hasOnlyAltModifier = e => {\n return e.altKey === true && e.shiftKey === false && e.ctrlKey === false && e.metaKey === false;\n };\n const gotoLink = (editor, a) => {\n if (a) {\n const href = getHref(a);\n if (/^#/.test(href)) {\n const targetEl = editor.dom.select(href);\n if (targetEl.length) {\n editor.selection.scrollIntoView(targetEl[0], true);\n }\n } else {\n open(a.href);\n }\n }\n };\n const openDialog = editor => () => {\n editor.execCommand('mceLink', false, { dialog: true });\n };\n const gotoSelectedLink = editor => () => {\n gotoLink(editor, getSelectedLink(editor));\n };\n const setupGotoLinks = editor => {\n editor.on('click', e => {\n const link = getLink(editor, e.target);\n if (link && global.metaKeyPressed(e)) {\n e.preventDefault();\n gotoLink(editor, link);\n }\n });\n editor.on('keydown', e => {\n if (!e.isDefaultPrevented() && e.keyCode === 13 && hasOnlyAltModifier(e)) {\n const link = getSelectedLink(editor);\n if (link) {\n e.preventDefault();\n gotoLink(editor, link);\n }\n }\n });\n };\n const toggleState = (editor, toggler) => {\n editor.on('NodeChange', toggler);\n return () => editor.off('NodeChange', toggler);\n };\n const toggleLinkState = editor => api => {\n const updateState = () => {\n api.setActive(!editor.mode.isReadOnly() && isInAnchor(editor, editor.selection.getNode()));\n api.setEnabled(editor.selection.isEditable());\n };\n updateState();\n return toggleState(editor, updateState);\n };\n const toggleLinkMenuState = editor => api => {\n const updateState = () => {\n api.setEnabled(editor.selection.isEditable());\n };\n updateState();\n return toggleState(editor, updateState);\n };\n const hasExactlyOneLinkInSelection = editor => {\n const links = editor.selection.isCollapsed() ? getLinks$1(editor.dom.getParents(editor.selection.getStart())) : getLinksInSelection(editor.selection.getRng());\n return links.length === 1;\n };\n const toggleGotoLinkState = editor => api => {\n const updateState = () => api.setEnabled(hasExactlyOneLinkInSelection(editor));\n updateState();\n return toggleState(editor, updateState);\n };\n const toggleUnlinkState = editor => api => {\n const hasLinks$1 = parents => hasLinks(parents) || hasLinksInSelection(editor.selection.getRng());\n const parents = editor.dom.getParents(editor.selection.getStart());\n const updateEnabled = parents => {\n api.setEnabled(hasLinks$1(parents) && editor.selection.isEditable());\n };\n updateEnabled(parents);\n return toggleState(editor, e => updateEnabled(e.parents));\n };\n\n const setup = editor => {\n editor.addShortcut('Meta+K', '', () => {\n editor.execCommand('mceLink');\n });\n };\n\n const setupButtons = editor => {\n editor.ui.registry.addToggleButton('link', {\n icon: 'link',\n tooltip: 'Insert/edit link',\n onAction: openDialog(editor),\n onSetup: toggleLinkState(editor)\n });\n editor.ui.registry.addButton('openlink', {\n icon: 'new-tab',\n tooltip: 'Open link',\n onAction: gotoSelectedLink(editor),\n onSetup: toggleGotoLinkState(editor)\n });\n editor.ui.registry.addButton('unlink', {\n icon: 'unlink',\n tooltip: 'Remove link',\n onAction: () => unlink(editor),\n onSetup: toggleUnlinkState(editor)\n });\n };\n const setupMenuItems = editor => {\n editor.ui.registry.addMenuItem('openlink', {\n text: 'Open link',\n icon: 'new-tab',\n onAction: gotoSelectedLink(editor),\n onSetup: toggleGotoLinkState(editor)\n });\n editor.ui.registry.addMenuItem('link', {\n icon: 'link',\n text: 'Link...',\n shortcut: 'Meta+K',\n onSetup: toggleLinkMenuState(editor),\n onAction: openDialog(editor)\n });\n editor.ui.registry.addMenuItem('unlink', {\n icon: 'unlink',\n text: 'Remove link',\n onAction: () => unlink(editor),\n onSetup: toggleUnlinkState(editor)\n });\n };\n const setupContextMenu = editor => {\n const inLink = 'link unlink openlink';\n const noLink = 'link';\n editor.ui.registry.addContextMenu('link', {\n update: element => {\n const isEditable = editor.dom.isEditable(element);\n if (!isEditable) {\n return '';\n }\n return hasLinks(editor.dom.getParents(element, 'a')) ? inLink : noLink;\n }\n });\n };\n const setupContextToolbars = editor => {\n const collapseSelectionToEnd = editor => {\n editor.selection.collapse(false);\n };\n const onSetupLink = buttonApi => {\n const node = editor.selection.getNode();\n buttonApi.setEnabled(isInAnchor(editor, node));\n return noop;\n };\n const getLinkText = value => {\n const anchor = getAnchorElement(editor);\n const onlyText = isOnlyTextSelected(editor);\n if (anchor.isNone() && onlyText) {\n const text = getAnchorText(editor.selection, anchor);\n return someIf(text.length === 0, value);\n } else {\n return Optional.none();\n }\n };\n editor.ui.registry.addContextForm('quicklink', {\n launch: {\n type: 'contextformtogglebutton',\n icon: 'link',\n tooltip: 'Link',\n onSetup: toggleLinkState(editor)\n },\n label: 'Link',\n predicate: node => hasContextToolbar(editor) && isInAnchor(editor, node),\n initValue: () => {\n const elm = getAnchorElement(editor);\n return elm.fold(constant(''), getHref);\n },\n commands: [\n {\n type: 'contextformtogglebutton',\n icon: 'link',\n tooltip: 'Link',\n primary: true,\n onSetup: buttonApi => {\n const node = editor.selection.getNode();\n buttonApi.setActive(isInAnchor(editor, node));\n return toggleLinkState(editor)(buttonApi);\n },\n onAction: formApi => {\n const value = formApi.getValue();\n const text = getLinkText(value);\n const attachState = {\n href: value,\n attach: noop\n };\n link(editor, attachState, {\n href: value,\n text,\n title: Optional.none(),\n rel: Optional.none(),\n target: Optional.none(),\n class: Optional.none()\n });\n collapseSelectionToEnd(editor);\n formApi.hide();\n }\n },\n {\n type: 'contextformbutton',\n icon: 'unlink',\n tooltip: 'Remove link',\n onSetup: onSetupLink,\n onAction: formApi => {\n unlink(editor);\n formApi.hide();\n }\n },\n {\n type: 'contextformbutton',\n icon: 'new-tab',\n tooltip: 'Open link',\n onSetup: onSetupLink,\n onAction: formApi => {\n gotoSelectedLink(editor)();\n formApi.hide();\n }\n }\n ]\n });\n };\n\n var Plugin = () => {\n global$5.add('link', editor => {\n register$1(editor);\n setupButtons(editor);\n setupMenuItems(editor);\n setupContextMenu(editor);\n setupContextToolbars(editor);\n setupGotoLinks(editor);\n register(editor);\n setup(editor);\n });\n };\n\n Plugin();\n\n})();\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * TinyMCE version 6.8.0 (2023-11-22)
2
+ * TinyMCE version 6.8.2 (2023-12-11)
3
3
  */
4
4
 
5
5
  (function () {