@vc-shell/framework 1.1.43 → 1.1.45
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.
- package/CHANGELOG.md +15 -0
- package/core/plugins/modularity/loader.ts +120 -74
- package/core/services/app-bar-mobile-buttons-service.ts +1 -1
- package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
- package/dist/core/services/app-bar-mobile-buttons-service.d.ts +1 -1
- package/dist/core/services/app-bar-mobile-buttons-service.d.ts.map +1 -1
- package/dist/framework.js +33347 -295
- package/dist/index.css +1 -9
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/locales/de.json +0 -84
- package/dist/locales/en.json +0 -84
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.d.ts.map +1 -1
- package/dist/shared/components/change-password-button/change-password-button.vue.d.ts.map +1 -1
- package/dist/shared/components/logout-button/logout-button.vue.d.ts.map +1 -1
- package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -2
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +6 -6
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/icons/index.d.ts +0 -26
- package/dist/ui/components/atoms/vc-icon/icons/index.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts +0 -5
- package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +0 -20
- package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue.d.ts +36 -0
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts +17 -0
- package/dist/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue.d.ts.map +1 -0
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +16 -2381
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
- 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
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -1
- package/dist/vendor-boolbase-Cp9L0GAZ.js +25 -0
- package/dist/vendor-cheerio-HN9zIPZn.js +3135 -0
- package/dist/vendor-cheerio-select-5Ry0HvBq.js +306 -0
- package/dist/vendor-core-js-l0sNRNKZ.js +1 -0
- package/dist/vendor-css-select-DRIZ9kfZ.js +966 -0
- package/dist/vendor-css-what-DuPJ1HEF.js +448 -0
- package/dist/vendor-cypress-signalr-mock-BKdBJpdt.js +778 -0
- package/dist/vendor-date-fns-515YWkk-.js +6724 -0
- package/dist/vendor-dom-serializer-nQMsqjYW.js +286 -0
- package/dist/vendor-dom7-CJLPMwy5.js +941 -0
- package/dist/vendor-domelementtype-CjSzQey5.js +53 -0
- package/dist/vendor-domhandler-9z8cS16a.js +484 -0
- package/dist/vendor-dompurify-CRFzu7ib.js +1336 -0
- package/dist/vendor-domutils-Bc-Opz-v.js +981 -0
- package/dist/vendor-entities-Bfsx4xOQ.js +636 -0
- package/dist/vendor-floating-ui-core-wV8u8QP4.js +511 -0
- package/dist/vendor-floating-ui-dom-DDnRPs17.js +706 -0
- package/dist/vendor-floating-ui-utils-OMIFy1QU.js +296 -0
- package/dist/vendor-floating-ui-vue-D-tCDAMm.js +167 -0
- package/dist/vendor-fontsource-plus-jakarta-sans.css +1 -0
- package/dist/vendor-headlessui-vue-CY9FRgTb.js +83 -0
- package/dist/vendor-htmlparser2-B1dhFPOs.js +1426 -0
- package/dist/vendor-iconify-vue-DfRGgyNu.js +1840 -0
- package/dist/vendor-intlify-core-base-BuknsFQe.js +1876 -0
- package/dist/vendor-intlify-message-compiler-CuOQDWx1.js +1508 -0
- package/dist/vendor-intlify-shared-Cz4YRMuC.js +241 -0
- package/dist/vendor-iso-639-1-BJCk9DvE.js +819 -0
- package/dist/vendor-linkify-it-CKUf4vsc.js +830 -0
- package/dist/vendor-linkifyjs-BfyGgbCh.js +1756 -0
- package/dist/vendor-lodash-es-BySUOlwf.js +18333 -0
- package/dist/vendor-markdown-it-D-apazHa.js +6000 -0
- package/dist/vendor-markdown-it-task-lists-rxMVH6Ku.js +131 -0
- package/dist/vendor-mdurl-BNh2CCgT.js +537 -0
- package/dist/vendor-microsoft-applicationinsights-analytics-js-kG3lLg8X.js +1275 -0
- package/dist/vendor-microsoft-applicationinsights-cfgsync-js-C0uQkiQq.js +591 -0
- package/dist/vendor-microsoft-applicationinsights-channel-js-Dyd_PXA3.js +2153 -0
- package/dist/vendor-microsoft-applicationinsights-common-CfmP1_Qr.js +2470 -0
- package/dist/vendor-microsoft-applicationinsights-core-js-Cq4YSEvZ.js +6589 -0
- package/dist/vendor-microsoft-applicationinsights-dependencies-js-C56OBFr4.js +1510 -0
- package/dist/vendor-microsoft-applicationinsights-properties-js-CBJTBawx.js +761 -0
- package/dist/vendor-microsoft-applicationinsights-shims-CX8sJgar.js +70 -0
- package/dist/vendor-microsoft-applicationinsights-web-pim2ri-g.js +667 -0
- package/dist/vendor-microsoft-dynamicproto-js-CFBBUu9p.js +520 -0
- package/dist/vendor-microsoft-signalr-dUnlRsGm.js +3339 -0
- package/dist/vendor-moment-Mki5YqAR.js +5679 -0
- package/dist/vendor-nevware21-ts-async-CLMApQ9E.js +395 -0
- package/dist/vendor-nevware21-ts-utils-e8v8Jty3.js +1160 -0
- package/dist/vendor-normalize-css.css +1 -0
- package/dist/vendor-nth-check-Bx8TxtJt.js +157 -0
- package/dist/vendor-orderedmap-dGG6uMFJ.js +137 -0
- package/dist/vendor-parse5-Bt2NhSzR.js +8432 -0
- package/dist/vendor-parse5-htmlparser2-tree-adapter-BUUtKzf8.js +216 -0
- package/dist/vendor-popperjs-core-Cr2byIky.js +1790 -0
- package/dist/vendor-prettier-B4PaeWRQ.js +98 -0
- package/dist/vendor-prosemirror-commands-BH9lWGpW.js +561 -0
- package/dist/vendor-prosemirror-dropcursor-CeyPcxrA.js +146 -0
- package/dist/vendor-prosemirror-gapcursor-U8UoUJII.js +236 -0
- package/dist/vendor-prosemirror-history-BDaJkvNx.js +414 -0
- package/dist/vendor-prosemirror-keymap-BbWvIWmH.js +128 -0
- package/dist/vendor-prosemirror-markdown-gB0PXBbz.js +866 -0
- package/dist/vendor-prosemirror-model-BZu3WVcD.js +3463 -0
- package/dist/vendor-prosemirror-schema-list-Bl9NpKA7.js +158 -0
- package/dist/vendor-prosemirror-state-BvL9Pxph.js +1003 -0
- package/dist/vendor-prosemirror-tables-17qAnviK.js +2159 -0
- package/dist/vendor-prosemirror-transform-CE9VV3qg.js +2156 -0
- package/dist/vendor-prosemirror-view-CU2WTHT7.js +5811 -0
- package/dist/vendor-punycode-js-iAs5RxMf.js +441 -0
- package/dist/vendor-rope-sequence-BdXDKoGt.js +207 -0
- package/dist/vendor-semver-CVLMK-S4.js +2702 -0
- package/dist/vendor-ssr-window-s6OpKa3O.js +150 -0
- package/dist/vendor-swiper-CdiyNHVt.js +5679 -0
- package/dist/vendor-swiper.css +1 -0
- package/dist/vendor-tanstack-virtual-core-l0sNRNKZ.js +1 -0
- package/dist/vendor-tanstack-vue-virtual-l0sNRNKZ.js +1 -0
- package/dist/vendor-tippy-js-DWFe2TfK.js +1647 -0
- package/dist/vendor-tiptap-core-NfwGfaQk.js +4910 -0
- package/dist/vendor-tiptap-extension-blockquote-jmWBTtsI.js +57 -0
- package/dist/vendor-tiptap-extension-bold-p5frh4ak.js +97 -0
- package/dist/vendor-tiptap-extension-bubble-menu-KUhZSfrs.js +218 -0
- package/dist/vendor-tiptap-extension-bullet-list-COmZRoSB.js +73 -0
- package/dist/vendor-tiptap-extension-code-block-DyTARZss.js +221 -0
- package/dist/vendor-tiptap-extension-code-jVv6CXpX.js +75 -0
- package/dist/vendor-tiptap-extension-document-DssuotYs.js +13 -0
- package/dist/vendor-tiptap-extension-dropcursor-BoO0Qv91.js +26 -0
- package/dist/vendor-tiptap-extension-floating-menu-CrO8CN5w.js +165 -0
- package/dist/vendor-tiptap-extension-gapcursor-KpsWEoMD.js +30 -0
- package/dist/vendor-tiptap-extension-hard-break-ldOzhSvf.js +68 -0
- package/dist/vendor-tiptap-extension-heading-CKz2llX0.js +77 -0
- package/dist/vendor-tiptap-extension-history-DeKZ2VQ9.js +48 -0
- package/dist/vendor-tiptap-extension-horizontal-rule-CAjWRyDS.js +92 -0
- package/dist/vendor-tiptap-extension-image-ZagcEYuk.js +76 -0
- package/dist/vendor-tiptap-extension-italic-CM4xdznY.js +96 -0
- package/dist/vendor-tiptap-extension-link-Z-AMC4Ri.js +414 -0
- package/dist/vendor-tiptap-extension-list-item-BJi5QpXc.js +37 -0
- package/dist/vendor-tiptap-extension-ordered-list-C_TMrfBE.js +97 -0
- package/dist/vendor-tiptap-extension-paragraph-CQw0E0Au.js +39 -0
- package/dist/vendor-tiptap-extension-placeholder-BBNVKfa_.js +66 -0
- package/dist/vendor-tiptap-extension-strike-DUyMYX1Z.js +79 -0
- package/dist/vendor-tiptap-extension-table-cell-CoDIMPA5.js +47 -0
- package/dist/vendor-tiptap-extension-table-header-DvbGHnmw.js +47 -0
- package/dist/vendor-tiptap-extension-table-row-D1uqN5Aj.js +26 -0
- package/dist/vendor-tiptap-extension-table-tKS4MOM4.js +354 -0
- package/dist/vendor-tiptap-extension-text-DtRBhKB2.js +12 -0
- package/dist/vendor-tiptap-extension-underline-DqaSFp_P.js +50 -0
- package/dist/vendor-tiptap-markdown-7-PCADTU.js +1017 -0
- package/dist/vendor-tiptap-pm-l0sNRNKZ.js +1 -0
- package/dist/vendor-tiptap-starter-kit-CDSV_Zuu.js +88 -0
- package/dist/vendor-tiptap-vue-3-DZg2fjq_.js +268 -0
- package/dist/vendor-truncate-html-3qQY0Djo.js +196 -0
- package/dist/vendor-uc-micro-jjt6LQ65.js +23 -0
- package/dist/vendor-vee-validate-i18n-v_gHjRmD.js +154 -0
- package/dist/vendor-vee-validate-rules-DzV3VY3N.js +536 -0
- package/dist/vendor-vue-currency-input-DGAkEFBO.js +545 -0
- package/dist/vendor-vue-demi-l0sNRNKZ.js +1 -0
- package/dist/vendor-vue-devtools-api-DXYR8qBG.js +169 -0
- package/dist/vendor-vue-i18n-Co752uk3.js +1897 -0
- package/dist/vendor-vue3-application-insights-CYWFCr_J.js +119 -0
- package/dist/vendor-vue3-touch-events-BJEAiSa3.js +416 -0
- package/dist/vendor-vuepic-vue-datepicker-BSWXRSiu.js +5019 -0
- package/dist/vendor-vuepic-vue-datepicker.css +1 -0
- package/dist/vendor-vueuse-components-l1bL12mE.js +339 -0
- package/dist/vendor-vueuse-core-DGcJOmwG.js +7743 -0
- package/dist/vendor-vueuse-shared-_mOXsFuM.js +1568 -0
- package/dist/vendor-w3c-keyname-BOm2dtJm.js +121 -0
- package/package.json +22 -11
- package/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue +3 -3
- package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +2 -1
- package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.ts +1 -0
- package/shared/components/change-password-button/change-password-button.vue +1 -2
- package/shared/components/logout-button/logout-button.vue +1 -2
- package/shared/components/notifications/components/notification-container/index.ts +1 -1
- package/shared/components/notifications/core/notification.ts +1 -1
- package/shared/components/settings-menu-item/settings-menu-item.vue +1 -0
- package/shared/components/sidebar/sidebar.vue +2 -2
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +2 -1
- package/ui/components/atoms/vc-hint/vc-hint.vue +2 -0
- package/ui/components/atoms/vc-icon/composables/use-icon.ts +1 -1
- package/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue +18 -14
- package/ui/components/atoms/vc-icon/icons/index.ts +1 -27
- package/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue +7 -11
- package/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue +37 -31
- package/ui/components/atoms/vc-icon/vc-icon-examples.vue +1 -1
- package/ui/components/atoms/vc-icon/vc-icon.stories.ts +4 -5
- package/ui/components/atoms/vc-icon/vc-icon.vue +33 -163
- package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +22 -70
- package/ui/components/atoms/vc-icon/vc-material-icon.vue +28 -59
- package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +2 -3
- package/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue +103 -0
- package/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue +252 -0
- package/ui/components/molecules/vc-editor/vc-editor.stories.ts +1 -4
- package/ui/components/molecules/vc-editor/vc-editor.vue +666 -360
- package/ui/components/molecules/vc-form/vc-form.vue +7 -5
- package/ui/components/molecules/vc-input/vc-input.vue +1 -1
- package/ui/components/molecules/vc-pagination/vc-pagination.vue +4 -17
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarMobileActions.vue +1 -1
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue +1 -3
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +1 -4
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +1 -3
- package/ui/components/organisms/vc-app/vc-app.backupsb.ts +214 -214
- package/ui/components/organisms/vc-app/vc-app.vue +3 -5
- package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +3 -10
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue +1 -1
- package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue +2 -2
- package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue +2 -2
- package/ui/components/organisms/vc-blade/vc-blade.vue +4 -5
- package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +1 -3
- package/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue +1 -2
- package/ui/components/organisms/vc-table/composables/useTableState.ts +5 -5
- package/dist/apl-B2DGVGxc.js +0 -76
- package/dist/asciiarmor-2LVJmxlE.js +0 -34
- package/dist/asn1-jKiBa2Ya.js +0 -95
- package/dist/asterisk-DS281yxp.js +0 -271
- package/dist/brainfuck-C_p9pTT8.js +0 -34
- package/dist/clike-DGTaUp48.js +0 -620
- package/dist/clojure-CCKyeQKf.js +0 -800
- package/dist/cmake-CuaCgAKt.js +0 -28
- package/dist/cobol-BlTKFDRj.js +0 -72
- package/dist/coffeescript-BVCvwO8I.js +0 -179
- package/dist/commonlisp-D_kxz07b.js +0 -75
- package/dist/crystal-D309uH6_.js +0 -217
- package/dist/css-BkF-NPzE.js +0 -1553
- package/dist/cypher-BMq4Fwjl.js +0 -68
- package/dist/d-BZcgY6La.js +0 -127
- package/dist/diff-Cg9d_RX2.js +0 -18
- package/dist/dockerfile-DIy8NleC.js +0 -194
- package/dist/dtd-CtLokQ-U.js +0 -84
- package/dist/dylan-QYeExnWK.js +0 -234
- package/dist/ebnf-DUPDuY4r.js +0 -78
- package/dist/ecl-CiXN-g_D.js +0 -121
- package/dist/eiffel-yQhjl4T1.js +0 -110
- package/dist/elm-CNT9vbN0.js +0 -108
- package/dist/erlang-CFOYdy9e.js +0 -487
- package/dist/factor-DDOC7X6P.js +0 -65
- package/dist/fcl-CPC2WYrI.js +0 -103
- package/dist/forth-BmxRyE9S.js +0 -60
- package/dist/fortran-9bvPyrOW.js +0 -442
- package/dist/gas-cpmYfFX2.js +0 -183
- package/dist/gherkin-CJuwpceU.js +0 -34
- package/dist/groovy-DZeT_VM-.js +0 -146
- package/dist/haskell-Bvt3Qq1t.js +0 -375
- package/dist/haxe-70NVW1pR.js +0 -359
- package/dist/http-D9LttvKF.js +0 -44
- package/dist/idl-B6TRFYjl.js +0 -947
- package/dist/index-4DWvmoYg.js +0 -71
- package/dist/index-52o7mJaX.js +0 -156
- package/dist/index-B0KatioT.js +0 -98
- package/dist/index-BP3W8zuk.js +0 -268
- package/dist/index-BykT5L1A.js +0 -148134
- package/dist/index-CfXo9hsG.js +0 -75
- package/dist/index-Ch37pBUt.js +0 -308
- package/dist/index-D2KGkAYT.js +0 -93
- package/dist/index-D83zQom_.js +0 -58
- package/dist/index-DuQrVLbu.js +0 -134
- package/dist/index-_fdMid5h.js +0 -288
- package/dist/index-a1wO-owY.js +0 -545
- package/dist/index-crMpNSFe.js +0 -611
- package/dist/index-dmBRpHHY.js +0 -137
- package/dist/index-kBdB14Fz.js +0 -341
- package/dist/index-uBhy41le.js +0 -249
- package/dist/index-zZrijNsr.js +0 -299
- package/dist/javascript-C2yteZeJ.js +0 -691
- package/dist/jinja2-DnB6dQmV.js +0 -154
- package/dist/julia-DpvXAuO6.js +0 -241
- package/dist/livescript-CanGTf8u.js +0 -272
- package/dist/lua-XplVlWi_.js +0 -217
- package/dist/mathematica-jaRHnSxC.js +0 -35
- package/dist/mbox-BctzC1hL.js +0 -76
- package/dist/mirc-CFBPAOaF.js +0 -72
- package/dist/mllike-BSnXJBGA.js +0 -272
- package/dist/modelica-vUgVs--1.js +0 -93
- package/dist/mscgen-Cpl0NYLN.js +0 -104
- package/dist/mumps-CQoS1kWX.js +0 -25
- package/dist/nginx-zDPm3Z74.js +0 -89
- package/dist/nsis-fePjrhq7.js +0 -62
- package/dist/ntriples-CsNjv2QF.js +0 -79
- package/dist/octave-C8PmmSRH.js +0 -143
- package/dist/oz-Ce8aN8oE.js +0 -151
- package/dist/pascal-De0D6mP7.js +0 -77
- package/dist/perl-B4bSCe1C.js +0 -915
- package/dist/pig-D24Z8EXi.js +0 -54
- package/dist/powershell-DkYVfTzP.js +0 -249
- package/dist/properties-Dn9wna3M.js +0 -26
- package/dist/protobuf-BPIjwpzm.js +0 -49
- package/dist/pug-CwAQJzGR.js +0 -248
- package/dist/puppet-nyd4dhjf.js +0 -45
- package/dist/python-BkR3uSy8.js +0 -313
- package/dist/q-DXjKs-tC.js +0 -83
- package/dist/r-LKEuhEGI.js +0 -104
- package/dist/rpm-IznJm2Xc.js +0 -57
- package/dist/ruby-CcYfvIk6.js +0 -228
- package/dist/sas-7E8yHoCW.js +0 -105
- package/dist/scheme-DjibxsNh.js +0 -124
- package/dist/shared/modules/dynamic/components/fields/storybook/common/args.d.ts +0 -113
- package/dist/shared/modules/dynamic/components/fields/storybook/common/args.d.ts.map +0 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/common/templates.d.ts +0 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/common/templates.d.ts.map +0 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +0 -102
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +0 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceHighlighter.d.ts +0 -4
- package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceHighlighter.d.ts.map +0 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceTransform.d.ts +0 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/utils/sourceTransform.d.ts.map +0 -1
- package/dist/shell-C0C2sNA_.js +0 -182
- package/dist/sieve-Bwz7vjP5.js +0 -72
- package/dist/simple-mode-B0dvCdAA.js +0 -89
- package/dist/smalltalk-Bhddl2pB.js +0 -48
- package/dist/solr-BNlsLglM.js +0 -41
- package/dist/sparql-FarWu_Gb.js +0 -197
- package/dist/spreadsheet-C-cy4P5N.js +0 -49
- package/dist/sql-CfG5lQ3l.js +0 -282
- package/dist/stex-Du4h4KAU.js +0 -129
- package/dist/stylus-CAdqWld3.js +0 -250
- package/dist/swift-DSxqR9R6.js +0 -230
- package/dist/tcl-xfoLljhY.js +0 -81
- package/dist/textile-D1AWE-pc.js +0 -295
- package/dist/tiddlywiki-5wqsXtSk.js +0 -155
- package/dist/tiki-__Kn3CeS.js +0 -181
- package/dist/toml-BHiuTcfn.js +0 -49
- package/dist/troff-D2UO-fKf.js +0 -35
- package/dist/ttcn-Bsa4sfRm.js +0 -123
- package/dist/ttcn-cfg-Bac_acMi.js +0 -88
- package/dist/turtle-xwJUxoPV.js +0 -80
- package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/GridDotsIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/GridDotsIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/OffersIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/OffersIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/OrdersIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/OrdersIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/PeopleIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/PeopleIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ProductsIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ProductsIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ProfileIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ProfileIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/ShoppingCardIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/ShoppingCardIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/VendorSwitchIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/VendorSwitchIcon.vue.d.ts.map +0 -1
- package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts +0 -7
- package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts.map +0 -1
- package/dist/vb-c2kQGd6-.js +0 -74
- package/dist/vbscript-1f_Dhg5H.js +0 -324
- package/dist/velocity-DJd0pTTC.js +0 -96
- package/dist/verilog-CiS1jyi5.js +0 -262
- package/dist/vhdl-T9HkrbI2.js +0 -106
- package/dist/webidl-CjfDENEo.js +0 -155
- package/dist/xquery-BUQdORAS.js +0 -422
- package/dist/yacas-C0absKBh.js +0 -73
- package/dist/z80-Pki2zAjW.js +0 -61
- package/shared/modules/dynamic/components/fields/storybook/Button.stories.ts +0 -186
- package/shared/modules/dynamic/components/fields/storybook/Card.stories.ts +0 -175
- package/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.ts +0 -185
- package/shared/modules/dynamic/components/fields/storybook/ContentField.stories.ts +0 -245
- package/shared/modules/dynamic/components/fields/storybook/EditorField.stories.ts +0 -192
- package/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.ts +0 -347
- package/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.ts +0 -239
- package/shared/modules/dynamic/components/fields/storybook/ImageField.stories.ts +0 -186
- package/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.ts +0 -281
- package/shared/modules/dynamic/components/fields/storybook/InputField.stories.ts +0 -312
- package/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.ts +0 -361
- package/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.ts +0 -224
- package/shared/modules/dynamic/components/fields/storybook/RatingField.stories.ts +0 -131
- package/shared/modules/dynamic/components/fields/storybook/SelectField.stories.ts +0 -666
- package/shared/modules/dynamic/components/fields/storybook/StatusField.stories.ts +0 -202
- package/shared/modules/dynamic/components/fields/storybook/SwitchField.stories.ts +0 -178
- package/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.ts +0 -203
- package/shared/modules/dynamic/components/fields/storybook/VideoField.stories.ts +0 -92
- package/shared/modules/dynamic/components/fields/storybook/common/args.ts +0 -130
- package/shared/modules/dynamic/components/fields/storybook/common/templates.ts +0 -8
- package/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.ts +0 -54
- package/shared/modules/dynamic/components/fields/storybook/utils/sourceHighlighter.ts +0 -16
- package/shared/modules/dynamic/components/fields/storybook/utils/sourceTransform.ts +0 -41
- package/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue +0 -15
- package/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue +0 -20
- package/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue +0 -13
- package/ui/components/atoms/vc-icon/icons/BellIcon.vue +0 -14
- package/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue +0 -13
- package/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue +0 -13
- package/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue +0 -13
- package/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue +0 -13
- package/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue +0 -16
- package/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue +0 -20
- package/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue +0 -14
- package/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue +0 -14
- package/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue +0 -27
- package/ui/components/atoms/vc-icon/icons/GridDotsIcon.vue +0 -22
- package/ui/components/atoms/vc-icon/icons/LogoutIcon.vue +0 -13
- package/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue +0 -14
- package/ui/components/atoms/vc-icon/icons/OffersIcon.vue +0 -23
- package/ui/components/atoms/vc-icon/icons/OrdersIcon.vue +0 -19
- package/ui/components/atoms/vc-icon/icons/PeopleIcon.vue +0 -21
- package/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue +0 -20
- package/ui/components/atoms/vc-icon/icons/ProductsIcon.vue +0 -23
- package/ui/components/atoms/vc-icon/icons/ProfileIcon.vue +0 -18
- package/ui/components/atoms/vc-icon/icons/SearchIcon.vue +0 -14
- package/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue +0 -21
- package/ui/components/atoms/vc-icon/icons/ShoppingCardIcon.vue +0 -16
- package/ui/components/atoms/vc-icon/icons/VendorSwitchIcon.vue +0 -26
- package/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue +0 -19
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
import { f as findWrapping, c as canSplit, l as liftTarget, a as canJoin, j as joinPoint, r as replaceStep, R as ReplaceStep, b as ReplaceAroundStep } from './vendor-prosemirror-transform-CE9VV3qg.js';
|
|
2
|
+
import { S as Slice, F as Fragment } from './vendor-prosemirror-model-BZu3WVcD.js';
|
|
3
|
+
import { T as TextSelection, N as NodeSelection, S as Selection, A as AllSelection } from './vendor-prosemirror-state-BvL9Pxph.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
Delete the selection, if there is one.
|
|
7
|
+
*/
|
|
8
|
+
const deleteSelection = (state, dispatch) => {
|
|
9
|
+
if (state.selection.empty)
|
|
10
|
+
return false;
|
|
11
|
+
if (dispatch)
|
|
12
|
+
dispatch(state.tr.deleteSelection().scrollIntoView());
|
|
13
|
+
return true;
|
|
14
|
+
};
|
|
15
|
+
function atBlockStart(state, view) {
|
|
16
|
+
let { $cursor } = state.selection;
|
|
17
|
+
if (!$cursor || (view ? !view.endOfTextblock("backward", state)
|
|
18
|
+
: $cursor.parentOffset > 0))
|
|
19
|
+
return null;
|
|
20
|
+
return $cursor;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
If the selection is empty and at the start of a textblock, try to
|
|
24
|
+
reduce the distance between that block and the one before it—if
|
|
25
|
+
there's a block directly before it that can be joined, join them.
|
|
26
|
+
If not, try to move the selected block closer to the next one in
|
|
27
|
+
the document structure by lifting it out of its parent or moving it
|
|
28
|
+
into a parent of the previous block. Will use the view for accurate
|
|
29
|
+
(bidi-aware) start-of-textblock detection if given.
|
|
30
|
+
*/
|
|
31
|
+
const joinBackward = (state, dispatch, view) => {
|
|
32
|
+
let $cursor = atBlockStart(state, view);
|
|
33
|
+
if (!$cursor)
|
|
34
|
+
return false;
|
|
35
|
+
let $cut = findCutBefore($cursor);
|
|
36
|
+
// If there is no node before this, try to lift
|
|
37
|
+
if (!$cut) {
|
|
38
|
+
let range = $cursor.blockRange(), target = range && liftTarget(range);
|
|
39
|
+
if (target == null)
|
|
40
|
+
return false;
|
|
41
|
+
if (dispatch)
|
|
42
|
+
dispatch(state.tr.lift(range, target).scrollIntoView());
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
let before = $cut.nodeBefore;
|
|
46
|
+
// Apply the joining algorithm
|
|
47
|
+
if (deleteBarrier(state, $cut, dispatch, -1))
|
|
48
|
+
return true;
|
|
49
|
+
// If the node below has no content and the node above is
|
|
50
|
+
// selectable, delete the node below and select the one above.
|
|
51
|
+
if ($cursor.parent.content.size == 0 &&
|
|
52
|
+
(textblockAt(before, "end") || NodeSelection.isSelectable(before))) {
|
|
53
|
+
for (let depth = $cursor.depth;; depth--) {
|
|
54
|
+
let delStep = replaceStep(state.doc, $cursor.before(depth), $cursor.after(depth), Slice.empty);
|
|
55
|
+
if (delStep && delStep.slice.size < delStep.to - delStep.from) {
|
|
56
|
+
if (dispatch) {
|
|
57
|
+
let tr = state.tr.step(delStep);
|
|
58
|
+
tr.setSelection(textblockAt(before, "end")
|
|
59
|
+
? Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos, -1)), -1)
|
|
60
|
+
: NodeSelection.create(tr.doc, $cut.pos - before.nodeSize));
|
|
61
|
+
dispatch(tr.scrollIntoView());
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if (depth == 1 || $cursor.node(depth - 1).childCount > 1)
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// If the node before is an atom, delete it
|
|
70
|
+
if (before.isAtom && $cut.depth == $cursor.depth - 1) {
|
|
71
|
+
if (dispatch)
|
|
72
|
+
dispatch(state.tr.delete($cut.pos - before.nodeSize, $cut.pos).scrollIntoView());
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
A more limited form of [`joinBackward`](https://prosemirror.net/docs/ref/#commands.joinBackward)
|
|
79
|
+
that only tries to join the current textblock to the one before
|
|
80
|
+
it, if the cursor is at the start of a textblock.
|
|
81
|
+
*/
|
|
82
|
+
const joinTextblockBackward = (state, dispatch, view) => {
|
|
83
|
+
let $cursor = atBlockStart(state, view);
|
|
84
|
+
if (!$cursor)
|
|
85
|
+
return false;
|
|
86
|
+
let $cut = findCutBefore($cursor);
|
|
87
|
+
return $cut ? joinTextblocksAround(state, $cut, dispatch) : false;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
A more limited form of [`joinForward`](https://prosemirror.net/docs/ref/#commands.joinForward)
|
|
91
|
+
that only tries to join the current textblock to the one after
|
|
92
|
+
it, if the cursor is at the end of a textblock.
|
|
93
|
+
*/
|
|
94
|
+
const joinTextblockForward = (state, dispatch, view) => {
|
|
95
|
+
let $cursor = atBlockEnd(state, view);
|
|
96
|
+
if (!$cursor)
|
|
97
|
+
return false;
|
|
98
|
+
let $cut = findCutAfter($cursor);
|
|
99
|
+
return $cut ? joinTextblocksAround(state, $cut, dispatch) : false;
|
|
100
|
+
};
|
|
101
|
+
function joinTextblocksAround(state, $cut, dispatch) {
|
|
102
|
+
let before = $cut.nodeBefore, beforeText = before, beforePos = $cut.pos - 1;
|
|
103
|
+
for (; !beforeText.isTextblock; beforePos--) {
|
|
104
|
+
if (beforeText.type.spec.isolating)
|
|
105
|
+
return false;
|
|
106
|
+
let child = beforeText.lastChild;
|
|
107
|
+
if (!child)
|
|
108
|
+
return false;
|
|
109
|
+
beforeText = child;
|
|
110
|
+
}
|
|
111
|
+
let after = $cut.nodeAfter, afterText = after, afterPos = $cut.pos + 1;
|
|
112
|
+
for (; !afterText.isTextblock; afterPos++) {
|
|
113
|
+
if (afterText.type.spec.isolating)
|
|
114
|
+
return false;
|
|
115
|
+
let child = afterText.firstChild;
|
|
116
|
+
if (!child)
|
|
117
|
+
return false;
|
|
118
|
+
afterText = child;
|
|
119
|
+
}
|
|
120
|
+
let step = replaceStep(state.doc, beforePos, afterPos, Slice.empty);
|
|
121
|
+
if (!step || step.from != beforePos ||
|
|
122
|
+
step instanceof ReplaceStep && step.slice.size >= afterPos - beforePos)
|
|
123
|
+
return false;
|
|
124
|
+
if (dispatch) {
|
|
125
|
+
let tr = state.tr.step(step);
|
|
126
|
+
tr.setSelection(TextSelection.create(tr.doc, beforePos));
|
|
127
|
+
dispatch(tr.scrollIntoView());
|
|
128
|
+
}
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
function textblockAt(node, side, only = false) {
|
|
132
|
+
for (let scan = node; scan; scan = (side == "start" ? scan.firstChild : scan.lastChild)) {
|
|
133
|
+
if (scan.isTextblock)
|
|
134
|
+
return true;
|
|
135
|
+
if (only && scan.childCount != 1)
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
When the selection is empty and at the start of a textblock, select
|
|
142
|
+
the node before that textblock, if possible. This is intended to be
|
|
143
|
+
bound to keys like backspace, after
|
|
144
|
+
[`joinBackward`](https://prosemirror.net/docs/ref/#commands.joinBackward) or other deleting
|
|
145
|
+
commands, as a fall-back behavior when the schema doesn't allow
|
|
146
|
+
deletion at the selected point.
|
|
147
|
+
*/
|
|
148
|
+
const selectNodeBackward = (state, dispatch, view) => {
|
|
149
|
+
let { $head, empty } = state.selection, $cut = $head;
|
|
150
|
+
if (!empty)
|
|
151
|
+
return false;
|
|
152
|
+
if ($head.parent.isTextblock) {
|
|
153
|
+
if (view ? !view.endOfTextblock("backward", state) : $head.parentOffset > 0)
|
|
154
|
+
return false;
|
|
155
|
+
$cut = findCutBefore($head);
|
|
156
|
+
}
|
|
157
|
+
let node = $cut && $cut.nodeBefore;
|
|
158
|
+
if (!node || !NodeSelection.isSelectable(node))
|
|
159
|
+
return false;
|
|
160
|
+
if (dispatch)
|
|
161
|
+
dispatch(state.tr.setSelection(NodeSelection.create(state.doc, $cut.pos - node.nodeSize)).scrollIntoView());
|
|
162
|
+
return true;
|
|
163
|
+
};
|
|
164
|
+
function findCutBefore($pos) {
|
|
165
|
+
if (!$pos.parent.type.spec.isolating)
|
|
166
|
+
for (let i = $pos.depth - 1; i >= 0; i--) {
|
|
167
|
+
if ($pos.index(i) > 0)
|
|
168
|
+
return $pos.doc.resolve($pos.before(i + 1));
|
|
169
|
+
if ($pos.node(i).type.spec.isolating)
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
function atBlockEnd(state, view) {
|
|
175
|
+
let { $cursor } = state.selection;
|
|
176
|
+
if (!$cursor || (view ? !view.endOfTextblock("forward", state)
|
|
177
|
+
: $cursor.parentOffset < $cursor.parent.content.size))
|
|
178
|
+
return null;
|
|
179
|
+
return $cursor;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
If the selection is empty and the cursor is at the end of a
|
|
183
|
+
textblock, try to reduce or remove the boundary between that block
|
|
184
|
+
and the one after it, either by joining them or by moving the other
|
|
185
|
+
block closer to this one in the tree structure. Will use the view
|
|
186
|
+
for accurate start-of-textblock detection if given.
|
|
187
|
+
*/
|
|
188
|
+
const joinForward = (state, dispatch, view) => {
|
|
189
|
+
let $cursor = atBlockEnd(state, view);
|
|
190
|
+
if (!$cursor)
|
|
191
|
+
return false;
|
|
192
|
+
let $cut = findCutAfter($cursor);
|
|
193
|
+
// If there is no node after this, there's nothing to do
|
|
194
|
+
if (!$cut)
|
|
195
|
+
return false;
|
|
196
|
+
let after = $cut.nodeAfter;
|
|
197
|
+
// Try the joining algorithm
|
|
198
|
+
if (deleteBarrier(state, $cut, dispatch, 1))
|
|
199
|
+
return true;
|
|
200
|
+
// If the node above has no content and the node below is
|
|
201
|
+
// selectable, delete the node above and select the one below.
|
|
202
|
+
if ($cursor.parent.content.size == 0 &&
|
|
203
|
+
(textblockAt(after, "start") || NodeSelection.isSelectable(after))) {
|
|
204
|
+
let delStep = replaceStep(state.doc, $cursor.before(), $cursor.after(), Slice.empty);
|
|
205
|
+
if (delStep && delStep.slice.size < delStep.to - delStep.from) {
|
|
206
|
+
if (dispatch) {
|
|
207
|
+
let tr = state.tr.step(delStep);
|
|
208
|
+
tr.setSelection(textblockAt(after, "start") ? Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos)), 1)
|
|
209
|
+
: NodeSelection.create(tr.doc, tr.mapping.map($cut.pos)));
|
|
210
|
+
dispatch(tr.scrollIntoView());
|
|
211
|
+
}
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// If the next node is an atom, delete it
|
|
216
|
+
if (after.isAtom && $cut.depth == $cursor.depth - 1) {
|
|
217
|
+
if (dispatch)
|
|
218
|
+
dispatch(state.tr.delete($cut.pos, $cut.pos + after.nodeSize).scrollIntoView());
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
return false;
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
When the selection is empty and at the end of a textblock, select
|
|
225
|
+
the node coming after that textblock, if possible. This is intended
|
|
226
|
+
to be bound to keys like delete, after
|
|
227
|
+
[`joinForward`](https://prosemirror.net/docs/ref/#commands.joinForward) and similar deleting
|
|
228
|
+
commands, to provide a fall-back behavior when the schema doesn't
|
|
229
|
+
allow deletion at the selected point.
|
|
230
|
+
*/
|
|
231
|
+
const selectNodeForward = (state, dispatch, view) => {
|
|
232
|
+
let { $head, empty } = state.selection, $cut = $head;
|
|
233
|
+
if (!empty)
|
|
234
|
+
return false;
|
|
235
|
+
if ($head.parent.isTextblock) {
|
|
236
|
+
if (view ? !view.endOfTextblock("forward", state) : $head.parentOffset < $head.parent.content.size)
|
|
237
|
+
return false;
|
|
238
|
+
$cut = findCutAfter($head);
|
|
239
|
+
}
|
|
240
|
+
let node = $cut && $cut.nodeAfter;
|
|
241
|
+
if (!node || !NodeSelection.isSelectable(node))
|
|
242
|
+
return false;
|
|
243
|
+
if (dispatch)
|
|
244
|
+
dispatch(state.tr.setSelection(NodeSelection.create(state.doc, $cut.pos)).scrollIntoView());
|
|
245
|
+
return true;
|
|
246
|
+
};
|
|
247
|
+
function findCutAfter($pos) {
|
|
248
|
+
if (!$pos.parent.type.spec.isolating)
|
|
249
|
+
for (let i = $pos.depth - 1; i >= 0; i--) {
|
|
250
|
+
let parent = $pos.node(i);
|
|
251
|
+
if ($pos.index(i) + 1 < parent.childCount)
|
|
252
|
+
return $pos.doc.resolve($pos.after(i + 1));
|
|
253
|
+
if (parent.type.spec.isolating)
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
Join the selected block or, if there is a text selection, the
|
|
260
|
+
closest ancestor block of the selection that can be joined, with
|
|
261
|
+
the sibling above it.
|
|
262
|
+
*/
|
|
263
|
+
const joinUp = (state, dispatch) => {
|
|
264
|
+
let sel = state.selection, nodeSel = sel instanceof NodeSelection, point;
|
|
265
|
+
if (nodeSel) {
|
|
266
|
+
if (sel.node.isTextblock || !canJoin(state.doc, sel.from))
|
|
267
|
+
return false;
|
|
268
|
+
point = sel.from;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
point = joinPoint(state.doc, sel.from, -1);
|
|
272
|
+
if (point == null)
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
if (dispatch) {
|
|
276
|
+
let tr = state.tr.join(point);
|
|
277
|
+
if (nodeSel)
|
|
278
|
+
tr.setSelection(NodeSelection.create(tr.doc, point - state.doc.resolve(point).nodeBefore.nodeSize));
|
|
279
|
+
dispatch(tr.scrollIntoView());
|
|
280
|
+
}
|
|
281
|
+
return true;
|
|
282
|
+
};
|
|
283
|
+
/**
|
|
284
|
+
Join the selected block, or the closest ancestor of the selection
|
|
285
|
+
that can be joined, with the sibling after it.
|
|
286
|
+
*/
|
|
287
|
+
const joinDown = (state, dispatch) => {
|
|
288
|
+
let sel = state.selection, point;
|
|
289
|
+
if (sel instanceof NodeSelection) {
|
|
290
|
+
if (sel.node.isTextblock || !canJoin(state.doc, sel.to))
|
|
291
|
+
return false;
|
|
292
|
+
point = sel.to;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
point = joinPoint(state.doc, sel.to, 1);
|
|
296
|
+
if (point == null)
|
|
297
|
+
return false;
|
|
298
|
+
}
|
|
299
|
+
if (dispatch)
|
|
300
|
+
dispatch(state.tr.join(point).scrollIntoView());
|
|
301
|
+
return true;
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
Lift the selected block, or the closest ancestor block of the
|
|
305
|
+
selection that can be lifted, out of its parent node.
|
|
306
|
+
*/
|
|
307
|
+
const lift = (state, dispatch) => {
|
|
308
|
+
let { $from, $to } = state.selection;
|
|
309
|
+
let range = $from.blockRange($to), target = range && liftTarget(range);
|
|
310
|
+
if (target == null)
|
|
311
|
+
return false;
|
|
312
|
+
if (dispatch)
|
|
313
|
+
dispatch(state.tr.lift(range, target).scrollIntoView());
|
|
314
|
+
return true;
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
If the selection is in a node whose type has a truthy
|
|
318
|
+
[`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) property in its spec, replace the
|
|
319
|
+
selection with a newline character.
|
|
320
|
+
*/
|
|
321
|
+
const newlineInCode = (state, dispatch) => {
|
|
322
|
+
let { $head, $anchor } = state.selection;
|
|
323
|
+
if (!$head.parent.type.spec.code || !$head.sameParent($anchor))
|
|
324
|
+
return false;
|
|
325
|
+
if (dispatch)
|
|
326
|
+
dispatch(state.tr.insertText("\n").scrollIntoView());
|
|
327
|
+
return true;
|
|
328
|
+
};
|
|
329
|
+
function defaultBlockAt(match) {
|
|
330
|
+
for (let i = 0; i < match.edgeCount; i++) {
|
|
331
|
+
let { type } = match.edge(i);
|
|
332
|
+
if (type.isTextblock && !type.hasRequiredAttrs())
|
|
333
|
+
return type;
|
|
334
|
+
}
|
|
335
|
+
return null;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
When the selection is in a node with a truthy
|
|
339
|
+
[`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) property in its spec, create a
|
|
340
|
+
default block after the code block, and move the cursor there.
|
|
341
|
+
*/
|
|
342
|
+
const exitCode = (state, dispatch) => {
|
|
343
|
+
let { $head, $anchor } = state.selection;
|
|
344
|
+
if (!$head.parent.type.spec.code || !$head.sameParent($anchor))
|
|
345
|
+
return false;
|
|
346
|
+
let above = $head.node(-1), after = $head.indexAfter(-1), type = defaultBlockAt(above.contentMatchAt(after));
|
|
347
|
+
if (!type || !above.canReplaceWith(after, after, type))
|
|
348
|
+
return false;
|
|
349
|
+
if (dispatch) {
|
|
350
|
+
let pos = $head.after(), tr = state.tr.replaceWith(pos, pos, type.createAndFill());
|
|
351
|
+
tr.setSelection(Selection.near(tr.doc.resolve(pos), 1));
|
|
352
|
+
dispatch(tr.scrollIntoView());
|
|
353
|
+
}
|
|
354
|
+
return true;
|
|
355
|
+
};
|
|
356
|
+
/**
|
|
357
|
+
If a block node is selected, create an empty paragraph before (if
|
|
358
|
+
it is its parent's first child) or after it.
|
|
359
|
+
*/
|
|
360
|
+
const createParagraphNear = (state, dispatch) => {
|
|
361
|
+
let sel = state.selection, { $from, $to } = sel;
|
|
362
|
+
if (sel instanceof AllSelection || $from.parent.inlineContent || $to.parent.inlineContent)
|
|
363
|
+
return false;
|
|
364
|
+
let type = defaultBlockAt($to.parent.contentMatchAt($to.indexAfter()));
|
|
365
|
+
if (!type || !type.isTextblock)
|
|
366
|
+
return false;
|
|
367
|
+
if (dispatch) {
|
|
368
|
+
let side = (!$from.parentOffset && $to.index() < $to.parent.childCount ? $from : $to).pos;
|
|
369
|
+
let tr = state.tr.insert(side, type.createAndFill());
|
|
370
|
+
tr.setSelection(TextSelection.create(tr.doc, side + 1));
|
|
371
|
+
dispatch(tr.scrollIntoView());
|
|
372
|
+
}
|
|
373
|
+
return true;
|
|
374
|
+
};
|
|
375
|
+
/**
|
|
376
|
+
If the cursor is in an empty textblock that can be lifted, lift the
|
|
377
|
+
block.
|
|
378
|
+
*/
|
|
379
|
+
const liftEmptyBlock = (state, dispatch) => {
|
|
380
|
+
let { $cursor } = state.selection;
|
|
381
|
+
if (!$cursor || $cursor.parent.content.size)
|
|
382
|
+
return false;
|
|
383
|
+
if ($cursor.depth > 1 && $cursor.after() != $cursor.end(-1)) {
|
|
384
|
+
let before = $cursor.before();
|
|
385
|
+
if (canSplit(state.doc, before)) {
|
|
386
|
+
if (dispatch)
|
|
387
|
+
dispatch(state.tr.split(before).scrollIntoView());
|
|
388
|
+
return true;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
let range = $cursor.blockRange(), target = range && liftTarget(range);
|
|
392
|
+
if (target == null)
|
|
393
|
+
return false;
|
|
394
|
+
if (dispatch)
|
|
395
|
+
dispatch(state.tr.lift(range, target).scrollIntoView());
|
|
396
|
+
return true;
|
|
397
|
+
};
|
|
398
|
+
/**
|
|
399
|
+
Move the selection to the node wrapping the current selection, if
|
|
400
|
+
any. (Will not select the document node.)
|
|
401
|
+
*/
|
|
402
|
+
const selectParentNode = (state, dispatch) => {
|
|
403
|
+
let { $from, to } = state.selection, pos;
|
|
404
|
+
let same = $from.sharedDepth(to);
|
|
405
|
+
if (same == 0)
|
|
406
|
+
return false;
|
|
407
|
+
pos = $from.before(same);
|
|
408
|
+
if (dispatch)
|
|
409
|
+
dispatch(state.tr.setSelection(NodeSelection.create(state.doc, pos)));
|
|
410
|
+
return true;
|
|
411
|
+
};
|
|
412
|
+
function joinMaybeClear(state, $pos, dispatch) {
|
|
413
|
+
let before = $pos.nodeBefore, after = $pos.nodeAfter, index = $pos.index();
|
|
414
|
+
if (!before || !after || !before.type.compatibleContent(after.type))
|
|
415
|
+
return false;
|
|
416
|
+
if (!before.content.size && $pos.parent.canReplace(index - 1, index)) {
|
|
417
|
+
if (dispatch)
|
|
418
|
+
dispatch(state.tr.delete($pos.pos - before.nodeSize, $pos.pos).scrollIntoView());
|
|
419
|
+
return true;
|
|
420
|
+
}
|
|
421
|
+
if (!$pos.parent.canReplace(index, index + 1) || !(after.isTextblock || canJoin(state.doc, $pos.pos)))
|
|
422
|
+
return false;
|
|
423
|
+
if (dispatch)
|
|
424
|
+
dispatch(state.tr.join($pos.pos).scrollIntoView());
|
|
425
|
+
return true;
|
|
426
|
+
}
|
|
427
|
+
function deleteBarrier(state, $cut, dispatch, dir) {
|
|
428
|
+
let before = $cut.nodeBefore, after = $cut.nodeAfter, conn, match;
|
|
429
|
+
let isolated = before.type.spec.isolating || after.type.spec.isolating;
|
|
430
|
+
if (!isolated && joinMaybeClear(state, $cut, dispatch))
|
|
431
|
+
return true;
|
|
432
|
+
let canDelAfter = !isolated && $cut.parent.canReplace($cut.index(), $cut.index() + 1);
|
|
433
|
+
if (canDelAfter &&
|
|
434
|
+
(conn = (match = before.contentMatchAt(before.childCount)).findWrapping(after.type)) &&
|
|
435
|
+
match.matchType(conn[0] || after.type).validEnd) {
|
|
436
|
+
if (dispatch) {
|
|
437
|
+
let end = $cut.pos + after.nodeSize, wrap = Fragment.empty;
|
|
438
|
+
for (let i = conn.length - 1; i >= 0; i--)
|
|
439
|
+
wrap = Fragment.from(conn[i].create(null, wrap));
|
|
440
|
+
wrap = Fragment.from(before.copy(wrap));
|
|
441
|
+
let tr = state.tr.step(new ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new Slice(wrap, 1, 0), conn.length, true));
|
|
442
|
+
let $joinAt = tr.doc.resolve(end + 2 * conn.length);
|
|
443
|
+
if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type &&
|
|
444
|
+
canJoin(tr.doc, $joinAt.pos))
|
|
445
|
+
tr.join($joinAt.pos);
|
|
446
|
+
dispatch(tr.scrollIntoView());
|
|
447
|
+
}
|
|
448
|
+
return true;
|
|
449
|
+
}
|
|
450
|
+
let selAfter = after.type.spec.isolating || (dir > 0 && isolated) ? null : Selection.findFrom($cut, 1);
|
|
451
|
+
let range = selAfter && selAfter.$from.blockRange(selAfter.$to), target = range && liftTarget(range);
|
|
452
|
+
if (target != null && target >= $cut.depth) {
|
|
453
|
+
if (dispatch)
|
|
454
|
+
dispatch(state.tr.lift(range, target).scrollIntoView());
|
|
455
|
+
return true;
|
|
456
|
+
}
|
|
457
|
+
if (canDelAfter && textblockAt(after, "start", true) && textblockAt(before, "end")) {
|
|
458
|
+
let at = before, wrap = [];
|
|
459
|
+
for (;;) {
|
|
460
|
+
wrap.push(at);
|
|
461
|
+
if (at.isTextblock)
|
|
462
|
+
break;
|
|
463
|
+
at = at.lastChild;
|
|
464
|
+
}
|
|
465
|
+
let afterText = after, afterDepth = 1;
|
|
466
|
+
for (; !afterText.isTextblock; afterText = afterText.firstChild)
|
|
467
|
+
afterDepth++;
|
|
468
|
+
if (at.canReplace(at.childCount, at.childCount, afterText.content)) {
|
|
469
|
+
if (dispatch) {
|
|
470
|
+
let end = Fragment.empty;
|
|
471
|
+
for (let i = wrap.length - 1; i >= 0; i--)
|
|
472
|
+
end = Fragment.from(wrap[i].copy(end));
|
|
473
|
+
let tr = state.tr.step(new ReplaceAroundStep($cut.pos - wrap.length, $cut.pos + after.nodeSize, $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth, new Slice(end, wrap.length, 0), 0, true));
|
|
474
|
+
dispatch(tr.scrollIntoView());
|
|
475
|
+
}
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
return false;
|
|
480
|
+
}
|
|
481
|
+
function selectTextblockSide(side) {
|
|
482
|
+
return function (state, dispatch) {
|
|
483
|
+
let sel = state.selection, $pos = side < 0 ? sel.$from : sel.$to;
|
|
484
|
+
let depth = $pos.depth;
|
|
485
|
+
while ($pos.node(depth).isInline) {
|
|
486
|
+
if (!depth)
|
|
487
|
+
return false;
|
|
488
|
+
depth--;
|
|
489
|
+
}
|
|
490
|
+
if (!$pos.node(depth).isTextblock)
|
|
491
|
+
return false;
|
|
492
|
+
if (dispatch)
|
|
493
|
+
dispatch(state.tr.setSelection(TextSelection.create(state.doc, side < 0 ? $pos.start(depth) : $pos.end(depth))));
|
|
494
|
+
return true;
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
Moves the cursor to the start of current text block.
|
|
499
|
+
*/
|
|
500
|
+
const selectTextblockStart = selectTextblockSide(-1);
|
|
501
|
+
/**
|
|
502
|
+
Moves the cursor to the end of current text block.
|
|
503
|
+
*/
|
|
504
|
+
const selectTextblockEnd = selectTextblockSide(1);
|
|
505
|
+
// Parameterized commands
|
|
506
|
+
/**
|
|
507
|
+
Wrap the selection in a node of the given type with the given
|
|
508
|
+
attributes.
|
|
509
|
+
*/
|
|
510
|
+
function wrapIn(nodeType, attrs = null) {
|
|
511
|
+
return function (state, dispatch) {
|
|
512
|
+
let { $from, $to } = state.selection;
|
|
513
|
+
let range = $from.blockRange($to), wrapping = range && findWrapping(range, nodeType, attrs);
|
|
514
|
+
if (!wrapping)
|
|
515
|
+
return false;
|
|
516
|
+
if (dispatch)
|
|
517
|
+
dispatch(state.tr.wrap(range, wrapping).scrollIntoView());
|
|
518
|
+
return true;
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
Returns a command that tries to set the selected textblocks to the
|
|
523
|
+
given node type with the given attributes.
|
|
524
|
+
*/
|
|
525
|
+
function setBlockType(nodeType, attrs = null) {
|
|
526
|
+
return function (state, dispatch) {
|
|
527
|
+
let applicable = false;
|
|
528
|
+
for (let i = 0; i < state.selection.ranges.length && !applicable; i++) {
|
|
529
|
+
let { $from: { pos: from }, $to: { pos: to } } = state.selection.ranges[i];
|
|
530
|
+
state.doc.nodesBetween(from, to, (node, pos) => {
|
|
531
|
+
if (applicable)
|
|
532
|
+
return false;
|
|
533
|
+
if (!node.isTextblock || node.hasMarkup(nodeType, attrs))
|
|
534
|
+
return;
|
|
535
|
+
if (node.type == nodeType) {
|
|
536
|
+
applicable = true;
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
let $pos = state.doc.resolve(pos), index = $pos.index();
|
|
540
|
+
applicable = $pos.parent.canReplaceWith(index, index + 1, nodeType);
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
if (!applicable)
|
|
545
|
+
return false;
|
|
546
|
+
if (dispatch) {
|
|
547
|
+
let tr = state.tr;
|
|
548
|
+
for (let i = 0; i < state.selection.ranges.length; i++) {
|
|
549
|
+
let { $from: { pos: from }, $to: { pos: to } } = state.selection.ranges[i];
|
|
550
|
+
tr.setBlockType(from, to, nodeType, attrs);
|
|
551
|
+
}
|
|
552
|
+
dispatch(tr.scrollIntoView());
|
|
553
|
+
}
|
|
554
|
+
return true;
|
|
555
|
+
};
|
|
556
|
+
}
|
|
557
|
+
typeof navigator != "undefined" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform)
|
|
558
|
+
// @ts-ignore
|
|
559
|
+
: typeof os != "undefined" && os.platform ? os.platform() == "darwin" : false;
|
|
560
|
+
|
|
561
|
+
export { selectTextblockStart as a, selectTextblockEnd as b, selectParentNode as c, selectNodeForward as d, selectNodeBackward as e, lift as f, joinTextblockForward as g, joinTextblockBackward as h, joinForward as i, joinUp as j, joinDown as k, liftEmptyBlock as l, joinBackward as m, newlineInCode as n, exitCode as o, deleteSelection as p, createParagraphNear as q, setBlockType as s, wrapIn as w };
|