@lotte-innovate/ui-component-test 0.1.76 → 0.1.77
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +9 -11
- package/dist/globals.css +2 -2
- package/dist/lib/_virtual/index.mjs +1 -1
- package/dist/lib/_virtual/index2.mjs +1 -1
- package/dist/lib/_virtual/index3.mjs +1 -1
- package/dist/lib/_virtual/react-is.development.mjs +2 -0
- package/dist/lib/_virtual/react-is.development.mjs.map +1 -0
- package/dist/lib/_virtual/react-is.production.min.mjs +2 -0
- package/dist/lib/_virtual/react-is.production.min.mjs.map +1 -0
- package/dist/lib/components/Editor/index.d.ts +10 -5
- package/dist/lib/components/Editor/index.js +50 -6
- package/dist/lib/components/Footer/index.js +8 -1
- package/dist/lib/components/Gnb/GnbInfo.js +1 -0
- package/dist/lib/components/Gnb/GnbLogo.js +3 -4
- package/dist/lib/components/Gnb/GnbMenu.js +1 -0
- package/dist/lib/components/Gnb/GnbRoot.js +4 -2
- package/dist/lib/components/Grid/Pagination.d.ts +2 -0
- package/dist/lib/components/Grid/Pagination.js +17 -0
- package/dist/lib/components/Grid/index.d.ts +1 -2
- package/dist/lib/components/Grid/index.js +40 -47
- package/dist/lib/components/Grid/useGrid.d.ts +1 -1
- package/dist/lib/components/Grid/useGrid.js +19 -11
- package/dist/lib/components/Slider/index.d.ts +2 -1
- package/dist/lib/components/index.d.ts +2 -1
- package/dist/lib/components/index.js +3 -1
- package/dist/lib/dist/lib/components/BarChart/index.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Breadcrumb/BreadcrumbEllipsis.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Breadcrumb/BreadcrumbItem.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Breadcrumb/BreadcrumbLink.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Breadcrumb/BreadcrumbList.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Breadcrumb/BreadcrumbPage.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Breadcrumb/BreadcrumbSeparator.mjs.map +1 -1
- package/dist/lib/dist/lib/components/BubbleChart/index.mjs.map +1 -1
- package/dist/lib/dist/lib/components/ContextMenu/ContextMenuGroup.mjs.map +1 -1
- package/dist/lib/dist/lib/components/ContextMenu/ContextMenuSeparator.mjs.map +1 -1
- package/dist/lib/dist/lib/components/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Dialog/DialogTrigger.mjs.map +1 -1
- package/dist/lib/dist/lib/components/DoughnutChart/index.mjs.map +1 -1
- package/dist/lib/dist/lib/components/DropdownMenu/DropdonMenuRadioGroup.mjs.map +1 -1
- package/dist/lib/dist/lib/components/DropdownMenu/DropdownMenuSeparator.mjs.map +1 -1
- package/dist/lib/dist/lib/components/DropdownMenu/DropdownMenuSub.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Editor/index.mjs +1 -1
- package/dist/lib/dist/lib/components/Footer/index.mjs +1 -1
- package/dist/lib/dist/lib/components/Gnb/GnbInfo.mjs +1 -0
- package/dist/lib/dist/lib/components/Gnb/GnbInfo.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Gnb/GnbLogo.mjs +1 -1
- package/dist/lib/dist/lib/components/Gnb/GnbLogo.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Gnb/GnbMenu.mjs +2 -1
- package/dist/lib/dist/lib/components/Gnb/GnbMenu.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Gnb/GnbRoot.mjs +1 -1
- package/dist/lib/dist/lib/components/Grid/Pagination.mjs +2 -0
- package/dist/lib/dist/lib/components/Grid/Pagination.mjs.map +1 -0
- package/dist/lib/dist/lib/components/Grid/index.mjs +3 -0
- package/dist/lib/dist/lib/components/Grid/index.mjs.map +1 -0
- package/dist/lib/dist/lib/components/Grid/useGrid.mjs +3 -0
- package/dist/lib/dist/lib/components/Grid/useGrid.mjs.map +1 -0
- package/dist/lib/dist/lib/components/HoverCard/HoverCardTrigger.mjs.map +1 -1
- package/dist/lib/dist/lib/components/LineChart/index.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Menubar/MenubarMenu.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Menubar/MenubarSeparator.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Menubar/MenubarSub.mjs.map +1 -1
- package/dist/lib/dist/lib/components/NavigationMenu/NavigationMenuIndicator.mjs.map +1 -1
- package/dist/lib/dist/lib/components/NavigationMenu/NavigationMenuItem.mjs.map +1 -1
- package/dist/lib/dist/lib/components/PieChart/index.mjs.map +1 -1
- package/dist/lib/dist/lib/components/Popover/PopoverTrigger.mjs.map +1 -1
- package/dist/lib/dist/lib/components/RadarChart/index.mjs.map +1 -1
- package/dist/lib/dist/lib/components/SegmentedControl/SegmentedControlItem.mjs.map +1 -1
- package/dist/lib/dist/lib/constants.mjs +1 -1
- package/dist/lib/dist/lib/constants.mjs.map +1 -1
- package/dist/lib/dist/lib/index.mjs +1 -1
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/ScriptLoader2.mjs +2 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/ScriptLoader2.mjs.map +1 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/TinyMCE.mjs +2 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/TinyMCE.mjs.map +1 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/Utils.mjs +2 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/Utils.mjs.map +1 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/Editor.mjs +2 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/Editor.mjs.map +1 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/EditorPropTypes.mjs +2 -0
- package/dist/lib/node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/EditorPropTypes.mjs.map +1 -0
- package/dist/lib/node_modules/marked/lib/marked.esm.mjs +2 -0
- package/dist/lib/node_modules/marked/lib/marked.esm.mjs.map +1 -0
- package/dist/lib/node_modules/object-assign/index.mjs +7 -0
- package/dist/lib/node_modules/object-assign/index.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/checkPropTypes.mjs +2 -0
- package/dist/lib/node_modules/prop-types/checkPropTypes.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/factoryWithThrowingShims.mjs +2 -0
- package/dist/lib/node_modules/prop-types/factoryWithThrowingShims.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/factoryWithTypeCheckers.mjs +2 -0
- package/dist/lib/node_modules/prop-types/factoryWithTypeCheckers.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/index.mjs +2 -0
- package/dist/lib/node_modules/prop-types/index.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/lib/ReactPropTypesSecret.mjs +2 -0
- package/dist/lib/node_modules/prop-types/lib/ReactPropTypesSecret.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/lib/has.mjs +2 -0
- package/dist/lib/node_modules/prop-types/lib/has.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs +10 -0
- package/dist/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.mjs +10 -0
- package/dist/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.mjs.map +1 -0
- package/dist/lib/node_modules/prop-types/node_modules/react-is/index.mjs +2 -0
- package/dist/lib/node_modules/prop-types/node_modules/react-is/index.mjs.map +1 -0
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/lib/types.d.ts +2 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/dist/lib/_virtual/_commonjsHelpers.mjs +0 -2
- package/dist/lib/_virtual/_commonjsHelpers.mjs.map +0 -1
- package/dist/lib/_virtual/_interop_require_default.mjs +0 -2
- package/dist/lib/_virtual/_interop_require_default.mjs.map +0 -1
- package/dist/lib/_virtual/_interop_require_wildcard.mjs +0 -2
- package/dist/lib/_virtual/_interop_require_wildcard.mjs.map +0 -1
- package/dist/lib/_virtual/action-async-storage.external.mjs +0 -2
- package/dist/lib/_virtual/action-async-storage.external.mjs.map +0 -1
- package/dist/lib/_virtual/add-base-path.mjs +0 -2
- package/dist/lib/_virtual/add-base-path.mjs.map +0 -1
- package/dist/lib/_virtual/add-locale.mjs +0 -2
- package/dist/lib/_virtual/add-locale.mjs.map +0 -1
- package/dist/lib/_virtual/add-locale2.mjs +0 -2
- package/dist/lib/_virtual/add-locale2.mjs.map +0 -1
- package/dist/lib/_virtual/add-path-prefix.mjs +0 -2
- package/dist/lib/_virtual/add-path-prefix.mjs.map +0 -1
- package/dist/lib/_virtual/amp-context.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/amp-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/amp-mode.mjs +0 -2
- package/dist/lib/_virtual/amp-mode.mjs.map +0 -1
- package/dist/lib/_virtual/app-paths.mjs +0 -2
- package/dist/lib/_virtual/app-paths.mjs.map +0 -1
- package/dist/lib/_virtual/app-router-context.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/app-router-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/async-local-storage.mjs +0 -2
- package/dist/lib/_virtual/async-local-storage.mjs.map +0 -1
- package/dist/lib/_virtual/bailout-to-client-rendering.mjs +0 -2
- package/dist/lib/_virtual/bailout-to-client-rendering.mjs.map +0 -1
- package/dist/lib/_virtual/bailout-to-csr.mjs +0 -2
- package/dist/lib/_virtual/bailout-to-csr.mjs.map +0 -1
- package/dist/lib/_virtual/client-hook-in-server-component-error.mjs +0 -2
- package/dist/lib/_virtual/client-hook-in-server-component-error.mjs.map +0 -1
- package/dist/lib/_virtual/detect-domain-locale.mjs +0 -2
- package/dist/lib/_virtual/detect-domain-locale.mjs.map +0 -1
- package/dist/lib/_virtual/detect-domain-locale2.mjs +0 -2
- package/dist/lib/_virtual/detect-domain-locale2.mjs.map +0 -1
- package/dist/lib/_virtual/ensure-leading-slash.mjs +0 -2
- package/dist/lib/_virtual/ensure-leading-slash.mjs.map +0 -1
- package/dist/lib/_virtual/escape-regexp.mjs +0 -2
- package/dist/lib/_virtual/escape-regexp.mjs.map +0 -1
- package/dist/lib/_virtual/format-url.mjs +0 -2
- package/dist/lib/_virtual/format-url.mjs.map +0 -1
- package/dist/lib/_virtual/get-domain-locale.mjs +0 -2
- package/dist/lib/_virtual/get-domain-locale.mjs.map +0 -1
- package/dist/lib/_virtual/get-img-props.mjs +0 -2
- package/dist/lib/_virtual/get-img-props.mjs.map +0 -1
- package/dist/lib/_virtual/get-segment-value.mjs +0 -2
- package/dist/lib/_virtual/get-segment-value.mjs.map +0 -1
- package/dist/lib/_virtual/has-base-path.mjs +0 -2
- package/dist/lib/_virtual/has-base-path.mjs.map +0 -1
- package/dist/lib/_virtual/head-manager-context.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/head-manager-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/head.mjs +0 -2
- package/dist/lib/_virtual/head.mjs.map +0 -1
- package/dist/lib/_virtual/hooks-client-context.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/hooks-client-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/image-blur-svg.mjs +0 -2
- package/dist/lib/_virtual/image-blur-svg.mjs.map +0 -1
- package/dist/lib/_virtual/image-component.mjs +0 -2
- package/dist/lib/_virtual/image-component.mjs.map +0 -1
- package/dist/lib/_virtual/image-config-context.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/image-config-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/image-config.mjs +0 -2
- package/dist/lib/_virtual/image-config.mjs.map +0 -1
- package/dist/lib/_virtual/image-external.mjs +0 -2
- package/dist/lib/_virtual/image-external.mjs.map +0 -1
- package/dist/lib/_virtual/image-loader.mjs +0 -2
- package/dist/lib/_virtual/image-loader.mjs.map +0 -1
- package/dist/lib/_virtual/image.mjs +0 -2
- package/dist/lib/_virtual/image.mjs.map +0 -1
- package/dist/lib/_virtual/index4.mjs +0 -2
- package/dist/lib/_virtual/index4.mjs.map +0 -1
- package/dist/lib/_virtual/index5.mjs +0 -2
- package/dist/lib/_virtual/index5.mjs.map +0 -1
- package/dist/lib/_virtual/index6.mjs +0 -2
- package/dist/lib/_virtual/index6.mjs.map +0 -1
- package/dist/lib/_virtual/index7.mjs +0 -2
- package/dist/lib/_virtual/index7.mjs.map +0 -1
- package/dist/lib/_virtual/index8.mjs +0 -2
- package/dist/lib/_virtual/index8.mjs.map +0 -1
- package/dist/lib/_virtual/index9.mjs +0 -2
- package/dist/lib/_virtual/index9.mjs.map +0 -1
- package/dist/lib/_virtual/interception-routes.mjs +0 -2
- package/dist/lib/_virtual/interception-routes.mjs.map +0 -1
- package/dist/lib/_virtual/interpolate-as.mjs +0 -2
- package/dist/lib/_virtual/interpolate-as.mjs.map +0 -1
- package/dist/lib/_virtual/is-dynamic.mjs +0 -2
- package/dist/lib/_virtual/is-dynamic.mjs.map +0 -1
- package/dist/lib/_virtual/is-local-url.mjs +0 -2
- package/dist/lib/_virtual/is-local-url.mjs.map +0 -1
- package/dist/lib/_virtual/link.mjs +0 -2
- package/dist/lib/_virtual/link.mjs.map +0 -1
- package/dist/lib/_virtual/link2.mjs +0 -2
- package/dist/lib/_virtual/link2.mjs.map +0 -1
- package/dist/lib/_virtual/match-remote-pattern.mjs +0 -2
- package/dist/lib/_virtual/match-remote-pattern.mjs.map +0 -1
- package/dist/lib/_virtual/navigation.mjs +0 -2
- package/dist/lib/_virtual/navigation.mjs.map +0 -1
- package/dist/lib/_virtual/navigation2.mjs +0 -2
- package/dist/lib/_virtual/navigation2.mjs.map +0 -1
- package/dist/lib/_virtual/normalize-locale-path.mjs +0 -2
- package/dist/lib/_virtual/normalize-locale-path.mjs.map +0 -1
- package/dist/lib/_virtual/normalize-locale-path2.mjs +0 -2
- package/dist/lib/_virtual/normalize-locale-path2.mjs.map +0 -1
- package/dist/lib/_virtual/normalize-trailing-slash.mjs +0 -2
- package/dist/lib/_virtual/normalize-trailing-slash.mjs.map +0 -1
- package/dist/lib/_virtual/not-found.mjs +0 -2
- package/dist/lib/_virtual/not-found.mjs.map +0 -1
- package/dist/lib/_virtual/omit.mjs +0 -2
- package/dist/lib/_virtual/omit.mjs.map +0 -1
- package/dist/lib/_virtual/parse-path.mjs +0 -2
- package/dist/lib/_virtual/parse-path.mjs.map +0 -1
- package/dist/lib/_virtual/path-has-prefix.mjs +0 -2
- package/dist/lib/_virtual/path-has-prefix.mjs.map +0 -1
- package/dist/lib/_virtual/querystring.mjs +0 -2
- package/dist/lib/_virtual/querystring.mjs.map +0 -1
- package/dist/lib/_virtual/redirect-status-code.mjs +0 -2
- package/dist/lib/_virtual/redirect-status-code.mjs.map +0 -1
- package/dist/lib/_virtual/redirect.mjs +0 -2
- package/dist/lib/_virtual/redirect.mjs.map +0 -1
- package/dist/lib/_virtual/remove-trailing-slash.mjs +0 -2
- package/dist/lib/_virtual/remove-trailing-slash.mjs.map +0 -1
- package/dist/lib/_virtual/request-async-storage.external.mjs +0 -2
- package/dist/lib/_virtual/request-async-storage.external.mjs.map +0 -1
- package/dist/lib/_virtual/request-idle-callback.mjs +0 -2
- package/dist/lib/_virtual/request-idle-callback.mjs.map +0 -1
- package/dist/lib/_virtual/resolve-href.mjs +0 -2
- package/dist/lib/_virtual/resolve-href.mjs.map +0 -1
- package/dist/lib/_virtual/route-matcher.mjs +0 -2
- package/dist/lib/_virtual/route-matcher.mjs.map +0 -1
- package/dist/lib/_virtual/route-regex.mjs +0 -2
- package/dist/lib/_virtual/route-regex.mjs.map +0 -1
- package/dist/lib/_virtual/router-context.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/router-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/router-reducer-types.mjs +0 -2
- package/dist/lib/_virtual/router-reducer-types.mjs.map +0 -1
- package/dist/lib/_virtual/segment.mjs +0 -2
- package/dist/lib/_virtual/segment.mjs.map +0 -1
- package/dist/lib/_virtual/server-inserted-html.shared-runtime.mjs +0 -2
- package/dist/lib/_virtual/server-inserted-html.shared-runtime.mjs.map +0 -1
- package/dist/lib/_virtual/side-effect.mjs +0 -2
- package/dist/lib/_virtual/side-effect.mjs.map +0 -1
- package/dist/lib/_virtual/sorted-routes.mjs +0 -2
- package/dist/lib/_virtual/sorted-routes.mjs.map +0 -1
- package/dist/lib/_virtual/static-generation-async-storage.external.mjs +0 -2
- package/dist/lib/_virtual/static-generation-async-storage.external.mjs.map +0 -1
- package/dist/lib/_virtual/toastui-editor-plugin-color-syntax.mjs +0 -2
- package/dist/lib/_virtual/toastui-editor-plugin-color-syntax.mjs.map +0 -1
- package/dist/lib/_virtual/toastui-editor-plugin-color-syntax2.mjs +0 -2
- package/dist/lib/_virtual/toastui-editor-plugin-color-syntax2.mjs.map +0 -1
- package/dist/lib/_virtual/toastui-editor-viewer.mjs +0 -2
- package/dist/lib/_virtual/toastui-editor-viewer.mjs.map +0 -1
- package/dist/lib/_virtual/toastui-editor-viewer2.mjs +0 -2
- package/dist/lib/_virtual/toastui-editor-viewer2.mjs.map +0 -1
- package/dist/lib/_virtual/tui-color-picker.mjs +0 -2
- package/dist/lib/_virtual/tui-color-picker.mjs.map +0 -1
- package/dist/lib/_virtual/use-intersection.mjs +0 -2
- package/dist/lib/_virtual/use-intersection.mjs.map +0 -1
- package/dist/lib/_virtual/utils.mjs +0 -2
- package/dist/lib/_virtual/utils.mjs.map +0 -1
- package/dist/lib/_virtual/warn-once.mjs +0 -2
- package/dist/lib/_virtual/warn-once.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineConnector.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineConnector.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineContent.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineContent.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineDescription.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineDescription.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineHeader.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineHeader.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineIcon.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineIcon.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineItem.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineItem.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineRoot.mjs +0 -3
- package/dist/lib/dist/lib/components/Timeline/TimelineRoot.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineTime.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineTime.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/TimelineTitle.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/TimelineTitle.mjs.map +0 -1
- package/dist/lib/dist/lib/components/Timeline/index.mjs +0 -2
- package/dist/lib/dist/lib/components/Timeline/index.mjs.map +0 -1
- package/dist/lib/node_modules/@swc/helpers/cjs/_interop_require_default.mjs +0 -2
- package/dist/lib/node_modules/@swc/helpers/cjs/_interop_require_default.mjs.map +0 -1
- package/dist/lib/node_modules/@swc/helpers/cjs/_interop_require_wildcard.mjs +0 -2
- package/dist/lib/node_modules/@swc/helpers/cjs/_interop_require_wildcard.mjs.map +0 -1
- package/dist/lib/node_modules/@toast-ui/editor/dist/esm/index.mjs +0 -37
- package/dist/lib/node_modules/@toast-ui/editor/dist/esm/index.mjs.map +0 -1
- package/dist/lib/node_modules/@toast-ui/editor/dist/toastui-editor-viewer.mjs +0 -24
- package/dist/lib/node_modules/@toast-ui/editor/dist/toastui-editor-viewer.mjs.map +0 -1
- package/dist/lib/node_modules/@toast-ui/editor-plugin-color-syntax/dist/toastui-editor-plugin-color-syntax.mjs +0 -8
- package/dist/lib/node_modules/@toast-ui/editor-plugin-color-syntax/dist/toastui-editor-plugin-color-syntax.mjs.map +0 -1
- package/dist/lib/node_modules/@toast-ui/react-editor/dist/esm/index.mjs +0 -22
- package/dist/lib/node_modules/@toast-ui/react-editor/dist/esm/index.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/add-base-path.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/add-base-path.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/add-locale.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/add-locale.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/action-async-storage.external.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/action-async-storage.external.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/async-local-storage.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/async-local-storage.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/bailout-to-client-rendering.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/bailout-to-client-rendering.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/client-hook-in-server-component-error.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/client-hook-in-server-component-error.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/navigation.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/navigation.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/not-found.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/not-found.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/redirect-status-code.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/redirect-status-code.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/redirect.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/redirect.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/request-async-storage.external.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/request-async-storage.external.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/router-reducer/router-reducer-types.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/router-reducer/router-reducer-types.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/components/static-generation-async-storage.external.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/components/static-generation-async-storage.external.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/detect-domain-locale.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/detect-domain-locale.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/get-domain-locale.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/get-domain-locale.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/has-base-path.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/has-base-path.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/image-component.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/image-component.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/link.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/link.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/normalize-locale-path.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/normalize-locale-path.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/normalize-trailing-slash.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/normalize-trailing-slash.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/request-idle-callback.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/request-idle-callback.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/resolve-href.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/resolve-href.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/client/use-intersection.mjs +0 -2
- package/dist/lib/node_modules/next/dist/client/use-intersection.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/compiled/micromatch/index.mjs +0 -23
- package/dist/lib/node_modules/next/dist/compiled/micromatch/index.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/server/future/helpers/interception-routes.mjs +0 -2
- package/dist/lib/node_modules/next/dist/server/future/helpers/interception-routes.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/amp-context.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/amp-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/amp-mode.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/amp-mode.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/escape-regexp.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/escape-regexp.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/get-img-props.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/get-img-props.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/head.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/head.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/image-blur-svg.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/image-blur-svg.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/image-config.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/image-config.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/image-external.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/image-external.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/image-loader.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/image-loader.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/match-remote-pattern.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/match-remote-pattern.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/add-locale.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/add-locale.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/app-paths.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/app-paths.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/format-url.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/format-url.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/index.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/index.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/interpolate-as.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/interpolate-as.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/is-dynamic.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/is-dynamic.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/is-local-url.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/is-local-url.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/omit.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/omit.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/parse-path.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/parse-path.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/querystring.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/querystring.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/route-matcher.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/route-matcher.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/route-regex.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/route-regex.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/sorted-routes.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router/utils/sorted-routes.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/router-context.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/router-context.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/segment.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/segment.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/side-effect.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/side-effect.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/utils/warn-once.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/utils/warn-once.mjs.map +0 -1
- package/dist/lib/node_modules/next/dist/shared/lib/utils.mjs +0 -2
- package/dist/lib/node_modules/next/dist/shared/lib/utils.mjs.map +0 -1
- package/dist/lib/node_modules/next/image.mjs +0 -2
- package/dist/lib/node_modules/next/image.mjs.map +0 -1
- package/dist/lib/node_modules/next/link.mjs +0 -2
- package/dist/lib/node_modules/next/link.mjs.map +0 -1
- package/dist/lib/node_modules/next/navigation.mjs +0 -2
- package/dist/lib/node_modules/next/navigation.mjs.map +0 -1
- package/dist/lib/node_modules/orderedmap/dist/index.mjs +0 -2
- package/dist/lib/node_modules/orderedmap/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/orderedmap/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/orderedmap/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-commands/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-commands/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-history/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-history/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-inputrules/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-inputrules/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-inputrules/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-inputrules/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-keymap/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-keymap/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-keymap/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-keymap/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-model/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-model/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-model/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-model/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-state/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-state/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-state/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-state/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-transform/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-transform/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-transform/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-transform/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-view/dist/index.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-view/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/prosemirror-view/dist/index2.mjs +0 -2
- package/dist/lib/node_modules/prosemirror-view/dist/index2.mjs.map +0 -1
- package/dist/lib/node_modules/rope-sequence/dist/index.mjs +0 -2
- package/dist/lib/node_modules/rope-sequence/dist/index.mjs.map +0 -1
- package/dist/lib/node_modules/tui-color-picker/dist/tui-color-picker.mjs +0 -10
- package/dist/lib/node_modules/tui-color-picker/dist/tui-color-picker.mjs.map +0 -1
- package/dist/lib/node_modules/w3c-keyname/index.mjs +0 -2
- package/dist/lib/node_modules/w3c-keyname/index.mjs.map +0 -1
- package/dist/lib/node_modules/w3c-keyname/index2.mjs +0 -2
- package/dist/lib/node_modules/w3c-keyname/index2.mjs.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../node_modules/prosemirror-state/dist/index.cjs"],"sourcesContent":["'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar prosemirrorModel = require('prosemirror-model');\n\nvar prosemirrorTransform = require('prosemirror-transform');\n\nvar classesById = Object.create(null);\n\nvar Selection = function () {\n function Selection($anchor, $head, ranges) {\n _classCallCheck(this, Selection);\n\n this.$anchor = $anchor;\n this.$head = $head;\n this.ranges = ranges || [new SelectionRange($anchor.min($head), $anchor.max($head))];\n }\n\n _createClass(Selection, [{\n key: \"anchor\",\n get: function get() {\n return this.$anchor.pos;\n }\n }, {\n key: \"head\",\n get: function get() {\n return this.$head.pos;\n }\n }, {\n key: \"from\",\n get: function get() {\n return this.$from.pos;\n }\n }, {\n key: \"to\",\n get: function get() {\n return this.$to.pos;\n }\n }, {\n key: \"$from\",\n get: function get() {\n return this.ranges[0].$from;\n }\n }, {\n key: \"$to\",\n get: function get() {\n return this.ranges[0].$to;\n }\n }, {\n key: \"empty\",\n get: function get() {\n var ranges = this.ranges;\n\n for (var i = 0; i < ranges.length; i++) {\n if (ranges[i].$from.pos != ranges[i].$to.pos) return false;\n }\n\n return true;\n }\n }, {\n key: \"content\",\n value: function content() {\n return this.$from.doc.slice(this.from, this.to, true);\n }\n }, {\n key: \"replace\",\n value: function replace(tr) {\n var content = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prosemirrorModel.Slice.empty;\n var lastNode = content.content.lastChild,\n lastParent = null;\n\n for (var i = 0; i < content.openEnd; i++) {\n lastParent = lastNode;\n lastNode = lastNode.lastChild;\n }\n\n var mapFrom = tr.steps.length,\n ranges = this.ranges;\n\n for (var _i = 0; _i < ranges.length; _i++) {\n var _ranges$_i = ranges[_i],\n $from = _ranges$_i.$from,\n $to = _ranges$_i.$to,\n mapping = tr.mapping.slice(mapFrom);\n tr.replaceRange(mapping.map($from.pos), mapping.map($to.pos), _i ? prosemirrorModel.Slice.empty : content);\n if (_i == 0) selectionToInsertionEnd(tr, mapFrom, (lastNode ? lastNode.isInline : lastParent && lastParent.isTextblock) ? -1 : 1);\n }\n }\n }, {\n key: \"replaceWith\",\n value: function replaceWith(tr, node) {\n var mapFrom = tr.steps.length,\n ranges = this.ranges;\n\n for (var i = 0; i < ranges.length; i++) {\n var _ranges$i = ranges[i],\n $from = _ranges$i.$from,\n $to = _ranges$i.$to,\n mapping = tr.mapping.slice(mapFrom);\n var from = mapping.map($from.pos),\n to = mapping.map($to.pos);\n\n if (i) {\n tr.deleteRange(from, to);\n } else {\n tr.replaceRangeWith(from, to, node);\n selectionToInsertionEnd(tr, mapFrom, node.isInline ? -1 : 1);\n }\n }\n }\n }, {\n key: \"getBookmark\",\n value: function getBookmark() {\n return TextSelection.between(this.$anchor, this.$head).getBookmark();\n }\n }], [{\n key: \"findFrom\",\n value: function findFrom($pos, dir) {\n var textOnly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var inner = $pos.parent.inlineContent ? new TextSelection($pos) : findSelectionIn($pos.node(0), $pos.parent, $pos.pos, $pos.index(), dir, textOnly);\n if (inner) return inner;\n\n for (var depth = $pos.depth - 1; depth >= 0; depth--) {\n var found = dir < 0 ? findSelectionIn($pos.node(0), $pos.node(depth), $pos.before(depth + 1), $pos.index(depth), dir, textOnly) : findSelectionIn($pos.node(0), $pos.node(depth), $pos.after(depth + 1), $pos.index(depth) + 1, dir, textOnly);\n if (found) return found;\n }\n\n return null;\n }\n }, {\n key: \"near\",\n value: function near($pos) {\n var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return this.findFrom($pos, bias) || this.findFrom($pos, -bias) || new AllSelection($pos.node(0));\n }\n }, {\n key: \"atStart\",\n value: function atStart(doc) {\n return findSelectionIn(doc, doc, 0, 0, 1) || new AllSelection(doc);\n }\n }, {\n key: \"atEnd\",\n value: function atEnd(doc) {\n return findSelectionIn(doc, doc, doc.content.size, doc.childCount, -1) || new AllSelection(doc);\n }\n }, {\n key: \"fromJSON\",\n value: function fromJSON(doc, json) {\n if (!json || !json.type) throw new RangeError(\"Invalid input for Selection.fromJSON\");\n var cls = classesById[json.type];\n if (!cls) throw new RangeError(\"No selection type \".concat(json.type, \" defined\"));\n return cls.fromJSON(doc, json);\n }\n }, {\n key: \"jsonID\",\n value: function jsonID(id, selectionClass) {\n if (id in classesById) throw new RangeError(\"Duplicate use of selection JSON ID \" + id);\n classesById[id] = selectionClass;\n selectionClass.prototype.jsonID = id;\n return selectionClass;\n }\n }]);\n\n return Selection;\n}();\n\nSelection.prototype.visible = true;\n\nvar SelectionRange = _createClass(function SelectionRange($from, $to) {\n _classCallCheck(this, SelectionRange);\n\n this.$from = $from;\n this.$to = $to;\n});\n\nvar warnedAboutTextSelection = false;\n\nfunction checkTextSelection($pos) {\n if (!warnedAboutTextSelection && !$pos.parent.inlineContent) {\n warnedAboutTextSelection = true;\n console[\"warn\"](\"TextSelection endpoint not pointing into a node with inline content (\" + $pos.parent.type.name + \")\");\n }\n}\n\nvar TextSelection = function (_Selection) {\n _inherits(TextSelection, _Selection);\n\n var _super = _createSuper(TextSelection);\n\n function TextSelection($anchor) {\n var $head = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : $anchor;\n\n _classCallCheck(this, TextSelection);\n\n checkTextSelection($anchor);\n checkTextSelection($head);\n return _super.call(this, $anchor, $head);\n }\n\n _createClass(TextSelection, [{\n key: \"$cursor\",\n get: function get() {\n return this.$anchor.pos == this.$head.pos ? this.$head : null;\n }\n }, {\n key: \"map\",\n value: function map(doc, mapping) {\n var $head = doc.resolve(mapping.map(this.head));\n if (!$head.parent.inlineContent) return Selection.near($head);\n var $anchor = doc.resolve(mapping.map(this.anchor));\n return new TextSelection($anchor.parent.inlineContent ? $anchor : $head, $head);\n }\n }, {\n key: \"replace\",\n value: function replace(tr) {\n var content = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prosemirrorModel.Slice.empty;\n\n _get(_getPrototypeOf(TextSelection.prototype), \"replace\", this).call(this, tr, content);\n\n if (content == prosemirrorModel.Slice.empty) {\n var marks = this.$from.marksAcross(this.$to);\n if (marks) tr.ensureMarks(marks);\n }\n }\n }, {\n key: \"eq\",\n value: function eq(other) {\n return other instanceof TextSelection && other.anchor == this.anchor && other.head == this.head;\n }\n }, {\n key: \"getBookmark\",\n value: function getBookmark() {\n return new TextBookmark(this.anchor, this.head);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n type: \"text\",\n anchor: this.anchor,\n head: this.head\n };\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(doc, json) {\n if (typeof json.anchor != \"number\" || typeof json.head != \"number\") throw new RangeError(\"Invalid input for TextSelection.fromJSON\");\n return new TextSelection(doc.resolve(json.anchor), doc.resolve(json.head));\n }\n }, {\n key: \"create\",\n value: function create(doc, anchor) {\n var head = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : anchor;\n var $anchor = doc.resolve(anchor);\n return new this($anchor, head == anchor ? $anchor : doc.resolve(head));\n }\n }, {\n key: \"between\",\n value: function between($anchor, $head, bias) {\n var dPos = $anchor.pos - $head.pos;\n if (!bias || dPos) bias = dPos >= 0 ? 1 : -1;\n\n if (!$head.parent.inlineContent) {\n var found = Selection.findFrom($head, bias, true) || Selection.findFrom($head, -bias, true);\n if (found) $head = found.$head;else return Selection.near($head, bias);\n }\n\n if (!$anchor.parent.inlineContent) {\n if (dPos == 0) {\n $anchor = $head;\n } else {\n $anchor = (Selection.findFrom($anchor, -bias, true) || Selection.findFrom($anchor, bias, true)).$anchor;\n if ($anchor.pos < $head.pos != dPos < 0) $anchor = $head;\n }\n }\n\n return new TextSelection($anchor, $head);\n }\n }]);\n\n return TextSelection;\n}(Selection);\n\nSelection.jsonID(\"text\", TextSelection);\n\nvar TextBookmark = function () {\n function TextBookmark(anchor, head) {\n _classCallCheck(this, TextBookmark);\n\n this.anchor = anchor;\n this.head = head;\n }\n\n _createClass(TextBookmark, [{\n key: \"map\",\n value: function map(mapping) {\n return new TextBookmark(mapping.map(this.anchor), mapping.map(this.head));\n }\n }, {\n key: \"resolve\",\n value: function resolve(doc) {\n return TextSelection.between(doc.resolve(this.anchor), doc.resolve(this.head));\n }\n }]);\n\n return TextBookmark;\n}();\n\nvar NodeSelection = function (_Selection2) {\n _inherits(NodeSelection, _Selection2);\n\n var _super2 = _createSuper(NodeSelection);\n\n function NodeSelection($pos) {\n var _this;\n\n _classCallCheck(this, NodeSelection);\n\n var node = $pos.nodeAfter;\n var $end = $pos.node(0).resolve($pos.pos + node.nodeSize);\n _this = _super2.call(this, $pos, $end);\n _this.node = node;\n return _this;\n }\n\n _createClass(NodeSelection, [{\n key: \"map\",\n value: function map(doc, mapping) {\n var _mapping$mapResult = mapping.mapResult(this.anchor),\n deleted = _mapping$mapResult.deleted,\n pos = _mapping$mapResult.pos;\n\n var $pos = doc.resolve(pos);\n if (deleted) return Selection.near($pos);\n return new NodeSelection($pos);\n }\n }, {\n key: \"content\",\n value: function content() {\n return new prosemirrorModel.Slice(prosemirrorModel.Fragment.from(this.node), 0, 0);\n }\n }, {\n key: \"eq\",\n value: function eq(other) {\n return other instanceof NodeSelection && other.anchor == this.anchor;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n type: \"node\",\n anchor: this.anchor\n };\n }\n }, {\n key: \"getBookmark\",\n value: function getBookmark() {\n return new NodeBookmark(this.anchor);\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(doc, json) {\n if (typeof json.anchor != \"number\") throw new RangeError(\"Invalid input for NodeSelection.fromJSON\");\n return new NodeSelection(doc.resolve(json.anchor));\n }\n }, {\n key: \"create\",\n value: function create(doc, from) {\n return new NodeSelection(doc.resolve(from));\n }\n }, {\n key: \"isSelectable\",\n value: function isSelectable(node) {\n return !node.isText && node.type.spec.selectable !== false;\n }\n }]);\n\n return NodeSelection;\n}(Selection);\n\nNodeSelection.prototype.visible = false;\nSelection.jsonID(\"node\", NodeSelection);\n\nvar NodeBookmark = function () {\n function NodeBookmark(anchor) {\n _classCallCheck(this, NodeBookmark);\n\n this.anchor = anchor;\n }\n\n _createClass(NodeBookmark, [{\n key: \"map\",\n value: function map(mapping) {\n var _mapping$mapResult2 = mapping.mapResult(this.anchor),\n deleted = _mapping$mapResult2.deleted,\n pos = _mapping$mapResult2.pos;\n\n return deleted ? new TextBookmark(pos, pos) : new NodeBookmark(pos);\n }\n }, {\n key: \"resolve\",\n value: function resolve(doc) {\n var $pos = doc.resolve(this.anchor),\n node = $pos.nodeAfter;\n if (node && NodeSelection.isSelectable(node)) return new NodeSelection($pos);\n return Selection.near($pos);\n }\n }]);\n\n return NodeBookmark;\n}();\n\nvar AllSelection = function (_Selection3) {\n _inherits(AllSelection, _Selection3);\n\n var _super3 = _createSuper(AllSelection);\n\n function AllSelection(doc) {\n _classCallCheck(this, AllSelection);\n\n return _super3.call(this, doc.resolve(0), doc.resolve(doc.content.size));\n }\n\n _createClass(AllSelection, [{\n key: \"replace\",\n value: function replace(tr) {\n var content = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : prosemirrorModel.Slice.empty;\n\n if (content == prosemirrorModel.Slice.empty) {\n tr[\"delete\"](0, tr.doc.content.size);\n var sel = Selection.atStart(tr.doc);\n if (!sel.eq(tr.selection)) tr.setSelection(sel);\n } else {\n _get(_getPrototypeOf(AllSelection.prototype), \"replace\", this).call(this, tr, content);\n }\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n type: \"all\"\n };\n }\n }, {\n key: \"map\",\n value: function map(doc) {\n return new AllSelection(doc);\n }\n }, {\n key: \"eq\",\n value: function eq(other) {\n return other instanceof AllSelection;\n }\n }, {\n key: \"getBookmark\",\n value: function getBookmark() {\n return AllBookmark;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(doc) {\n return new AllSelection(doc);\n }\n }]);\n\n return AllSelection;\n}(Selection);\n\nSelection.jsonID(\"all\", AllSelection);\nvar AllBookmark = {\n map: function map() {\n return this;\n },\n resolve: function resolve(doc) {\n return new AllSelection(doc);\n }\n};\n\nfunction findSelectionIn(doc, node, pos, index, dir) {\n var text = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n if (node.inlineContent) return TextSelection.create(doc, pos);\n\n for (var i = index - (dir > 0 ? 0 : 1); dir > 0 ? i < node.childCount : i >= 0; i += dir) {\n var child = node.child(i);\n\n if (!child.isAtom) {\n var inner = findSelectionIn(doc, child, pos + dir, dir < 0 ? child.childCount : 0, dir, text);\n if (inner) return inner;\n } else if (!text && NodeSelection.isSelectable(child)) {\n return NodeSelection.create(doc, pos - (dir < 0 ? child.nodeSize : 0));\n }\n\n pos += child.nodeSize * dir;\n }\n\n return null;\n}\n\nfunction selectionToInsertionEnd(tr, startLen, bias) {\n var last = tr.steps.length - 1;\n if (last < startLen) return;\n var step = tr.steps[last];\n if (!(step instanceof prosemirrorTransform.ReplaceStep || step instanceof prosemirrorTransform.ReplaceAroundStep)) return;\n var map = tr.mapping.maps[last],\n end;\n map.forEach(function (_from, _to, _newFrom, newTo) {\n if (end == null) end = newTo;\n });\n tr.setSelection(Selection.near(tr.doc.resolve(end), bias));\n}\n\nvar UPDATED_SEL = 1,\n UPDATED_MARKS = 2,\n UPDATED_SCROLL = 4;\n\nvar Transaction = function (_prosemirrorTransform) {\n _inherits(Transaction, _prosemirrorTransform);\n\n var _super4 = _createSuper(Transaction);\n\n function Transaction(state) {\n var _this2;\n\n _classCallCheck(this, Transaction);\n\n _this2 = _super4.call(this, state.doc);\n _this2.curSelectionFor = 0;\n _this2.updated = 0;\n _this2.meta = Object.create(null);\n _this2.time = Date.now();\n _this2.curSelection = state.selection;\n _this2.storedMarks = state.storedMarks;\n return _this2;\n }\n\n _createClass(Transaction, [{\n key: \"selection\",\n get: function get() {\n if (this.curSelectionFor < this.steps.length) {\n this.curSelection = this.curSelection.map(this.doc, this.mapping.slice(this.curSelectionFor));\n this.curSelectionFor = this.steps.length;\n }\n\n return this.curSelection;\n }\n }, {\n key: \"setSelection\",\n value: function setSelection(selection) {\n if (selection.$from.doc != this.doc) throw new RangeError(\"Selection passed to setSelection must point at the current document\");\n this.curSelection = selection;\n this.curSelectionFor = this.steps.length;\n this.updated = (this.updated | UPDATED_SEL) & ~UPDATED_MARKS;\n this.storedMarks = null;\n return this;\n }\n }, {\n key: \"selectionSet\",\n get: function get() {\n return (this.updated & UPDATED_SEL) > 0;\n }\n }, {\n key: \"setStoredMarks\",\n value: function setStoredMarks(marks) {\n this.storedMarks = marks;\n this.updated |= UPDATED_MARKS;\n return this;\n }\n }, {\n key: \"ensureMarks\",\n value: function ensureMarks(marks) {\n if (!prosemirrorModel.Mark.sameSet(this.storedMarks || this.selection.$from.marks(), marks)) this.setStoredMarks(marks);\n return this;\n }\n }, {\n key: \"addStoredMark\",\n value: function addStoredMark(mark) {\n return this.ensureMarks(mark.addToSet(this.storedMarks || this.selection.$head.marks()));\n }\n }, {\n key: \"removeStoredMark\",\n value: function removeStoredMark(mark) {\n return this.ensureMarks(mark.removeFromSet(this.storedMarks || this.selection.$head.marks()));\n }\n }, {\n key: \"storedMarksSet\",\n get: function get() {\n return (this.updated & UPDATED_MARKS) > 0;\n }\n }, {\n key: \"addStep\",\n value: function addStep(step, doc) {\n _get(_getPrototypeOf(Transaction.prototype), \"addStep\", this).call(this, step, doc);\n\n this.updated = this.updated & ~UPDATED_MARKS;\n this.storedMarks = null;\n }\n }, {\n key: \"setTime\",\n value: function setTime(time) {\n this.time = time;\n return this;\n }\n }, {\n key: \"replaceSelection\",\n value: function replaceSelection(slice) {\n this.selection.replace(this, slice);\n return this;\n }\n }, {\n key: \"replaceSelectionWith\",\n value: function replaceSelectionWith(node) {\n var inheritMarks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var selection = this.selection;\n if (inheritMarks) node = node.mark(this.storedMarks || (selection.empty ? selection.$from.marks() : selection.$from.marksAcross(selection.$to) || prosemirrorModel.Mark.none));\n selection.replaceWith(this, node);\n return this;\n }\n }, {\n key: \"deleteSelection\",\n value: function deleteSelection() {\n this.selection.replace(this);\n return this;\n }\n }, {\n key: \"insertText\",\n value: function insertText(text, from, to) {\n var schema = this.doc.type.schema;\n\n if (from == null) {\n if (!text) return this.deleteSelection();\n return this.replaceSelectionWith(schema.text(text), true);\n } else {\n if (to == null) to = from;\n to = to == null ? from : to;\n if (!text) return this.deleteRange(from, to);\n var marks = this.storedMarks;\n\n if (!marks) {\n var $from = this.doc.resolve(from);\n marks = to == from ? $from.marks() : $from.marksAcross(this.doc.resolve(to));\n }\n\n this.replaceRangeWith(from, to, schema.text(text, marks));\n if (!this.selection.empty) this.setSelection(Selection.near(this.selection.$to));\n return this;\n }\n }\n }, {\n key: \"setMeta\",\n value: function setMeta(key, value) {\n this.meta[typeof key == \"string\" ? key : key.key] = value;\n return this;\n }\n }, {\n key: \"getMeta\",\n value: function getMeta(key) {\n return this.meta[typeof key == \"string\" ? key : key.key];\n }\n }, {\n key: \"isGeneric\",\n get: function get() {\n for (var _ in this.meta) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"scrollIntoView\",\n value: function scrollIntoView() {\n this.updated |= UPDATED_SCROLL;\n return this;\n }\n }, {\n key: \"scrolledIntoView\",\n get: function get() {\n return (this.updated & UPDATED_SCROLL) > 0;\n }\n }]);\n\n return Transaction;\n}(prosemirrorTransform.Transform);\n\nfunction bind(f, self) {\n return !self || !f ? f : f.bind(self);\n}\n\nvar FieldDesc = _createClass(function FieldDesc(name, desc, self) {\n _classCallCheck(this, FieldDesc);\n\n this.name = name;\n this.init = bind(desc.init, self);\n this.apply = bind(desc.apply, self);\n});\n\nvar baseFields = [new FieldDesc(\"doc\", {\n init: function init(config) {\n return config.doc || config.schema.topNodeType.createAndFill();\n },\n apply: function apply(tr) {\n return tr.doc;\n }\n}), new FieldDesc(\"selection\", {\n init: function init(config, instance) {\n return config.selection || Selection.atStart(instance.doc);\n },\n apply: function apply(tr) {\n return tr.selection;\n }\n}), new FieldDesc(\"storedMarks\", {\n init: function init(config) {\n return config.storedMarks || null;\n },\n apply: function apply(tr, _marks, _old, state) {\n return state.selection.$cursor ? tr.storedMarks : null;\n }\n}), new FieldDesc(\"scrollToSelection\", {\n init: function init() {\n return 0;\n },\n apply: function apply(tr, prev) {\n return tr.scrolledIntoView ? prev + 1 : prev;\n }\n})];\n\nvar Configuration = _createClass(function Configuration(schema, plugins) {\n var _this3 = this;\n\n _classCallCheck(this, Configuration);\n\n this.schema = schema;\n this.plugins = [];\n this.pluginsByKey = Object.create(null);\n this.fields = baseFields.slice();\n if (plugins) plugins.forEach(function (plugin) {\n if (_this3.pluginsByKey[plugin.key]) throw new RangeError(\"Adding different instances of a keyed plugin (\" + plugin.key + \")\");\n\n _this3.plugins.push(plugin);\n\n _this3.pluginsByKey[plugin.key] = plugin;\n if (plugin.spec.state) _this3.fields.push(new FieldDesc(plugin.key, plugin.spec.state, plugin));\n });\n});\n\nvar EditorState = function () {\n function EditorState(config) {\n _classCallCheck(this, EditorState);\n\n this.config = config;\n }\n\n _createClass(EditorState, [{\n key: \"schema\",\n get: function get() {\n return this.config.schema;\n }\n }, {\n key: \"plugins\",\n get: function get() {\n return this.config.plugins;\n }\n }, {\n key: \"apply\",\n value: function apply(tr) {\n return this.applyTransaction(tr).state;\n }\n }, {\n key: \"filterTransaction\",\n value: function filterTransaction(tr) {\n var ignore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;\n\n for (var i = 0; i < this.config.plugins.length; i++) {\n if (i != ignore) {\n var plugin = this.config.plugins[i];\n if (plugin.spec.filterTransaction && !plugin.spec.filterTransaction.call(plugin, tr, this)) return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"applyTransaction\",\n value: function applyTransaction(rootTr) {\n if (!this.filterTransaction(rootTr)) return {\n state: this,\n transactions: []\n };\n var trs = [rootTr],\n newState = this.applyInner(rootTr),\n seen = null;\n\n for (;;) {\n var haveNew = false;\n\n for (var i = 0; i < this.config.plugins.length; i++) {\n var plugin = this.config.plugins[i];\n\n if (plugin.spec.appendTransaction) {\n var n = seen ? seen[i].n : 0,\n oldState = seen ? seen[i].state : this;\n var tr = n < trs.length && plugin.spec.appendTransaction.call(plugin, n ? trs.slice(n) : trs, oldState, newState);\n\n if (tr && newState.filterTransaction(tr, i)) {\n tr.setMeta(\"appendedTransaction\", rootTr);\n\n if (!seen) {\n seen = [];\n\n for (var j = 0; j < this.config.plugins.length; j++) {\n seen.push(j < i ? {\n state: newState,\n n: trs.length\n } : {\n state: this,\n n: 0\n });\n }\n }\n\n trs.push(tr);\n newState = newState.applyInner(tr);\n haveNew = true;\n }\n\n if (seen) seen[i] = {\n state: newState,\n n: trs.length\n };\n }\n }\n\n if (!haveNew) return {\n state: newState,\n transactions: trs\n };\n }\n }\n }, {\n key: \"applyInner\",\n value: function applyInner(tr) {\n if (!tr.before.eq(this.doc)) throw new RangeError(\"Applying a mismatched transaction\");\n var newInstance = new EditorState(this.config),\n fields = this.config.fields;\n\n for (var i = 0; i < fields.length; i++) {\n var field = fields[i];\n newInstance[field.name] = field.apply(tr, this[field.name], this, newInstance);\n }\n\n return newInstance;\n }\n }, {\n key: \"tr\",\n get: function get() {\n return new Transaction(this);\n }\n }, {\n key: \"reconfigure\",\n value: function reconfigure(config) {\n var $config = new Configuration(this.schema, config.plugins);\n var fields = $config.fields,\n instance = new EditorState($config);\n\n for (var i = 0; i < fields.length; i++) {\n var name = fields[i].name;\n instance[name] = this.hasOwnProperty(name) ? this[name] : fields[i].init(config, instance);\n }\n\n return instance;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON(pluginFields) {\n var result = {\n doc: this.doc.toJSON(),\n selection: this.selection.toJSON()\n };\n if (this.storedMarks) result.storedMarks = this.storedMarks.map(function (m) {\n return m.toJSON();\n });\n if (pluginFields && _typeof(pluginFields) == 'object') for (var prop in pluginFields) {\n if (prop == \"doc\" || prop == \"selection\") throw new RangeError(\"The JSON fields `doc` and `selection` are reserved\");\n var plugin = pluginFields[prop],\n state = plugin.spec.state;\n if (state && state.toJSON) result[prop] = state.toJSON.call(plugin, this[plugin.key]);\n }\n return result;\n }\n }], [{\n key: \"create\",\n value: function create(config) {\n var $config = new Configuration(config.doc ? config.doc.type.schema : config.schema, config.plugins);\n var instance = new EditorState($config);\n\n for (var i = 0; i < $config.fields.length; i++) {\n instance[$config.fields[i].name] = $config.fields[i].init(config, instance);\n }\n\n return instance;\n }\n }, {\n key: \"fromJSON\",\n value: function fromJSON(config, json, pluginFields) {\n if (!json) throw new RangeError(\"Invalid input for EditorState.fromJSON\");\n if (!config.schema) throw new RangeError(\"Required config field 'schema' missing\");\n var $config = new Configuration(config.schema, config.plugins);\n var instance = new EditorState($config);\n $config.fields.forEach(function (field) {\n if (field.name == \"doc\") {\n instance.doc = prosemirrorModel.Node.fromJSON(config.schema, json.doc);\n } else if (field.name == \"selection\") {\n instance.selection = Selection.fromJSON(instance.doc, json.selection);\n } else if (field.name == \"storedMarks\") {\n if (json.storedMarks) instance.storedMarks = json.storedMarks.map(config.schema.markFromJSON);\n } else {\n if (pluginFields) for (var prop in pluginFields) {\n var plugin = pluginFields[prop],\n state = plugin.spec.state;\n\n if (plugin.key == field.name && state && state.fromJSON && Object.prototype.hasOwnProperty.call(json, prop)) {\n instance[field.name] = state.fromJSON.call(plugin, config, json[prop], instance);\n return;\n }\n }\n instance[field.name] = field.init(config, instance);\n }\n });\n return instance;\n }\n }]);\n\n return EditorState;\n}();\n\nfunction bindProps(obj, self, target) {\n for (var prop in obj) {\n var val = obj[prop];\n if (val instanceof Function) val = val.bind(self);else if (prop == \"handleDOMEvents\") val = bindProps(val, self, {});\n target[prop] = val;\n }\n\n return target;\n}\n\nvar Plugin = function () {\n function Plugin(spec) {\n _classCallCheck(this, Plugin);\n\n this.spec = spec;\n this.props = {};\n if (spec.props) bindProps(spec.props, this, this.props);\n this.key = spec.key ? spec.key.key : createKey(\"plugin\");\n }\n\n _createClass(Plugin, [{\n key: \"getState\",\n value: function getState(state) {\n return state[this.key];\n }\n }]);\n\n return Plugin;\n}();\n\nvar keys = Object.create(null);\n\nfunction createKey(name) {\n if (name in keys) return name + \"$\" + ++keys[name];\n keys[name] = 0;\n return name + \"$\";\n}\n\nvar PluginKey = function () {\n function PluginKey() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"key\";\n\n _classCallCheck(this, PluginKey);\n\n this.key = createKey(name);\n }\n\n _createClass(PluginKey, [{\n key: \"get\",\n value: function get(state) {\n return state.config.pluginsByKey[this.key];\n }\n }, {\n key: \"getState\",\n value: function getState(state) {\n return state[this.key];\n }\n }]);\n\n return PluginKey;\n}();\n\nexports.AllSelection = AllSelection;\nexports.EditorState = EditorState;\nexports.NodeSelection = NodeSelection;\nexports.Plugin = Plugin;\nexports.PluginKey = PluginKey;\nexports.Selection = Selection;\nexports.SelectionRange = SelectionRange;\nexports.TextSelection = TextSelection;\nexports.Transaction = Transaction;\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_get","Reflect","get","target","property","receiver","base","object","Object","hasOwnProperty","call","_getPrototypeOf","_superPropBase","desc","getOwnPropertyDescriptor","arguments","length","value","apply","this","_inherits","subClass","superClass","TypeError","create","writable","configurable","defineProperty","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","NewTarget","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","getPrototypeOf","_classCallCheck","instance","Constructor","_defineProperties","props","i","descriptor","enumerable","key","_createClass","protoProps","staticProps","dist","prosemirrorModel","require$$0","prosemirrorTransform","require$$1","classesById","Selection","$anchor","$head","ranges","SelectionRange","min","max","pos","$from","$to","doc","slice","from","to","tr","content","undefined","Slice","empty","lastNode","lastChild","lastParent","openEnd","mapFrom","steps","_i","_ranges$_i","mapping","replaceRange","map","selectionToInsertionEnd","isInline","isTextblock","node","_ranges$i","deleteRange","replaceRangeWith","TextSelection","between","getBookmark","$pos","dir","textOnly","inner","parent","inlineContent","findSelectionIn","index","depth","found","before","after","bias","findFrom","AllSelection","size","childCount","json","type","RangeError","cls","concat","fromJSON","id","selectionClass","jsonID","visible","warnedAboutTextSelection","checkTextSelection","console","name","_Selection","_super","resolve","head","near","anchor","marks","marksAcross","ensureMarks","other","TextBookmark","dPos","NodeSelection","_Selection2","_super2","_this","nodeAfter","$end","nodeSize","_mapping$mapResult","mapResult","deleted","Fragment","NodeBookmark","isText","spec","selectable","_mapping$mapResult2","isSelectable","_Selection3","_super3","sel","atStart","eq","selection","setSelection","AllBookmark","text","child","isAtom","startLen","last","end","step","ReplaceStep","ReplaceAroundStep","maps","forEach","_from","_to","_newFrom","newTo","Transaction","_prosemirrorTransform","_super4","state","_this2","curSelectionFor","updated","meta","time","Date","now","curSelection","storedMarks","Mark","sameSet","setStoredMarks","mark","addToSet","removeFromSet","replace","inheritMarks","none","replaceWith","schema","replaceSelectionWith","deleteSelection","_","Transform","bind","f","FieldDesc","init","baseFields","config","topNodeType","createAndFill","_marks","_old","$cursor","prev","scrolledIntoView","Configuration","plugins","_this3","pluginsByKey","fields","plugin","push","EditorState","applyTransaction","ignore","filterTransaction","rootTr","transactions","trs","newState","applyInner","seen","haveNew","appendTransaction","n","oldState","setMeta","j","newInstance","field","$config","pluginFields","toJSON","m","prop","Node","markFromJSON","bindProps","val","Function","Plugin","createKey","keys","PluginKey"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{Node as e,Slice as t,Fragment as r,Mark as n}from"../../prosemirror-model/dist/index2.mjs";import{ReplaceStep as s,ReplaceAroundStep as i,Transform as o}from"../../prosemirror-transform/dist/index.mjs";const a=Object.create(null);class l{constructor(e,t,r){this.$anchor=e,this.$head=t,this.ranges=r||[new c(e.min(t),e.max(t))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let t=0;t<e.length;t++)if(e[t].$from.pos!=e[t].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,r=t.empty){let n=r.content.lastChild,s=null;for(let e=0;e<r.openEnd;e++)s=n,n=n.lastChild;let i=e.steps.length,o=this.ranges;for(let a=0;a<o.length;a++){let{$from:l,$to:c}=o[a],h=e.mapping.slice(i);e.replaceRange(h.map(l.pos),h.map(c.pos),a?t.empty:r),0==a&&k(e,i,(n?n.isInline:s&&s.isTextblock)?-1:1)}}replaceWith(e,t){let r=e.steps.length,n=this.ranges;for(let s=0;s<n.length;s++){let{$from:i,$to:o}=n[s],a=e.mapping.slice(r),l=a.map(i.pos),c=a.map(o.pos);s?e.deleteRange(l,c):(e.replaceRangeWith(l,c,t),k(e,r,t.isInline?-1:1))}}static findFrom(e,t,r=!1){let n=e.parent.inlineContent?new u(e):y(e.node(0),e.parent,e.pos,e.index(),t,r);if(n)return n;for(let n=e.depth-1;n>=0;n--){let s=t<0?y(e.node(0),e.node(n),e.before(n+1),e.index(n),t,r):y(e.node(0),e.node(n),e.after(n+1),e.index(n)+1,t,r);if(s)return s}return null}static near(e,t=1){return this.findFrom(e,t)||this.findFrom(e,-t)||new g(e.node(0))}static atStart(e){return y(e,e,0,0,1)||new g(e)}static atEnd(e){return y(e,e,e.content.size,e.childCount,-1)||new g(e)}static fromJSON(e,t){if(!t||!t.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=a[t.type];if(!r)throw new RangeError(`No selection type ${t.type} defined`);return r.fromJSON(e,t)}static jsonID(e,t){if(e in a)throw new RangeError("Duplicate use of selection JSON ID "+e);return a[e]=t,t.prototype.jsonID=e,t}getBookmark(){return u.between(this.$anchor,this.$head).getBookmark()}}l.prototype.visible=!0;class c{constructor(e,t){this.$from=e,this.$to=t}}let h=!1;function p(e){h||e.parent.inlineContent||(h=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+e.parent.type.name+")"))}class u extends l{constructor(e,t=e){p(e),p(t),super(e,t)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,t){let r=e.resolve(t.map(this.head));if(!r.parent.inlineContent)return l.near(r);let n=e.resolve(t.map(this.anchor));return new u(n.parent.inlineContent?n:r,r)}replace(e,r=t.empty){if(super.replace(e,r),r==t.empty){let t=this.$from.marksAcross(this.$to);t&&e.ensureMarks(t)}}eq(e){return e instanceof u&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new d(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,t){if("number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid input for TextSelection.fromJSON");return new u(e.resolve(t.anchor),e.resolve(t.head))}static create(e,t,r=t){let n=e.resolve(t);return new this(n,r==t?n:e.resolve(r))}static between(e,t,r){let n=e.pos-t.pos;if(r&&!n||(r=n>=0?1:-1),!t.parent.inlineContent){let e=l.findFrom(t,r,!0)||l.findFrom(t,-r,!0);if(!e)return l.near(t,r);t=e.$head}return e.parent.inlineContent||(0==n||(e=(l.findFrom(e,-r,!0)||l.findFrom(e,r,!0)).$anchor).pos<t.pos!=n<0)&&(e=t),new u(e,t)}}l.jsonID("text",u);class d{constructor(e,t){this.anchor=e,this.head=t}map(e){return new d(e.map(this.anchor),e.map(this.head))}resolve(e){return u.between(e.resolve(this.anchor),e.resolve(this.head))}}class f extends l{constructor(e){let t=e.nodeAfter,r=e.node(0).resolve(e.pos+t.nodeSize);super(e,r),this.node=t}map(e,t){let{deleted:r,pos:n}=t.mapResult(this.anchor),s=e.resolve(n);return r?l.near(s):new f(s)}content(){return new t(r.from(this.node),0,0)}eq(e){return e instanceof f&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new m(this.anchor)}static fromJSON(e,t){if("number"!=typeof t.anchor)throw new RangeError("Invalid input for NodeSelection.fromJSON");return new f(e.resolve(t.anchor))}static create(e,t){return new f(e.resolve(t))}static isSelectable(e){return!e.isText&&!1!==e.type.spec.selectable}}f.prototype.visible=!1,l.jsonID("node",f);class m{constructor(e){this.anchor=e}map(e){let{deleted:t,pos:r}=e.mapResult(this.anchor);return t?new d(r,r):new m(r)}resolve(e){let t=e.resolve(this.anchor),r=t.nodeAfter;return r&&f.isSelectable(r)?new f(t):l.near(t)}}class g extends l{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,r=t.empty){if(r==t.empty){e.delete(0,e.doc.content.size);let t=l.atStart(e.doc);t.eq(e.selection)||e.setSelection(t)}else super.replace(e,r)}toJSON(){return{type:"all"}}static fromJSON(e){return new g(e)}map(e){return new g(e)}eq(e){return e instanceof g}getBookmark(){return S}}l.jsonID("all",g);const S={map(){return this},resolve:e=>new g(e)};function y(e,t,r,n,s,i=!1){if(t.inlineContent)return u.create(e,r);for(let o=n-(s>0?0:1);s>0?o<t.childCount:o>=0;o+=s){let n=t.child(o);if(n.isAtom){if(!i&&f.isSelectable(n))return f.create(e,r-(s<0?n.nodeSize:0))}else{let t=y(e,n,r+s,s<0?n.childCount:0,s,i);if(t)return t}r+=n.nodeSize*s}return null}function k(e,t,r){let n=e.steps.length-1;if(n<t)return;let o,a=e.steps[n];(a instanceof s||a instanceof i)&&(e.mapping.maps[n].forEach(((e,t,r,n)=>{null==o&&(o=n)})),e.setSelection(l.near(e.doc.resolve(o),r)))}class w extends o{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=-3&this.updated|1,this.storedMarks=null,this}get selectionSet(){return(1&this.updated)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=2,this}ensureMarks(e){return n.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(2&this.updated)>0}addStep(e,t){super.addStep(e,t),this.updated=-3&this.updated,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,t=!0){let r=this.selection;return t&&(e=e.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||n.none))),r.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,t,r){let n=this.doc.type.schema;if(null==t)return e?this.replaceSelectionWith(n.text(e),!0):this.deleteSelection();{if(null==r&&(r=t),r=null==r?t:r,!e)return this.deleteRange(t,r);let s=this.storedMarks;if(!s){let e=this.doc.resolve(t);s=r==t?e.marks():e.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(t,r,n.text(e,s)),this.selection.empty||this.setSelection(l.near(this.selection.$to)),this}}setMeta(e,t){return this.meta["string"==typeof e?e:e.key]=t,this}getMeta(e){return this.meta["string"==typeof e?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=4,this}get scrolledIntoView(){return(4&this.updated)>0}}function $(e,t){return t&&e?e.bind(t):e}class O{constructor(e,t,r){this.name=e,this.init=$(t.init,r),this.apply=$(t.apply,r)}}const M=[new O("doc",{init:e=>e.doc||e.schema.topNodeType.createAndFill(),apply:e=>e.doc}),new O("selection",{init:(e,t)=>e.selection||l.atStart(t.doc),apply:e=>e.selection}),new O("storedMarks",{init:e=>e.storedMarks||null,apply:(e,t,r,n)=>n.selection.$cursor?e.storedMarks:null}),new O("scrollToSelection",{init:()=>0,apply:(e,t)=>e.scrolledIntoView?t+1:t})];class v{constructor(e,t){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=M.slice(),t&&t.forEach((e=>{if(this.pluginsByKey[e.key])throw new RangeError("Adding different instances of a keyed plugin ("+e.key+")");this.plugins.push(e),this.pluginsByKey[e.key]=e,e.spec.state&&this.fields.push(new O(e.key,e.spec.state,e))}))}}class N{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,t=-1){for(let r=0;r<this.config.plugins.length;r++)if(r!=t){let t=this.config.plugins[r];if(t.spec.filterTransaction&&!t.spec.filterTransaction.call(t,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let t=[e],r=this.applyInner(e),n=null;for(;;){let s=!1;for(let i=0;i<this.config.plugins.length;i++){let o=this.config.plugins[i];if(o.spec.appendTransaction){let a=n?n[i].n:0,l=n?n[i].state:this,c=a<t.length&&o.spec.appendTransaction.call(o,a?t.slice(a):t,l,r);if(c&&r.filterTransaction(c,i)){if(c.setMeta("appendedTransaction",e),!n){n=[];for(let e=0;e<this.config.plugins.length;e++)n.push(e<i?{state:r,n:t.length}:{state:this,n:0})}t.push(c),r=r.applyInner(c),s=!0}n&&(n[i]={state:r,n:t.length})}}if(!s)return{state:r,transactions:t}}}applyInner(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let t=new N(this.config),r=this.config.fields;for(let n=0;n<r.length;n++){let s=r[n];t[s.name]=s.apply(e,this[s.name],this,t)}return t}get tr(){return new w(this)}static create(e){let t=new v(e.doc?e.doc.type.schema:e.schema,e.plugins),r=new N(t);for(let n=0;n<t.fields.length;n++)r[t.fields[n].name]=t.fields[n].init(e,r);return r}reconfigure(e){let t=new v(this.schema,e.plugins),r=t.fields,n=new N(t);for(let t=0;t<r.length;t++){let s=r[t].name;n[s]=this.hasOwnProperty(s)?this[s]:r[t].init(e,n)}return n}toJSON(e){let t={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(t.storedMarks=this.storedMarks.map((e=>e.toJSON()))),e&&"object"==typeof e)for(let r in e){if("doc"==r||"selection"==r)throw new RangeError("The JSON fields `doc` and `selection` are reserved");let n=e[r],s=n.spec.state;s&&s.toJSON&&(t[r]=s.toJSON.call(n,this[n.key]))}return t}static fromJSON(t,r,n){if(!r)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let s=new v(t.schema,t.plugins),i=new N(s);return s.fields.forEach((s=>{if("doc"==s.name)i.doc=e.fromJSON(t.schema,r.doc);else if("selection"==s.name)i.selection=l.fromJSON(i.doc,r.selection);else if("storedMarks"==s.name)r.storedMarks&&(i.storedMarks=r.storedMarks.map(t.schema.markFromJSON));else{if(n)for(let e in n){let o=n[e],a=o.spec.state;if(o.key==s.name&&a&&a.fromJSON&&Object.prototype.hasOwnProperty.call(r,e))return void(i[s.name]=a.fromJSON.call(o,t,r[e],i))}i[s.name]=s.init(t,i)}})),i}}function J(e,t,r){for(let n in e){let s=e[n];s instanceof Function?s=s.bind(t):"handleDOMEvents"==n&&(s=J(s,t,{})),r[n]=s}return r}class b{constructor(e){this.spec=e,this.props={},e.props&&J(e.props,this,this.props),this.key=e.key?e.key.key:T("plugin")}getState(e){return e[this.key]}}const x=Object.create(null);function T(e){return e in x?e+"$"+ ++x[e]:(x[e]=0,e+"$")}class R{constructor(e="key"){this.key=T(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}export{g as AllSelection,N as EditorState,f as NodeSelection,b as Plugin,R as PluginKey,l as Selection,c as SelectionRange,u as TextSelection,w as Transaction};
|
2
|
-
//# sourceMappingURL=index2.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index2.mjs","sources":["../../../../../node_modules/prosemirror-state/dist/index.js"],"sourcesContent":["import { Slice, Fragment, Mark, Node } from 'prosemirror-model';\nimport { ReplaceStep, ReplaceAroundStep, Transform } from 'prosemirror-transform';\n\nconst classesById = Object.create(null);\n/**\nSuperclass for editor selections. Every selection type should\nextend this. Should not be instantiated directly.\n*/\nclass Selection {\n /**\n Initialize a selection with the head and anchor and ranges. If no\n ranges are given, constructs a single range across `$anchor` and\n `$head`.\n */\n constructor(\n /**\n The resolved anchor of the selection (the side that stays in\n place when the selection is modified).\n */\n $anchor, \n /**\n The resolved head of the selection (the side that moves when\n the selection is modified).\n */\n $head, ranges) {\n this.$anchor = $anchor;\n this.$head = $head;\n this.ranges = ranges || [new SelectionRange($anchor.min($head), $anchor.max($head))];\n }\n /**\n The selection's anchor, as an unresolved position.\n */\n get anchor() { return this.$anchor.pos; }\n /**\n The selection's head.\n */\n get head() { return this.$head.pos; }\n /**\n The lower bound of the selection's main range.\n */\n get from() { return this.$from.pos; }\n /**\n The upper bound of the selection's main range.\n */\n get to() { return this.$to.pos; }\n /**\n The resolved lower bound of the selection's main range.\n */\n get $from() {\n return this.ranges[0].$from;\n }\n /**\n The resolved upper bound of the selection's main range.\n */\n get $to() {\n return this.ranges[0].$to;\n }\n /**\n Indicates whether the selection contains any content.\n */\n get empty() {\n let ranges = this.ranges;\n for (let i = 0; i < ranges.length; i++)\n if (ranges[i].$from.pos != ranges[i].$to.pos)\n return false;\n return true;\n }\n /**\n Get the content of this selection as a slice.\n */\n content() {\n return this.$from.doc.slice(this.from, this.to, true);\n }\n /**\n Replace the selection with a slice or, if no slice is given,\n delete the selection. Will append to the given transaction.\n */\n replace(tr, content = Slice.empty) {\n // Put the new selection at the position after the inserted\n // content. When that ended in an inline node, search backwards,\n // to get the position after that node. If not, search forward.\n let lastNode = content.content.lastChild, lastParent = null;\n for (let i = 0; i < content.openEnd; i++) {\n lastParent = lastNode;\n lastNode = lastNode.lastChild;\n }\n let mapFrom = tr.steps.length, ranges = this.ranges;\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i], mapping = tr.mapping.slice(mapFrom);\n tr.replaceRange(mapping.map($from.pos), mapping.map($to.pos), i ? Slice.empty : content);\n if (i == 0)\n selectionToInsertionEnd(tr, mapFrom, (lastNode ? lastNode.isInline : lastParent && lastParent.isTextblock) ? -1 : 1);\n }\n }\n /**\n Replace the selection with the given node, appending the changes\n to the given transaction.\n */\n replaceWith(tr, node) {\n let mapFrom = tr.steps.length, ranges = this.ranges;\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i], mapping = tr.mapping.slice(mapFrom);\n let from = mapping.map($from.pos), to = mapping.map($to.pos);\n if (i) {\n tr.deleteRange(from, to);\n }\n else {\n tr.replaceRangeWith(from, to, node);\n selectionToInsertionEnd(tr, mapFrom, node.isInline ? -1 : 1);\n }\n }\n }\n /**\n Find a valid cursor or leaf node selection starting at the given\n position and searching back if `dir` is negative, and forward if\n positive. When `textOnly` is true, only consider cursor\n selections. Will return null when no valid selection position is\n found.\n */\n static findFrom($pos, dir, textOnly = false) {\n let inner = $pos.parent.inlineContent ? new TextSelection($pos)\n : findSelectionIn($pos.node(0), $pos.parent, $pos.pos, $pos.index(), dir, textOnly);\n if (inner)\n return inner;\n for (let depth = $pos.depth - 1; depth >= 0; depth--) {\n let found = dir < 0\n ? findSelectionIn($pos.node(0), $pos.node(depth), $pos.before(depth + 1), $pos.index(depth), dir, textOnly)\n : findSelectionIn($pos.node(0), $pos.node(depth), $pos.after(depth + 1), $pos.index(depth) + 1, dir, textOnly);\n if (found)\n return found;\n }\n return null;\n }\n /**\n Find a valid cursor or leaf node selection near the given\n position. Searches forward first by default, but if `bias` is\n negative, it will search backwards first.\n */\n static near($pos, bias = 1) {\n return this.findFrom($pos, bias) || this.findFrom($pos, -bias) || new AllSelection($pos.node(0));\n }\n /**\n Find the cursor or leaf node selection closest to the start of\n the given document. Will return an\n [`AllSelection`](https://prosemirror.net/docs/ref/#state.AllSelection) if no valid position\n exists.\n */\n static atStart(doc) {\n return findSelectionIn(doc, doc, 0, 0, 1) || new AllSelection(doc);\n }\n /**\n Find the cursor or leaf node selection closest to the end of the\n given document.\n */\n static atEnd(doc) {\n return findSelectionIn(doc, doc, doc.content.size, doc.childCount, -1) || new AllSelection(doc);\n }\n /**\n Deserialize the JSON representation of a selection. Must be\n implemented for custom classes (as a static class method).\n */\n static fromJSON(doc, json) {\n if (!json || !json.type)\n throw new RangeError(\"Invalid input for Selection.fromJSON\");\n let cls = classesById[json.type];\n if (!cls)\n throw new RangeError(`No selection type ${json.type} defined`);\n return cls.fromJSON(doc, json);\n }\n /**\n To be able to deserialize selections from JSON, custom selection\n classes must register themselves with an ID string, so that they\n can be disambiguated. Try to pick something that's unlikely to\n clash with classes from other modules.\n */\n static jsonID(id, selectionClass) {\n if (id in classesById)\n throw new RangeError(\"Duplicate use of selection JSON ID \" + id);\n classesById[id] = selectionClass;\n selectionClass.prototype.jsonID = id;\n return selectionClass;\n }\n /**\n Get a [bookmark](https://prosemirror.net/docs/ref/#state.SelectionBookmark) for this selection,\n which is a value that can be mapped without having access to a\n current document, and later resolved to a real selection for a\n given document again. (This is used mostly by the history to\n track and restore old selections.) The default implementation of\n this method just converts the selection to a text selection and\n returns the bookmark for that.\n */\n getBookmark() {\n return TextSelection.between(this.$anchor, this.$head).getBookmark();\n }\n}\nSelection.prototype.visible = true;\n/**\nRepresents a selected range in a document.\n*/\nclass SelectionRange {\n /**\n Create a range.\n */\n constructor(\n /**\n The lower bound of the range.\n */\n $from, \n /**\n The upper bound of the range.\n */\n $to) {\n this.$from = $from;\n this.$to = $to;\n }\n}\nlet warnedAboutTextSelection = false;\nfunction checkTextSelection($pos) {\n if (!warnedAboutTextSelection && !$pos.parent.inlineContent) {\n warnedAboutTextSelection = true;\n console[\"warn\"](\"TextSelection endpoint not pointing into a node with inline content (\" + $pos.parent.type.name + \")\");\n }\n}\n/**\nA text selection represents a classical editor selection, with a\nhead (the moving side) and anchor (immobile side), both of which\npoint into textblock nodes. It can be empty (a regular cursor\nposition).\n*/\nclass TextSelection extends Selection {\n /**\n Construct a text selection between the given points.\n */\n constructor($anchor, $head = $anchor) {\n checkTextSelection($anchor);\n checkTextSelection($head);\n super($anchor, $head);\n }\n /**\n Returns a resolved position if this is a cursor selection (an\n empty text selection), and null otherwise.\n */\n get $cursor() { return this.$anchor.pos == this.$head.pos ? this.$head : null; }\n map(doc, mapping) {\n let $head = doc.resolve(mapping.map(this.head));\n if (!$head.parent.inlineContent)\n return Selection.near($head);\n let $anchor = doc.resolve(mapping.map(this.anchor));\n return new TextSelection($anchor.parent.inlineContent ? $anchor : $head, $head);\n }\n replace(tr, content = Slice.empty) {\n super.replace(tr, content);\n if (content == Slice.empty) {\n let marks = this.$from.marksAcross(this.$to);\n if (marks)\n tr.ensureMarks(marks);\n }\n }\n eq(other) {\n return other instanceof TextSelection && other.anchor == this.anchor && other.head == this.head;\n }\n getBookmark() {\n return new TextBookmark(this.anchor, this.head);\n }\n toJSON() {\n return { type: \"text\", anchor: this.anchor, head: this.head };\n }\n /**\n @internal\n */\n static fromJSON(doc, json) {\n if (typeof json.anchor != \"number\" || typeof json.head != \"number\")\n throw new RangeError(\"Invalid input for TextSelection.fromJSON\");\n return new TextSelection(doc.resolve(json.anchor), doc.resolve(json.head));\n }\n /**\n Create a text selection from non-resolved positions.\n */\n static create(doc, anchor, head = anchor) {\n let $anchor = doc.resolve(anchor);\n return new this($anchor, head == anchor ? $anchor : doc.resolve(head));\n }\n /**\n Return a text selection that spans the given positions or, if\n they aren't text positions, find a text selection near them.\n `bias` determines whether the method searches forward (default)\n or backwards (negative number) first. Will fall back to calling\n [`Selection.near`](https://prosemirror.net/docs/ref/#state.Selection^near) when the document\n doesn't contain a valid text position.\n */\n static between($anchor, $head, bias) {\n let dPos = $anchor.pos - $head.pos;\n if (!bias || dPos)\n bias = dPos >= 0 ? 1 : -1;\n if (!$head.parent.inlineContent) {\n let found = Selection.findFrom($head, bias, true) || Selection.findFrom($head, -bias, true);\n if (found)\n $head = found.$head;\n else\n return Selection.near($head, bias);\n }\n if (!$anchor.parent.inlineContent) {\n if (dPos == 0) {\n $anchor = $head;\n }\n else {\n $anchor = (Selection.findFrom($anchor, -bias, true) || Selection.findFrom($anchor, bias, true)).$anchor;\n if (($anchor.pos < $head.pos) != (dPos < 0))\n $anchor = $head;\n }\n }\n return new TextSelection($anchor, $head);\n }\n}\nSelection.jsonID(\"text\", TextSelection);\nclass TextBookmark {\n constructor(anchor, head) {\n this.anchor = anchor;\n this.head = head;\n }\n map(mapping) {\n return new TextBookmark(mapping.map(this.anchor), mapping.map(this.head));\n }\n resolve(doc) {\n return TextSelection.between(doc.resolve(this.anchor), doc.resolve(this.head));\n }\n}\n/**\nA node selection is a selection that points at a single node. All\nnodes marked [selectable](https://prosemirror.net/docs/ref/#model.NodeSpec.selectable) can be the\ntarget of a node selection. In such a selection, `from` and `to`\npoint directly before and after the selected node, `anchor` equals\n`from`, and `head` equals `to`..\n*/\nclass NodeSelection extends Selection {\n /**\n Create a node selection. Does not verify the validity of its\n argument.\n */\n constructor($pos) {\n let node = $pos.nodeAfter;\n let $end = $pos.node(0).resolve($pos.pos + node.nodeSize);\n super($pos, $end);\n this.node = node;\n }\n map(doc, mapping) {\n let { deleted, pos } = mapping.mapResult(this.anchor);\n let $pos = doc.resolve(pos);\n if (deleted)\n return Selection.near($pos);\n return new NodeSelection($pos);\n }\n content() {\n return new Slice(Fragment.from(this.node), 0, 0);\n }\n eq(other) {\n return other instanceof NodeSelection && other.anchor == this.anchor;\n }\n toJSON() {\n return { type: \"node\", anchor: this.anchor };\n }\n getBookmark() { return new NodeBookmark(this.anchor); }\n /**\n @internal\n */\n static fromJSON(doc, json) {\n if (typeof json.anchor != \"number\")\n throw new RangeError(\"Invalid input for NodeSelection.fromJSON\");\n return new NodeSelection(doc.resolve(json.anchor));\n }\n /**\n Create a node selection from non-resolved positions.\n */\n static create(doc, from) {\n return new NodeSelection(doc.resolve(from));\n }\n /**\n Determines whether the given node may be selected as a node\n selection.\n */\n static isSelectable(node) {\n return !node.isText && node.type.spec.selectable !== false;\n }\n}\nNodeSelection.prototype.visible = false;\nSelection.jsonID(\"node\", NodeSelection);\nclass NodeBookmark {\n constructor(anchor) {\n this.anchor = anchor;\n }\n map(mapping) {\n let { deleted, pos } = mapping.mapResult(this.anchor);\n return deleted ? new TextBookmark(pos, pos) : new NodeBookmark(pos);\n }\n resolve(doc) {\n let $pos = doc.resolve(this.anchor), node = $pos.nodeAfter;\n if (node && NodeSelection.isSelectable(node))\n return new NodeSelection($pos);\n return Selection.near($pos);\n }\n}\n/**\nA selection type that represents selecting the whole document\n(which can not necessarily be expressed with a text selection, when\nthere are for example leaf block nodes at the start or end of the\ndocument).\n*/\nclass AllSelection extends Selection {\n /**\n Create an all-selection over the given document.\n */\n constructor(doc) {\n super(doc.resolve(0), doc.resolve(doc.content.size));\n }\n replace(tr, content = Slice.empty) {\n if (content == Slice.empty) {\n tr.delete(0, tr.doc.content.size);\n let sel = Selection.atStart(tr.doc);\n if (!sel.eq(tr.selection))\n tr.setSelection(sel);\n }\n else {\n super.replace(tr, content);\n }\n }\n toJSON() { return { type: \"all\" }; }\n /**\n @internal\n */\n static fromJSON(doc) { return new AllSelection(doc); }\n map(doc) { return new AllSelection(doc); }\n eq(other) { return other instanceof AllSelection; }\n getBookmark() { return AllBookmark; }\n}\nSelection.jsonID(\"all\", AllSelection);\nconst AllBookmark = {\n map() { return this; },\n resolve(doc) { return new AllSelection(doc); }\n};\n// FIXME we'll need some awareness of text direction when scanning for selections\n// Try to find a selection inside the given node. `pos` points at the\n// position where the search starts. When `text` is true, only return\n// text selections.\nfunction findSelectionIn(doc, node, pos, index, dir, text = false) {\n if (node.inlineContent)\n return TextSelection.create(doc, pos);\n for (let i = index - (dir > 0 ? 0 : 1); dir > 0 ? i < node.childCount : i >= 0; i += dir) {\n let child = node.child(i);\n if (!child.isAtom) {\n let inner = findSelectionIn(doc, child, pos + dir, dir < 0 ? child.childCount : 0, dir, text);\n if (inner)\n return inner;\n }\n else if (!text && NodeSelection.isSelectable(child)) {\n return NodeSelection.create(doc, pos - (dir < 0 ? child.nodeSize : 0));\n }\n pos += child.nodeSize * dir;\n }\n return null;\n}\nfunction selectionToInsertionEnd(tr, startLen, bias) {\n let last = tr.steps.length - 1;\n if (last < startLen)\n return;\n let step = tr.steps[last];\n if (!(step instanceof ReplaceStep || step instanceof ReplaceAroundStep))\n return;\n let map = tr.mapping.maps[last], end;\n map.forEach((_from, _to, _newFrom, newTo) => { if (end == null)\n end = newTo; });\n tr.setSelection(Selection.near(tr.doc.resolve(end), bias));\n}\n\nconst UPDATED_SEL = 1, UPDATED_MARKS = 2, UPDATED_SCROLL = 4;\n/**\nAn editor state transaction, which can be applied to a state to\ncreate an updated state. Use\n[`EditorState.tr`](https://prosemirror.net/docs/ref/#state.EditorState.tr) to create an instance.\n\nTransactions track changes to the document (they are a subclass of\n[`Transform`](https://prosemirror.net/docs/ref/#transform.Transform)), but also other state changes,\nlike selection updates and adjustments of the set of [stored\nmarks](https://prosemirror.net/docs/ref/#state.EditorState.storedMarks). In addition, you can store\nmetadata properties in a transaction, which are extra pieces of\ninformation that client code or plugins can use to describe what a\ntransaction represents, so that they can update their [own\nstate](https://prosemirror.net/docs/ref/#state.StateField) accordingly.\n\nThe [editor view](https://prosemirror.net/docs/ref/#view.EditorView) uses a few metadata\nproperties: it will attach a property `\"pointer\"` with the value\n`true` to selection transactions directly caused by mouse or touch\ninput, a `\"composition\"` property holding an ID identifying the\ncomposition that caused it to transactions caused by composed DOM\ninput, and a `\"uiEvent\"` property of that may be `\"paste\"`,\n`\"cut\"`, or `\"drop\"`.\n*/\nclass Transaction extends Transform {\n /**\n @internal\n */\n constructor(state) {\n super(state.doc);\n // The step count for which the current selection is valid.\n this.curSelectionFor = 0;\n // Bitfield to track which aspects of the state were updated by\n // this transaction.\n this.updated = 0;\n // Object used to store metadata properties for the transaction.\n this.meta = Object.create(null);\n this.time = Date.now();\n this.curSelection = state.selection;\n this.storedMarks = state.storedMarks;\n }\n /**\n The transaction's current selection. This defaults to the editor\n selection [mapped](https://prosemirror.net/docs/ref/#state.Selection.map) through the steps in the\n transaction, but can be overwritten with\n [`setSelection`](https://prosemirror.net/docs/ref/#state.Transaction.setSelection).\n */\n get selection() {\n if (this.curSelectionFor < this.steps.length) {\n this.curSelection = this.curSelection.map(this.doc, this.mapping.slice(this.curSelectionFor));\n this.curSelectionFor = this.steps.length;\n }\n return this.curSelection;\n }\n /**\n Update the transaction's current selection. Will determine the\n selection that the editor gets when the transaction is applied.\n */\n setSelection(selection) {\n if (selection.$from.doc != this.doc)\n throw new RangeError(\"Selection passed to setSelection must point at the current document\");\n this.curSelection = selection;\n this.curSelectionFor = this.steps.length;\n this.updated = (this.updated | UPDATED_SEL) & ~UPDATED_MARKS;\n this.storedMarks = null;\n return this;\n }\n /**\n Whether the selection was explicitly updated by this transaction.\n */\n get selectionSet() {\n return (this.updated & UPDATED_SEL) > 0;\n }\n /**\n Set the current stored marks.\n */\n setStoredMarks(marks) {\n this.storedMarks = marks;\n this.updated |= UPDATED_MARKS;\n return this;\n }\n /**\n Make sure the current stored marks or, if that is null, the marks\n at the selection, match the given set of marks. Does nothing if\n this is already the case.\n */\n ensureMarks(marks) {\n if (!Mark.sameSet(this.storedMarks || this.selection.$from.marks(), marks))\n this.setStoredMarks(marks);\n return this;\n }\n /**\n Add a mark to the set of stored marks.\n */\n addStoredMark(mark) {\n return this.ensureMarks(mark.addToSet(this.storedMarks || this.selection.$head.marks()));\n }\n /**\n Remove a mark or mark type from the set of stored marks.\n */\n removeStoredMark(mark) {\n return this.ensureMarks(mark.removeFromSet(this.storedMarks || this.selection.$head.marks()));\n }\n /**\n Whether the stored marks were explicitly set for this transaction.\n */\n get storedMarksSet() {\n return (this.updated & UPDATED_MARKS) > 0;\n }\n /**\n @internal\n */\n addStep(step, doc) {\n super.addStep(step, doc);\n this.updated = this.updated & ~UPDATED_MARKS;\n this.storedMarks = null;\n }\n /**\n Update the timestamp for the transaction.\n */\n setTime(time) {\n this.time = time;\n return this;\n }\n /**\n Replace the current selection with the given slice.\n */\n replaceSelection(slice) {\n this.selection.replace(this, slice);\n return this;\n }\n /**\n Replace the selection with the given node. When `inheritMarks` is\n true and the content is inline, it inherits the marks from the\n place where it is inserted.\n */\n replaceSelectionWith(node, inheritMarks = true) {\n let selection = this.selection;\n if (inheritMarks)\n node = node.mark(this.storedMarks || (selection.empty ? selection.$from.marks() : (selection.$from.marksAcross(selection.$to) || Mark.none)));\n selection.replaceWith(this, node);\n return this;\n }\n /**\n Delete the selection.\n */\n deleteSelection() {\n this.selection.replace(this);\n return this;\n }\n /**\n Replace the given range, or the selection if no range is given,\n with a text node containing the given string.\n */\n insertText(text, from, to) {\n let schema = this.doc.type.schema;\n if (from == null) {\n if (!text)\n return this.deleteSelection();\n return this.replaceSelectionWith(schema.text(text), true);\n }\n else {\n if (to == null)\n to = from;\n to = to == null ? from : to;\n if (!text)\n return this.deleteRange(from, to);\n let marks = this.storedMarks;\n if (!marks) {\n let $from = this.doc.resolve(from);\n marks = to == from ? $from.marks() : $from.marksAcross(this.doc.resolve(to));\n }\n this.replaceRangeWith(from, to, schema.text(text, marks));\n if (!this.selection.empty)\n this.setSelection(Selection.near(this.selection.$to));\n return this;\n }\n }\n /**\n Store a metadata property in this transaction, keyed either by\n name or by plugin.\n */\n setMeta(key, value) {\n this.meta[typeof key == \"string\" ? key : key.key] = value;\n return this;\n }\n /**\n Retrieve a metadata property for a given name or plugin.\n */\n getMeta(key) {\n return this.meta[typeof key == \"string\" ? key : key.key];\n }\n /**\n Returns true if this transaction doesn't contain any metadata,\n and can thus safely be extended.\n */\n get isGeneric() {\n for (let _ in this.meta)\n return false;\n return true;\n }\n /**\n Indicate that the editor should scroll the selection into view\n when updated to the state produced by this transaction.\n */\n scrollIntoView() {\n this.updated |= UPDATED_SCROLL;\n return this;\n }\n /**\n True when this transaction has had `scrollIntoView` called on it.\n */\n get scrolledIntoView() {\n return (this.updated & UPDATED_SCROLL) > 0;\n }\n}\n\nfunction bind(f, self) {\n return !self || !f ? f : f.bind(self);\n}\nclass FieldDesc {\n constructor(name, desc, self) {\n this.name = name;\n this.init = bind(desc.init, self);\n this.apply = bind(desc.apply, self);\n }\n}\nconst baseFields = [\n new FieldDesc(\"doc\", {\n init(config) { return config.doc || config.schema.topNodeType.createAndFill(); },\n apply(tr) { return tr.doc; }\n }),\n new FieldDesc(\"selection\", {\n init(config, instance) { return config.selection || Selection.atStart(instance.doc); },\n apply(tr) { return tr.selection; }\n }),\n new FieldDesc(\"storedMarks\", {\n init(config) { return config.storedMarks || null; },\n apply(tr, _marks, _old, state) { return state.selection.$cursor ? tr.storedMarks : null; }\n }),\n new FieldDesc(\"scrollToSelection\", {\n init() { return 0; },\n apply(tr, prev) { return tr.scrolledIntoView ? prev + 1 : prev; }\n })\n];\n// Object wrapping the part of a state object that stays the same\n// across transactions. Stored in the state's `config` property.\nclass Configuration {\n constructor(schema, plugins) {\n this.schema = schema;\n this.plugins = [];\n this.pluginsByKey = Object.create(null);\n this.fields = baseFields.slice();\n if (plugins)\n plugins.forEach(plugin => {\n if (this.pluginsByKey[plugin.key])\n throw new RangeError(\"Adding different instances of a keyed plugin (\" + plugin.key + \")\");\n this.plugins.push(plugin);\n this.pluginsByKey[plugin.key] = plugin;\n if (plugin.spec.state)\n this.fields.push(new FieldDesc(plugin.key, plugin.spec.state, plugin));\n });\n }\n}\n/**\nThe state of a ProseMirror editor is represented by an object of\nthis type. A state is a persistent data structure—it isn't\nupdated, but rather a new state value is computed from an old one\nusing the [`apply`](https://prosemirror.net/docs/ref/#state.EditorState.apply) method.\n\nA state holds a number of built-in fields, and plugins can\n[define](https://prosemirror.net/docs/ref/#state.PluginSpec.state) additional fields.\n*/\nclass EditorState {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n config) {\n this.config = config;\n }\n /**\n The schema of the state's document.\n */\n get schema() {\n return this.config.schema;\n }\n /**\n The plugins that are active in this state.\n */\n get plugins() {\n return this.config.plugins;\n }\n /**\n Apply the given transaction to produce a new state.\n */\n apply(tr) {\n return this.applyTransaction(tr).state;\n }\n /**\n @internal\n */\n filterTransaction(tr, ignore = -1) {\n for (let i = 0; i < this.config.plugins.length; i++)\n if (i != ignore) {\n let plugin = this.config.plugins[i];\n if (plugin.spec.filterTransaction && !plugin.spec.filterTransaction.call(plugin, tr, this))\n return false;\n }\n return true;\n }\n /**\n Verbose variant of [`apply`](https://prosemirror.net/docs/ref/#state.EditorState.apply) that\n returns the precise transactions that were applied (which might\n be influenced by the [transaction\n hooks](https://prosemirror.net/docs/ref/#state.PluginSpec.filterTransaction) of\n plugins) along with the new state.\n */\n applyTransaction(rootTr) {\n if (!this.filterTransaction(rootTr))\n return { state: this, transactions: [] };\n let trs = [rootTr], newState = this.applyInner(rootTr), seen = null;\n // This loop repeatedly gives plugins a chance to respond to\n // transactions as new transactions are added, making sure to only\n // pass the transactions the plugin did not see before.\n for (;;) {\n let haveNew = false;\n for (let i = 0; i < this.config.plugins.length; i++) {\n let plugin = this.config.plugins[i];\n if (plugin.spec.appendTransaction) {\n let n = seen ? seen[i].n : 0, oldState = seen ? seen[i].state : this;\n let tr = n < trs.length &&\n plugin.spec.appendTransaction.call(plugin, n ? trs.slice(n) : trs, oldState, newState);\n if (tr && newState.filterTransaction(tr, i)) {\n tr.setMeta(\"appendedTransaction\", rootTr);\n if (!seen) {\n seen = [];\n for (let j = 0; j < this.config.plugins.length; j++)\n seen.push(j < i ? { state: newState, n: trs.length } : { state: this, n: 0 });\n }\n trs.push(tr);\n newState = newState.applyInner(tr);\n haveNew = true;\n }\n if (seen)\n seen[i] = { state: newState, n: trs.length };\n }\n }\n if (!haveNew)\n return { state: newState, transactions: trs };\n }\n }\n /**\n @internal\n */\n applyInner(tr) {\n if (!tr.before.eq(this.doc))\n throw new RangeError(\"Applying a mismatched transaction\");\n let newInstance = new EditorState(this.config), fields = this.config.fields;\n for (let i = 0; i < fields.length; i++) {\n let field = fields[i];\n newInstance[field.name] = field.apply(tr, this[field.name], this, newInstance);\n }\n return newInstance;\n }\n /**\n Start a [transaction](https://prosemirror.net/docs/ref/#state.Transaction) from this state.\n */\n get tr() { return new Transaction(this); }\n /**\n Create a new state.\n */\n static create(config) {\n let $config = new Configuration(config.doc ? config.doc.type.schema : config.schema, config.plugins);\n let instance = new EditorState($config);\n for (let i = 0; i < $config.fields.length; i++)\n instance[$config.fields[i].name] = $config.fields[i].init(config, instance);\n return instance;\n }\n /**\n Create a new state based on this one, but with an adjusted set\n of active plugins. State fields that exist in both sets of\n plugins are kept unchanged. Those that no longer exist are\n dropped, and those that are new are initialized using their\n [`init`](https://prosemirror.net/docs/ref/#state.StateField.init) method, passing in the new\n configuration object..\n */\n reconfigure(config) {\n let $config = new Configuration(this.schema, config.plugins);\n let fields = $config.fields, instance = new EditorState($config);\n for (let i = 0; i < fields.length; i++) {\n let name = fields[i].name;\n instance[name] = this.hasOwnProperty(name) ? this[name] : fields[i].init(config, instance);\n }\n return instance;\n }\n /**\n Serialize this state to JSON. If you want to serialize the state\n of plugins, pass an object mapping property names to use in the\n resulting JSON object to plugin objects. The argument may also be\n a string or number, in which case it is ignored, to support the\n way `JSON.stringify` calls `toString` methods.\n */\n toJSON(pluginFields) {\n let result = { doc: this.doc.toJSON(), selection: this.selection.toJSON() };\n if (this.storedMarks)\n result.storedMarks = this.storedMarks.map(m => m.toJSON());\n if (pluginFields && typeof pluginFields == 'object')\n for (let prop in pluginFields) {\n if (prop == \"doc\" || prop == \"selection\")\n throw new RangeError(\"The JSON fields `doc` and `selection` are reserved\");\n let plugin = pluginFields[prop], state = plugin.spec.state;\n if (state && state.toJSON)\n result[prop] = state.toJSON.call(plugin, this[plugin.key]);\n }\n return result;\n }\n /**\n Deserialize a JSON representation of a state. `config` should\n have at least a `schema` field, and should contain array of\n plugins to initialize the state with. `pluginFields` can be used\n to deserialize the state of plugins, by associating plugin\n instances with the property names they use in the JSON object.\n */\n static fromJSON(config, json, pluginFields) {\n if (!json)\n throw new RangeError(\"Invalid input for EditorState.fromJSON\");\n if (!config.schema)\n throw new RangeError(\"Required config field 'schema' missing\");\n let $config = new Configuration(config.schema, config.plugins);\n let instance = new EditorState($config);\n $config.fields.forEach(field => {\n if (field.name == \"doc\") {\n instance.doc = Node.fromJSON(config.schema, json.doc);\n }\n else if (field.name == \"selection\") {\n instance.selection = Selection.fromJSON(instance.doc, json.selection);\n }\n else if (field.name == \"storedMarks\") {\n if (json.storedMarks)\n instance.storedMarks = json.storedMarks.map(config.schema.markFromJSON);\n }\n else {\n if (pluginFields)\n for (let prop in pluginFields) {\n let plugin = pluginFields[prop], state = plugin.spec.state;\n if (plugin.key == field.name && state && state.fromJSON &&\n Object.prototype.hasOwnProperty.call(json, prop)) {\n instance[field.name] = state.fromJSON.call(plugin, config, json[prop], instance);\n return;\n }\n }\n instance[field.name] = field.init(config, instance);\n }\n });\n return instance;\n }\n}\n\nfunction bindProps(obj, self, target) {\n for (let prop in obj) {\n let val = obj[prop];\n if (val instanceof Function)\n val = val.bind(self);\n else if (prop == \"handleDOMEvents\")\n val = bindProps(val, self, {});\n target[prop] = val;\n }\n return target;\n}\n/**\nPlugins bundle functionality that can be added to an editor.\nThey are part of the [editor state](https://prosemirror.net/docs/ref/#state.EditorState) and\nmay influence that state and the view that contains it.\n*/\nclass Plugin {\n /**\n Create a plugin.\n */\n constructor(\n /**\n The plugin's [spec object](https://prosemirror.net/docs/ref/#state.PluginSpec).\n */\n spec) {\n this.spec = spec;\n /**\n The [props](https://prosemirror.net/docs/ref/#view.EditorProps) exported by this plugin.\n */\n this.props = {};\n if (spec.props)\n bindProps(spec.props, this, this.props);\n this.key = spec.key ? spec.key.key : createKey(\"plugin\");\n }\n /**\n Extract the plugin's state field from an editor state.\n */\n getState(state) { return state[this.key]; }\n}\nconst keys = Object.create(null);\nfunction createKey(name) {\n if (name in keys)\n return name + \"$\" + ++keys[name];\n keys[name] = 0;\n return name + \"$\";\n}\n/**\nA key is used to [tag](https://prosemirror.net/docs/ref/#state.PluginSpec.key) plugins in a way\nthat makes it possible to find them, given an editor state.\nAssigning a key does mean only one plugin of that type can be\nactive in a state.\n*/\nclass PluginKey {\n /**\n Create a plugin key.\n */\n constructor(name = \"key\") { this.key = createKey(name); }\n /**\n Get the active plugin with this key, if any, from an editor\n state.\n */\n get(state) { return state.config.pluginsByKey[this.key]; }\n /**\n Get the plugin's state from an editor state.\n */\n getState(state) { return state[this.key]; }\n}\n\nexport { AllSelection, EditorState, NodeSelection, Plugin, PluginKey, Selection, SelectionRange, TextSelection, Transaction };\n"],"names":["classesById","Object","create","Selection","constructor","$anchor","$head","ranges","this","SelectionRange","min","max","anchor","pos","head","from","$from","to","$to","empty","i","length","content","doc","slice","replace","tr","Slice","lastNode","lastChild","lastParent","openEnd","mapFrom","steps","mapping","replaceRange","map","selectionToInsertionEnd","isInline","isTextblock","replaceWith","node","deleteRange","replaceRangeWith","findFrom","$pos","dir","textOnly","inner","parent","inlineContent","TextSelection","findSelectionIn","index","depth","found","before","after","near","bias","AllSelection","atStart","atEnd","size","childCount","fromJSON","json","type","RangeError","cls","jsonID","id","selectionClass","prototype","getBookmark","between","visible","warnedAboutTextSelection","checkTextSelection","console","name","super","$cursor","resolve","marks","marksAcross","ensureMarks","eq","other","TextBookmark","toJSON","dPos","NodeSelection","nodeAfter","$end","nodeSize","deleted","mapResult","Fragment","NodeBookmark","isSelectable","isText","spec","selectable","delete","sel","selection","setSelection","AllBookmark","text","child","isAtom","startLen","last","end","step","ReplaceStep","ReplaceAroundStep","maps","forEach","_from","_to","_newFrom","newTo","Transaction","Transform","state","curSelectionFor","updated","meta","time","Date","now","curSelection","storedMarks","selectionSet","setStoredMarks","Mark","sameSet","addStoredMark","mark","addToSet","removeStoredMark","removeFromSet","storedMarksSet","addStep","setTime","replaceSelection","replaceSelectionWith","inheritMarks","none","deleteSelection","insertText","schema","setMeta","key","value","getMeta","isGeneric","_","scrollIntoView","scrolledIntoView","bind","f","self","FieldDesc","desc","init","apply","baseFields","config","topNodeType","createAndFill","instance","_marks","_old","prev","Configuration","plugins","pluginsByKey","fields","plugin","push","EditorState","applyTransaction","filterTransaction","ignore","call","rootTr","transactions","trs","newState","applyInner","seen","haveNew","appendTransaction","n","oldState","j","newInstance","field","$config","reconfigure","hasOwnProperty","pluginFields","result","m","prop","Node","markFromJSON","bindProps","obj","target","val","Function","Plugin","props","createKey","getState","keys","PluginKey","get"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{Slice as t,ReplaceError as e,Fragment as r,Mark as n,MarkType as i}from"../../prosemirror-model/dist/index2.mjs";const s=Math.pow(2,16);function o(t){return 65535&t}class l{constructor(t,e,r){this.pos=t,this.delInfo=e,this.recover=r}get deleted(){return(8&this.delInfo)>0}get deletedBefore(){return(5&this.delInfo)>0}get deletedAfter(){return(6&this.delInfo)>0}get deletedAcross(){return(4&this.delInfo)>0}}class p{constructor(t,e=!1){if(this.ranges=t,this.inverted=e,!t.length&&p.empty)return p.empty}recover(t){let e=0,r=o(t);if(!this.inverted)for(let t=0;t<r;t++)e+=this.ranges[3*t+2]-this.ranges[3*t+1];return this.ranges[3*r]+e+function(t){return(t-(65535&t))/s}(t)}mapResult(t,e=1){return this._map(t,e,!1)}map(t,e=1){return this._map(t,e,!0)}_map(t,e,r){let n=0,i=this.inverted?2:1,o=this.inverted?1:2;for(let p=0;p<this.ranges.length;p+=3){let a=this.ranges[p]-(this.inverted?n:0);if(a>t)break;let h=this.ranges[p+i],c=this.ranges[p+o],f=a+h;if(t<=f){let i=a+n+((h?t==a?-1:t==f?1:e:e)<0?0:c);if(r)return i;let o=t==(e<0?a:f)?null:p/3+(t-a)*s,d=t==a?2:t==f?1:4;return(e<0?t!=a:t!=f)&&(d|=8),new l(i,d,o)}n+=c-h}return r?t+n:new l(t+n,0,null)}touches(t,e){let r=0,n=o(e),i=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;e<this.ranges.length;e+=3){let o=this.ranges[e]-(this.inverted?r:0);if(o>t)break;let l=this.ranges[e+i];if(t<=o+l&&e==3*n)return!0;r+=this.ranges[e+s]-l}return!1}forEach(t){let e=this.inverted?2:1,r=this.inverted?1:2;for(let n=0,i=0;n<this.ranges.length;n+=3){let s=this.ranges[n],o=s-(this.inverted?i:0),l=s+(this.inverted?0:i),p=this.ranges[n+e],a=this.ranges[n+r];t(o,o+p,l,l+a),i+=a-p}}invert(){return new p(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return 0==t?p.empty:new p(t<0?[0,-t,0]:[0,0,t])}}p.empty=new p([]);class a{constructor(t=[],e,r=0,n=t.length){this.maps=t,this.mirror=e,this.from=r,this.to=n}slice(t=0,e=this.maps.length){return new a(this.maps,this.mirror,t,e)}copy(){return new a(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)}appendMap(t,e){this.to=this.maps.push(t),null!=e&&this.setMirror(this.maps.length-1,e)}appendMapping(t){for(let e=0,r=this.maps.length;e<t.maps.length;e++){let n=t.getMirror(e);this.appendMap(t.maps[e],null!=n&&n<e?r+n:void 0)}}getMirror(t){if(this.mirror)for(let e=0;e<this.mirror.length;e++)if(this.mirror[e]==t)return this.mirror[e+(e%2?-1:1)]}setMirror(t,e){this.mirror||(this.mirror=[]),this.mirror.push(t,e)}appendMappingInverted(t){for(let e=t.maps.length-1,r=this.maps.length+t.maps.length;e>=0;e--){let n=t.getMirror(e);this.appendMap(t.maps[e].invert(),null!=n&&n>e?r-n-1:void 0)}}invert(){let t=new a;return t.appendMappingInverted(this),t}map(t,e=1){if(this.mirror)return this._map(t,e,!0);for(let r=this.from;r<this.to;r++)t=this.maps[r].map(t,e);return t}mapResult(t,e=1){return this._map(t,e,!1)}_map(t,e,r){let n=0;for(let r=this.from;r<this.to;r++){let i=this.maps[r].mapResult(t,e);if(null!=i.recover){let e=this.getMirror(r);if(null!=e&&e>r&&e<this.to){r=e,t=this.maps[e].recover(i.recover);continue}}n|=i.delInfo,t=i.pos}return r?t:new l(t,n,null)}}const h=Object.create(null);class c{getMap(){return p.empty}merge(t){return null}static fromJSON(t,e){if(!e||!e.stepType)throw new RangeError("Invalid input for Step.fromJSON");let r=h[e.stepType];if(!r)throw new RangeError(`No step type ${e.stepType} defined`);return r.fromJSON(t,e)}static jsonID(t,e){if(t in h)throw new RangeError("Duplicate use of step JSON ID "+t);return h[t]=e,e.prototype.jsonID=t,e}}class f{constructor(t,e){this.doc=t,this.failed=e}static ok(t){return new f(t,null)}static fail(t){return new f(null,t)}static fromReplace(t,r,n,i){try{return f.ok(t.replace(r,n,i))}catch(t){if(t instanceof e)return f.fail(t.message);throw t}}}function d(t,e,n){let i=[];for(let r=0;r<t.childCount;r++){let s=t.child(r);s.content.size&&(s=s.copy(d(s.content,e,s))),s.isInline&&(s=e(s,n,r)),i.push(s)}return r.fromArray(i)}class u extends c{constructor(t,e,r){super(),this.from=t,this.to=e,this.mark=r}apply(e){let r=e.slice(this.from,this.to),n=e.resolve(this.from),i=n.node(n.sharedDepth(this.to)),s=new t(d(r.content,((t,e)=>t.isAtom&&e.type.allowsMarkType(this.mark.type)?t.mark(this.mark.addToSet(t.marks)):t),i),r.openStart,r.openEnd);return f.fromReplace(e,this.from,this.to,s)}invert(){return new m(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return e.deleted&&r.deleted||e.pos>=r.pos?null:new u(e.pos,r.pos,this.mark)}merge(t){return t instanceof u&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new u(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new u(e.from,e.to,t.markFromJSON(e.mark))}}c.jsonID("addMark",u);class m extends c{constructor(t,e,r){super(),this.from=t,this.to=e,this.mark=r}apply(e){let r=e.slice(this.from,this.to),n=new t(d(r.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),e),r.openStart,r.openEnd);return f.fromReplace(e,this.from,this.to,n)}invert(){return new u(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return e.deleted&&r.deleted||e.pos>=r.pos?null:new m(e.pos,r.pos,this.mark)}merge(t){return t instanceof m&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new m(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new m(e.from,e.to,t.markFromJSON(e.mark))}}c.jsonID("removeMark",m);class y extends c{constructor(t,e){super(),this.pos=t,this.mark=e}apply(e){let n=e.nodeAt(this.pos);if(!n)return f.fail("No node at mark step's position");let i=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return f.fromReplace(e,this.pos,this.pos+1,new t(r.from(i),0,n.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let r=0;r<e.marks.length;r++)if(!e.marks[r].isInSet(t))return new y(this.pos,e.marks[r]);return new y(this.pos,this.mark)}}return new g(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new y(e.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new y(e.pos,t.markFromJSON(e.mark))}}c.jsonID("addNodeMark",y);class g extends c{constructor(t,e){super(),this.pos=t,this.mark=e}apply(e){let n=e.nodeAt(this.pos);if(!n)return f.fail("No node at mark step's position");let i=n.type.create(n.attrs,null,this.mark.removeFromSet(n.marks));return f.fromReplace(e,this.pos,this.pos+1,new t(r.from(i),0,n.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);return e&&this.mark.isInSet(e.marks)?new y(this.pos,this.mark):this}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new g(e.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new g(e.pos,t.markFromJSON(e.mark))}}c.jsonID("removeNodeMark",g);class w extends c{constructor(t,e,r,n=!1){super(),this.from=t,this.to=e,this.slice=r,this.structure=n}apply(t){return this.structure&&v(t,this.from,this.to)?f.fail("Structure replace would overwrite content"):f.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new p([this.from,this.to-this.from,this.slice.size])}invert(t){return new w(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return e.deletedAcross&&r.deletedAcross?null:new w(e.pos,Math.max(e.pos,r.pos),this.slice)}merge(e){if(!(e instanceof w)||e.structure||this.structure)return null;if(this.from+this.slice.size!=e.from||this.slice.openEnd||e.slice.openStart){if(e.to!=this.from||this.slice.openStart||e.slice.openEnd)return null;{let r=this.slice.size+e.slice.size==0?t.empty:new t(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new w(e.from,this.to,r,this.structure)}}{let r=this.slice.size+e.slice.size==0?t.empty:new t(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new w(this.from,this.to+(e.to-e.from),r,this.structure)}}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(e,r){if("number"!=typeof r.from||"number"!=typeof r.to)throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new w(r.from,r.to,t.fromJSON(e,r.slice),!!r.structure)}}c.jsonID("replace",w);class k extends c{constructor(t,e,r,n,i,s,o=!1){super(),this.from=t,this.to=e,this.gapFrom=r,this.gapTo=n,this.slice=i,this.insert=s,this.structure=o}apply(t){if(this.structure&&(v(t,this.from,this.gapFrom)||v(t,this.gapTo,this.to)))return f.fail("Structure gap-replace would overwrite content");let e=t.slice(this.gapFrom,this.gapTo);if(e.openStart||e.openEnd)return f.fail("Gap is not a flat range");let r=this.slice.insertAt(this.insert,e.content);return r?f.fromReplace(t,this.from,this.to,r):f.fail("Content does not fit in gap")}getMap(){return new p([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let e=this.gapTo-this.gapFrom;return new k(this.from,this.from+this.slice.size+e,this.from+this.insert,this.from+this.insert+e,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let e=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),n=this.from==this.gapFrom?e.pos:t.map(this.gapFrom,-1),i=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return e.deletedAcross&&r.deletedAcross||n<e.pos||i>r.pos?null:new k(e.pos,r.pos,n,i,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(e,r){if("number"!=typeof r.from||"number"!=typeof r.to||"number"!=typeof r.gapFrom||"number"!=typeof r.gapTo||"number"!=typeof r.insert)throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new k(r.from,r.to,r.gapFrom,r.gapTo,t.fromJSON(e,r.slice),r.insert,!!r.structure)}}function v(t,e,r){let n=t.resolve(e),i=r-e,s=n.depth;for(;i>0&&s>0&&n.indexAfter(s)==n.node(s).childCount;)s--,i--;if(i>0){let t=n.node(s).maybeChild(n.indexAfter(s));for(;i>0;){if(!t||t.isLeaf)return!0;t=t.firstChild,i--}}return!1}function S(e,n,i,s=i.contentMatch,o=!0){let l=e.doc.nodeAt(n),p=[],a=n+1;for(let n=0;n<l.childCount;n++){let h=l.child(n),c=a+h.nodeSize,f=s.matchType(h.type);if(f){s=f;for(let t=0;t<h.marks.length;t++)i.allowsMarkType(h.marks[t].type)||e.step(new m(a,c,h.marks[t]));if(o&&h.isText&&"pre"!=i.whitespace){let e,n,s=/\r?\n|\r/g;for(;e=s.exec(h.text);)n||(n=new t(r.from(i.schema.text(" ",i.allowedMarks(h.marks))),0,0)),p.push(new w(a+e.index,a+e.index+e[0].length,n))}}else p.push(new w(a,c,t.empty));a=c}if(!s.validEnd){let n=s.fillBefore(r.empty,!0);e.replace(a,a,new t(n,0,0))}for(let t=p.length-1;t>=0;t--)e.step(p[t])}function M(t,e,r){return(0==e||t.canReplace(e,t.childCount))&&(r==t.childCount||t.canReplace(0,r))}function x(t){let e=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let r=t.depth;;--r){let n=t.$from.node(r),i=t.$from.index(r),s=t.$to.indexAfter(r);if(r<t.depth&&n.canReplace(i,s,e))return r;if(0==r||n.type.spec.isolating||!M(n,i,s))break}return null}function R(t,e,r=null,n=t){let i=function(t,e){let{parent:r,startIndex:n,endIndex:i}=t,s=r.contentMatchAt(n).findWrapping(e);if(!s)return null;let o=s.length?s[0]:e;return r.canReplaceWith(n,i,o)?s:null}(t,e),s=i&&function(t,e){let{parent:r,startIndex:n,endIndex:i}=t,s=r.child(n),o=e.contentMatch.findWrapping(s.type);if(!o)return null;let l=(o.length?o[o.length-1]:e).contentMatch;for(let t=n;l&&t<i;t++)l=l.matchType(r.child(t).type);return l&&l.validEnd?o:null}(n,e);return s?i.map(C).concat({type:e,attrs:r}).concat(s.map(C)):null}function C(t){return{type:t,attrs:null}}function N(t,e,r,n){e.forEach(((i,s)=>{if(i.isText){let o,l=/\r?\n|\r/g;for(;o=l.exec(i.text);){let i=t.mapping.slice(n).map(r+1+s+o.index);t.replaceWith(i,i+1,e.type.schema.linebreakReplacement.create())}}}))}function b(t,e,r,n){e.forEach(((i,s)=>{if(i.type==i.type.schema.linebreakReplacement){let i=t.mapping.slice(n).map(r+1+s);t.replaceWith(i,i+1,e.type.schema.text("\n"))}}))}function I(t,e,r=1,n){let i=t.resolve(e),s=i.depth-r,o=n&&n[n.length-1]||i.parent;if(s<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!o.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let t=i.depth-1,e=r-2;t>s;t--,e--){let r=i.node(t),s=i.index(t);if(r.type.spec.isolating)return!1;let o=r.content.cutByIndex(s,r.childCount),l=n&&n[e+1];l&&(o=o.replaceChild(0,l.type.create(l.attrs)));let p=n&&n[e]||r;if(!r.canReplace(s+1,r.childCount)||!p.type.validContent(o))return!1}let l=i.indexAfter(s),p=n&&n[0];return i.node(s).canReplaceWith(l,l,p?p.type:i.node(s+1).type)}function T(t,e){let r=t.resolve(e),n=r.index();return i=r.nodeBefore,s=r.nodeAfter,!(!i||!s||i.isLeaf||!function(t,e){e.content.size||t.type.compatibleContent(e.type);let r=t.contentMatchAt(t.childCount),{linebreakReplacement:n}=t.type.schema;for(let i=0;i<e.childCount;i++){let s=e.child(i),o=s.type==n?t.type.schema.nodes.text:s.type;if(r=r.matchType(o),!r)return!1;if(!t.type.allowsMarks(s.marks))return!1}return r.validEnd}(i,s))&&r.parent.canReplace(n,n+1);var i,s}function A(t,e,r){let n=t.resolve(e);if(n.parent.canReplaceWith(n.index(),n.index(),r))return e;if(0==n.parentOffset)for(let t=n.depth-1;t>=0;t--){let e=n.index(t);if(n.node(t).canReplaceWith(e,e,r))return n.before(t+1);if(e>0)return null}if(n.parentOffset==n.parent.content.size)for(let t=n.depth-1;t>=0;t--){let e=n.indexAfter(t);if(n.node(t).canReplaceWith(e,e,r))return n.after(t+1);if(e<n.node(t).childCount)return null}return null}function O(t,e,r){let n=t.resolve(e);if(!r.content.size)return e;let i=r.content;for(let t=0;t<r.openStart;t++)i=i.firstChild.content;for(let t=1;t<=(0==r.openStart&&r.size?2:1);t++)for(let e=n.depth;e>=0;e--){let r=e==n.depth?0:n.pos<=(n.start(e+1)+n.end(e+1))/2?-1:1,s=n.index(e)+(r>0?1:0),o=n.node(e),l=!1;if(1==t)l=o.canReplace(s,s,i);else{let t=o.contentMatchAt(s).findWrapping(i.firstChild.type);l=t&&o.canReplaceWith(s,s,t[0])}if(l)return 0==r?n.pos:r<0?n.before(e+1):n.after(e+1)}return null}function E(e,r,n=r,i=t.empty){if(r==n&&!i.size)return null;let s=e.resolve(r),o=e.resolve(n);return J(s,o,i)?new w(r,n,i):new z(s,o,i).fit()}function J(t,e,r){return!r.openStart&&!r.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),r.content)}c.jsonID("replaceAround",k);class z{constructor(t,e,n){this.$from=t,this.$to=e,this.unplaced=n,this.frontier=[],this.placed=r.empty;for(let e=0;e<=t.depth;e++){let r=t.node(e);this.frontier.push({type:r.type,match:r.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=r.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let t=this.findFittable();t?this.placeNodes(t):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),r=this.placed.size-this.depth-this.$from.depth,n=this.$from,i=this.close(e<0?this.$to:n.doc.resolve(e));if(!i)return null;let s=this.placed,o=n.depth,l=i.depth;for(;o&&l&&1==s.childCount;)s=s.firstChild.content,o--,l--;let p=new t(s,o,l);return e>-1?new k(n.pos,e,this.$to.pos,this.$to.end(),p,r):p.size||n.pos!=this.$to.pos?new w(n.pos,i.pos,p):null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,r=0,n=this.unplaced.openEnd;r<t;r++){let i=e.firstChild;if(e.childCount>1&&(n=0),i.type.spec.isolating&&n<=r){t=r;break}e=i.content}for(let e=1;e<=2;e++)for(let n=1==e?t:this.unplaced.openStart;n>=0;n--){let t,i=null;n?(i=B(this.unplaced.content,n-1).firstChild,t=i.content):t=this.unplaced.content;let s=t.firstChild;for(let t=this.depth;t>=0;t--){let o,{type:l,match:p}=this.frontier[t],a=null;if(1==e&&(s?p.matchType(s.type)||(a=p.fillBefore(r.from(s),!1)):i&&l.compatibleContent(i.type)))return{sliceDepth:n,frontierDepth:t,parent:i,inject:a};if(2==e&&s&&(o=p.findWrapping(s.type)))return{sliceDepth:n,frontierDepth:t,parent:i,wrap:o};if(i&&p.matchType(i.type))break}}}openMore(){let{content:e,openStart:r,openEnd:n}=this.unplaced,i=B(e,r);return!(!i.childCount||i.firstChild.isLeaf)&&(this.unplaced=new t(e,r+1,Math.max(n,i.size+r>=e.size-n?r+1:0)),!0)}dropNode(){let{content:e,openStart:r,openEnd:n}=this.unplaced,i=B(e,r);if(i.childCount<=1&&r>0){let s=e.size-r<=r+i.size;this.unplaced=new t(F(e,r-1,1),r-1,s?r-1:n)}else this.unplaced=new t(F(e,r,1),r,n)}placeNodes({sliceDepth:e,frontierDepth:n,parent:i,inject:s,wrap:o}){for(;this.depth>n;)this.closeFrontierNode();if(o)for(let t=0;t<o.length;t++)this.openFrontierNode(o[t]);let l=this.unplaced,p=i?i.content:l.content,a=l.openStart-e,h=0,c=[],{match:f,type:d}=this.frontier[n];if(s){for(let t=0;t<s.childCount;t++)c.push(s.child(t));f=f.matchFragment(s)}let u=p.size+e-(l.content.size-l.openEnd);for(;h<p.childCount;){let t=p.child(h),e=f.matchType(t.type);if(!e)break;h++,(h>1||0==a||t.content.size)&&(f=e,c.push(D(t.mark(d.allowedMarks(t.marks)),1==h?a:0,h==p.childCount?u:-1)))}let m=h==p.childCount;m||(u=-1),this.placed=$(this.placed,n,r.from(c)),this.frontier[n].match=f,m&&u<0&&i&&i.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let t=0,e=p;t<u;t++){let t=e.lastChild;this.frontier.push({type:t.type,match:t.contentMatchAt(t.childCount)}),e=t.content}this.unplaced=m?0==e?t.empty:new t(F(l.content,e-1,1),e-1,u<0?l.openEnd:e-1):new t(F(l.content,e,h),l.openStart,l.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let t,e=this.frontier[this.depth];if(!e.type.isTextblock||!W(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(t=this.findCloseLevel(this.$to))&&t.depth==this.depth)return-1;let{depth:r}=this.$to,n=this.$to.after(r);for(;r>1&&n==this.$to.end(--r);)++n;return n}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:r,type:n}=this.frontier[e],i=e<t.depth&&t.end(e+1)==t.pos+(t.depth-(e+1)),s=W(t,e,n,r,i);if(s){for(let r=e-1;r>=0;r--){let{match:e,type:n}=this.frontier[r],i=W(t,r,n,e,!0);if(!i||i.childCount)continue t}return{depth:e,fit:s,move:i?t.doc.resolve(t.after(e+1)):t}}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;for(;this.depth>e.depth;)this.closeFrontierNode();e.fit.childCount&&(this.placed=$(this.placed,e.depth,e.fit)),t=e.move;for(let r=e.depth+1;r<=t.depth;r++){let e=t.node(r),n=e.type.contentMatch.fillBefore(e.content,!0,t.index(r));this.openFrontierNode(e.type,e.attrs,n)}return t}openFrontierNode(t,e=null,n){let i=this.frontier[this.depth];i.match=i.match.matchType(t),this.placed=$(this.placed,this.depth,r.from(t.create(e,n))),this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop().match.fillBefore(r.empty,!0);t.childCount&&(this.placed=$(this.placed,this.frontier.length,t))}}function F(t,e,r){return 0==e?t.cutByIndex(r,t.childCount):t.replaceChild(0,t.firstChild.copy(F(t.firstChild.content,e-1,r)))}function $(t,e,r){return 0==e?t.append(r):t.replaceChild(t.childCount-1,t.lastChild.copy($(t.lastChild.content,e-1,r)))}function B(t,e){for(let r=0;r<e;r++)t=t.firstChild.content;return t}function D(t,e,n){if(e<=0)return t;let i=t.content;return e>1&&(i=i.replaceChild(0,D(i.firstChild,e-1,1==i.childCount?n-1:0))),e>0&&(i=t.type.contentMatch.fillBefore(i).append(i),n<=0&&(i=i.append(t.type.contentMatch.matchFragment(i).fillBefore(r.empty,!0)))),t.copy(i)}function W(t,e,r,n,i){let s=t.node(e),o=i?t.indexAfter(e):t.index(e);if(o==s.childCount&&!r.compatibleContent(s.type))return null;let l=n.fillBefore(s.content,!0,o);return l&&!function(t,e,r){for(let n=r;n<e.childCount;n++)if(!t.allowsMarks(e.child(n).marks))return!0;return!1}(r,s.content,o)?l:null}function j(t,e,n,i,s){if(e<n){let r=t.firstChild;t=t.replaceChild(0,r.copy(j(r.content,e+1,n,i,r)))}if(e>i){let e=s.contentMatchAt(0),n=e.fillBefore(t).append(t);t=n.append(e.matchFragment(n).fillBefore(r.empty,!0))}return t}function L(t,e){let r=[];for(let n=Math.min(t.depth,e.depth);n>=0;n--){let i=t.start(n);if(i<t.pos-(t.depth-n)||e.end(n)>e.pos+(e.depth-n)||t.node(n).type.spec.isolating||e.node(n).type.spec.isolating)break;(i==e.start(n)||n==t.depth&&n==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&n&&e.start(n-1)==i-1)&&r.push(n)}return r}class _ extends c{constructor(t,e,r){super(),this.pos=t,this.attr=e,this.value=r}apply(e){let n=e.nodeAt(this.pos);if(!n)return f.fail("No node at attribute step's position");let i=Object.create(null);for(let t in n.attrs)i[t]=n.attrs[t];i[this.attr]=this.value;let s=n.type.create(i,null,n.marks);return f.fromReplace(e,this.pos,this.pos+1,new t(r.from(s),0,n.isLeaf?0:1))}getMap(){return p.empty}invert(t){return new _(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new _(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if("number"!=typeof e.pos||"string"!=typeof e.attr)throw new RangeError("Invalid input for AttrStep.fromJSON");return new _(e.pos,e.attr,e.value)}}c.jsonID("attr",_);class q extends c{constructor(t,e){super(),this.attr=t,this.value=e}apply(t){let e=Object.create(null);for(let r in t.attrs)e[r]=t.attrs[r];e[this.attr]=this.value;let r=t.type.create(e,t.content,t.marks);return f.ok(r)}getMap(){return p.empty}invert(t){return new q(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if("string"!=typeof e.attr)throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new q(e.attr,e.value)}}c.jsonID("docAttr",q);let G=class extends Error{};G=function t(e){let r=Error.call(this,e);return r.__proto__=t.prototype,r},(G.prototype=Object.create(Error.prototype)).constructor=G,G.prototype.name="TransformError";class H{constructor(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new a}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new G(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);return e.failed||this.addStep(t,e.doc),e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=e}replace(e,r=e,n=t.empty){let i=E(this.doc,e,r,n);return i&&this.step(i),this}replaceWith(e,n,i){return this.replace(e,n,new t(r.from(i),0,0))}delete(e,r){return this.replace(e,r,t.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(e,r,n){return function(e,r,n,i){if(!i.size)return e.deleteRange(r,n);let s=e.doc.resolve(r),o=e.doc.resolve(n);if(J(s,o,i))return e.step(new w(r,n,i));let l=L(s,e.doc.resolve(n));0==l[l.length-1]&&l.pop();let p=-(s.depth+1);l.unshift(p);for(let t=s.depth,e=s.pos-1;t>0;t--,e--){let r=s.node(t).type.spec;if(r.defining||r.definingAsContext||r.isolating)break;l.indexOf(t)>-1?p=t:s.before(t)==e&&l.splice(1,0,-t)}let a=l.indexOf(p),h=[],c=i.openStart;for(let t=i.content,e=0;;e++){let r=t.firstChild;if(h.push(r),e==i.openStart)break;t=r.content}for(let t=c-1;t>=0;t--){let e=h[t],r=(f=e.type).spec.defining||f.spec.definingForContent;if(r&&!e.sameMarkup(s.node(Math.abs(p)-1)))c=t;else if(r||!e.type.isTextblock)break}var f;for(let r=i.openStart;r>=0;r--){let p=(r+c+1)%(i.openStart+1),f=h[p];if(f)for(let r=0;r<l.length;r++){let h=l[(r+a)%l.length],c=!0;h<0&&(c=!1,h=-h);let d=s.node(h-1),u=s.index(h-1);if(d.canReplaceWith(u,u,f.type,f.marks))return e.replace(s.before(h),c?o.after(h):n,new t(j(i.content,0,i.openStart,p),p,i.openEnd))}}let d=e.steps.length;for(let t=l.length-1;t>=0&&(e.replace(r,n,i),!(e.steps.length>d));t--){let e=l[t];e<0||(r=s.before(e),n=o.after(e))}}(this,e,r,n),this}replaceRangeWith(e,n,i){return function(e,n,i,s){if(!s.isInline&&n==i&&e.doc.resolve(n).parent.content.size){let t=A(e.doc,n,s.type);null!=t&&(n=i=t)}e.replaceRange(n,i,new t(r.from(s),0,0))}(this,e,n,i),this}deleteRange(t,e){return function(t,e,r){let n=t.doc.resolve(e),i=t.doc.resolve(r),s=L(n,i);for(let e=0;e<s.length;e++){let r=s[e],o=e==s.length-1;if(o&&0==r||n.node(r).type.contentMatch.validEnd)return t.delete(n.start(r),i.end(r));if(r>0&&(o||n.node(r-1).canReplace(n.index(r-1),i.indexAfter(r-1))))return t.delete(n.before(r),i.after(r))}for(let s=1;s<=n.depth&&s<=i.depth;s++)if(e-n.start(s)==n.depth-s&&r>n.end(s)&&i.end(s)-r!=i.depth-s&&n.start(s-1)==i.start(s-1)&&n.node(s-1).canReplace(n.index(s-1),i.index(s-1)))return t.delete(n.before(s),r);t.delete(e,r)}(this,t,e),this}lift(e,n){return function(e,n,i){let{$from:s,$to:o,depth:l}=n,p=s.before(l+1),a=o.after(l+1),h=p,c=a,f=r.empty,d=0;for(let t=l,e=!1;t>i;t--)e||s.index(t)>0?(e=!0,f=r.from(s.node(t).copy(f)),d++):h--;let u=r.empty,m=0;for(let t=l,e=!1;t>i;t--)e||o.after(t+1)<o.end(t)?(e=!0,u=r.from(o.node(t).copy(u)),m++):c++;e.step(new k(h,c,p,a,new t(f.append(u),d,m),f.size-d,!0))}(this,e,n),this}join(e,r=1){return function(e,r,n){let i=null,{linebreakReplacement:s}=e.doc.type.schema,o=e.doc.resolve(r-n),l=o.node().type;if(s&&l.inlineContent){let t="pre"==l.whitespace,e=!!l.contentMatch.matchType(s);t&&!e?i=!1:!t&&e&&(i=!0)}let p=e.steps.length;if(!1===i){let t=e.doc.resolve(r+n);b(e,t.node(),t.before(),p)}l.inlineContent&&S(e,r+n-1,l,o.node().contentMatchAt(o.index()),null==i);let a=e.mapping.slice(p),h=a.map(r-n);if(e.step(new w(h,a.map(r+n,-1),t.empty,!0)),!0===i){let t=e.doc.resolve(h);N(e,t.node(),t.before(),e.steps.length)}}(this,e,r),this}wrap(e,n){return function(e,n,i){let s=r.empty;for(let t=i.length-1;t>=0;t--){if(s.size){let e=i[t].type.contentMatch.matchFragment(s);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}s=r.from(i[t].type.create(i[t].attrs,s))}let o=n.start,l=n.end;e.step(new k(o,l,o,l,new t(s,0,0),i.length,!0))}(this,e,n),this}setBlockType(e,n=e,i,s=null){return function(e,n,i,s,o){if(!s.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let l=e.steps.length;e.doc.nodesBetween(n,i,((n,i)=>{let p="function"==typeof o?o(n):o;if(n.isTextblock&&!n.hasMarkup(s,p)&&function(t,e,r){let n=t.resolve(e),i=n.index();return n.parent.canReplaceWith(i,i+1,r)}(e.doc,e.mapping.slice(l).map(i),s)){let o=null;if(s.schema.linebreakReplacement){let t="pre"==s.whitespace,e=!!s.contentMatch.matchType(s.schema.linebreakReplacement);t&&!e?o=!1:!t&&e&&(o=!0)}!1===o&&b(e,n,i,l),S(e,e.mapping.slice(l).map(i,1),s,void 0,null===o);let a=e.mapping.slice(l),h=a.map(i,1),c=a.map(i+n.nodeSize,1);return e.step(new k(h,c,h+1,c-1,new t(r.from(s.create(p,null,n.marks)),0,0),1,!0)),!0===o&&N(e,n,i,l),!1}}))}(this,e,n,i,s),this}setNodeMarkup(e,n,i=null,s){return function(e,n,i,s,o){let l=e.doc.nodeAt(n);if(!l)throw new RangeError("No node at given position");i||(i=l.type);let p=i.create(s,null,o||l.marks);if(l.isLeaf)return e.replaceWith(n,n+l.nodeSize,p);if(!i.validContent(l.content))throw new RangeError("Invalid content for node type "+i.name);e.step(new k(n,n+l.nodeSize,n+1,n+l.nodeSize-1,new t(r.from(p),0,0),1,!0))}(this,e,n,i,s),this}setNodeAttribute(t,e,r){return this.step(new _(t,e,r)),this}setDocAttribute(t,e){return this.step(new q(t,e)),this}addNodeMark(t,e){return this.step(new y(t,e)),this}removeNodeMark(t,e){if(!(e instanceof n)){let r=this.doc.nodeAt(t);if(!r)throw new RangeError("No node at position "+t);if(!(e=e.isInSet(r.marks)))return this}return this.step(new g(t,e)),this}split(e,n=1,i){return function(e,n,i=1,s){let o=e.doc.resolve(n),l=r.empty,p=r.empty;for(let t=o.depth,e=o.depth-i,n=i-1;t>e;t--,n--){l=r.from(o.node(t).copy(l));let e=s&&s[n];p=r.from(e?e.type.create(e.attrs,p):o.node(t).copy(p))}e.step(new w(n,n,new t(l.append(p),i,i),!0))}(this,e,n,i),this}addMark(t,e,r){return function(t,e,r,n){let i,s,o=[],l=[];t.doc.nodesBetween(e,r,((t,p,a)=>{if(!t.isInline)return;let h=t.marks;if(!n.isInSet(h)&&a.type.allowsMarkType(n.type)){let a=Math.max(p,e),c=Math.min(p+t.nodeSize,r),f=n.addToSet(h);for(let t=0;t<h.length;t++)h[t].isInSet(f)||(i&&i.to==a&&i.mark.eq(h[t])?i.to=c:o.push(i=new m(a,c,h[t])));s&&s.to==a?s.to=c:l.push(s=new u(a,c,n))}})),o.forEach((e=>t.step(e))),l.forEach((e=>t.step(e)))}(this,t,e,r),this}removeMark(t,e,r){return function(t,e,r,n){let s=[],o=0;t.doc.nodesBetween(e,r,((t,l)=>{if(!t.isInline)return;o++;let p=null;if(n instanceof i){let e,r=t.marks;for(;e=n.isInSet(r);)(p||(p=[])).push(e),r=e.removeFromSet(r)}else n?n.isInSet(t.marks)&&(p=[n]):p=t.marks;if(p&&p.length){let n=Math.min(l+t.nodeSize,r);for(let t=0;t<p.length;t++){let r,i=p[t];for(let t=0;t<s.length;t++){let e=s[t];e.step==o-1&&i.eq(s[t].style)&&(r=e)}r?(r.to=n,r.step=o):s.push({style:i,from:Math.max(l,e),to:n,step:o})}}})),s.forEach((e=>t.step(new m(e.from,e.to,e.style))))}(this,t,e,r),this}clearIncompatible(t,e,r){return S(this,t,e,r),this}}export{u as AddMarkStep,y as AddNodeMarkStep,_ as AttrStep,q as DocAttrStep,l as MapResult,a as Mapping,m as RemoveMarkStep,g as RemoveNodeMarkStep,k as ReplaceAroundStep,w as ReplaceStep,c as Step,p as StepMap,f as StepResult,H as Transform,G as TransformError,T as canJoin,I as canSplit,O as dropPoint,R as findWrapping,A as insertPoint,x as liftTarget,E as replaceStep};
|
2
|
-
//# sourceMappingURL=index.mjs.map
|