@vc-shell/framework 1.1.54 → 1.1.56

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 (57) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/core/composables/useWidgets/index.ts +7 -2
  3. package/core/services/widget-service.ts +101 -1
  4. package/dist/core/composables/useWidgets/index.d.ts +2 -2
  5. package/dist/core/composables/useWidgets/index.d.ts.map +1 -1
  6. package/dist/core/services/widget-service.d.ts +26 -0
  7. package/dist/core/services/widget-service.d.ts.map +1 -1
  8. package/dist/framework.js +4381 -4245
  9. package/dist/index.css +1 -1
  10. package/dist/shared/composables/index.d.ts +2 -0
  11. package/dist/shared/composables/index.d.ts.map +1 -1
  12. package/dist/shared/composables/useBladeMultilanguage.d.ts +28 -0
  13. package/dist/shared/composables/useBladeMultilanguage.d.ts.map +1 -0
  14. package/dist/shared/composables/useExternalWidgets.d.ts +14 -0
  15. package/dist/shared/composables/useExternalWidgets.d.ts.map +1 -0
  16. package/dist/tsconfig.tsbuildinfo +1 -1
  17. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  18. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts.map +1 -1
  19. package/dist/{vendor-tiptap-core-BRY37Sb2.js → vendor-tiptap-core-CczYXVC4.js} +1 -1
  20. package/dist/{vendor-tiptap-extension-blockquote-CPd5qv-9.js → vendor-tiptap-extension-blockquote-Dm7YbSqy.js} +1 -1
  21. package/dist/{vendor-tiptap-extension-bold-B0GwBNks.js → vendor-tiptap-extension-bold-YKANgJQB.js} +1 -1
  22. package/dist/{vendor-tiptap-extension-bubble-menu-B0sZZld7.js → vendor-tiptap-extension-bubble-menu-gh-OpViI.js} +2 -2
  23. package/dist/{vendor-tiptap-extension-bullet-list-CQm4ReOu.js → vendor-tiptap-extension-bullet-list-CZWmGEbV.js} +1 -1
  24. package/dist/{vendor-tiptap-extension-code-C8cy6bRj.js → vendor-tiptap-extension-code-Bg0UZ8tC.js} +1 -1
  25. package/dist/{vendor-tiptap-extension-code-block-BqTchNEf.js → vendor-tiptap-extension-code-block-DQJ_tCBi.js} +1 -1
  26. package/dist/{vendor-tiptap-extension-document-Dka1Uu0g.js → vendor-tiptap-extension-document-CpCZXWQI.js} +1 -1
  27. package/dist/{vendor-tiptap-extension-dropcursor-CFSh-BuE.js → vendor-tiptap-extension-dropcursor-BVniwBbO.js} +1 -1
  28. package/dist/{vendor-tiptap-extension-floating-menu-H8PB4zeI.js → vendor-tiptap-extension-floating-menu-FkBnPfW6.js} +2 -2
  29. package/dist/{vendor-tiptap-extension-gapcursor-CzwfD_IT.js → vendor-tiptap-extension-gapcursor-XdrpVWvW.js} +1 -1
  30. package/dist/{vendor-tiptap-extension-hard-break-Rm6aVcrK.js → vendor-tiptap-extension-hard-break-N0r28gea.js} +1 -1
  31. package/dist/{vendor-tiptap-extension-heading-CavI6u1v.js → vendor-tiptap-extension-heading-CY1DvT1I.js} +1 -1
  32. package/dist/{vendor-tiptap-extension-history-WEN1_74D.js → vendor-tiptap-extension-history-BUL3NsZ9.js} +1 -1
  33. package/dist/{vendor-tiptap-extension-horizontal-rule-DZkUEL6s.js → vendor-tiptap-extension-horizontal-rule-D27m_G1b.js} +1 -1
  34. package/dist/{vendor-tiptap-extension-image-B67_mxGM.js → vendor-tiptap-extension-image-CbjGZU8i.js} +1 -1
  35. package/dist/{vendor-tiptap-extension-italic-BshxBFou.js → vendor-tiptap-extension-italic-zyDDu_SW.js} +1 -1
  36. package/dist/{vendor-tiptap-extension-link-CJAQIgui.js → vendor-tiptap-extension-link-Bcv4UeMa.js} +55 -47
  37. package/dist/{vendor-tiptap-extension-list-item-DF-iMpqO.js → vendor-tiptap-extension-list-item-DZU6bwbc.js} +1 -1
  38. package/dist/{vendor-tiptap-extension-ordered-list-CN8MF-kN.js → vendor-tiptap-extension-ordered-list-BXSeGf29.js} +1 -1
  39. package/dist/{vendor-tiptap-extension-paragraph-DI577lM5.js → vendor-tiptap-extension-paragraph-PDX7FACk.js} +1 -1
  40. package/dist/{vendor-tiptap-extension-placeholder-DwAtlfAF.js → vendor-tiptap-extension-placeholder-Ue_ElAEg.js} +1 -1
  41. package/dist/{vendor-tiptap-extension-strike-CIty09KN.js → vendor-tiptap-extension-strike-rl2UQZzW.js} +1 -1
  42. package/dist/{vendor-tiptap-extension-table-C5nv-GUb.js → vendor-tiptap-extension-table-B59LhE4D.js} +1 -1
  43. package/dist/{vendor-tiptap-extension-table-cell-DXbBhJW3.js → vendor-tiptap-extension-table-cell-9N0NKfpg.js} +1 -1
  44. package/dist/{vendor-tiptap-extension-table-header-rtggsYXA.js → vendor-tiptap-extension-table-header-DJTZtK2Z.js} +1 -1
  45. package/dist/{vendor-tiptap-extension-table-row-67khjMDt.js → vendor-tiptap-extension-table-row-D7Upcsrg.js} +1 -1
  46. package/dist/{vendor-tiptap-extension-text-D1OHb_a1.js → vendor-tiptap-extension-text-Buc1GYNc.js} +1 -1
  47. package/dist/{vendor-tiptap-extension-underline-IqWixw3m.js → vendor-tiptap-extension-underline-COmEda96.js} +1 -1
  48. package/dist/{vendor-tiptap-markdown-DVxB1hbO.js → vendor-tiptap-markdown-QcGJtrvN.js} +1 -1
  49. package/dist/{vendor-tiptap-starter-kit-CPH9gu2X.js → vendor-tiptap-starter-kit-rn_ARLXy.js} +19 -19
  50. package/dist/{vendor-tiptap-vue-3-CkBe4_xM.js → vendor-tiptap-vue-3-KDP_yBZF.js} +3 -3
  51. package/package.json +12 -12
  52. package/shared/composables/index.ts +2 -0
  53. package/shared/composables/useBladeMultilanguage.ts +75 -0
  54. package/shared/composables/useExternalWidgets.ts +151 -0
  55. package/ui/components/molecules/vc-editor/vc-editor.vue +9 -0
  56. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/desktop/vc-blade-toolbar-desktop.vue +1 -1
  57. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue +31 -13
@@ -1 +1 @@
1
- {"version":3,"file":"vc-editor.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/molecules/vc-editor/vc-editor.vue"],"names":[],"mappings":"AAqxBA,KAAK,YAAY,GACb,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,UAAU,GACV,UAAU,GACV,UAAU,GACV,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,MAAM,GACN,OAAO,GACP,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAkmBD,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AA4C9C,QAAA,MAAM,eAAe;;;;;;;cA9pBR,OAAO;gBAFL,MAAM;6EAwqBnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"vc-editor.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/molecules/vc-editor/vc-editor.vue"],"names":[],"mappings":"AA8xBA,KAAK,YAAY,GACb,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,UAAU,GACV,UAAU,GACV,UAAU,GACV,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,MAAM,GACN,OAAO,GACP,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAkmBD,QAAA,IAAI,QAAQ,IAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AA4C9C,QAAA,MAAM,eAAe;;;;;;;cA9pBR,OAAO;gBAFL,MAAM;6EAwqBnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vc-widget-container.vue.d.ts","sourceRoot":"","sources":["../../../../../../../ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue"],"names":[],"mappings":"AA0IA,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;;AAwFD,wBAMG"}
1
+ {"version":3,"file":"vc-widget-container.vue.d.ts","sourceRoot":"","sources":["../../../../../../../ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue"],"names":[],"mappings":"AA6JA,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;;AAyGD,wBAMG"}
@@ -969,7 +969,7 @@ const Ot = C.create({
969
969
  const { state: s } = e, o = s.doc.slice(n.from, n.to);
970
970
  r.deleteRange(n.from, n.to);
971
971
  const i = r.mapping.map(t);
972
- return r.insert(i, o.content), r.setSelection(new A(r.doc.resolve(i - 1))), !0;
972
+ return r.insert(i, o.content), r.setSelection(new A(r.doc.resolve(Math.max(i - 1, 0)))), !0;
973
973
  }, Ge = () => ({ tr: n, dispatch: t }) => {
974
974
  const { selection: e } = n, r = e.$anchor.node();
975
975
  if (r.content.size > 0)
@@ -1,4 +1,4 @@
1
- import { N as e, w as o, m as r } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as e, w as o, m as r } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const n = /^\s*>\s$/, s = e.create({
3
3
  name: "blockquote",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { M as r, a as e, b as s, m as n } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { M as r, a as e, b as s, m as n } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const a = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, o = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g, d = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/, u = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g, l = r.create({
3
3
  name: "bold",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { i as C, c as E, p as T, E as D } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { i as C, c as E, p as T, E as D } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { t as O } from "./vendor-tippy-js-BGdgwGX-.js";
3
3
  import { P as M, a as B } from "./vendor-prosemirror-state-B0bFP8WI.js";
4
4
  class R {
@@ -62,7 +62,7 @@ class R {
62
62
  }
63
63
  createTooltip() {
64
64
  const { element: e } = this.editor.options, i = !!e.parentElement;
65
- this.tippy || !i || (this.tippy = O(e, {
65
+ this.element.tabIndex = 0, !(this.tippy || !i) && (this.tippy = O(e, {
66
66
  duration: 0,
67
67
  getReferenceClientRect: null,
68
68
  content: this.element,
@@ -1,4 +1,4 @@
1
- import { N as o, w as e, m as n } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as o, w as e, m as n } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const p = "listItem", s = "textStyle", i = /^\s*([-+*])\s$/, a = o.create({
3
3
  name: "bulletList",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { M as t, a as r, b as s, m as a } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { M as t, a as r, b as s, m as a } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const n = /(^|[^`])`([^`]+)`(?!`)/, d = /(^|[^`])`([^`]+)`(?!`)/g, u = t.create({
3
3
  name: "code",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as d, t as c, m as p } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as d, t as c, m as p } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { P as f, a as g, T as m, S as h } from "./vendor-prosemirror-state-B0bFP8WI.js";
3
3
  const x = /^```([a-z]+)?[\s\n]$/, y = /^~~~([a-z]+)?[\s\n]$/, b = d.create({
4
4
  name: "codeBlock",
@@ -1,4 +1,4 @@
1
- import { N as o } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as o } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const t = o.create({
3
3
  name: "doc",
4
4
  topNode: !0,
@@ -1,4 +1,4 @@
1
- import { E as r } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { E as r } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { d as o } from "./vendor-prosemirror-dropcursor-zknUsW5x.js";
3
3
  const n = r.create({
4
4
  name: "dropCursor",
@@ -1,4 +1,4 @@
1
- import { g as c, d as m, p as f, E as y } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { g as c, d as m, p as f, E as y } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { t as v } from "./vendor-tippy-js-BGdgwGX-.js";
3
3
  import { P as g, a as w } from "./vendor-prosemirror-state-B0bFP8WI.js";
4
4
  class H {
@@ -26,7 +26,7 @@ class H {
26
26
  }
27
27
  createTooltip() {
28
28
  const { element: t } = this.editor.options, i = !!t.parentElement;
29
- this.tippy || !i || (this.tippy = v(t, {
29
+ this.element.tabIndex = 0, !(this.tippy || !i) && (this.tippy = v(t, {
30
30
  duration: 0,
31
31
  getReferenceClientRect: null,
32
32
  content: this.element,
@@ -1,4 +1,4 @@
1
- import { E as s, e, f as t } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { E as s, e, f as t } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { g as n } from "./vendor-prosemirror-gapcursor-DjOZhP78.js";
3
3
  const p = s.create({
4
4
  name: "gapCursor",
@@ -1,4 +1,4 @@
1
- import { N as c, m as l } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as c, m as l } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const M = c.create({
3
3
  name: "hardBreak",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as s, t as n, m as r } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as s, t as n, m as r } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const a = s.create({
3
3
  name: "heading",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { E as d } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { E as d } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { h as t, r as s, u as e } from "./vendor-prosemirror-history-l8l3CFac.js";
3
3
  const a = d.create({
4
4
  name: "history",
@@ -1,4 +1,4 @@
1
- import { N as f, n as m, h, c as A, m as T } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as f, n as m, h, c as A, m as T } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { T as i, N as y } from "./vendor-prosemirror-state-B0bFP8WI.js";
3
3
  const M = f.create({
4
4
  name: "horizontalRule",
@@ -1,4 +1,4 @@
1
- import { N as s, n as i, m as a } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as s, n as i, m as a } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const l = /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/, o = s.create({
3
3
  name: "image",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { M as r, a as e, b as s, m as a } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { M as r, a as e, b as s, m as a } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const n = /(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/, i = /(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g, o = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/, l = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g, d = r.create({
3
3
  name: "italic",
4
4
  addOptions() {
@@ -1,37 +1,46 @@
1
- import { M as b, a as C, m as v, j as T, k as w, l as E, o as H, q as B } from "./vendor-tiptap-core-BRY37Sb2.js";
2
- import { r as y, t as O, f as M, a as U } from "./vendor-linkifyjs-DTu7SY_Y.js";
1
+ import { M as x, a as T, m as v, j as b, k as w, l as H, o as O, q as _ } from "./vendor-tiptap-core-CczYXVC4.js";
2
+ import { r as y, t as R, f as M, a as B } from "./vendor-linkifyjs-DTu7SY_Y.js";
3
3
  import { P as m, a as A } from "./vendor-prosemirror-state-B0bFP8WI.js";
4
+ const P = "[\0-   ᠎ -\u2029  ]", I = new RegExp(P), U = new RegExp(`${P}$`), N = new RegExp(P, "g");
4
5
  function V(t) {
5
6
  return t.length === 1 ? t[0].isLink : t.length === 3 && t[1].isLink ? ["()", "[]"].includes(t[0].value + t[2].value) : !1;
6
7
  }
7
- function R(t) {
8
+ function W(t) {
8
9
  return new m({
9
10
  key: new A("autolink"),
10
11
  appendTransaction: (e, n, o) => {
11
- const i = e.some((s) => s.docChanged) && !n.doc.eq(o.doc), l = e.some((s) => s.getMeta("preventAutolink"));
12
+ const i = e.some((r) => r.docChanged) && !n.doc.eq(o.doc), l = e.some((r) => r.getMeta("preventAutolink"));
12
13
  if (!i || l)
13
14
  return;
14
- const { tr: a } = o, d = T(n.doc, [...e]);
15
- if (w(d).forEach(({ newRange: s }) => {
16
- const f = E(o.doc, s, (k) => k.isTextblock);
15
+ const { tr: a } = o, f = b(n.doc, [...e]);
16
+ if (w(f).forEach(({ newRange: r }) => {
17
+ const d = H(o.doc, r, (p) => p.isTextblock);
17
18
  let u, c;
18
- if (f.length > 1 ? (u = f[0], c = o.doc.textBetween(u.pos, u.pos + u.node.nodeSize, void 0, " ")) : f.length && o.doc.textBetween(s.from, s.to, " ", " ").endsWith(" ") && (u = f[0], c = o.doc.textBetween(u.pos, s.to, void 0, " ")), u && c) {
19
- const k = c.split(" ").filter((r) => r !== "");
20
- if (k.length <= 0)
19
+ if (d.length > 1)
20
+ u = d[0], c = o.doc.textBetween(u.pos, u.pos + u.node.nodeSize, void 0, " ");
21
+ else if (d.length) {
22
+ const p = o.doc.textBetween(r.from, r.to, " ", " ");
23
+ if (!U.test(p))
24
+ return;
25
+ u = d[0], c = o.doc.textBetween(u.pos, r.to, void 0, " ");
26
+ }
27
+ if (u && c) {
28
+ const p = c.split(I).filter(Boolean);
29
+ if (p.length <= 0)
21
30
  return !1;
22
- const g = k[k.length - 1], P = u.pos + c.lastIndexOf(g);
31
+ const g = p[p.length - 1], E = u.pos + c.lastIndexOf(g);
23
32
  if (!g)
24
33
  return !1;
25
- const L = O(g).map((r) => r.toObject(t.defaultProtocol));
34
+ const L = R(g).map((s) => s.toObject(t.defaultProtocol));
26
35
  if (!V(L))
27
36
  return !1;
28
- L.filter((r) => r.isLink).map((r) => ({
29
- ...r,
30
- from: P + r.start + 1,
31
- to: P + r.end + 1
32
- })).filter((r) => o.schema.marks.code ? !o.doc.rangeHasMark(r.from, r.to, o.schema.marks.code) : !0).filter((r) => t.validate(r.value)).filter((r) => t.shouldAutoLink(r.value)).forEach((r) => {
33
- H(r.from, r.to, o.doc).some((x) => x.mark.type === t.type) || a.addMark(r.from, r.to, t.type.create({
34
- href: r.href
37
+ L.filter((s) => s.isLink).map((s) => ({
38
+ ...s,
39
+ from: E + s.start + 1,
40
+ to: E + s.end + 1
41
+ })).filter((s) => o.schema.marks.code ? !o.doc.rangeHasMark(s.from, s.to, o.schema.marks.code) : !0).filter((s) => t.validate(s.value)).filter((s) => t.shouldAutoLink(s.value)).forEach((s) => {
42
+ O(s.from, s.to, o.doc).some((C) => C.mark.type === t.type) || a.addMark(s.from, s.to, t.type.create({
43
+ href: s.href
35
44
  }));
36
45
  });
37
46
  }
@@ -40,7 +49,7 @@ function R(t) {
40
49
  }
41
50
  });
42
51
  }
43
- function W(t) {
52
+ function D(t) {
44
53
  return new m({
45
54
  key: new A("handleClickLink"),
46
55
  props: {
@@ -49,13 +58,13 @@ function W(t) {
49
58
  if (o.button !== 0 || !e.editable)
50
59
  return !1;
51
60
  let a = o.target;
52
- const d = [];
61
+ const f = [];
53
62
  for (; a.nodeName !== "DIV"; )
54
- d.push(a), a = a.parentNode;
55
- if (!d.find((c) => c.nodeName === "A"))
63
+ f.push(a), a = a.parentNode;
64
+ if (!f.find((c) => c.nodeName === "A"))
56
65
  return !1;
57
- const h = B(e.state, t.type.name), s = o.target, f = (i = s?.href) !== null && i !== void 0 ? i : h.href, u = (l = s?.target) !== null && l !== void 0 ? l : h.target;
58
- return s && f ? (window.open(f, u), !0) : !1;
66
+ const k = _(e.state, t.type.name), r = o.target, d = (i = r?.href) !== null && i !== void 0 ? i : k.href, u = (l = r?.target) !== null && l !== void 0 ? l : k.target;
67
+ return r && d ? (window.open(d, u), !0) : !1;
59
68
  }
60
69
  }
61
70
  });
@@ -68,20 +77,19 @@ function z(t) {
68
77
  const { state: i } = e, { selection: l } = i, { empty: a } = l;
69
78
  if (a)
70
79
  return !1;
71
- let d = "";
72
- o.content.forEach((s) => {
73
- d += s.textContent;
80
+ let f = "";
81
+ o.content.forEach((r) => {
82
+ f += r.textContent;
74
83
  });
75
- const h = M(d, { defaultProtocol: t.defaultProtocol }).find((s) => s.isLink && s.value === d);
76
- return !d || !h ? !1 : t.editor.commands.setMark(t.type, {
77
- href: h.href
84
+ const k = M(f, { defaultProtocol: t.defaultProtocol }).find((r) => r.isLink && r.value === f);
85
+ return !f || !k ? !1 : t.editor.commands.setMark(t.type, {
86
+ href: k.href
78
87
  });
79
88
  }
80
89
  }
81
90
  });
82
91
  }
83
- const I = /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;
84
- function p(t, e) {
92
+ function h(t, e) {
85
93
  const n = [
86
94
  "http",
87
95
  "https",
@@ -97,13 +105,13 @@ function p(t, e) {
97
105
  return e && e.forEach((o) => {
98
106
  const i = typeof o == "string" ? o : o.scheme;
99
107
  i && n.push(i);
100
- }), !t || t.replace(I, "").match(new RegExp(
108
+ }), !t || t.replace(N, "").match(new RegExp(
101
109
  // eslint-disable-next-line no-useless-escape
102
110
  `^(?:(?:${n.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,
103
111
  "i"
104
112
  ));
105
113
  }
106
- const q = b.create({
114
+ const X = x.create({
107
115
  name: "link",
108
116
  priority: 1e3,
109
117
  keepOnSplit: !1,
@@ -118,7 +126,7 @@ const q = b.create({
118
126
  });
119
127
  },
120
128
  onDestroy() {
121
- U();
129
+ B();
122
130
  },
123
131
  inclusive() {
124
132
  return this.options.autolink;
@@ -135,7 +143,7 @@ const q = b.create({
135
143
  rel: "noopener noreferrer nofollow",
136
144
  class: null
137
145
  },
138
- isAllowedUri: (t, e) => !!p(t, e.protocols),
146
+ isAllowedUri: (t, e) => !!h(t, e.protocols),
139
147
  validate: (t) => !!t,
140
148
  shouldAutoLink: (t) => !!t
141
149
  };
@@ -166,7 +174,7 @@ const q = b.create({
166
174
  getAttrs: (t) => {
167
175
  const e = t.getAttribute("href");
168
176
  return !e || !this.options.isAllowedUri(e, {
169
- defaultValidate: (n) => !!p(n, this.options.protocols),
177
+ defaultValidate: (n) => !!h(n, this.options.protocols),
170
178
  protocols: this.options.protocols,
171
179
  defaultProtocol: this.options.defaultProtocol
172
180
  }) ? !1 : null;
@@ -176,7 +184,7 @@ const q = b.create({
176
184
  },
177
185
  renderHTML({ HTMLAttributes: t }) {
178
186
  return this.options.isAllowedUri(t.href, {
179
- defaultValidate: (e) => !!p(e, this.options.protocols),
187
+ defaultValidate: (e) => !!h(e, this.options.protocols),
180
188
  protocols: this.options.protocols,
181
189
  defaultProtocol: this.options.defaultProtocol
182
190
  }) ? ["a", v(this.options.HTMLAttributes, t), 0] : [
@@ -190,7 +198,7 @@ const q = b.create({
190
198
  setLink: (t) => ({ chain: e }) => {
191
199
  const { href: n } = t;
192
200
  return this.options.isAllowedUri(n, {
193
- defaultValidate: (o) => !!p(o, this.options.protocols),
201
+ defaultValidate: (o) => !!h(o, this.options.protocols),
194
202
  protocols: this.options.protocols,
195
203
  defaultProtocol: this.options.defaultProtocol
196
204
  }) ? e().setMark(this.name, t).setMeta("preventAutolink", !0).run() : !1;
@@ -198,7 +206,7 @@ const q = b.create({
198
206
  toggleLink: (t) => ({ chain: e }) => {
199
207
  const { href: n } = t;
200
208
  return this.options.isAllowedUri(n, {
201
- defaultValidate: (o) => !!p(o, this.options.protocols),
209
+ defaultValidate: (o) => !!h(o, this.options.protocols),
202
210
  protocols: this.options.protocols,
203
211
  defaultProtocol: this.options.defaultProtocol
204
212
  }) ? e().toggleMark(this.name, t, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run() : !1;
@@ -208,12 +216,12 @@ const q = b.create({
208
216
  },
209
217
  addPasteRules() {
210
218
  return [
211
- C({
219
+ T({
212
220
  find: (t) => {
213
221
  const e = [];
214
222
  if (t) {
215
223
  const { protocols: n, defaultProtocol: o } = this.options, i = M(t).filter((l) => l.isLink && this.options.isAllowedUri(l.value, {
216
- defaultValidate: (a) => !!p(a, n),
224
+ defaultValidate: (a) => !!h(a, n),
217
225
  protocols: n,
218
226
  defaultProtocol: o
219
227
  }));
@@ -239,16 +247,16 @@ const q = b.create({
239
247
  },
240
248
  addProseMirrorPlugins() {
241
249
  const t = [], { protocols: e, defaultProtocol: n } = this.options;
242
- return this.options.autolink && t.push(R({
250
+ return this.options.autolink && t.push(W({
243
251
  type: this.type,
244
252
  defaultProtocol: this.options.defaultProtocol,
245
253
  validate: (o) => this.options.isAllowedUri(o, {
246
- defaultValidate: (i) => !!p(i, e),
254
+ defaultValidate: (i) => !!h(i, e),
247
255
  protocols: e,
248
256
  defaultProtocol: n
249
257
  }),
250
258
  shouldAutoLink: this.options.shouldAutoLink
251
- })), this.options.openOnClick === !0 && t.push(W({
259
+ })), this.options.openOnClick === !0 && t.push(D({
252
260
  type: this.type
253
261
  })), this.options.linkOnPaste && t.push(z({
254
262
  editor: this.editor,
@@ -258,5 +266,5 @@ const q = b.create({
258
266
  }
259
267
  });
260
268
  export {
261
- q as L
269
+ X as L
262
270
  };
@@ -1,4 +1,4 @@
1
- import { N as e, m as i } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as e, m as i } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const s = e.create({
3
3
  name: "listItem",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as n, w as r, m as i } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as n, w as r, m as i } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const p = "listItem", o = "textStyle", a = /^(\d+)\.\s$/, d = n.create({
3
3
  name: "orderedList",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as t, m as e } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as t, m as e } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const o = t.create({
3
3
  name: "paragraph",
4
4
  priority: 1e3,
@@ -1,4 +1,4 @@
1
- import { E as p, r as m } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { E as p, r as m } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { a as u, D as y } from "./vendor-prosemirror-view--C7TZvmQ.js";
3
3
  import { P as E, a as f } from "./vendor-prosemirror-state-B0bFP8WI.js";
4
4
  const O = p.create({
@@ -1,4 +1,4 @@
1
- import { M as e, a as r, b as s, m as a } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { M as e, a as r, b as s, m as a } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const n = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/, i = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g, o = e.create({
3
3
  name: "strike",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as v, e as E, f as H, m as z, s as P } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as v, e as E, f as H, m as z, s as P } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { c as k, t as V, C as A, f as B, g as x, s as O, m as W, a as R, b as D, d as S, e as j, h as L, i as K, j as F, k as _, l as G, n as I } from "./vendor-prosemirror-tables-B1txTKlC.js";
3
3
  import { T as q } from "./vendor-prosemirror-state-B0bFP8WI.js";
4
4
  function w(t, e) {
@@ -1,4 +1,4 @@
1
- import { N as l, m as a } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as l, m as a } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const o = l.create({
3
3
  name: "tableCell",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as a, m as l } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as a, m as l } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const o = a.create({
3
3
  name: "tableHeader",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as e, m as r } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as e, m as r } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const o = e.create({
3
3
  name: "tableRow",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { N as e } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { N as e } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const o = e.create({
3
3
  name: "text",
4
4
  group: "inline"
@@ -1,4 +1,4 @@
1
- import { M as t, m as r } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { M as t, m as r } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  const s = t.create({
3
3
  name: "underline",
4
4
  addOptions() {
@@ -1,4 +1,4 @@
1
- import { E as b, u as B, N as a, M as m, v as z } from "./vendor-tiptap-core-BRY37Sb2.js";
1
+ import { E as b, u as B, N as a, M as m, v as z } from "./vendor-tiptap-core-CczYXVC4.js";
2
2
  import { M as O, d } from "./vendor-prosemirror-markdown-WJEDhc-w.js";
3
3
  import { t as P } from "./vendor-markdown-it-task-lists-Byg1-ms9.js";
4
4
  import { M as C } from "./vendor-markdown-it-4AJoRTAg.js";
@@ -1,22 +1,22 @@
1
- import { E as i } from "./vendor-tiptap-core-BRY37Sb2.js";
2
- import { B as s } from "./vendor-tiptap-extension-blockquote-CPd5qv-9.js";
3
- import { B as t } from "./vendor-tiptap-extension-bold-B0GwBNks.js";
4
- import { B as r } from "./vendor-tiptap-extension-bullet-list-CQm4ReOu.js";
5
- import { C as e } from "./vendor-tiptap-extension-code-C8cy6bRj.js";
6
- import { C as p } from "./vendor-tiptap-extension-code-block-BqTchNEf.js";
7
- import { D as f } from "./vendor-tiptap-extension-document-Dka1Uu0g.js";
8
- import { D as n } from "./vendor-tiptap-extension-dropcursor-CFSh-BuE.js";
9
- import { G as a } from "./vendor-tiptap-extension-gapcursor-CzwfD_IT.js";
10
- import { H as h } from "./vendor-tiptap-extension-hard-break-Rm6aVcrK.js";
11
- import { H as u } from "./vendor-tiptap-extension-heading-CavI6u1v.js";
12
- import { H as m } from "./vendor-tiptap-extension-history-WEN1_74D.js";
13
- import { H as l } from "./vendor-tiptap-extension-horizontal-rule-DZkUEL6s.js";
14
- import { I as c } from "./vendor-tiptap-extension-italic-BshxBFou.js";
15
- import { L as d } from "./vendor-tiptap-extension-list-item-DF-iMpqO.js";
16
- import { O as g } from "./vendor-tiptap-extension-ordered-list-CN8MF-kN.js";
17
- import { P as k } from "./vendor-tiptap-extension-paragraph-DI577lM5.js";
18
- import { S as B } from "./vendor-tiptap-extension-strike-CIty09KN.js";
19
- import { T as H } from "./vendor-tiptap-extension-text-D1OHb_a1.js";
1
+ import { E as i } from "./vendor-tiptap-core-CczYXVC4.js";
2
+ import { B as s } from "./vendor-tiptap-extension-blockquote-Dm7YbSqy.js";
3
+ import { B as t } from "./vendor-tiptap-extension-bold-YKANgJQB.js";
4
+ import { B as r } from "./vendor-tiptap-extension-bullet-list-CZWmGEbV.js";
5
+ import { C as e } from "./vendor-tiptap-extension-code-Bg0UZ8tC.js";
6
+ import { C as p } from "./vendor-tiptap-extension-code-block-DQJ_tCBi.js";
7
+ import { D as f } from "./vendor-tiptap-extension-document-CpCZXWQI.js";
8
+ import { D as n } from "./vendor-tiptap-extension-dropcursor-BVniwBbO.js";
9
+ import { G as a } from "./vendor-tiptap-extension-gapcursor-XdrpVWvW.js";
10
+ import { H as h } from "./vendor-tiptap-extension-hard-break-N0r28gea.js";
11
+ import { H as u } from "./vendor-tiptap-extension-heading-CY1DvT1I.js";
12
+ import { H as m } from "./vendor-tiptap-extension-history-BUL3NsZ9.js";
13
+ import { H as l } from "./vendor-tiptap-extension-horizontal-rule-D27m_G1b.js";
14
+ import { I as c } from "./vendor-tiptap-extension-italic-zyDDu_SW.js";
15
+ import { L as d } from "./vendor-tiptap-extension-list-item-DZU6bwbc.js";
16
+ import { O as g } from "./vendor-tiptap-extension-ordered-list-BXSeGf29.js";
17
+ import { P as k } from "./vendor-tiptap-extension-paragraph-PDX7FACk.js";
18
+ import { S as B } from "./vendor-tiptap-extension-strike-rl2UQZzW.js";
19
+ import { T as H } from "./vendor-tiptap-extension-text-Buc1GYNc.js";
20
20
  const w = i.create({
21
21
  name: "starterKit",
22
22
  addExtensions() {
@@ -1,7 +1,7 @@
1
- import { B as g } from "./vendor-tiptap-extension-bubble-menu-B0sZZld7.js";
1
+ import { B as g } from "./vendor-tiptap-extension-bubble-menu-gh-OpViI.js";
2
2
  import { defineComponent as u, shallowRef as h, onMounted as d, onBeforeUnmount as l, h as s, ref as p, getCurrentInstance as f, watchEffect as m, nextTick as y, unref as S, markRaw as w, customRef as b } from "vue";
3
- import { x } from "./vendor-tiptap-core-BRY37Sb2.js";
4
- import { F as C } from "./vendor-tiptap-extension-floating-menu-H8PB4zeI.js";
3
+ import { x } from "./vendor-tiptap-core-CczYXVC4.js";
4
+ import { F as C } from "./vendor-tiptap-extension-floating-menu-FkBnPfW6.js";
5
5
  u({
6
6
  name: "BubbleMenu",
7
7
  props: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.1.54",
3
+ "version": "1.1.56",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -44,17 +44,17 @@
44
44
  "@headlessui/vue": "^1.7.19",
45
45
  "@iconify/vue": "^5.0.0",
46
46
  "@microsoft/signalr": "^8.0.0",
47
- "@tiptap/extension-image": "^2.23.0",
48
- "@tiptap/extension-link": "^2.23.0",
49
- "@tiptap/extension-placeholder": "^2.23.0",
50
- "@tiptap/extension-table": "^2.23.0",
47
+ "@tiptap/extension-image": "^2.25.0",
48
+ "@tiptap/extension-link": "^2.25.0",
49
+ "@tiptap/extension-placeholder": "^2.25.0",
50
+ "@tiptap/extension-table": "^2.25.0",
51
51
  "@tiptap/extension-table-cell": "^2.23.1",
52
52
  "@tiptap/extension-table-header": "^2.23.1",
53
53
  "@tiptap/extension-table-row": "^2.23.1",
54
- "@tiptap/extension-underline": "^2.23.0",
55
- "@tiptap/pm": "^2.23.0",
56
- "@tiptap/starter-kit": "^2.23.0",
57
- "@tiptap/vue-3": "^2.23.0",
54
+ "@tiptap/extension-underline": "^2.25.0",
55
+ "@tiptap/pm": "^2.25.0",
56
+ "@tiptap/starter-kit": "^2.25.0",
57
+ "@tiptap/vue-3": "^2.25.0",
58
58
  "@vee-validate/i18n": "^4.12.4",
59
59
  "@vee-validate/rules": "^4.12.4",
60
60
  "@vuepic/vue-datepicker": "^9.0.2",
@@ -82,9 +82,9 @@
82
82
  "@fullhuman/postcss-purgecss": "^7.0.2",
83
83
  "@laynezh/vite-plugin-lib-assets": "v1.1.0",
84
84
  "@types/dompurify": "^3.0.5",
85
- "@vc-shell/api-client-generator": "^1.1.54",
86
- "@vc-shell/config-generator": "^1.1.54",
87
- "@vc-shell/ts-config": "^1.1.54",
85
+ "@vc-shell/api-client-generator": "^1.1.56",
86
+ "@vc-shell/config-generator": "^1.1.56",
87
+ "@vc-shell/ts-config": "^1.1.56",
88
88
  "@vitejs/plugin-vue": "^5.2.3",
89
89
  "@vue/test-utils": "^2.4.5",
90
90
  "cypress-signalr-mock": "^1.5.0",
@@ -1,3 +1,5 @@
1
1
  export * from "./useMenuExpanded";
2
2
  export * from "./useModificationTracker";
3
3
  export * from "./useTableSort";
4
+ export * from "./useBladeMultilanguage";
5
+ export * from "./useExternalWidgets";