@ncino/web-components 8.0.0-preview.45 → 8.0.0-preview.55
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/axe.js +1 -1
- package/dist/_virtual/index_html.js +1 -1
- package/dist/_virtual/index_react.js +1 -1
- package/dist/assets/node_modules/.pnpm/ckeditor5@46.1.1/node_modules/ckeditor5/dist/ckeditor5.css +4 -0
- package/dist/components/accordion/gator/base/accordion.gator.js +47 -28
- package/dist/components/accordion/gator/group/accordion-group.gator.js +2 -2
- package/dist/components/alert/gator/base/alert.gator.js +3 -3
- package/dist/components/alert/gator/subtitle/alert-subtitle.gator.js +2 -2
- package/dist/components/alert/gator/title/alert-title.gator.js +2 -2
- package/dist/components/avatar/gator/avatar.gator.js +5 -5
- package/dist/components/badge/gator/badge.gator.js +2 -2
- package/dist/components/banner/gator/banner.gator.js +6 -6
- package/dist/components/boolean/boolean.gator.js +5 -5
- package/dist/components/breadcrumbs/gator/breadcrumb/breadcrumb.gator.js +3 -3
- package/dist/components/button/gator/button.gator.js +1 -1
- package/dist/components/button-card/gator/button-card.gator.js +7 -6
- package/dist/components/button-group/gator/button-group.gator.js +1 -1
- package/dist/components/card/card.js +1 -1
- package/dist/components/card/gator/base/card.gator.js +2 -2
- package/dist/components/card/gator/header/card-header.gator.js +2 -2
- package/dist/components/checkbox/checkbox.gator.js +11 -8
- package/dist/components/checkbox-group/checkbox-group.gator.js +10 -3
- package/dist/components/chip/gator/chip.gator.js +1 -1
- package/dist/components/display-card/gator/display-card.gator.js +47 -26
- package/dist/components/fab/gator/fab.gator.js +1 -1
- package/dist/components/guided-nav/gator/guided-nav/guided-nav.gator.js +5 -3
- package/dist/components/guided-nav/gator/guided-nav-step/guided-nav-step.gator.js +23 -14
- package/dist/components/guided-nav/gator/guided-nav-substep/guided-nav-substep.gator.js +9 -7
- package/dist/components/headline-card/gator/headline-card.gator.js +3 -3
- package/dist/components/icon/gator/icon.gator.js +3 -3
- package/dist/components/icon/gator/index.js +1 -1
- package/dist/components/icon/gator/templates/brain.js +8 -0
- package/dist/components/icon/gator/templates/document-ai.js +11 -0
- package/dist/components/icon/gator/templates/flags/flag-kh-cambodia.js +280 -80
- package/dist/components/icon/gator/templates/flags/flag-pm-saint-pierre-and-miquelon.js +7 -7
- package/dist/components/icon/gator/templates/flags/flag-ru-russian-federation.js +26 -19
- package/dist/components/icon/gator/templates/flags/flag-sa-sudi-arabia.js +28 -11
- package/dist/components/icon/gator/templates/flags/flag-sv-el-slvador.js +36 -24
- package/dist/components/icon/gator/templates/index.js +1 -1
- package/dist/components/icon/gator/templates/number-0.js +8 -0
- package/dist/components/icon/gator/templates/number-10.js +11 -0
- package/dist/components/icon/gator/templates/number-4.js +8 -0
- package/dist/components/icon/gator/templates/number-5.js +8 -0
- package/dist/components/icon/gator/templates/number-6.js +8 -0
- package/dist/components/icon/gator/templates/number-7.js +8 -0
- package/dist/components/icon/gator/templates/number-8.js +8 -0
- package/dist/components/icon/gator/templates/number-9.js +8 -0
- package/dist/components/icon/gator/templates/robot.js +17 -0
- package/dist/components/icon-button/gator/icon-button.gator.js +3 -3
- package/dist/components/icon-button/icon-button.js +1 -1
- package/dist/components/illustration/gator/illustration.gator.js +4 -4
- package/dist/components/illustration/gator/templates/add-note.js +1 -1
- package/dist/components/illustration/gator/templates/address.js +3 -3
- package/dist/components/illustration/gator/templates/appointment-confirmed.js +3 -3
- package/dist/components/illustration/gator/templates/assets.js +1 -1
- package/dist/components/illustration/gator/templates/auto-money.js +3 -3
- package/dist/components/illustration/gator/templates/balloons.js +3 -3
- package/dist/components/illustration/gator/templates/bank-account.js +1 -1
- package/dist/components/illustration/gator/templates/brief-case.js +1 -1
- package/dist/components/illustration/gator/templates/calendar-home.js +3 -3
- package/dist/components/illustration/gator/templates/change-data.js +3 -3
- package/dist/components/illustration/gator/templates/check-with-pencil.js +3 -3
- package/dist/components/illustration/gator/templates/co-borrower.js +1 -1
- package/dist/components/illustration/gator/templates/co-borrowers-incomplete.js +1 -1
- package/dist/components/illustration/gator/templates/co-borrowers.js +1 -1
- package/dist/components/illustration/gator/templates/connectivity.js +1 -1
- package/dist/components/illustration/gator/templates/contact-search.js +1 -1
- package/dist/components/illustration/gator/templates/conversation-multiple.js +3 -3
- package/dist/components/illustration/gator/templates/credit-card.js +3 -3
- package/dist/components/illustration/gator/templates/crop-background.js +1 -1
- package/dist/components/illustration/gator/templates/crop-page.js +3 -3
- package/dist/components/illustration/gator/templates/declarations-legal.js +3 -3
- package/dist/components/illustration/gator/templates/deliver.js +1 -1
- package/dist/components/illustration/gator/templates/demographic-info.js +3 -3
- package/dist/components/illustration/gator/templates/document-add.js +1 -1
- package/dist/components/illustration/gator/templates/document-signature.js +1 -1
- package/dist/components/illustration/gator/templates/download-app.js +1 -1
- package/dist/components/illustration/gator/templates/empty-box.js +1 -1
- package/dist/components/illustration/gator/templates/home-search.js +3 -3
- package/dist/components/illustration/gator/templates/house-5.js +3 -3
- package/dist/components/illustration/gator/templates/house-6.js +3 -3
- package/dist/components/illustration/gator/templates/house-fireworks.js +1 -1
- package/dist/components/illustration/gator/templates/house-under-construction.js +3 -3
- package/dist/components/illustration/gator/templates/house-with-shield.js +3 -3
- package/dist/components/illustration/gator/templates/inquiry.js +1 -1
- package/dist/components/illustration/gator/templates/locked.js +1 -1
- package/dist/components/illustration/gator/templates/make-an-offer.js +1 -1
- package/dist/components/illustration/gator/templates/network-error.js +1 -1
- package/dist/components/illustration/gator/templates/page-1.js +1 -1
- package/dist/components/illustration/gator/templates/page-2.js +1 -1
- package/dist/components/illustration/gator/templates/page-3.js +1 -1
- package/dist/components/illustration/gator/templates/paper-3.js +3 -3
- package/dist/components/illustration/gator/templates/paper-7.js +3 -3
- package/dist/components/illustration/gator/templates/person-2.js +3 -3
- package/dist/components/illustration/gator/templates/personal-info.js +3 -3
- package/dist/components/illustration/gator/templates/price-search.js +3 -3
- package/dist/components/illustration/gator/templates/quick-links.js +1 -1
- package/dist/components/illustration/gator/templates/register.js +3 -3
- package/dist/components/illustration/gator/templates/schedule-home-tour.js +1 -1
- package/dist/components/illustration/gator/templates/social-security.js +1 -1
- package/dist/components/illustration/gator/templates/start-conversation.js +3 -3
- package/dist/components/illustration/gator/templates/status-no-x.js +1 -1
- package/dist/components/illustration/gator/templates/status.js +3 -3
- package/dist/components/illustration/gator/templates/success.js +3 -3
- package/dist/components/illustration/gator/templates/talkluments.js +1 -1
- package/dist/components/illustration/gator/templates/thumbs-down-man.js +1 -1
- package/dist/components/illustration/gator/templates/transfer.js +1 -1
- package/dist/components/illustration/gator/templates/unsecured-line-of-credit.js +3 -3
- package/dist/components/illustration/gator/templates/upload-cloud.js +1 -1
- package/dist/components/image-card/gator/image-card.gator.js +41 -0
- package/dist/components/image-card/image-card.js +1 -0
- package/dist/components/image-card/index.js +1 -0
- package/dist/components/input/base/input-base.gator.js +9 -8
- package/dist/components/input/base/input-base.js +1 -1
- package/dist/components/input/gator/dropdown/input-dropdown.gator.js +8 -6
- package/dist/components/input/gator/help-text/help-text.gator.js +4 -4
- package/dist/components/input/gator/input-currency/input-currency.gator.js +2 -2
- package/dist/components/input/gator/input-file/file-uploaded-preview/file-upload-preview.gator.js +1 -1
- package/dist/components/input/gator/input-file/input-file.gator.js +1 -1
- package/dist/components/input/gator/input-label/input-label.gator.js +5 -4
- package/dist/components/input/gator/input-phone/input-phone.gator.js +1 -1
- package/dist/components/input/gator/input-search/input-search.gator.js +1 -0
- package/dist/components/input/gator/input-textarea/input-textarea.gator.js +1 -1
- package/dist/components/input/gator/input-time/input-time.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 +3 -3
- package/dist/components/list/gator/list/list.gator.js +5 -5
- package/dist/components/list/gator/list-item/list-item.gator.js +19 -19
- package/dist/components/loading-spinner/gator/loading-spinner.gator.js +2 -2
- package/dist/components/menu/base/gator/menu.gator.js +3 -3
- package/dist/components/modal/gator/modal.gator.js +6 -6
- package/dist/components/page-header/gator/page-header.gator.js +4 -4
- package/dist/components/panel/gator/panel.gator.js +14 -14
- package/dist/components/panel/gator/panel.storybook-test.js +1 -1
- package/dist/components/popover/gator/popover.gator.js +5 -5
- package/dist/components/progress-bar/gator/progress-bar.gator.js +1 -1
- package/dist/components/progress-ring/gator/progress-ring.gator.js +4 -4
- package/dist/components/progress-stepper/base/progress-stepper.gator.js +19 -0
- package/dist/components/progress-stepper/stepper-item/stepper-item.gator.js +42 -0
- package/dist/components/radio/radio.gator.js +6 -6
- package/dist/components/radio-group/radio-group.gator.js +13 -5
- package/dist/components/selection-box/selection-box.gator.js +6 -9
- package/dist/components/selection-box-group/selection-box-group.gator.js +8 -2
- package/dist/components/skeleton-loader/gator/skeleton-loader.gator.js +1 -1
- package/dist/components/skip-link/gator/base/skip-link.gator.js +11 -9
- package/dist/components/switch/gator/switch.gator.js +20 -7
- package/dist/components/switch/switch.js +1 -1
- package/dist/components/table/gator/table-bulk-controls/table-bulk-controls.gator.js +1 -1
- package/dist/components/table/gator/table-pagination/table-pagination.gator.js +1 -1
- package/dist/components/table/gator/table.gator.js +6 -6
- package/dist/components/tabs/gator/tabset/tabset.gator.js +6 -6
- package/dist/components/text-detail/gator/text-detail.gator.js +27 -18
- package/dist/components/text-link/gator/text-link.gator.js +16 -6
- package/dist/components/text-link/text-link.js +1 -1
- package/dist/components/toast/gator/base/toast.gator.js +1 -1
- package/dist/components/toast/gator/subtitle/toast-subtitle.gator.js +2 -2
- package/dist/components/toast/gator/title/toast-title.gator.js +2 -2
- package/dist/components/tooltip/gator/tooltip.gator.js +2 -2
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/design-tokens.source.json +1 -1
- package/dist/generated/locale-codes.d.js +1 -0
- package/dist/generated/locales/es-419.d.js +1 -0
- package/dist/generated/locales/es-419.js +4 -4
- package/dist/generated/locales/fr-CA.d.js +1 -0
- package/dist/generated/locales/fr-CA.js +4 -4
- package/dist/generated/locales/zh-Hans.d.js +1 -0
- package/dist/generated/locales/zh-Hans.js +4 -4
- package/dist/index.data.js +1 -1
- package/dist/index.gator.js +1 -1
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-alignment@46.1.1/node_modules/@ckeditor/ckeditor5-alignment/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-autoformat@46.1.1/node_modules/@ckeditor/ckeditor5-autoformat/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-autosave@46.1.1/node_modules/@ckeditor/ckeditor5-autosave/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-basic-styles@46.1.1/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-block-quote@46.1.1/node_modules/@ckeditor/ckeditor5-block-quote/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-clipboard@46.1.1/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +20 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-cloud-services@46.1.1/node_modules/@ckeditor/ckeditor5-cloud-services/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-code-block@46.1.1/node_modules/@ckeditor/ckeditor5-code-block/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-editor-classic@46.1.1/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +30 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-enter@46.1.1/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-essentials@46.1.1/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-find-and-replace@46.1.1/node_modules/@ckeditor/ckeditor5-find-and-replace/dist/index.js +5 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-font@46.1.1/node_modules/@ckeditor/ckeditor5-font/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-heading@46.1.1/node_modules/@ckeditor/ckeditor5-heading/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-highlight@46.1.1/node_modules/@ckeditor/ckeditor5-highlight/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-horizontal-line@46.1.1/node_modules/@ckeditor/ckeditor5-horizontal-line/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-embed@46.1.1/node_modules/@ckeditor/ckeditor5-html-embed/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-html-support@46.1.1/node_modules/@ckeditor/ckeditor5-html-support/dist/index.js +12 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-icons@46.1.1/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +6 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-image@46.1.1/node_modules/@ckeditor/ckeditor5-image/dist/index.js +10 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-indent@46.1.1/node_modules/@ckeditor/ckeditor5-indent/dist/index.js +10 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-language@46.1.1/node_modules/@ckeditor/ckeditor5-language/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-link@46.1.1/node_modules/@ckeditor/ckeditor5-link/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-list@46.1.1/node_modules/@ckeditor/ckeditor5-list/dist/index.js +13 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-markdown-gfm@46.1.1/node_modules/@ckeditor/ckeditor5-markdown-gfm/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-media-embed@46.1.1/node_modules/@ckeditor/ckeditor5-media-embed/dist/index.js +7 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-mention@46.1.1/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-page-break@46.1.1/node_modules/@ckeditor/ckeditor5-page-break/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-paragraph@46.1.1/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-paste-from-office@46.1.1/node_modules/@ckeditor/ckeditor5-paste-from-office/dist/index.js +31 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-remove-format@46.1.1/node_modules/@ckeditor/ckeditor5-remove-format/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-select-all@46.1.1/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-show-blocks@46.1.1/node_modules/@ckeditor/ckeditor5-show-blocks/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-source-editing@46.1.1/node_modules/@ckeditor/ckeditor5-source-editing/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-special-characters@46.1.1/node_modules/@ckeditor/ckeditor5-special-characters/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-style@46.1.1/node_modules/@ckeditor/ckeditor5-style/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-table@46.1.1/node_modules/@ckeditor/ckeditor5-table/dist/index.js +16 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-typing@46.1.1/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +13 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +25 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-undo@46.1.1/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-upload@46.1.1/node_modules/@ckeditor/ckeditor5-upload/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +113 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-watchdog@46.1.1/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +10 -0
- package/dist/node_modules/.pnpm/@ckeditor_ckeditor5-widget@46.1.1/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +4 -0
- package/dist/node_modules/.pnpm/@deltablot_dropzone@7.3.1/node_modules/@deltablot/dropzone/dist/dropzone.js +22 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +3 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +3 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/main.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/types/multipart.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/types/urlencoded.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/Decoder.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/basename.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/decodeText.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/getLimit.js +1 -0
- package/dist/node_modules/.pnpm/@fastify_busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/parseParams.js +3 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/client/external.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/client/figma_client.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/common/fetch.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/common/logging.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/common/updates.js +4 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/connect/external_types.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/connect/figma_rest_api.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/connect/helpers.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/connect/index_common.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/html/external.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/html/index_html.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/html/template_literal.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/react/external.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/dist/react/index_react.js +1 -0
- package/dist/node_modules/.pnpm/@figma_code-connect@1.3.7/node_modules/@figma/code-connect/package.json.js +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +1 -0
- package/dist/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +1 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/init/install.js +1 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/init/runtime.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/default-msg.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/deferred.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/fnv1a64.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/locale-status-event.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/localized-controller.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/localized-decorator.js +5 -0
- package/dist/node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/internal/str-tag.js +5 -0
- package/dist/node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js +5 -0
- package/dist/node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/custom-element.js +5 -0
- package/dist/node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js +5 -0
- package/dist/node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js +5 -0
- package/dist/node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js +5 -0
- package/dist/node_modules/.pnpm/@storybook_global@5.0.0/node_modules/@storybook/global/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@ungap_structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/deserialize.js +1 -0
- package/dist/node_modules/.pnpm/@ungap_structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/index.js +1 -0
- package/dist/node_modules/.pnpm/@ungap_structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/serialize.js +1 -0
- package/dist/node_modules/.pnpm/@ungap_structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/types.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_browser@3.2.4_msw@2.7.3_@types_node@24.9.1_typescript@5.9.3__playwright@1.56.1__f267599ff27ed4cacb9e62a386256df6/node_modules/@vitest/browser/context.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_expect@3.2.4/node_modules/@vitest/expect/dist/index.js +58 -0
- package/dist/node_modules/.pnpm/@vitest_pretty-format@3.2.4/node_modules/@vitest/pretty-format/dist/index.js +21 -0
- package/dist/node_modules/.pnpm/@vitest_runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js +5 -0
- package/dist/node_modules/.pnpm/@vitest_snapshot@3.2.4/node_modules/@vitest/snapshot/dist/index.js +27 -0
- package/dist/node_modules/.pnpm/@vitest_spy@3.2.4/node_modules/@vitest/spy/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/diff.js +42 -0
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/error.js +2 -0
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/helpers.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/source-map.js +1 -0
- package/dist/node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js +1 -0
- package/dist/node_modules/.pnpm/available-typed-arrays@1.0.7/node_modules/available-typed-arrays/index.js +1 -0
- package/dist/node_modules/.pnpm/axe-core@4.11.0/node_modules/axe-core/axe.js +30 -0
- package/dist/node_modules/.pnpm/bail@2.0.2/node_modules/bail/index.js +1 -0
- package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +1 -0
- package/dist/node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js +6 -0
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js +1 -0
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js +1 -0
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js +1 -0
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js +1 -0
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js +1 -0
- package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js +1 -0
- package/dist/node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js +1 -0
- package/dist/node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js +1 -0
- package/dist/node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js +1 -0
- package/dist/node_modules/.pnpm/chai@5.2.0/node_modules/chai/chai.js +218 -0
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js +2 -0
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js +2 -0
- package/dist/node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js +4 -0
- package/dist/node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js +1 -0
- package/dist/node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js +1 -0
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +1 -0
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +1 -0
- package/dist/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +1 -0
- package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js +1 -0
- package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js +1 -0
- package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js +1 -0
- package/dist/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +1 -0
- package/dist/node_modules/.pnpm/color-name@2.0.2/node_modules/color-name/index.js +1 -0
- package/dist/node_modules/.pnpm/color-parse@2.0.2/node_modules/color-parse/index.js +1 -0
- package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js +1 -0
- package/dist/node_modules/.pnpm/color@5.0.2/node_modules/color/index.js +1 -0
- package/dist/node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js +1 -0
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/compare.js +1 -0
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/compareVersions.js +1 -0
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/index.js +1 -0
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/satisfies.js +1 -0
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/utils.js +1 -0
- package/dist/node_modules/.pnpm/compare-versions@6.1.1/node_modules/compare-versions/lib/esm/validate.js +1 -0
- package/dist/node_modules/.pnpm/decode-named-character-reference@1.2.0/node_modules/decode-named-character-reference/index.dom.js +1 -0
- package/dist/node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js +1 -0
- package/dist/node_modules/.pnpm/devlop@1.1.0/node_modules/devlop/lib/default.js +1 -0
- package/dist/node_modules/.pnpm/dotenv@16.6.1/node_modules/dotenv/lib/main.js +3 -0
- package/dist/node_modules/.pnpm/dotenv@16.6.1/node_modules/dotenv/package.json.js +1 -0
- package/dist/node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js +1 -0
- package/dist/node_modules/.pnpm/es-define-property@1.0.0/node_modules/es-define-property/index.js +1 -0
- package/dist/node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js +1 -0
- package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js +1 -0
- package/dist/node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/assignValue.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/getTag.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/isIndex.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/isKey.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/normalizeForCase.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/tags.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/_internal/toKey.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/function/debounce.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/function/identity.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/function/throttle.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/assignIn.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/clone.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/get.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/has.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/keysIn.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/mapValues.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/merge.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/mergeWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/property.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/set.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/object/updateWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isArguments.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isArray.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isElement.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isMatch.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isObject.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isString.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/matches.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/string/escapeRegExp.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/string/startCase.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/string/upperFirst.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/eq.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/iteratee.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/times.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/toFinite.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/toInteger.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/toNumber.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/toPath.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/util/toString.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/function/after.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/function/debounce.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/function/identity.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/function/noop.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/object/clone.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/object/cloneDeepWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/object/mapValues.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isBuffer.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isEqual.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isEqualWith.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isLength.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isPlainObject.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isPrimitive.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/predicate/isTypedArray.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/string/escapeRegExp.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/string/upperFirst.js +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.39.5/node_modules/es-toolkit/dist/string/words.js +1 -0
- package/dist/node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js +1 -0
- package/dist/node_modules/.pnpm/events@3.3.0/node_modules/events/events.js +1 -0
- package/dist/node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.js +1 -0
- package/dist/node_modules/.pnpm/for-each@0.3.5/node_modules/for-each/index.js +1 -0
- package/dist/node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js +1 -0
- package/dist/node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js +1 -0
- package/dist/node_modules/.pnpm/get-intrinsic@1.2.4/node_modules/get-intrinsic/index.js +1 -0
- package/dist/node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js +1 -0
- package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js +1 -0
- package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js +1 -0
- package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js +1 -0
- package/dist/node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js +1 -0
- package/dist/node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js +1 -0
- package/dist/node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js +1 -0
- package/dist/node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js +1 -0
- package/dist/node_modules/.pnpm/has-proto@1.0.3/node_modules/has-proto/index.js +1 -0
- package/dist/node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js +1 -0
- package/dist/node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js +1 -0
- package/dist/node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js +1 -0
- package/dist/node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js +1 -0
- package/dist/node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js +1 -0
- package/dist/node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-embedded@3.0.0/node_modules/hast-util-embedded/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-from-dom@5.0.1/node_modules/hast-util-from-dom/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-has-property@3.0.0/node_modules/hast-util-has-property/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-is-body-ok-link@3.0.1/node_modules/hast-util-is-body-ok-link/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-minify-whitespace@1.0.1/node_modules/hast-util-minify-whitespace/lib/block.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-minify-whitespace@1.0.1/node_modules/hast-util-minify-whitespace/lib/content.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-minify-whitespace@1.0.1/node_modules/hast-util-minify-whitespace/lib/index.js +2 -0
- package/dist/node_modules/.pnpm/hast-util-minify-whitespace@1.0.1/node_modules/hast-util-minify-whitespace/lib/skippable.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-parse-selector@4.0.0/node_modules/hast-util-parse-selector/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-phrasing@3.0.1/node_modules/hast-util-phrasing/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-dom@4.0.1/node_modules/hast-util-to-dom/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js +9 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/a.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/base.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/blockquote.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/br.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/code.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/comment.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/del.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/dl.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/em.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/heading.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/hr.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/iframe.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/img.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/inline-code.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/input.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/li.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/list.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/media.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/p.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/q.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/root.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/select.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/strong.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/table-cell.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/table-row.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/table.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/text.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/textarea.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/handlers/wbr.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/state.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/util/drop-surrounding-breaks.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/util/find-selected-options.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/util/list-items-spread.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-mdast@10.1.2/node_modules/hast-util-to-mdast/lib/util/wrap.js +1 -0
- package/dist/node_modules/.pnpm/hast-util-to-text@4.0.2/node_modules/hast-util-to-text/lib/index.js +3 -0
- package/dist/node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/create-h.js +1 -0
- package/dist/node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js +1 -0
- package/dist/node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js +1 -0
- package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +1 -0
- package/dist/node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js +1 -0
- package/dist/node_modules/.pnpm/is-arguments@1.2.0/node_modules/is-arguments/index.js +1 -0
- package/dist/node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js +1 -0
- package/dist/node_modules/.pnpm/is-generator-function@1.1.0/node_modules/is-generator-function/index.js +1 -0
- package/dist/node_modules/.pnpm/is-plain-obj@4.1.0/node_modules/is-plain-obj/index.js +1 -0
- package/dist/node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js +1 -0
- package/dist/node_modules/.pnpm/is-typed-array@1.1.15/node_modules/is-typed-array/index.js +1 -0
- package/dist/node_modules/.pnpm/js-tokens@9.0.1/node_modules/js-tokens/index.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/ParseError.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/PhoneNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/constants.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/format.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/RFC3966.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js +2 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/getNumberType.js +2 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/isObject.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/parseDigits.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/isPossible.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/isValid.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/metadata.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/normalizeArguments.js +2 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/parse.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js +2 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/parsePhoneNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/es6/tools/semver-compare.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/metadata.min.json.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js +1 -0
- package/dist/node_modules/.pnpm/libphonenumber-js@1.12.24/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js +1 -0
- package/dist/node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/async-directive.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directive-helpers.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directive.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/live.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/ref.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/repeat.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.js +5 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js +7 -0
- package/dist/node_modules/.pnpm/longest-streak@3.1.0/node_modules/longest-streak/index.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/arguments.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/array.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/bigint.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/class.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/date.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/error.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/function.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/helpers.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/html.js +2 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/map.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/number.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/object.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/promise.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/regexp.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/set.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/string.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/symbol.js +1 -0
- package/dist/node_modules/.pnpm/loupe@3.1.4/node_modules/loupe/lib/typedarray.js +1 -0
- package/dist/node_modules/.pnpm/magic-string@0.30.19/node_modules/magic-string/dist/magic-string.es.js +10 -0
- package/dist/node_modules/.pnpm/markdown-table@3.0.4/node_modules/markdown-table/index.js +2 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js +1 -0
- package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-from-markdown@2.0.2/node_modules/mdast-util-from-markdown/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.js +2 -0
- package/dist/node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.js +3 -0
- package/dist/node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-newline-to-break@2.0.0/node_modules/mdast-util-newline-to-break/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-phrasing@4.1.0/node_modules/mdast-util-phrasing/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/footer.js +3 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/break.js +2 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/code.js +2 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/delete.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/heading.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/html.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +3 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/root.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/strong.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/text.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/index.js +2 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/revert.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/state.js +4 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/configure.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/blockquote.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.js +3 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.js +4 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.js +2 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.js +6 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/html.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/index.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/paragraph.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/text.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/index.js +4 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/join.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/unsafe.js +7 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/association.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-fence.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-quote.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-strong.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/container-flow.js +10 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js +2 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-info.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/indent-lines.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/safe.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/track.js +1 -0
- package/dist/node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/attention.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/autolink.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/blank-line.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/block-quote.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-escape.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-reference.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-fenced.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-indented.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-text.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/content.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/definition.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/heading-atx.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-flow.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-text.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-end.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-image.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-link.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/line-ending.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/list.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/setext-underline.js +1 -0
- package/dist/node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/thematic-break.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js +1 -0
- package/dist/node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-sanitize-uri@2.0.1/node_modules/micromark-util-sanitize-uri/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js +1 -0
- package/dist/node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/constructs.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/create-tokenizer.js +3 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/content.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/document.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/flow.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/text.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/parse.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/postprocess.js +1 -0
- package/dist/node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/preprocess.js +1 -0
- package/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +1 -0
- package/dist/node_modules/.pnpm/possible-typed-array-names@1.0.0/node_modules/possible-typed-array-names/index.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/aria.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/find.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/html.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/normalize.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/svg.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-insensitive-transform.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-sensitive-transform.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/create.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/defined-info.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/info.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/merge.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/schema.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/types.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xlink.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xml.js +1 -0
- package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xmlns.js +1 -0
- package/dist/node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js +9 -0
- package/dist/node_modules/.pnpm/react@19.2.0/node_modules/react/index.js +1 -0
- package/dist/node_modules/.pnpm/rehype-dom-parse@5.0.2/node_modules/rehype-dom-parse/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/rehype-dom-stringify@4.0.2/node_modules/rehype-dom-stringify/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/rehype-minify-whitespace@6.0.2/node_modules/rehype-minify-whitespace/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/rehype-remark@10.0.1/node_modules/rehype-remark/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/remark-breaks@4.0.0/node_modules/remark-breaks/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/remark-rehype@11.1.2/node_modules/remark-rehype/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/remark-stringify@11.0.0/node_modules/remark-stringify/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/safe-buffer@5.1.2/node_modules/safe-buffer/index.js +1 -0
- package/dist/node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js +1 -0
- package/dist/node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js +1 -0
- package/dist/node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js +1 -0
- package/dist/node_modules/.pnpm/storybook@9.1.13_@testing-library_dom@10.4.0_msw@2.7.3_@types_node@24.9.1_typescript@5._a0e195139f137e7eecc50e9c6275adcc/node_modules/storybook/dist/client-logger/index.js +1 -0
- package/dist/node_modules/.pnpm/storybook@9.1.13_@testing-library_dom@10.4.0_msw@2.7.3_@types_node@24.9.1_typescript@5._a0e195139f137e7eecc50e9c6275adcc/node_modules/storybook/dist/core-events/index.js +1 -0
- package/dist/node_modules/.pnpm/storybook@9.1.13_@testing-library_dom@10.4.0_msw@2.7.3_@types_node@24.9.1_typescript@5._a0e195139f137e7eecc50e9c6275adcc/node_modules/storybook/dist/instrumenter/index.js +48 -0
- package/dist/node_modules/.pnpm/storybook@9.1.13_@testing-library_dom@10.4.0_msw@2.7.3_@types_node@24.9.1_typescript@5._a0e195139f137e7eecc50e9c6275adcc/node_modules/storybook/dist/test/index.js +217 -0
- package/dist/node_modules/.pnpm/string_decoder@1.1.1/node_modules/string_decoder/lib/string_decoder.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js +1 -0
- package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js +1 -0
- package/dist/node_modules/.pnpm/strip-literal@3.0.0/node_modules/strip-literal/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/browser.js +1 -0
- package/dist/node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/browser.js +1 -0
- package/dist/node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js +1 -0
- package/dist/node_modules/.pnpm/tinyspy@4.0.3/node_modules/tinyspy/dist/index.js +1 -0
- package/dist/node_modules/.pnpm/trim-lines@3.0.1/node_modules/trim-lines/index.js +1 -0
- package/dist/node_modules/.pnpm/trim-trailing-lines@2.1.0/node_modules/trim-trailing-lines/index.js +1 -0
- package/dist/node_modules/.pnpm/trough@2.2.0/node_modules/trough/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/index.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/agent.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/abort-signal.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-connect.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-pipeline.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-request.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-stream.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/api-upgrade.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/index.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/readable.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/api/util.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/balanced-pool.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/cache.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/cachestorage.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/symbols.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cache/util.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/client.js +26 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/compat/dispatcher-weakref.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/constants.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/index.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/parse.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/cookies/util.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/connect.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/constants.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/errors.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/request.js +5 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/symbols.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/core/util.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/dispatcher-base.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/dispatcher.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/body.js +9 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/constants.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/dataURL.js +3 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/file.js +3 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/formdata.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/global.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/headers.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/index.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/request.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/response.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/symbols.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/util.js +2 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fetch/webidl.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/encoding.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/filereader.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/progressevent.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/symbols.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/fileapi/util.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/global.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/handler/DecoratorHandler.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/handler/RedirectHandler.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/handler/RetryHandler.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/interceptor/redirectInterceptor.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/constants.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/llhttp/utils.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-agent.js +5 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-client.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-errors.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-interceptor.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-pool.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-symbols.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-utils.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/pluralizer.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/node/fixed-queue.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/pool-base.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/pool-stats.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/pool.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/proxy-agent.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/timers.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/connection.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/constants.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/events.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/frame.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/receiver.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/symbols.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/util.js +1 -0
- package/dist/node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/websocket/websocket.js +1 -0
- package/dist/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/callable-instance.js +1 -0
- package/dist/node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-find-after@5.0.0/node_modules/unist-util-find-after/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-is@6.0.0/node_modules/unist-util-is/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-position@5.0.0/node_modules/unist-util-position/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-visit-parents@6.0.1/node_modules/unist-util-visit-parents/lib/color.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-visit-parents@6.0.1/node_modules/unist-util-visit-parents/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/util@0.12.5/node_modules/util/support/isBufferBrowser.js +1 -0
- package/dist/node_modules/.pnpm/util@0.12.5/node_modules/util/support/types.js +1 -0
- package/dist/node_modules/.pnpm/util@0.12.5/node_modules/util/util.js +10 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/components/color-picker.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/components/hue.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/components/saturation.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/components/slider.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/entrypoints/hex.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/styles/color-picker.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/styles/hue.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/styles/saturation.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/utils/compare.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/utils/convert.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/utils/dom.js +1 -0
- package/dist/node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/utils/math.js +1 -0
- package/dist/node_modules/.pnpm/vfile-message@4.0.3/node_modules/vfile-message/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/index.js +1 -0
- package/dist/node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minpath.browser.js +1 -0
- package/dist/node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minproc.browser.js +1 -0
- package/dist/node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minurl.browser.js +1 -0
- package/dist/node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minurl.shared.js +1 -0
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.9.1_@vitest_browser@3.2.4_@vitest_ui@3._1eebb5b0859be5c5eee8a8981f7b0151/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js +1 -0
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.9.1_@vitest_browser@3.2.4_@vitest_ui@3._1eebb5b0859be5c5eee8a8981f7b0151/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js +1 -0
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.9.1_@vitest_browser@3.2.4_@vitest_ui@3._1eebb5b0859be5c5eee8a8981f7b0151/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js +8 -0
- package/dist/node_modules/.pnpm/vitest@3.2.4_@types_debug@4.1.12_@types_node@24.9.1_@vitest_browser@3.2.4_@vitest_ui@3._1eebb5b0859be5c5eee8a8981f7b0151/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js +12 -0
- package/dist/node_modules/.pnpm/web-namespaces@2.0.1/node_modules/web-namespaces/index.js +1 -0
- package/dist/node_modules/.pnpm/which-typed-array@1.1.19/node_modules/which-typed-array/index.js +1 -0
- package/dist/node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js +1 -0
- package/dist/packages/web-components/src/components/accordion/gator/base/accordion.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/accordion/gator/group/accordion-group.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/alert/gator/base/alert.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/alert/gator/subtitle/alert-subtitle.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/alert/gator/title/alert-title.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/avatar/gator/avatar.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/badge/gator/badge.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/banner/gator/banner.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/boolean/boolean.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/breadcrumbs/gator/breadcrumb/breadcrumb.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/button/gator/button.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/button-card/gator/button-card.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/card/gator/base/card.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/card/gator/content/card-content.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/card/gator/footer/card-footer.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/card/gator/header/card-header.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/checkbox/checkbox.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/chip/gator/chip.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/display-card/gator/display-card.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/fab/gator/fab.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/guided-nav/gator/guided-nav-step/guided-nav-step.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/guided-nav/gator/guided-nav-substep/guided-nav-substep.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/headline-card/gator/headline-card.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/icon/gator/icon.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/icon-button/gator/icon-button.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/illustration/gator/illustration.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/image-card/gator/image-card.gator.scss.js +1 -0
- package/dist/packages/web-components/src/components/input/gator/dropdown/input-dropdown.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/input/gator/help-text/help-text.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/input/gator/input-file/input-file.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/input/gator/input-label/input-label.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/input/input.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/list/gator/list-item/list-item.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/loading-spinner/gator/loading-spinner.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/menu/base/gator/menu.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/modal/gator/modal.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/page-header/gator/page-header.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/panel/gator/panel.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/popover/gator/popover.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/progress-bar/gator/progress-bar.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/progress-ring/gator/progress-ring.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/progress-stepper/base/progress-stepper.gator.scss.js +1 -0
- package/dist/packages/web-components/src/components/progress-stepper/stepper-item/stepper-item.gator.scss.js +1 -0
- package/dist/packages/web-components/src/components/radio/radio.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/radio-group/radio-group.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/selection-box/selection-box.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/skeleton-loader/gator/skeleton-loader.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/skip-link/gator/base/skip-link.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/skip-link/gator/list-item/skip-link-list-item.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/switch/gator/switch.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/table/gator/table-bulk-controls/table-bulk-controls.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/table/gator/table-controls/table-controls.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/table/gator/table-pagination/table-pagination.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/table/gator/table.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/tabs/gator/tabs.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/text-detail/gator/text-detail.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/text-link/gator/text-link.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/toast/gator/base/toast.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/toast/gator/subtitle/toast-subtitle.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/toast/gator/title/toast-title.gator.scss.js +1 -1
- package/dist/packages/web-components/src/components/tooltip/gator/tooltip.gator.scss.js +1 -1
- package/dist/packages/web-components/src/tokens/primitive.tokens.scss.js +1 -1
- package/dist/packages/web-components/src/tokens/semantic-new.tokens.scss.js +1 -1
- package/dist/packages/web-components/src/utils/data/phone-country-codes.json.js +1 -1
- package/dist/types/components/accordion/gator/base/accordion.gator.d.ts +1 -0
- package/dist/types/components/accordion/gator/group/accordion-group.gator.d.ts +8 -3
- package/dist/types/components/button-card/gator/button-card.gator.d.ts +9 -0
- package/dist/types/components/card/card.d.ts +1 -0
- package/dist/types/components/chip/chip.d.ts +1 -1
- package/dist/types/components/display-card/gator/display-card.gator.d.ts +9 -5
- package/dist/types/components/guided-nav/gator/guided-nav-step/guided-nav-step.gator.d.ts +9 -4
- package/dist/types/components/guided-nav/gator/guided-nav-substep/guided-nav-substep.gator.d.ts +5 -3
- package/dist/types/components/headline-card/gator/headline-card.gator.d.ts +6 -3
- package/dist/types/components/icon/gator/templates/brain.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/document-ai.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/index.d.ts +11 -0
- package/dist/types/components/icon/gator/templates/number-0.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-10.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-4.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-5.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-6.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-7.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-8.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/number-9.d.ts +1 -0
- package/dist/types/components/icon/gator/templates/robot.d.ts +1 -0
- package/dist/types/components/icon-button/gator/icon-button.gator.d.ts +1 -0
- package/dist/types/components/icon-button/icon-button.d.ts +1 -0
- package/dist/types/components/image-card/gator/image-card.gator.d.ts +30 -0
- package/dist/types/components/image-card/gator/image-card.gator.test.d.ts +0 -0
- package/dist/types/components/image-card/image-card.d.ts +25 -0
- package/dist/types/components/image-card/index.d.ts +1 -0
- package/dist/types/components/input/base/input-base.d.ts +12 -2
- package/dist/types/components/input/base/input-base.gator.d.ts +5 -1
- package/dist/types/components/input/gator/dropdown/input-dropdown.gator.d.ts +10 -2
- package/dist/types/components/input/gator/help-text/help-text.gator.d.ts +13 -0
- package/dist/types/components/input/gator/input-label/input-label.gator.d.ts +6 -1
- package/dist/types/components/list/gator/list/list.gator.d.ts +2 -1
- package/dist/types/components/list/gator/list-item/list-item.gator.d.ts +5 -1
- package/dist/types/components/panel/gator/panel.gator.d.ts +1 -1
- package/dist/types/components/progress-ring/gator/progress-ring.gator.d.ts +8 -0
- package/dist/types/components/progress-stepper/base/progress-stepper.gator.d.ts +19 -0
- package/dist/types/components/progress-stepper/base/progress-stepper.gator.test.d.ts +0 -0
- package/dist/types/components/progress-stepper/stepper-item/stepper-item.gator.d.ts +46 -0
- package/dist/types/components/progress-stepper/stepper-item/stepper-item.gator.test.d.ts +0 -0
- package/dist/types/components/radio-group/radio-group.gator.d.ts +2 -2
- package/dist/types/components/selection-box/selection-box.gator.d.ts +6 -1
- package/dist/types/components/skeleton-loader/gator/skeleton-loader.gator.d.ts +5 -1
- package/dist/types/components/skip-link/gator/base/skip-link.gator.d.ts +1 -1
- package/dist/types/components/switch/gator/switch.gator.d.ts +3 -0
- package/dist/types/components/switch/switch.d.ts +5 -0
- package/dist/types/components/table/gator/table-bulk-controls/table-bulk-controls.gator.d.ts +1 -1
- package/dist/types/components/table/gator/table.gator.d.ts +1 -1
- package/dist/types/components/tabs/gator/tabset/tabset.gator.d.ts +7 -3
- package/dist/types/components/text-detail/gator/text-detail.gator.d.ts +1 -1
- package/dist/types/components/text-link/gator/text-link.gator.d.ts +10 -11
- package/dist/types/components/text-link/text-link.d.ts +8 -0
- package/dist/types/components/tooltip/tooltip.d.ts +1 -0
- package/dist/types/generated/locale-codes.d.ts +0 -10
- package/dist/types/generated/locales/es-419.d.ts +4 -0
- package/dist/types/generated/locales/fr-CA.d.ts +4 -0
- package/dist/types/generated/locales/zh-Hans.d.ts +4 -0
- package/dist/types/index.gator.d.ts +1 -0
- package/dist/types/utils/components/gradient-background.d.ts +5 -0
- package/dist/types/utils/components/slot-placeholder/slot-placeholder.d.ts +2 -0
- package/dist/types/utils/data/data-models.d.ts +1 -0
- package/dist/types/utils/data/phone-country-codes.json.d.ts +18 -0
- package/dist/types/utils/mixins/attribute-deletion.d.ts +0 -9
- package/dist/types/utils/mixins/interactive-component.d.ts +4 -0
- package/dist/types/utils/phone-utils.d.ts +10 -0
- package/dist/types/utils/storybook-args.d.ts +28 -0
- package/dist/utils/brand-color-utils.js +1 -1
- package/dist/utils/components/gradient-background.js +33 -0
- package/dist/utils/components/ngc-component.js +1 -1
- package/dist/utils/components/slot-placeholder/slot-placeholder.js +16 -6
- package/dist/utils/mixins/attribute-deletion.js +1 -1
- package/dist/utils/mixins/interactive-component.js +1 -0
- package/dist/utils/phone-utils.js +1 -1
- package/dist/utils/storybook-args.js +1 -1
- package/dist/utils/vitest-a11y-utils.js +1 -1
- package/package.json +15 -16
- package/web-types.json +227 -11
- package/dist/assets/OpenSans-VariableFont.woff2 +0 -0
- package/dist/assets/nCino_Avenir.woff2 +0 -0
- package/dist/assets/nCino_AvenirBd.woff2 +0 -0
- package/dist/packages/web-components/public/styles/gator/gator-global-styles.css.js +0 -1
- package/dist/packages/web-components/src/components/alert/gator/alert.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/avatar/avatar.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/badge/gator/badge.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/banner/banner.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/boolean/boolean.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/breadcrumbs/gator/breadcrumbs.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/button-card/button-card.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/card/card.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/card/gator/header/card-header.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/headline-card/gator/headline-card.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/input/gator/help-text/help-text.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/menu/menu.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/panel/gator/panel.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/radio/radio.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/selection-box/selection-box.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/switch/switch.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/table/table.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/tabs/gator/tabs.gator.tokens.scss.js +0 -1
- package/dist/packages/web-components/src/components/tooltip/tooltip.tokens.scss.js +0 -1
- package/dist/styles/gator/_gator-grid.css +0 -81
- package/dist/styles/gator/_gator-sizing.css +0 -179
- package/dist/styles/gator/_gator-typography.css +0 -186
- package/dist/styles/gator/fonts/OpenSans-VariableFont.woff2 +0 -0
- package/dist/styles/gator/fonts/nCino+Avenir.woff2 +0 -0
- package/dist/styles/gator/fonts/nCino+AvenirBd.woff2 +0 -0
- package/dist/styles/gator/fonts.css +0 -20
- package/dist/styles/gator/gator-global-styles.css +0 -12
- package/dist/styles/gator/tokens/_gator-global-tokens.css +0 -4
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{Plugin as f,Command as v}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Clipboard as Xe,ClipboardPipeline as q}from"../../../../../@ckeditor_ckeditor5-clipboard@46.1.1/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{ModelLivePosition as P,ModelLiveRange as Ye,UpcastWriter as $,enableViewPlaceholder as Qe,ModelElement as et,Observer as tt}from"../../../../../@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{Undo as it}from"../../../../../@ckeditor_ckeditor5-undo@46.1.1/node_modules/@ckeditor/ckeditor5-undo/dist/index.js";import{Delete as nt}from"../../../../../@ckeditor_ckeditor5-typing@46.1.1/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{global as V,DomEmitterMixin as st,logWarning as _,CKEditorError as ot,Collection as at,env as rt,first as H,FocusTracker as G,KeystrokeHandler as z,Rect as lt,toArray as he}from"../../../../../@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{Widget as fe,WidgetToolbarRepository as ie,toWidget as ct,isWidget as mt,toWidgetEditable as ut,WidgetResize as N,calculateResizeHostAncestorWidth as pe,findOptimalInsertionRange as gt}from"../../../../../@ckeditor_ckeditor5-widget@46.1.1/node_modules/@ckeditor/ckeditor5-widget/dist/index.js";import{SplitButtonView as Ie,createDropdown as K,MenuBarMenuView as dt,MenuBarMenuListView as ht,MenuBarMenuListItemView as ft,ButtonView as b,Dialog as pt,MenuBarMenuListItemButtonView as It,ContextualBalloon as be,CssTransitionDisablerMixin as we,clickOutsideHandler as _e,UIModel as ne,addToolbarToDropdown as bt,Notification as se,FileDialogButtonView as oe,MenuBarMenuListItemFileDialogButtonView as wt,View as R,ViewCollection as J,FocusCycler as Z,CollapsibleView as _t,submitHandler as O,LabeledFieldView as X,createLabeledInputText as ve,BalloonPanelView as vt,DropdownButtonView as yt,addListToDropdown as Et,FormRowView as ye,FormHeaderView as Ee,createLabeledInputNumber as Ct}from"../../../../../@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{IconImage as kt,IconCaption as St,IconImageUrl as Ut,IconObjectSizeFull as Vt,IconObjectSizeCustom as Bt,IconObjectSizeLarge as At,IconObjectSizeMedium as Tt,IconObjectSizeSmall as xt,IconTextAlternative as zt,IconImageUpload as Rt,IconObjectInline as Ce,IconObjectInlineRight as M,IconObjectInlineLeft as ke,IconObjectCenter as W,IconObjectRight as Se,IconObjectLeft as Ue,IconObjectFullWidth as Ot,IconPreviousArrow as Ve}from"../../../../../@ckeditor_ckeditor5-icons@46.1.1/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{FileRepository as y}from"../../../../../@ckeditor_ckeditor5-upload@46.1.1/node_modules/@ckeditor/ckeditor5-upload/dist/index.js";import{isObject as Be}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/predicate/isObject.js";import{identity as C}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/function/identity.js";/**
|
|
2
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/function Pt(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function ae(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function Ae(o,e){const t=o.plugins.get("ImageUtils"),i=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return a=>t.isInlineImageView(a)?i&&(a.getStyle("display")=="block"||a.findAncestor(t.isBlockImageView)?"imageBlock":"imageInline")!==e?null:n(a):null;function n(a){const s={name:!0};return a.hasAttribute("src")&&(s.attributes=["src"]),s}}function Y(o,e){const t=H(e.getSelectedBlocks());return!t||o.isObject(t)||t.isEmpty&&t.name!="listItem"?"imageBlock":"imageInline"}function B(o){return o&&o.endsWith("px")?parseInt(o):null}function A(o){const e=B(o.getStyle("width")),t=B(o.getStyle("height"));return!!(e&&t)}const Nt=/^(image|image-inline)$/;class I extends f{_domEmitter=new(st());static get pluginName(){return"ImageUtils"}static get isOfficialPlugin(){return!0}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,i=null,n={}){const a=this.editor,s=a.model,r=s.document.selection,l=Te(a,t||r,i);e={...Object.fromEntries(r.getAttributes()),...e};for(const c in e)s.schema.checkAttribute(l,c)||delete e[c];return s.change(c=>{const{setImageSizes:m=!0}=n,u=c.createElement(l,e);return s.insertObject(u,t,null,{setSelection:"on",findOptimalPosition:!t&&l!="imageInline"?"auto":void 0}),u.parent?(m&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(e){const t=e.getAttribute("src");t&&(e.getAttribute("width")||e.getAttribute("height")||this.editor.model.change(i=>{const n=new V.window.Image;this._domEmitter.listenTo(n,"load",()=>{!e.getAttribute("width")&&!e.getAttribute("height")&&this.editor.model.enqueueChange(i.batch,a=>{a.setAttribute("width",n.naturalWidth,e),a.setAttribute("height",n.naturalHeight,e)}),this._domEmitter.stopListening(n,"load")}),n.src=t}))}getClosestSelectedImageWidget(e){const t=e.getFirstPosition();if(!t)return null;const i=e.getSelectedElement();if(i&&this.isImageWidget(i))return i;let n=t.parent;for(;n;){if(n.is("element")&&this.isImageWidget(n))return n;n=n.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(e){return e.findAncestor({classes:Nt})}isImageAllowed(){const t=this.editor.model.document.selection;return Ft(this.editor,t)&&Lt(t)}toImageWidget(e,t,i){return t.setCustomProperty("image",!0,e),ct(e,t,{label:()=>{const s=this.findViewImgElement(e).getAttribute("alt");return s?`${s} ${i}`:i}})}isImageWidget(e){return!!e.getCustomProperty("image")&&mt(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:i}of t.createRangeIn(e))if(this.isInlineImageView(i))return i}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function Ft(o,e){if(Te(o,e,null)=="imageBlock"){const i=Dt(e,o.model);if(o.model.schema.checkChild(i,"imageBlock"))return!0}else if(o.model.schema.checkChild(e.focus,"imageInline"))return!0;return!1}function Lt(o){return[...o.focus.getAncestors()].every(e=>!e.is("element","imageBlock"))}function Dt(o,e){const i=gt(o,e).start.parent;return i.isEmpty&&!i.is("element","$root")?i.parent:i}function Te(o,e,t){const i=o.model.schema,n=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?t||(n==="inline"?"imageInline":n!=="auto"?"imageBlock":e.is("selection")?Y(i,e):i.checkChild(e,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const Mt=new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class sn extends f{static get requires(){return[Xe,I,it,nt]}static get pluginName(){return"AutoImage"}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 n=t.selection.getFirstRange(),a=P.fromPosition(n.start);a.stickiness="toPrevious";const s=P.fromPosition(n.end);s.stickiness="toNext",t.once("change:data",()=>{this._embedImageBetweenPositions(a,s),a.detach(),s.detach()},{priority:"high"})}),e.commands.get("undo").on("execute",()=>{this._timeoutId&&(V.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedImageBetweenPositions(e,t){const i=this.editor,n=new Ye(e,t),a=n.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(i.model.document.selection.getAttributes()),r=this.editor.plugins.get("ImageUtils");let l="";for(const c of a)c.item.is("$textProxy")&&(l+=c.item.data);if(l=l.trim(),!l.match(Mt)){n.detach();return}this._positionToInsert=P.fromPosition(e),this._timeoutId=setTimeout(()=>{if(!i.commands.get("insertImage").isEnabled){n.detach();return}i.model.change(u=>{this._timeoutId=null,u.remove(n),n.detach();let g;this._positionToInsert.root.rootName!=="$graveyard"&&(g=this._positionToInsert.toPosition()),r.insertImage({...s,src:l},g),this._positionToInsert.detach(),this._positionToInsert=null}),i.plugins.get("Delete").requestUndoOnBackspace()},100)}}class Wt extends v{refresh(){const i=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!i,this.isEnabled&&i.hasAttribute("alt")?this.value=i.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=t.model,a=i.getClosestSelectedImageElement(n.document.selection);n.change(s=>{s.setAttribute("alt",e.newValue,a)})}}class jt extends f{static get requires(){return[I]}static get pluginName(){return"ImageTextAlternativeEditing"}static get isOfficialPlugin(){return!0}init(){this.editor.commands.add("imageTextAlternative",new Wt(this.editor))}}class qt extends R{focusTracker;keystrokes;labeledInput;backButtonView;saveButtonView;children;_focusables;_focusCycler;constructor(e){super(e),this.focusTracker=new G,this.keystrokes=new z,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.labeledInput=this._createLabeledInputView(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new ye(e,{children:[this.labeledInput,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this._focusables=new J,this.keystrokes.set("Esc",(t,i)=>{this.fire("cancel"),i()}),this._focusCycler=new Z({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),O({view:this}),[this.backButtonView,this.labeledInput,this.saveButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createBackButton(){const e=this.locale.t,t=new b(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:Ve,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new b(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new Ee(this.locale,{label:e("Text Alternative")});return t.children.add(this.backButtonView,0),t}_createLabeledInputView(){const e=this.locale.t,t=new X(this.locale,ve);return t.label=e("Text alternative"),t.class="ck-labeled-field-view_full-width",t}}function $t(o){const e=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const i=Q(o);e.updatePosition(i)}}function Q(o){const e=o.editing.view,t=vt.defaultPositions,i=o.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[t.northArrowSouth,t.northArrowSouthWest,t.northArrowSouthEast,t.southArrowNorth,t.southArrowNorthWest,t.southArrowNorthEast,t.viewportStickyNorth]}}class Ht extends f{_balloon;_form;static get requires(){return[be]}static get pluginName(){return"ImageTextAlternativeUI"}static get isOfficialPlugin(){return!0}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("imageTextAlternative",i=>{const n=e.commands.get("imageTextAlternative"),a=new b(i);return a.set({label:t("Change image text alternative"),icon:zt,tooltip:!0}),a.bind("isEnabled").to(n,"isEnabled"),a.bind("isOn").to(n,"value",s=>!!s),this.listenTo(a,"execute",()=>{this._showForm()}),a})}_createForm(){const e=this.editor,i=e.editing.view.document,n=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(we(qt))(e.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)}),this.listenTo(this._form,"cancel",()=>{this._hideForm(!0)}),this.listenTo(e.ui,"update",()=>{n.getClosestSelectedImageWidget(i.selection)?this._isVisible&&$t(e):this._hideForm(!0)}),_e({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const e=this.editor,t=e.commands.get("imageTextAlternative"),i=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Q(e)}),i.fieldView.value=i.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class xe extends f{static get requires(){return[jt,Ht]}static get pluginName(){return"ImageTextAlternative"}static get isOfficialPlugin(){return!0}}function Gt(o){const e=(t,i,n)=>{if(!n.consumable.test(i.viewItem,{name:!0,classes:"image"}))return;const a=o.findViewImgElement(i.viewItem);if(!a||!n.consumable.test(a,{name:!0}))return;n.consumable.consume(i.viewItem,{name:!0,classes:"image"});const s=n.convertItem(a,i.modelCursor),r=H(s.modelRange.getItems());if(!r){n.consumable.revert(i.viewItem,{name:!0,classes:"image"});return}n.convertChildren(i.viewItem,r),n.updateConversionResult(r,i)};return t=>{t.on("element:figure",e)}}function ze(o,e){const t=(i,n,a)=>{if(!a.consumable.consume(n.item,i.name))return;const s=a.writer,r=a.mapper.toViewElement(n.item),l=o.findViewImgElement(r);n.attributeNewValue===null?(s.removeAttribute("srcset",l),s.removeAttribute("sizes",l)):n.attributeNewValue&&(s.setAttribute("srcset",n.attributeNewValue,l),s.setAttribute("sizes","100vw",l))};return i=>{i.on(`attribute:srcset:${e}`,t)}}function T(o,e,t){const i=(n,a,s)=>{if(!s.consumable.consume(a.item,n.name))return;const r=s.writer,l=s.mapper.toViewElement(a.item),c=o.findViewImgElement(l);r.setAttribute(a.attributeKey,a.attributeNewValue||"",c)};return n=>{n.on(`attribute:${t}:${e}`,i)}}class ee extends tt{observe(e){this.listenTo(e,"load",(t,i)=>{const n=i.target;this.checkShouldIgnoreEventFromTarget(n)||n.tagName=="IMG"&&this._fireEvents(i)},{useCapture:!0})}stopObserving(e){this.stopListening(e)}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class Kt extends v{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||t==="block"&&_("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||t==="inline"&&_("image-inline-plugin-required")}refresh(){const e=this.editor.plugins.get("ImageUtils");this.isEnabled=e.isImageAllowed()}execute(e){const t=he(e.source),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),a=Object.fromEntries(i.getAttributes());t.forEach((s,r)=>{const l=i.getSelectedElement();if(typeof s=="string"&&(s={src:s}),r&&l&&n.isImage(l)){const c=this.editor.model.createPositionAfter(l);n.insertImage({...s,...a},c,e.imageType)}else e.breakBlock?n.insertImage({...s,...a},i.getFirstPosition(),e.imageType):n.insertImage({...s,...a},null,e.imageType)})}}class Jt extends v{constructor(e){super(e),this.decorate("cleanupImage")}refresh(){const t=this.editor.plugins.get("ImageUtils"),i=this.editor.model.document.selection.getSelectedElement();this.isEnabled=t.isImage(i),this.value=this.isEnabled?i.getAttribute("src"):null}execute(e){const t=this.editor.model.document.selection.getSelectedElement(),i=this.editor.plugins.get("ImageUtils");this.editor.model.change(n=>{n.setAttribute("src",e.source,t),this.cleanupImage(n,t),i.setImageNaturalSizeAttributes(t)})}cleanupImage(e,t){e.removeAttribute("srcset",t),e.removeAttribute("sizes",t),e.removeAttribute("sources",t),e.removeAttribute("width",t),e.removeAttribute("height",t),e.removeAttribute("alt",t)}}class Re extends f{static get requires(){return[I]}static get pluginName(){return"ImageEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(ee),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const i=new Kt(e),n=new Jt(e);e.commands.add("insertImage",i),e.commands.add("replaceImageSource",n),e.commands.add("imageInsert",i)}}class Oe extends f{static get requires(){return[I]}static get pluginName(){return"ImageSizeAttributes"}static get isOfficialPlugin(){return!0}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=e==="imageBlock"?"figure":"img";t.conversion.for("upcast").attributeToAttribute({view:{name:n,styles:{width:/.+/}},model:{key:"width",value:s=>A(s)?B(s.getStyle("width")):null}}).attributeToAttribute({view:{name:n,key:"width"},model:"width"}).attributeToAttribute({view:{name:n,styles:{height:/.+/}},model:{key:"height",value:s=>A(s)?B(s.getStyle("height")):null}}).attributeToAttribute({view:{name:n,key:"height"},model:"height"}),t.conversion.for("editingDowncast").add(s=>{a(s,"width","width",!0,!0),a(s,"height","height",!0,!0)}),t.conversion.for("dataDowncast").add(s=>{a(s,"width","width",!1),a(s,"height","height",!1)}),t.conversion.for("upcast").add(s=>{s.on("element:img",(r,l,c)=>{const m=l.viewItem.getAttribute("width"),u=l.viewItem.getAttribute("height");m&&u&&c.consumable.consume(l.viewItem,{styles:["aspect-ratio"]})})});function a(s,r,l,c,m=!1){s.on(`attribute:${r}:${e}`,(u,g,d)=>{if(!d.consumable.consume(g.item,u.name))return;const h=d.writer,p=d.mapper.toViewElement(g.item),w=i.findViewImgElement(p);g.attributeNewValue!==null?h.setAttribute(l,g.attributeNewValue,w):h.removeAttribute(l,w);const E=g.item.getAttribute("width"),U=g.item.getAttribute("height"),te=E&&U;if(te&&m&&h.setAttribute("loading","lazy",w),g.item.hasAttribute("sources"))return;const Ze=g.item.hasAttribute("resizedWidth");e==="imageInline"&&!Ze&&!c||te&&h.setStyle("aspect-ratio",`${E}/${U}`,w)})}}}class Pe extends v{_modelElementName;constructor(e,t){super(e),this._modelElementName=t}refresh(){const t=this.editor.plugins.get("ImageUtils"),i=t.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=t.isInlineImage(i):this.isEnabled=t.isBlockImage(i)}execute(e={}){const t=this.editor,i=this.editor.model,n=t.plugins.get("ImageUtils"),a=n.getClosestSelectedImageElement(i.document.selection),s=Object.fromEntries(a.getAttributes());return!s.src&&!s.uploadId?null:i.change(r=>{const{setImageSizes:l=!0}=e,c=Array.from(i.markers).filter(g=>g.getRange().containsItem(a)),m=n.insertImage(s,i.createSelection(a,"on"),this._modelElementName,{setImageSizes:l});if(!m)return null;const u=r.createRangeOn(m);for(const g of c){const d=g.getRange(),h=d.root.rootName!="$graveyard"?d.getJoined(u,!0):u;r.updateMarker(g,{range:h})}return{oldElement:a,newElement:m}})}}class Ne extends f{static get requires(){return[I]}static get pluginName(){return"ImagePlaceholder"}static get isOfficialPlugin(){return!0}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const e=this.editor.model.schema;e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["placeholder"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const e=this.editor,t=e.conversion,i=e.plugins.get("ImageUtils");t.for("editingDowncast").add(n=>{n.on("attribute:placeholder",(a,s,r)=>{if(!r.consumable.test(s.item,a.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;r.consumable.consume(s.item,a.name);const l=r.writer,c=r.mapper.toViewElement(s.item),m=i.findViewImgElement(c);s.attributeNewValue?(l.addClass("image_placeholder",m),l.setStyle("background-image",`url(${s.attributeNewValue})`,m),l.setCustomProperty("editingPipeline:doNotReuseOnce",!0,m)):(l.removeClass("image_placeholder",m),l.removeStyle("background-image",m))})})}_setupLoadListener(){const e=this.editor,t=e.model,i=e.editing,n=i.view,a=e.plugins.get("ImageUtils");n.addObserver(ee),this.listenTo(n.document,"imageLoaded",(s,r)=>{const l=n.domConverter.mapDomToView(r.target);if(!l)return;const c=a.getImageWidgetFromImageView(l);if(!c)return;const m=i.mapper.toModelElement(c);!m||!m.hasAttribute("placeholder")||t.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",m)})})}}class Fe extends f{static get requires(){return[Re,Oe,I,Ne,q]}static get pluginName(){return"ImageBlockEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new Pe(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToStructure({model:"imageBlock",view:(a,{writer:s})=>ae(s)}),i.for("editingDowncast").elementToStructure({model:"imageBlock",view:(a,{writer:s})=>n.toImageWidget(ae(s),s,t("image widget"))}),i.for("downcast").add(T(n,"imageBlock","src")).add(T(n,"imageBlock","alt")).add(ze(n,"imageBlock")),i.for("upcast").elementToElement({view:Ae(e,"imageBlock"),model:(a,{writer:s})=>s.createElement("imageBlock",a.hasAttribute("src")?{src:a.getAttribute("src")}:void 0)}).add(Gt(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils"),a=e.plugins.get("ClipboardPipeline");this.listenTo(a,"inputTransformation",(s,r)=>{const l=Array.from(r.content.getChildren());let c;if(!l.every(n.isInlineImageView))return;r.targetRanges?c=e.editing.mapper.toModelRange(r.targetRanges[0]):c=t.document.selection.getFirstRange();const m=t.createSelection(c);if(Y(t.schema,m)==="imageBlock"){const u=new $(i.document),g=l.map(d=>u.createElement("figure",{class:"image"},d));r.content=u.createDocumentFragment(g)}}),this.listenTo(a,"contentInsertion",(s,r)=>{r.method==="paste"&&t.change(l=>{const c=l.createRangeIn(r.content);for(const m of c.getItems())m.is("element","imageBlock")&&n.setImageNaturalSizeAttributes(m)})})}}class Zt extends R{focusTracker;keystrokes;_focusables;_focusCycler;children;constructor(e,t=[]){super(e),this.focusTracker=new G,this.keystrokes=new z,this._focusables=new J,this.children=this.createCollection(),this._focusCycler=new Z({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const i of t)this.children.add(i),this._focusables.add(i),i instanceof _t&&this._focusables.addMany(i.children);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),O({view:this});for(const t of this._focusables)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}class S extends f{static get pluginName(){return"ImageInsertUI"}static get isOfficialPlugin(){return!0}static get requires(){return[I]}dropdownView;_integrations=new Map;constructor(e){super(e),e.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const e=this.editor,t=e.model.document.selection,i=e.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(e.model.document,"change",()=>{this.isImageSelected=i.isImage(t.getSelectedElement())});const n=s=>this._createToolbarComponent(s),a=s=>this._createMenuBarComponent(s);e.ui.componentFactory.add("insertImage",n),e.ui.componentFactory.add("imageInsert",n),e.ui.componentFactory.add("menuBar:insertImage",a)}registerIntegration({name:e,observable:t,buttonViewCreator:i,formViewCreator:n,menuBarButtonViewCreator:a,requiresForm:s=!1,override:r=!1}){this._integrations.has(e)&&!r&&_("image-insert-integration-exists",{name:e}),this._integrations.set(e,{observable:t,buttonViewCreator:i,menuBarButtonViewCreator:a,formViewCreator:n,requiresForm:s})}_createToolbarComponent(e){const t=this.editor,i=e.t,n=this._prepareIntegrations();if(!n.length)return null;let a;const s=n[0];if(n.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);a=s.buttonViewCreator(!0)}else{const c=s.buttonViewCreator(!1);a=new Ie(e,c),a.tooltip=!0,a.bind("label").to(this,"isImageSelected",m=>i(m?"Replace image":"Insert image"))}const r=this.dropdownView=K(e,a),l=n.map(({observable:c})=>typeof c=="function"?c():c);return r.bind("isEnabled").toMany(l,"isEnabled",(...c)=>c.some(m=>m)),r.once("change:isOpen",()=>{const c=n.flatMap(({formViewCreator:u})=>u(n.length==1)),m=new Zt(t.locale,c);r.panelView.children.add(m)}),r}_createMenuBarComponent(e){const t=e.t,i=this._prepareIntegrations();if(!i.length)return null;const n=i.flatMap(({menuBarButtonViewCreator:r})=>r(i.length==1)),a=new dt(e),s=new ht(e);a.panelView.children.add(s),a.buttonView.set({icon:kt,label:t("Image")});for(const r of n){const l=new ft(e,a);l.children.add(r),s.items.add(l),r.delegate("execute").to(a)}return a}_prepareIntegrations(){const t=this.editor.config.get("image.insert.integrations"),i=[];if(!t.length)return _("image-insert-integrations-not-specified"),i;for(const n of t){if(!this._integrations.has(n)){["upload","assetManager","url"].includes(n)||_("image-insert-unknown-integration",{item:n});continue}i.push(this._integrations.get(n))}return i.length||_("image-insert-integrations-not-registered"),i}}class on extends f{static get requires(){return[Fe,fe,xe,S]}static get pluginName(){return"ImageBlock"}static get isOfficialPlugin(){return!0}}class Xt extends f{static get requires(){return[Re,Oe,I,Ne,q]}static get pluginName(){return"ImageInlineEditing"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.model.schema.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"],disallowIn:["caption"]}),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new Pe(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageInline",view:(a,{writer:s})=>s.createEmptyElement("img")}),i.for("editingDowncast").elementToStructure({model:"imageInline",view:(a,{writer:s})=>n.toImageWidget(Pt(s),s,t("image widget"))}),i.for("downcast").add(T(n,"imageInline","src")).add(T(n,"imageInline","alt")).add(ze(n,"imageInline")),i.for("upcast").elementToElement({view:Ae(e,"imageInline"),model:(a,{writer:s})=>s.createElement("imageInline",a.hasAttribute("src")?{src:a.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils"),a=e.plugins.get("ClipboardPipeline");this.listenTo(a,"inputTransformation",(s,r)=>{const l=Array.from(r.content.getChildren());let c;if(!l.every(n.isBlockImageView))return;r.targetRanges?c=e.editing.mapper.toModelRange(r.targetRanges[0]):c=t.document.selection.getFirstRange();const m=t.createSelection(c);if(Y(t.schema,m)==="imageInline"){const u=new $(i.document),g=l.map(d=>d.childCount===1?(Array.from(d.getAttributes()).forEach(h=>u.setAttribute(...h,n.findViewImgElement(d))),d.getChild(0)):d);r.content=u.createDocumentFragment(g)}}),this.listenTo(a,"contentInsertion",(s,r)=>{r.method==="paste"&&t.change(l=>{const c=l.createRangeIn(r.content);for(const m of c.getItems())m.is("element","imageInline")&&n.setImageNaturalSizeAttributes(m)})})}}class an extends f{static get requires(){return[Xt,fe,xe,S]}static get pluginName(){return"ImageInline"}static get isOfficialPlugin(){return!0}}class Le extends f{static get pluginName(){return"ImageCaptionUtils"}static get isOfficialPlugin(){return!0}static get requires(){return[I]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),i=e.getFirstPosition().findAncestor("caption");return i&&t.isBlockImage(i.parent)?i:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return e.name=="figcaption"&&t.isBlockImageView(e.parent)?{name:!0}:null}}class Yt extends v{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils"),i=e.plugins.get("ImageUtils");if(!e.plugins.has(Fe)){this.isEnabled=!1,this.value=!1;return}const n=e.model.document.selection,a=n.getSelectedElement();if(!a){const s=t.getCaptionFromModelSelection(n);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=i.isImage(a),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(a):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change(i=>{this.value?this._hideImageCaption(i):this._showImageCaption(i,t)})}_showImageCaption(e,t){const n=this.editor.model.document.selection,a=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let r=n.getSelectedElement();const l=a._getSavedCaption(r);s.isInlineImage(r)&&(this.editor.execute("imageTypeBlock"),r=n.getSelectedElement());const c=l||e.createElement("caption");e.append(c,r),t&&e.setSelection(c,"in")}_hideImageCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),a=t.plugins.get("ImageCaptionUtils");let s=i.getSelectedElement(),r;s?r=a.getCaptionFromImageModelElement(s):(r=a.getCaptionFromModelSelection(i),s=r.parent),n._saveCaption(s,r),e.setSelection(s,"on"),e.remove(r)}}class Qt extends f{static get requires(){return[I,Le]}static get pluginName(){return"ImageCaptionEditing"}static get isOfficialPlugin(){return!0}_savedCaptionsMap;constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new Yt(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils"),a=e.t;e.conversion.for("upcast").elementToElement({view:s=>n.matchImageCaptionViewElement(s),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:r})=>i.isBlockImage(s.parent)?r.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:r})=>{if(!i.isBlockImage(s.parent))return null;const l=r.createEditableElement("figcaption");r.setCustomProperty("imageCaption",!0,l),l.placeholder=a("Enter image caption"),Qe({view:t,element:l,keepOnFocus:!0});const c=s.parent.getAttribute("alt"),m=c?a("Caption for image: %0",[c]):a("Caption for the image");return ut(l,r,{label:m})}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils"),n=e.commands.get("imageTypeInline"),a=e.commands.get("imageTypeBlock"),s=r=>{if(!r.return)return;const{oldElement:l,newElement:c}=r.return;/* istanbul ignore if: paranoid check -- @preserve */if(!l)return;if(t.isBlockImage(l)){const u=i.getCaptionFromImageModelElement(l);if(u){this._saveCaption(c,u);return}}const m=this._getSavedCaption(l);m&&this._saveCaption(c,m)};n&&this.listenTo(n,"execute",s,{priority:"low"}),a&&this.listenTo(a,"execute",s,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?et.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}_registerCaptionReconversion(){const e=this.editor,t=e.model,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils");t.document.on("change:data",()=>{const a=t.document.differ.getChanges();for(const s of a){if(s.attributeKey!=="alt")continue;const r=s.range.start.nodeAfter;if(i.isBlockImage(r)){const l=n.getCaptionFromImageModelElement(r);if(!l)return;e.editing.reconvertItem(l)}}})}}class ei extends f{static get requires(){return[Le]}static get pluginName(){return"ImageCaptionUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageCaptionUtils"),n=e.t;e.ui.componentFactory.add("toggleImageCaption",a=>{const s=e.commands.get("toggleImageCaption"),r=new b(a);return r.set({icon:St,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.bind("label").to(s,"value",l=>n(l?"Toggle caption off":"Toggle caption on")),this.listenTo(r,"execute",()=>{e.execute("toggleImageCaption",{focusCaptionOnShow:!0});const l=i.getCaptionFromModelSelection(e.model.document.selection);if(l){const c=e.editing.mapper.toViewElement(l);t.scrollToTheSelection(),t.change(m=>{m.addClass("image__caption_highlighted",c)})}e.editing.view.focus()}),r})}}class rn extends f{static get requires(){return[Qt,ei]}static get pluginName(){return"ImageCaption"}static get isOfficialPlugin(){return!0}}function De(o){const e=o.map(t=>t.replace("+","\\+"));return new RegExp(`^image\\/(${e.join("|")})$`)}function ti(o){return new Promise((e,t)=>{const i=o.getAttribute("src");fetch(i).then(n=>n.blob()).then(n=>{const a=Me(n,i),r=`image.${a.replace("image/","")}`,l=new File([n],r,{type:a});e(l)}).catch(n=>n&&n.name==="TypeError"?ni(i).then(e).catch(t):t(n))})}function ii(o,e){return!o.isInlineImageView(e)||!e.getAttribute("src")?!1:!!e.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!e.getAttribute("src").match(/^blob:/g)}function Me(o,e){return o.type?o.type:e.match(/data:(image\/\w+);base64/)?e.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function ni(o){return si(o).then(e=>{const t=Me(e,o),n=`image.${t.replace("image/","")}`;return new File([e],n,{type:t})})}function si(o){return new Promise((e,t)=>{const i=V.document.createElement("img");i.addEventListener("load",()=>{const n=V.document.createElement("canvas");n.width=i.width,n.height=i.height,n.getContext("2d").drawImage(i,0,0),n.toBlob(s=>s?e(s):t())}),i.addEventListener("error",()=>t()),i.src=o})}class oi extends f{static get pluginName(){return"ImageUploadUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("uploadImage",()=>this._createToolbarButton()),e.ui.componentFactory.add("imageUpload",()=>this._createToolbarButton()),e.ui.componentFactory.add("menuBar:uploadImage",()=>this._createMenuBarButton("standalone")),e.plugins.has("ImageInsertUI")&&e.plugins.get("ImageInsertUI").registerIntegration({name:"upload",observable:()=>e.commands.get("uploadImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:t=>this._createMenuBarButton(t?"insertOnly":"insertNested")})}_createButton(e){const t=this.editor,i=t.locale,n=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),s=De(a),r=new e(t.locale),l=i.t;return r.set({acceptedType:a.map(c=>`image/${c}`).join(","),allowMultipleFiles:!0,label:l("Upload from computer"),icon:Rt}),r.bind("isEnabled").to(n),r.on("done",(c,m)=>{const u=Array.from(m).filter(g=>s.test(g.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r}_createToolbarButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),i=this.editor.commands.get("uploadImage"),n=this._createButton(oe);return n.tooltip=!0,n.bind("label").to(t,"isImageSelected",i,"isAccessAllowed",(a,s)=>e(s?a?"Replace image from computer":"Upload image from computer":"You have no image upload permissions.")),n}_createDropdownButton(){const e=this.editor.locale.t,t=this.editor.plugins.get("ImageInsertUI"),i=this._createButton(oe);return i.withText=!0,i.bind("label").to(t,"isImageSelected",n=>e(n?"Replace from computer":"Upload from computer")),i.on("execute",()=>{t.dropdownView.isOpen=!1}),i}_createMenuBarButton(e){const t=this.editor.locale.t,i=this._createButton(wt);switch(i.withText=!0,e){case"standalone":i.label=t("Image from computer");break;case"insertOnly":i.label=t("Image");break;case"insertNested":i.label=t("From computer");break}return i}}class ai extends f{static get pluginName(){return"ImageUploadProgress"}static get isOfficialPlugin(){return!0}placeholder;constructor(e){super(e),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}uploadStatusChange=(e,t,i)=>{const n=this.editor,a=t.item,s=a.getAttribute("uploadId");if(!i.consumable.consume(t.item,e.name))return;const r=n.plugins.get("ImageUtils"),l=n.plugins.get(y),c=s?t.attributeNewValue:null,m=this.placeholder,u=n.editing.mapper.toViewElement(a),g=i.writer;if(c=="reading"){re(u,g),le(r,m,u,g);return}if(c=="uploading"){const d=l.loaders.get(s);re(u,g),d?(ce(u,g),li(u,g,d,n.editing.view),di(r,u,g,d)):le(r,m,u,g);return}c=="complete"&&l.loaders.get(s)&&mi(u,g,n.editing.view),ci(u,g),ce(u,g),ri(u,g)}}function re(o,e){o.hasClass("ck-appear")||e.addClass("ck-appear",o)}function ri(o,e){e.removeClass("ck-appear",o)}function le(o,e,t,i){t.hasClass("ck-image-upload-placeholder")||i.addClass("ck-image-upload-placeholder",t);const n=o.findViewImgElement(t);n.getAttribute("src")!==e&&i.setAttribute("src",e,n),We(t,"placeholder")||i.insert(i.createPositionAfter(n),gi(i))}function ce(o,e){o.hasClass("ck-image-upload-placeholder")&&e.removeClass("ck-image-upload-placeholder",o),je(o,e,"placeholder")}function li(o,e,t,i){const n=ui(e);e.insert(e.createPositionAt(o,"end"),n),t.on("change:uploadedPercent",(a,s,r)=>{i.change(l=>{l.setStyle("width",r+"%",n)})})}function ci(o,e){je(o,e,"progressBar")}function mi(o,e,t){const i=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(o,"end"),i),setTimeout(()=>{t.change(n=>n.remove(n.createRangeOn(i)))},3e3)}function ui(o){const e=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,e),e}function gi(o){const e=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,e),e}function We(o,e){for(const t of o.getChildren())if(t.getCustomProperty(e))return t}function je(o,e,t){const i=We(o,t);i&&e.remove(e.createRangeOn(i))}function di(o,e,t,i){if(i.data){const n=o.findViewImgElement(e);t.setAttribute("src",i.data,n)}}class hi extends v{constructor(e){super(e),this.set("isAccessAllowed",!0)}refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(i)}execute(e){const t=he(e.file),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),a=Object.fromEntries(i.getAttributes());t.forEach((s,r)=>{const l=i.getSelectedElement();if(r&&l&&n.isImage(l)){const c=this.editor.model.createPositionAfter(l);this._uploadImage(s,a,c)}else this._uploadImage(s,a)})}_uploadImage(e,t,i){const n=this.editor,s=n.plugins.get(y).createLoader(e),r=n.plugins.get("ImageUtils");s&&r.insertImage({...t,uploadId:s.id},i)}}class fi extends f{static get requires(){return[y,se,q,I]}static get pluginName(){return"ImageUploadEditing"}static get isOfficialPlugin(){return!0}_uploadImageElements;_uploadedImages=new Map;constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,i=e.conversion,n=e.plugins.get(y),a=e.plugins.get("ImageUtils"),s=e.plugins.get("ClipboardPipeline"),r=De(e.config.get("image.upload.types")),l=new hi(e);e.commands.add("uploadImage",l),e.commands.add("imageUpload",l),i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}).add(c=>c.on("element:img",(m,u,g)=>{if(!g.consumable.test(u.viewItem,{attributes:["data-ck-upload-id"]}))return;const d=u.viewItem.getAttribute("data-ck-upload-id");if(!d)return;const[h]=Array.from(u.modelRange.getItems({shallow:!0})),p=n.loaders.get(d);h&&(g.writer.setAttribute("uploadId",d,h),g.consumable.consume(u.viewItem,{attributes:["data-ck-upload-id"]}),p&&p.data&&g.writer.setAttribute("uploadStatus",p.status,h))},{priority:"low"})),this.listenTo(e.editing.view.document,"clipboardInput",(c,m)=>{if(pi(m.dataTransfer))return;const u=Array.from(m.dataTransfer.files).filter(d=>d?r.test(d.type):!1);if(!u.length)return;if(c.stop(),e.model.change(d=>{m.targetRanges&&d.setSelection(m.targetRanges.map(h=>e.editing.mapper.toModelRange(h))),e.execute("uploadImage",{file:u})}),!e.commands.get("uploadImage").isAccessAllowed){const d=e.plugins.get("Notification"),h=e.locale.t;d.showWarning(h("You have no image upload permissions."),{namespace:"image"})}}),this.listenTo(s,"inputTransformation",(c,m)=>{const u=Array.from(e.editing.view.createRangeIn(m.content)).map(d=>d.item).filter(d=>ii(a,d)&&!d.getAttribute("uploadProcessed")).map(d=>({promise:ti(d),imageElement:d}));if(!u.length)return;const g=new $(e.editing.view.document);for(const d of u){g.setAttribute("uploadProcessed",!0,d.imageElement);const h=n.createLoader(d.promise);h&&(g.setAttribute("src","",d.imageElement),g.setAttribute("uploadId",h.id,d.imageElement))}}),e.editing.view.document.on("dragover",(c,m)=>{m.preventDefault()}),t.on("change",()=>{const c=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),m=new Set;for(const u of c)if(u.type=="insert"&&u.name!="$text"){const g=u.position.nodeAfter,d=u.position.root.rootName=="$graveyard";for(const h of Ii(e,g)){const p=h.getAttribute("uploadId");if(!p)continue;const w=n.loaders.get(p);if(!w){!d&&this._uploadedImages.has(p)&&e.model.enqueueChange({isUndoable:!1},E=>{E.setAttribute("uploadStatus","complete",h),this.fire("uploadComplete",{data:this._uploadedImages.get(p),imageElement:h})});continue}d?m.has(p)||Array.from(this._uploadImageElements.get(p)).every(U=>U.root.rootName=="$graveyard")&&w.abort():(m.add(p),this._uploadImageElements.has(p)?this._uploadImageElements.get(p).add(h):this._uploadImageElements.set(p,new Set([h])),w.status=="idle"&&this._readAndUpload(w))}}}),this.on("uploadComplete",(c,{imageElement:m,data:u})=>{const g=u.urls?u.urls:u;this.editor.model.change(d=>{d.setAttribute("src",g.default,m),this._parseAndSetSrcsetAttributeOnImage(g,m,d),a.setImageNaturalSizeAttributes(m)})},{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageBlock")),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]}),this._registerConverters("imageInline"))}_readAndUpload(e){const t=this.editor,i=t.model,n=t.locale.t,a=t.plugins.get(y),s=t.plugins.get(se),r=t.plugins.get("ImageUtils"),l=this._uploadImageElements;return i.enqueueChange({isUndoable:!1},m=>{const u=l.get(e.id);for(const g of u)m.setAttribute("uploadStatus","reading",g)}),e.read().then(()=>{const m=e.upload();t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Uploading image"));for(const u of l.get(e.id)){/* istanbul ignore next -- @preserve */if(rt.isSafari){const g=t.editing.mapper.toViewElement(u),d=r.findViewImgElement(g);t.editing.view.once("render",()=>{if(!d.parent)return;const h=t.editing.view.domConverter.mapViewToDom(d.parent);if(!h)return;const p=h.style.display;h.style.display="none",h._ckHack=h.offsetHeight,h.style.display=p})}i.enqueueChange({isUndoable:!1},g=>{g.setAttribute("uploadStatus","uploading",u)})}return m}).then(m=>{i.enqueueChange({isUndoable:!1},u=>{for(const g of l.get(e.id))u.setAttribute("uploadStatus","complete",g),this.fire("uploadComplete",{data:m,imageElement:g});t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Image upload complete")),this._uploadedImages.set(e.id,m)}),c()}).catch(m=>{if(t.ui&&t.ui.ariaLiveAnnouncer.announce(n("Error during image upload")),e.status!=="error"&&e.status!=="aborted")throw m;e.status=="error"&&m&&s.showWarning(m,{title:n("Upload failed"),namespace:"upload"}),i.enqueueChange({isUndoable:!1},u=>{for(const g of l.get(e.id))g.root.rootName!=="$graveyard"&&u.remove(g)}),c()});function c(){i.enqueueChange({isUndoable:!1},m=>{for(const u of l.get(e.id))m.removeAttribute("uploadId",u),m.removeAttribute("uploadStatus",u);l.delete(e.id)}),a.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,i){let n=0;const a=Object.keys(e).filter(s=>{const r=parseInt(s,10);if(!isNaN(r))return n=Math.max(n,r),!0}).map(s=>`${e[s]} ${s}w`).join(", ");if(a!=""){const s={srcset:a};!t.hasAttribute("width")&&!t.hasAttribute("height")&&(s.width=n),i.setAttributes(s,t)}}_registerConverters(e){const{conversion:t,plugins:i}=this.editor,n=i.get(y),a=i.get(I);t.for("dataDowncast").add(s=>{s.on(`attribute:uploadId:${e}`,(r,l,c)=>{if(!c.consumable.test(l.item,r.name))return;const m=n.loaders.get(l.attributeNewValue);if(!m||!m.data)return null;const u=c.mapper.toViewElement(l.item),g=a.findViewImgElement(u);g&&(c.consumable.consume(l.item,r.name),c.writer.setAttribute("data-ck-upload-id",m.id,g))})})}}function pi(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function Ii(o,e){const t=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(e)).filter(i=>t.isImage(i.item)).map(i=>i.item)}class bi extends f{static get pluginName(){return"ImageUpload"}static get isOfficialPlugin(){return!0}static get requires(){return[fi,oi,ai]}}class wi extends R{urlInputView;keystrokes;constructor(e){super(e),this.set("imageURLInputValue",""),this.set("isImageSelected",!1),this.set("isEnabled",!0),this.keystrokes=new z,this.urlInputView=this._createUrlInputView(),this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-url"],tabindex:"-1"},children:[this.urlInputView,{tag:"div",attributes:{class:["ck","ck-image-insert-url__action-row"]}}]})}render(){super.render(),O({view:this}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.keystrokes.destroy()}_createUrlInputView(){const e=this.locale,t=e.t,i=new X(e,ve);return i.bind("label").to(this,"isImageSelected",n=>t(n?"Update image URL":"Insert image via URL")),i.bind("isEnabled").to(this),i.fieldView.inputMode="url",i.fieldView.placeholder="https://example.com/image.png",i.fieldView.bind("value").to(this,"imageURLInputValue",n=>n||""),i.fieldView.on("input",()=>{this.imageURLInputValue=i.fieldView.element.value.trim()}),i}focus(){this.urlInputView.focus()}}class _i extends f{_imageInsertUI;_formView;static get pluginName(){return"ImageInsertViaUrlUI"}static get isOfficialPlugin(){return!0}static get requires(){return[S,pt]}init(){this.editor.ui.componentFactory.add("insertImageViaUrl",()=>this._createToolbarButton()),this.editor.ui.componentFactory.add("menuBar:insertImageViaUrl",()=>this._createMenuBarButton("standalone"))}afterInit(){this._imageInsertUI=this.editor.plugins.get("ImageInsertUI"),this._imageInsertUI.registerIntegration({name:"url",observable:()=>this.editor.commands.get("insertImage"),buttonViewCreator:()=>this._createToolbarButton(),formViewCreator:()=>this._createDropdownButton(),menuBarButtonViewCreator:e=>this._createMenuBarButton(e?"insertOnly":"insertNested")})}_createInsertUrlButton(e){const t=new e(this.editor.locale);return t.icon=Ut,t.on("execute",()=>{this._showModal()}),t}_createToolbarButton(){const e=this.editor.locale.t,t=this._createInsertUrlButton(b);return t.tooltip=!0,t.bind("label").to(this._imageInsertUI,"isImageSelected",i=>e(i?"Update image URL":"Insert image via URL")),t}_createDropdownButton(){const e=this.editor.locale.t,t=this._createInsertUrlButton(b);return t.withText=!0,t.bind("label").to(this._imageInsertUI,"isImageSelected",i=>e(i?"Update image URL":"Insert via URL")),t}_createMenuBarButton(e){const t=this.editor.locale.t,i=this._createInsertUrlButton(It);switch(i.withText=!0,e){case"standalone":i.label=t("Image via URL");break;case"insertOnly":i.label=t("Image");break;case"insertNested":i.label=t("Via URL");break}return i}_createInsertUrlView(){const e=this.editor,t=e.locale,i=e.commands.get("replaceImageSource"),n=e.commands.get("insertImage"),a=new wi(t);return a.bind("isImageSelected").to(this._imageInsertUI),a.bind("isEnabled").toMany([n,i],"isEnabled",(...s)=>s.some(r=>r)),a}_showModal(){const e=this.editor,i=e.locale.t,n=e.plugins.get("Dialog");this._formView||(this._formView=this._createInsertUrlView(),this._formView.on("submit",()=>this._handleSave()));const a=e.commands.get("replaceImageSource");this._formView.imageURLInputValue=a.value||"",n.show({id:"insertImageViaUrl",title:i("Image via URL"),isModal:!0,content:this._formView,actionButtons:[{label:i("Cancel"),withText:!0,onExecute:()=>n.hide()},{label:this._imageInsertUI.isImageSelected?i("Save"):i("Insert"),class:"ck-button-action",withText:!0,onExecute:()=>this._handleSave()}]})}_handleSave(){this.editor.commands.get("replaceImageSource").isEnabled?this.editor.execute("replaceImageSource",{source:this._formView.imageURLInputValue}):this.editor.execute("insertImage",{source:this._formView.imageURLInputValue}),this.editor.plugins.get("Dialog").hide()}}class vi extends f{static get pluginName(){return"ImageInsertViaUrl"}static get isOfficialPlugin(){return!0}static get requires(){return[_i,S]}}class ln extends f{static get pluginName(){return"ImageInsert"}static get isOfficialPlugin(){return!0}static get requires(){return[bi,vi,S]}}class yi extends v{refresh(){const e=this.editor,i=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!i,!i||!i.hasAttribute("resizedWidth")?this.value=null:this.value={width:i.getAttribute("resizedWidth"),height:null}}execute(e){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils"),a=n.getClosestSelectedImageElement(i.document.selection);this.value={width:e.width,height:null},a&&i.change(s=>{s.setAttribute("resizedWidth",e.width,a),s.removeAttribute("resizedHeight",a),n.setImageNaturalSizeAttributes(a)})}}class qe extends f{static get requires(){return[I]}static get pluginName(){return"ImageResizeEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:custom",value:"custom",icon:"custom"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const e=this.editor,t=new yi(e);this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}afterInit(){this._registerSchema()}_registerSchema(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&(e.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),e.setAttributeProperties("resizedWidth",{isFormatting:!0}),e.setAttributeProperties("resizedHeight",{isFormatting:!0})),this.editor.plugins.has("ImageInlineEditing")&&(e.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]}),e.setAttributeProperties("resizedWidth",{isFormatting:!0}),e.setAttributeProperties("resizedHeight",{isFormatting:!0}))}_registerConverters(e){const t=this.editor,i=t.plugins.get("ImageUtils");t.conversion.for("downcast").add(n=>n.on(`attribute:resizedWidth:${e}`,(a,s,r)=>{if(!r.consumable.consume(s.item,a.name))return;const l=r.writer,c=r.mapper.toViewElement(s.item);s.attributeNewValue!==null?(l.setStyle("width",s.attributeNewValue,c),l.addClass("image_resized",c)):(l.removeStyle("width",c),l.removeClass("image_resized",c))})),t.conversion.for("dataDowncast").attributeToAttribute({model:{name:e,key:"resizedHeight"},view:n=>({key:"style",value:{height:n}})}),t.conversion.for("editingDowncast").add(n=>n.on(`attribute:resizedHeight:${e}`,(a,s,r)=>{if(!r.consumable.consume(s.item,a.name))return;const l=r.writer,c=r.mapper.toViewElement(s.item),m=e==="imageInline"?i.findViewImgElement(c):c;s.attributeNewValue!==null?l.setStyle("height",s.attributeNewValue,m):l.removeStyle("height",m)})),t.conversion.for("upcast").attributeToAttribute({view:{name:e==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:n=>A(n)?null:n.getStyle("width")}}),t.conversion.for("upcast").attributeToAttribute({view:{name:e==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:n=>A(n)?null:n.getStyle("height")}}),t.conversion.for("upcast").add(n=>{n.on(`element:${e==="imageBlock"?"figure":"img"}`,(a,s,r)=>{r.consumable.consume(s.viewItem,{classes:["image_resized"]})})})}}const F={small:xt,medium:Tt,large:At,custom:Bt,original:Vt};class Ei extends f{static get requires(){return[qe]}static get pluginName(){return"ImageResizeButtons"}static get isOfficialPlugin(){return!0}_resizeUnit;constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),i=e.commands.get("resizeImage");this.bind("isEnabled").to(i);for(const n of t)this._registerImageResizeButton(n);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:i,value:n,icon:a}=e;t.ui.componentFactory.add(i,s=>{const r=new b(s),l=t.commands.get("resizeImage"),c=this._getOptionLabelValue(e,!0);if(!F[a])throw new ot("imageresizebuttons-missing-icon",t,e);if(r.set({label:c,icon:F[a],tooltip:c,isToggleable:!0}),r.bind("isEnabled").to(this),t.plugins.has("ImageCustomResizeUI")&&k(e)){const m=t.plugins.get("ImageCustomResizeUI");this.listenTo(r,"execute",()=>{m._showForm(this._resizeUnit)})}else{const m=n?n+this._resizeUnit:null;r.bind("isOn").to(l,"value",l,"isEnabled",j(m)),this.listenTo(r,"execute",()=>{t.execute("resizeImage",{width:m})})}return r})}_registerImageResizeDropdown(e){const t=this.editor,i=t.t,n=e.find(s=>!s.value),a=s=>{const r=t.commands.get("resizeImage"),l=K(s,yt),c=l.buttonView,m=i("Resize image");return c.set({tooltip:m,commandValue:n.value,icon:F.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button",ariaLabel:m,ariaLabelledBy:void 0}),c.bind("label").to(r,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(n)),l.bind("isEnabled").to(this),Et(l,()=>this._getResizeDropdownListItemDefinitions(e,r),{ariaLabel:i("Image resize list"),role:"menu"}),this.listenTo(l,"execute",u=>{"onClick"in u.source?u.source.onClick():(t.execute(u.source.commandName,{width:u.source.commandValue}),t.editing.view.focus())}),l};t.ui.componentFactory.add("resizeImage",a),t.ui.componentFactory.add("imageResize",a)}_getOptionLabelValue(e,t=!1){const i=this.editor.t;return e.label?e.label:t?k(e)?i("Custom image size"):e.value?i("Resize image to %0",e.value+this._resizeUnit):i("Resize image to the original size"):k(e)?i("Custom"):e.value?e.value+this._resizeUnit:i("Original")}_getResizeDropdownListItemDefinitions(e,t){const{editor:i}=this,n=new at,a=e.map(s=>k(s)?{...s,valueWithUnits:"custom"}:s.value?{...s,valueWithUnits:`${s.value}${this._resizeUnit}`}:{...s,valueWithUnits:null});for(const s of a){let r=null;if(i.plugins.has("ImageCustomResizeUI")&&k(s)){const l=i.plugins.get("ImageCustomResizeUI");r={type:"button",model:new ne({label:this._getOptionLabelValue(s),role:"menuitemradio",withText:!0,icon:null,onClick:()=>{l._showForm(this._resizeUnit)}})};const c=Object.values(a).map(m=>m.valueWithUnits);r.model.bind("isOn").to(t,"value",t,"isEnabled",Ci(c))}else r={type:"button",model:new ne({commandName:"resizeImage",commandValue:s.valueWithUnits,label:this._getOptionLabelValue(s),role:"menuitemradio",withText:!0,icon:null})},r.model.bind("isOn").to(t,"value",t,"isEnabled",j(s.valueWithUnits));r.model.bind("isEnabled").to(t,"isEnabled"),n.add(r)}return n}}function k(o){return o.value==="custom"}function j(o){return(e,t)=>{const i=e;return i===void 0||!t?!1:o===null&&i===o?!0:i!==null&&i.width===o}}function Ci(o){return(e,t)=>!o.some(i=>j(i)(e,t))}const ki="figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img",L="image_resized";class Si extends f{static get requires(){return[N,I]}static get pluginName(){return"ImageResizeHandles"}static get isOfficialPlugin(){return!0}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils");t.addObserver(ee),this.listenTo(t.document,"imageLoaded",(n,a)=>{if(!a.target.matches(ki))return;const s=e.editing.view.domConverter,r=s.domToView(a.target),l=i.getImageWidgetFromImageView(r);let c=this.editor.plugins.get(N).getResizerByViewElement(l);if(c){c.redraw();return}const m=e.editing.mapper,u=m.toModelElement(l);c=e.plugins.get(N).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:u,viewElement:l,editor:e,getHandleHost(g){return g.querySelector("img")},getResizeHost(){return s.mapViewToDom(m.toViewElement(u))},isCentered(){return u.getAttribute("imageStyle")=="alignCenter"},onCommit(g){t.change(d=>{d.removeClass(L,l)}),e.execute("resizeImage",{width:g})}}),c.on("updateSize",()=>{l.hasClass(L)||t.change(d=>{d.addClass(L,l)});const g=u.name==="imageInline"?r:l;g.getStyle("height")&&t.change(d=>{d.removeStyle("height",g)})}),c.bind("isEnabled").to(this)})}}/**
|
|
5
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
6
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
7
|
+
*/function $e(o){if(!o)return null;const[,e,t]=o.trim().match(/([.,\d]+)(%|px)$/)||[],i=Number.parseFloat(e);return Number.isNaN(i)?null:{value:i,unit:t}}function He(o,e,t){return t==="px"?{value:e.value,unit:"px"}:{value:e.value/o*100,unit:"%"}}/**
|
|
8
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
9
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
10
|
+
*/function Ge(o){const{editing:e}=o,i=o.plugins.get("ImageUtils").getClosestSelectedImageElement(o.model.document.selection);if(!i)return null;const n=e.mapper.toViewElement(i),a=e.view.domConverter.mapViewToDom(n);return{model:i,view:n,dom:a}}function Ui(o,e){const t=Ge(o);if(!t)return null;const i=$e(t.model.getAttribute("resizedWidth")||null);if(!i)return null;if(i.unit===e)return i;const n=pe(t.dom),a={value:new lt(t.dom).width};return He(n,a,e)}class Vi extends R{focusTracker;keystrokes;unit;backButtonView;saveButtonView;labeledInput;children;_focusables;_focusCycler;_validators;constructor(e,t,i){super(e),this.focusTracker=new G,this.keystrokes=new z,this.unit=t,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.labeledInput=this._createLabeledInputView(),this.children=this.createCollection([this._createHeaderView()]),this.children.add(new ye(e,{children:[this.labeledInput,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding"]})),this._focusables=new J,this._validators=i,this.keystrokes.set("Esc",(n,a)=>{this.fire("cancel"),a()}),this._focusCycler=new Z({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-image-custom-resize-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),O({view:this}),[this.backButtonView,this.labeledInput,this.saveButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createBackButton(){const e=this.locale.t,t=new b(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:Ve,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new b(this.locale);return t.set({label:e("Save"),withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new Ee(this.locale,{label:e("Image Resize")});return t.children.add(this.backButtonView,0),t}_createLabeledInputView(){const e=this.locale.t,t=new X(this.locale,Ct);return t.label=e("Resize image (in %0)",this.unit),t.class="ck-labeled-field-view_full-width",t.fieldView.set({step:.1}),t}isValid(){this.resetFormStatus();for(const e of this._validators){const t=e(this);if(t)return this.labeledInput.errorText=t,!1}return!0}resetFormStatus(){this.labeledInput.errorText=null}get rawSize(){const{element:e}=this.labeledInput.fieldView;return e?e.value:null}get parsedSize(){const{rawSize:e}=this;if(e===null)return null;const t=Number.parseFloat(e);return Number.isNaN(t)?null:t}get sizeWithUnits(){const{parsedSize:e,unit:t}=this;return e===null?null:`${e}${t}`}}function Bi(o,e){const t=Ge(o);if(!t)return null;const i=pe(t.dom),n=$e(window.getComputedStyle(t.dom).minWidth)||{value:1},a=Math.max(.1,He(i,n,e).value);return{unit:e,lower:a,upper:e==="px"?i:100}}class Ai extends f{_balloon;_form;static get requires(){return[be]}static get pluginName(){return"ImageCustomResizeUI"}static get isOfficialPlugin(){return!0}destroy(){super.destroy(),this._form&&this._form.destroy()}_createForm(e){const t=this.editor;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(we(Vi))(t.locale,e,Ti(t)),this._form.render(),this.listenTo(this._form,"submit",()=>{this._form.isValid()&&(t.execute("resizeImage",{width:this._form.sizeWithUnits}),this._hideForm(!0))}),this.listenTo(this._form.labeledInput,"change:errorText",()=>{t.ui.update()}),this.listenTo(this._form,"cancel",()=>{this._hideForm(!0)}),_e({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(e){if(this._isVisible)return;this._form||this._createForm(e);const t=this.editor,i=this._form.labeledInput;this._form.disableCssTransitions(),this._form.resetFormStatus(),this._isInBalloon||this._balloon.add({view:this._form,position:Q(t)});const n=Ui(t,e),a=n?n.value.toFixed(1):"",s=Bi(t,e);i.fieldView.value=i.fieldView.element.value=a,s&&Object.assign(i.fieldView,{min:s.lower.toFixed(1),max:Math.ceil(s.upper).toFixed(1)}),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}function Ti(o){const e=o.t;return[t=>{if(t.rawSize.trim()==="")return e("The value must not be empty.");if(t.parsedSize===null)return e("The value should be a plain number.")}]}class cn extends f{static get requires(){return[qe,Si,Ai,Ei]}static get pluginName(){return"ImageResize"}static get isOfficialPlugin(){return!0}}class xi extends v{_defaultStyles;_styles;constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map(i=>{if(i.isDefault)for(const n of i.modelElements)this._defaultStyles[n]=i.name;return[i.name,i]}))}refresh(){const i=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!i,this.isEnabled?i.hasAttribute("imageStyle")?this.value=i.getAttribute("imageStyle"):this.value=this._defaultStyles[i.name]:this.value=!1}execute(e={}){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils");i.change(a=>{const s=e.value,{setImageSizes:r=!0}=e;let l=n.getClosestSelectedImageElement(i.document.selection);s&&this.shouldConvertImageType(s,l)&&(this.editor.execute(n.isBlockImage(l)?"imageTypeInline":"imageTypeBlock",{setImageSizes:r}),l=n.getClosestSelectedImageElement(i.document.selection)),!s||this._styles.get(s).isDefault?a.removeAttribute("imageStyle",l):a.setAttribute("imageStyle",s,l),r&&n.setImageNaturalSizeAttributes(l)})}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const D={get inline(){return{name:"inline",title:"In line",icon:Ce,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:ke,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Ue,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:W,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:M,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Se,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:W,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:M,modelElements:["imageBlock"],className:"image-style-side"}}},zi={full:Ot,left:Ue,right:Se,center:W,inlineLeft:ke,inlineRight:M,inline:Ce},Ri=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function Oi(o){return(o.configuredStyles.options||[]).map(i=>Fi(i)).filter(i=>Li(i,o))}function Pi(o,e){return o&&e?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:e?{options:["inline","alignLeft","alignRight"]}:{}}function Ni(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...Ri]:[]}function Fi(o){return typeof o=="string"?D[o]?o={...D[o]}:o={name:o}:o=Di(D[o.name],o),typeof o.icon=="string"&&(o.icon=zi[o.icon]||o.icon),o}function Li(o,{isBlockPluginLoaded:e,isInlinePluginLoaded:t}){const{modelElements:i,name:n}=o;if(!i||!i.length||!n)return Ke({style:o}),!1;{const a=[e?"imageBlock":null,t?"imageInline":null];if(!i.some(s=>a.includes(s)))return _("image-style-missing-dependency",{style:o,missingPlugins:i.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing")}),!1}return!0}function Di(o,e){const t={...e};for(const i in o)Object.prototype.hasOwnProperty.call(e,i)||(t[i]=o[i]);return t}function Ke(o){_("image-style-configuration-definition-invalid",o)}const x={normalizeStyles:Oi,getDefaultStylesConfiguration:Pi,getDefaultDropdownDefinitions:Ni,warnInvalidStyle:Ke};function Mi(o){return(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=me(t.attributeNewValue,o),a=me(t.attributeOldValue,o),s=i.mapper.toViewElement(t.item),r=i.writer;a&&r.removeClass(a.className,s),n&&r.addClass(n.className,s)}}function Wi(o){const e={imageInline:o.filter(t=>!t.isDefault&&t.modelElements.includes("imageInline")),imageBlock:o.filter(t=>!t.isDefault&&t.modelElements.includes("imageBlock"))};return(t,i,n)=>{if(!i.modelRange)return;const a=i.viewItem,s=H(i.modelRange.getItems());if(s&&n.schema.checkAttribute(s,"imageStyle"))for(const r of e[s.name])n.consumable.consume(a,{classes:r.className})&&n.writer.setAttribute("imageStyle",r.name,s)}}function me(o,e){for(const t of e)if(t.name===o)return t}class Je extends f{static get pluginName(){return"ImageStyleEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[I]}normalizedStyles;init(){const e=this.editor,t=e.plugins.has("ImageBlockEditing"),i=e.plugins.has("ImageInlineEditing");e.config.define("image.styles",x.getDefaultStylesConfiguration(t,i)),this.normalizedStyles=x.normalizeStyles({configuredStyles:e.config.get("image.styles"),isBlockPluginLoaded:t,isInlinePluginLoaded:i}),this._setupConversion(t,i),this._setupPostFixer(),e.commands.add("imageStyle",new xi(e,this.normalizedStyles))}_setupConversion(e,t){const i=this.editor,n=i.model.schema,a=Mi(this.normalizedStyles),s=Wi(this.normalizedStyles);i.editing.downcastDispatcher.on("attribute:imageStyle",a),i.data.downcastDispatcher.on("attribute:imageStyle",a),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),n.setAttributeProperties("imageStyle",{isFormatting:!0}),i.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),n.setAttributeProperties("imageStyle",{isFormatting:!0}),i.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,i=e.plugins.get(I),n=new Map(this.normalizedStyles.map(a=>[a.name,a]));t.registerPostFixer(a=>{let s=!1;for(const r of t.differ.getChanges())if(r.type=="insert"||r.type=="attribute"&&r.attributeKey=="imageStyle"){let l=r.type=="insert"?r.position.nodeAfter:r.range.start.nodeAfter;if(l&&l.is("element","paragraph")&&l.childCount>0&&(l=l.getChild(0)),!i.isImage(l))continue;const c=l.getAttribute("imageStyle");if(!c)continue;const m=n.get(c);(!m||!m.modelElements.includes(l.name))&&(a.removeAttribute("imageStyle",l),s=!0)}return s})}}class ji extends f{static get requires(){return[Je]}static get pluginName(){return"ImageStyleUI"}static get isOfficialPlugin(){return!0}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],i=e.get("ImageStyleEditing"),n=ue(i.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of n)this._createButton(s);const a=ue([...t.filter(Be),...x.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const s of a)this._createDropdown(s,n)}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,n=>{let a;const{defaultItem:s,items:r,title:l}=e,c=r.filter(d=>t.find(({name:h})=>ge(h)===d)).map(d=>{const h=i.create(d);return d===s&&(a=h),h});r.length!==c.length&&x.warnInvalidStyle({dropdown:e});const m=K(n,Ie),u=m.buttonView,g=u.arrowView;return bt(m,c,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:de(l,a.label),class:null,tooltip:!0}),g.unbind("label"),g.set({label:l}),u.bind("icon").toMany(c,"isOn",(...d)=>{const h=d.findIndex(C);return h<0?a.icon:c[h].icon}),u.bind("label").toMany(c,"isOn",(...d)=>{const h=d.findIndex(C);return de(l,h<0?a.label:c[h].label)}),u.bind("isOn").toMany(c,"isOn",(...d)=>d.some(C)),u.bind("class").toMany(c,"isOn",(...d)=>d.some(C)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{c.some(({isOn:d})=>d)?m.isOpen=!m.isOpen:a.fire("execute")}),m.bind("isEnabled").toMany(c,"isEnabled",(...d)=>d.some(C)),this.listenTo(m,"execute",()=>{this.editor.editing.view.focus()}),m})}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(ge(t),i=>{const n=this.editor.commands.get("imageStyle"),a=new b(i);return a.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),a.bind("isEnabled").to(n,"isEnabled"),a.bind("isOn").to(n,"value",s=>s===t),a.on("execute",this._executeCommand.bind(this,t)),a})}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function ue(o,e){for(const t of o)e[t.title]&&(t.title=e[t.title]);return o}function ge(o){return`imageStyle:${o}`}function de(o,e){return(o?o+": ":"")+e}class mn extends f{static get requires(){return[Je,ji]}static get pluginName(){return"ImageStyle"}static get isOfficialPlugin(){return!0}}class un extends f{static get requires(){return[ie,I]}static get pluginName(){return"ImageToolbar"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.t,i=e.plugins.get(ie),n=e.plugins.get("ImageUtils");i.register("image",{ariaLabel:t("Image toolbar"),items:qi(e.config.get("image.toolbar")||[]),getRelatedElement:a=>n.getClosestSelectedImageWidget(a)})}}function qi(o){return o.map(e=>Be(e)?e.name:e)}export{sn as AutoImage,on as ImageBlock,Fe as ImageBlockEditing,rn as ImageCaption,Qt as ImageCaptionEditing,ei as ImageCaptionUI,Le as ImageCaptionUtils,Ai as ImageCustomResizeUI,Re as ImageEditing,an as ImageInline,Xt as ImageInlineEditing,ln as ImageInsert,S as ImageInsertUI,vi as ImageInsertViaUrl,_i as ImageInsertViaUrlUI,ee as ImageLoadObserver,Ne as ImagePlaceholder,cn as ImageResize,Ei as ImageResizeButtons,qe as ImageResizeEditing,Si as ImageResizeHandles,Oe as ImageSizeAttributes,mn as ImageStyle,xi as ImageStyleCommand,Je as ImageStyleEditing,ji as ImageStyleUI,xe as ImageTextAlternative,Wt as ImageTextAlternativeCommand,jt as ImageTextAlternativeEditing,Ht as ImageTextAlternativeUI,un as ImageToolbar,Pe as ImageTypeCommand,bi as ImageUpload,fi as ImageUploadEditing,ai as ImageUploadProgress,oi as ImageUploadUI,I as ImageUtils,Kt as InsertImageCommand,Jt as ReplaceImageSourceCommand,yi as ResizeImageCommand,Yt as ToggleImageCaptionCommand,hi as UploadImageCommand,Ri as _IMAGE_DEFAULT_DROPDOWN_DEFINITIONS,zi as _IMAGE_DEFAULT_ICONS,D as _IMAGE_DEFAULT_OPTIONS,Vi as _ImageCustomResizeFormView,Zt as _ImageInsertFormView,wi as _ImageInsertUrlView,x as _ImageStyleUtils,qt as _ImageTextAlternativeFormView,A as _checkIfImageWidthAndHeightStylesAreBothSet,ae as _createBlockImageViewElement,Pt as _createInlineImageViewElement,Y as _determineImageTypeForInsertionAtSelection,T as _downcastImageAttribute,ze as _downcastImageSrcsetAttribute,ti as _fetchLocalImage,Q as _getImageBalloonPositionData,B as _getImageSizeValueIfInPx,Ae as _getImageViewElementMatcher,Ge as _getSelectedImageEditorNodes,Bi as _getSelectedImagePossibleResizeRange,Ui as _getSelectedImageWidthInUnits,ii as _isLocalImage,Mi as _modelToViewImageStyleAttribute,$t as _repositionImageContextualBalloon,He as _tryCastImageDimensionsToUnit,$e as _tryParseImageDimensionWithUnit,Gt as _upcastImageFigure,Wi as _viewToModelImageStyleAttribute,De as createImageTypeRegExp,pi as isHtmlInDataTransfer};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{Plugin as l,MultiCommand as u,Command as I}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{ButtonView as k,MenuBarMenuListItemButtonView as w}from"../../../../../@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{IconIndent as f,IconOutdent as h}from"../../../../../@ckeditor_ckeditor5-icons@46.1.1/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{addMarginStylesRules as b}from"../../../../../@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{first as p}from"../../../../../@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";/**
|
|
2
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/class B extends l{static get pluginName(){return"IndentEditing"}static get isOfficialPlugin(){return!0}init(){const t=this.editor;t.commands.add("indent",new u(t)),t.commands.add("outdent",new u(t))}}class v extends l{static get pluginName(){return"IndentUI"}static get isOfficialPlugin(){return!0}init(){const t=this.editor,e=t.locale,n=t.t,s=e.uiLanguageDirection=="ltr"?f:h,i=e.uiLanguageDirection=="ltr"?h:f;this._defineButton("indent",n("Increase indent"),s),this._defineButton("outdent",n("Decrease indent"),i)}_defineButton(t,e,n){const s=this.editor;s.ui.componentFactory.add(t,()=>{const i=this._createButton(k,t,e,n);return i.set({tooltip:!0}),i}),s.ui.componentFactory.add("menuBar:"+t,()=>this._createButton(w,t,e,n))}_createButton(t,e,n,s){const i=this.editor,r=i.commands.get(e),d=new t(i.locale);return d.set({label:n,icon:s}),d.bind("isEnabled").to(r,"isEnabled"),this.listenTo(d,"execute",()=>{i.execute(e),i.editing.view.focus()}),d}}class O extends l{static get pluginName(){return"Indent"}static get isOfficialPlugin(){return!0}static get requires(){return[B,v]}}class a extends I{_indentBehavior;constructor(t,e){super(t),this._indentBehavior=e}refresh(){const e=this.editor.model,n=p(e.document.selection.getSelectedBlocks());if(!n||!this._isIndentationChangeAllowed(n)){this.isEnabled=!1;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute("blockIndent"))}execute(){const t=this.editor.model,e=this._getBlocksToChange();t.change(n=>{for(const s of e){const i=s.getAttribute("blockIndent"),r=this._indentBehavior.getNextIndent(i);r?n.setAttribute("blockIndent",r,s):n.removeAttribute("blockIndent",s)}})}_getBlocksToChange(){const e=this.editor.model.document.selection;return Array.from(e.getSelectedBlocks()).filter(s=>this._isIndentationChangeAllowed(s))}_isIndentationChangeAllowed(t){const e=this.editor;return e.model.schema.checkAttribute(t,"blockIndent")?!e.plugins.has("ListUtils")||!this._indentBehavior.isForward?!0:!e.plugins.get("ListUtils").isListItemBlock(t):!1}}/**
|
|
5
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
6
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
7
|
+
*/class g{isForward;offset;unit;constructor(t){this.isForward=t.direction==="forward",this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||"0");return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||"0");if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const s=this.isForward?this.offset:-this.offset,i=e+s;return i>0?i+this.unit:void 0}}/**
|
|
8
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
9
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
10
|
+
*/class m{isForward;classes;constructor(t){this.isForward=t.direction==="forward",this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e<this.classes.length-1:e>=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const C=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class y extends l{constructor(t){super(t),t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}static get isOfficialPlugin(){return!0}init(){const t=this.editor,e=t.config.get("indentBlock");e.classes&&e.classes.length?(this._setupConversionUsingClasses(e.classes),t.commands.add("indentBlock",new a(t,new m({direction:"forward",classes:e.classes}))),t.commands.add("outdentBlock",new a(t,new m({direction:"backward",classes:e.classes})))):(t.data.addStyleProcessorRules(b),this._setupConversionUsingOffset(),t.commands.add("indentBlock",new a(t,new g({direction:"forward",offset:e.offset,unit:e.unit}))),t.commands.add("outdentBlock",new a(t,new g({direction:"backward",offset:e.offset,unit:e.unit}))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get("indent"),s=t.commands.get("outdent"),i=t.config.get("heading.options");(i&&i.map(c=>c.model)||C).forEach(c=>{e.isRegistered(c)&&e.extend(c,{allowAttributes:"blockIndent"})}),e.setAttributeProperties("blockIndent",{isFormatting:!0}),n.registerChildCommand(t.commands.get("indentBlock")),s.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion,n=this.editor.locale.contentLanguageDirection==="rtl"?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[n]:/[\s\S]+/}},model:{key:"blockIndent",value:s=>{if(!s.is("element","li"))return s.getStyle(n)}}}),t.for("downcast").attributeToAttribute({model:"blockIndent",view:s=>({key:"style",value:{[n]:s}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:"class",value:[n]};this.editor.conversion.attributeToAttribute(e)}}export{O as Indent,y as IndentBlock,a as IndentBlockCommand,B as IndentEditing,v as IndentUI,m as _IndentUsingClasses,g as _IndentUsingOffset};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Plugin as m,Command as x}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Collection as p,getLanguageDirection as w}from"../../../../../@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{createDropdown as L,addListToDropdown as h,MenuBarMenuView as C,MenuBarMenuListView as A,ListSeparatorView as P,MenuBarMenuListItemView as T,MenuBarMenuListItemButtonView as V,UIModel as b}from"../../../../../@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";/**
|
|
2
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/function f(l,e){return e=e||w(l),`${l}:${e}`}function v(l){const[e,t]=l.split(":");return{languageCode:e,textDirection:t}}class y extends x{refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"language")}execute({languageCode:e,textDirection:t}={}){const s=this.editor.model,o=s.document.selection,u=e?f(e,t):!1;s.change(g=>{if(o.isCollapsed)u?g.setSelectionAttribute("language",u):g.removeSelectionAttribute("language");else{const n=s.schema.getValidRanges(o.getRanges(),"language");for(const a of n)u?g.setAttribute("language",u,a):g.removeAttribute("language",a)}})}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,s=e.document.selection;if(s.isCollapsed)return s.getAttribute("language")||!1;for(const r of s.getRanges())for(const o of r.getItems())if(t.checkAttribute(o,"language"))return o.getAttribute("language")||!1;return!1}}class D extends m{static get pluginName(){return"TextPartLanguageEditing"}static get isOfficialPlugin(){return!0}constructor(e){super(e),e.config.define("language",{textPartLanguage:[{title:"Arabic",languageCode:"ar"},{title:"French",languageCode:"fr"},{title:"Spanish",languageCode:"es"}]})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"language"}),e.model.schema.setAttributeProperties("language",{copyOnEnter:!0}),this._defineConverters(),e.commands.add("textPartLanguage",new y(e))}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToAttribute({model:{key:"language",value:t=>{const s=t.getAttribute("lang"),r=t.getAttribute("dir");return f(s,r)}},view:{name:"span",attributes:{lang:/[\s\S]+/}}}),e.for("downcast").attributeToElement({model:"language",view:(t,{writer:s},r)=>{if(!t||!r.item.is("$textProxy")&&!r.item.is("documentSelection"))return;const{languageCode:o,textDirection:u}=v(t);return s.createAttributeElement("span",{lang:o,dir:u})}})}}class M extends m{static get pluginName(){return"TextPartLanguageUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.t,s=t("Choose language"),r=t("Language");e.ui.componentFactory.add("textPartLanguage",o=>{const{definitions:u,titles:g}=this._getItemMetadata(),n=e.commands.get("textPartLanguage"),a=L(o);return h(a,u,{ariaLabel:r,role:"menu"}),a.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),a.extendTemplate({attributes:{class:["ck-text-fragment-language-dropdown"]}}),a.bind("isEnabled").to(n,"isEnabled"),a.buttonView.bind("label").to(n,"value",i=>i&&g[i]||s),a.buttonView.bind("ariaLabel").to(n,"value",i=>{const c=i&&g[i];return c?`${c}, ${r}`:r}),this.listenTo(a,"execute",i=>{n.execute({languageCode:i.source.languageCode,textDirection:i.source.textDirection}),e.editing.view.focus()}),a}),e.ui.componentFactory.add("menuBar:textPartLanguage",o=>{const{definitions:u}=this._getItemMetadata(),g=e.commands.get("textPartLanguage"),n=new C(o);n.buttonView.set({label:r});const a=new A(o);a.set({ariaLabel:t("Language"),role:"menu"});for(const i of u){if(i.type!="button"){a.items.add(new P(o));continue}const c=new T(o,n),d=new V(o);d.set({role:"menuitemradio",isToggleable:!0}),d.bind(...Object.keys(i.model)).to(i.model),d.delegate("execute").to(n),c.children.add(d),a.items.add(c)}return n.bind("isEnabled").to(g,"isEnabled"),n.panelView.children.add(a),n.on("execute",i=>{g.execute({languageCode:i.source.languageCode,textDirection:i.source.textDirection}),e.editing.view.focus()}),n})}_getItemMetadata(){const e=this.editor,t=new p,s={},r=e.commands.get("textPartLanguage"),o=e.config.get("language.textPartLanguage"),u=e.locale.t,g=u("Remove language");t.add({type:"button",model:new b({label:g,languageCode:!1,withText:!0})}),t.add({type:"separator"});for(const n of o){const a={type:"button",model:new b({label:n.title,languageCode:n.languageCode,role:"menuitemradio",textDirection:n.textDirection,withText:!0})},i=f(n.languageCode,n.textDirection);a.model.bind("isOn").to(r,"value",c=>c===i),t.add(a),s[i]=n.title}return{definitions:t,titles:s}}}class B extends m{static get requires(){return[D,M]}static get pluginName(){return"TextPartLanguage"}static get isOfficialPlugin(){return!0}}export{B as TextPartLanguage,y as TextPartLanguageCommand,D as TextPartLanguageEditing,M as TextPartLanguageUI,v as _parseLanguageAttribute,f as _stringifyLanguageAttribute};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Plugin as p,Command as ee}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Delete as ue,findAttributeRange as C,TextWatcher as he,getLastTextLine as me,TwoStepCaretMovement as K,Input as fe,inlineHighlight as ke}from"../../../../../@ckeditor_ckeditor5-typing@46.1.1/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{ClipboardPipeline as ge}from"../../../../../@ckeditor_ckeditor5-clipboard@46.1.1/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js";import{env as we,keyCodes as be,Collection as te,first as ie,toMap as A,ObservableMixin as pe,FocusTracker as x,KeystrokeHandler as S,diff as _e}from"../../../../../@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{ClickObserver as Ve,ModelLivePosition as $,Matcher as ve}from"../../../../../@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{IconUnlink as Le,IconPencil as Ie,IconSettings as ye,IconLink as se,IconPreviousArrow as B,IconNextArrow as Te}from"../../../../../@ckeditor_ckeditor5-icons@46.1.1/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{ContextualBalloon as G,ToolbarView as Pe,CssTransitionDisablerMixin as W,ButtonView as w,SwitchButtonView as Ee,MenuBarMenuListItemButtonView as Ce,clickOutsideHandler as Ae,View as L,ViewCollection as F,FocusCycler as H,ListView as R,ListItemView as D,FormHeaderView as U,IconView as xe,submitHandler as Se,LabeledFieldView as X,createLabeledInputText as j,FormRowView as J}from"../../../../../@ckeditor_ckeditor5-ui@46.1.1/node_modules/@ckeditor/ckeditor5-ui/dist/index.js";import{isWidget as Be}from"../../../../../@ckeditor_ckeditor5-widget@46.1.1/node_modules/@ckeditor/ckeditor5-widget/dist/index.js";import{upperFirst as Fe}from"../../../../../es-toolkit@1.39.5/node_modules/es-toolkit/dist/compat/string/upperFirst.js";/**
|
|
2
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/class He{_definitions=new Set;get length(){return this._definitions.size}add(e){Array.isArray(e)?e.forEach(t=>this._definitions.add(t)):this._definitions.add(e)}getDispatcher(){return e=>{e.on("attribute:linkHref",(t,i,s)=>{if(!s.consumable.test(i.item,"attribute:linkHref")||!(i.item.is("selection")||s.schema.isInline(i.item)))return;const n=s.writer,o=n.document.selection;for(const a of this._definitions){const r=n.createAttributeElement("a",a.attributes,{priority:5});a.classes&&n.addClass(a.classes,r);for(const c in a.styles)n.setStyle(c,a.styles[c],r);n.setCustomProperty("link",!0,r),a.callback(i.attributeNewValue)?i.item.is("selection")?n.wrap(o.getFirstRange(),r):n.wrap(s.mapper.toViewRange(i.range),r):n.unwrap(s.mapper.toViewRange(i.range),r)}},{priority:"high"})}}getDispatcherForLinkedImage(){return e=>{e.on("attribute:linkHref:imageBlock",(t,i,{writer:s,mapper:n})=>{const o=n.toViewElement(i.item),a=Array.from(o.getChildren()).find(r=>r.is("element","a"));if(a)for(const r of this._definitions){const c=A(r.attributes);if(r.callback(i.attributeNewValue)){for(const[u,h]of c)u==="class"?s.addClass(h,a):s.setAttribute(u,h,a);r.classes&&s.addClass(r.classes,a);for(const u in r.styles)s.setStyle(u,r.styles[u],a)}else{for(const[u,h]of c)u==="class"?s.removeClass(h,a):s.removeAttribute(u,a);r.classes&&s.removeClass(r.classes,a);for(const u in r.styles)s.removeStyle(u,a)}}})}}}const Re=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,De="^(?:(?:<protocols>):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))",Ue=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,Oe=/^((\w+:(\/{2,})?)|(\W))/i,Me=["https?","ftps?","mailto"],v="Ctrl+K";function Ne(l){return l.is("attributeElement")&&!!l.getCustomProperty("link")}function Y(l,{writer:e}){const t=e.createAttributeElement("a",{href:l},{priority:5});return e.setCustomProperty("link",!0,t),t}function ne(l,e=Me){const t=String(l),i=e.join("|"),s=new RegExp(`${De.replace("<protocols>",i)}`,"i");return qe(t,s)?t:"#"}function qe(l,e){return!!l.replace(Re,"").match(e)}function ze(l,e){const t={"Open in a new tab":l("Open in a new tab"),Downloadable:l("Downloadable")};return e.forEach(i=>("label"in i&&t[i.label]&&(i.label=t[i.label]),i)),e}function Ke(l){const e=[];if(l)for(const[t,i]of Object.entries(l)){const s=Object.assign({},i,{id:`link${Fe(t)}`});e.push(s)}return e}function P(l,e){return l?e.checkAttribute(l.name,"linkHref"):!1}function $e(l){return Ue.test(l)}function O(l,e){const t=$e(l)?"mailto:":e,i=!!t&&!oe(l);return l&&i?t+l:l}function oe(l){return Oe.test(l)}function Ge(l){window.open(l,"_blank","noopener")}function E(l){let e="";for(const t of l.getItems()){if(!t.is("$text")&&!t.is("$textProxy"))return;e+=t.data}return e}class We extends ee{manualDecorators=new te;automaticDecorators=new He;restoreManualDecoratorStates(){for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement()||ie(t.getSelectedBlocks());P(i,e.schema)?(this.value=i.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttribute(i,"linkHref")):(this.value=t.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref"));for(const s of this.manualDecorators)s.value=this._getDecoratorStateFromModel(s.id)}execute(e,t={},i){const s=this.editor.model,n=s.document.selection,o=[],a=[];for(const r in t)t[r]?o.push(r):a.push(r);s.change(r=>{const c=d=>{r.setAttribute("linkHref",e,d),o.forEach(m=>r.setAttribute(m,!0,d)),a.forEach(m=>r.removeAttribute(m,d))},u=(d,m)=>{const k=E(d);if(!k)return d;let g=i;if(g||(g=m&&m==k?e:k),g!=k){const I=Xe(k,g);let f=0;for(const{offset:V,actual:y,expected:M}of I){const N=V+f,q=r.createRange(d.start.getShiftedBy(N),d.start.getShiftedBy(N+y.length)),ae=je(q,d).getAttributes(),ce=Array.from(ae).filter(([de])=>s.schema.getAttributeProperties(de).isFormatting),z=r.createText(M,ce);c(z),s.insertContent(z,q),f+=M.length}return r.createRange(d.start,d.start.getShiftedBy(g.length))}},h=d=>{const{plugins:m}=this.editor;if(r.setSelection(d.end),m.has("TwoStepCaretMovement"))m.get("TwoStepCaretMovement")._handleForwardMovement();else for(const k of["linkHref",...o,...a])r.removeSelectionAttribute(k)};if(n.isCollapsed){const d=n.getFirstPosition();if(n.hasAttribute("linkHref")){const m=n.getAttribute("linkHref"),k=C(d,"linkHref",m,s),g=u(k,m);c(g||k),g&&h(g)}else if(e!==""){const m=A(n.getAttributes());m.set("linkHref",e),o.forEach(g=>{m.set(g,!0)});const k=s.insertContent(r.createText(i||e,m),d);h(k)}}else{const d=Array.from(n.getRanges()),m=s.schema.getValidRanges(d,"linkHref"),k=[];for(const f of n.getSelectedBlocks())s.schema.checkAttribute(f,"linkHref")&&k.push(r.createRangeOn(f));const g=k.slice();for(const f of m)this._isRangeToUpdate(f,k)&&g.push(f);const I=d.map(f=>({start:$.fromPosition(f.start,"toPrevious"),end:$.fromPosition(f.end,"toNext")}));for(let f of g){const V=(f.start.textNode||f.start.nodeAfter).getAttribute("linkHref");f=u(f,V)||f,c(f)}r.setSelection(I.map(f=>{const V=f.start.toPosition(),y=f.end.toPosition();return f.start.detach(),f.end.detach(),s.createRange(V,y)}))}})}_getDecoratorStateFromModel(e){const t=this.editor.model,i=t.document.selection,s=i.getSelectedElement();return P(s,t.schema)?s.getAttribute(e):i.getAttribute(e)}_isRangeToUpdate(e,t){for(const i of t)if(i.containsRange(e))return!1;return!0}}function Xe(l,e){const t=_e(l,e),i={equal:0,insert:0,delete:0},s=[];let n="",o="";for(const a of[...t,null])a=="insert"?o+=e[i.equal+i.insert]:a=="delete"?n+=l[i.equal+i.delete]:(n.length||o.length)&&(s.push({offset:i.equal,actual:n,expected:o}),n="",o=""),a&&i[a]++;return s}function je(l,e){if(!l.isCollapsed)return ie(l.getItems());const t=l.start;return t.textNode?t.textNode:!t.nodeBefore||t.isEqual(e.start)?t.nodeAfter:t.nodeBefore}class Je extends ee{refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement();P(i,e.schema)?this.isEnabled=e.schema.checkAttribute(i,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,i=t.document.selection,s=e.commands.get("link");t.change(n=>{const o=i.isCollapsed?[C(i.getFirstPosition(),"linkHref",i.getAttribute("linkHref"),t)]:t.schema.getValidRanges(i.getRanges(),"linkHref");for(const a of o)if(n.removeAttribute("linkHref",a),s)for(const r of s.manualDecorators)n.removeAttribute(r.id,a)})}}class Ye extends pe(){id;defaultValue;label;attributes;classes;styles;constructor({id:e,label:t,attributes:i,classes:s,styles:n,defaultValue:o}){super(),this.id=e,this.set("value",void 0),this.defaultValue=o,this.label=t,this.attributes=i,this.classes=s,this.styles=n}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}const Qe="ck-link_selected",Q="automatic",Ze="manual",et=/^(https?:)?\/\//;class _ extends p{_linkOpeners=[];static get pluginName(){return"LinkEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[K,fe,ge]}constructor(e){super(e),e.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1,toolbar:["linkPreview","|","editLink","linkProperties","unlink"]})}init(){const e=this.editor,t=this.editor.config.get("link.allowedProtocols");e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:Y}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(n,o)=>Y(ne(n,t),o)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:n=>n.getAttribute("href")}}),e.commands.add("link",new We(e)),e.commands.add("unlink",new Je(e));const i=ze(e.t,Ke(e.config.get("link.decorators")));this._enableAutomaticDecorators(i.filter(n=>n.mode===Q)),this._enableManualDecorators(i.filter(n=>n.mode===Ze)),e.plugins.get(K).registerAttribute("linkHref"),ke(e,"linkHref","a",Qe),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_registerLinkOpener(e){this._linkOpeners.push(e)}_enableAutomaticDecorators(e){const t=this.editor,s=t.commands.get("link").automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&s.add({id:"linkIsExternal",mode:Q,callback:n=>!!n&&et.test(n),attributes:{target:"_blank",rel:"noopener noreferrer"}}),s.add(e),s.length&&t.conversion.for("downcast").add(s.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,s=t.commands.get("link").manualDecorators;e.forEach(n=>{t.model.schema.extend("$text",{allowAttributes:n.id});const o=new Ye(n);s.add(o),t.conversion.for("downcast").attributeToElement({model:o.id,view:(a,{writer:r,schema:c},{item:u})=>{if((u.is("selection")||c.isInline(u))&&a){const h=r.createAttributeElement("a",o.attributes,{priority:5});o.classes&&r.addClass(o.classes,h);for(const d in o.styles)r.setStyle(d,o.styles[d],h);return r.setCustomProperty("link",!0,h),h}}}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...o._createPattern()},model:{key:o.id}})})}_enableLinkOpen(){const e=this.editor,i=e.editing.view.document,s=n=>{this._linkOpeners.some(o=>o(n))||Ge(n)};this.listenTo(i,"click",(n,o)=>{if(!(we.isMac?o.domEvent.metaKey:o.domEvent.ctrlKey))return;let r=o.domTarget;if(r.tagName.toLowerCase()!="a"&&(r=r.closest("a")),!r)return;const c=r.getAttribute("href");c&&(n.stop(),o.preventDefault(),s(c))},{context:"$capture"}),this.listenTo(i,"keydown",(n,o)=>{const r=e.commands.get("link").value;r&&o.keyCode===be.enter&&o.altKey&&(n.stop(),s(r))})}_enableSelectionAttributesFixer(){const t=this.editor.model,i=t.document.selection;this.listenTo(i,"change:attribute",(s,{attributeKeys:n})=>{!n.includes("linkHref")||i.hasAttribute("linkHref")||t.change(o=>{tt(o,it(t.schema))})})}_enableClipboardIntegration(){const e=this.editor,t=e.model,i=this.editor.config.get("link.defaultProtocol");i&&this.listenTo(e.plugins.get("ClipboardPipeline"),"contentInsertion",(s,n)=>{t.change(o=>{const a=o.createRangeIn(n.content);for(const r of a.getItems())if(r.hasAttribute("linkHref")){const c=O(r.getAttribute("linkHref"),i);o.setAttribute("linkHref",c,r)}})})}}function tt(l,e){l.removeSelectionAttribute("linkHref");for(const t of e)l.removeSelectionAttribute(t)}function it(l){return l.getDefinition("$text").allowAttributes.filter(t=>t.startsWith("link"))}class st extends w{constructor(e){super(e);const t=this.bindTemplate;this.set({href:void 0,withText:!0}),this.extendTemplate({attributes:{class:["ck-link-toolbar__preview"],href:t.to("href"),target:"_blank",rel:"noopener noreferrer"},on:{click:t.to(i=>{if(this.href){const s=()=>i.preventDefault();this.fire("navigate",this.href,s)}})}}),this.template.tag="a"}}class nt extends L{focusTracker=new x;keystrokes=new S;backButtonView;saveButtonView;displayedTextInputView;urlInputView;children;providersListChildren;_validators;_focusables=new F;_focusCycler;constructor(e,t){super(e),this._validators=t,this.backButtonView=this._createBackButton(),this.saveButtonView=this._createSaveButton(),this.displayedTextInputView=this._createDisplayedTextInput(),this.urlInputView=this._createUrlInput(),this.providersListChildren=this.createCollection(),this.children=this.createCollection([this._createHeaderView()]),this._createFormChildren(),this.listenTo(this.providersListChildren,"add",()=>{this.stopListening(this.providersListChildren,"add"),this.children.add(this._createProvidersListView())}),this._focusCycler=new H({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-link-form","ck-responsive-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Se({view:this}),[this.urlInputView,this.saveButtonView,...this.providersListChildren,this.backButtonView,this.displayedTextInputView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}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}_createBackButton(){const e=this.locale.t,t=new w(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:B,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createSaveButton(){const e=this.locale.t,t=new w(this.locale);return t.set({label:e("Insert"),tooltip:!1,withText:!0,type:"submit",class:"ck-button-action ck-button-bold"}),t}_createHeaderView(){const e=this.locale.t,t=new U(this.locale,{label:e("Link")});return t.children.add(this.backButtonView,0),t}_createProvidersListView(){const e=new R(this.locale);return e.extendTemplate({attributes:{class:["ck-link-form__providers-list"]}}),e.items.bindTo(this.providersListChildren).using(t=>{const i=new D(this.locale);return i.children.add(t),i}),e}_createDisplayedTextInput(){const e=this.locale.t,t=new X(this.locale,j);return t.label=e("Displayed text"),t.class="ck-labeled-field-view_full-width",t}_createUrlInput(){const e=this.locale.t,t=new X(this.locale,j);return t.fieldView.inputMode="url",t.label=e("Link URL"),t.class="ck-labeled-field-view_full-width",t}_createFormChildren(){this.children.add(new J(this.locale,{children:[this.displayedTextInputView],class:["ck-form__row_large-top-padding"]})),this.children.add(new J(this.locale,{children:[this.urlInputView,this.saveButtonView],class:["ck-form__row_with-submit","ck-form__row_large-top-padding","ck-form__row_large-bottom-padding"]}))}get url(){const{element:e}=this.urlInputView.fieldView;return e?e.value.trim():null}}class ot extends L{focusTracker=new x;keystrokes=new S;backButtonView;listView;listChildren;emptyListInformation;children;_focusables=new F;_focusCycler;constructor(e){super(e),this.listChildren=this.createCollection(),this.backButtonView=this._createBackButton(),this.listView=this._createListView(),this.emptyListInformation=this._createEmptyLinksListItemView(),this.children=this.createCollection([this._createHeaderView(),this.emptyListInformation]),this.set("title",""),this.set("emptyListPlaceholder",""),this.set("hasItems",!1),this.listenTo(this.listChildren,"change",()=>{this.hasItems=this.listChildren.length>0}),this.on("change:hasItems",(t,i,s)=>{s?(this.children.remove(this.emptyListInformation),this.children.add(this.listView)):(this.children.remove(this.listView),this.children.add(this.emptyListInformation))}),this.keystrokes.set("Esc",(t,i)=>{this.fire("cancel"),i()}),this._focusCycler=new H({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-providers"],tabindex:"-1"},children:this.children})}render(){super.render(),[this.listView,this.backButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createListView(){const e=new R(this.locale);return e.extendTemplate({attributes:{class:["ck-link-providers__list"]}}),e.items.bindTo(this.listChildren).using(t=>{const i=new D(this.locale);return i.children.add(t),i}),e}_createBackButton(){const e=this.locale.t,t=new w(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:B,tooltip:!0}),t.delegate("execute").to(this,"cancel"),t}_createHeaderView(){const e=new U(this.locale);return e.bind("label").to(this,"title"),e.children.add(this.backButtonView,0),e}_createEmptyLinksListItemView(){const e=new L(this.locale);return e.setTemplate({tag:"p",attributes:{class:["ck","ck-link__empty-list-info"]},children:[{text:this.bindTemplate.to("emptyListPlaceholder")}]}),e}}class rt extends L{focusTracker=new x;keystrokes=new S;backButtonView;children;listChildren;_focusables=new F;_focusCycler;constructor(e){super(e),this.backButtonView=this._createBackButton(),this.listChildren=this.createCollection(),this.children=this.createCollection([this._createHeaderView(),this._createListView()]),this._focusCycler=new H({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-properties"],tabindex:"-1"},children:this.children}),this.keystrokes.set("Esc",(t,i)=>{this.fire("back"),i()})}render(){super.render(),[...this.listChildren,this.backButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBackButton(){const e=this.locale.t,t=new w(this.locale);return t.set({class:"ck-button-back",label:e("Back"),icon:B,tooltip:!0}),t.delegate("execute").to(this,"back"),t}_createHeaderView(){const e=this.locale.t,t=new U(this.locale,{label:e("Link properties")});return t.children.add(this.backButtonView,0),t}_createListView(){const e=new R(this.locale);return e.extendTemplate({attributes:{class:["ck-link__list"]}}),e.items.bindTo(this.listChildren).using(t=>{const i=new D(this.locale);return i.children.add(t),i}),e}}class lt extends w{arrowView;constructor(e){super(e),this.set({withText:!0}),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{class:["ck-link__button"]}})}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new xe;return e.content=Te,e}}const b="link-ui";class re extends p{toolbarView=null;formView=null;linkProviderItemsView=null;propertiesView=null;_balloon;_linksProviders=new te;static get requires(){return[G,_]}static get pluginName(){return"LinkUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=this.editor.t;this.set("selectedLinkableText",void 0),e.editing.view.addObserver(Ve),this._balloon=e.plugins.get(G),this._registerComponents(),this._registerEditingOpeners(),this._enableBalloonActivators(),e.conversion.for("editingDowncast").markerToHighlight({model:b,view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:b,view:(i,{writer:s})=>{if(!i.markerRange.isCollapsed)return null;const n=s.createUIElement("span");return s.addClass(["ck-fake-link-selection","ck-fake-link-selection_collapsed"],n),n}}),e.accessibility.addKeystrokeInfos({keystrokes:[{label:t("Create link"),keystroke:v},{label:t("Move out of a link"),keystroke:[["arrowleft","arrowleft"],["arrowright","arrowright"]]}]})}destroy(){super.destroy(),this.propertiesView&&this.propertiesView.destroy(),this.formView&&this.formView.destroy(),this.toolbarView&&this.toolbarView.destroy(),this.linkProviderItemsView&&this.linkProviderItemsView.destroy()}registerLinksListProvider(e){const t=this._linksProviders.filter(i=>(i.order||0)<=(e.order||0)).length;this._linksProviders.add(e,t)}_createViews(){const e=this.editor.commands.get("link");this.toolbarView=this._createToolbarView(),this.formView=this._createFormView(),e.manualDecorators.length&&(this.propertiesView=this._createPropertiesView()),this._enableUserBalloonInteractions()}_createToolbarView(){const e=this.editor,t=new Pe(e.locale),i=e.commands.get("link");t.class="ck-link-toolbar";let s=e.config.get("link.toolbar");return i.manualDecorators.length||(s=s.filter(n=>n!=="linkProperties")),t.fillFromConfig(s,e.ui.componentFactory),t.keystrokes.set("Esc",(n,o)=>{this._hideUI(),o()}),t.keystrokes.set(v,(n,o)=>{this._addFormView(),o()}),e.ui.addToolbar(t,{isContextual:!0,beforeFocus:()=>{this._getSelectedLinkElement()&&!this._isToolbarVisible&&this._showUI(!0)},afterBlur:()=>{this._hideUI(!1)}}),t}_createFormView(){const e=this.editor,t=e.locale.t,i=e.commands.get("link"),s=e.config.get("link.defaultProtocol"),n=new(W(nt))(e.locale,at(e));return n.displayedTextInputView.bind("isEnabled").to(this,"selectedLinkableText",o=>o!==void 0),n.urlInputView.bind("isEnabled").to(i,"isEnabled"),n.saveButtonView.bind("isEnabled").to(i,"isEnabled"),n.saveButtonView.bind("label").to(i,"value",o=>t(o?"Update":"Insert")),this.listenTo(n,"submit",()=>{if(n.isValid()){const o=n.urlInputView.fieldView.element.value,a=O(o,s),r=n.displayedTextInputView.fieldView.element.value;e.execute("link",a,this._getDecoratorSwitchesState(),r!==this.selectedLinkableText?r:void 0),this._closeFormView()}}),this.listenTo(n.urlInputView,"change:errorText",()=>{e.ui.update()}),this.listenTo(n,"cancel",()=>{this._closeFormView()}),n.keystrokes.set("Esc",(o,a)=>{this._closeFormView(),a()}),n.providersListChildren.bindTo(this._linksProviders).using(o=>this._createLinksListProviderButton(o)),n}_createLinkProviderListView(e){return e.getListItems().map(({href:t,label:i,icon:s})=>{const n=new w;return n.set({label:i,icon:s,tooltip:!1,withText:!0}),n.on("execute",()=>{this.formView.resetFormStatus(),this.formView.urlInputView.fieldView.value=t,this.editor.editing.view.focus(),this._removeLinksProviderView(),this.formView.focus()}),n})}_createLinkProviderItemsView(e){const t=this.editor,i=t.locale.t,s=new ot(t.locale),{emptyListPlaceholder:n,label:o}=e;return s.emptyListPlaceholder=n||i("No links available"),s.title=o,this.listenTo(s,"cancel",()=>{t.editing.view.focus(),this._removeLinksProviderView(),this.formView.focus()}),s}_createPropertiesView(){const e=this.editor,t=this.editor.commands.get("link"),i=new(W(rt))(e.locale);return this.listenTo(i,"back",()=>{e.editing.view.focus(),this._removePropertiesView()}),i.listChildren.bindTo(t.manualDecorators).using(s=>{const n=new Ee(e.locale);return n.set({label:s.label,withText:!0}),n.bind("isOn").toMany([s,t],"value",(o,a)=>a===void 0&&o===void 0?!!s.defaultValue:!!o),n.on("execute",()=>{s.set("value",!n.isOn),e.execute("link",t.value,this._getDecoratorSwitchesState())}),n}),i}_getDecoratorSwitchesState(){const e=this.editor.commands.get("link");return Array.from(e.manualDecorators).reduce((t,i)=>{const s=e.value===void 0&&i.value===void 0?i.defaultValue:i.value;return{...t,[i.id]:!!s}},{})}_registerEditingOpeners(){this.editor.plugins.get(_)._registerLinkOpener(t=>{const i=this._getLinkProviderLinkByHref(t);if(!i)return!1;const{item:s,provider:n}=i;return n.navigate?n.navigate(s):!1})}_registerComponents(){const e=this.editor;e.ui.componentFactory.add("link",()=>{const t=this._createButton(w);return t.set({tooltip:!0}),t}),e.ui.componentFactory.add("menuBar:link",()=>{const t=this._createButton(Ce);return t.set({role:"menuitemcheckbox"}),t}),e.ui.componentFactory.add("linkPreview",t=>{const i=new st(t),s=e.config.get("link.allowedProtocols"),n=e.commands.get("link"),o=t.t;i.bind("isEnabled").to(n,"value",r=>!!r),i.bind("href").to(n,"value",r=>r&&ne(r,s));const a=r=>{if(!r){i.label=void 0,i.icon=void 0,i.tooltip=o("Open link in new tab");return}const c=this._getLinkProviderLinkByHref(r);if(c){const{label:u,tooltip:h,icon:d}=c.item;i.label=u,i.tooltip=h||!1,i.icon=d}else i.label=r,i.icon=void 0,i.tooltip=o("Open link in new tab")};return a(n.value),this.listenTo(n,"change:value",(r,c,u)=>{a(u)}),this.listenTo(i,"navigate",(r,c,u)=>{const h=this._getLinkProviderLinkByHref(c);if(!h)return;const{provider:d,item:m}=h,{navigate:k}=d;k&&k(m)&&(r.stop(),u())}),i}),e.ui.componentFactory.add("unlink",t=>{const i=e.commands.get("unlink"),s=new w(t),n=t.t;return s.set({label:n("Unlink"),icon:Le,tooltip:!0}),s.bind("isEnabled").to(i),this.listenTo(s,"execute",()=>{e.execute("unlink"),this._hideUI()}),s}),e.ui.componentFactory.add("editLink",t=>{const i=e.commands.get("link"),s=new w(t),n=t.t;return s.set({label:n("Edit link"),icon:Ie,tooltip:!0}),s.bind("isEnabled").to(i),this.listenTo(s,"execute",()=>{this._addFormView()}),s}),e.ui.componentFactory.add("linkProperties",t=>{const i=e.commands.get("link"),s=new w(t),n=t.t;return s.set({label:n("Link properties"),icon:ye,tooltip:!0}),s.bind("isEnabled").to(i,"isEnabled",i,"value",i,"manualDecorators",(o,a,r)=>o&&!!a&&r.length>0),this.listenTo(s,"execute",()=>{this._addPropertiesView()}),s})}_createLinksListProviderButton(e){const t=this.editor.locale,i=new lt(t);return i.set({label:e.label}),this.listenTo(i,"execute",()=>{this._showLinksProviderView(e)}),i}_createButton(e){const t=this.editor,i=t.locale,s=t.commands.get("link"),n=new e(t.locale),o=i.t;return n.set({label:o("Link"),icon:se,keystroke:v,isToggleable:!0}),n.bind("isEnabled").to(s,"isEnabled"),n.bind("isOn").to(s,"value",a=>!!a),this.listenTo(n,"execute",()=>{t.editing.view.scrollToTheSelection(),this._showUI(!0),this._getSelectedLinkElement()&&this._addFormView()}),n}_enableBalloonActivators(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),e.keystrokes.set(v,(i,s)=>{s(),e.commands.get("link").isEnabled&&(e.editing.view.scrollToTheSelection(),this._showUI(!0))})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(e,t)=>{this._isToolbarVisible&&!this.toolbarView.focusTracker.isFocused&&(this.toolbarView.focus(),t())},{priority:"high"}),this.editor.keystrokes.set("Esc",(e,t)=>{this._isUIVisible&&(this._hideUI(),t())}),Ae({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>{this._hideUI(!1)}})}_addToolbarView(){this.toolbarView||this._createViews(),!this._isToolbarInPanel&&this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this.formView.resetFormStatus(),this.formView.backButtonView.isVisible=e.isEnabled&&!!e.value,this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.selectedLinkableText=this._getSelectedLinkableText(),this.formView.displayedTextInputView.fieldView.value=this.selectedLinkableText||"",this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_addPropertiesView(){this.propertiesView||this._createViews(),!this._arePropertiesInPanel&&(this.propertiesView.disableCssTransitions(),this._balloon.add({view:this.propertiesView,position:this._getBalloonPositionData()}),this.propertiesView.enableCssTransitions(),this.propertiesView.focus())}_showLinksProviderView(e){this.linkProviderItemsView&&this._removeLinksProviderView(),this.linkProviderItemsView=this._createLinkProviderItemsView(e),this._addLinkProviderItemsView(e)}_addLinkProviderItemsView(e){this.linkProviderItemsView.listChildren.clear(),this.linkProviderItemsView.listChildren.addMany(this._createLinkProviderListView(e)),this._balloon.add({view:this.linkProviderItemsView,position:this._getBalloonPositionData()}),this.linkProviderItemsView.focus()}_closeFormView(){const e=this.editor.commands.get("link");this.selectedLinkableText=void 0,e.value!==void 0?this._removeFormView():this._hideUI()}_removePropertiesView(){this._arePropertiesInPanel&&this._balloon.remove(this.propertiesView)}_removeLinksProviderView(){this._isLinksListInPanel&&this._balloon.remove(this.linkProviderItemsView)}_removeFormView(e=!0){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.displayedTextInputView.fieldView.reset(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),e&&this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._isToolbarVisible?this._addFormView():this._addToolbarView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addToolbarView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(e=!0){const t=this.editor;this._isUIInPanel&&(this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e&&t.editing.view.focus(),this._removeLinksProviderView(),this._removePropertiesView(),this._removeFormView(e),this._isToolbarInPanel&&this._balloon.remove(this.toolbarView),this._hideFakeVisualSelection())}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let i=this._getSelectedLinkElement(),s=o();const n=()=>{const a=this._getSelectedLinkElement(),r=o();i&&!a||!i&&r!==s?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),i=a,s=r};function o(){return t.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(e.ui,"update",n),this.listenTo(this._balloon,"change:visibleView",n)}get _arePropertiesInPanel(){return!!this.propertiesView&&this._balloon.hasView(this.propertiesView)}get _isLinksListInPanel(){return!!this.linkProviderItemsView&&this._balloon.hasView(this.linkProviderItemsView)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _isToolbarInPanel(){return!!this.toolbarView&&this._balloon.hasView(this.toolbarView)}get _isPropertiesVisible(){return!!this.propertiesView&&this._balloon.visibleView===this.propertiesView}get _isFormVisible(){return!!this.formView&&this._balloon.visibleView==this.formView}get _isToolbarVisible(){return!!this.toolbarView&&this._balloon.visibleView===this.toolbarView}get _isUIInPanel(){return this._arePropertiesInPanel||this._isLinksListInPanel||this._isFormInPanel||this._isToolbarInPanel}get _isUIVisible(){return this._isPropertiesVisible||this._isLinksListInPanel||this._isFormVisible||this._isToolbarVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=e.document;if(this.editor.model.markers.has(b)){const s=this.editor.editing.mapper.markerNameToElements(b);if(s){const n=Array.from(s),o=e.createRange(e.createPositionBefore(n[0]),e.createPositionAfter(n[n.length-1]));return{target:e.domConverter.viewRangeToDom(o)}}}return{target:()=>{const s=this._getSelectedLinkElement();return s?e.domConverter.mapViewToDom(s):e.domConverter.viewRangeToDom(t.selection.getFirstRange())}}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,i=t.getSelectedElement();if(t.isCollapsed||i&&Be(i))return T(t.getFirstPosition());{const s=t.getFirstRange().getTrimmed(),n=T(s.start),o=T(s.end);return!n||n!=o?null:e.createRangeIn(n).getTrimmed().isEqual(s)?n:null}}_getSelectedLinkableText(){const e=this.editor.model,t=this.editor.editing,i=this._getSelectedLinkElement();if(!i)return E(e.document.selection.getFirstRange());const s=t.view.createRangeOn(i),n=t.mapper.toModelRange(s);return E(n)}_getLinkProviderLinkByHref(e){if(!e)return null;for(const t of this._linksProviders){const i=t.getItem?t.getItem(e):t.getListItems().find(s=>s.href===e);if(i)return{provider:t,item:i}}return null}_showFakeVisualSelection(){const e=this.editor.model;e.change(t=>{const i=e.document.selection.getFirstRange();if(e.markers.has(b))t.updateMarker(b,{range:i});else if(i.start.isAtEnd){const s=i.start.getLastMatchingPosition(({item:n})=>!e.schema.isContent(n),{boundaries:i});t.addMarker(b,{usingOperation:!1,affectsData:!1,range:t.createRange(s,i.end)})}else t.addMarker(b,{usingOperation:!1,affectsData:!1,range:i})})}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(b)&&e.change(t=>{t.removeMarker(b)})}}function T(l){return l.getAncestors().find(e=>Ne(e))||null}function at(l){const e=l.t,t=l.config.get("link.allowCreatingEmptyLinks");return[i=>{if(!t&&!i.url.length)return e("Link URL must not be empty.")}]}const ct=4,le=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63}))|localhost)(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i"),dt=2;class ut extends p{static get requires(){return[ue,_]}static get pluginName(){return"AutoLink"}static get isOfficialPlugin(){return!0}init(){const t=this.editor.model.document.selection;t.on("change:range",()=>{this.isEnabled=!t.anchor.parent.is("element","codeBlock")}),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling(),this._enablePasteLinking()}_expandLinkRange(e,t){return t.textNode&&t.textNode.hasAttribute("linkHref")?C(t,"linkHref",t.textNode.getAttribute("linkHref"),e):null}_selectEntireLinks(e,t){const s=this.editor.model,n=s.document.selection,o=n.getFirstPosition(),a=n.getLastPosition();let r=t.getJoined(this._expandLinkRange(s,o)||t);r&&(r=r.getJoined(this._expandLinkRange(s,a)||t)),r&&(r.start.isBefore(o)||r.end.isAfter(a))&&e.setSelection(r)}_enablePasteLinking(){const e=this.editor,t=e.model,i=t.document.selection,s=e.plugins.get("ClipboardPipeline"),n=e.commands.get("link");s.on("inputTransformation",(o,a)=>{if(!this.isEnabled||!n.isEnabled||i.isCollapsed||a.method!=="paste"||i.rangeCount>1)return;const r=i.getFirstRange(),c=a.dataTransfer.getData("text/plain");if(!c)return;const u=c.match(le);u&&u[2]===c&&(t.change(h=>{this._selectEntireLinks(h,r),n.execute(c)}),o.stop())},{priority:"high"})}_enableTypingHandling(){const e=this.editor,t=new he(e.model,i=>{let s=i;if(!ht(s))return;s=s.slice(0,-1),"!.:,;?".includes(s[s.length-1])&&(s=s.slice(0,-1));const n=Z(s);if(n)return{url:n,removedTrailingCharacters:i.length-s.length}});t.on("matched:data",(i,s)=>{const{batch:n,range:o,url:a,removedTrailingCharacters:r}=s;if(!n.isTyping)return;const c=o.end.getShiftedBy(-r),u=c.getShiftedBy(-a.length),h=e.model.createRange(u,c);this._applyAutoLink(a,h)}),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("enter");i&&i.on("execute",()=>{const s=t.document.selection.getFirstPosition();let n;s.parent.previousSibling?.is("element")?n=t.createRangeIn(s.parent.previousSibling):n=t.createRange(t.createPositionAt(s.parent,0),s),this._checkAndApplyAutoLinkOnRange(n)})}_enableShiftEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("shiftEnter");i&&i.on("execute",()=>{const s=t.document.selection.getFirstPosition(),n=t.createRange(t.createPositionAt(s.parent,0),s.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)})}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:i,range:s}=me(e,t),n=Z(i);if(n){const o=t.createRange(s.end.getShiftedBy(-n.length),s.end);this._applyAutoLink(n,o)}}_applyAutoLink(e,t){const i=this.editor.model,s=this.editor.config.get("link.defaultProtocol"),n=O(e,s);!this.isEnabled||!mt(t,i)||!oe(n)||ft(t)||this._persistAutoLink(n,t)}_persistAutoLink(e,t){const i=this.editor.model,s=this.editor.plugins.get("Delete");i.enqueueChange(n=>{n.setAttribute("linkHref",e,t),i.enqueueChange(()=>{s.requestUndoOnBackspace()})})}}function ht(l){return l.length>ct&&l[l.length-1]===" "&&l[l.length-2]!==" "}function Z(l){const e=le.exec(l);return e?e[dt]:null}function mt(l,e){return e.schema.checkAttributeInSelection(e.createSelection(l),"linkHref")}function ft(l){const e=l.start.nodeAfter;return!!e&&e.hasAttribute("linkHref")}class xt extends p{static get requires(){return[_,re,ut]}static get pluginName(){return"Link"}static get isOfficialPlugin(){return!0}}class kt extends p{static get requires(){return["ImageEditing","ImageUtils",_]}static get pluginName(){return"LinkImageEditing"}static get isOfficialPlugin(){return!0}afterInit(){const e=this.editor,t=e.model.schema;e.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add(gt(e)),e.conversion.for("downcast").add(wt(e)),this._enableAutomaticDecorators(),this._enableManualDecorators()}_enableAutomaticDecorators(){const e=this.editor,i=e.commands.get("link").automaticDecorators;i.length&&e.conversion.for("downcast").add(i.getDispatcherForLinkedImage())}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:i.id}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:i.id}),e.conversion.for("downcast").add(bt(i)),e.conversion.for("upcast").add(pt(e,i))}}function gt(l){const e=l.plugins.has("ImageInlineEditing"),t=l.plugins.get("ImageUtils");return i=>{i.on("element:a",(s,n,o)=>{const a=n.viewItem,r=t.findViewImgElement(a);if(!r)return;const c=r.findAncestor(m=>t.isBlockImageView(m));if(e&&!c)return;const u={attributes:["href"]};if(!o.consumable.consume(a,u))return;const h=a.getAttribute("href");if(!h)return;let d=n.modelCursor.parent;if(!d.is("element","imageBlock")){const m=o.convertItem(r,n.modelCursor);n.modelRange=m.modelRange,n.modelCursor=m.modelCursor,d=n.modelCursor.nodeBefore}d&&d.is("element","imageBlock")&&o.writer.setAttribute("linkHref",h,d)},{priority:"high"})}}function wt(l){const e=l.plugins.get("ImageUtils");return t=>{t.on("attribute:linkHref:imageBlock",(i,s,n)=>{if(!n.consumable.consume(s.item,i.name))return;const o=n.mapper.toViewElement(s.item),a=n.writer,r=Array.from(o.getChildren()).find(h=>h.is("element","a")),c=e.findViewImgElement(o),u=c.parent.is("element","picture")?c.parent:c;if(r)s.attributeNewValue?a.setAttribute("href",s.attributeNewValue,r):(a.move(a.createRangeOn(u),a.createPositionAt(o,0)),a.remove(r));else{const h=a.createContainerElement("a",{href:s.attributeNewValue});a.insert(a.createPositionAt(o,0),h),a.move(a.createRangeOn(u),a.createPositionAt(h,0))}},{priority:"high"})}}function bt(l){return e=>{e.on(`attribute:${l.id}:imageBlock`,(t,i,s)=>{const n=s.mapper.toViewElement(i.item),o=Array.from(n.getChildren()).find(a=>a.is("element","a"));if(o){if(l.value===void 0){for(const a in l.attributes)s.writer.removeAttribute(a,o);l.classes&&s.writer.removeClass(l.classes,o);for(const a in l.styles)s.writer.removeStyle(a,o);return}for(const[a,r]of A(l.attributes))s.writer.setAttribute(a,r,o);l.classes&&s.writer.addClass(l.classes,o);for(const a in l.styles)s.writer.setStyle(a,l.styles[a],o)}})}}function pt(l,e){const t=l.plugins.has("ImageInlineEditing"),i=l.plugins.get("ImageUtils");return s=>{s.on("element:a",(n,o,a)=>{const r=o.viewItem,c=i.findViewImgElement(r);if(!c)return;const u=c.findAncestor(k=>i.isBlockImageView(k));if(t&&!u)return;const d=new ve(e._createPattern()).match(r);if(!d||!a.consumable.consume(r,d.match))return;const m=o.modelCursor.nodeBefore||o.modelCursor.parent;a.writer.setAttribute(e.id,!0,m)},{priority:"high"})}}class _t extends p{static get requires(){return[_,re,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",(i,s)=>{this._isSelectedLinkedImage(e.model.document.selection)&&(s.preventDefault(),i.stop())},{priority:"high"}),this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("linkImage",i=>{const s=new w(i),n=e.plugins.get("LinkUI"),o=e.commands.get("link");return s.set({isEnabled:!0,label:t("Link image"),icon:se,keystroke:v,tooltip:!0,isToggleable:!0}),s.bind("isEnabled").to(o,"isEnabled"),s.bind("isOn").to(o,"value",a=>!!a),this.listenTo(s,"execute",()=>{this._isSelectedLinkedImage(e.model.document.selection)?n._addToolbarView():n._showUI(!0)}),s})}_isSelectedLinkedImage(e){const t=e.getSelectedElement();return this.editor.plugins.get("ImageUtils").isImage(t)&&t.hasAttribute("linkHref")}}class St extends p{static get requires(){return[kt,_t]}static get pluginName(){return"LinkImage"}static get isOfficialPlugin(){return!0}}export{ut as AutoLink,He as AutomaticLinkDecorators,xt as Link,We as LinkCommand,_ as LinkEditing,nt as LinkFormView,St as LinkImage,kt as LinkImageEditing,_t as LinkImageUI,Ye as LinkManualDecorator,rt as LinkPropertiesView,ot as LinkProviderItemsView,re as LinkUI,Je as UnlinkCommand,v as _LINK_KEYSTROKE,lt as _LinkButtonView,st as _LinkPreviewButtonView,Y as _createLinkElement,ne as _ensureSafeLinkUrl,E as _extractTextFromLinkRange,ze as _getLocalizedLinkDecorators,oe as _hasLinkProtocol,$e as _isEmailLink,Ke as _normalizeLinkDecorators,Ge as _openLink,O as addLinkProtocolIfApplicable,ne as ensureSafeUrl,Ne as isLinkElement,P as isLinkableElement};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{Plugin as g,Command as _}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{Delete as Rt}from"../../../../../@ckeditor_ckeditor5-typing@46.1.1/node_modules/@ckeditor/ckeditor5-typing/dist/index.js";import{Enter as Mt}from"../../../../../@ckeditor_ckeditor5-enter@46.1.1/node_modules/@ckeditor/ckeditor5-enter/dist/index.js";import{CKEditorError as Dt,getCode as zt,toArray as T,first as D,parseKeystroke as $t,getLocalizedArrowKeyCodeDirection as Ut,env as G,uid as jt,FocusTracker as et,KeystrokeHandler as it,global as Wt}from"../../../../../@ckeditor_ckeditor5-utils@46.1.1/node_modules/@ckeditor/ckeditor5-utils/dist/index.js";import{_normalizeFontSizeOptions as st}from"../../../../../@ckeditor_ckeditor5-font@46.1.1/node_modules/@ckeditor/ckeditor5-font/dist/index.js";import{ClipboardPipeline as qt}from"../../../../../@ckeditor_ckeditor5-clipboard@46.1.1/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@46.1.1/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@46.1.1/node_modules/@ckeditor/ckeditor5-icons/dist/index.js";import{DomEventObserver as pe,Matcher as kt}from"../../../../../@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";/**
|
|
2
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/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=T(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 P(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 P{_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 P(this._listHead)}}class C{static next(){return jt()}}function p(n){return!!n&&n.is("element")&&n.hasAttribute("listItemId")}function w(n,t={}){return[...S(n,{...t,direction:"backward"}),...S(n,{...t,direction:"forward"})]}function S(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 A(n){return!y.first(n,{sameIndent:!0,sameAttributes:"listItemId"})}function rt(n){return!y.first(n,{direction:"forward",sameIndent:!0,sameAttributes:"listItemId"})}function V(n,t={}){n=T(n);const e=t.withNested!==!1,i=new Set;for(const s of n)for(const r of w(s,{higherIndent:e}))i.add(r);return v(i)}function z(n){n=T(n);const t=new Set;for(const e of n)for(const i of At(e))t.add(i);return v(t)}function X(n,t){const e=S(n,{direction:"forward"}),i=C.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=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=T(n);const s=e?V(n):n;for(const r of s){const o=r.getAttribute("listIndent")+i;o<0?$(r,t):t.setAttribute("listIndent",o,r)}return s}function be(n,t){n=T(n);const e=V(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){$(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 v(i)}function $(n,t){n=T(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 P(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 v(n){return Array.from(n).filter(t=>t.root.rootName!=="$graveyard").sort((t,e)=>t.index-e.index)}function F(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 S(t,{direction:"forward"}).pop().index>n.index?W(n,t,e):[]}class ot extends _{_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)&&!A(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",v(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)&&!A(t[0]))return!0;t=V(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 B extends _{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=F(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=S(a,{direction:"forward"}),u=[];c.length>1&&u.push(...X(c[1],l)),u.push(...$(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:C.next(),listType:this.type},c),a.push(c);else for(const u of V(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",v(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 _{_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 m=d.getLastPosition().parent,f=m.nextSibling;s.push(m),f&&f!==l&&f.getAttribute("listItemId")==u&&s.push(...W(f,m,r))}else s.push(...W(l,o,r));this._fireAfterExecute(s)})}_fireAfterExecute(t){this.fire("afterExecute",v(new Set(t)))}_checkEnabled(){const t=this.editor.model,e=t.document.selection,i=F(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=F(i);let r,o;if(t.isCollapsed||s){const l=s||t.getFirstPosition().parent,a=A(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 _{_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",v(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&p(e)&&!A(e)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class ke extends g{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 g{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 g{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 g{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 g{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 g{_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(A(t))return ut(n,t,e);const i=w(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=w(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=w(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 g{static get pluginName(){return"ListUtils"}static get isOfficialPlugin(){return!0}expandListBlocksToCompleteList(t){return z(t)}isFirstBlockOfListItem(t){return A(t)}isListItemBlock(t){return p(t)}expandListBlocksToCompleteItems(t,e={}){return V(t,e)}isNumberedListType(t){return M(t)}}/**
|
|
5
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
6
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
7
|
+
*/function Ee(n){return n.is("element","ol")||n.is("element","ul")}function K(n){return n.is("element","li")}function Fe(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 k(n,t,e){const i=n.nodeBefore;if(p(i)){let s=i;for(const{node:r}of new P(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=C.next()),t.add(l),r.is("element","listItem")){r.getAttribute("listItemId")!=l&&(e.setAttribute("listItemId",l,r),s=!0);continue}for(const a of S(r,{direction:"forward"}))i.add(a),a.getAttribute("listType")!=o&&(l=C.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")||C.next();e.consumable.consume(t.viewItem,{attributes:"data-list-item-id"});const l=Fe(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 l=n.document.differ.getChanges(),a=[],c=new Set,u=new Set,d=new Set;for(const m of l)if(m.type=="insert"&&m.name!="$text")k(m.position,c,d),m.attributes.has("listItemId")?u.add(m.position.nodeAfter):k(m.position.getShiftedBy(m.length),c,d);else if(m.type=="remove"&&m.attributes.has("listItemId"))k(m.position,c,d);else if(m.type=="attribute"){const f=m.range.start.nodeAfter;e.includes(m.attributeKey)?(k(m.range.start,c,d),m.attributeNewValue===null?(k(m.range.start.getShiftedBy(1),c,d),r(f)&&a.push(f)):u.add(f)):p(f)&&r(f)&&a.push(f)}for(const m of c.values())a.push(...s(m,u));for(const m of new Set(a))t.reconvertItem(m)};function s(l,a){const c=[],u=new Set,d=[];for(const{node:m,previous:f}of new P(l)){if(u.has(m))continue;const h=m.getAttribute("listIndent");f&&h<f.getAttribute("listIndent")&&(d.length=h+1),d[h]={modelAttributes:Object.fromEntries(Array.from(m.getAttributes()).filter(([I])=>e.includes(I))),modelElement:m};const L=S(m,{direction:"forward"});for(const I of L)u.add(I),(r(I,L)||o(I,d,a))&&c.push(I)}return c}function r(l,a){const c=t.mapper.toViewElement(l);if(!c)return!1;if(i.fire("checkElement",{modelElement:l,viewElement:c}))return!0;if(!l.is("element","paragraph")&&!l.is("element","listItem"))return!1;const d=St(l,e,a);return d&&c.is("element","p")?!0:!!(!d&&c.is("element","span"))}function o(l,a,c){if(c.has(l))return!1;const u=t.mapper.toViewElement(l);let d=a.length-1;for(let m=u.parent;!m.is("editableElement");m=m.parent){const f=K(m),h=Ee(m);if(!h&&!f)continue;const L=`checkAttributes:${f?"item":"list"}`;if(i.fire(L,{viewElement:m,modelAttributes:a[d].modelAttributes,modelReferenceElement:a[d].modelElement}))break;if(h&&(d--,d<0))return!1}return!0}}function dt(n,t,e,{dataPipeline:i}={}){const s=qe(n);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 m={...l.options,dataPipeline:i},f=ze(d,c,e);Tt(f,a,c),je(f,a);const h=Ue(d,f,t,a,m);We(d,h,t,a,m)}}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;/* istanbul ignore next -- @preserve */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 ze(n,t,e){const i=e.createRangeOn(n);return t.toViewRange(i).getTrimmed().end.nodeBefore}function $e(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(!A(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);if(t=i.wrap(t,a),t=i.wrap(t,c),l==0||(o=y.first(o,{lowerIndent:!0}),!o))break}}function qe(n){return(t,e)=>{const i=[];for(const s of n)t.hasAttribute(s)&&i.push(`attribute:${s}`);return i.every(s=>e.test(t,s)!==!1)?(i.forEach(s=>e.consume(t,s)),!0):!1}}function St(n,t,e=w(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 g{_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 B(t,"numbered")),t.commands.add("bulletedList",new B(t,"bulleted")),t.commands.add("customNumberedList",new B(t,"customNumbered",{multiLevel:!0})),t.commands.add("customBulletedList",new B(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;F(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=A(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;w(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=$e(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)&&$(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 m of Array.from(d.getAttributeKeys()))e.includes(m)&&(t.removeAttribute(m,d),a=!0);k(u.position,o,r),u.attributes.has("listItemId")||k(u.position.getShiftedBy(u.length),o,r);for(const{item:m,previousPosition:f}of n.createRangeIn(d))p(m)&&k(f,o,r)}else u.type=="remove"?k(u.position,o,r):u.type=="attribute"&&e.includes(u.attributeKey)&&(k(u.range.start,o,r),u.attributeNewValue===null&&k(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,m=Math.max(u-d,0);for(const f of s){const h=p(f);l.is("element","listItem")&&f.is("element","paragraph")&&a.rename(f,"listItem"),a.setAttributes({listIndent:(h?f.getAttribute("listIndent"):0)+m,listItemId:h?f.getAttribute("listItemId"):C.next(),listType:c},f)}})}}function ft(n,t){const e=n.document.selection;if(!e.isCollapsed)return!F(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 g{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 g{static get requires(){return[b,Ye]}static get pluginName(){return"List"}static get isOfficialPlugin(){return!0}}class Ge extends _{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=z(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}}/**
|
|
8
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
9
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
10
|
+
*/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 Et(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 _{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=z(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 _{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=z(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}}/**
|
|
11
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
12
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
13
|
+
*/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 g{static get pluginName(){return"ListPropertiesUtils"}static get isOfficialPlugin(){return!0}getAllSupportedStyleTypes(){return Bt()}getListTypeFromListStyleType(t){return tt(t)}getListStyleTypeFromTypeAttribute(t){return Et(t)}getTypeAttributeFromListStyleType(t){return Y(t)}}function Ft(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=T(n):(t.listTypes=n.listTypes?T(n.listTypes):t.listTypes,t.useAttribute=!!n.useAttribute,n.listStyleTypes&&(t.listStyleTypes=n.listStyleTypes)):t.listTypes=[]),t}const x="default";class ei extends g{static get requires(){return[b,Xe]}static get pluginName(){return"ListPropertiesEditing"}static get isOfficialPlugin(){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:m}=d;if(!d.appliesToListItem(c))continue;const f=u.getAttribute(m);c.getAttribute(m)!=f&&(a.setAttribute(m,f,c),o.return=!0)}})}}function ii(n){const t=[],e=Ft(n);if(n.styles){const i=e.styles.useAttribute;t.push({attributeName:"listStyle",defaultValue:x,viewConsumables:{styles:"list-style-type"},addCommand(s){let r=Bt();i&&(r=r.filter(o=>!!Y(o))),s.commands.add("listStyle",new Je(s,x,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==x?!0:tt(r)==s.getAttribute("listType")},setAttributeOnDowncast(s,r,o){if(r&&r!==x)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?Et(o):x}})}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 g{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=Ft(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"),m=Vt({editor:n,parentCommandName:i,listStyleCommand:d}),f=t.styles.listStyleTypes;let h=s;if(f){const I=f[a];I&&(h=s.filter(O=>I.includes(O.type)))}const L=Ot(d);c=h.filter(L).map(m)}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",(m,f)=>n.execute("listStart",f))}if(l.reversed){const d=n.commands.get("listReversed");u.reversedSwitchButtonView.bind("isEnabled").to(d),u.reversedSwitchButtonView.bind("isOn").to(d,"value",m=>!!m),u.on("listReversed",()=>{const m=d.value;n.execute("listReversed",{reversed:!m})})}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}),m=t.styles.listStyleTypes;let f=r;if(m){const I=a.type,O=m[I];O&&(f=r.filter(Nt=>O.includes(Nt.type)))}const h=f.filter(u).map(d),L=new Pt(o,{styleGridAriaLabel:s,enabledProperties:{...t,startIndex:!1,reversed:!1},styleButtonViews:h});return L.delegate("execute").to(l),l.buttonView.set({label:i,icon:e==="bulletedList"?J:Q}),l.panelView.children.add(L),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 g{static get requires(){return[ei,si]}static get pluginName(){return"ListProperties"}static get isOfficialPlugin(){return!0}}class ri extends _{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(...w(s));for(const o of i.getItems({shallow:!0}))e.checkAttribute(o,"todoListChecked")&&!r.includes(o)&&r.push(...w(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=$t("Ctrl+Enter");class ai extends g{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 B(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"&&A(a);let d=!1;const m=t.editing.view.createPositionBefore(c).getWalker({direction:"backward"});for(const{item:f}of m){if(f.is("element")&&t.editing.mapper.toModelElement(f))break;f.is("element","input")&&f.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 m=d.hasAttribute("todoListChecked"),f=u.hasAttribute("todoListChecked");f&&!m?(c.removeAttribute("todoListChecked",u),l.return=!0):!f&&m&&(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)=>{zt(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),m=i.mapper.toModelPosition(u).parent;m&&p(m)&&m.getAttribute("listType")=="todo"&&this._handleCheckmarkChange(m)}),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,m=c.is("element","span")&&c.getAttribute("contenteditable")=="false"&&It(c.parent);if(!u&&!d&&!m)return;const f=a.modelPosition.nodeAfter;f&&f.getAttribute("listType")=="todo"&&(a.modelPosition=e.createPositionAt(f,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,w(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"&&A(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 g{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 g{static get requires(){return[ai,pi]}static get pluginName(){return"TodoList"}static get isOfficialPlugin(){return!0}}export{ri as CheckTodoListCommand,Ti as List,B 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,P as _SiblingListBlocksIterator,oi as _TodoCheckboxChangeObserver,U as _canBecomeSimpleListItem,Pe as _createListElement,Ve as _createListItemElement,H as _createListUIComponents,$e as _createModelToViewListPositionMapper,V as _expandListBlocksToCompleteItems,z as _expandListBlocksToCompleteList,k as _findAndAddListHeadToMap,ze as _findMappedListItemViewElement,Oe as _fixListIndents,Ne as _fixListItemIds,w as _getAllListItemBlocks,Bt as _getAllSupportedListStyleTypes,Fe as _getListIndent,S as _getListItemBlocks,At as _getListItems,Et as _getListStyleTypeFromTypeAttribute,tt as _getListTypeFromListStyleType,he as _getNestedListBlocks,Ft as _getNormalizedListConfig,F as _getSelectedBlockObject,Y as _getTypeAttributeFromListStyleType,wt as _getViewElementIdForListType,Lt as _getViewElementNameForListType,q as _indentListBlocks,A as _isFirstBlockOfListItem,rt as _isLastBlockOfListItem,p as _isListItemBlock,K as _isListItemView,Ee 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,$ as _removeListAttributes,v as _sortListBlocks,X as _splitListItemBefore};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{Plugin as p}from"../../../../../@ckeditor_ckeditor5-core@46.1.1/node_modules/@ckeditor/ckeditor5-core/dist/index.js";import{HtmlDataProcessor as _}from"../../../../../@ckeditor_ckeditor5-engine@46.1.1/node_modules/@ckeditor/ckeditor5-engine/dist/index.js";import{ClipboardPipeline as T}from"../../../../../@ckeditor_ckeditor5-clipboard@46.1.1/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";/**
|
|
2
|
+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/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(`
|
|
5
|
+
</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=>{/* istanbul ignore next -- @preserve */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:()=>`
|
|
6
|
+
`},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(`
|
|
7
|
+
`);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};
|