@ncino/web-components 9.0.0-preview.5 → 9.0.0-preview.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_commonjsHelpers.js +1 -1
- package/dist/_virtual/index.js +1 -1
- package/dist/assets/node_modules/.pnpm/ckeditor5@47.3.0/node_modules/ckeditor5/dist/ckeditor5.css +1 -0
- package/dist/components/input/gator/input-phone/input-phone.gator.js +1 -1
- package/dist/components/input-rich-text/ckeditor-config.js +1 -1
- package/dist/components/input-rich-text/input-rich-text.slds.js +2 -2
- package/dist/components/panel/gator/panel.storybook-test.js +1 -1
- package/dist/design-tokens.source.json +1 -0
- package/dist/generated/locale-codes.js +1 -0
- package/dist/generated/locales/es-419.js +10 -0
- package/dist/generated/locales/fr-CA.js +10 -0
- package/dist/generated/locales/zh-Hans.js +11 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-alignment@46.1.1 → @ckeditor_ckeditor5-alignment@47.3.0}/node_modules/@ckeditor/ckeditor5-alignment/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-autoformat@46.1.1 → @ckeditor_ckeditor5-autoformat@47.3.0}/node_modules/@ckeditor/ckeditor5-autoformat/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-autosave@46.1.1 → @ckeditor_ckeditor5-autosave@47.3.0}/node_modules/@ckeditor/ckeditor5-autosave/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-basic-styles@46.1.1 → @ckeditor_ckeditor5-basic-styles@47.3.0}/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-block-quote@46.1.1 → @ckeditor_ckeditor5-block-quote@47.3.0}/node_modules/@ckeditor/ckeditor5-block-quote/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-clipboard@47.3.0/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +8 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-cloud-services@46.1.1 → @ckeditor_ckeditor5-cloud-services@47.3.0}/node_modules/@ckeditor/ckeditor5-cloud-services/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-code-block@46.1.1 → @ckeditor_ckeditor5-code-block@47.3.0}/node_modules/@ckeditor/ckeditor5-code-block/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-editor-classic@46.1.1 → @ckeditor_ckeditor5-editor-classic@47.3.0}/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-engine@47.3.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +3 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-enter@46.1.1 → @ckeditor_ckeditor5-enter@47.3.0}/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-essentials@46.1.1 → @ckeditor_ckeditor5-essentials@47.3.0}/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-find-and-replace@46.1.1 → @ckeditor_ckeditor5-find-and-replace@47.3.0}/node_modules/@ckeditor/ckeditor5-find-and-replace/dist/index.js +2 -2
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-font@46.1.1 → @ckeditor_ckeditor5-font@47.3.0}/node_modules/@ckeditor/ckeditor5-font/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-heading@46.1.1 → @ckeditor_ckeditor5-heading@47.3.0}/node_modules/@ckeditor/ckeditor5-heading/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-highlight@46.1.1 → @ckeditor_ckeditor5-highlight@47.3.0}/node_modules/@ckeditor/ckeditor5-highlight/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-horizontal-line@46.1.1 → @ckeditor_ckeditor5-horizontal-line@47.3.0}/node_modules/@ckeditor/ckeditor5-horizontal-line/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-embed@47.3.0/node_modules/@ckeditor/ckeditor5-html-embed/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-support@47.3.0/node_modules/@ckeditor/ckeditor5-html-support/dist/index.js +3 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-icons@46.1.1 → @ckeditor_ckeditor5-icons@47.3.0}/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-image@47.3.0/node_modules/@ckeditor/ckeditor5-image/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-indent@46.1.1 → @ckeditor_ckeditor5-indent@47.3.0}/node_modules/@ckeditor/ckeditor5-indent/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-language@46.1.1 → @ckeditor_ckeditor5-language@47.3.0}/node_modules/@ckeditor/ckeditor5-language/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-link@47.3.0/node_modules/@ckeditor/ckeditor5-link/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-list@47.3.0/node_modules/@ckeditor/ckeditor5-list/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-markdown-gfm@46.1.1 → @ckeditor_ckeditor5-markdown-gfm@47.3.0}/node_modules/@ckeditor/ckeditor5-markdown-gfm/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-media-embed@46.1.1 → @ckeditor_ckeditor5-media-embed@47.3.0}/node_modules/@ckeditor/ckeditor5-media-embed/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-mention@46.1.1 → @ckeditor_ckeditor5-mention@47.3.0}/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-page-break@47.3.0/node_modules/@ckeditor/ckeditor5-page-break/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-paragraph@46.1.1 → @ckeditor_ckeditor5-paragraph@47.3.0}/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-paste-from-office@47.3.0/node_modules/@ckeditor/ckeditor5-paste-from-office/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-remove-format@46.1.1 → @ckeditor_ckeditor5-remove-format@47.3.0}/node_modules/@ckeditor/ckeditor5-remove-format/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-select-all@46.1.1 → @ckeditor_ckeditor5-select-all@47.3.0}/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-show-blocks@46.1.1 → @ckeditor_ckeditor5-show-blocks@47.3.0}/node_modules/@ckeditor/ckeditor5-show-blocks/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-source-editing@46.1.1 → @ckeditor_ckeditor5-source-editing@47.3.0}/node_modules/@ckeditor/ckeditor5-source-editing/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-special-characters@47.3.0/node_modules/@ckeditor/ckeditor5-special-characters/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-style@46.1.1 → @ckeditor_ckeditor5-style@47.3.0}/node_modules/@ckeditor/ckeditor5-style/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-table@47.3.0/node_modules/@ckeditor/ckeditor5-table/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-typing@46.1.1 → @ckeditor_ckeditor5-typing@47.3.0}/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-undo@46.1.1 → @ckeditor_ckeditor5-undo@47.3.0}/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-upload@46.1.1 → @ckeditor_ckeditor5-upload@47.3.0}/node_modules/@ckeditor/ckeditor5-upload/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +8 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-widget@47.3.0/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_expect@4.0.15/node_modules/@vitest/expect/dist/index.js +58 -0
- package/dist/node_modules/.pnpm/@vitest_pretty-format@4.0.15/node_modules/@vitest/pretty-format/dist/index.js +5 -0
- package/dist/node_modules/.pnpm/@vitest_runner@4.0.15/node_modules/@vitest/runner/dist/chunk-tasks.js +2 -0
- package/dist/node_modules/.pnpm/@vitest_runner@4.0.15/node_modules/@vitest/runner/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@vitest_snapshot@4.0.15/node_modules/@vitest/snapshot/dist/index.js +21 -0
- package/dist/node_modules/.pnpm/@vitest_spy@4.0.15/node_modules/@vitest/spy/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/diff.js +42 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/display.js +2 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/error.js +2 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/helpers.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/serialize.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/source-map.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@4.0.15/node_modules/@vitest/utils/dist/timers.js +1 -0
- package/dist/node_modules/.pnpm/chai@6.2.1/node_modules/chai/index.js +2 -0
- package/dist/node_modules/.pnpm/tinyrainbow@3.0.3/node_modules/tinyrainbow/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.js +1 -1
- package/dist/node_modules/.pnpm/vitest@4.0.15_@types_node@24.10.1_@vitest_browser-playwright@4.0.15_@vitest_ui@4.0.15_j_fb60b0c8197ead7c9a3bf797f7983b25/node_modules/vitest/browser/context.js +1 -0
- package/dist/node_modules/.pnpm/vitest@4.0.15_@types_node@24.10.1_@vitest_browser-playwright@4.0.15_@vitest_ui@4.0.15_j_fb60b0c8197ead7c9a3bf797f7983b25/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +1 -0
- package/dist/node_modules/.pnpm/vitest@4.0.15_@types_node@24.10.1_@vitest_browser-playwright@4.0.15_@vitest_ui@4.0.15_j_fb60b0c8197ead7c9a3bf797f7983b25/node_modules/vitest/dist/chunks/utils.DvEY5TfP.js +8 -0
- package/dist/node_modules/.pnpm/vitest@4.0.15_@types_node@24.10.1_@vitest_browser-playwright@4.0.15_@vitest_ui@4.0.15_j_fb60b0c8197ead7c9a3bf797f7983b25/node_modules/vitest/dist/chunks/vi.2VT5v0um.js +11 -0
- package/dist/types/generated/locale-codes.d.ts +13 -0
- package/dist/types/generated/locales/es-419.d.ts +65 -0
- package/dist/types/generated/locales/fr-CA.d.ts +65 -0
- package/dist/types/generated/locales/zh-Hans.d.ts +65 -0
- package/dist/utils/vitest-a11y-utils.js +1 -1
- package/package.json +21 -20
- package/web-types.json +1 -1
- package/dist/_virtual/___vite-browser-external.js +0 -1
- package/dist/_virtual/__vite-browser-external.js +0 -1
- package/dist/_virtual/api-request.js +0 -1
- package/dist/_virtual/constants.js +0 -1
- package/dist/_virtual/events.js +0 -1
- package/dist/_virtual/external.js +0 -1
- package/dist/_virtual/external2.js +0 -1
- package/dist/_virtual/external3.js +0 -1
- package/dist/_virtual/external_types.js +0 -1
- package/dist/_virtual/fetch.js +0 -1
- package/dist/_virtual/figma_client.js +0 -1
- package/dist/_virtual/figma_rest_api.js +0 -1
- package/dist/_virtual/helpers.js +0 -1
- package/dist/_virtual/index10.js +0 -1
- package/dist/_virtual/index11.js +0 -1
- package/dist/_virtual/index12.js +0 -1
- package/dist/_virtual/index2.js +0 -1
- package/dist/_virtual/index3.js +0 -1
- package/dist/_virtual/index4.js +0 -1
- package/dist/_virtual/index5.js +0 -1
- package/dist/_virtual/index6.js +0 -1
- package/dist/_virtual/index7.js +0 -1
- package/dist/_virtual/index8.js +0 -1
- package/dist/_virtual/index9.js +0 -1
- package/dist/_virtual/index_common.js +0 -1
- package/dist/_virtual/index_html.js +0 -1
- package/dist/_virtual/index_html2.js +0 -1
- package/dist/_virtual/index_react.js +0 -1
- package/dist/_virtual/index_react2.js +0 -1
- package/dist/_virtual/inherits_browser.js +0 -1
- package/dist/_virtual/logging.js +0 -1
- package/dist/_virtual/main.js +0 -1
- package/dist/_virtual/main2.js +0 -1
- package/dist/_virtual/mock-interceptor.js +0 -1
- package/dist/_virtual/react.production.js +0 -1
- package/dist/_virtual/string_decoder.js +0 -1
- package/dist/_virtual/template_literal.js +0 -1
- package/dist/_virtual/types.js +0 -1
- package/dist/_virtual/updates.js +0 -1
- package/dist/_virtual/util.js +0 -1
- package/dist/_virtual/utils.js +0 -1
- package/dist/assets/node_modules/.pnpm/ckeditor5@46.1.1/node_modules/ckeditor5/dist/ckeditor5.css +0 -1
- package/dist/components/accordion/gator/base/accordion.gator.figma.js +0 -10
- package/dist/components/accordion/gator/group/accordion-group.gator.figma.js +0 -3
- package/dist/components/alert/alert.gator.figma.js +0 -7
- package/dist/components/avatar/gator/avatar.gator.figma.js +0 -9
- package/dist/components/banner/gator/banner.gator.figma.js +0 -8
- package/dist/components/boolean/boolean.gator.figma.js +0 -11
- package/dist/components/breadcrumbs/gator/breadcrumb/breadcrumb.gator.figma.js +0 -3
- package/dist/components/breadcrumbs/gator/container/breadcrumbs.gator.figma.js +0 -5
- package/dist/components/button/gator/button.gator.figma.js +0 -12
- package/dist/components/button-group/gator/button-group.gator.figma.js +0 -7
- package/dist/components/icon/gator/icon.gator.figma.js +0 -7
- package/dist/components/icon/gator/icons.gator.figma.js +0 -1
- package/dist/components/text-detail/gator/text-detail.gator.figma.js +0 -30
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-clipboard@46.1.1/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +0 -8
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +0 -3
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-embed@46.1.1/node_modules/@ckeditor/ckeditor5-html-embed/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-support@46.1.1/node_modules/@ckeditor/ckeditor5-html-support/dist/index.js +0 -3
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-image@46.1.1/node_modules/@ckeditor/ckeditor5-image/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-link@46.1.1/node_modules/@ckeditor/ckeditor5-link/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-list@46.1.1/node_modules/@ckeditor/ckeditor5-list/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-page-break@46.1.1/node_modules/@ckeditor/ckeditor5-page-break/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-paste-from-office@46.1.1/node_modules/@ckeditor/ckeditor5-paste-from-office/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-special-characters@46.1.1/node_modules/@ckeditor/ckeditor5-special-characters/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-table@46.1.1/node_modules/@ckeditor/ckeditor5-table/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +0 -8
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-widget@46.1.1/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +0 -3
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +0 -3
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/main.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/types/multipart.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/types/urlencoded.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/Decoder.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/basename.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/decodeText.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/getLimit.js +0 -1
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/parseParams.js +0 -3
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/client/external.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/client/figma_client.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/common/fetch.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/common/logging.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/common/updates.js +0 -4
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/connect/external_types.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/connect/figma_rest_api.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/connect/helpers.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/connect/index_common.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/html/external.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/html/index_html.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/html/template_literal.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/react/external.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/dist/react/index_react.js +0 -1
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.9/node_modules/@figma/code-connect/package.json.js +0 -1
- package/dist/node_modules/.pnpm/@vitest_browser@3.2.4_msw@2.7.3_@types_node@24.10.1_typescript@5.9.3__playwright@1.57.0_4c7b68e67853c98910921d3bcdc3c508/node_modules/@vitest/browser/context.js +0 -1
- package/dist/node_modules/.pnpm/@vitest_expect@3.2.4/node_modules/@vitest/expect/dist/index.js +0 -58
- package/dist/node_modules/.pnpm/@vitest_pretty-format@3.2.4/node_modules/@vitest/pretty-format/dist/index.js +0 -5
- package/dist/node_modules/.pnpm/@vitest_runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js +0 -5
- package/dist/node_modules/.pnpm/@vitest_snapshot@3.2.4/node_modules/@vitest/snapshot/dist/index.js +0 -21
- package/dist/node_modules/.pnpm/@vitest_spy@3.2.4/node_modules/@vitest/spy/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js +0 -1
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/diff.js +0 -42
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/error.js +0 -2
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/helpers.js +0 -1
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/source-map.js +0 -1
- package/dist/node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js +0 -1
- package/dist/node_modules/.pnpm/available-typed-arrays@1.0.7/node_modules/available-typed-arrays/index.js +0 -1
- package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -1
- package/dist/node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js +0 -1
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js +0 -1
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js +0 -1
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js +0 -1
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js +0 -1
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js +0 -1
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js +0 -1
- package/dist/node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js +0 -1
- package/dist/node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js +0 -1
- package/dist/node_modules/.pnpm/chai@5.3.3/node_modules/chai/index.js +0 -2
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js +0 -2
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js +0 -2
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js +0 -4
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +0 -1
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +0 -1
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +0 -1
- package/dist/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +0 -1
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/compare.js +0 -1
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/compareVersions.js +0 -1
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/index.js +0 -1
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/satisfies.js +0 -1
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/utils.js +0 -1
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/validate.js +0 -1
- package/dist/node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js +0 -1
- package/dist/node_modules/.pnpm/dotenv@16.6.1/node_modules/dotenv/lib/main.js +0 -3
- package/dist/node_modules/.pnpm/dotenv@16.6.1/node_modules/dotenv/package.json.js +0 -1
- package/dist/node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js +0 -1
- package/dist/node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js +0 -1
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js +0 -1
- package/dist/node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js +0 -1
- package/dist/node_modules/.pnpm/events@3.3.0/node_modules/events/events.js +0 -1
- package/dist/node_modules/.pnpm/for-each@0.3.5/node_modules/for-each/index.js +0 -1
- package/dist/node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js +0 -1
- package/dist/node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js +0 -1
- package/dist/node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js +0 -1
- package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js +0 -1
- package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -1
- package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js +0 -1
- package/dist/node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js +0 -1
- package/dist/node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js +0 -1
- package/dist/node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js +0 -1
- package/dist/node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js +0 -1
- package/dist/node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js +0 -1
- package/dist/node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js +0 -1
- package/dist/node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js +0 -1
- package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -1
- package/dist/node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js +0 -1
- package/dist/node_modules/.pnpm/is-arguments@1.2.0/node_modules/is-arguments/index.js +0 -1
- package/dist/node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js +0 -1
- package/dist/node_modules/.pnpm/is-generator-function@1.1.0/node_modules/is-generator-function/index.js +0 -1
- package/dist/node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js +0 -1
- package/dist/node_modules/.pnpm/is-typed-array@1.1.15/node_modules/is-typed-array/index.js +0 -1
- package/dist/node_modules/.pnpm/js-tokens@9.0.1/node_modules/js-tokens/index.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/arguments.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/array.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/bigint.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/class.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/date.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/error.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/function.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/helpers.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/html.js +0 -2
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/index.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/map.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/number.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/object.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/promise.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/regexp.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/set.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/string.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/symbol.js +0 -1
- package/dist/node_modules/.pnpm/loupe@3.2.1/node_modules/loupe/lib/typedarray.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js +0 -1
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js +0 -1
- package/dist/node_modules/.pnpm/possible-typed-array-names@1.1.0/node_modules/possible-typed-array-names/index.js +0 -1
- package/dist/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js +0 -1
- package/dist/node_modules/.pnpm/react@19.2.0/node_modules/react/index.js +0 -1
- package/dist/node_modules/.pnpm/safe-buffer@5.1.2/node_modules/safe-buffer/index.js +0 -1
- package/dist/node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js +0 -1
- package/dist/node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js +0 -1
- package/dist/node_modules/.pnpm/string_decoder@1.1.1/node_modules/string_decoder/lib/string_decoder.js +0 -1
- package/dist/node_modules/.pnpm/strip-literal@3.1.0/node_modules/strip-literal/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/browser.js +0 -1
- package/dist/node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/browser.js +0 -1
- package/dist/node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js +0 -1
- package/dist/node_modules/.pnpm/tinyspy@4.0.4/node_modules/tinyspy/dist/index.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/index.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/agent.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/abort-signal.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-connect.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-pipeline.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-request.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-stream.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-upgrade.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/index.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/readable.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/util.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/balanced-pool.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/cache.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/cachestorage.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/symbols.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/util.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/client.js +0 -26
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/compat/dispatcher-weakref.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/constants.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/index.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/parse.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/util.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/connect.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/constants.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/errors.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/request.js +0 -5
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/symbols.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/util.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/dispatcher-base.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/dispatcher.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/body.js +0 -9
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/constants.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/dataURL.js +0 -3
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/file.js +0 -3
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/formdata.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/global.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/headers.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/index.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/request.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/response.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/symbols.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/util.js +0 -2
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/webidl.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/encoding.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/filereader.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/progressevent.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/symbols.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/util.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/global.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/handler/DecoratorHandler.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/handler/RedirectHandler.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/handler/RetryHandler.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/interceptor/redirectInterceptor.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/constants.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/utils.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-agent.js +0 -5
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-client.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-errors.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-interceptor.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-pool.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-symbols.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-utils.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/pluralizer.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/node/fixed-queue.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/pool-base.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/pool-stats.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/pool.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/proxy-agent.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/timers.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/connection.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/constants.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/events.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/frame.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/receiver.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/symbols.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/util.js +0 -1
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/websocket.js +0 -1
- package/dist/node_modules/.pnpm/util@0.12.5/node_modules/util/support/isBufferBrowser.js +0 -1
- package/dist/node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js +0 -1
- package/dist/node_modules/.pnpm/util@0.12.5/node_modules/util/util.js +0 -10
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.10.1_@vitest_browser@3.2.4_@vitest_ui@3_6e27007ba0535c26eedf5a22febb1842/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js +0 -1
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.10.1_@vitest_browser@3.2.4_@vitest_ui@3_6e27007ba0535c26eedf5a22febb1842/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js +0 -1
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.10.1_@vitest_browser@3.2.4_@vitest_ui@3_6e27007ba0535c26eedf5a22febb1842/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js +0 -8
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.10.1_@vitest_browser@3.2.4_@vitest_ui@3_6e27007ba0535c26eedf5a22febb1842/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js +0 -12
- package/dist/node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js +0 -1
- /package/dist/node_modules/.pnpm/{@ckeditor_ckeditor5-watchdog@46.1.1 → @ckeditor_ckeditor5-watchdog@47.3.0}/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/ParseError.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/PhoneNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/constants.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/format.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/RFC3966.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/getNumberType.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/isObject.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/parseDigits.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/isPossible.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/isValid.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/metadata.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/normalizeArguments.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/parse.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/parsePhoneNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/es6/tools/semver-compare.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/metadata.min.json.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js +0 -0
- /package/dist/node_modules/.pnpm/{libphonenumber-js@1.12.30 → libphonenumber-js@1.12.31}/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/_browser-chunks/chunk-A242L54C.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/_browser-chunks/chunk-EZSQOHRI.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/_browser-chunks/chunk-JP7NCOJX.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/_browser-chunks/chunk-RP5RXKFU.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/_browser-chunks/chunk-ZUWEVLDX.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/client-logger/index.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/core-events/index.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/instrumenter/index.js +0 -0
- /package/dist/node_modules/.pnpm/{storybook@10.1.2_@testing-library_dom@10.4.1_prettier@3.6.2_react-dom@19.2.0_react@19.2.0__react@19.2.0 → storybook@10.1.4_@testing-library_dom@10.4.1_prettier@3.7.4_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/storybook/dist/test/index.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Plugin as h,Command as v}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Delete as Rt}from"../../../../../@ckeditor_ckeditor5-typing@47.3.0/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{Enter as Mt}from"../../../../../@ckeditor_ckeditor5-enter@47.3.0/node_modules/@ckeditor/ckeditor5-enter/dist/index.js";import{CKEditorError as Dt,getCode as $t,toArray as S,first as D,parseKeystroke as zt,getLocalizedArrowKeyCodeDirection as Ut,env as G,uid as jt,FocusTracker as et,KeystrokeHandler as it,global as Wt}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{_normalizeFontSizeOptions as st}from"../../../../../@ckeditor_ckeditor5-font@47.3.0/node_modules/@ckeditor/ckeditor5-font/dist/index.js";import{ClipboardPipeline as qt}from"../../../../../@ckeditor_ckeditor5-clipboard@47.3.0/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{createDropdown as Kt,SplitButtonView as Ht,MenuBarMenuView as Yt,ButtonView as Z,MenuBarMenuListItemButtonView as Gt,focusChildOnDropdownOpen as Zt,View as nt,ViewCollection as Jt,FocusCycler as Qt,addKeyboardHandlingForGrid as Xt,CollapsibleView as te,LabeledFieldView as ee,createLabeledInputNumber as ie,SwitchButtonView as se}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{IconListStyleDisc as ne,IconListStyleCircle as re,IconListStyleSquare as oe,IconListStyleDecimal as le,IconListStyleDecimalLeadingZero as ae,IconListStyleLowerRoman as ce,IconListStyleUpperRoman as ue,IconListStyleLowerLatin as de,IconListStyleUpperLatin as me,IconBulletedList as J,IconNumberedList as Q,IconTodoList as fe}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{DomEventObserver as pe,Matcher as kt}from"../../../../../@ckeditor_ckeditor5-engine@47.3.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";class y{_startElement;_referenceIndent;_isForward;_includeSelf;_sameAttributes;_sameIndent;_lowerIndent;_higherIndent;constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward=e.direction=="forward",this._includeSelf=!!e.includeSelf,this._sameAttributes=S(e.sameAttributes||[]),this._sameIndent=!!e.sameIndent,this._lowerIndent=!!e.lowerIndent,this._higherIndent=!!e.higherIndent}static first(t,e){const s=new this(t,e)[Symbol.iterator]();return D(s)}*[Symbol.iterator](){const t=[];for(const{node:e}of new V(this._getStartNode(),this._isForward?"forward":"backward")){const i=e.getAttribute("listIndent");if(i<this._referenceIndent){if(!this._lowerIndent)break;this._referenceIndent=i}else if(i>this._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){t.length&&(yield*t,t.length=0);break}continue}if(this._sameAttributes.some(s=>e.getAttribute(s)!==this._startElement.getAttribute(s)))break}t.length&&(yield*t,t.length=0),yield e}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}class V{_node;_isForward;_previousNodesByIndent=[];_previous=null;_previousNodeIndent=null;constructor(t,e="forward"){this._node=t,this._isForward=e==="forward"}[Symbol.iterator](){return this}next(){if(!p(this._node))return{done:!0,value:void 0};const t=this._node.getAttribute("listIndent");let e=null;if(this._previous){const s=this._previousNodeIndent;t>s?this._previousNodesByIndent[s]=this._previous:t<s?(e=this._previousNodesByIndent[t]||null,this._previousNodesByIndent.length=t):e=this._previous}const i={node:this._node,previous:this._previous,previousNodeInList:e};return this._previous=this._node,this._previousNodeIndent=t,this._node=this._isForward?this._node.nextSibling:this._node.previousSibling,{value:i,done:!1}}}class ge{_listHead;constructor(t){this._listHead=t}[Symbol.iterator](){return new V(this._listHead)}}class x{static next(){return jt()}}function p(n){return!!n&&n.is("element")&&n.hasAttribute("listItemId")}function T(n,t={}){return[..._(n,{...t,direction:"backward"}),..._(n,{...t,direction:"forward"})]}function _(n,t={}){const e=t.direction=="forward",i=Array.from(new y(n,{...t,includeSelf:e,sameIndent:!0,sameAttributes:"listItemId"}));return e?i:i.reverse()}function he(n){return Array.from(new y(n,{direction:"forward",higherIndent:!0}))}function At(n,t){const e=new y(n,{sameIndent:!0,sameAttributes:"listType",...t}),i=new y(n,{sameIndent:!0,sameAttributes:"listType",includeSelf:!0,direction:"forward",...t});return[...Array.from(e).reverse(),...i]}function L(n){return!y.first(n,{sameIndent:!0,sameAttributes:"listItemId"})}function rt(n){return!y.first(n,{direction:"forward",sameIndent:!0,sameAttributes:"listItemId"})}function O(n,t={}){n=S(n);const e=t.withNested!==!1,i=new Set;for(const s of n)for(const r of T(s,{higherIndent:e}))i.add(r);return C(i)}function $(n){n=S(n);const t=new Set;for(const e of n)for(const i of At(e))t.add(i);return C(t)}function X(n,t){const e=_(n,{direction:"forward"}),i=x.next();for(const s of e)t.setAttribute("listItemId",i,s);return e}function W(n,t,e){const i={};for(const[r,o]of t.getAttributes())r.startsWith("list")&&(i[r]=o);const s=_(n,{direction:"forward"});for(const r of s)e.setAttributes(i,r);return s}function q(n,t,{expand:e,indentBy:i=1}={}){n=S(n);const s=e?O(n):n;for(const r of s){const o=r.getAttribute("listIndent")+i;o<0?z(r,t):t.setAttribute("listIndent",o,r)}return s}function be(n,t){n=S(n);const e=O(n),i=new Set,s=Math.min(...e.map(o=>o.getAttribute("listIndent"))),r=new Map;for(const o of e)r.set(o,y.first(o,{lowerIndent:!0}));for(const o of e){if(i.has(o))continue;i.add(o);const l=o.getAttribute("listIndent")-1;if(l<0){z(o,t);continue}if(o.getAttribute("listIndent")==s){const a=ye(o,r.get(o),t);for(const c of a)i.add(c);if(a.length)continue}t.setAttribute("listIndent",l,o)}return C(i)}function z(n,t){n=S(n);for(const e of n)e.is("element","listItem")&&t.rename(e,"paragraph");for(const e of n)for(const i of e.getAttributeKeys())i.startsWith("list")&&t.removeAttribute(i,e);return n}function E(n){if(!n.length)return!1;const t=n[0].getAttribute("listItemId");return t?!n.some(e=>e.getAttribute("listItemId")!=t):!1}function Ie(n,t){const e=[];let i=Number.POSITIVE_INFINITY;for(const{node:s}of new V(n.nextSibling)){const r=s.getAttribute("listIndent");if(r==0)break;r<i&&(i=r);const o=r-i;t.setAttribute("listIndent",o,s),e.push(s)}return e}function C(n){return Array.from(n).filter(t=>t.root.rootName!=="$graveyard").sort((t,e)=>t.index-e.index)}function P(n){const t=n.document.selection.getSelectedElement();return t&&n.schema.isObject(t)&&n.schema.isBlock(t)?t:null}function U(n,t){return t.checkChild(n.parent,"listItem")&&t.checkChild(n,"$text")&&!t.isObject(n)}function M(n){return n=="numbered"||n=="customNumbered"}function ye(n,t,e){return _(t,{direction:"forward"}).pop().index>n.index?W(n,t,e):[]}class ot extends v{_direction;constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=lt(t.document.selection);t.change(i=>{const s=[];E(e)&&!L(e[0])?(this._direction=="forward"&&s.push(...q(e,i)),s.push(...X(e[0],i))):this._direction=="forward"?s.push(...q(e,i,{expand:!0})):s.push(...be(e,i));for(const r of s){if(!r.hasAttribute("listType"))continue;const o=y.first(r,{sameIndent:!0});o&&i.setAttribute("listType",o.getAttribute("listType"),r)}this._fireAfterExecute(s)})}_fireAfterExecute(t){this.fire("afterExecute",C(new Set(t)))}_checkEnabled(){let t=lt(this.editor.model.document.selection),e=t[0];if(!e)return!1;if(this._direction=="backward"||E(t)&&!L(t[0]))return!0;t=O(t),e=t[0];const i=y.first(e,{sameIndent:!0});return i?i.getAttribute("listType")==e.getAttribute("listType"):!1}}function lt(n){const t=Array.from(n.getSelectedBlocks()),e=t.findIndex(i=>!p(i));return e!=-1&&(t.length=e),t}class F extends v{type;_listWalkerOptions;constructor(t,e,i={}){super(t),this.type=e,this._listWalkerOptions=i.multiLevel?{higherIndent:!0,lowerIndent:!0,sameAttributes:[]}:void 0}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,s=P(e),r=Array.from(i.selection.getSelectedBlocks()).filter(l=>e.schema.checkAttribute(l,"listType")||U(l,e.schema)),o=t.forceValue!==void 0?!t.forceValue:this.value;e.change(l=>{if(o){const a=r[r.length-1],c=_(a,{direction:"forward"}),u=[];c.length>1&&u.push(...X(c[1],l)),u.push(...z(r,l)),u.push(...Ie(a,l)),this._fireAfterExecute(u)}else if((s||i.selection.isCollapsed)&&p(r[0])){const a=At(s||r[0],this._listWalkerOptions);for(const c of a)l.setAttributes({...t.additionalAttributes,listType:this.type},c);this._fireAfterExecute(a)}else{const a=[];for(const c of r)if(!c.hasAttribute("listType"))!c.is("element","listItem")&&U(c,e.schema)&&l.rename(c,"listItem"),l.setAttributes({...t.additionalAttributes,listIndent:0,listItemId:x.next(),listType:this.type},c),a.push(c);else for(const u of O(c,{withNested:!1}))u.getAttribute("listType")!=this.type&&(l.setAttributes({...t.additionalAttributes,listType:this.type},u),a.push(u));this._fireAfterExecute(a)}})}_fireAfterExecute(t){this.fire("afterExecute",C(new Set(t)))}_getValue(){const t=this.editor.model.document.selection,e=Array.from(t.getSelectedBlocks());if(!e.length)return!1;for(const i of e)if(i.getAttribute("listType")!=this.type)return!1;return!0}_checkEnabled(){const t=this.editor.model,e=t.schema,i=t.document.selection,s=Array.from(i.getSelectedBlocks());if(!s.length)return!1;if(this.value)return!0;for(const r of s)if(e.checkAttribute(r,"listType")||U(r,e))return!0;return!1}}class at extends v{_direction;constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=!1}={}){const e=this.editor.model,i=e.document.selection,s=[];e.change(r=>{const{firstElement:o,lastElement:l}=this._getMergeSubjectElements(i,t),a=o.getAttribute("listIndent")||0,c=l.getAttribute("listIndent"),u=l.getAttribute("listItemId");if(a!=c){const d=he(l);s.push(...q([l,...d],r,{indentBy:a-c,expand:a<c}))}if(t){let d=i;i.isCollapsed&&(d=r.createSelection(r.createRange(r.createPositionAt(o,"end"),r.createPositionAt(l,0)))),e.deleteContent(d,{doNotResetEntireContent:i.isCollapsed});const f=d.getLastPosition().parent,m=f.nextSibling;s.push(f),m&&m!==l&&m.getAttribute("listItemId")==u&&s.push(...W(m,f,r))}else s.push(...W(l,o,r));this._fireAfterExecute(s)})}_fireAfterExecute(t){this.fire("afterExecute",C(new Set(t)))}_checkEnabled(){const t=this.editor.model,e=t.document.selection,i=P(t);if(e.isCollapsed||i){const s=i||e.getFirstPosition().parent;if(!p(s))return!1;const r=this._direction=="backward"?s.previousSibling:s.nextSibling;if(!r||E([s,r]))return!1}else{const s=e.getLastPosition(),r=e.getFirstPosition();if(s.parent===r.parent||!p(s.parent))return!1}return!0}_getMergeSubjectElements(t,e){const i=this.editor.model,s=P(i);let r,o;if(t.isCollapsed||s){const l=s||t.getFirstPosition().parent,a=L(l);this._direction=="backward"?(o=l,a&&!e?r=y.first(l,{sameIndent:!0,lowerIndent:!0}):r=l.previousSibling):(r=l,o=l.nextSibling)}else r=t.getFirstPosition().parent,o=t.getLastPosition().parent;return{firstElement:r,lastElement:o}}}class ct extends v{_direction;constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){this.editor.model.change(e=>{const i=X(this._getStartBlock(),e);this._fireAfterExecute(i)})}_fireAfterExecute(t){this.fire("afterExecute",C(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&p(e)&&!L(e)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class ke extends h{static get pluginName(){return"ListItemBoldIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[b]}init(){const t=this.editor,e=t.plugins.get("ListFormatting"),i=t.plugins.get(b);!t.plugins.has("BoldEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.registerFormatAttribute("bold","listItemBold"),i.registerDowncastStrategy({scope:"item",attributeName:"listItemBold",setAttributeOnDowncast(s,r,o,l){r&&(s.addClass("ck-list-marker-bold",o),G.isSafari&&!(l&&l.dataPipeline)&&s.setStyle("--ck-content-list-marker-dummy-bold","0",o))}}))}afterInit(){const t=this.editor,e=t.model;!t.plugins.has("BoldEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.schema.extend("$listItem",{allowAttributes:"listItemBold"}),e.schema.setAttributeProperties("listItemBold",{isFormatting:!0}),e.schema.addAttributeCheck(i=>{if(!i.last.getAttribute("listItemId"))return!1},"listItemBold"),t.conversion.for("upcast").attributeToAttribute({model:"listItemBold",view:{name:"li",classes:"ck-list-marker-bold"}}))}}class Ae extends h{static get pluginName(){return"ListItemItalicIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[b]}init(){const t=this.editor,e=t.plugins.get("ListFormatting"),i=t.plugins.get(b);!t.plugins.has("ItalicEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.registerFormatAttribute("italic","listItemItalic"),i.registerDowncastStrategy({scope:"item",attributeName:"listItemItalic",setAttributeOnDowncast(s,r,o,l){r&&(s.addClass("ck-list-marker-italic",o),G.isSafari&&!(l&&l.dataPipeline)&&s.setStyle("--ck-content-list-marker-dummy-italic","0",o))}}))}afterInit(){const t=this.editor,e=t.model;!t.plugins.has("ItalicEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.schema.extend("$listItem",{allowAttributes:"listItemItalic"}),e.schema.setAttributeProperties("listItemItalic",{isFormatting:!0}),e.schema.addAttributeCheck(i=>{if(!i.last.getAttribute("listItemId"))return!1},"listItemItalic"),t.conversion.for("upcast").attributeToAttribute({model:"listItemItalic",view:{name:"li",classes:"ck-list-marker-italic"}}))}}class Le extends h{static get pluginName(){return"ListItemFontSizeIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[b]}init(){const t=this.editor,e=t.plugins.get("ListFormatting"),i=t.plugins.get(b);if(!t.plugins.has("FontSizeEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting"))return;const s=st(t.config.get("fontSize.options"));e.registerFormatAttribute("fontSize","listItemFontSize"),i.registerDowncastStrategy({scope:"item",attributeName:"listItemFontSize",setAttributeOnDowncast(r,o,l,a){if(o){const c=s.find(u=>u.model==o);c&&c.view&&typeof c.view!="string"?c.view.styles?(r.addClass("ck-list-marker-font-size",l),r.setStyle("--ck-content-list-marker-font-size",c.view.styles["font-size"],l)):c.view.classes&&(r.addClass(`ck-list-marker-font-size-${o}`,l),G.isSafari&&!(a&&a.dataPipeline)&&r.setStyle("--ck-content-list-marker-dummy-font-size","0",l)):(r.addClass("ck-list-marker-font-size",l),r.setStyle("--ck-content-list-marker-font-size",o,l))}}})}afterInit(){const t=this.editor,e=t.model;if(!t.plugins.has("FontSizeEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting"))return;e.schema.extend("$listItem",{allowAttributes:"listItemFontSize"}),e.schema.setAttributeProperties("listItemFontSize",{isFormatting:!0}),e.schema.addAttributeCheck(s=>{if(!s.last.getAttribute("listItemId"))return!1},"listItemFontSize"),t.conversion.for("upcast").elementToAttribute({model:{key:"listItemFontSize",value:s=>s.getStyle("--ck-content-list-marker-font-size")},view:{name:"li",classes:"ck-list-marker-font-size",styles:{"--ck-content-list-marker-font-size":/.*/}}});const i=st(t.config.get("fontSize.options"));for(const s of i)s.model&&s.view&&t.conversion.for("upcast").elementToAttribute({model:{key:"listItemFontSize",value:s.model},view:{name:"li",classes:`ck-list-marker-font-size-${s.model}`}})}}class we extends h{static get pluginName(){return"ListItemFontColorIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[b]}init(){const t=this.editor,e=t.plugins.get("ListFormatting"),i=t.plugins.get(b);!t.plugins.has("FontColorEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.registerFormatAttribute("fontColor","listItemFontColor"),i.registerDowncastStrategy({scope:"item",attributeName:"listItemFontColor",setAttributeOnDowncast(s,r,o){r&&(s.addClass("ck-list-marker-color",o),s.setStyle("--ck-content-list-marker-color",r,o))}}))}afterInit(){const t=this.editor,e=t.model;!t.plugins.has("FontColorEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.schema.extend("$listItem",{allowAttributes:"listItemFontColor"}),e.schema.setAttributeProperties("listItemFontColor",{isFormatting:!0}),e.schema.addAttributeCheck(i=>{if(!i.last.getAttribute("listItemId"))return!1},"listItemFontColor"),t.conversion.for("upcast").attributeToAttribute({model:{key:"listItemFontColor",value:i=>i.getStyle("--ck-content-list-marker-color")},view:{name:"li",classes:"ck-list-marker-color",styles:{"--ck-content-list-marker-color":/.*/}}}))}}class Te extends h{static get pluginName(){return"ListItemFontFamilyIntegration"}static get isOfficialPlugin(){return!0}static get requires(){return[b]}init(){const t=this.editor,e=t.plugins.get("ListFormatting"),i=t.plugins.get(b);!t.plugins.has("FontFamilyEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.registerFormatAttribute("fontFamily","listItemFontFamily"),i.registerDowncastStrategy({scope:"item",attributeName:"listItemFontFamily",setAttributeOnDowncast(s,r,o){r&&(s.addClass("ck-list-marker-font-family",o),s.setStyle("--ck-content-list-marker-font-family",r,o))}}))}afterInit(){const t=this.editor,e=t.model;!t.plugins.has("FontFamilyEditing")||!this.editor.config.get("list.enableListItemMarkerFormatting")||(e.schema.extend("$listItem",{allowAttributes:"listItemFontFamily"}),e.schema.setAttributeProperties("listItemFontFamily",{isFormatting:!0}),e.schema.addAttributeCheck(i=>{if(!i.last.getAttribute("listItemId"))return!1},"listItemFontFamily"),t.conversion.for("upcast").attributeToAttribute({model:{key:"listItemFontFamily",value:i=>i.getStyle("--ck-content-list-marker-font-family")},view:{name:"li",classes:"ck-list-marker-font-family",styles:{"--ck-content-list-marker-font-family":/.*/}}}))}}class Se extends h{_loadedFormatting={};static get pluginName(){return"ListFormatting"}static get isOfficialPlugin(){return!0}static get requires(){return[ke,Ae,Le,we,Te]}constructor(t){super(t),t.config.define("list.enableListItemMarkerFormatting",!0)}afterInit(){this.editor.config.get("list.enableListItemMarkerFormatting")&&this._registerPostfixerForListItemFormatting()}_registerPostfixerForListItemFormatting(){const t=this.editor.model;t.document.registerPostFixer(e=>{const i=t.document.differ.getChanges(),s=new Set;let r=!1;for(const o of i)if(o.type==="attribute")(o.attributeKey=="listItemId"||o.attributeKey=="listType"||this._isInlineOrSelectionFormatting(o.attributeKey)||Object.values(this._loadedFormatting).includes(o.attributeKey))&&(p(o.range.start.nodeAfter)?s.add(o.range.start.nodeAfter):p(o.range.start.parent)&&s.add(o.range.start.parent));else if(p(o.position.nodeAfter)&&s.add(o.position.nodeAfter),p(o.position.nodeBefore)&&s.add(o.position.nodeBefore),p(o.position.parent)&&s.add(o.position.parent),o.type=="insert"&&o.name!="$text"){const l=e.createRangeIn(o.position.nodeAfter);for(const a of l.getItems())p(a)&&s.add(a)}for(const o of s){const l=_e(t,o,Object.keys(this._loadedFormatting));for(const[a,c]of Object.entries(l)){const u=this._loadedFormatting[a];(c&&ve(e,o,u,c)||!c&&Ce(e,o,u))&&(r=!0)}}return r})}registerFormatAttribute(t,e){this._loadedFormatting[t]=e}_isInlineOrSelectionFormatting(t){return t.replace(/^selection:/,"")in this._loadedFormatting}}function _e(n,t,e){if(L(t))return ut(n,t,e);const i=T(t);return ut(n,i[0],e)}function ut(n,t,e){if(!xe(t)||n.schema.isLimit(t))return Object.fromEntries(e.map(l=>[l]));if(t.isEmpty)return Object.fromEntries(e.map(l=>[l,t.getAttribute(`selection:${l}`)]));const i=new Set(e),s={},o=n.createRangeIn(t).getWalker({ignoreElementEnd:!0});for(const{item:l}of o){for(const a of i)if(n.schema.checkAttribute(l,a)){const c=l.getAttribute(a);c===void 0?(i.delete(a),s[a]=void 0):s[a]===void 0?s[a]=c:s[a]!==c&&(i.delete(a),s[a]=void 0)}else a in s||(s[a]=void 0);if(!i.size)break;n.schema.isLimit(l)&&o.jumpTo(n.createPositionAfter(l))}return s}function ve(n,t,e,i){const s=T(t);let r=!1;for(const o of s)(!o.hasAttribute(e)||o.getAttribute(e)!==i)&&(n.setAttribute(e,i,o),r=!0);return r}function Ce(n,t,e){const i=T(t);let s=!1;for(const r of i)r.hasAttribute(e)&&(n.removeAttribute(e,r),s=!0);return s}function xe(n){return["numbered","bulleted","customNumbered","customBulleted"].includes(n.getAttribute("listType"))}class Be extends h{static get pluginName(){return"ListUtils"}static get isOfficialPlugin(){return!0}expandListBlocksToCompleteList(t){return $(t)}isFirstBlockOfListItem(t){return L(t)}isListItemBlock(t){return p(t)}expandListBlocksToCompleteItems(t,e={}){return O(t,e)}isNumberedListType(t){return M(t)}}function Fe(n){return n.is("element","ol")||n.is("element","ul")}function K(n){return n.is("element","li")}function Ee(n){let t=0,e=n.parent;for(;e;){if(K(e))t++;else{const i=e.previousSibling;i&&K(i)&&t++}e=e.parent}return t}function Pe(n,t,e,i=wt(e,t)){return n.createAttributeElement(Lt(e),null,{priority:2*t/100-100,id:i})}function Ve(n,t,e){return n.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:e})}function Lt(n){return n=="numbered"||n=="customNumbered"?"ol":"ul"}function wt(n,t){return`list-${n}-${t}`}function A(n,t,e){const i=n.nodeBefore;if(p(i)){let s=i;for(const{node:r}of new V(s,"backward"))if(s=r,e.has(s)||(e.add(s),t.has(i)))return;t.add(s)}else{const s=n.nodeAfter;p(s)&&t.add(s)}}function Oe(n,t){let e=0,i=-1,s=null,r=!1;for(const{node:o}of n){const l=o.getAttribute("listIndent");if(l>e){let a;s===null?(s=l-e,a=e):(s>l&&(s=l),a=l-s),a>i+1&&(a=i+1),t.setAttribute("listIndent",a,o),r=!0,i=a}else s=null,e=l+1,i=l}return r}function Ne(n,t,e){const i=new Set;let s=!1;for(const{node:r}of n){if(i.has(r))continue;let o=r.getAttribute("listType"),l=r.getAttribute("listItemId");if(t.has(l)&&(l=x.next()),t.add(l),r.is("element","listItem")){r.getAttribute("listItemId")!=l&&(e.setAttribute("listItemId",l,r),s=!0);continue}for(const a of _(r,{direction:"forward"}))i.add(a),a.getAttribute("listType")!=o&&(l=x.next(),o=a.getAttribute("listType")),a.getAttribute("listItemId")!=l&&(e.setAttribute("listItemId",l,a),s=!0)}return s}function Re(){return(n,t,e)=>{const{writer:i,schema:s}=e;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter(d=>s.checkAttribute(d,"listItemId"));if(!r.length)return;const o=t.viewItem.getAttribute("data-list-item-id")||x.next();e.consumable.consume(t.viewItem,{attributes:"data-list-item-id"});const l=Ee(t.viewItem);let a=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const c=r[0].getAttribute("listType");c&&(a=c);const u={listItemId:o,listIndent:l,listType:a};for(const d of r)d.hasAttribute("listItemId")||i.setAttributes(u,d);r.length>1&&r[1].getAttribute("listItemId")!=u.listItemId&&e.keepEmptyElement(r[0])}}function Me(n,t,e,i){return()=>{const a=n.document.differ.getChanges(),c=[],u=new Set,d=new Set,f=new Set;for(const m of a)if(m.type=="insert"&&m.name!="$text")A(m.position,u,f),m.attributes.has("listItemId")?d.add(m.position.nodeAfter):A(m.position.getShiftedBy(m.length),u,f);else if(m.type=="remove"&&m.attributes.has("listItemId"))A(m.position,u,f);else if(m.type=="attribute"){const g=m.range.start.nodeAfter;e.includes(m.attributeKey)?(A(m.range.start,u,f),m.attributeNewValue===null?(A(m.range.start.getShiftedBy(1),u,f),r(g)&&c.push(g)):d.add(g)):p(g)&&r(g)&&c.push(g)}for(const m of u.values())c.push(...s(m,d));for(const m of new Set(c))t.reconvertItem(m)};function s(a,c){const u=[],d=new Set,f=[];for(const{node:m,previous:g}of new V(a)){if(d.has(m))continue;const k=m.getAttribute("listIndent");g&&k<g.getAttribute("listIndent")&&(f.length=k+1),f[k]={modelAttributes:Object.fromEntries(Array.from(m.getAttributes()).filter(([I])=>e.includes(I))),modelElement:m};const w=_(m,{direction:"forward"});for(const I of w)d.add(I),(r(I,w)||l(I,f,c))&&u.push(I)}return u}function r(a,c){const u=t.mapper.toViewElement(a);if(!u)return!1;if(o(u)||i.fire("checkElement",{modelElement:a,viewElement:u}))return!0;if(!a.is("element","paragraph")&&!a.is("element","listItem"))return!1;const f=St(a,e,c);return f&&u.is("element","p")?!0:!!(!f&&u.is("element","span"))}function o(a){for(a=a.parent;a.is("attributeElement")&&["ol","ul","li"].includes(a.name);)a=a.parent;return!!(a.getCustomProperty("$structureSlotParent")&&!t.mapper.toModelElement(a))}function l(a,c,u){if(u.has(a))return!1;const d=t.mapper.toViewElement(a);let f=c.length-1;for(let m=d.parent;!m.is("editableElement");m=m.parent){const g=K(m),k=Fe(m);if(!k&&!g)continue;const w=`checkAttributes:${g?"item":"list"}`;if(i.fire(w,{viewElement:m,modelAttributes:c[f].modelAttributes,modelReferenceElement:c[f].modelElement}))break;if(k&&(f--,f<0))return!1}return!0}}function dt(n,t,e,{dataPipeline:i}={}){const s=qe(n,t);return(r,o,l)=>{const{writer:a,mapper:c,consumable:u}=l,d=o.item;if(!n.includes(o.attributeKey)||!s(d,u))return;const f={...l.options,dataPipeline:i},m=$e(d,c,e,a);Tt(m,a,c),je(m,a);const g=Ue(d,m,t,a,f);We(d,g,t,a,f)}}function De(n){return(t,e,i)=>{const{writer:s,mapper:r}=i,o=t.name.split(":")[1];if(!n.checkAttribute(o,"listItemId"))return;const l=r.toViewPosition(e.position),a=e.position.getShiftedBy(e.length),c=r.toViewPosition(a,{isPhantom:!0}),d=s.createRange(l,c).getTrimmed().end.nodeBefore;d&&Tt(d,s,r)}}function mt(n,{dataPipeline:t}={}){return(e,{writer:i})=>{if(!St(e,n))return null;if(!t)return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const s=i.createContainerElement("p");return i.setCustomProperty("dataPipeline:transparentRendering",!0,s),s}}function $e(n,t,e,i){const s=e.createRangeOn(n),o=t.toViewRange(s).getTrimmed().getWalker();for(const{item:l}of o)if(l.is("element")&&l.getCustomProperty("listItemMarker"))o.jumpTo(i.createPositionAfter(l));else if(l.is("element")&&!l.getCustomProperty("listItemWrapper"))return l}function ze(n,t){return(e,i)=>{if(i.modelPosition.offset>0)return;const s=i.modelPosition.parent;if(!p(s)||!n.some(c=>c.scope=="itemMarker"&&c.canInjectMarkerIntoElement&&c.canInjectMarkerIntoElement(s)))return;const r=i.mapper.toViewElement(s),o=t.createRangeIn(r),l=o.getWalker();let a=o.start;for(const{item:c}of l){if(c.is("element")&&i.mapper.toModelElement(c)||c.is("$textProxy"))break;c.is("element")&&c.getCustomProperty("listItemMarker")&&(a=t.createPositionAfter(c),l.skip(({previousPosition:u})=>!u.isEqual(a)))}i.viewPosition=a}}function Tt(n,t,e){for(;n.parent.is("attributeElement")&&n.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeOn(n),n.parent);const i=[];s(t.createPositionBefore(n).getWalker({direction:"backward"})),s(t.createRangeIn(n).getWalker());for(const r of i)t.remove(r);function s(r){for(const{item:o}of r){if(o.is("element")&&e.toModelElement(o))break;o.is("element")&&o.getCustomProperty("listItemMarker")&&i.push(o)}}}function Ue(n,t,e,i,{dataPipeline:s}){let r=i.createRangeOn(t);if(!L(n))return r;for(const o of e){if(o.scope!="itemMarker")continue;const l=o.createElement(i,n,{dataPipeline:s});if(!l||(i.setCustomProperty("listItemMarker",!0,l),o.canInjectMarkerIntoElement&&o.canInjectMarkerIntoElement(n)?i.insert(i.createPositionAt(t,0),l):(i.insert(r.start,l),r=i.createRange(i.createPositionBefore(l),i.createPositionAfter(t))),!o.createWrapperElement||!o.canWrapElement))continue;const a=o.createWrapperElement(i,n,{dataPipeline:s});i.setCustomProperty("listItemWrapper",!0,a),o.canWrapElement(n)?r=i.wrap(r,a):(r=i.wrap(i.createRangeOn(l),a),r=i.createRange(r.start,i.createPositionAfter(t)))}return r}function je(n,t){let e=n.parent;for(;e.is("attributeElement")&&["ul","ol","li"].includes(e.name);){const i=e.parent;t.unwrap(t.createRangeOn(n),e),e=i}}function We(n,t,e,i,s){if(!n.hasAttribute("listIndent"))return;const r=n.getAttribute("listIndent");let o=n;for(let l=r;l>=0;l--){const a=Ve(i,l,o.getAttribute("listItemId")),c=Pe(i,l,o.getAttribute("listType"));for(const u of e)(u.scope=="list"||u.scope=="item")&&o.hasAttribute(u.attributeName)&&u.setAttributeOnDowncast(i,o.getAttribute(u.attributeName),u.scope=="list"?c:a,s,o);if(t=i.wrap(t,a),t=i.wrap(t,c),l==0||(o=y.first(o,{lowerIndent:!0}),!o))break}}function qe(n,t){const e=t.filter(i=>i.consume===!1).map(i=>i.attributeName);return(i,s)=>{const r=[];for(const o of n)i.hasAttribute(o)&&!e.includes(o)&&r.push(`attribute:${o}`);return r.every(o=>s.test(i,o)!==!1)?(r.forEach(o=>s.consume(i,o)),!0):!1}}function St(n,t,e=T(n)){if(!p(n))return!1;for(const i of n.getAttributeKeys())if(!(i.startsWith("selection:")||i=="htmlEmptyBlock")&&!t.includes(i))return!1;return e.length<2}const R=["listType","listIndent","listItemId"];class b extends h{_downcastStrategies=[];static get pluginName(){return"ListEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[Mt,Rt,Be,qt,Se]}constructor(t){super(t),t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,i=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new Dt("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:R}),i?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const s of R)e.schema.setAttributeProperties(s,{copyOnReplace:!0});t.commands.add("numberedList",new F(t,"numbered")),t.commands.add("bulletedList",new F(t,"bulleted")),t.commands.add("customNumberedList",new F(t,"customNumbered",{multiLevel:!0})),t.commands.add("customBulletedList",new F(t,"customBulleted",{multiLevel:!0})),t.commands.add("indentList",new ot(t,"forward")),t.commands.add("outdentList",new ot(t,"backward")),t.commands.add("splitListItemBefore",new ct(t,"before")),t.commands.add("splitListItemAfter",new ct(t,"after")),i&&(t.commands.add("mergeListItemBackward",new at(t,"backward")),t.commands.add("mergeListItemForward",new at(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration(),this._setupAccessibilityIntegration(),this._setupListItemIdConversionStrategy()}afterInit(){const e=this.editor.commands,i=e.get("indent"),s=e.get("outdent");i&&i.registerChildCommand(e.get("indentList"),{priority:"high"}),s&&s.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...R,...this._downcastStrategies.map(t=>t.attributeName)]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),i=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",(s,r)=>{const o=t.model.document.selection;P(t.model)||t.model.change(()=>{const l=o.getFirstPosition();if(o.isCollapsed&&r.direction=="backward"){if(!l.isAtStart)return;const a=l.parent;if(!p(a))return;if(!y.first(a,{sameAttributes:"listType",sameIndent:!0})&&a.getAttribute("listIndent")===0)rt(a)||t.execute("splitListItemAfter"),t.execute("outdentList");else{if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:ft(t.model,"backward")})}r.preventDefault(),s.stop()}else{if(o.isCollapsed&&!o.getLastPosition().isAtEnd||!i||!i.isEnabled)return;i.execute({shouldMergeOnBlocksContentLevel:ft(t.model,"forward")}),r.preventDefault(),s.stop()}})},{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,i=t.commands,s=i.get("enter");this.listenTo(t.editing.view.document,"enter",(r,o)=>{const l=e.document,a=l.selection.getFirstPosition().parent;if(l.selection.isCollapsed&&p(a)&&a.isEmpty&&!o.isSoft){const c=L(a),u=rt(a);c&&u?(t.execute("outdentList"),o.preventDefault(),r.stop()):c&&!u?(t.execute("splitListItemAfter"),o.preventDefault(),r.stop()):u&&(t.execute("splitListItemBefore"),o.preventDefault(),r.stop())}},{context:"li"}),this.listenTo(s,"afterExecute",()=>{const r=i.get("splitListItemBefore");if(r.refresh(),!r.isEnabled)return;const l=t.model.document.selection.getLastPosition().parent;T(l).length===2&&r.execute()})}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",(e,i)=>{const s=i.shiftKey?"outdentList":"indentList";this.editor.commands.get(s).isEnabled&&(t.execute(s),i.stopPropagation(),i.preventDefault(),e.stop())},{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,i=this.getListAttributeNames(),s=t.config.get("list.multiBlock"),r=s?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(l,{writer:a})=>a.createElement(r,{listType:""})}).elementToElement({view:"p",model:(l,{writer:a})=>l.parent&&l.parent.is("element","li")?a.createElement(r,{listType:""}):null,converterPriority:"high"}).add(l=>{l.on("element:li",Re())}),s||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:r,view:mt(i),converterPriority:"high"}).add(l=>{l.on("attribute",dt(i,this._downcastStrategies,e)),l.on("remove",De(e.schema))}),t.conversion.for("dataDowncast").elementToElement({model:r,view:mt(i,{dataPipeline:!0}),converterPriority:"high"}).add(l=>{l.on("attribute",dt(i,this._downcastStrategies,e,{dataPipeline:!0}))});const o=ze(this._downcastStrategies,t.editing.view);t.editing.mapper.on("modelToViewPosition",o),t.data.mapper.on("modelToViewPosition",o),this.listenTo(e.document,"change:data",Me(e,t.editing,i,this),{priority:"high"}),this.on("checkAttributes:item",(l,{viewElement:a,modelAttributes:c})=>{a.id!=c.listItemId&&(l.return=!0,l.stop())}),this.on("checkAttributes:list",(l,{viewElement:a,modelAttributes:c})=>{(a.name!=Lt(c.listType)||a.id!=wt(c.listType,c.listIndent))&&(l.return=!0,l.stop())})}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer(i=>Ke(t,i,e,this)),this.on("postFixer",(i,{listNodes:s,writer:r})=>{i.return=Oe(s,r)||i.return},{priority:"high"}),this.on("postFixer",(i,{listNodes:s,writer:r,seenIds:o})=>{i.return=Ne(s,o,r)||i.return},{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",He(t),{priority:"high"}),this.listenTo(e,"outputTransformation",(i,s)=>{t.change(r=>{const o=Array.from(s.content.getChildren()),l=o[o.length-1];if(o.length>1&&l.is("element")&&l.isEmpty&&o.slice(0,-1).every(p)&&r.remove(l),s.method=="copy"||s.method=="cut"){const a=Array.from(s.content.getChildren());E(a)&&z(a,r)}})})}_setupAccessibilityIntegration(){const t=this.editor,e=t.t;t.accessibility.addKeystrokeInfoGroup({id:"list",label:e("Keystrokes that can be used in a list"),keystrokes:[{label:e("Increase list item indent"),keystroke:"Tab"},{label:e("Decrease list item indent"),keystroke:"Shift+Tab"}]})}_setupListItemIdConversionStrategy(){this.registerDowncastStrategy({scope:"item",attributeName:"listItemId",setAttributeOnDowncast(t,e,i,s){s&&(s.skipListItemIds||s.isClipboardPipeline)||t.setAttribute("data-list-item-id",e,i)}})}}function Ke(n,t,e,i){const s=n.document.differ.getChanges(),r=new Set,o=new Set,l=i.editor.config.get("list.multiBlock");let a=!1;for(const u of s){if(u.type=="insert"&&u.name!="$text"){const d=u.position.nodeAfter;if(!n.schema.checkAttribute(d,"listItemId"))for(const f of Array.from(d.getAttributeKeys()))e.includes(f)&&(t.removeAttribute(f,d),a=!0);A(u.position,o,r),u.attributes.has("listItemId")||A(u.position.getShiftedBy(u.length),o,r);for(const{item:f,previousPosition:m}of n.createRangeIn(d))p(f)&&A(m,o,r)}else u.type=="remove"?A(u.position,o,r):u.type=="attribute"&&e.includes(u.attributeKey)&&(A(u.range.start,o,r),u.attributeNewValue===null&&A(u.range.start.getShiftedBy(1),o,r));if(!l&&u.type=="attribute"&&R.includes(u.attributeKey)){const d=u.range.start.nodeAfter;u.attributeNewValue===null&&d&&d.is("element","listItem")?(t.rename(d,"paragraph"),a=!0):u.attributeOldValue===null&&d&&d.is("element")&&d.name!="listItem"&&(t.rename(d,"listItem"),a=!0)}}const c=new Set;for(const u of o.values())a=i.fire("postFixer",{listNodes:new ge(u),listHead:u,writer:t,seenIds:c})||a;return a}function He(n){return(t,[e,i])=>{const s=e.is("documentFragment")?Array.from(e.getChildren()):[e];if(!s.length)return;const o=(i?n.createSelection(i):n.document.selection).getFirstPosition();let l;if(p(o.parent))l=o.parent;else if(p(o.nodeBefore)&&p(o.nodeAfter))l=o.nodeBefore;else return;n.change(a=>{const c=l.getAttribute("listType"),u=l.getAttribute("listIndent"),d=s[0].getAttribute("listIndent")||0,f=Math.max(u-d,0);for(const m of s){const g=p(m);l.is("element","listItem")&&m.is("element","paragraph")&&a.rename(m,"listItem"),a.setAttributes({listIndent:(g?m.getAttribute("listIndent"):0)+f,listItemId:g?m.getAttribute("listItemId"):x.next(),listType:c},m)}})}}function ft(n,t){const e=n.document.selection;if(!e.isCollapsed)return!P(n);if(t==="forward")return!0;const s=e.getFirstPosition().parent,r=s.previousSibling;return n.schema.isObject(r)?!1:r.isEmpty?!0:E([s,r])}function H(n,t,e,i){n.ui.componentFactory.add(t,()=>{const s=pt(Z,n,t,e,i);return s.set({tooltip:!0,isToggleable:!0}),s}),n.ui.componentFactory.add(`menuBar:${t}`,()=>{const s=pt(Gt,n,t,e,i);return s.set({role:"menuitemcheckbox",isToggleable:!0}),s})}function pt(n,t,e,i,s){const r=t.commands.get(e),o=new n(t.locale);return o.set({label:i,icon:s}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),o.on("execute",()=>{t.execute(e),t.editing.view.focus()}),o}class Ye extends h{static get pluginName(){return"ListUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor.t;this.editor.ui.componentFactory.has("numberedList")||H(this.editor,"numberedList",t("Numbered List"),Q),this.editor.ui.componentFactory.has("bulletedList")||H(this.editor,"bulletedList",t("Bulleted List"),J)}}class Ti extends h{static get requires(){return[b,Ye]}static get pluginName(){return"List"}static get isOfficialPlugin(){return!0}}class Ge extends v{refresh(){const t=this._getValue();this.value=t,this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model,i=e.document;let s=Array.from(i.selection.getSelectedBlocks()).filter(r=>p(r)&&M(r.getAttribute("listType")));s=$(s),e.change(r=>{for(const o of s)r.setAttribute("listStart",t>=0?t:1,o)})}_getValue(){const e=this.editor.model.document,i=D(e.selection.getSelectedBlocks());return i&&p(i)&&M(i.getAttribute("listType"))?i.getAttribute("listStart"):null}}const _t={},vt={},Ct={},xt=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:n,typeAttribute:t,listType:e}of xt)_t[n]=e,vt[n]=t,t&&(Ct[t]=n);function Bt(){return xt.map(n=>n.listStyle)}function tt(n){return _t[n]||null}function Ft(n){return Ct[n]||null}function Y(n){return vt[n]||null}function Ze(n){switch(n){case"lower-alpha":return"lower-latin";case"upper-alpha":return"upper-latin";default:return n}}class Je extends v{defaultType;_supportedTypes;constructor(t,e,i){super(t),this.defaultType=e,this._supportedTypes=i}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document;e.change(s=>{this._tryToConvertItemsToList(t);let r=Array.from(i.selection.getSelectedBlocks()).filter(o=>o.hasAttribute("listType"));if(r.length){r=$(r);for(const o of r)s.setAttribute("listStyle",t.type||this.defaultType,o)}})}isStyleTypeSupported(t){return this._supportedTypes?this._supportedTypes.includes(t):!0}_getValue(){const t=D(this.editor.model.document.selection.getSelectedBlocks());return p(t)?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=tt(t.type);if(!e)return;const i=this.editor,s=`${e}List`;i.commands.get(s).value||i.execute(s)}}class Qe extends v{refresh(){const t=this._getValue();this.value=t,this.isEnabled=t!=null}execute(t={}){const e=this.editor.model,i=e.document;let s=Array.from(i.selection.getSelectedBlocks()).filter(r=>p(r)&&r.getAttribute("listType")=="numbered");s=$(s),e.change(r=>{for(const o of s)r.setAttribute("listReversed",!!t.reversed,o)})}_getValue(){const e=this.editor.model.document,i=D(e.selection.getSelectedBlocks());return p(i)&&i.getAttribute("listType")=="numbered"?i.getAttribute("listReversed"):null}}function gt(n){return(t,e,i)=>{const{writer:s,schema:r,consumable:o}=i;if(o.test(e.viewItem,n.viewConsumables)===!1)return;e.modelRange||Object.assign(e,i.convertChildren(e.viewItem,e.modelCursor));let l=!1;for(const a of e.modelRange.getItems({shallow:!0}))r.checkAttribute(a,n.attributeName)&&n.appliesToListItem(a)&&(a.hasAttribute(n.attributeName)||(s.setAttribute(n.attributeName,n.getAttributeOnUpcast(e.viewItem),a),l=!0));l&&o.consume(e.viewItem,n.viewConsumables)}}class Xe extends h{static get pluginName(){return"ListPropertiesUtils"}static get isOfficialPlugin(){return!0}getAllSupportedStyleTypes(){return Bt()}getListTypeFromListStyleType(t){return tt(t)}getListStyleTypeFromTypeAttribute(t){return Ft(t)}getTypeAttributeFromListStyleType(t){return Y(t)}}function Et(n){const{startIndex:t,reversed:e,styles:i}=n;return{styles:ti(i),startIndex:t||!1,reversed:e||!1}}function ti(n){const t={listTypes:["bulleted","numbered"],useAttribute:!1};return n===!0||(n?Array.isArray(n)||typeof n=="string"?t.listTypes=S(n):(t.listTypes=n.listTypes?S(n.listTypes):t.listTypes,t.useAttribute=!!n.useAttribute,n.listStyleTypes&&(t.listStyleTypes=n.listStyleTypes)):t.listTypes=[]),t}const B="default";class ei extends h{static get requires(){return[b,Xe]}static get pluginName(){return"ListPropertiesEditing"}static get licenseFeatureCode(){return"LP"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}constructor(t){super(t),t.config.define("list.properties",{styles:!0,startIndex:!1,reversed:!1})}init(){const t=this.editor,e=t.model,i=t.plugins.get(b),s=t.config.get("list.properties"),r=ii(s);for(const o of r)o.addCommand(t),e.schema.extend("$listItem",{allowAttributes:o.attributeName}),i.registerDowncastStrategy({scope:"list",attributeName:o.attributeName,setAttributeOnDowncast(l,a,c){o.setAttributeOnDowncast(l,a,c)}});t.conversion.for("upcast").add(o=>{for(const l of r)o.on("element:ol",gt(l)),o.on("element:ul",gt(l))}),i.on("checkAttributes:list",(o,{viewElement:l,modelAttributes:a,modelReferenceElement:c})=>{for(const u of r)u.appliesToListItem(c)&&u.getAttributeOnUpcast(l)!=a[u.attributeName]&&(o.return=!0,o.stop())}),this.listenTo(t.commands.get("indentList"),"afterExecute",(o,l)=>{e.change(a=>{for(const c of l)for(const u of r)u.appliesToListItem(c)&&a.setAttribute(u.attributeName,u.defaultValue,c)})}),i.on("postFixer",(o,{listNodes:l,writer:a})=>{for(const{node:c}of l)for(const u of r)u.hasValidAttribute(c)||(u.appliesToListItem(c)?a.setAttribute(u.attributeName,u.defaultValue,c):a.removeAttribute(u.attributeName,c),o.return=!0)}),i.on("postFixer",(o,{listNodes:l,writer:a})=>{for(const{node:c,previousNodeInList:u}of l)if(u&&u.getAttribute("listType")==c.getAttribute("listType"))for(const d of r){const{attributeName:f}=d;if(!d.appliesToListItem(c))continue;const m=u.getAttribute(f);c.getAttribute(f)!=m&&(a.setAttribute(f,m,c),o.return=!0)}})}}function ii(n){const t=[],e=Et(n);if(n.styles){const i=e.styles.useAttribute;t.push({attributeName:"listStyle",defaultValue:B,viewConsumables:{styles:"list-style-type"},addCommand(s){let r=Bt();i&&(r=r.filter(o=>!!Y(o))),s.commands.add("listStyle",new Je(s,B,r))},appliesToListItem(s){return s.getAttribute("listType")=="numbered"||s.getAttribute("listType")=="bulleted"},hasValidAttribute(s){if(!this.appliesToListItem(s))return!s.hasAttribute("listStyle");if(!s.hasAttribute("listStyle"))return!1;const r=s.getAttribute("listStyle");return r==B?!0:tt(r)==s.getAttribute("listType")},setAttributeOnDowncast(s,r,o){if(r&&r!==B)if(i){const l=Y(r);if(l){s.setAttribute("type",l,o);return}}else{s.setStyle("list-style-type",r,o);return}s.removeStyle("list-style-type",o),s.removeAttribute("type",o)},getAttributeOnUpcast(s){const r=s.getStyle("list-style-type");if(r)return Ze(r);const o=s.getAttribute("type");return o?Ft(o):B}})}return n.reversed&&t.push({attributeName:"listReversed",defaultValue:!1,viewConsumables:{attributes:"reversed"},addCommand(i){i.commands.add("listReversed",new Qe(i))},appliesToListItem(i){return i.getAttribute("listType")=="numbered"},hasValidAttribute(i){return this.appliesToListItem(i)==i.hasAttribute("listReversed")},setAttributeOnDowncast(i,s,r){s?i.setAttribute("reversed","reversed",r):i.removeAttribute("reversed",r)},getAttributeOnUpcast(i){return i.hasAttribute("reversed")}}),n.startIndex&&t.push({attributeName:"listStart",defaultValue:1,viewConsumables:{attributes:"start"},addCommand(i){i.commands.add("listStart",new Ge(i))},appliesToListItem(i){return M(i.getAttribute("listType"))},hasValidAttribute(i){return this.appliesToListItem(i)==i.hasAttribute("listStart")},setAttributeOnDowncast(i,s,r){s==0||s>1?i.setAttribute("start",s,r):i.removeAttribute("start",r)},getAttributeOnUpcast(i){const s=i.getAttribute("start");return s>=0?s:1}}),t}class Pt extends nt{children;stylesView=null;additionalPropertiesCollapsibleView=null;startIndexFieldView=null;reversedSwitchButtonView=null;focusTracker=new et;keystrokes=new it;focusables=new Jt;focusCycler;constructor(t,{enabledProperties:e,styleButtonViews:i,styleGridAriaLabel:s}){super(t);const r=["ck","ck-list-properties"];this.children=this.createCollection(),this.focusCycler=new Qt({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),i&&i.length?(this.stylesView=this._createStylesView(i,s),this.children.add(this.stylesView)):r.push("ck-list-properties_without-styles"),(e.startIndex||e.reversed)&&(this._addNumberedListPropertyViews(e),r.push("ck-list-properties_with-numbered-properties")),this.setTemplate({tag:"div",attributes:{class:r},children:this.children})}render(){if(super.render(),this.stylesView){this.focusables.add(this.stylesView),this.focusTracker.add(this.stylesView.element),(this.startIndexFieldView||this.reversedSwitchButtonView)&&(this.focusables.add(this.children.last.buttonView),this.focusTracker.add(this.children.last.buttonView.element));for(const t of this.stylesView.children)this.stylesView.focusTracker.add(t.element);Xt({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>Wt.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView),this.focusTracker.add(this.startIndexFieldView.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}this.reversedSwitchButtonView&&(this.focusables.add(this.reversedSwitchButtonView),this.focusTracker.add(this.reversedSwitchButtonView.element)),this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createStylesView(t,e){const i=new nt(this.locale);return i.children=i.createCollection(),i.children.addMany(t),i.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:i.children}),i.children.delegate("execute").to(this),i.focus=function(){for(const s of this.children)if(s instanceof Z&&s.isOn){s.focus();return}this.children.first.focus()},i.focusTracker=new et,i.keystrokes=new it,i.render(),i.keystrokes.listenTo(i.element),i}_addNumberedListPropertyViews(t){const e=this.locale.t,i=[];t.startIndex&&(this.startIndexFieldView=this._createStartIndexField(),i.push(this.startIndexFieldView)),t.reversed&&(this.reversedSwitchButtonView=this._createReversedSwitchButton(),i.push(this.reversedSwitchButtonView)),this.stylesView?(this.additionalPropertiesCollapsibleView=new te(this.locale,i),this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:!0}),this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(i,"isEnabled",(...s)=>s.some(r=>r)),this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",(s,r,o)=>{o||(this.additionalPropertiesCollapsibleView.isCollapsed=!0)}),this.children.add(this.additionalPropertiesCollapsibleView)):this.children.addMany(i)}_createStartIndexField(){const t=this.locale.t,e=new ee(this.locale,ie);return e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"}),e.fieldView.set({min:0,step:1,value:1,inputMode:"numeric"}),e.fieldView.on("input",()=>{const i=e.fieldView.element,s=i.valueAsNumber;if(Number.isNaN(s)){e.errorText=t("Invalid start index value.");return}i.checkValidity()?this.fire("listStart",{startIndex:s}):e.errorText=t("Start index must be greater than 0.")}),e}_createReversedSwitchButton(){const t=this.locale.t,e=new se(this.locale);return e.set({withText:!0,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"}),e.delegate("execute").to(this,"listReversed"),e}}class si extends h{static get pluginName(){return"ListPropertiesUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor,e=t.locale.t,i=t.config.get("list.properties"),s=Et(i),r=s.styles.listTypes;if(r.includes("bulleted")){const o=[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:ne},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:re},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:oe}],l=e("Bulleted List"),a=e("Bulleted list styles toolbar"),c="bulletedList";t.ui.componentFactory.add(c,ht({editor:t,normalizedConfig:s,parentCommandName:c,buttonLabel:l,buttonIcon:J,styleGridAriaLabel:a,styleDefinitions:o})),t.ui.componentFactory.add(`menuBar:${c}`,bt({editor:t,normalizedConfig:s,parentCommandName:c,buttonLabel:l,styleGridAriaLabel:a,styleDefinitions:o}))}if(r.includes("numbered")||i.startIndex||i.reversed){const o=[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:le},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:ae},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:ce},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:ue},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:de},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:me}],l=e("Numbered List"),a=e("Numbered list styles toolbar"),c="numberedList";t.ui.componentFactory.add(c,ht({editor:t,normalizedConfig:s,parentCommandName:c,buttonLabel:l,buttonIcon:Q,styleGridAriaLabel:a,styleDefinitions:o})),r.includes("numbered")&&t.ui.componentFactory.add(`menuBar:${c}`,bt({editor:t,normalizedConfig:s,parentCommandName:c,buttonLabel:l,styleGridAriaLabel:a,styleDefinitions:o}))}}}function ht({editor:n,normalizedConfig:t,parentCommandName:e,buttonLabel:i,buttonIcon:s,styleGridAriaLabel:r,styleDefinitions:o}){const l=n.commands.get(e);return a=>{const c=Kt(a,Ht),u=c.buttonView;return c.bind("isEnabled").to(l),c.class="ck-list-styles-dropdown",u.on("execute",()=>{n.execute(e),n.editing.view.focus()}),u.set({label:i,icon:s,tooltip:!0,isToggleable:!0}),u.bind("isOn").to(l,"value",d=>!!d),c.once("change:isOpen",()=>{const d=ni({editor:n,normalizedConfig:t,dropdownView:c,parentCommandName:e,styleGridAriaLabel:r,styleDefinitions:o});c.panelView.children.add(d)}),c.on("execute",()=>{n.editing.view.focus()}),c}}function Vt({editor:n,listStyleCommand:t,parentCommandName:e}){const i=n.locale,s=n.commands.get(e);return({label:r,type:o,icon:l,tooltip:a})=>{const c=new Z(i);return c.set({label:r,icon:l,tooltip:a}),c.bind("isOn").to(t,"value",u=>u===o),c.on("execute",()=>{s.value?t.value===o?n.execute(e):t.value!==o&&n.execute("listStyle",{type:o}):n.model.change(()=>{n.execute("listStyle",{type:o})})}),c}}function ni({editor:n,normalizedConfig:t,dropdownView:e,parentCommandName:i,styleDefinitions:s,styleGridAriaLabel:r}){const o=n.locale,l={...t,...i!="numberedList"?{startIndex:!1,reversed:!1}:null},a=i.replace("List","");let c=null;if(t.styles.listTypes.includes(a)){const d=n.commands.get("listStyle"),f=Vt({editor:n,parentCommandName:i,listStyleCommand:d}),m=t.styles.listStyleTypes;let g=s;if(m){const w=m[a];w&&(g=s.filter(I=>w.includes(I.type)))}const k=Ot(d);c=g.filter(k).map(f)}const u=new Pt(o,{styleGridAriaLabel:r,enabledProperties:l,styleButtonViews:c});if(t.styles.listTypes.includes(a)&&Zt(e,()=>u.stylesView.children.find(d=>d.isOn)),l.startIndex){const d=n.commands.get("listStart");u.startIndexFieldView.bind("isEnabled").to(d),u.startIndexFieldView.fieldView.bind("value").to(d),u.on("listStart",(f,m)=>n.execute("listStart",m))}if(l.reversed){const d=n.commands.get("listReversed");u.reversedSwitchButtonView.bind("isEnabled").to(d),u.reversedSwitchButtonView.bind("isOn").to(d,"value",f=>!!f),u.on("listReversed",()=>{const f=d.value;n.execute("listReversed",{reversed:!f})})}return u.delegate("execute").to(e),u}function bt({editor:n,normalizedConfig:t,parentCommandName:e,buttonLabel:i,styleGridAriaLabel:s,styleDefinitions:r}){return o=>{const l=new Yt(o),a=n.commands.get(e),c=n.commands.get("listStyle"),u=Ot(c),d=Vt({editor:n,parentCommandName:e,listStyleCommand:c}),f=t.styles.listStyleTypes;let m=r;if(f){const w=a.type,I=f[w];I&&(m=r.filter(Nt=>I.includes(Nt.type)))}const g=m.filter(u).map(d),k=new Pt(o,{styleGridAriaLabel:s,enabledProperties:{...t,startIndex:!1,reversed:!1},styleButtonViews:g});return k.delegate("execute").to(l),l.buttonView.set({label:i,icon:e==="bulletedList"?J:Q}),l.panelView.children.add(k),l.bind("isEnabled").to(a,"isEnabled"),l.on("execute",()=>{n.editing.view.focus()}),l}}function Ot(n){return typeof n.isStyleTypeSupported=="function"?t=>n.isStyleTypeSupported(t.type):()=>!0}class Si extends h{static get requires(){return[ei,si]}static get pluginName(){return"ListProperties"}static get isOfficialPlugin(){return!0}}class ri extends v{constructor(t){super(t),this.on("execute",()=>{this.refresh()},{priority:"highest"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t),this.isEnabled=!!t.length}execute(t={}){this.editor.model.change(e=>{const i=this._getSelectedItems(),s=t.forceValue===void 0?!this._getValue(i):t.forceValue;for(const r of i)s?e.setAttribute("todoListChecked",!0,r):e.removeAttribute("todoListChecked",r)})}_getValue(t){return t.every(e=>e.getAttribute("todoListChecked"))}_getSelectedItems(){const t=this.editor.model,e=t.schema,i=t.document.selection.getFirstRange(),s=i.start.parent,r=[];e.checkAttribute(s,"todoListChecked")&&r.push(...T(s));for(const o of i.getItems({shallow:!0}))e.checkAttribute(o,"todoListChecked")&&!r.includes(o)&&r.push(...T(o));return r}}class oi extends pe{domEventType=["change"];onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);e&&e.is("element","input")&&e.getAttribute("type")=="checkbox"&&e.findAncestor({classes:"todo-list__label"})&&this.fire("todoCheckboxChange",t)}}}const li=zt("Ctrl+Enter");class ai extends h{static get pluginName(){return"TodoListEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[b]}init(){const t=this.editor,e=t.model,i=t.editing,s=t.plugins.get(b),o=t.config.get("list.multiBlock")?"paragraph":"listItem";t.commands.add("todoList",new F(t,"todo")),t.commands.add("checkTodoList",new ri(t)),i.view.addObserver(oi),e.schema.extend("$listItem",{allowAttributes:"todoListChecked"}),e.schema.addAttributeCheck(l=>{const a=l.last;if(!a.getAttribute("listItemId")||a.getAttribute("listType")!="todo")return!1},"todoListChecked"),t.conversion.for("upcast").add(l=>{l.on("element:input",ui()),l.on("element:li",ci(),{priority:"low"}),l.on("element:label",j({name:"label",classes:"todo-list__label"})),l.on("element:label",j({name:"label",classes:["todo-list__label","todo-list__label_without-description"]})),l.on("element:span",j({name:"span",classes:"todo-list__label__description"})),l.on("element:ul",di({name:"ul",classes:"todo-list"}))}),t.conversion.for("downcast").elementToElement({model:o,view:(l,{writer:a})=>{if(N(l,s.getListAttributeNames()))return a.createContainerElement("span",{class:"todo-list__label__description"})},converterPriority:"highest"}),s.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(l,a,c){a=="todo"?l.addClass("todo-list",c):l.removeClass("todo-list",c)}}),s.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(l,a,{dataPipeline:c}){if(a.getAttribute("listType")!="todo")return null;const u=l.createUIElement("input",{type:"checkbox",...a.getAttribute("todoListChecked")?{checked:"checked"}:null,...c?{disabled:"disabled"}:{tabindex:"-1"}});if(c)return u;const d=l.createContainerElement("span",{contenteditable:"false"},u);return d.getFillerOffset=()=>null,d},canWrapElement(l){return N(l,s.getListAttributeNames())},createWrapperElement(l,a,{dataPipeline:c}){const u=["todo-list__label"];return N(a,s.getListAttributeNames())||u.push("todo-list__label_without-description"),l.createAttributeElement(c?"label":"span",{class:u.join(" ")})}}),s.on("checkElement",(l,{modelElement:a,viewElement:c})=>{const u=N(a,s.getListAttributeNames());c.hasClass("todo-list__label__description")!=u&&(l.return=!0,l.stop())}),s.on("checkElement",(l,{modelElement:a,viewElement:c})=>{const u=a.getAttribute("listType")=="todo"&&L(a);let d=!1;const f=t.editing.view.createPositionBefore(c).getWalker({direction:"backward"});for(const{item:m}of f){if(m.is("element")&&t.editing.mapper.toModelElement(m))break;m.is("element","input")&&m.getAttribute("type")=="checkbox"&&(d=!0)}d!=u&&(l.return=!0,l.stop())}),s.on("postFixer",(l,{listNodes:a,writer:c})=>{for(const{node:u,previousNodeInList:d}of a){if(!d||d.getAttribute("listItemId")!=u.getAttribute("listItemId"))continue;const f=d.hasAttribute("todoListChecked"),m=u.hasAttribute("todoListChecked");m&&!f?(c.removeAttribute("todoListChecked",u),l.return=!0):!m&&f&&(c.setAttribute("todoListChecked",!0,u),l.return=!0)}}),e.document.registerPostFixer(l=>{const a=e.document.differ.getChanges();let c=!1;for(const u of a)if(u.type=="attribute"&&u.attributeKey=="listType"){const d=u.range.start.nodeAfter;u.attributeOldValue=="todo"&&d.hasAttribute("todoListChecked")&&(l.removeAttribute("todoListChecked",d),c=!0)}else if(u.type=="insert"&&u.name!="$text")for(const{item:d}of l.createRangeOn(u.position.nodeAfter))d.is("element")&&d.getAttribute("listType")!="todo"&&d.hasAttribute("todoListChecked")&&(l.removeAttribute("todoListChecked",d),c=!0);return c}),this.listenTo(i.view.document,"keydown",(l,a)=>{$t(a)===li&&(t.execute("checkTodoList"),l.stop())},{priority:"high"}),this.listenTo(i.view.document,"todoCheckboxChange",(l,a)=>{const c=a.target;if(!c||!c.is("element","input"))return;const u=i.view.createPositionAfter(c),f=i.mapper.toModelPosition(u).parent;f&&p(f)&&f.getAttribute("listType")=="todo"&&this._handleCheckmarkChange(f)}),this.listenTo(i.view.document,"arrowKey",fi(e,t.locale),{context:"$text"}),this.listenTo(i.mapper,"viewToModelPosition",(l,a)=>{const c=a.viewPosition.parent,u=c.is("attributeElement","li")&&a.viewPosition.offset==0,d=It(c)&&a.viewPosition.offset<=1,f=c.is("element","span")&&c.getAttribute("contenteditable")=="false"&&It(c.parent);if(!u&&!d&&!f)return;const m=a.modelPosition.nodeAfter;m&&m.getAttribute("listType")=="todo"&&(a.modelPosition=e.createPositionAt(m,0))},{priority:"low"}),this._initAriaAnnouncements()}_handleCheckmarkChange(t){const e=this.editor,i=e.model,s=Array.from(i.document.selection.getRanges());i.change(r=>{r.setSelection(t,"end"),e.execute("checkTodoList"),r.setSelection(s)})}_initAriaAnnouncements(){const{model:t,ui:e,t:i}=this.editor;let s=null;e&&t.document.selection.on("change:range",()=>{const r=t.document.selection.focus.parent,o=yt(s),l=yt(r);o&&!l?e.ariaLiveAnnouncer.announce(i("Leaving a to-do list")):!o&&l&&e.ariaLiveAnnouncer.announce(i("Entering a to-do list")),s=r})}}function ci(){return(n,t,e)=>{const{writer:i,schema:s}=e;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter(o=>o.getAttribute("listType")==="todo"&&s.checkAttribute(o,"listItemId")).reduce((o,l)=>{const a=l.getAttribute("listItemId");return o.has(a)||o.set(a,T(l)),o},new Map);for(const[,o]of r.entries())if(o.some(l=>l.getAttribute("todoListChecked")))for(const l of o)i.setAttribute("todoListChecked",!0,l)}}function ui(){return(n,t,e)=>{const i=t.modelCursor,s=i.parent,r=t.viewItem;if(!e.consumable.test(r,{name:!0})||r.getAttribute("type")!="checkbox"||!i.isAtStart||!s.hasAttribute("listType"))return;e.consumable.consume(r,{name:!0});const o=e.writer;o.setAttribute("listType","todo",s),t.viewItem.hasAttribute("checked")&&o.setAttribute("todoListChecked",!0,s),t.modelRange=o.createRange(i)}}function j(n){const t=new kt(n);return(e,i,s)=>{const r=t.match(i.viewItem);r&&s.consumable.consume(i.viewItem,r.match)&&Object.assign(i,s.convertChildren(i.viewItem,i.modelCursor))}}function di(n){const t=new kt(n);return(e,i,s)=>{const r=t.match(i.viewItem);if(!r)return;const o=r.match;o.name=!1,s.consumable.consume(i.viewItem,o)}}function N(n,t){return(n.is("element","paragraph")||n.is("element","listItem"))&&n.getAttribute("listType")=="todo"&&L(n)&&mi(n,t)}function mi(n,t){for(const e of n.getAttributeKeys())if(!e.startsWith("selection:")&&!t.includes(e))return!1;return!0}function fi(n,t){return(e,i)=>{const s=Ut(i.keyCode,t.contentLanguageDirection),r=n.schema,o=n.document.selection;if(!o.isCollapsed)return;const l=o.getFirstPosition(),a=l.parent;if(s=="right"&&l.isAtEnd){const c=r.getNearestSelectionRange(n.createPositionAfter(a),"forward");if(!c)return;const u=c.start.parent;u&&p(u)&&u.getAttribute("listType")=="todo"&&(n.change(d=>d.setSelection(c)),i.preventDefault(),i.stopPropagation(),e.stop())}else if(s=="left"&&l.isAtStart&&p(a)&&a.getAttribute("listType")=="todo"){const c=r.getNearestSelectionRange(n.createPositionBefore(a),"backward");if(!c)return;n.change(u=>u.setSelection(c)),i.preventDefault(),i.stopPropagation(),e.stop()}}}function It(n){return!!n&&n.is("attributeElement")&&n.hasClass("todo-list__label")}function yt(n){return!n||!n.is("element","paragraph")&&!n.is("element","listItem")?!1:n.getAttribute("listType")=="todo"}class pi extends h{static get pluginName(){return"TodoListUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor.t;H(this.editor,"todoList",t("To-do List"),fe)}}class _i extends h{static get requires(){return[ai,pi]}static get pluginName(){return"TodoList"}static get isOfficialPlugin(){return!0}}export{ri as CheckTodoListCommand,Ti as List,F as ListCommand,b as ListEditing,Se as ListFormatting,ot as ListIndentCommand,ke as ListItemBoldIntegration,we as ListItemFontColorIntegration,Te as ListItemFontFamilyIntegration,Le as ListItemFontSizeIntegration,Ae as ListItemItalicIntegration,at as ListMergeCommand,Si as ListProperties,ei as ListPropertiesEditing,si as ListPropertiesUI,Xe as ListPropertiesUtils,Qe as ListReversedCommand,ct as ListSplitCommand,Ge as ListStartCommand,Je as ListStyleCommand,Ye as ListUI,Be as ListUtils,_i as TodoList,ai as TodoListEditing,pi as TodoListUI,ge as _ListBlocksIterable,Pt as _ListPropertiesView,y as _ListWalker,V as _SiblingListBlocksIterator,oi as _TodoCheckboxChangeObserver,U as _canBecomeSimpleListItem,Pe as _createListElement,Ve as _createListItemElement,H as _createListUIComponents,ze as _createModelToViewListPositionMapper,O as _expandListBlocksToCompleteItems,$ as _expandListBlocksToCompleteList,A as _findAndAddListHeadToMap,$e as _findMappedListItemViewElement,Oe as _fixListIndents,Ne as _fixListItemIds,T as _getAllListItemBlocks,Bt as _getAllSupportedListStyleTypes,Ee as _getListIndent,_ as _getListItemBlocks,At as _getListItems,Ft as _getListStyleTypeFromTypeAttribute,tt as _getListTypeFromListStyleType,he as _getNestedListBlocks,Et as _getNormalizedListConfig,P as _getSelectedBlockObject,Y as _getTypeAttributeFromListStyleType,wt as _getViewElementIdForListType,Lt as _getViewElementNameForListType,q as _indentListBlocks,L as _isFirstBlockOfListItem,rt as _isLastBlockOfListItem,p as _isListItemBlock,K as _isListItemView,Fe as _isListView,M as _isNumberedListType,E as _isSingleListItem,mt as _listItemBogusParagraphCreator,dt as _listItemDowncastConverter,De as _listItemDowncastRemoveConverter,Re as _listItemUpcastConverter,gt as _listPropertiesUpcastConverter,W as _mergeListItemBefore,Ze as _normalizeListStyle,Ie as _outdentFollowingListItems,be as _outdentListBlocksWithMerge,Me as _reconvertListItemsOnDataChange,z as _removeListAttributes,C as _sortListBlocks,X as _splitListItemBefore};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Plugin as p}from"../../../../../@ckeditor_ckeditor5-core@
|
|
1
|
+
import{Plugin as p}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{HtmlDataProcessor as _}from"../../../../../@ckeditor_ckeditor5-engine@47.3.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{ClipboardPipeline as T}from"../../../../../@ckeditor_ckeditor5-clipboard@47.3.0/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{unified as u}from"../../../../../unified@11.0.5/node_modules/unified/lib/index.js";import k from"../../../../../remark-parse@11.0.0/node_modules/remark-parse/lib/index.js";import h from"../../../../../remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.js";import g from"../../../../../remark-breaks@4.0.0/node_modules/remark-breaks/lib/index.js";import y from"../../../../../remark-rehype@11.1.2/node_modules/remark-rehype/lib/index.js";import D from"../../../../../rehype-dom-stringify@4.0.2/node_modules/rehype-dom-stringify/lib/index.js";import{toHtml as f}from"../../../../../hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js";import{h as P}from"../../../../../hastscript@9.0.1/node_modules/hastscript/lib/index.js";import v from"../../../../../rehype-dom-parse@5.0.2/node_modules/rehype-dom-parse/lib/index.js";import H from"../../../../../rehype-remark@10.0.1/node_modules/rehype-remark/lib/index.js";import M from"../../../../../remark-stringify@11.0.0/node_modules/remark-stringify/lib/index.js";import{visit as m}from"../../../../../unist-util-visit@5.0.0/node_modules/unist-util-visit/lib/index.js";import{fromDom as b}from"../../../../../hast-util-from-dom@5.0.1/node_modules/hast-util-from-dom/lib/index.js";class R{_processor;constructor(){this._processor=u().use(k).use(h,{singleTilde:!0}).use(g).use(y,{allowDangerousHtml:!0}).use(A).use(N).use(D)}parse(e){return this._processor.processSync(e).toString().replaceAll(`
|
|
2
2
|
</code>`,"</code>")}}function N(){return s=>{m(s,"element",e=>{(e.tagName==="ul"||e.tagName==="ol"||e.tagName==="li")&&(e.children=e.children.filter(t=>t.type!=="text"||!!t.value.trim()),delete e.properties.className)})}}function A(){return s=>{m(s,["root","element"],e=>{if(!F(e)||!e.children.some(r=>r.type==="raw"))return;const t=document.createElement("template");t.innerHTML=f({type:"root",children:e.children},{allowDangerousHtml:!0}),e.children=Array.from(t.content.childNodes).map(r=>b(r))})}}function F(s){return(s.type==="root"||s.type==="element")&&s.children}class S{_processor;_keepRawTags=[];constructor(){this._buildProcessor()}keep(e){this._keepRawTags.push(e.toLowerCase()),this._buildProcessor()}parse(e){return this._processor.processSync(e).toString().trim()}_getRawTagsHandlers(){return this._keepRawTags.reduce((e,t)=>(e[t]=(r,n)=>{const o=f(P(n.tagName,n.properties),{allowDangerousHtml:!0,closeSelfClosing:!0}),i=o.indexOf(">"),a=o.slice(0,i+1),l=o.slice(i+1);return[{type:"html",value:a},...r.all(n),{type:"html",value:l}]},e),{})}_buildProcessor(){this._processor=u().use(v).use(E).use(H,{handlers:this._getRawTagsHandlers()}).use(h,{singleTilde:!0}).use(g).use(M,{resourceLink:!0,emphasis:"_",rule:"-",handlers:{break:()=>`
|
|
3
3
|
`},unsafe:[{character:"<"}]})}}function E(){return function(s){m(s,"element",(e,t,r)=>{t!==null&&e.tagName==="label"&&r.type==="element"&&r.tagName==="li"&&r.children.splice(t,1,...e.children)})}}class d{_htmlDP;_markdown2html;_html2markdown;constructor(e){this._htmlDP=new _(e),this._markdown2html=new R,this._html2markdown=new S}keepHtml(e){this._html2markdown.keep(e)}toView(e){const t=this._markdown2html.parse(e);return this._htmlDP.toView(t)}toData(e){const t=this._htmlDP.toData(e);return this._html2markdown.parse(t)}registerRawContentMatcher(e){this._htmlDP.registerRawContentMatcher(e)}useFillerType(){}}class X extends p{constructor(e){super(e),e.data.processor=new d(e.data.viewDocument)}static get pluginName(){return"Markdown"}static get isOfficialPlugin(){return!0}}const O=["SPAN","BR","PRE","CODE"];class Y extends p{_gfmDataProcessor;constructor(e){super(e),this._gfmDataProcessor=new d(e.data.viewDocument)}static get pluginName(){return"PasteFromMarkdownExperimental"}static get isOfficialPlugin(){return!0}static get requires(){return[T]}init(){const e=this.editor,r=e.editing.view.document,n=e.plugins.get("ClipboardPipeline");let o=!1;this.listenTo(r,"keydown",(i,a)=>{o=a.shiftKey}),this.listenTo(n,"inputTransformation",(i,a)=>{if(o)return;const l=a.dataTransfer.getData("text/html");if(!l){const w=a.dataTransfer.getData("text/plain");a.content=this._gfmDataProcessor.toView(w);return}const c=this._parseMarkdownFromHtml(l);c&&(a.content=this._gfmDataProcessor.toView(c))})}_parseMarkdownFromHtml(e){const t=this._removeOsSpecificTags(e);if(!this._containsOnlyAllowedFirstLevelTags(t))return null;const r=this._removeFirstLevelWrapperTagsAndBrs(t);return this._containsAnyRemainingHtmlTags(r)?null:this._replaceHtmlReservedEntitiesWithCharacters(r)}_removeOsSpecificTags(e){return e.replace(/^<meta\b[^>]*>/,"").trim().replace(/^<html>/,"").replace(/<\/html>$/,"").trim().replace(/^<body>/,"").replace(/<\/body>$/,"").trim().replace(/^<!--StartFragment-->/,"").replace(/<!--EndFragment-->$/,"").trim()}_containsOnlyAllowedFirstLevelTags(e){const t=new DOMParser,{body:r}=t.parseFromString(e,"text/html");return Array.from(r.children).map(o=>o.tagName).every(o=>O.includes(o))}_removeFirstLevelWrapperTagsAndBrs(e){const t=new DOMParser,{body:r}=t.parseFromString(e,"text/html"),n=r.querySelectorAll("br");for(const i of n)i.replaceWith(`
|
|
4
4
|
`);const o=r.querySelectorAll(":scope > *");for(const i of o){const a=i.cloneNode(!0);i.replaceWith(...a.childNodes)}return r.innerHTML}_containsAnyRemainingHtmlTags(e){return e.includes("<")}_replaceHtmlReservedEntitiesWithCharacters(e){return e.replace(/>/g,">").replace(/</g,"<").replace(/ /g," ")}}export{X as Markdown,d as MarkdownGfmDataProcessor,S as MarkdownGfmHtmlToMd,R as MarkdownGfmMdToHtml,Y as PasteFromMarkdownExperimental};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as h,Command as M}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Widget as T,toWidget as P,findOptimalInsertionRange as k}from"../../../../../@ckeditor_ckeditor5-widget@46.1.1/node_modules/@ckeditor/ckeditor5-widget/dist/index.js";import{global as w,first as x,logWarning as R,toArray as D,FocusTracker as C,KeystrokeHandler as F}from"../../../../../@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{Dialog as U,ButtonView as S,MenuBarMenuListItemButtonView as L,CssTransitionDisablerMixin as B,IconView as A,Template as N,View as O,submitHandler as $,LabeledFieldView as W,createLabeledInputText as H}from"../../../../../@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{IconMedia as q,IconMediaPlaceholder as j}from"../../../../../@ckeditor_ckeditor5-icons@46.1.1/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ModelLivePosition as f,ModelLiveRange as z}from"../../../../../@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{Clipboard as G}from"../../../../../@ckeditor_ckeditor5-clipboard@46.1.1/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{Delete as b}from"../../../../../@ckeditor_ckeditor5-typing@46.1.1/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{Undo as K}from"../../../../../@ckeditor_ckeditor5-undo@46.1.1/node_modules/@ckeditor/ckeditor5-undo/dist/index.js";function _(n,e){const t=(i,o,r)=>{if(!r.consumable.consume(o.item,i.name))return;const a=o.attributeNewValue,s=r.writer,l=r.mapper.toViewElement(o.item),d=[...l.getChildren()].find(u=>u.getCustomProperty("media-content"));s.remove(d);const m=n.getMediaViewElement(s,a,e);s.insert(s.createPositionAt(l,0),m)};return i=>{i.on("attribute:url:media",t)}}function X(n,e,t){return e.setCustomProperty("media",!0,n),P(n,e,{label:t})}function v(n,e,t,i){return n.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(n,t,i),n.createSlot()])}function E(n){const e=n.getSelectedElement();return e&&e.is("element","media")?e:null}function V(n,e,t,i){n.change(o=>{const r=o.createElement("media",{url:e});n.insertObject(r,t,null,{setSelection:"on",findOptimalPosition:i?"auto":void 0})})}class J extends M{refresh(){const e=this.editor.model,t=e.document.selection,i=E(t);this.value=i?i.getAttribute("url"):void 0,this.isEnabled=Y(t)||Q(t,e)}execute(e){const t=this.editor.model,i=t.document.selection,o=E(i);o?t.change(r=>{r.setAttribute("url",e,o)}):V(t,e,i,!0)}}function Q(n,e){let i=k(n,e).start.parent;return i.isEmpty&&!e.schema.isLimit(i)&&(i=i.parent),e.schema.checkChild(i,"media")}function Y(n){const e=n.getSelectedElement();return!!e&&e.name==="media"}const Z="0 0 64 42";class ee{locale;providerDefinitions;constructor(e,t){const i=t.providers,o=t.extraProviders||[],r=new Set(t.removeProviders),a=i.concat(o).filter(s=>{const l=s.name;return l?!r.has(l):(R("media-embed-no-provider-name",{provider:s}),!1)});this.locale=e,this.providerDefinitions=a}hasMedia(e){return!!this._getMedia(e)}getMediaViewElement(e,t,i){return this._getMedia(t).getViewElement(e,i)}_getMedia(e){if(!e)return new I(this.locale);e=e.trim();for(const t of this.providerDefinitions){const i=t.html,o=D(t.url);for(const r of o){const a=this._getUrlMatches(e,r);if(a)return new I(this.locale,e,a,i)}}return null}_getUrlMatches(e,t){let i=e.match(t);if(i)return i;let o=e.replace(/^https?:\/\//,"");return i=o.match(t),i||(o=o.replace(/^www\./,""),i=o.match(t),i)?i:null}}class I{url;_locale;_match;_previewRenderer;constructor(e,t,i,o){this.url=this._getValidUrl(t),this._locale=e,this._match=i,this._previewRenderer=o}getViewElement(e,t){const i={};let o;if(t.renderForEditingView||t.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(i["data-oembed-url"]=this.url),t.renderForEditingView&&(i.class="ck-media__wrapper");const r=this._getPreviewHtml(t);o=e.createRawElement("div",i,(a,s)=>{s.setContentOf(a,r)})}else this.url&&(i.url=this.url),o=e.createEmptyElement(t.elementName,i);return e.setCustomProperty("media-content",!0,o),o}_getPreviewHtml(e){return this._previewRenderer?this._previewRenderer(this._match):this.url&&e.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const e=new A,t=this._locale.t;return e.content=j,e.viewBox=Z,new N({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[e]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":t("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(e){return e?e.match(/^https?/)?e:"https://"+e:null}}class c extends h{static get pluginName(){return"MediaEmbedEditing"}static get isOfficialPlugin(){return!0}registry;constructor(e){super(e),e.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:t=>`<div style="position: relative; padding-bottom: 100%; height: 0; "><iframe src="https://www.dailymotion.com/embed/video/${t[1]}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" width="480" height="270" allowfullscreen allow="autoplay"></iframe></div>`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>`<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 126%;"><iframe src="https://open.spotify.com/embed/${t[1]}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe></div>`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/shorts\/([\w-]+)(?:\?t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const i=t[1],o=t[2];return`<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;"><iframe src="https://www.youtube.com/embed/${i}${o?`?start=${o}`:""}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></div>`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>`<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;"><iframe src="https://player.vimeo.com/video/${t[1]}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>`},{name:"instagram",url:[/^instagram\.com\/p\/(\w+)/,/^instagram\.com\/reel\/(\w+)/]},{name:"twitter",url:[/^twitter\.com/,/^x\.com/]},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new ee(e.locale,e.config.get("mediaEmbed"))}init(){const e=this.editor,t=e.model.schema,i=e.t,o=e.conversion,r=e.config.get("mediaEmbed.previewsInData"),a=e.config.get("mediaEmbed.elementName"),s=this.registry;e.commands.add("mediaEmbed",new J(e)),t.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),o.for("dataDowncast").elementToStructure({model:"media",view:(l,{writer:d})=>{const m=l.getAttribute("url");return v(d,s,m,{elementName:a,renderMediaPreview:!!m&&r})}}),o.for("dataDowncast").add(_(s,{elementName:a,renderMediaPreview:r})),o.for("editingDowncast").elementToStructure({model:"media",view:(l,{writer:d})=>{const m=l.getAttribute("url"),u=v(d,s,m,{elementName:a,renderForEditingView:!0});return X(u,d,i("media widget"))}}),o.for("editingDowncast").add(_(s,{elementName:a,renderForEditingView:!0})),o.for("upcast").elementToElement({view:l=>["oembed",a].includes(l.name)&&l.getAttribute("url")?{name:!0}:null,model:(l,{writer:d})=>{const m=l.getAttribute("url");return s.hasMedia(m)?d.createElement("media",{url:m}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(l,{writer:d})=>{const m=l.getAttribute("data-oembed-url");return s.hasMedia(m)?d.createElement("media",{url:m}):null}}).add(l=>{const d=(m,u,g)=>{if(!g.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:y}=g.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=y,x(p.getItems())||g.consumable.revert(u.viewItem,{name:!0,classes:"media"})};l.on("element:figure",d)})}}const te=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class ie extends h{static get requires(){return[G,b,K]}static get pluginName(){return"AutoMediaEmbed"}static get isOfficialPlugin(){return!0}_timeoutId;_positionToInsert;constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document,i=e.plugins.get("ClipboardPipeline");this.listenTo(i,"inputTransformation",()=>{const r=t.selection.getFirstRange(),a=f.fromPosition(r.start);a.stickiness="toPrevious";const s=f.fromPosition(r.end);s.stickiness="toNext",t.once("change:data",()=>{this._embedMediaBetweenPositions(a,s),a.detach(),s.detach()},{priority:"high"})}),e.commands.get("undo").on("execute",()=>{this._timeoutId&&(w.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(e,t){const i=this.editor,o=i.plugins.get(c).registry,r=new z(e,t),a=r.getWalker({ignoreElementEnd:!0});let s="";for(const d of a)d.item.is("$textProxy")&&(s+=d.item.data);if(s=s.trim(),!s.match(te)){r.detach();return}if(!o.hasMedia(s)){r.detach();return}if(!i.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=f.fromPosition(e),this._timeoutId=w.window.setTimeout(()=>{i.model.change(d=>{this._timeoutId=null,d.remove(r),r.detach();let m=null;this._positionToInsert.root.rootName!=="$graveyard"&&(m=this._positionToInsert),V(i.model,s,m,!1),this._positionToInsert.detach(),this._positionToInsert=null}),i.plugins.get(b).requestUndoOnBackspace()},100)}}class oe extends O{focusTracker;keystrokes;urlInputView;_validators;_urlInputViewInfoDefault;_urlInputViewInfoTip;constructor(e,t){super(t),this.focusTracker=new C,this.keystrokes=new F,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this._validators=e,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView]})}render(){super.render(),$({view:this}),this.focusTracker.add(this.urlInputView.element),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.urlInputView.focus()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(e){this.urlInputView.fieldView.value=e.trim()}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.urlInputView.errorText=t,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const e=this.locale.t,t=new W(this.locale,H),i=t.fieldView;return this._urlInputViewInfoDefault=e("Paste the media URL in the input."),this._urlInputViewInfoTip=e("Tip: Paste the URL into the content to embed faster."),t.label=e("Media URL"),t.infoText=this._urlInputViewInfoDefault,i.inputMode="url",i.on("input",()=>{t.infoText=i.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=i.element.value.trim()}),t}}class re extends h{static get requires(){return[c,U]}static get pluginName(){return"MediaEmbedUI"}static get isOfficialPlugin(){return!0}_formView;init(){const e=this.editor;e.ui.componentFactory.add("mediaEmbed",()=>{const t=this.editor.locale.t,i=this._createDialogButton(S);return i.tooltip=!0,i.label=t("Insert media"),i}),e.ui.componentFactory.add("menuBar:mediaEmbed",()=>{const t=this.editor.locale.t,i=this._createDialogButton(L);return i.label=t("Media"),i})}_createDialogButton(e){const t=this.editor,i=new e(t.locale),o=t.commands.get("mediaEmbed"),r=this.editor.plugins.get("Dialog");return i.icon=q,i.bind("isEnabled").to(o,"isEnabled"),i.on("execute",()=>{r.id==="mediaEmbed"?r.hide():this._showDialog()}),i}_showDialog(){const e=this.editor,t=e.plugins.get("Dialog"),i=e.commands.get("mediaEmbed"),o=e.locale.t,r=i.value!==void 0;if(!this._formView){const a=e.plugins.get(c).registry;this._formView=new(B(oe))(ne(e.t,a),e.locale),this._formView.on("submit",()=>this._handleSubmitForm())}t.show({id:"mediaEmbed",title:o("Media embed"),content:this._formView,isModal:!0,onShow:()=>{this._formView.url=i.value||"",this._formView.resetFormStatus(),this._formView.urlInputView.fieldView.select()},actionButtons:[{label:o("Cancel"),withText:!0,onExecute:()=>t.hide()},{label:o(r?"Save":"Insert"),class:"ck-button-action",withText:!0,onExecute:()=>this._handleSubmitForm()}]})}_handleSubmitForm(){const e=this.editor,t=e.plugins.get("Dialog");this._formView.isValid()&&(e.execute("mediaEmbed",this._formView.url),t.hide(),e.editing.view.focus())}}function ne(n,e){return[t=>{if(!t.url.length)return n("The URL must not be empty.")},t=>{if(!e.hasMedia(t.url))return n("This media URL is not supported.")}]}class pe extends h{static get requires(){return[c,re,ie,T]}static get pluginName(){return"MediaEmbed"}static get isOfficialPlugin(){return!0}}export{ie as AutoMediaEmbed,pe as MediaEmbed,J as MediaEmbedCommand,c as MediaEmbedEditing,re as MediaEmbedUI,ee as MediaRegistry,oe as _MediaFormView,v as _createMediaFigureElement,E as _getSelectedMediaModelWidget,V as _insertMedia,_ as _modelToViewUrlAttributeMediaConverter,X as _toMediaWidget};
|
|
1
|
+
import{Plugin as h,Command as M}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Widget as T,toWidget as P,findOptimalInsertionRange as k}from"../../../../../@ckeditor_ckeditor5-widget@47.3.0/node_modules/@ckeditor/ckeditor5-widget/dist/index.js";import{global as w,first as x,logWarning as R,toArray as D,FocusTracker as C,KeystrokeHandler as F}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{Dialog as U,ButtonView as S,MenuBarMenuListItemButtonView as L,CssTransitionDisablerMixin as B,IconView as A,Template as N,View as O,submitHandler as $,LabeledFieldView as W,createLabeledInputText as H}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{IconMedia as q,IconMediaPlaceholder as j}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ModelLivePosition as f,ModelLiveRange as z}from"../../../../../@ckeditor_ckeditor5-engine@47.3.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{Clipboard as G}from"../../../../../@ckeditor_ckeditor5-clipboard@47.3.0/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{Delete as b}from"../../../../../@ckeditor_ckeditor5-typing@47.3.0/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{Undo as K}from"../../../../../@ckeditor_ckeditor5-undo@47.3.0/node_modules/@ckeditor/ckeditor5-undo/dist/index.js";function _(n,e){const t=(i,o,r)=>{if(!r.consumable.consume(o.item,i.name))return;const a=o.attributeNewValue,s=r.writer,l=r.mapper.toViewElement(o.item),d=[...l.getChildren()].find(u=>u.getCustomProperty("media-content"));s.remove(d);const m=n.getMediaViewElement(s,a,e);s.insert(s.createPositionAt(l,0),m)};return i=>{i.on("attribute:url:media",t)}}function X(n,e,t){return e.setCustomProperty("media",!0,n),P(n,e,{label:t})}function v(n,e,t,i){return n.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(n,t,i),n.createSlot()])}function E(n){const e=n.getSelectedElement();return e&&e.is("element","media")?e:null}function V(n,e,t,i){n.change(o=>{const r=o.createElement("media",{url:e});n.insertObject(r,t,null,{setSelection:"on",findOptimalPosition:i?"auto":void 0})})}class J extends M{refresh(){const e=this.editor.model,t=e.document.selection,i=E(t);this.value=i?i.getAttribute("url"):void 0,this.isEnabled=Y(t)||Q(t,e)}execute(e){const t=this.editor.model,i=t.document.selection,o=E(i);o?t.change(r=>{r.setAttribute("url",e,o)}):V(t,e,i,!0)}}function Q(n,e){let i=k(n,e).start.parent;return i.isEmpty&&!e.schema.isLimit(i)&&(i=i.parent),e.schema.checkChild(i,"media")}function Y(n){const e=n.getSelectedElement();return!!e&&e.name==="media"}const Z="0 0 64 42";class ee{locale;providerDefinitions;constructor(e,t){const i=t.providers,o=t.extraProviders||[],r=new Set(t.removeProviders),a=i.concat(o).filter(s=>{const l=s.name;return l?!r.has(l):(R("media-embed-no-provider-name",{provider:s}),!1)});this.locale=e,this.providerDefinitions=a}hasMedia(e){return!!this._getMedia(e)}getMediaViewElement(e,t,i){return this._getMedia(t).getViewElement(e,i)}_getMedia(e){if(!e)return new I(this.locale);e=e.trim();for(const t of this.providerDefinitions){const i=t.html,o=D(t.url);for(const r of o){const a=this._getUrlMatches(e,r);if(a)return new I(this.locale,e,a,i)}}return null}_getUrlMatches(e,t){let i=e.match(t);if(i)return i;let o=e.replace(/^https?:\/\//,"");return i=o.match(t),i||(o=o.replace(/^www\./,""),i=o.match(t),i)?i:null}}class I{url;_locale;_match;_previewRenderer;constructor(e,t,i,o){this.url=this._getValidUrl(t),this._locale=e,this._match=i,this._previewRenderer=o}getViewElement(e,t){const i={};let o;if(t.renderForEditingView||t.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(i["data-oembed-url"]=this.url),t.renderForEditingView&&(i.class="ck-media__wrapper");const r=this._getPreviewHtml(t);o=e.createRawElement("div",i,(a,s)=>{s.setContentOf(a,r)})}else this.url&&(i.url=this.url),o=e.createEmptyElement(t.elementName,i);return e.setCustomProperty("media-content",!0,o),o}_getPreviewHtml(e){return this._previewRenderer?this._previewRenderer(this._match):this.url&&e.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const e=new A,t=this._locale.t;return e.content=j,e.viewBox=Z,new N({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[e]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":t("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(e){return e?e.match(/^https?/)?e:"https://"+e:null}}class c extends h{static get pluginName(){return"MediaEmbedEditing"}static get isOfficialPlugin(){return!0}registry;constructor(e){super(e),e.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:t=>`<div style="position: relative; padding-bottom: 100%; height: 0; "><iframe src="https://www.dailymotion.com/embed/video/${t[1]}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" width="480" height="270" allowfullscreen allow="autoplay"></iframe></div>`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>`<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 126%;"><iframe src="https://open.spotify.com/embed/${t[1]}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe></div>`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/shorts\/([\w-]+)(?:\?t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const i=t[1],o=t[2];return`<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;"><iframe src="https://www.youtube.com/embed/${i}${o?`?start=${o}`:""}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></div>`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>`<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;"><iframe src="https://player.vimeo.com/video/${t[1]}" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>`},{name:"instagram",url:[/^instagram\.com\/p\/(\w+)/,/^instagram\.com\/reel\/(\w+)/]},{name:"twitter",url:[/^twitter\.com/,/^x\.com/]},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new ee(e.locale,e.config.get("mediaEmbed"))}init(){const e=this.editor,t=e.model.schema,i=e.t,o=e.conversion,r=e.config.get("mediaEmbed.previewsInData"),a=e.config.get("mediaEmbed.elementName"),s=this.registry;e.commands.add("mediaEmbed",new J(e)),t.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),o.for("dataDowncast").elementToStructure({model:"media",view:(l,{writer:d})=>{const m=l.getAttribute("url");return v(d,s,m,{elementName:a,renderMediaPreview:!!m&&r})}}),o.for("dataDowncast").add(_(s,{elementName:a,renderMediaPreview:r})),o.for("editingDowncast").elementToStructure({model:"media",view:(l,{writer:d})=>{const m=l.getAttribute("url"),u=v(d,s,m,{elementName:a,renderForEditingView:!0});return X(u,d,i("media widget"))}}),o.for("editingDowncast").add(_(s,{elementName:a,renderForEditingView:!0})),o.for("upcast").elementToElement({view:l=>["oembed",a].includes(l.name)&&l.getAttribute("url")?{name:!0}:null,model:(l,{writer:d})=>{const m=l.getAttribute("url");return s.hasMedia(m)?d.createElement("media",{url:m}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(l,{writer:d})=>{const m=l.getAttribute("data-oembed-url");return s.hasMedia(m)?d.createElement("media",{url:m}):null}}).add(l=>{const d=(m,u,g)=>{if(!g.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:y}=g.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=y,x(p.getItems())||g.consumable.revert(u.viewItem,{name:!0,classes:"media"})};l.on("element:figure",d)})}}const te=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class ie extends h{static get requires(){return[G,b,K]}static get pluginName(){return"AutoMediaEmbed"}static get isOfficialPlugin(){return!0}_timeoutId;_positionToInsert;constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document,i=e.plugins.get("ClipboardPipeline");this.listenTo(i,"inputTransformation",()=>{const r=t.selection.getFirstRange(),a=f.fromPosition(r.start);a.stickiness="toPrevious";const s=f.fromPosition(r.end);s.stickiness="toNext",t.once("change:data",()=>{this._embedMediaBetweenPositions(a,s),a.detach(),s.detach()},{priority:"high"})}),e.commands.get("undo").on("execute",()=>{this._timeoutId&&(w.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(e,t){const i=this.editor,o=i.plugins.get(c).registry,r=new z(e,t),a=r.getWalker({ignoreElementEnd:!0});let s="";for(const d of a)d.item.is("$textProxy")&&(s+=d.item.data);if(s=s.trim(),!s.match(te)){r.detach();return}if(!o.hasMedia(s)){r.detach();return}if(!i.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=f.fromPosition(e),this._timeoutId=w.window.setTimeout(()=>{i.model.change(d=>{this._timeoutId=null,d.remove(r),r.detach();let m=null;this._positionToInsert.root.rootName!=="$graveyard"&&(m=this._positionToInsert),V(i.model,s,m,!1),this._positionToInsert.detach(),this._positionToInsert=null}),i.plugins.get(b).requestUndoOnBackspace()},100)}}class oe extends O{focusTracker;keystrokes;urlInputView;_validators;_urlInputViewInfoDefault;_urlInputViewInfoTip;constructor(e,t){super(t),this.focusTracker=new C,this.keystrokes=new F,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this._validators=e,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView]})}render(){super.render(),$({view:this}),this.focusTracker.add(this.urlInputView.element),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.urlInputView.focus()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(e){this.urlInputView.fieldView.value=e.trim()}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.urlInputView.errorText=t,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const e=this.locale.t,t=new W(this.locale,H),i=t.fieldView;return this._urlInputViewInfoDefault=e("Paste the media URL in the input."),this._urlInputViewInfoTip=e("Tip: Paste the URL into the content to embed faster."),t.label=e("Media URL"),t.infoText=this._urlInputViewInfoDefault,i.inputMode="url",i.on("input",()=>{t.infoText=i.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=i.element.value.trim()}),t}}class re extends h{static get requires(){return[c,U]}static get pluginName(){return"MediaEmbedUI"}static get isOfficialPlugin(){return!0}_formView;init(){const e=this.editor;e.ui.componentFactory.add("mediaEmbed",()=>{const t=this.editor.locale.t,i=this._createDialogButton(S);return i.tooltip=!0,i.label=t("Insert media"),i}),e.ui.componentFactory.add("menuBar:mediaEmbed",()=>{const t=this.editor.locale.t,i=this._createDialogButton(L);return i.label=t("Media"),i})}_createDialogButton(e){const t=this.editor,i=new e(t.locale),o=t.commands.get("mediaEmbed"),r=this.editor.plugins.get("Dialog");return i.icon=q,i.bind("isEnabled").to(o,"isEnabled"),i.on("execute",()=>{r.id==="mediaEmbed"?r.hide():this._showDialog()}),i}_showDialog(){const e=this.editor,t=e.plugins.get("Dialog"),i=e.commands.get("mediaEmbed"),o=e.locale.t,r=i.value!==void 0;if(!this._formView){const a=e.plugins.get(c).registry;this._formView=new(B(oe))(ne(e.t,a),e.locale),this._formView.on("submit",()=>this._handleSubmitForm())}t.show({id:"mediaEmbed",title:o("Media embed"),content:this._formView,isModal:!0,onShow:()=>{this._formView.url=i.value||"",this._formView.resetFormStatus(),this._formView.urlInputView.fieldView.select()},actionButtons:[{label:o("Cancel"),withText:!0,onExecute:()=>t.hide()},{label:o(r?"Save":"Insert"),class:"ck-button-action",withText:!0,onExecute:()=>this._handleSubmitForm()}]})}_handleSubmitForm(){const e=this.editor,t=e.plugins.get("Dialog");this._formView.isValid()&&(e.execute("mediaEmbed",this._formView.url),t.hide(),e.editing.view.focus())}}function ne(n,e){return[t=>{if(!t.url.length)return n("The URL must not be empty.")},t=>{if(!e.hasMedia(t.url))return n("This media URL is not supported.")}]}class pe extends h{static get requires(){return[c,re,ie,T]}static get pluginName(){return"MediaEmbed"}static get isOfficialPlugin(){return!0}}export{ie as AutoMediaEmbed,pe as MediaEmbed,J as MediaEmbedCommand,c as MediaEmbedEditing,re as MediaEmbedUI,ee as MediaRegistry,oe as _MediaFormView,v as _createMediaFigureElement,E as _getSelectedMediaModelWidget,V as _insertMedia,_ as _modelToViewUrlAttributeMediaConverter,X as _toMediaWidget};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{keyCodes as r}from"../../../../../@ckeditor_ckeditor5-utils@
|
|
1
|
+
import{keyCodes as r}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import"../../../../../@ckeditor_ckeditor5-engine@47.3.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";r.arrowup,r.arrowdown,r.esc;r.enter,r.tab;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Plugin as l,Command as d}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Widget as m,toWidget as p,findOptimalInsertionRange as k}from"../../../../../@ckeditor_ckeditor5-widget@47.3.0/node_modules/@ckeditor/ckeditor5-widget/dist/index.js";import{IconPageBreak as B}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ButtonView as f,MenuBarMenuListItemButtonView as P}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";class b extends d{refresh(){const e=this.editor.model,t=e.schema,a=e.document.selection;this.isEnabled=h(a,t,e)}execute(){const e=this.editor.model;e.change(t=>{const a=t.createElement("pageBreak");e.insertObject(a,null,null,{setSelection:"after"})})}}function h(i,e,t){const a=E(i,t);return e.checkChild(a,"pageBreak")}function E(i,e){const a=k(i,e).start.parent;return a.isEmpty&&!a.is("element","$root")?a.parent:a}class y extends l{static get pluginName(){return"PageBreakEditing"}static get licenseFeatureCode(){return"PB"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}init(){const e=this.editor,t=e.model.schema,a=e.t,o=e.conversion;t.register("pageBreak",{inheritAllFrom:"$blockObject"}),o.for("dataDowncast").elementToStructure({model:"pageBreak",view:(r,{writer:n})=>n.createContainerElement("div",{class:"page-break",style:"page-break-after: always"},n.createContainerElement("span",{style:"display: none"}))}),o.for("editingDowncast").elementToStructure({model:"pageBreak",view:(r,{writer:n})=>{const c=a("Page break"),s=n.createContainerElement("div"),g=n.createRawElement("span",{class:"page-break__label"},function(u){u.innerText=a("Page break")});return n.addClass("page-break",s),n.insert(n.createPositionAt(s,0),g),v(s,n,c)}}),o.for("upcast").elementToElement({view:r=>{const n=r.getStyle("page-break-before")=="always",c=r.getStyle("page-break-after")=="always";if(!n&&!c)return null;if(r.childCount==1){const s=r.getChild(0);if(!s.is("element","span")||s.getStyle("display")!="none")return null}else if(r.childCount>1)return null;return{name:!0,styles:[...n?["page-break-before"]:[],...c?["page-break-after"]:[]],...r.hasClass("page-break")&&{classes:["page-break"]}}},model:"pageBreak",converterPriority:"high"}),e.commands.add("pageBreak",new b(e))}}function v(i,e,t){return e.setCustomProperty("pageBreak",!0,i),p(i,e,{label:t})}class C extends l{static get pluginName(){return"PageBreakUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("pageBreak",()=>{const t=this._createButton(f);return t.set({tooltip:!0}),t}),e.ui.componentFactory.add("menuBar:pageBreak",()=>this._createButton(P))}_createButton(e){const t=this.editor,a=t.locale,o=t.commands.get("pageBreak"),r=new e(t.locale),n=a.t;return r.set({label:n("Page break"),icon:B}),r.bind("isEnabled").to(o,"isEnabled"),this.listenTo(r,"execute",()=>{t.execute("pageBreak"),t.editing.view.focus()}),r}}class O extends l{static get requires(){return[y,C,m]}static get pluginName(){return"PageBreak"}static get isOfficialPlugin(){return!0}}export{O as PageBreak,b as PageBreakCommand,y as PageBreakEditing,C as PageBreakUI};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as h,Command as l}from"../../../../../@ckeditor_ckeditor5-core@
|
|
1
|
+
import{Plugin as h,Command as l}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{first as m}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";class p extends l{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}refresh(){const e=this.editor.model,r=e.document,t=m(r.selection.getSelectedBlocks());this.value=!!t&&t.is("element","paragraph"),this.isEnabled=!!t&&c(t,e.schema)}execute(e={}){const r=this.editor.model,t=r.document,a=e.selection||t.selection;r.canEditAt(a)&&r.change(n=>{const s=a.getSelectedBlocks();for(const i of s)!i.is("element","paragraph")&&c(i,r.schema)&&n.rename(i,"paragraph")})}}function c(o,e){return e.checkChild(o.parent,"paragraph")&&!e.isObject(o)}class u extends l{constructor(e){super(e),this._isEnabledBasedOnSelection=!1}execute(e){const r=this.editor.model,t=e.attributes;let a=e.position;return r.canEditAt(a)?r.change(n=>{if(a=this._findPositionToInsertParagraph(a,n),!a)return null;const s=n.createElement("paragraph");return t&&r.schema.setAllowedAttributes(s,t,n),r.insertContent(s,a),n.setSelection(s,"in"),n.createPositionAt(s,0)}):null}_findPositionToInsertParagraph(e,r){const t=this.editor.model;if(t.schema.checkChild(e,"paragraph"))return e;const a=t.schema.findAllowedParent(e,"paragraph");if(!a)return null;const n=e.parent,s=t.schema.checkChild(n,"$text");return n.isEmpty||s&&e.isAtEnd?t.createPositionAfter(n):!n.isEmpty&&s&&e.isAtStart?t.createPositionBefore(n):r.split(e,a).position}}class d extends h{static get pluginName(){return"Paragraph"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,r=e.model;e.commands.add("paragraph",new p(e)),e.commands.add("insertParagraph",new u(e)),r.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(t,{writer:a})=>!d.paragraphLikeElements.has(t.name)||t.isEmpty?null:a.createElement("paragraph"),view:/.+/,converterPriority:"low"})}static paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"])}export{u as InsertParagraphCommand,d as Paragraph,p as ParagraphCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Plugin as T}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{ClipboardPipeline as M}from"../../../../../@ckeditor_ckeditor5-clipboard@47.3.0/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{UpcastWriter as b,ViewDocument as A,ViewDomConverter as C,Matcher as y}from"../../../../../@ckeditor_ckeditor5-engine@47.3.0/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";function R(t,e){const s=[];for(const i of e.createRangeIn(t)){const n=i.item;n.is("element","a")&&!n.hasAttribute("href")&&(n.hasAttribute("id")||n.hasAttribute("name"))&&s.push(n)}for(const i of s){const n=i.parent.getChildIndex(i)+1,r=i.getChildren();e.insertChild(n,r,i.parent)}}function E(t){const e=parseFloat(t);return t.endsWith("pt")?h(e*96/72):t.endsWith("pc")?h(e*12*96/72):t.endsWith("in")?h(e*96):t.endsWith("cm")?h(e*96/2.54):t.endsWith("mm")?h(e/10*96/2.54):t}function S(t){return t!==void 0&&t.endsWith("px")}function h(t){return Math.round(t)+"px"}function k(t,e,s){if(!t.childCount)return;const i=new b(t.document),n=B(t,i);if(!n.length)return;const r={},l=[];for(const o of n)if(o.indent!==void 0){W(o)||(l.length=0);const c=`${o.id}:${o.indent}`,a=Math.min(o.indent-1,l.length);if(a<l.length&&l[a].id!==o.id&&(l.length=a),a<l.length-1)l.length=a+1;else{const f=D(o,e);if(a>l.length-1||l[a].listElement.name!=f.type){a==0&&f.type=="ol"&&o.id!==void 0&&r[c]&&(f.startIndex=r[c]);const d=_(f,i,s);if(S(o.marginLeft)&&(a==0||S(l[a-1].marginLeft))){let u=o.marginLeft;a>0&&(u=h(parseFloat(u)-parseFloat(l[a-1].marginLeft))),i.setStyle("padding-left",u,d)}if(l.length==0){const u=o.element.parent,g=u.getChildIndex(o.element)+1;i.insertChild(g,d,u)}else{const u=l[a-1].listItemElements;i.appendChild(d,u[u.length-1])}l[a]={...o,listElement:d,listItemElements:[]},a==0&&o.id!==void 0&&(r[c]=f.startIndex||1)}}const m=o.element.name=="li"?o.element:i.createElement("li");i.appendChild(m,l[a].listElement),l[a].listItemElements.push(m),a==0&&o.id!==void 0&&r[c]++,o.element!=m&&i.appendChild(o.element,m),z(o.element,i),i.removeStyle("text-indent",o.element),i.removeStyle("margin-left",o.element)}else{const c=l.find(a=>a.marginLeft==o.marginLeft);if(c){const a=c.listItemElements;i.appendChild(o.element,a[a.length-1]),i.removeStyle("margin-left",o.element)}else l.length=0}}function O(t,e){for(const s of e.createRangeIn(t)){const i=s.item;if(i.is("element","li")){const n=i.getChild(0);n&&n.is("element","p")&&e.unwrapElement(n)}}}function B(t,e){const s=e.createRangeIn(t),i=[],n=new Set;for(const r of s.getItems()){if(!r.is("element")||!r.name.match(/^(p|h\d+|li|div)$/))continue;let l=V(r);if(l!==void 0&&parseFloat(l)==0&&!Array.from(r.getClassNames()).find(o=>o.startsWith("MsoList"))&&(l=void 0),r.hasStyle("mso-list")&&r.getStyle("mso-list")!=="none"||l!==void 0&&n.has(l)){const o=$(r);i.push({element:r,id:o.id,order:o.order,indent:o.indent,marginLeft:l}),l!==void 0&&n.add(l)}else n.clear()}return i}function W(t){const e=t.element.previousSibling;if(!e){const s=t.element.parent;return x(s)&&(!s.previousSibling||x(s.previousSibling))}return x(e)}function x(t){return t.is("element","ol")||t.is("element","ul")}function D(t,e){const s=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi"),i=/mso-level-number-format:([^;]{0,100});/gi,n=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,r=new RegExp(`@list\\s+l${t.id}:level\\d\\s*{[^{]*mso-level-text:"%\\d\\\\.`,"gi"),l=new RegExp(`@list l${t.id}:level\\d\\s*{[^{]*mso-level-number-format:`,"gi"),o=r.exec(e),c=l.exec(e),a=o&&!c,m=s.exec(e);let f="decimal",d="ol",u=null;if(m&&m[1]){const g=i.exec(m[1]);if(g&&g[1]&&(f=g[1].trim(),d=f!=="bullet"&&f!=="image"?"ol":"ul"),f==="bullet"){const p=w(t.element);p&&(f=p)}else{const p=n.exec(m[1]);p&&p[1]&&(u=parseInt(p[1]))}a&&(d="ol")}return{type:d,startIndex:u,style:F(f),isLegalStyleList:a}}function w(t){if(t.name=="li"&&t.parent.name=="ul"&&t.parent.hasAttribute("type"))return t.parent.getAttribute("type");const e=N(t);if(!e)return null;const s=e._data;return s==="o"?"circle":s==="·"?"disc":s==="§"?"square":null}function N(t){if(t.getChild(0).is("$text"))return null;for(const e of t.getChildren()){if(!e.is("element","span"))continue;const s=e.getChild(0);if(s)return s.is("$text")?s:s.getChild(0)}return null}function F(t){if(t.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(t){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return t;default:return null}}function _(t,e,s){const i=e.createElement(t.type);return t.style&&e.setStyle("list-style-type",t.style,i),t.startIndex&&t.startIndex>1&&e.setAttribute("start",t.startIndex,i),t.isLegalStyleList&&s&&e.addClass("legal-list",i),i}function $(t){const e=t.getStyle("mso-list");if(e===void 0)return{};const s=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),n=e.match(/\s{0,100}level(\d+)/i);return s&&i&&n?{id:s[2],order:i[1],indent:parseInt(n[1])}:{indent:1}}function z(t,e){const s=new y({name:"span",styles:{"mso-list":"Ignore"}}),i=e.createRangeIn(t);for(const n of i)n.type==="elementStart"&&s.match(n.item)&&e.remove(n.item)}function V(t){const e=t.getStyle("margin-left");return e===void 0||e.endsWith("px")?e:E(e)}function j(t,e){if(!t.childCount)return;const s=new b(t.document),i=H(t,s);q(i,t,s),X(i,t,s),U(t,s);const n=J(t,s);n.length&&Q(n,K(e),s)}function G(t){return btoa(t.match(/\w{2}/g).map(e=>String.fromCharCode(parseInt(e,16))).join(""))}function H(t,e){const s=e.createRangeIn(t),i=new y({name:/v:(.+)/}),n=[];for(const r of s){if(r.type!="elementStart")continue;const l=r.item,o=l.previousSibling,c=o&&o.is("element")?o.name:null,a=["Chart"],m=i.match(l),f=l.getAttribute("o:gfxdata"),d=c==="v:shapetype",u=f&&a.some(g=>l.getAttribute("id").includes(g));m&&f&&!d&&!u&&n.push(r.item.getAttribute("id"))}return n}function q(t,e,s){const i=s.createRangeIn(e),n=new y({name:"img"}),r=[];for(const l of i)if(l.item.is("element")&&n.match(l.item)){const o=l.item,c=o.getAttribute("v:shapes")?o.getAttribute("v:shapes").split(" "):[];c.length&&c.every(a=>t.indexOf(a)>-1)?r.push(o):o.getAttribute("src")||r.push(o)}for(const l of r)s.remove(l)}function U(t,e){const s=e.createRangeIn(t),i=new y({name:/v:(.+)/}),n=[];for(const r of s)r.type=="elementStart"&&i.match(r.item)&&n.push(r.item);for(const r of n)e.remove(r)}function X(t,e,s){const i=s.createRangeIn(e),n=[];for(const o of i)if(o.type=="elementStart"&&o.item.is("element","v:shape")){const c=o.item.getAttribute("id");if(t.includes(c))continue;r(o.item.parent.getChildren(),c)||n.push(o.item)}for(const o of n){const c={src:l(o)};o.hasAttribute("alt")&&(c.alt=o.getAttribute("alt"));const a=s.createElement("img",c);s.insertChild(o.index+1,a,o.parent)}function r(o,c){for(const a of o){if(a.is("element")&&(a.name=="img"&&a.getAttribute("v:shapes")==c||r(a.getChildren(),c)))return!0}return!1}function l(o){for(const c of o.getChildren()){if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}}function J(t,e){const s=e.createRangeIn(t),i=new y({name:"img"}),n=[];let r=0;for(const l of s)l.item.is("element")&&i.match(l.item)&&(l.item.getAttribute("src").startsWith("file://")&&n.push({element:l.item,imageIndex:r}),r++);return n}function K(t){if(!t)return[];const e=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,s=new RegExp("(?:("+e.source+"))([\\da-fA-F\\s]+)\\}","g"),i=t.match(s),n=[];if(i)for(const r of i){let l=!1;r.includes("\\pngblip")?l="image/png":r.includes("\\jpegblip")&&(l="image/jpeg"),l&&n.push({hex:r.replace(e,"").replace(/[^\da-fA-F]/g,""),type:l})}return n}function Q(t,e,s){for(let i=0;i<t.length;i++){const{element:n,imageIndex:r}=t[i],l=e[r];if(l){const o=`data:${l.type};base64,${G(l.hex)}`;s.setAttribute("src",o,n)}}}function Y(t){const e=[],s=new b(t.document);for(const{item:i}of s.createRangeIn(t))if(i.is("element")){for(const n of i.getClassNames())/\bmso/gi.exec(n)&&s.removeClass(n,i);for(const n of i.getStyleNames())/\bmso/gi.exec(n)&&s.removeStyle(n,i);(i.is("element","w:sdt")||i.is("element","w:sdtpr")&&i.isEmpty||i.is("element","o:p")&&i.isEmpty)&&e.push(i)}for(const i of e){const n=i.parent,r=n.getChildIndex(i);s.insertChild(r,i.getChildren(),n),s.remove(i)}}function Z(t,e,s=!1,i=!1){for(const n of e.createRangeIn(t).getItems()){if(!n.is("element","table")&&!n.is("element","td")&&!n.is("element","th"))continue;if(s&&i&&n.is("element","table")){const o=n.parent?.is("element","div")?n.parent:null,c=n.parent?.parent?.is("element","div")?n.parent.parent:null,a=o??c;a&&a.getAttribute("align")==="center"&&!n.getAttribute("align")?(e.setStyle("margin-left","auto",n),e.setStyle("margin-right","auto",n)):a&&a.getAttribute("align")==="right"&&!n.getAttribute("align")?(e.setStyle("margin-left","auto",n),e.setStyle("margin-right","0",n)):!a&&!n.getAttribute("align")&&(e.setStyle("margin-left","0",n),e.setStyle("margin-right","auto",n))}const r=["left","top","right","bottom"];if(r.every(o=>!n.hasStyle(`border-${o}-style`)))e.setStyle("border-style","none",n);else for(const o of r)n.hasStyle(`border-${o}-style`)||e.setStyle(`border-${o}-style`,"none",n);const l=["width","height",...r.map(o=>`border-${o}-width`),...r.map(o=>`padding-${o}`)];for(const o of l)n.hasStyle(o)&&e.setStyle(o,E(n.getStyle(o)),n)}}function L(t,e){for(const s of e.createRangeIn(t).getItems())s.is("element","table")&&(s.getStyle("width")==="0px"&&e.removeStyle("width",s),s.getAttribute("width")==="0"&&e.removeAttribute("width",s))}function ee(t,e){const s=new Map,i=new Map;let n=null;for(const{item:l}of e.createRangeIn(t))if(l.is("element")){if(l.getStyle("mso-element")==="footnote-list"){n=l;continue}if(l.hasStyle("mso-footnote-id")){const o=l.findAncestor("element",c=>c.getStyle("mso-element")==="footnote");if(o){const c=o.getAttribute("id");i.set(c,o)}else{const c=l.getStyle("mso-footnote-id");s.set(c,l)}continue}}if(!s.size||!n)return;const r=ne(e);e.replace(n,r);for(const[l,o]of s){const c=i.get(l);if(!c)continue;e.replace(o,se(e,l));const a=ie(e,l);te(e,c);for(const m of c.getChildren()){let f=m;m.is("element")&&(f=e.clone(m,!0)),e.appendChild(f,a.content)}e.appendChild(a.listItem,r)}}function te(t,e){const s=[],i=[];for(const{item:n}of t.createRangeIn(e))if(n.is("element")&&n.getStyle("mso-footnote-id")){s.unshift(n);const{nextSibling:r}=n;r?.is("$text")&&r.data.startsWith(" ")&&i.unshift(r)}for(const n of s)t.remove(n);for(const n of i){const r=n.data.substring(1);if(r.length>0){const l=n.parent,o=l.getChildIndex(n),c=t.createText(r);t.remove(n),t.insertChild(o,c,l)}else t.remove(n)}return e}function ne(t){return t.createElement("ol",{class:"footnotes"})}function se(t,e){const s=t.createElement("sup",{class:"footnote"}),i=t.createElement("a",{id:`ref-${e}`,href:`#${e}`});return t.appendChild(i,s),s}function ie(t,e){const s=t.createElement("li",{id:e,class:"footnote-definition"}),i=t.createElement("a",{href:`#ref-${e}`,class:"footnote-backlink"}),n=t.createElement("div",{class:"footnote-content"});return t.appendChild(t.createText("^"),i),t.appendChild(i,s),t.appendChild(n,s),{listItem:s,content:n}}const oe=/<meta\s*name="?generator"?\s*content="?microsoft\s*word\s*\d+"?\/?>/i,le=/xmlns:o="urn:schemas-microsoft-com/i;class re{document;hasMultiLevelListPlugin;hasTablePropertiesPlugin;hasExtendedTableBlockAlignment;constructor(e,s=!1,i=!1,n=!1){this.document=e,this.hasMultiLevelListPlugin=s,this.hasTablePropertiesPlugin=i,this.hasExtendedTableBlockAlignment=n}isActive(e){return oe.test(e)||le.test(e)}execute(e){const s=new b(this.document),{body:i,stylesString:n}=e._parsedData;R(i,s),k(i,n,this.hasMultiLevelListPlugin),j(i,e.dataTransfer.getData("text/rtf")),Z(i,s,this.hasTablePropertiesPlugin,this.hasExtendedTableBlockAlignment),L(i,s),ee(i,s),Y(i),e.content=i}}function ae(t,e){for(const s of t.getChildren())if(s.is("element","b")&&s.getStyle("font-weight")==="normal"){const i=t.getChildIndex(s);e.remove(s),e.insertChild(i,s.getChildren(),t)}}function ce(t,e){const s=new A(e.document.stylesProcessor),i=new C(s,{renderingMode:"data"}),n=i.blockElements,r=i.inlineObjectElements,l=[];for(const o of e.createRangeIn(t)){const c=o.item;if(c.is("element","br")){const a=v(c,"forward",e,{blockElements:n,inlineObjectElements:r}),m=v(c,"backward",e,{blockElements:n,inlineObjectElements:r}),f=I(a,n);(I(m,n)||f)&&l.push(c)}}for(const o of l)o.hasClass("Apple-interchange-newline")?e.remove(o):e.replace(o,e.createElement("p"))}function v(t,e,s,{blockElements:i,inlineObjectElements:n}){let r=s.createPositionAt(t,e=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:l})=>l.is("element")&&!i.includes(l.name)&&!n.includes(l.name),{direction:e}),e=="forward"?r.nodeAfter:r.nodeBefore}function I(t,e){return!!t&&t.is("element")&&e.includes(t.name)}function fe(t,e,s){const i=new Set;for(const n of e.createRangeIn(t).getItems())!n.is("view:$textProxy")||!n.data.includes(" ")||me(n.parent)&&i.add(n.textNode);for(const n of i)ue(n,e,s)}function me(t){let e=t;for(;e;){if(e.is("element")&&e.getStyle?.("white-space")==="pre-wrap")return!0;e=e.parent}return!1}function ue(t,e,s){const{parent:i,data:n}=t,r=n.replaceAll(" "," ".repeat(s)),l=i.getChildIndex(t);e.remove(t),e.insertChild(l,e.createText(r),i)}const de=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class ge{document;constructor(e){this.document=e}isActive(e){return de.test(e)}execute(e){const s=new b(this.document),{body:i}=e._parsedData;ae(i,s),O(i,s),ce(i,s),fe(i,s,8),e.content=i}}function pe(t,e){for(const s of t.getChildren())s.is("element","table")&&s.hasAttribute("xmlns")&&e.removeAttribute("xmlns",s)}function he(t,e){for(const s of t.getChildren())if(s.is("element","google-sheets-html-origin")){const i=t.getChildIndex(s);e.remove(s),e.insertChild(i,s.getChildren(),t)}}function be(t,e){for(const s of Array.from(t.getChildren()))s.is("element","style")&&e.remove(s)}const ye=/<google-sheets-html-origin/i;class xe{document;constructor(e){this.document=e}isActive(e){return ye.test(e)}execute(e){const s=new b(this.document),{body:i}=e._parsedData;he(i,s),pe(i,s),L(i,s),be(i,s),e.content=i}}function Se(t){return P(P(t)).replace(/(<span\s+style=['"]mso-spacerun:yes['"]>[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<span\s+style=['"]mso-spacerun:yes['"]><\/span>/g,"").replace(/(<span\s+style=['"]letter-spacing:[^'"]+?['"]>)[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," </").replace(/ <o:p><\/o:p>/g," <o:p></o:p>").replace(/<o:p>( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)</g,"><")}function ve(t){t.querySelectorAll("span[style*=spacerun]").forEach(e=>{const s=e,i=s.innerText.length||0;s.innerText=Array(i+1).join(" ").substr(0,i)})}function P(t){return t.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,(e,s)=>s.length===1?" ":Array(s.length+1).join(" ").substr(0,s.length))}function Ie(t,e){const s=new DOMParser;t=t.replace(/<!--\[if gte vml 1]>/g,""),t=t.replace(/<o:SmartTagType(?:\s+[^\s>=]+(?:="[^"]*")?)*\s*\/?>/gi,"");const i=Se(Ce(t)),n=s.parseFromString(i,"text/html");ve(n);const r=n.body.innerHTML,l=Pe(n,e),o=Ae(n);return{body:l,bodyString:r,styles:o.styles,stylesString:o.stylesString}}function Pe(t,e){const s=new A(e),i=new C(s,{renderingMode:"data"}),n=t.createDocumentFragment(),r=t.body.childNodes;for(;r.length>0;)n.appendChild(r[0]);return i.domToView(n,{skipComments:!0})}function Ae(t){const e=[],s=[],i=Array.from(t.getElementsByTagName("style"));for(const n of i)n.sheet&&n.sheet.cssRules&&n.sheet.cssRules.length&&(e.push(n.sheet),s.push(n.innerHTML));return{styles:e,stylesString:s.join(" ")}}function Ce(t){const e="</body>",s="</html>",i=t.indexOf(e);if(i<0)return t;const n=t.indexOf(s,i+e.length);return t.substring(0,i+e.length)+(n>=0?t.substring(n):"")}class Me extends T{static get pluginName(){return"PasteFromOffice"}static get licenseFeatureCode(){return"PFO"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}static get requires(){return[M]}init(){const e=this.editor,s=e.plugins.get("ClipboardPipeline"),i=e.editing.view.document,n=[],r=this.editor.plugins.has("MultiLevelList"),l=this.editor.plugins.has("TableProperties"),o=!!this.editor.config.get("experimentalFlags.useExtendedTableBlockAlignment");n.push(new re(i,r,l,o)),n.push(new ge(i)),n.push(new xe(i)),s.on("inputTransformation",(c,a)=>{if(a._isTransformedWithPasteFromOffice||e.model.document.selection.getFirstPosition().parent.is("element","codeBlock"))return;const f=a.dataTransfer.getData("text/html"),d=n.find(u=>u.isActive(f));d&&(a._parsedData||(a._parsedData=Ie(f,i.stylesProcessor)),d.execute(a),a._isTransformedWithPasteFromOffice=!0)},{priority:"high"})}}export{Me as PasteFromOffice,ge as PasteFromOfficeGoogleDocsNormalizer,xe as PasteFromOfficeGoogleSheetsNormalizer,re as PasteFromOfficeMSWordNormalizer,G as _convertHexToBase64,E as _convertPasteOfficeCssLengthToPx,S as _isPasteOfficePxValue,ve as _normalizePasteOfficeSpaceRunSpans,Se as _normalizePasteOfficeSpacing,he as _removePasteGoogleOfficeSheetsTag,Y as _removePasteMSOfficeAttributes,ae as _removePasteOfficeBoldWrapper,L as _removePasteOfficeInvalidTableWidths,be as _removePasteOfficeStyleBlock,pe as _removePasteOfficeXmlnsAttributes,j as _replacePasteOfficeImagesSourceWithBase64,h as _toPasteOfficePxValue,ce as _transformPasteOfficeBlockBrsToParagraphs,R as _transformPasteOfficeBookmarks,k as _transformPasteOfficeListItemLikeElementsIntoLists,Z as _transformPasteOfficeTables,O as _unwrapPasteOfficeParagraphInListItem,Ie as parsePasteOfficeHtml};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as a,Command as d}from"../../../../../@ckeditor_ckeditor5-core@
|
|
1
|
+
import{Plugin as a,Command as d}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{IconRemoveFormat as l}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ButtonView as g,MenuBarMenuListItemButtonView as f}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{first as c}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";const n="removeFormat";class F extends a{static get pluginName(){return"RemoveFormatUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor;t.ui.componentFactory.add(n,()=>{const e=this._createButton(g);return e.set({tooltip:!0}),e}),t.ui.componentFactory.add(`menuBar:${n}`,()=>this._createButton(f))}_createButton(t){const e=this.editor,i=e.locale,s=e.commands.get(n),o=new t(e.locale),r=i.t;return o.set({label:r("Remove Format"),icon:l}),o.bind("isEnabled").to(s,"isEnabled"),this.listenTo(o,"execute",()=>{e.execute(n),e.editing.view.focus()}),o}}class h extends d{_customAttributesHandlers=[];refresh(){const t=this.editor.model;this.isEnabled=!!c(this._getFormattingItems(t.document.selection))}execute(){const t=this.editor.model;t.change(e=>{for(const i of this._getFormattingItems(t.document.selection))if(i.is("selection"))for(const s of this._getFormattingAttributes(i))e.removeSelectionAttribute(s);else{const s=e.createRangeOn(i);for(const o of this._getFormattingAttributes(i))this._removeFormatting(o,i,s,e)}})}registerCustomAttribute(t,e){this._customAttributesHandlers.push({isFormatting:t,removeFormatting:e})}_removeFormatting(t,e,i,s){let o=!1;for(const{isFormatting:r,removeFormatting:u}of this._customAttributesHandlers)r(t,e)&&(u(t,i,s),o=!0);o||s.removeAttribute(t,i)}*_getFormattingItems(t){const e=this.editor.model,i=e.schema,s=o=>!!c(this._getFormattingAttributes(o));for(const o of t.getRanges())for(const r of o.getItems())i.isBlock(r)&&o.end.isTouching(e.createPositionAt(r,0))||s(r)&&(yield r);for(const o of t.getSelectedBlocks())s(o)&&(yield o);s(t)&&(yield t)}*_getFormattingAttributes(t){const e=this.editor.model.schema;for(const[i]of t.getAttributes()){for(const{isFormatting:o}of this._customAttributesHandlers)o(i,t)&&(yield i);const s=e.getAttributeProperties(i);s&&s.isFormatting&&(yield i)}}}class b extends a{static get pluginName(){return"RemoveFormatEditing"}static get licenseFeatureCode(){return"RF"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}init(){const t=this.editor;t.commands.add("removeFormat",new h(t))}}class p extends a{static get requires(){return[b,F]}static get pluginName(){return"RemoveFormat"}static get isOfficialPlugin(){return!0}}export{p as RemoveFormat,h as RemoveFormatCommand,b as RemoveFormatEditing,F as RemoveFormatUI};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as o,Command as a}from"../../../../../@ckeditor_ckeditor5-core@
|
|
1
|
+
import{Plugin as o,Command as a}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{getCode as u,parseKeystroke as d}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{IconSelectAll as m}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ButtonView as g,MenuBarMenuListItemButtonView as f}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";class A extends a{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let i=e.schema.getLimitElement(t);if(t.containsEntireContent(i)||!r(e.schema,i))do if(i=i.parent,!i)return;while(!r(e.schema,i));e.change(n=>{n.setSelection(i,"in")})}}function r(l,e){return l.isLimit(e)&&(l.checkChild(e,"$text")||l.checkChild(e,"paragraph"))}const p=d("Ctrl+A");class h extends o{static get pluginName(){return"SelectAllEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t,n=e.editing.view.document;e.commands.add("selectAll",new A(e)),this.listenTo(n,"keydown",(c,s)=>{u(s)===p&&(e.execute("selectAll"),s.preventDefault())}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Select all"),keystroke:"CTRL+A"}]})}}class S extends o{static get pluginName(){return"SelectAllUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",()=>{const t=this._createButton(g);return t.set({tooltip:!0}),t}),e.ui.componentFactory.add("menuBar:selectAll",()=>this._createButton(f))}_createButton(e){const t=this.editor,i=t.locale,n=t.commands.get("selectAll"),c=new e(t.locale),s=i.t;return c.set({label:s("Select all"),icon:m,keystroke:"Ctrl+A"}),c.bind("isEnabled").to(n,"isEnabled"),this.listenTo(c,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),c}}class E extends o{static get requires(){return[h,S]}static get pluginName(){return"SelectAll"}static get isOfficialPlugin(){return!0}}export{E as SelectAll,A as SelectAllCommand,h as SelectAllEditing,S as SelectAllUI};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as c,Command as u}from"../../../../../@ckeditor_ckeditor5-core@
|
|
1
|
+
import{Plugin as c,Command as u}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{IconShowBlocks as d}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ButtonView as h,MenuBarMenuListItemButtonView as m}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";class w extends u{constructor(t){super(t),this.affectsData=!1,this.value=!1}execute(){const t="ck-show-blocks",e=this.editor.editing.view;e.change(s=>{for(const o of e.document.roots)o.hasClass(t)?(s.removeClass(t,o),this.value=!1):(s.addClass(t,o),this.value=!0)})}}class g extends c{static get pluginName(){return"ShowBlocksEditing"}static get isOfficialPlugin(){return!0}init(){const{editor:t}=this;t.commands.add("showBlocks",new w(t))}}class B extends c{static get pluginName(){return"ShowBlocksUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor;t.ui.componentFactory.add("showBlocks",()=>{const e=this._createButton(h);return e.set({tooltip:!0,icon:d}),e}),t.ui.componentFactory.add("menuBar:showBlocks",()=>this._createButton(m))}_createButton(t){const e=this.editor,s=e.locale,o=e.commands.get("showBlocks"),i=new t(s),a=s.t;return i.set({label:a("Show blocks"),isToggleable:!0,role:"menuitemcheckbox"}),i.bind("isEnabled").to(o),i.bind("isOn").to(o,"value",o,"isEnabled",(l,r)=>l&&r),this.listenTo(i,"execute",()=>{e.execute("showBlocks"),e.editing.view.focus()}),i}}class S extends c{static get pluginName(){return"ShowBlocks"}static get isOfficialPlugin(){return!0}static get requires(){return[g,B]}}export{S as ShowBlocks,w as ShowBlocksCommand,g as ShowBlocksEditing,B as ShowBlocksUI};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Plugin as g,PendingActions as l}from"../../../../../@ckeditor_ckeditor5-core@
|
|
1
|
+
import{Plugin as g,PendingActions as l}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{IconSource as f}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ButtonView as p,MenuBarMenuListItemButtonView as E}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{ElementReplacer as b,CKEditorError as _,createElement as u,formatHtml as w}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";const d="SourceEditingMode";class M extends g{static get pluginName(){return"SourceEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[l]}_elementReplacer;_replacedRoots;_dataFromRoots;constructor(e){super(e),this.set("isSourceEditingMode",!1),this._elementReplacer=new b,this._replacedRoots=new Map,this._dataFromRoots=new Map,e.config.define("sourceEditing.allowCollaborationFeatures",!1)}init(){this._checkCompatibility();const e=this.editor,t=e.locale.t;e.ui.componentFactory.add("sourceEditing",()=>{const i=this._createButton(p);return i.set({label:t("Source"),icon:f,tooltip:!0,class:"ck-source-editing-button"}),i}),e.ui.componentFactory.add("menuBar:sourceEditing",()=>{const i=this._createButton(E);return i.set({label:t("Show source"),role:"menuitemcheckbox"}),i}),this._isAllowedToHandleSourceEditingMode()&&(this.on("change:isSourceEditingMode",(i,o,n)=>{n?(this._hideVisibleDialog(),this._showSourceEditing(),this._disableCommands()):(this._hideSourceEditing(),this._enableCommands())}),this.on("change:isEnabled",(i,o,n)=>this._handleReadOnlyMode(!n)),this.listenTo(e,"change:isReadOnly",(i,o,n)=>this._handleReadOnlyMode(n))),e.data.on("get",()=>{this.isSourceEditingMode&&this.updateEditorData()},{priority:"high"})}updateEditorData(){const e=this.editor,t={};for(const[i,o]of this._replacedRoots){const n=this._dataFromRoots.get(i),s=o.dataset.value;n!==s&&(t[i]=s,this._dataFromRoots.set(i,s))}Object.keys(t).length&&e.data.set(t,{batchType:{isUndoable:!0},suppressErrorInCollaboration:!0})}_checkCompatibility(){const e=this.editor,t=e.config.get("sourceEditing.allowCollaborationFeatures");if(!t&&e.plugins.has("RealTimeCollaborativeEditing"))throw new _("source-editing-incompatible-with-real-time-collaboration",null);!t&&["CommentsEditing","TrackChangesEditing","RevisionHistory"].some(o=>e.plugins.has(o))&&console.warn("You initialized the editor with the source editing feature and at least one of the collaboration features. Please be advised that the source editing feature may not work, and be careful when editing document source that contains markers created by the collaboration features."),e.plugins.has("RestrictedEditingModeEditing")&&console.warn("You initialized the editor with the source editing feature and restricted editing feature. Please be advised that the source editing feature may not work, and be careful when editing document source that contains markers created by the restricted editing feature.")}_showSourceEditing(){const e=this.editor,t=e.editing.view,i=e.model;i.change(o=>{o.setSelection(null),o.removeSelectionAttribute(i.document.selection.getAttributeKeys())});for(const[o,n]of t.domRoots){const s=R(e.data.get({rootName:o})),r=u(n.ownerDocument,"textarea",{rows:"1","aria-label":"Source code editing area"}),c=u(n.ownerDocument,"div",{class:"ck-source-editing-area","data-value":s},[r]);r.value=s,r.setSelectionRange(0,0),r.addEventListener("input",()=>{c.dataset.value=r.value,e.ui.update()}),t.change(h=>{const m=t.document.getRoot(o);h.addClass("ck-hidden",m)}),e.ui.setEditableElement("sourceEditing:"+o,r),this._replacedRoots.set(o,c),this._elementReplacer.replace(n,c),this._dataFromRoots.set(o,s)}this._hideDocumentOutline(),this._refreshAnnotationsVisibility(),this._focusSourceEditing()}_hideSourceEditing(){const t=this.editor.editing.view;this.updateEditorData(),t.change(i=>{for(const[o]of this._replacedRoots)i.removeClass("ck-hidden",t.document.getRoot(o))}),this._elementReplacer.restore(),this._replacedRoots.clear(),this._dataFromRoots.clear(),this._showDocumentOutline(),this._refreshAnnotationsVisibility(),t.focus()}_hideDocumentOutline(){this.editor.plugins.has("DocumentOutlineUI")&&(this.editor.plugins.get("DocumentOutlineUI").view.element.style.display="none")}_showDocumentOutline(){this.editor.plugins.has("DocumentOutlineUI")&&(this.editor.plugins.get("DocumentOutlineUI").view.element.style.display="")}_refreshAnnotationsVisibility(){this.editor.plugins.has("Annotations")&&this.editor.plugins.get("Annotations").refreshVisibility()}_focusSourceEditing(){const e=this.editor,[t]=this._replacedRoots.values(),i=t.querySelector("textarea");e.editing.view.document.isFocused=!1,i.focus()}_disableCommands(){const e=this.editor;for(const t of e.commands.commands())t.forceDisabled(d);e.plugins.has("CommentsArchiveUI")&&e.plugins.get("CommentsArchiveUI").forceDisabled(d)}_enableCommands(){const e=this.editor;for(const t of e.commands.commands())t.clearForceDisabled(d);e.plugins.has("CommentsArchiveUI")&&e.plugins.get("CommentsArchiveUI").clearForceDisabled(d)}_handleReadOnlyMode(e){if(this.isSourceEditingMode)for(const[,t]of this._replacedRoots)t.querySelector("textarea").readOnly=e}_isAllowedToHandleSourceEditingMode(){const t=this.editor.ui.view.editable;return t&&!t.hasExternalElement}_hideVisibleDialog(){if(this.editor.plugins.has("Dialog")){const e=this.editor.plugins.get("Dialog");e.isOpen&&e.hide()}}_createButton(e){const t=this.editor,i=new e(t.locale);return i.set({withText:!0,isToggleable:!0}),i.bind("isOn").to(this,"isSourceEditingMode"),i.bind("isEnabled").to(this,"isEnabled",t,"isReadOnly",t.plugins.get(l),"hasAny",(o,n,s)=>!(!o||n||s)),this.listenTo(i,"execute",()=>{this.isSourceEditingMode=!this.isSourceEditingMode}),i}}function R(a){return S(a)?w(a):a}function S(a){return a.startsWith("<")}export{M as SourceEditing};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Plugin as o}from"../../../../../@ckeditor_ckeditor5-core@47.3.0/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Typing as f}from"../../../../../@ckeditor_ckeditor5-typing@47.3.0/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{IconSpecialCharacters as b}from"../../../../../@ckeditor_ckeditor5-icons@47.3.0/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{Dialog as k,ButtonView as g,MenuBarMenuListItemButtonView as C,DialogViewPosition as _,View as h,LabeledFieldView as y,createLabeledDropdown as x,UIModel as v,addListToDropdown as V,addKeyboardHandlingForGrid as T,FocusCycler as S}from"../../../../../@ckeditor_ckeditor5-ui@47.3.0/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{CKEditorError as w,Collection as P,FocusTracker as p,KeystrokeHandler as m,global as D}from"../../../../../@ckeditor_ckeditor5-utils@47.3.0/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";class G extends h{tiles;focusTracker;keystrokes;constructor(e){super(e),this.tiles=this.createCollection(),this.setTemplate({tag:"div",children:[{tag:"div",attributes:{class:["ck","ck-character-grid__tiles"]},children:this.tiles}],attributes:{class:["ck","ck-character-grid"]}}),this.focusTracker=new p,this.keystrokes=new m,T({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.tiles,numberOfColumns:()=>D.window.getComputedStyle(this.element.firstChild).getPropertyValue("grid-template-columns").split(" ").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}createTile(e,t){const a=new g(this.locale);return a.set({label:e,withText:!0,class:"ck-character-grid__tile"}),a.extendTemplate({attributes:{title:t},on:{mouseover:a.bindTemplate.to("mouseover"),focus:a.bindTemplate.to("focus")}}),a.on("mouseover",()=>{this.fire("tileHover",{name:t,character:e})}),a.on("focus",()=>{this.fire("tileFocus",{name:t,character:e})}),a.on("execute",()=>{this.fire("execute",{name:t,character:e})}),a}render(){super.render();for(const e of this.tiles)this.focusTracker.add(e.element);this.tiles.on("change",(e,{added:t,removed:a})=>{if(t.length>0)for(const r of t)this.focusTracker.add(r.element);if(a.length>0)for(const r of a)this.focusTracker.remove(r.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.keystrokes.destroy()}focus(){this.tiles.first.focus()}}class q extends h{constructor(e){super(e);const t=this.bindTemplate;this.set("character",null),this.set("name",null),this.bind("code").to(this,"character",I),this.setTemplate({tag:"div",children:[{tag:"span",attributes:{class:["ck-character-info__name"]},children:[{text:t.to("name",a=>a||"")}]},{tag:"span",attributes:{class:["ck-character-info__code"]},children:[{text:t.to("code")}]}],attributes:{class:["ck","ck-character-info"]}})}}function I(c){return c===null?"":"U+"+("0000"+c.codePointAt(0).toString(16)).slice(-4)}class N extends h{items;focusTracker;keystrokes;_focusCycler;categoriesView;gridView;infoView;constructor(e,t,a,r){super(e),this.categoriesView=t,this.gridView=a,this.infoView=r,this.items=this.createCollection(),this.focusTracker=new p,this.keystrokes=new m,this._focusCycler=new S({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",children:[this.categoriesView,this.gridView,this.infoView],attributes:{tabindex:"-1"}}),this.items.add(this.categoriesView),this.items.add(this.gridView)}render(){super.render(),this.focusTracker.add(this.categoriesView.element),this.focusTracker.add(this.gridView.element),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class A extends h{_groupNames;_dropdownView;constructor(e,t){super(e),this.set("currentGroupName",Array.from(t.entries())[0][0]),this._groupNames=t,this._dropdownView=new y(e,x),this.setTemplate({tag:"div",attributes:{class:["ck","ck-character-categories"]},children:[this._dropdownView]})}render(){super.render(),this._setupDropdown()}focus(){this._dropdownView.focus()}_setupDropdown(){const e=new P;for(const[r,i]of this._groupNames){const s={type:"button",model:new v({name:r,label:i,role:"menuitemradio",withText:!0})};s.model.bind("isOn").to(this,"currentGroupName",l=>l===r),e.add(s)}const t=this.locale.t,a=t("Category");this._dropdownView.set({label:a,isEmpty:!1}),this._dropdownView.fieldView.panelPosition=this.locale.uiLanguageDirection==="rtl"?"se":"sw",this._dropdownView.fieldView.buttonView.set({withText:!0,tooltip:a,ariaLabel:a,ariaLabelledBy:void 0,isOn:!1}),this._dropdownView.fieldView.buttonView.bind("label").to(this,"currentGroupName",r=>this._groupNames.get(r)),this._dropdownView.fieldView.on("execute",({source:r})=>{this.currentGroupName=r.name}),V(this._dropdownView.fieldView,e,{ariaLabel:a,role:"menu"})}}const u="All";class K extends o{_characters;_groups;_allSpecialCharactersGroupLabel;static get requires(){return[f,k]}static get pluginName(){return"SpecialCharacters"}static get licenseFeatureCode(){return"SCH"}static get isOfficialPlugin(){return!0}static get isPremiumPlugin(){return!0}constructor(e){super(e);const t=e.t;this._characters=new Map,this._groups=new Map,this._allSpecialCharactersGroupLabel=t("All")}init(){const e=this.editor;e.ui.componentFactory.add("specialCharacters",()=>{const t=this._createDialogButton(g);return t.set({tooltip:!0}),t}),e.ui.componentFactory.add("menuBar:specialCharacters",()=>this._createDialogButton(C))}addItems(e,t,a={label:e}){if(e===u)throw new w("special-character-invalid-group-name",null);const r=this._getGroup(e,a.label);for(const i of t)r.items.add(i.title),this._characters.set(i.title,i.character)}getGroups(){const e=Array.from(this._groups.keys()),t=this.editor.config.get("specialCharacters.order")||[],a=t.find(r=>!e.includes(r));if(a)throw new w("special-character-invalid-order-group-name",null,{invalidGroup:a});return new Set([...t,...e])}getCharactersForGroup(e){if(e===u)return new Set(this._characters.keys());const t=this._groups.get(e);if(t)return t.items}getCharacter(e){return this._characters.get(e)}_getGroup(e,t){return this._groups.has(e)||this._groups.set(e,{items:new Set,label:t}),this._groups.get(e)}_updateGrid(e,t){t.tiles.clear();const a=this.getCharactersForGroup(e);for(const r of a){const i=this.getCharacter(r);t.tiles.add(t.createTile(i,r))}}_createDropdownPanelContent(e){const t=Array.from(this.getGroups()).map(l=>[l,this._groups.get(l).label]),a=new Map([[u,this._allSpecialCharactersGroupLabel],...t]),r=new A(e,a),i=new G(e),s=new q(e);return i.on("tileHover",(l,n)=>{s.set(n)}),i.on("tileFocus",(l,n)=>{s.set(n)}),r.on("change:currentGroupName",(l,n,d)=>{this._updateGrid(d,i)}),this._updateGrid(r.currentGroupName,i),{categoriesView:r,gridView:i,infoView:s}}_createDialogButton(e){const t=this.editor,a=t.locale,r=new e(t.locale),i=t.commands.get("insertText"),s=a.t,l=this.editor.plugins.get("Dialog");return r.set({label:s("Special characters"),icon:b,isToggleable:!0}),r.bind("isOn").to(l,"id",n=>n==="specialCharacters"),r.bind("isEnabled").to(i,"isEnabled"),r.on("execute",()=>{if(l.id==="specialCharacters"){l.hide();return}this._showDialog()}),r}_showDialog(){const e=this.editor,t=e.plugins.get("Dialog"),a=e.locale,r=a.t,{categoriesView:i,gridView:s,infoView:l}=this._createDropdownPanelContent(a),n=new N(a,i,s,l);s.on("execute",(d,L)=>{e.execute("insertText",{text:L.character})}),t.show({id:"specialCharacters",title:r("Special characters"),className:"ck-special-characters",content:n,position:_.EDITOR_TOP_SIDE})}}class E extends o{static get pluginName(){return"SpecialCharactersArrows"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;e.plugins.get("SpecialCharacters").addItems("Arrows",[{title:t("leftwards simple arrow"),character:"←"},{title:t("rightwards simple arrow"),character:"→"},{title:t("upwards simple arrow"),character:"↑"},{title:t("downwards simple arrow"),character:"↓"},{title:t("leftwards double arrow"),character:"⇐"},{title:t("rightwards double arrow"),character:"⇒"},{title:t("upwards double arrow"),character:"⇑"},{title:t("downwards double arrow"),character:"⇓"},{title:t("leftwards dashed arrow"),character:"⇠"},{title:t("rightwards dashed arrow"),character:"⇢"},{title:t("upwards dashed arrow"),character:"⇡"},{title:t("downwards dashed arrow"),character:"⇣"},{title:t("leftwards arrow to bar"),character:"⇤"},{title:t("rightwards arrow to bar"),character:"⇥"},{title:t("upwards arrow to bar"),character:"⤒"},{title:t("downwards arrow to bar"),character:"⤓"},{title:t("up down arrow with base"),character:"↨"},{title:t("back with leftwards arrow above"),character:"🔙"},{title:t("end with leftwards arrow above"),character:"🔚"},{title:t("on with exclamation mark with left right arrow above"),character:"🔛"},{title:t("soon with rightwards arrow above"),character:"🔜"},{title:t("top with upwards arrow above"),character:"🔝"}],{label:t("Arrows")})}}class F extends o{static get pluginName(){return"SpecialCharactersText"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;e.plugins.get("SpecialCharacters").addItems("Text",[{character:"‹",title:t("Single left-pointing angle quotation mark")},{character:"›",title:t("Single right-pointing angle quotation mark")},{character:"«",title:t("Left-pointing double angle quotation mark")},{character:"»",title:t("Right-pointing double angle quotation mark")},{character:"‘",title:t("Left single quotation mark")},{character:"’",title:t("Right single quotation mark")},{character:"“",title:t("Left double quotation mark")},{character:"”",title:t("Right double quotation mark")},{character:"‚",title:t("Single low-9 quotation mark")},{character:"„",title:t("Double low-9 quotation mark")},{character:"¡",title:t("Inverted exclamation mark")},{character:"¿",title:t("Inverted question mark")},{character:"‥",title:t("Two dot leader")},{character:"…",title:t("Horizontal ellipsis")},{character:"‡",title:t("Double dagger")},{character:"‰",title:t("Per mille sign")},{character:"‱",title:t("Per ten thousand sign")},{character:"‼",title:t("Double exclamation mark")},{character:"⁈",title:t("Question exclamation mark")},{character:"⁉",title:t("Exclamation question mark")},{character:"⁇",title:t("Double question mark")},{character:"©",title:t("Copyright sign")},{character:"®",title:t("Registered sign")},{character:"™",title:t("Trade mark sign")},{character:"§",title:t("Section sign")},{character:"¶",title:t("Paragraph sign")},{character:"⁋",title:t("Reversed paragraph sign")}],{label:t("Text")})}}class M extends o{static get pluginName(){return"SpecialCharactersMathematical"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;e.plugins.get("SpecialCharacters").addItems("Mathematical",[{character:"<",title:t("Less-than sign")},{character:">",title:t("Greater-than sign")},{character:"≤",title:t("Less-than or equal to")},{character:"≥",title:t("Greater-than or equal to")},{character:"–",title:t("En dash")},{character:"—",title:t("Em dash")},{character:"¯",title:t("Macron")},{character:"‾",title:t("Overline")},{character:"°",title:t("Degree sign")},{character:"−",title:t("Minus sign")},{character:"±",title:t("Plus-minus sign")},{character:"÷",title:t("Division sign")},{character:"⁄",title:t("Fraction slash")},{character:"×",title:t("Multiplication sign")},{character:"ƒ",title:t("Latin small letter f with hook")},{character:"∫",title:t("Integral")},{character:"∑",title:t("N-ary summation")},{character:"∞",title:t("Infinity")},{character:"√",title:t("Square root")},{character:"∼",title:t("Tilde operator")},{character:"≅",title:t("Approximately equal to")},{character:"≈",title:t("Almost equal to")},{character:"≠",title:t("Not equal to")},{character:"≡",title:t("Identical to")},{character:"∈",title:t("Element of")},{character:"∉",title:t("Not an element of")},{character:"∋",title:t("Contains as member")},{character:"∏",title:t("N-ary product")},{character:"∧",title:t("Logical and")},{character:"∨",title:t("Logical or")},{character:"¬",title:t("Not sign")},{character:"∩",title:t("Intersection")},{character:"∪",title:t("Union")},{character:"∂",title:t("Partial differential")},{character:"∀",title:t("For all")},{character:"∃",title:t("There exists")},{character:"∅",title:t("Empty set")},{character:"∇",title:t("Nabla")},{character:"∗",title:t("Asterisk operator")},{character:"∝",title:t("Proportional to")},{character:"∠",title:t("Angle")},{character:"¼",title:t("Vulgar fraction one quarter")},{character:"½",title:t("Vulgar fraction one half")},{character:"¾",title:t("Vulgar fraction three quarters")}],{label:t("Mathematical")})}}class O extends o{static get pluginName(){return"SpecialCharactersLatin"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;e.plugins.get("SpecialCharacters").addItems("Latin",[{character:"Ā",title:t("Latin capital letter a with macron")},{character:"ā",title:t("Latin small letter a with macron")},{character:"Ă",title:t("Latin capital letter a with breve")},{character:"ă",title:t("Latin small letter a with breve")},{character:"Ą",title:t("Latin capital letter a with ogonek")},{character:"ą",title:t("Latin small letter a with ogonek")},{character:"Ć",title:t("Latin capital letter c with acute")},{character:"ć",title:t("Latin small letter c with acute")},{character:"Ĉ",title:t("Latin capital letter c with circumflex")},{character:"ĉ",title:t("Latin small letter c with circumflex")},{character:"Ċ",title:t("Latin capital letter c with dot above")},{character:"ċ",title:t("Latin small letter c with dot above")},{character:"Č",title:t("Latin capital letter c with caron")},{character:"č",title:t("Latin small letter c with caron")},{character:"Ď",title:t("Latin capital letter d with caron")},{character:"ď",title:t("Latin small letter d with caron")},{character:"Đ",title:t("Latin capital letter d with stroke")},{character:"đ",title:t("Latin small letter d with stroke")},{character:"Ē",title:t("Latin capital letter e with macron")},{character:"ē",title:t("Latin small letter e with macron")},{character:"Ĕ",title:t("Latin capital letter e with breve")},{character:"ĕ",title:t("Latin small letter e with breve")},{character:"Ė",title:t("Latin capital letter e with dot above")},{character:"ė",title:t("Latin small letter e with dot above")},{character:"Ę",title:t("Latin capital letter e with ogonek")},{character:"ę",title:t("Latin small letter e with ogonek")},{character:"Ě",title:t("Latin capital letter e with caron")},{character:"ě",title:t("Latin small letter e with caron")},{character:"Ĝ",title:t("Latin capital letter g with circumflex")},{character:"ĝ",title:t("Latin small letter g with circumflex")},{character:"Ğ",title:t("Latin capital letter g with breve")},{character:"ğ",title:t("Latin small letter g with breve")},{character:"Ġ",title:t("Latin capital letter g with dot above")},{character:"ġ",title:t("Latin small letter g with dot above")},{character:"Ģ",title:t("Latin capital letter g with cedilla")},{character:"ģ",title:t("Latin small letter g with cedilla")},{character:"Ĥ",title:t("Latin capital letter h with circumflex")},{character:"ĥ",title:t("Latin small letter h with circumflex")},{character:"Ħ",title:t("Latin capital letter h with stroke")},{character:"ħ",title:t("Latin small letter h with stroke")},{character:"Ĩ",title:t("Latin capital letter i with tilde")},{character:"ĩ",title:t("Latin small letter i with tilde")},{character:"Ī",title:t("Latin capital letter i with macron")},{character:"ī",title:t("Latin small letter i with macron")},{character:"Ĭ",title:t("Latin capital letter i with breve")},{character:"ĭ",title:t("Latin small letter i with breve")},{character:"Į",title:t("Latin capital letter i with ogonek")},{character:"į",title:t("Latin small letter i with ogonek")},{character:"İ",title:t("Latin capital letter i with dot above")},{character:"ı",title:t("Latin small letter dotless i")},{character:"IJ",title:t("Latin capital ligature ij")},{character:"ij",title:t("Latin small ligature ij")},{character:"Ĵ",title:t("Latin capital letter j with circumflex")},{character:"ĵ",title:t("Latin small letter j with circumflex")},{character:"Ķ",title:t("Latin capital letter k with cedilla")},{character:"ķ",title:t("Latin small letter k with cedilla")},{character:"ĸ",title:t("Latin small letter kra")},{character:"Ĺ",title:t("Latin capital letter l with acute")},{character:"ĺ",title:t("Latin small letter l with acute")},{character:"Ļ",title:t("Latin capital letter l with cedilla")},{character:"ļ",title:t("Latin small letter l with cedilla")},{character:"Ľ",title:t("Latin capital letter l with caron")},{character:"ľ",title:t("Latin small letter l with caron")},{character:"Ŀ",title:t("Latin capital letter l with middle dot")},{character:"ŀ",title:t("Latin small letter l with middle dot")},{character:"Ł",title:t("Latin capital letter l with stroke")},{character:"ł",title:t("Latin small letter l with stroke")},{character:"Ń",title:t("Latin capital letter n with acute")},{character:"ń",title:t("Latin small letter n with acute")},{character:"Ņ",title:t("Latin capital letter n with cedilla")},{character:"ņ",title:t("Latin small letter n with cedilla")},{character:"Ň",title:t("Latin capital letter n with caron")},{character:"ň",title:t("Latin small letter n with caron")},{character:"ʼn",title:t("Latin small letter n preceded by apostrophe")},{character:"Ŋ",title:t("Latin capital letter eng")},{character:"ŋ",title:t("Latin small letter eng")},{character:"Ō",title:t("Latin capital letter o with macron")},{character:"ō",title:t("Latin small letter o with macron")},{character:"Ŏ",title:t("Latin capital letter o with breve")},{character:"ŏ",title:t("Latin small letter o with breve")},{character:"Ő",title:t("Latin capital letter o with double acute")},{character:"ő",title:t("Latin small letter o with double acute")},{character:"Œ",title:t("Latin capital ligature oe")},{character:"œ",title:t("Latin small ligature oe")},{character:"Ŕ",title:t("Latin capital letter r with acute")},{character:"ŕ",title:t("Latin small letter r with acute")},{character:"Ŗ",title:t("Latin capital letter r with cedilla")},{character:"ŗ",title:t("Latin small letter r with cedilla")},{character:"Ř",title:t("Latin capital letter r with caron")},{character:"ř",title:t("Latin small letter r with caron")},{character:"Ś",title:t("Latin capital letter s with acute")},{character:"ś",title:t("Latin small letter s with acute")},{character:"Ŝ",title:t("Latin capital letter s with circumflex")},{character:"ŝ",title:t("Latin small letter s with circumflex")},{character:"Ş",title:t("Latin capital letter s with cedilla")},{character:"ş",title:t("Latin small letter s with cedilla")},{character:"Š",title:t("Latin capital letter s with caron")},{character:"š",title:t("Latin small letter s with caron")},{character:"Ţ",title:t("Latin capital letter t with cedilla")},{character:"ţ",title:t("Latin small letter t with cedilla")},{character:"Ť",title:t("Latin capital letter t with caron")},{character:"ť",title:t("Latin small letter t with caron")},{character:"Ŧ",title:t("Latin capital letter t with stroke")},{character:"ŧ",title:t("Latin small letter t with stroke")},{character:"Ũ",title:t("Latin capital letter u with tilde")},{character:"ũ",title:t("Latin small letter u with tilde")},{character:"Ū",title:t("Latin capital letter u with macron")},{character:"ū",title:t("Latin small letter u with macron")},{character:"Ŭ",title:t("Latin capital letter u with breve")},{character:"ŭ",title:t("Latin small letter u with breve")},{character:"Ů",title:t("Latin capital letter u with ring above")},{character:"ů",title:t("Latin small letter u with ring above")},{character:"Ű",title:t("Latin capital letter u with double acute")},{character:"ű",title:t("Latin small letter u with double acute")},{character:"Ų",title:t("Latin capital letter u with ogonek")},{character:"ų",title:t("Latin small letter u with ogonek")},{character:"Ŵ",title:t("Latin capital letter w with circumflex")},{character:"ŵ",title:t("Latin small letter w with circumflex")},{character:"Ŷ",title:t("Latin capital letter y with circumflex")},{character:"ŷ",title:t("Latin small letter y with circumflex")},{character:"Ÿ",title:t("Latin capital letter y with diaeresis")},{character:"Ź",title:t("Latin capital letter z with acute")},{character:"ź",title:t("Latin small letter z with acute")},{character:"Ż",title:t("Latin capital letter z with dot above")},{character:"ż",title:t("Latin small letter z with dot above")},{character:"Ž",title:t("Latin capital letter z with caron")},{character:"ž",title:t("Latin small letter z with caron")},{character:"ſ",title:t("Latin small letter long s")}],{label:t("Latin")})}}class R extends o{static get pluginName(){return"SpecialCharactersCurrency"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t;e.plugins.get("SpecialCharacters").addItems("Currency",[{character:"$",title:t("Dollar sign")},{character:"€",title:t("Euro sign")},{character:"¥",title:t("Yen sign")},{character:"£",title:t("Pound sign")},{character:"¢",title:t("Cent sign")},{character:"₠",title:t("Euro-currency sign")},{character:"₡",title:t("Colon sign")},{character:"₢",title:t("Cruzeiro sign")},{character:"₣",title:t("French franc sign")},{character:"₤",title:t("Lira sign")},{character:"¤",title:t("Currency sign")},{character:"₿",title:t("Bitcoin sign")},{character:"₥",title:t("Mill sign")},{character:"₦",title:t("Naira sign")},{character:"₧",title:t("Peseta sign")},{character:"₨",title:t("Rupee sign")},{character:"₩",title:t("Won sign")},{character:"₪",title:t("New sheqel sign")},{character:"₫",title:t("Dong sign")},{character:"₭",title:t("Kip sign")},{character:"₮",title:t("Tugrik sign")},{character:"₯",title:t("Drachma sign")},{character:"₰",title:t("German penny sign")},{character:"₱",title:t("Peso sign")},{character:"₲",title:t("Guarani sign")},{character:"₳",title:t("Austral sign")},{character:"₴",title:t("Hryvnia sign")},{character:"₵",title:t("Cedi sign")},{character:"₶",title:t("Livre tournois sign")},{character:"₷",title:t("Spesmilo sign")},{character:"₸",title:t("Tenge sign")},{character:"₹",title:t("Indian rupee sign")},{character:"₺",title:t("Turkish lira sign")},{character:"₻",title:t("Nordic mark sign")},{character:"₼",title:t("Manat sign")},{character:"₽",title:t("Ruble sign")}],{label:t("Currency")})}}class Q extends o{static get pluginName(){return"SpecialCharactersEssentials"}static get isOfficialPlugin(){return!0}static get requires(){return[R,F,M,E,O]}}export{K as SpecialCharacters,E as SpecialCharactersArrows,R as SpecialCharactersCurrency,Q as SpecialCharactersEssentials,O as SpecialCharactersLatin,M as SpecialCharactersMathematical,F as SpecialCharactersText,A as _SpecialCharactersCategoriesView,G as _SpecialCharactersGridView,q as _SpecialCharactersInfoView,N as _SpecialCharactersView};
|