@vc-shell/framework 1.1.74 → 1.1.76

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 (258) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/framework.js +4682 -4500
  3. package/dist/index.css +1 -1
  4. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  5. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +1 -1
  6. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  7. package/dist/shared/components/change-password/change-password.vue.d.ts.map +1 -1
  8. package/dist/shared/components/change-password-button/change-password-button.vue.d.ts.map +1 -1
  9. package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts.map +1 -1
  10. package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts.map +1 -1
  11. package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts.map +1 -1
  12. package/dist/shared/components/dashboard-widget-card/dashboard-widget-card.vue.d.ts.map +1 -1
  13. package/dist/shared/components/draggable-dashboard/DraggableDashboard.vue.d.ts.map +1 -1
  14. package/dist/shared/components/draggable-dashboard/_internal/DashboardWidget.vue.d.ts.map +1 -1
  15. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts +2 -2
  16. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -1
  17. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  18. package/dist/shared/components/logout-button/logout-button.vue.d.ts.map +1 -1
  19. package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts.map +1 -1
  20. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
  21. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
  22. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  23. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -1
  24. package/dist/shared/components/settings-menu/settings-menu.vue.d.ts.map +1 -1
  25. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
  26. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -1
  27. package/dist/shared/components/sign-in/external-provider.vue.d.ts.map +1 -1
  28. package/dist/shared/components/sign-in/external-providers.vue.d.ts.map +1 -1
  29. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -1
  30. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +1 -1
  31. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts.map +1 -1
  32. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  33. package/dist/shared/composables/useMenuExpanded.d.ts +1 -1
  34. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  35. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  36. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  37. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  38. package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +1 -1
  39. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  40. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  41. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  44. package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts.map +1 -1
  45. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  46. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  47. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
  48. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  49. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
  50. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
  51. package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts.map +1 -1
  52. package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts.map +1 -1
  53. package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts.map +1 -1
  54. package/dist/ui/components/atoms/vc-icon/vc-icon-examples.vue.d.ts.map +1 -1
  55. package/dist/ui/components/atoms/vc-icon/vc-icon-test.vue.d.ts.map +1 -1
  56. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  57. package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
  58. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
  59. package/dist/ui/components/atoms/vc-icon/vc-svg-icon.vue.d.ts.map +1 -1
  60. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  61. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
  62. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  63. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  64. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  65. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -1
  66. package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts.map +1 -1
  67. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  68. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -1
  69. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  70. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  71. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  72. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts.map +1 -1
  73. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  74. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  75. package/dist/ui/components/molecules/vc-editor/_internal/extensions/font-size.d.ts +12 -0
  76. package/dist/ui/components/molecules/vc-editor/_internal/extensions/font-size.d.ts.map +1 -0
  77. package/dist/ui/components/molecules/vc-editor/_internal/toolbar-types.d.ts +49 -0
  78. package/dist/ui/components/molecules/vc-editor/_internal/toolbar-types.d.ts.map +1 -0
  79. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue.d.ts.map +1 -1
  80. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-custom-button.vue.d.ts +10 -0
  81. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-custom-button.vue.d.ts.map +1 -0
  82. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-font-selector.vue.d.ts +8 -0
  83. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-font-selector.vue.d.ts.map +1 -0
  84. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts +4 -1
  85. package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts.map +1 -1
  86. package/dist/ui/components/molecules/vc-editor/index.d.ts +1 -0
  87. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  88. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +7 -3
  89. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  90. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  91. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
  92. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  93. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
  94. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  95. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  96. package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts.map +1 -1
  97. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +2 -2
  98. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
  99. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  100. package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.vue.d.ts.map +1 -1
  101. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  102. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +2 -2
  103. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  104. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +7 -8
  105. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  106. package/dist/ui/components/molecules/vc-switch/vc-switch.vue.d.ts.map +1 -1
  107. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  108. package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts.map +1 -1
  109. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue.d.ts.map +1 -1
  110. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue.d.ts.map +1 -1
  111. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarMobileActions.vue.d.ts.map +1 -1
  112. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts +2 -2
  113. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts.map +1 -1
  114. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarSlots.vue.d.ts.map +1 -1
  115. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarWidgetItem.vue.d.ts.map +1 -1
  116. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarWidgetsMenu.vue.d.ts.map +1 -1
  117. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts.map +1 -1
  118. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  119. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -1
  120. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
  121. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  122. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  123. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +2 -2
  124. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  125. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts.map +1 -1
  126. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  127. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts.map +1 -1
  128. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/desktop/vc-blade-toolbar-desktop.vue.d.ts.map +1 -1
  129. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue.d.ts.map +1 -1
  130. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/vc-blade-toolbar-buttons.vue.d.ts.map +1 -1
  131. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +2 -2
  132. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  133. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -1
  134. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts.map +1 -1
  135. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts.map +1 -1
  136. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  137. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +2 -2
  138. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  139. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  140. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  141. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  142. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
  143. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  144. package/dist/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue.d.ts.map +1 -1
  145. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts +2 -2
  146. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
  147. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  148. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  149. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  150. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +25 -3
  151. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts.map +1 -1
  152. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts +2 -2
  153. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts.map +1 -1
  154. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +25 -3
  155. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts.map +1 -1
  156. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-select-all-header/vc-table-select-all-header.vue.d.ts.map +1 -1
  157. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +31 -3
  158. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -1
  159. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -1
  160. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +2 -2
  161. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  162. package/dist/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue.d.ts.map +1 -1
  163. package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -1
  164. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +2 -2
  165. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  166. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts +2 -2
  167. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts.map +1 -1
  168. package/dist/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue.d.ts.map +1 -1
  169. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +28 -3
  170. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  171. package/dist/vendor-floating-ui-vue-C1Zscv9o.js +836 -0
  172. package/dist/{vendor-linkifyjs-DTu7SY_Y.js → vendor-linkifyjs-dCH9UYes.js} +183 -187
  173. package/dist/{vendor-prosemirror-commands-B8fhFbTo.js → vendor-prosemirror-commands-DKHyfRYE.js} +26 -26
  174. package/dist/{vendor-prosemirror-dropcursor-CdHQ9kQG.js → vendor-prosemirror-dropcursor-Dro-INCI.js} +2 -2
  175. package/dist/{vendor-prosemirror-gapcursor-W-ky5QTm.js → vendor-prosemirror-gapcursor-BgyglWtH.js} +3 -3
  176. package/dist/{vendor-prosemirror-history-CrtTR5Cd.js → vendor-prosemirror-history-B4ei16kP.js} +2 -2
  177. package/dist/{vendor-prosemirror-keymap-DWvoDWf6.js → vendor-prosemirror-keymap-21y6bXc_.js} +1 -1
  178. package/dist/{vendor-prosemirror-schema-list-Ds6x_KLX.js → vendor-prosemirror-schema-list-Dmi4oPas.js} +11 -11
  179. package/dist/{vendor-prosemirror-state-CRUasa1V.js → vendor-prosemirror-state-6jGEPgrP.js} +1 -1
  180. package/dist/{vendor-prosemirror-tables-DzTfCeHX.js → vendor-prosemirror-tables-U7ypaxJu.js} +4 -4
  181. package/dist/{vendor-prosemirror-transform-BeDaI3CS.js → vendor-prosemirror-transform-Dk6c_eg4.js} +5 -4
  182. package/dist/vendor-prosemirror-view-Bfe9EVLy.js +1489 -0
  183. package/dist/vendor-swiper-1bp0oJwt.js +3387 -0
  184. package/dist/vendor-tiptap-core-CtNT-ozM.js +3096 -0
  185. package/dist/{vendor-tiptap-extension-blockquote-iAIM-meW.js → vendor-tiptap-extension-blockquote-25QerT8O.js} +6 -8
  186. package/dist/{vendor-tiptap-extension-bold-bkOLNH6E.js → vendor-tiptap-extension-bold-B-B75KIy.js} +10 -10
  187. package/dist/{vendor-tiptap-extension-code-CgIql8q6.js → vendor-tiptap-extension-code-CEZA5x7I.js} +8 -10
  188. package/dist/vendor-tiptap-extension-code-block-BFDiCj59.js +192 -0
  189. package/dist/vendor-tiptap-extension-document-C8JdW_kC.js +9 -0
  190. package/dist/{vendor-tiptap-extension-hard-break-DygHhzqw.js → vendor-tiptap-extension-hard-break-D9Nzegu6.js} +4 -6
  191. package/dist/{vendor-tiptap-extension-heading-C-ArDc3_.js → vendor-tiptap-extension-heading-TmkrHpE2.js} +9 -6
  192. package/dist/vendor-tiptap-extension-horizontal-rule-BC1YMUau.js +53 -0
  193. package/dist/{vendor-tiptap-extension-image-DChcWb4v.js → vendor-tiptap-extension-image-BQnBpg7z.js} +9 -3
  194. package/dist/{vendor-tiptap-extension-italic-BNJrFvrR.js → vendor-tiptap-extension-italic-mSCwLnXY.js} +4 -4
  195. package/dist/vendor-tiptap-extension-link-CQ0Mw6gd.js +287 -0
  196. package/dist/vendor-tiptap-extension-list-BwidYizT.js +420 -0
  197. package/dist/{vendor-tiptap-extension-paragraph-DZfkaJJ-.js → vendor-tiptap-extension-paragraph-C_OQHUNe.js} +3 -5
  198. package/dist/vendor-tiptap-extension-placeholder-BIojfRhh.js +1 -0
  199. package/dist/{vendor-tiptap-extension-strike-BlGNozxy.js → vendor-tiptap-extension-strike-Bfc-eud8.js} +3 -3
  200. package/dist/vendor-tiptap-extension-table-D26aUVrb.js +302 -0
  201. package/dist/vendor-tiptap-extension-table-cell-DuWy52BP.js +1 -0
  202. package/dist/vendor-tiptap-extension-table-header-DuWy52BP.js +1 -0
  203. package/dist/vendor-tiptap-extension-table-row-DuWy52BP.js +1 -0
  204. package/dist/vendor-tiptap-extension-text-DrXC1h34.js +8 -0
  205. package/dist/vendor-tiptap-extension-text-style-vv6u__7g.js +230 -0
  206. package/dist/{vendor-tiptap-extension-underline-CIVtuRLl.js → vendor-tiptap-extension-underline-BfygI164.js} +2 -2
  207. package/dist/vendor-tiptap-extensions-_4zopegS.js +289 -0
  208. package/dist/{vendor-tiptap-markdown-CidDIpZ-.js → vendor-tiptap-markdown-pGf8MOss.js} +26 -26
  209. package/dist/vendor-tiptap-pm-B2DY8bDS.js +7681 -0
  210. package/dist/vendor-tiptap-starter-kit-DPG4_B0q.js +28 -0
  211. package/dist/vendor-tiptap-vue-3-Ctgrxv1U.js +157 -0
  212. package/dist/vendor-vueuse-components-CuLo31bP.js +219 -0
  213. package/dist/vendor-vueuse-core-A9T6NeUn.js +6880 -0
  214. package/dist/vendor-vueuse-shared-B2Uva3Md.js +35 -0
  215. package/package.json +33 -27
  216. package/ui/components/molecules/vc-editor/_internal/extensions/font-size.ts +59 -0
  217. package/ui/components/molecules/vc-editor/_internal/toolbar-types.ts +57 -0
  218. package/ui/components/molecules/vc-editor/_internal/vc-editor-custom-button.vue +79 -0
  219. package/ui/components/molecules/vc-editor/_internal/vc-editor-font-selector.vue +215 -0
  220. package/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue +42 -0
  221. package/ui/components/molecules/vc-editor/index.ts +5 -0
  222. package/ui/components/molecules/vc-editor/vc-editor.stories.ts +172 -3
  223. package/ui/components/molecules/vc-editor/vc-editor.vue +49 -26
  224. package/ui/components/molecules/vc-slider/vc-slider.vue +8 -8
  225. package/dist/vendor-dom7-wvIUV9pT.js +0 -529
  226. package/dist/vendor-floating-ui-core-3dy7r5mx.js +0 -349
  227. package/dist/vendor-floating-ui-dom-DCjH_QK4.js +0 -393
  228. package/dist/vendor-floating-ui-vue-BUBCqiRN.js +0 -107
  229. package/dist/vendor-popperjs-core-LGjf7Wza.js +0 -905
  230. package/dist/vendor-prosemirror-view-BGYdOWiJ.js +0 -3748
  231. package/dist/vendor-ssr-window-D4k3p53c.js +0 -133
  232. package/dist/vendor-swiper-DrZzJvo8.js +0 -2825
  233. package/dist/vendor-tippy-js-nNhcw_JH.js +0 -812
  234. package/dist/vendor-tiptap-core-dlTW4S11.js +0 -2817
  235. package/dist/vendor-tiptap-extension-bubble-menu-BRWVLpun.js +0 -128
  236. package/dist/vendor-tiptap-extension-bullet-list-DfU428XB.js +0 -53
  237. package/dist/vendor-tiptap-extension-code-block-V26-erQk.js +0 -133
  238. package/dist/vendor-tiptap-extension-document-BYF_BzDD.js +0 -9
  239. package/dist/vendor-tiptap-extension-dropcursor-DqjaaFex.js +0 -20
  240. package/dist/vendor-tiptap-extension-floating-menu-vptdm_Y0.js +0 -99
  241. package/dist/vendor-tiptap-extension-gapcursor-DxLBw8V0.js +0 -24
  242. package/dist/vendor-tiptap-extension-history-C41RW3Bv.js +0 -35
  243. package/dist/vendor-tiptap-extension-horizontal-rule-BGMGd9fo.js +0 -58
  244. package/dist/vendor-tiptap-extension-link-DFN4ENph.js +0 -270
  245. package/dist/vendor-tiptap-extension-list-item-3qKYhGHe.js +0 -33
  246. package/dist/vendor-tiptap-extension-ordered-list-D3QL0eiW.js +0 -71
  247. package/dist/vendor-tiptap-extension-placeholder-CoOAmd0a.js +0 -52
  248. package/dist/vendor-tiptap-extension-table-CZn6Xykb.js +0 -213
  249. package/dist/vendor-tiptap-extension-table-cell-BQuS-XFD.js +0 -40
  250. package/dist/vendor-tiptap-extension-table-header-ZrtK7HiQ.js +0 -40
  251. package/dist/vendor-tiptap-extension-table-row-CBrXvqsO.js +0 -22
  252. package/dist/vendor-tiptap-extension-text-DwA7jrBq.js +0 -8
  253. package/dist/vendor-tiptap-pm-9TOy65Oe.js +0 -1
  254. package/dist/vendor-tiptap-starter-kit-BdU6UtqB.js +0 -29
  255. package/dist/vendor-tiptap-vue-3-CnYccgV4.js +0 -225
  256. package/dist/vendor-vueuse-components-B0zqjNRW.js +0 -542
  257. package/dist/vendor-vueuse-core-CYgwn-B2.js +0 -5130
  258. package/dist/vendor-vueuse-shared-B_uDJJ6V.js +0 -1169
@@ -1,6 +1,7 @@
1
1
  import type { Meta, StoryObj } from "@storybook/vue3";
2
- import { VcEditor } from "./";
3
- import { ref } from "vue";
2
+ import { VcEditor, type CustomToolbarButton, type CustomToolbarDropdown } from "./";
3
+ import { ref, defineComponent, h } from "vue";
4
+ import type { Editor } from "@tiptap/vue-3";
4
5
 
5
6
  const meta = {
6
7
  title: "molecules/VcEditor",
@@ -235,7 +236,7 @@ export const WithInitialContent: Story = {
235
236
  export const CustomToolbar: Story = {
236
237
  args: {
237
238
  label: "Editor with custom toolbar",
238
- toolbar: ["bold", "italic", "title", "link", "image", "preview"],
239
+ toolbar: ["bold", "italic", "heading1", "heading2", "link", "image", "fontSize"],
239
240
  },
240
241
  render: (args) => ({
241
242
  components: { VcEditor },
@@ -246,3 +247,171 @@ export const CustomToolbar: Story = {
246
247
  template: '<vc-editor v-bind="args" v-model="content"></vc-editor>',
247
248
  }),
248
249
  };
250
+
251
+ export const WithCustomButtons: Story = {
252
+ args: {
253
+ label: "Editor with custom plugin buttons",
254
+ customButtons: [
255
+ {
256
+ id: "clear-format",
257
+ label: "Clear Format",
258
+ icon: "lucide-remove-formatting",
259
+ action: (editor: Editor) => {
260
+ editor.chain().focus().clearNodes().unsetAllMarks().run();
261
+ },
262
+ isActive: () => false,
263
+ group: "format",
264
+ order: 1,
265
+ } as CustomToolbarButton,
266
+ {
267
+ id: "highlight",
268
+ label: "Highlight",
269
+ icon: "lucide-highlighter",
270
+ action: (editor: Editor) => {
271
+ editor.chain().focus().toggleHighlight().run();
272
+ },
273
+ isActive: (editor: Editor) => editor.isActive('highlight'),
274
+ group: "format",
275
+ order: 2,
276
+ } as CustomToolbarButton,
277
+ {
278
+ id: "text-align",
279
+ label: "Text Align",
280
+ options: [
281
+ { value: 'left', label: 'Left', action: (editor: Editor) => editor.chain().focus().setTextAlign('left').run() },
282
+ { value: 'center', label: 'Center', action: (editor: Editor) => editor.chain().focus().setTextAlign('center').run() },
283
+ { value: 'right', label: 'Right', action: (editor: Editor) => editor.chain().focus().setTextAlign('right').run() },
284
+ { value: 'justify', label: 'Justify', action: (editor: Editor) => editor.chain().focus().setTextAlign('justify').run() },
285
+ ],
286
+ getValue: (editor: Editor) => editor.getAttributes('paragraph').textAlign || 'left',
287
+ group: "align",
288
+ order: 1,
289
+ } as CustomToolbarDropdown,
290
+ ],
291
+ },
292
+ render: (args) => ({
293
+ components: { VcEditor },
294
+ setup() {
295
+ const content = ref("");
296
+ return { args, content };
297
+ },
298
+ template: '<vc-editor v-bind="args" v-model="content"></vc-editor>',
299
+ }),
300
+ };
301
+
302
+ // Custom component example
303
+ const CustomEmojiButton = defineComponent({
304
+ props: {
305
+ editor: {
306
+ type: Object as () => Editor,
307
+ required: true,
308
+ },
309
+ disabled: Boolean,
310
+ },
311
+ setup(props) {
312
+ const emojis = ['😀', '😃', '😄', '😁', '😆', '😅', '😂', '🤣', '😊', '😇'];
313
+ const showPicker = ref(false);
314
+
315
+ const insertEmoji = (emoji: string) => {
316
+ props.editor.chain().focus().insertContent(emoji).run();
317
+ showPicker.value = false;
318
+ };
319
+
320
+ return () => h('div', { class: 'emoji-picker', style: { position: 'relative' } }, [
321
+ h('button', {
322
+ class: 'vc-editor-button',
323
+ disabled: props.disabled,
324
+ onClick: () => showPicker.value = !showPicker.value,
325
+ style: {
326
+ padding: '0.25rem 0.5rem',
327
+ borderRadius: '6px',
328
+ border: 'none',
329
+ background: 'transparent',
330
+ cursor: props.disabled ? 'not-allowed' : 'pointer',
331
+ }
332
+ }, '😊'),
333
+ showPicker.value && h('div', {
334
+ class: 'emoji-picker-menu',
335
+ style: {
336
+ position: 'absolute',
337
+ top: '100%',
338
+ left: 0,
339
+ background: 'white',
340
+ border: '1px solid #ccc',
341
+ borderRadius: '6px',
342
+ padding: '0.5rem',
343
+ display: 'flex',
344
+ gap: '0.25rem',
345
+ zIndex: 100,
346
+ boxShadow: '0 2px 8px rgba(0,0,0,0.1)',
347
+ }
348
+ }, emojis.map(emoji =>
349
+ h('button', {
350
+ onClick: () => insertEmoji(emoji),
351
+ style: {
352
+ border: 'none',
353
+ background: 'transparent',
354
+ cursor: 'pointer',
355
+ fontSize: '1.25rem',
356
+ padding: '0.25rem',
357
+ }
358
+ }, emoji)
359
+ ))
360
+ ]);
361
+ },
362
+ });
363
+
364
+ export const WithCustomComponent: Story = {
365
+ args: {
366
+ label: "Editor with custom component plugin",
367
+ customButtons: [
368
+ {
369
+ id: "emoji",
370
+ label: "Insert Emoji",
371
+ icon: "lucide-smile",
372
+ action: () => {}, // Not used when component is provided
373
+ component: CustomEmojiButton,
374
+ group: "insert",
375
+ order: 1,
376
+ } as CustomToolbarButton,
377
+ {
378
+ id: "word-count",
379
+ label: "Word Count",
380
+ icon: "lucide-file-text",
381
+ action: (editor: Editor) => {
382
+ const text = editor.getText();
383
+ const wordCount = text.split(/\s+/).filter(word => word.length > 0).length;
384
+ alert(`Word count: ${wordCount}`);
385
+ },
386
+ group: "tools",
387
+ order: 1,
388
+ } as CustomToolbarButton,
389
+ ],
390
+ },
391
+ render: (args) => ({
392
+ components: { VcEditor },
393
+ setup() {
394
+ const content = ref("");
395
+ return { args, content };
396
+ },
397
+ template: '<vc-editor v-bind="args" v-model="content"></vc-editor>',
398
+ }),
399
+ };
400
+
401
+ export const WithTipTapExtensions: Story = {
402
+ args: {
403
+ label: "Editor with custom TipTap extensions",
404
+ extensions: [
405
+ // Add any custom TipTap extensions here
406
+ // For example: Highlight.configure({ multicolor: true })
407
+ ],
408
+ },
409
+ render: (args) => ({
410
+ components: { VcEditor },
411
+ setup() {
412
+ const content = ref("# Custom Extensions\n\nYou can add any TipTap extension to enhance the editor functionality.");
413
+ return { args, content };
414
+ },
415
+ template: '<vc-editor v-bind="args" v-model="content"></vc-editor>',
416
+ }),
417
+ };
@@ -35,6 +35,7 @@
35
35
  :disabled="disabled"
36
36
  :content-type="detectedType"
37
37
  :toolbar="filteredToolbar"
38
+ :custom-buttons="props.customButtons || []"
38
39
  @upload-image="triggerImageUpload"
39
40
  />
40
41
 
@@ -139,7 +140,7 @@
139
140
  </slot>
140
141
  </div>
141
142
  </template>
142
-
143
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
143
144
  <script lang="ts" setup>
144
145
  import { ref, watch, onBeforeUnmount, computed } from "vue";
145
146
  import { useEditor, EditorContent } from "@tiptap/vue-3";
@@ -152,7 +153,9 @@ import { TableCell } from "@tiptap/extension-table-cell";
152
153
  import { Link } from "@tiptap/extension-link";
153
154
  import { Image } from "@tiptap/extension-image";
154
155
  import { Placeholder } from "@tiptap/extension-placeholder";
156
+ import { TextStyle } from "@tiptap/extension-text-style";
155
157
  import { Markdown } from "tiptap-markdown";
158
+ import { FontSize } from "./_internal/extensions/font-size";
156
159
  import { format } from "prettier/standalone";
157
160
  import * as prettierPluginHtml from "prettier/parser-html";
158
161
  // eslint-disable-next-line import/no-named-as-default
@@ -160,6 +163,10 @@ import DOMPurify from "dompurify";
160
163
  import { VcLabel, VcHint } from "../..";
161
164
  import VcEditorToolbar from "./_internal/vc-editor-toolbar.vue";
162
165
  import VcEditorButton from "./_internal/vc-editor-button.vue";
166
+ import type { CustomToolbarItem } from "./_internal/toolbar-types";
167
+
168
+ // Export types for external use
169
+ export type { CustomToolbarItem, CustomToolbarButton, CustomToolbarDropdown } from "./_internal/toolbar-types";
163
170
 
164
171
  // Define toolbar button types
165
172
  type ToolbarNames =
@@ -176,6 +183,7 @@ type ToolbarNames =
176
183
  | "link"
177
184
  | "image"
178
185
  | "table"
186
+ | "fontSize"
179
187
  | "separator";
180
188
 
181
189
  export interface Props {
@@ -191,6 +199,8 @@ export interface Props {
191
199
  currentLanguage?: string;
192
200
  maxlength?: number;
193
201
  toolbar?: ToolbarNames[];
202
+ extensions?: any[];
203
+ customButtons?: CustomToolbarItem[];
194
204
  }
195
205
 
196
206
  export interface Emits {
@@ -231,6 +241,7 @@ const filteredToolbar = computed(() => {
231
241
  "link",
232
242
  "image",
233
243
  "table",
244
+ "fontSize",
234
245
  ] as ToolbarNames[];
235
246
  }
236
247
  return props.toolbar;
@@ -294,27 +305,38 @@ function detectContentType(content: string): "html" | "markdown" {
294
305
  }
295
306
 
296
307
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
297
- const extensions: any[] = [
298
- StarterKit,
299
- Underline,
300
- Table.configure({ resizable: true }),
301
- TableRow,
302
- TableHeader,
303
- TableCell,
304
- Link.configure({ openOnClick: false }),
305
- Image,
306
- Placeholder.configure({ placeholder: props.placeholder }),
307
- Markdown.configure({
308
- html: true, // Allow HTML input/output
309
- tightLists: true, // No <p> inside <li> in markdown output
310
- tightListClass: "tight", // Add class to <ul> allowing you to remove <p> margins when tight
311
- bulletListMarker: "-", // <li> prefix in markdown output
312
- linkify: false, // Create links from "https://..." text
313
- breaks: true, // New lines (\n) in markdown input are converted to <br>
314
- transformPastedText: false, // Allow to paste markdown text in the editor
315
- transformCopiedText: false, // Copied text is transformed to markdown
316
- }),
317
- ];
308
+ const extensions = computed(() => {
309
+ const baseExtensions: any[] = [
310
+ StarterKit,
311
+ Underline,
312
+ TextStyle,
313
+ FontSize,
314
+ Table.configure({ resizable: true }),
315
+ TableRow,
316
+ TableHeader,
317
+ TableCell,
318
+ Link.configure({ openOnClick: false }),
319
+ Image,
320
+ Placeholder.configure({ placeholder: props.placeholder }),
321
+ Markdown.configure({
322
+ html: true, // Allow HTML input/output
323
+ tightLists: true, // No <p> inside <li> in markdown output
324
+ tightListClass: "tight", // Add class to <ul> allowing you to remove <p> margins when tight
325
+ bulletListMarker: "-", // <li> prefix in markdown output
326
+ linkify: false, // Create links from "https://..." text
327
+ breaks: true, // New lines (\n) in markdown input are converted to <br>
328
+ transformPastedText: false, // Allow to paste markdown text in the editor
329
+ transformCopiedText: false, // Copied text is transformed to markdown
330
+ }),
331
+ ];
332
+
333
+ // Add custom extensions if provided
334
+ if (props.extensions && props.extensions.length > 0) {
335
+ baseExtensions.push(...props.extensions);
336
+ }
337
+
338
+ return baseExtensions;
339
+ });
318
340
 
319
341
  const formattedSource = ref(props.modelValue || "");
320
342
 
@@ -417,13 +439,13 @@ function toggleSideBySideView() {
417
439
  const editor = useEditor({
418
440
  content: props.modelValue,
419
441
  editable: !props.disabled,
420
- extensions,
442
+ extensions: extensions.value,
421
443
  onUpdate: ({ editor: tipTapEditor }) => {
422
444
  // Always output in Markdown by default, unless HTML is detected
423
445
  const output =
424
446
  detectedType.value === "html"
425
447
  ? tipTapEditor.getHTML()
426
- : (tipTapEditor.storage.markdown as { getMarkdown: () => string }).getMarkdown();
448
+ : (tipTapEditor.storage as any).markdown?.getMarkdown?.() || tipTapEditor.getHTML();
427
449
 
428
450
  // Check maxlength if specified
429
451
  if (props.maxlength && output.length > props.maxlength) {
@@ -448,10 +470,10 @@ watch(
448
470
  const editorContent =
449
471
  detectedType.value === "html"
450
472
  ? editor.value.getHTML()
451
- : (editor.value.storage.markdown as { getMarkdown: () => string }).getMarkdown();
473
+ : (editor.value.storage as any).markdown?.getMarkdown?.() || editor.value.getHTML();
452
474
 
453
475
  if (editorContent !== value) {
454
- editor.value.commands.setContent(value || "", false);
476
+ editor.value.commands.setContent(value || "");
455
477
  }
456
478
  },
457
479
  );
@@ -508,6 +530,7 @@ async function handleImageSelection(event: Event) {
508
530
  console.error("Image upload failed:", error);
509
531
  }
510
532
  }
533
+
511
534
  </script>
512
535
 
513
536
  <style lang="scss">
@@ -6,15 +6,16 @@
6
6
  'vc-slider__swiper_overflow-visible': overflow,
7
7
  'vc-slider__swiper_navigation': navigation,
8
8
  }"
9
+ :modules="modules"
9
10
  :space-between="spaceBetweenSlides"
10
- :navigation="buttonsList as any"
11
+ :navigation="navigation ? buttonsList : false"
11
12
  :slides-per-view="slidesPerView as any"
12
- :resize-observer="true"
13
+ :observer="true"
14
+ :observe-parents="true"
13
15
  >
14
16
  <swiper-slide
15
17
  v-for="(slide, i) in slides"
16
18
  :key="i"
17
- :swiper-ref="SwiperCore"
18
19
  >
19
20
  <slot :slide="slide"></slot>
20
21
  </swiper-slide>
@@ -43,10 +44,9 @@
43
44
  import { VcIcon } from "./../../";
44
45
  import { computed } from "vue";
45
46
  import { Swiper, SwiperSlide } from "swiper/vue";
46
- import SwiperCore, { Navigation } from "swiper";
47
- import "swiper/swiper-bundle.min.css";
48
- import "swiper/swiper.min.css";
49
- import "swiper/components/navigation/navigation.min.css";
47
+ import { Navigation } from "swiper/modules";
48
+ import "swiper/css";
49
+ import "swiper/css/navigation";
50
50
 
51
51
  export interface Props {
52
52
  slides?: Record<string, unknown>[] | unknown[];
@@ -62,7 +62,7 @@ withDefaults(defineProps<Props>(), {
62
62
  spaceBetweenSlides: 10,
63
63
  });
64
64
 
65
- SwiperCore.use([Navigation]);
65
+ const modules = [Navigation];
66
66
 
67
67
  const buttonsList = computed(() => ({
68
68
  nextEl: ".vc-slider__next",