@_sh/strapi-plugin-ckeditor 4.0.7 → 4.0.8
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/_chunks/index-DRXw5v8m.mjs +3619 -0
- package/dist/_chunks/index-DRXw5v8m.mjs.map +1 -0
- package/dist/_chunks/index-KGFP7cKp.js +3638 -0
- package/dist/_chunks/index-KGFP7cKp.js.map +1 -0
- package/dist/_chunks/index-u7MUhP8h.js +1154 -0
- package/dist/_chunks/index-u7MUhP8h.js.map +1 -0
- package/dist/_chunks/index-ytxXpB-r.mjs +1128 -0
- package/dist/_chunks/index-ytxXpB-r.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +29 -18
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +29 -18
- package/dist/server/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-ytxXpB-r.mjs","sources":["../../admin/src/utils/prefixFileUrlWithBackendUrl.js","../../admin/src/components/Input/components/MediaLib.jsx","../../admin/src/utils/localStorage.js","../../admin/src/components/Input/config/plugins.js","../../admin/src/components/Input/config/language.js","../../admin/src/components/Input/config/presets.js","../../admin/src/components/Input/theme/common.js","../../admin/src/components/Input/theme/light.js","../../admin/src/components/Input/theme/dark.js","../../admin/src/components/Input/theme/additional.js","../../admin/src/components/Input/theme/index.js","../../admin/src/components/Input/components/GlobalStyling.jsx","../../admin/src/components/Input/components/Editor.jsx","../../admin/src/components/Input/index.jsx"],"sourcesContent":["export const prefixFileUrlWithBackendUrl = (fileURL) => {\n return !!fileURL && fileURL.startsWith('/')\n ? `${window.strapi.backendURL}${fileURL}`\n : fileURL;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useStrapiApp } from '@strapi/strapi/admin';\n\nimport { prefixFileUrlWithBackendUrl } from '../../../utils/prefixFileUrlWithBackendUrl'\n\nexport const MediaLib = ({ isOpen = false, onToggle = () => {}, editor }) => {\n const components = useStrapiApp('MediaLib', ({ components }) => components);\n \n const MediaLibraryDialog = components['media-library'];\n\n const handleChangeAssets = (assets) => {\n let newValue = '';\n\n assets.map(({ name, url, alt, formats, mime, width, height }) => {\n if (mime.includes('image')) {\n if (formats && globalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE) {\n let set = '';\n let keys = Object.keys(formats).sort((a, b) => formats[a].width - formats[b].width);\n keys.map((k) => (set += prefixFileUrlWithBackendUrl(formats[k].url) +` ${formats[k].width}w,`));\n newValue = `<img src=\"${url}\" alt=\"${alt}\" width=\"${width}\" height=\"${height}\" srcset=\"${set}\" />`;\n } else {\n newValue = `<img src=\"${url}\" alt=\"${alt}\" width=\"${width}\" height=\"${height}\" />`;\n }\n } else if (mime.includes('video')) {\n newValue = `\n <video class=\"video\" controls width=\"500px\">\n <source src=\"${url}\" type=\"${mime}\" />\n </video>`;\n } else {\n newValue = `<a href=\"${url}\">${name || 'Open document'}</a>`;\n }\n });\n\n const viewFragment = editor.data.processor.toView(newValue);\n const modelFragment = editor.data.toModel(viewFragment);\n editor.model.insertContent(modelFragment);\n\n onToggle();\n };\n\n const handleSelectAssets = (files) => {\n const formattedFiles = files.map((f) => ({\n name: f.name,\n alt: f.alternativeText || f.name,\n url: prefixFileUrlWithBackendUrl(f.url),\n mime: f.mime,\n formats: f.formats,\n width: f.width,\n height: f.height,\n }));\n\n handleChangeAssets(formattedFiles);\n };\n\n if (!isOpen) {\n return null;\n }\n\n return (\n <MediaLibraryDialog\n onClose={onToggle}\n onSelectAssets={handleSelectAssets}\n />\n );\n};\n\nMediaLib.propTypes = {\n isOpen: PropTypes.bool,\n onToggle: PropTypes.func,\n};","const STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n PREFERED_LANGUAGE: 'strapi-admin-language',\n PROFILE_THEME: 'STRAPI_THEME',\n};\n\nexport const getStoredToken = () => {\n const token =\n localStorage.getItem(STORAGE_KEYS.TOKEN) ??\n sessionStorage.getItem(STORAGE_KEYS.TOKEN);\n\n if (typeof token === 'string') {\n return JSON.parse(token);\n }\n\n return null;\n};\n\nexport const getPreferedLanguage = () => {\n const language =\n localStorage\n .getItem(STORAGE_KEYS.PREFERED_LANGUAGE)\n ?.replace(/^\"|\"$/g, '') || 'en';\n return language;\n};\n\nexport const getProfileTheme = () => {\n const theme = localStorage.getItem(STORAGE_KEYS.PROFILE_THEME);\n return theme;\n};\n","import { getStoredToken } from '../../../utils/localStorage';\n\nexport const setPlugins = (config, toggleMediaLib) => {\n\n const token = getStoredToken();\n\n const presetPluginNames = config?.plugins\n ? [...config.plugins.map((p) => p.pluginName)]\n : [];\n\n if (presetPluginNames.includes('StrapiMediaLib')) {\n config.strapiMediaLib = { toggle: toggleMediaLib };\n }\n\n if (presetPluginNames.includes('StrapiUploadAdapter')) {\n config.strapiUploadAdapter = {\n uploadUrl: `${strapi.backendURL}/upload`,\n headers: { Authorization: 'Bearer ' + token },\n backendUrl: strapi.backendURL,\n responsive: globalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE,\n };\n }\n\n if (presetPluginNames.includes('WordCount')) {\n config.WordCountPlugin = true;\n }\n};\n","import { getPreferedLanguage } from '../../../utils/localStorage';\n\nconst translationImports = {\n af: () => import('ckeditor5/translations/af.js'),\n ar: () => import('ckeditor5/translations/ar.js'),\n ast: () => import('ckeditor5/translations/ast.js'),\n az: () => import('ckeditor5/translations/az.js'),\n bg: () => import('ckeditor5/translations/bg.js'),\n bn: () => import('ckeditor5/translations/bn.js'),\n bs: () => import('ckeditor5/translations/bs.js'),\n ca: () => import('ckeditor5/translations/ca.js'),\n cs: () => import('ckeditor5/translations/cs.js'),\n da: () => import('ckeditor5/translations/da.js'),\n 'de-ch': () => import('ckeditor5/translations/de-ch.js'),\n de: () => import('ckeditor5/translations/de.js'),\n el: () => import('ckeditor5/translations/el.js'),\n 'en-au': () => import('ckeditor5/translations/en-au.js'),\n 'en-gb': () => import('ckeditor5/translations/en-gb.js'),\n en: () => import('ckeditor5/translations/en.js'),\n eo: () => import('ckeditor5/translations/eo.js'),\n 'es-co': () => import('ckeditor5/translations/es-co.js'),\n es: () => import('ckeditor5/translations/es.js'),\n et: () => import('ckeditor5/translations/et.js'),\n eu: () => import('ckeditor5/translations/eu.js'),\n fa: () => import('ckeditor5/translations/fa.js'),\n fi: () => import('ckeditor5/translations/fi.js'),\n fr: () => import('ckeditor5/translations/fr.js'),\n gl: () => import('ckeditor5/translations/gl.js'),\n gu: () => import('ckeditor5/translations/gu.js'),\n he: () => import('ckeditor5/translations/he.js'),\n hi: () => import('ckeditor5/translations/hi.js'),\n hr: () => import('ckeditor5/translations/hr.js'),\n hu: () => import('ckeditor5/translations/hu.js'),\n hy: () => import('ckeditor5/translations/hy.js'),\n id: () => import('ckeditor5/translations/id.js'),\n it: () => import('ckeditor5/translations/it.js'),\n ja: () => import('ckeditor5/translations/ja.js'),\n jv: () => import('ckeditor5/translations/jv.js'),\n kk: () => import('ckeditor5/translations/kk.js'),\n km: () => import('ckeditor5/translations/km.js'),\n kn: () => import('ckeditor5/translations/kn.js'),\n ko: () => import('ckeditor5/translations/ko.js'),\n ku: () => import('ckeditor5/translations/ku.js'),\n lt: () => import('ckeditor5/translations/lt.js'),\n lv: () => import('ckeditor5/translations/lv.js'),\n ms: () => import('ckeditor5/translations/ms.js'),\n nb: () => import('ckeditor5/translations/nb.js'),\n ne: () => import('ckeditor5/translations/ne.js'),\n nl: () => import('ckeditor5/translations/nl.js'),\n no: () => import('ckeditor5/translations/no.js'),\n oc: () => import('ckeditor5/translations/oc.js'),\n pl: () => import('ckeditor5/translations/pl.js'),\n 'pt-br': () => import('ckeditor5/translations/pt-br.js'),\n pt: () => import('ckeditor5/translations/pt.js'),\n ro: () => import('ckeditor5/translations/ro.js'),\n ru: () => import('ckeditor5/translations/ru.js'),\n si: () => import('ckeditor5/translations/si.js'),\n sk: () => import('ckeditor5/translations/sk.js'),\n sl: () => import('ckeditor5/translations/sl.js'),\n sq: () => import('ckeditor5/translations/sq.js'),\n sr: () => import('ckeditor5/translations/sr.js'),\n 'sr-latn': () => import('ckeditor5/translations/sr-latn.js'),\n sv: () => import('ckeditor5/translations/sv.js'),\n th: () => import('ckeditor5/translations/th.js'),\n ti: () => import('ckeditor5/translations/ti.js'),\n tk: () => import('ckeditor5/translations/tk.js'),\n tr: () => import('ckeditor5/translations/tr.js'),\n tt: () => import('ckeditor5/translations/tt.js'),\n ug: () => import('ckeditor5/translations/ug.js'),\n uk: () => import('ckeditor5/translations/uk.js'),\n ur: () => import('ckeditor5/translations/ur.js'),\n uz: () => import('ckeditor5/translations/uz.js'),\n vi: () => import('ckeditor5/translations/vi.js'),\n 'zh-cn': () => import('ckeditor5/translations/zh-cn.js'),\n zh: () => import('ckeditor5/translations/zh.js'),\n};\n\nconst importLang = async (config, language) => {\n if (translationImports[language]) {\n const translations = await translationImports[language]();\n config.translations = translations.default;\n } else {\n console.error(`No translation found for language: ${language}`);\n }\n};\n\nconst detecti18n = () => {\n const urlSearchParams = new URLSearchParams(window.location.search);\n const params = Object.fromEntries(urlSearchParams.entries());\n const i18n = params['plugins[i18n][locale]'];\n return i18n && i18n.split('-')[0];\n};\n\nexport const setLanguage = async (config) => {\n const i18nLang = detecti18n();\n\n const preferedLanguage = getPreferedLanguage();\n\n const {\n ui = config.language && typeof config.language === 'string' ?\n config.language\n : preferedLanguage,\n textPartLanguage,\n ignorei18n,\n } = config.language || {};\n\n if (i18nLang && !ignorei18n) {\n config.language = {\n ui: ui,\n content: i18nLang,\n textPartLanguage: textPartLanguage,\n };\n }\n\n if (ui !== 'en') {\n await importLang(config, ui);\n }\n};\n","import basePresets from '../presets';\nimport { setPlugins } from './plugins';\nimport { setLanguage } from './language';\n\nexport const getConfiguredPreset = async (presetName, toggleMediaLib) => {\n const { presets: userPresets, dontMergePresets } =\n globalThis.SH_CKE_CONFIG || {};\n\n const preset = dontMergePresets\n ? userPresets[presetName]\n : basePresets[presetName];\n\n setPlugins(preset.editorConfig, toggleMediaLib);\n\n await setLanguage(preset.editorConfig);\n\n return preset;\n};\n","import { css } from 'styled-components';\n\nexport const common = css`\n .ck {\n --ck-color-image-caption-background: hsl(0, 0%, 97%);\n --ck-color-image-caption-text: hsl(0, 0%, 20%);\n --ck-color-mention-background: hsla(341, 100%, 30%, 0.1);\n --ck-color-mention-text: hsl(341, 100%, 30%);\n --ck-color-table-caption-background: hsl(0, 0%, 97%);\n --ck-color-table-caption-text: hsl(0, 0%, 20%);\n --ck-highlight-marker-blue: hsl(201, 97%, 72%);\n --ck-highlight-marker-green: hsl(120, 93%, 68%);\n --ck-highlight-marker-pink: hsl(345, 96%, 73%);\n --ck-highlight-marker-yellow: hsl(60, 97%, 73%);\n --ck-highlight-pen-green: hsl(112, 100%, 27%);\n --ck-highlight-pen-red: hsl(0, 85%, 49%);\n --ck-image-style-spacing: 1.5em;\n --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n --ck-todo-list-checkmark-size: 16px;\n font-size: 14px;\n }\n\n .ck.ck-sticky-panel .ck-sticky-panel__content_sticky {\n top: 64px !important;\n }\n .ck.ck-reset.ck-dropdown__panel.ck-dropdown__panel_sw.ck-dropdown__panel-visible {\n border-radius: 4px;\n }\n\n .ck-editor__main {\n --ck-font-face: 'Source Sans Pro', system-ui, Roboto, 'Helvetica Neue',\n 'Helvetica', Arial, sans-serif;\n\n color: var(--ck-color-editor-base-text);\n font-family: var(--ck-font-face);\n\n * {\n font: revert;\n margin: revert;\n }\n\n h1 {\n font-size: 2.3em;\n }\n\n h2 {\n font-size: 1.84em;\n }\n\n h3 {\n font-size: 1.48em;\n }\n\n h4 {\n font-size: 1.22em;\n }\n\n h5 {\n font-size: 1.06em;\n }\n\n h6 {\n font-size: 1em;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n line-height: 1.2em;\n padding-top: 0.8em;\n margin-bottom: 0.4em;\n }\n\n blockquote,\n ol,\n p,\n ul {\n font-size: 1em;\n line-height: 1.6em;\n padding-top: 0.2em;\n margin-bottom: var(--ck-spacing-large);\n }\n\n figcaption {\n background-color: var(--ck-color-image-caption-background);\n caption-side: bottom;\n color: var(--ck-color-image-caption-text);\n display: table-caption;\n font-size: 0.75em;\n outline-offset: -1px;\n padding: 0.6em;\n word-break: break-word;\n }\n\n a {\n text-decoration: none;\n color: #1b3af2;\n }\n\n a:hover {\n text-decoration: underline;\n }\n\n .table {\n margin: 0;\n }\n\n ul.todo-list {\n list-style: none;\n margin: revert;\n color: revert;\n font-family: revert;\n margin-left: 2rem;\n }\n\n ul,\n ol {\n list-style: initial;\n margin-left: 2rem;\n }\n\n ol {\n list-style: decimal;\n }\n\n sub {\n vertical-align: sub;\n }\n\n sup {\n vertical-align: super;\n }\n\n .ck.ck-content.ck-editor__editable {\n line-height: initial;\n min-height: 12.5rem;\n border-bottom-left-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n transition-property: border-color, box-shadow, max-height;\n transition-timing-function: ease-in-out;\n transition-duration: 0.5s;\n &.ck-focused:not(.ck-editor__nested-editable) {\n border: 1px solid var(--ck-color-base-border);\n /* border: var(--ck-focus-ring); */\n box-shadow: none;\n transition-property: border-color, box-shadow, max-height;\n transition-timing-function: ease-in-out;\n transition-duration: 0.5s;\n }\n }\n\n .ck-focused,\n .ck-blurred {\n overflow-y: auto;\n overflow-x: hidden;\n transition: max-height 0.5s ease-in-out, min-height 0.5s ease-in-out !important;\n ::-webkit-scrollbar {\n width: 7px;\n }\n ::-webkit-scrollbar-track {\n background: var(--ck-scroll-track-background);\n border: none;\n }\n ::-webkit-scrollbar-thumb {\n transition: background 2s;\n background: var(--ck-scroll-thumb-background);\n border: 1px solid var(--ck-scroll-thumb-border-color);\n }\n ::-webkit-scrollbar-thumb:hover {\n transition: background 2s;\n background: var(--ck-scroll-thumb-hover-background);\n }\n ::-webkit-scrollbar-thumb:active {\n background: var(--ck-scroll-thumb-active-background);\n }\n }\n }\n\n .ck .ck-source-editing-area textarea {\n color: var(--ck-color-text);\n background-color: var(--ck-color-base-background);\n border: 1px solid var(--ck-color-base-border) !important;\n box-shadow: none !important;\n }\n\n .ck .ck-block-toolbar-button {\n min-width: 0 !important;\n min-height: 0 !important;\n width: 20px !important;\n height: 25px !important;\n margin-left: -2px !important ;\n\n & svg {\n color: var(--ck-color-text) !important;\n position: absolute;\n width: 20px;\n height: 20px;\n }\n }\n\n .ck-word-count {\n margin-top: 0.3rem;\n display: flex;\n justify-content: end;\n gap: 0.3rem;\n font-size: 1rem;\n font-weight: 500;\n text-transform: lowercase;\n /* color: #b3b3c4; */\n }\n\n .ck[dir='rtl'] {\n .ck-block-toolbar-button {\n margin-left: 2px !important ;\n }\n & + div {\n justify-content: flex-start;\n & > .ck-word-count {\n & > div:first-child {\n order: 2;\n }\n & > div:last-child {\n order: 1;\n }\n }\n }\n }\n\n .ck.ck-editor__editable > .ck-placeholder::before {\n color: var(--ck-color-editor-base-text);\n opacity: 0.65;\n }\n`;\n","import { css } from 'styled-components';\n\nexport const light = css`\n :root {\n --ck-color-focus-outer-shadow: rgba(77, 115, 255, 0.2) !important;\n --ck-color-focus-disabled-shadow: #e4e3ff !important;\n --ck-focus-ring: 1px solid rgb(73, 69, 255) !important;\n --ck-color-button-default-hover-background: #f0f0ff !important;\n }\n\n .ck.ck-powered-by > a > svg > path:first-child {\n fill: #001234;\n }\n\n .ck {\n --ck-scroll-track-background: rgb(242, 242, 242);\n --ck-scroll-thumb-background: rgb(236, 236, 236);\n --ck-scroll-thumb-border-color: #cdcdf8;\n --ck-scroll-thumb-hover-background: #f0f0ff;\n --ck-scroll-thumb-active-background: #d9d8ff;\n\n --ck-color-editor-base-text: #001234;\n /* Overrides the border radius setting in the theme. */\n --ck-border-radius: 4px;\n\n /* Helper variables to avoid duplication in the colors. */\n --ck-color-base-border: #dcdce4;\n --ck-color-base-background: #ffffff;\n --ck-custom-background: #ffffff;\n --ck-custom-foreground: #dedede;\n --ck-custom-border: #dcdce4;\n --ck-custom-white: hsl(0, 0%, 100%);\n\n --ck-color-base-focus: #bbbaf1;\n --ck-color-base-active: #f0f0ff;\n --ck-color-base-active-focus: #e2e2fd;\n \n /* -- Overrides generic colors. ----------------------------------------- */\n\n --ck-color-base-foreground: var(--ck-custom-background);\n\n --ck-color-focus-border: rgb(73, 69, 255);\n\n --ck-color-text: #32324d;\n --ck-color-shadow-drop: hsla(250, 31%, 80%, 0.1);\n --ck-color-shadow-inner: hsla(250, 31%, 80%, 0.1);\n\n /* -- Overrides the default .ck-button class colors. -------------------- */\n\n --ck-color-button-default-background: var(--ck-custom-background);\n --ck-color-button-default-hover-background: #f0f0ff;\n --ck-color-button-default-active-background: #f6f6f9;\n --ck-color-button-default-active-shadow: #dedefb;\n --ck-color-button-default-disabled-background: var(--ck-custom-background);\n\n --ck-color-button-on-color: rgb(73, 69, 255);\n --ck-color-button-on-background: #f0f0ff;\n --ck-color-button-on-hover-background: #e6e9fc;\n --ck-color-button-on-active-background: #f6f6f9;\n --ck-color-button-on-active-shadow: #cdcdf8;\n --ck-color-button-on-disabled-background: var(--ck-custom-foreground);\n\n --ck-color-button-action-background: hsl(168, 76%, 42%);\n --ck-color-button-action-hover-background: hsl(168, 76%, 38%);\n --ck-color-button-action-active-background: hsl(168, 76%, 36%);\n --ck-color-button-action-active-shadow: hsl(168, 75%, 34%);\n --ck-color-button-action-disabled-background: hsl(168, 76%, 42%);\n --ck-color-button-action-text: var(--ck-custom-white);\n\n --ck-color-button-save: hsl(120, 100%, 46%);\n --ck-color-button-cancel: hsl(15, 100%, 56%);\n\n /* -- Overrides the default .ck-dropdown class colors. ------------------ */\n\n --ck-color-dropdown-panel-background: var(--ck-custom-background);\n --ck-color-dropdown-panel-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-splitbutton class colors. --------------- */\n\n --ck-color-split-button-hover-background: var(\n --ck-color-button-default-hover-background\n );\n --ck-color-split-button-hover-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-input class colors. --------------------- */\n\n --ck-color-input-background: var(--ck-custom-background);\n --ck-color-input-border: hsl(257, 3%, 43%);\n --ck-color-input-text: hsl(0, 0%, 98%);\n --ck-color-input-disabled-background: hsl(0, 0%, 97%);\n --ck-color-input-disabled-border: rgb(214, 214, 214);\n --ck-color-input-disabled-text: hsl(0, 0%, 78%);\n\n /* -- Overrides the default .ck-labeled-field-view class colors. -------- */\n\n --ck-color-labeled-field-label-background: var(--ck-custom-background);\n\n /* -- Overrides the default .ck-list class colors. ---------------------- */\n\n --ck-color-list-background: var(--ck-custom-background);\n --ck-color-list-button-hover-background: #f4f4fb;\n --ck-color-list-button-on-background: var(--ck-color-base-active);\n --ck-color-list-button-on-background-focus: var(\n --ck-color-base-active-focus\n );\n --ck-color-list-button-on-text: #271fe2;\n\n /* -- Overrides the default .ck-balloon-panel class colors. ------------- */\n\n --ck-color-panel-background: var(--ck-custom-background);\n --ck-color-panel-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-toolbar class colors. ------------------- */\n\n --ck-color-toolbar-background: var(--ck-custom-background);\n --ck-color-toolbar-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-tooltip class colors. ------------------- */\n\n --ck-color-tooltip-background: #3a3955;\n --ck-color-tooltip-text: hsl(0, 0%, 93%);\n\n /* -- Overrides the default colors used by the ckeditor5-image package. - */\n\n --ck-color-image-caption-background: hsl(0, 0%, 97%);\n --ck-color-image-caption-text: hsl(0, 0%, 20%);\n\n /* -- Overrides the default colors used by the ckeditor5-widget package. */\n\n --ck-color-widget-blurred-border: #cfcffa;\n --ck-color-widget-hover-border: #c9c9e4;\n --ck-color-widget-editable-focus-background: var(--ck-custom-white);\n\n /* -- Overrides the default colors used by the ckeditor5-link package. -- */\n\n --ck-color-link-default: hsl(209, 89%, 33%);\n\n --ck-powered-by-background: transparrent;\n --ck-powered-by-border-color: var(--ck-color-base-background);\n\n --ck-color-dialog-background: var(--ck-custom-background);\n --ck-color-dialog-form-header-border: var(--ck-color-base-border);\n }\n`;\n","import { css } from 'styled-components';\n\nexport const dark = css`\n :root {\n --ck-color-focus-outer-shadow: rgba(77, 115, 255, 0.2) !important;\n --ck-color-focus-disabled-shadow: rgba(106, 114, 143, 0.4) !important;\n --ck-focus-ring: 1px solid #4945ff !important;\n --ck-color-button-default-hover-background: #262630 !important;\n }\n\n .ck.ck-powered-by > a > svg > path:first-child {\n fill: rgb(236, 236, 236);\n }\n\n .ck.ck-powered-by > a > svg > path:nth-child(3) {\n fill: rgb(172, 156, 251);\n }\n\n .ck {\n --ck-scroll-track-background: #3d3d57;\n --ck-scroll-thumb-background: #181826;\n --ck-scroll-thumb-border-color: rgb(70, 70, 70);\n --ck-scroll-thumb-hover-background: #202033;\n --ck-scroll-thumb-active-background: #2b2b45;\n\n --ck-color-editor-base-text: rgb(236, 236, 236);\n /* Overrides the border radius setting in the theme. */\n --ck-border-radius: 4px;\n\n /* Helper variables to avoid duplication in the colors. */\n --ck-color-base-border: #4a4a6a;\n --ck-color-base-background: #212134;\n --ck-custom-background: #181826;\n --ck-custom-foreground: #26263b;\n --ck-custom-border: #4a4a6a;\n --ck-custom-white: hsl(0, 0%, 100%);\n\n --ck-color-focus-outer-shadow: #212134;\n\n --ck-color-base-focus: #bbbaf1;\n --ck-color-base-active: #2e2e5c;\n --ck-color-base-active-focus: #28284d;\n \n /* -- Overrides generic colors. ----------------------------------------- */\n\n --ck-color-base-foreground: var(--ck-custom-background);\n --ck-color-focus-border: #6765bd;\n --ck-color-text: hsl(0, 0%, 93%);\n --ck-color-shadow-drop: hsla(0, 0%, 0%, 0.2);\n --ck-color-shadow-inner: hsla(0, 0%, 0%, 0.1);\n\n /* -- Overrides the default .ck-button class colors. -------------------- */\n\n --ck-color-button-default-background: rgb(33, 33, 52);\n\n --ck-color-button-default-hover-background: #262630;\n --ck-color-button-default-active-background: #3c3c47;\n --ck-color-button-default-active-shadow: #3c3c47;\n --ck-color-button-default-disabled-background: var(--ck-custom-background);\n\n --ck-color-button-on-color: #7b79ff;\n --ck-color-button-on-background: #2b2b36;\n --ck-color-button-on-hover-background: #30303b;\n --ck-color-button-on-active-background: #3c3c47;\n --ck-color-button-on-active-shadow: #3c3c47;\n --ck-color-button-on-disabled-background: var(--ck-custom-foreground);\n\n --ck-color-button-action-background: hsl(168, 76%, 42%);\n --ck-color-button-action-hover-background: hsl(168, 76%, 38%);\n --ck-color-button-action-active-background: hsl(168, 76%, 36%);\n --ck-color-button-action-active-shadow: hsl(168, 75%, 34%);\n --ck-color-button-action-disabled-background: hsl(168, 76%, 42%);\n --ck-color-button-action-text: var(--ck-custom-white);\n\n --ck-color-button-save: hsl(120, 100%, 46%);\n --ck-color-button-cancel: hsl(15, 100%, 56%);\n\n /* -- Overrides the default .ck-dropdown class colors. ------------------ */\n\n --ck-color-dropdown-panel-background: var(--ck-custom-background);\n --ck-color-dropdown-panel-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-splitbutton class colors. --------------- */\n\n --ck-color-split-button-hover-background: var(\n --ck-color-button-default-hover-background\n );\n --ck-color-split-button-hover-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-input class colors. --------------------- */\n\n --ck-color-input-background: var(--ck-custom-background);\n --ck-color-input-border: hsl(257, 3%, 43%);\n --ck-color-input-text: hsl(0, 0%, 98%);\n --ck-color-input-disabled-background: hsl(255, 4%, 21%);\n --ck-color-input-disabled-border: hsl(250, 3%, 38%);\n --ck-color-input-disabled-text: hsl(0, 0%, 78%);\n\n /* -- Overrides the default .ck-labeled-field-view class colors. ---------*/\n\n --ck-color-labeled-field-label-background: var(--ck-custom-background);\n\n /* -- Overrides the default .ck-list class colors. ---------------------- */\n\n --ck-color-list-background: var(--ck-custom-background);\n --ck-color-list-button-hover-background: #121221;\n --ck-color-list-button-on-background: var(--ck-color-base-active);\n --ck-color-list-button-on-background-focus: var(\n --ck-color-base-active-focus\n );\n --ck-color-list-button-on-text: #ffffff;\n\n /* -- Overrides the default .ck-balloon-panel class colors. ------------- */\n\n --ck-color-panel-background: var(--ck-custom-background);\n --ck-color-panel-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-toolbar class colors. ------------------- */\n\n --ck-color-toolbar-background: var(--ck-custom-background);\n --ck-color-toolbar-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-tooltip class colors. ------------------- */\n\n --ck-color-tooltip-background: #3a3955;\n --ck-color-tooltip-text: hsl(0, 0%, 93%);\n\n /* -- Overrides the default colors used by the ckeditor5-image package. - */\n\n --ck-color-image-caption-background: hsl(0, 0%, 97%);\n --ck-color-image-caption-text: hsl(0, 0%, 20%);\n\n /* -- Overrides the default colors used by the ckeditor5-widget package. */\n\n --ck-color-widget-blurred-border: #7c7c96;\n --ck-color-widget-hover-border: #666687;\n --ck-color-widget-editable-focus-background: var(--ck-custom-white);\n\n /* -- Overrides the default colors used by the ckeditor5-link package. -- */\n\n --ck-color-link-default: hsl(216, 100%, 75%);\n\n --ck-powered-by-background: transparrent;\n --ck-powered-by-border-color: var(--ck-color-base-background);\n\n --ck-color-dialog-background: var(--ck-custom-background);\n --ck-color-dialog-form-header-border: var(--ck-color-base-border);\n }\n`;\n","import { css } from 'styled-components';\n\nexport const additional = css`\n /* --- expanding --- */\n\n .ck.ck-editor__main .ck-blurred {\n max-height: 200px !important;\n }\n .ck.ck-editor__main .ck-focused {\n min-height: 200px !important;\n max-height: 700px !important;\n }\n\n /* --- color-grid --- */\n\n .ck.ck-color-ui-dropdown {\n --ck-color-grid-tile-size: 22px !important;\n }\n .ck.ck-color-grid__tile {\n width: auto;\n }\n .ck.ck-color-ui-dropdown .ck-color-grid {\n grid-gap: 2px;\n }\n .ck.ck-color-ui-dropdown .ck-color-grid .ck-button {\n border-radius: 2px;\n }\n .ck.ck-color-ui-dropdown\n .ck.ck-color-grid\n .ck-color-grid__tile:hover:not(.ck-disabled),\n .ck.ck-color-ui-dropdown\n .ck.ck-color-grid\n .ck-color-grid__tile:focus:not(.ck-disabled) {\n z-index: 1;\n transform: scale(1.1);\n border-radius: 2px;\n }\n\n /* ---- Styles feature ------------------------------------------------------ */\n\n :root {\n --ck-georgia-serif-font-stack: Georgia, Times, Times New Roman, serif;\n }\n\n .ck-content h1.document-title {\n font-family: var(--ck-georgia-serif-font-stack);\n font-size: 50px;\n font-weight: bold;\n border: 0;\n }\n\n .ck-content h2.document-subtitle {\n font-family: var(--ck-georgia-serif-font-stack);\n font-size: 20px;\n font-weight: bold;\n color: #d1d1d1;\n letter-spacing: 10px;\n }\n\n .ck-content p.callout {\n --border-color: #e91e1e;\n padding: 1.2em 2em;\n border: 1px solid var(--border-color);\n border-left: 10px solid var(--border-color);\n background: #fff9fb;\n border-radius: 5px;\n margin: 1.5em 2em;\n box-shadow: 5px 5px 0 #ffe6ef;\n }\n\n .ck-content blockquote.side-quote {\n font-family: var(--ck-georgia-serif-font-stack);\n font-style: normal;\n float: right;\n width: 35%;\n position: relative;\n border: 0;\n overflow: visible;\n z-index: 1;\n margin-left: 1em;\n }\n\n .ck-content blockquote.side-quote::before {\n content: '“';\n position: absolute;\n top: -37px;\n left: -10px;\n display: block;\n font-size: 200px;\n color: #e7e7e7;\n z-index: -1;\n line-height: 1;\n }\n\n .ck-content blockquote.side-quote p {\n font-size: 2em;\n line-height: 1;\n }\n\n .ck-content blockquote.side-quote p:last-child:not(:first-child) {\n font-size: 1.3em;\n text-align: right;\n color: #555;\n }\n\n .ck-content span.needs-clarification {\n outline: 1px dashed #c8a24b;\n background: #ffe19c;\n border-radius: 2px;\n position: relative;\n }\n\n .ck-content span.needs-clarification::after {\n content: '?';\n display: inline-block;\n color: #fff;\n background: #3b3b3b;\n font-size: 12px;\n vertical-align: super;\n width: 12px;\n height: 12px;\n line-height: 12px;\n border-radius: 10px;\n text-align: center;\n position: absolute;\n right: -6px;\n top: -6px;\n font-weight: bold;\n letter-spacing: initial;\n }\n\n .ck-content span.wide-spacing {\n letter-spacing: 0.3em;\n }\n\n .ck-content span.small-caps {\n font-variant: small-caps;\n }\n\n .ck-content span.spoiler {\n background: #000;\n color: #000;\n }\n\n .ck-content span.spoiler:hover {\n background: #000;\n color: #fff;\n }\n\n .ck-content pre.stylish-code {\n border-color: transparent;\n margin-left: 2em;\n margin-right: 2em;\n border-radius: 10px;\n }\n\n .ck-content pre.stylish-code::before {\n content: '';\n display: block;\n height: 13px;\n background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NCAxMyI+CiAgPGNpcmNsZSBjeD0iNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGMzZCNUMiLz4KICA8Y2lyY2xlIGN4PSIyNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGOUJFNEQiLz4KICA8Y2lyY2xlIGN4PSI0Ny41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiM1NkM0NTMiLz4KPC9zdmc+Cg==);\n margin-bottom: 8px;\n background-repeat: no-repeat;\n }\n\n .ck-content pre.stylish-code-dark,\n .ck-content pre.stylish-code-bright {\n padding: 1em;\n }\n\n .ck-content pre.stylish-code-dark {\n background: #272822;\n box-shadow: 5px 5px 0 #0000001f;\n color: white;\n }\n\n .ck-content pre.stylish-code-dark code {\n color: white;\n }\n\n .ck-content pre.stylish-code-bright {\n background: #dddfe0;\n color: #000;\n box-shadow: 5px 5px 0 #b3b3b3;\n }\n\n .ck-content pre.stylish-code-bright code {\n color: #222;\n }\n`;\n","import { common } from './common';\nimport { light } from './light';\nimport { dark } from './dark';\nimport { additional } from './additional';\n\nconst baseTheme = {\n common: common,\n light: light,\n dark: dark,\n additional: additional\n}\n\nexport default baseTheme;","import React from 'react';\nimport { createGlobalStyle } from 'styled-components';\n\nimport baseTheme from '../theme';\nimport { getProfileTheme } from '../../../utils/localStorage';\n\nconst GlobalStyle = createGlobalStyle`\n ${({ theme }) => theme.common}\n ${({ theme, variant }) => theme[variant]}\n ${({ theme }) => theme.additional}\n`;\n\nconst getSystemColorScheme = () =>\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light';\n\nconst GlobalStyling = () => {\n const { theme: userTheme, dontMergeTheme } = globalThis.SH_CKE_CONFIG || {};\n\n const profileTheme = getProfileTheme();\n\n const variant =\n profileTheme && profileTheme !== 'system'\n ? profileTheme\n : getSystemColorScheme();\n\n const theme = dontMergeTheme ? userTheme : { ...baseTheme, ...userTheme };\n\n return <GlobalStyle theme={theme} variant={variant} />;\n};\n\nconst MemoizedGlobalStyling = React.memo(GlobalStyling);\n\nexport { MemoizedGlobalStyling as GlobalStyling };\n","import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\nimport { ClassicEditor } from 'ckeditor5';\nimport { Box, Loader } from '@strapi/design-system';\nimport { useField } from '@strapi/strapi/admin';\nimport 'ckeditor5/ckeditor5.css';\n\nimport { MediaLib } from './MediaLib';\nimport { getConfiguredPreset } from '../config';\nimport { GlobalStyling } from './GlobalStyling';\n\nconst Wrapper = styled('div')`\n ${({ styles }) => styles}\n`;\n\nexport const Editor = ({\n name,\n disabled,\n presetName,\n maxLength,\n placeholder,\n}) => {\n const { onChange, value } = useField(name);\n\n const [editorInstance, setEditorInstance] = useState(false);\n\n const [mediaLibVisible, setMediaLibVisible] = useState(false);\n\n const [preset, setPreset] = useState(null);\n\n const [lengthMax, setLengthMax] = useState(false);\n\n const wordCounter = useRef(null);\n\n const handleToggleMediaLib = () => setMediaLibVisible((prev) => !prev);\n\n const handleCounter = (number) =>\n number > maxLength ? setLengthMax(true) : setLengthMax(false);\n\n useEffect(() => {\n (async () => {\n const currentPreset = await getConfiguredPreset(\n presetName,\n handleToggleMediaLib\n );\n\n if (placeholder) {\n const clonedPreset = {\n ...currentPreset,\n editorConfig: {\n ...currentPreset.editorConfig,\n placeholder: placeholder,\n },\n };\n \n setPreset(clonedPreset);\n } else {\n setPreset(currentPreset);\n }\n })();\n }, []);\n\n return (\n <>\n {preset && <GlobalStyling />}\n <Wrapper styles={preset?.styles}>\n {!preset && (\n <LoaderBox hasRadius background=\"neutral100\">\n <Loader>Loading...</Loader>\n </LoaderBox>\n )}\n {preset && (\n <>\n <CKEditor\n editor={ClassicEditor}\n config={preset.editorConfig}\n disabled={disabled}\n data={value ?? ''}\n onReady={(editor) => {\n if (preset.editorConfig.WordCountPlugin) {\n const wordCountPlugin = editor.plugins.get('WordCount');\n wordCountPlugin.on('update', (evt, stats) =>\n handleCounter(stats.characters)\n );\n const wordCountWrapper = wordCounter.current;\n wordCountWrapper?.appendChild(\n wordCountPlugin.wordCountContainer\n );\n }\n\n if (editor.plugins.has('ImageUploadEditing')) {\n editor.plugins\n .get('ImageUploadEditing')\n .on('uploadComplete', (evt, { data, imageElement }) =>\n editor.model.change((writer) =>\n writer.setAttribute('alt', data.alt, imageElement)\n )\n );\n }\n\n setEditorInstance(editor);\n }}\n onChange={(event, editor) => {\n const data = editor.getData();\n onChange({ target: { name, value: data } });\n }}\n />\n <MediaLib\n isOpen={mediaLibVisible}\n onToggle={handleToggleMediaLib}\n editor={editorInstance}\n />\n {preset.editorConfig.WordCountPlugin && (\n <CounterLoaderBox\n color={lengthMax ? 'danger500' : 'neutral400'}\n ref={wordCounter}\n >\n {!editorInstance && <Loader small>Loading...</Loader>}\n </CounterLoaderBox>\n )}\n </>\n )}\n </Wrapper>\n </>\n );\n};\n\nEditor.propTypes = {\n name: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n presetName: PropTypes.string.isRequired,\n maxLength: PropTypes.number,\n placeholder: PropTypes.string,\n};\n\nconst CounterLoaderBox = styled(Box)`\n display: flex;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n`;\nconst LoaderBox = styled(Box)`\n display: flex;\n height: 200px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Field, Flex } from '@strapi/design-system';\n\nimport { Editor } from './components/Editor';\n\nconst Input = ({\n name,\n attribute,\n value = '',\n labelAction = null,\n label,\n disabled = false,\n error = null,\n required = false,\n hint = '',\n placeholder,\n}) => {\n const { preset, maxLengthCharacters, ...options } = attribute.options;\n\n return (\n <Field.Root\n name={name}\n id={name}\n error={error}\n hint={hint}\n required={required}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Editor\n disabled={disabled}\n name={name}\n value={value}\n presetName={preset}\n maxLength={maxLengthCharacters}\n placeholder={placeholder}\n />\n <Field.Hint />\n <Field.Error />\n </Flex>\n </Field.Root>\n );\n};\n\nInput.propTypes = {\n name: PropTypes.string.isRequired,\n attribute: PropTypes.object.isRequired,\n value: PropTypes.string,\n labelAction: PropTypes.object,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n required: PropTypes.bool,\n hint: PropTypes.string,\n placeholder: PropTypes.string,\n};\n\nconst MemoizedInput = React.memo(Input);\n\nexport default MemoizedInput;"],"names":["components","GlobalStyling"],"mappings":"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAf,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAd,MAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAb,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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"}
|
package/dist/admin/index.js
CHANGED
package/dist/admin/index.mjs
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -6,7 +6,7 @@ function getDefaultExportFromCjs(x) {
|
|
|
6
6
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
7
7
|
}
|
|
8
8
|
const name = "@_sh/strapi-plugin-ckeditor";
|
|
9
|
-
const version = "4.0.
|
|
9
|
+
const version = "4.0.7";
|
|
10
10
|
const description = "Integrates CKEditor 5 into your Strapi project as a fully customizable custom field. (Unofficial integration)";
|
|
11
11
|
const keywords = [
|
|
12
12
|
"strapi",
|
|
@@ -149,25 +149,36 @@ var routes$1 = {
|
|
|
149
149
|
};
|
|
150
150
|
const fs = require$$0__default.default;
|
|
151
151
|
var config$1 = ({ strapi: strapi2 }) => {
|
|
152
|
+
const readConfigFile = () => {
|
|
153
|
+
const appDir = process.cwd();
|
|
154
|
+
const isTSProject = fs.existsSync(`${appDir}/dist`);
|
|
155
|
+
const envName = process.env.NODE_ENV;
|
|
156
|
+
const cfgDir = isTSProject ? `${appDir}/dist/config` : `${appDir}/config`;
|
|
157
|
+
const cfgFileName = "ckeditor.js";
|
|
158
|
+
const envFilePath = `${cfgDir}/env/${envName}/${cfgFileName}`;
|
|
159
|
+
const baseFilePath = `${cfgDir}/${cfgFileName}`;
|
|
160
|
+
if (fs.existsSync(envFilePath)) {
|
|
161
|
+
return fs.readFileSync(envFilePath, "utf8");
|
|
162
|
+
} else if (fs.existsSync(baseFilePath)) {
|
|
163
|
+
return fs.readFileSync(baseFilePath, "utf8");
|
|
164
|
+
} else {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
const trimConfig = (str) => {
|
|
169
|
+
for (const func of ["const CKEConfig", "function CKEConfig"]) {
|
|
170
|
+
const idx = str.indexOf(func);
|
|
171
|
+
if (idx >= 0) {
|
|
172
|
+
return str.substring(idx) + `
|
|
173
|
+
globalThis.SH_CKE_CONFIG = CKEConfig()`;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
};
|
|
152
177
|
return {
|
|
153
178
|
getConfig() {
|
|
154
|
-
const
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
const cfgFileName = "ckeditor.js";
|
|
158
|
-
const envName = process.env.NODE_ENV;
|
|
159
|
-
console.log("env");
|
|
160
|
-
console.log(envName);
|
|
161
|
-
const envFilePath = `${cfgDir}/env/${envName}/${cfgFileName}`;
|
|
162
|
-
const fallBackFilePath = `${cfgDir}/${cfgFileName}`;
|
|
163
|
-
let fileToRead;
|
|
164
|
-
if (fs.existsSync(envFilePath)) {
|
|
165
|
-
fileToRead = envFilePath;
|
|
166
|
-
} else if (fs.existsSync(fallBackFilePath)) {
|
|
167
|
-
fileToRead = fallBackFilePath;
|
|
168
|
-
}
|
|
169
|
-
return fileToRead ? fs.readFileSync(fileToRead, "utf8") + `
|
|
170
|
-
globalThis.SH_CKE_CONFIG = CKEConfig()` : `globalThis.SH_CKE_CONFIG = null`;
|
|
179
|
+
const configFileContent = readConfigFile();
|
|
180
|
+
const config2 = configFileContent && trimConfig(configFileContent);
|
|
181
|
+
return config2 || `globalThis.SH_CKE_CONFIG = null`;
|
|
171
182
|
}
|
|
172
183
|
};
|
|
173
184
|
};
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../server/src/utils/pluginId.js","../../server/src/register.js","../../server/src/controllers/config.js","../../server/src/controllers/index.js","../../server/src/routes/index.js","../../server/src/services/config.js","../../server/src/services/index.js","../../server/src/index.js"],"sourcesContent":["'use strict';\n\nconst pluginPkg = require('../../../package.json');\n\nmodule.exports =\n pluginPkg.strapi.name ||\n pluginPkg.name.replace(/^(@_sh\\/strapi-)plugin-/i, '');\n","'use strict';\n\nconst pluginId = require('./utils/pluginId');\n\nmodule.exports = ({ strapi }) => {\n strapi.customFields.register({\n name: 'CKEditor',\n plugin: pluginId,\n type: 'richtext',\n });\n};\n","'use strict';\n\nconst pluginId = require('../utils/pluginId');\n\nmodule.exports = {\n getConfig: async (ctx) => {\n const { responsiveDimensions = false } = await strapi\n .plugin('upload')\n .service('upload')\n .getSettings();\n\n const config =\n (await strapi.plugin(pluginId).service('config').getConfig()) +\n `\\nglobalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE = ${responsiveDimensions}`;\n\n ctx.type = 'application/javascript';\n ctx.send(config);\n },\n};\n","'use strict';\n\nconst config = require('./config');\n\nmodule.exports = {\n config,\n};\n","module.exports = {\n config: {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/config/ckeditor',\n handler: 'config.getConfig',\n config: {\n auth: false,\n },\n },\n ],\n },\n};\n","'use strict';\n\nconst fs = require('fs');\n\nmodule.exports = ({ strapi }) => {\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../server/src/utils/pluginId.js","../../server/src/register.js","../../server/src/controllers/config.js","../../server/src/controllers/index.js","../../server/src/routes/index.js","../../server/src/services/config.js","../../server/src/services/index.js","../../server/src/index.js"],"sourcesContent":["'use strict';\n\nconst pluginPkg = require('../../../package.json');\n\nmodule.exports =\n pluginPkg.strapi.name ||\n pluginPkg.name.replace(/^(@_sh\\/strapi-)plugin-/i, '');\n","'use strict';\n\nconst pluginId = require('./utils/pluginId');\n\nmodule.exports = ({ strapi }) => {\n strapi.customFields.register({\n name: 'CKEditor',\n plugin: pluginId,\n type: 'richtext',\n });\n};\n","'use strict';\n\nconst pluginId = require('../utils/pluginId');\n\nmodule.exports = {\n getConfig: async (ctx) => {\n const { responsiveDimensions = false } = await strapi\n .plugin('upload')\n .service('upload')\n .getSettings();\n\n const config =\n (await strapi.plugin(pluginId).service('config').getConfig()) +\n `\\nglobalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE = ${responsiveDimensions}`;\n\n ctx.type = 'application/javascript';\n ctx.send(config);\n },\n};\n","'use strict';\n\nconst config = require('./config');\n\nmodule.exports = {\n config,\n};\n","module.exports = {\n config: {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/config/ckeditor',\n handler: 'config.getConfig',\n config: {\n auth: false,\n },\n },\n ],\n },\n};\n","'use strict';\n\nconst fs = require('fs');\n\nmodule.exports = ({ strapi }) => {\n const readConfigFile = () => {\n const appDir = process.cwd();\n const isTSProject = fs.existsSync(`${appDir}/dist`);\n const envName = process.env.NODE_ENV;\n\n const cfgDir = isTSProject ? `${appDir}/dist/config` : `${appDir}/config`;\n const cfgFileName = 'ckeditor.js';\n\n const envFilePath = `${cfgDir}/env/${envName}/${cfgFileName}`;\n const baseFilePath = `${cfgDir}/${cfgFileName}`;\n\n if (fs.existsSync(envFilePath)) {\n return fs.readFileSync(envFilePath, 'utf8');\n } else if (fs.existsSync(baseFilePath)) {\n return fs.readFileSync(baseFilePath, 'utf8');\n } else {\n return null;\n }\n };\n\n const trimConfig = (str) => {\n for (const func of ['const CKEConfig', 'function CKEConfig']) {\n const idx = str.indexOf(func);\n if (idx >= 0) {\n return str.substring(idx) + `\\nglobalThis.SH_CKE_CONFIG = CKEConfig()`;\n }\n }\n };\n\n return {\n getConfig() {\n const configFileContent = readConfigFile();\n const config = configFileContent && trimConfig(configFileContent);\n\n return config || `globalThis.SH_CKE_CONFIG = null`;\n },\n };\n};\n","'use strict';\n\nconst config = require('./config');\n\nmodule.exports = {\n config,\n};\n","'use strict';\n\nconst register = require('./register');\nconst controllers = require('./controllers');\nconst routes = require('./routes');\nconst services = require('./services');\n\nmodule.exports = {\n register,\n controllers,\n routes,\n services\n};\n"],"names":["pluginId","require$$0","register","strapi","config","controllers","routes","services","require$$1","require$$2","require$$3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,YAAY;IAElBA,aACE,UAAU,OAAO;ACHnB,MAAMA,aAAWC;AAEjB,IAAAC,aAAiB,CAAC,EAAE,QAAAC,cAAa;AAC/B,EAAAA,QAAO,aAAa,SAAS;AAAA,IAC3B,MAAM;AAAA,IACN,QAAQH;AAAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;ACRA,MAAM,WAAWC;AAEjB,IAAAG,WAAiB;AAAA,EACf,WAAW,OAAO,QAAQ;AACxB,UAAM,EAAE,uBAAuB,MAAO,IAAG,MAAM,OAC5C,OAAO,QAAQ,EACf,QAAQ,QAAQ,EAChB;AAEH,UAAMA,UACH,MAAM,OAAO,OAAO,QAAQ,EAAE,QAAQ,QAAQ,EAAE,UAAW,IAC5D;AAAA,mDAAsD,oBAAoB;AAE5E,QAAI,OAAO;AACX,QAAI,KAAKA,OAAM;AAAA,EAChB;AACH;AChBA,MAAMA,WAASH;AAEf,IAAAI,gBAAiB;AAAA,EACjB,QAAED;AACF;ACNA,IAAAE,WAAiB;AAAA,EACf,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,UACN,MAAM;AAAA,QACP;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACH;ACZA,MAAM,KAAKL,oBAAAA;AAEX,IAAAG,WAAiB,CAAC,EAAE,QAAAD,cAAa;AAC/B,QAAM,iBAAiB,MAAM;AAC3B,UAAM,SAAS,QAAQ;AACvB,UAAM,cAAc,GAAG,WAAW,GAAG,MAAM,OAAO;AAClD,UAAM,UAAU,QAAQ,IAAI;AAE5B,UAAM,SAAS,cAAc,GAAG,MAAM,iBAAiB,GAAG,MAAM;AAChE,UAAM,cAAc;AAEpB,UAAM,cAAc,GAAG,MAAM,QAAQ,OAAO,IAAI,WAAW;AAC3D,UAAM,eAAe,GAAG,MAAM,IAAI,WAAW;AAE7C,QAAI,GAAG,WAAW,WAAW,GAAG;AAC9B,aAAO,GAAG,aAAa,aAAa,MAAM;AAAA,IAC3C,WAAU,GAAG,WAAW,YAAY,GAAG;AACtC,aAAO,GAAG,aAAa,cAAc,MAAM;AAAA,IACjD,OAAW;AACL,aAAO;AAAA,IACR;AAAA,EACL;AAEE,QAAM,aAAa,CAAC,QAAQ;AAC1B,eAAW,QAAQ,CAAC,mBAAmB,oBAAoB,GAAG;AAC5D,YAAM,MAAM,IAAI,QAAQ,IAAI;AAC5B,UAAI,OAAO,GAAG;AACZ,eAAO,IAAI,UAAU,GAAG,IAAI;AAAA;AAAA,MAC7B;AAAA,IACF;AAAA,EACL;AAEE,SAAO;AAAA,IACL,YAAY;AACV,YAAM,oBAAoB;AAC1B,YAAMC,UAAS,qBAAqB,WAAW,iBAAiB;AAEhE,aAAOA,WAAU;AAAA,IAClB;AAAA,EACL;AACA;ACxCA,MAAM,SAASH;AAEf,IAAAM,aAAiB;AAAA,EACf;AACF;ACJA,MAAM,WAAWN;AACjB,MAAM,cAAcO;AACpB,MAAM,SAASC;AACf,MAAM,WAAWC;AAEjB,IAAA,MAAiB;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;"}
|
package/dist/server/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ function getDefaultExportFromCjs(x) {
|
|
|
3
3
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
4
4
|
}
|
|
5
5
|
const name = "@_sh/strapi-plugin-ckeditor";
|
|
6
|
-
const version = "4.0.
|
|
6
|
+
const version = "4.0.7";
|
|
7
7
|
const description = "Integrates CKEditor 5 into your Strapi project as a fully customizable custom field. (Unofficial integration)";
|
|
8
8
|
const keywords = [
|
|
9
9
|
"strapi",
|
|
@@ -146,25 +146,36 @@ var routes$1 = {
|
|
|
146
146
|
};
|
|
147
147
|
const fs = require$$0$1;
|
|
148
148
|
var config$1 = ({ strapi: strapi2 }) => {
|
|
149
|
+
const readConfigFile = () => {
|
|
150
|
+
const appDir = process.cwd();
|
|
151
|
+
const isTSProject = fs.existsSync(`${appDir}/dist`);
|
|
152
|
+
const envName = process.env.NODE_ENV;
|
|
153
|
+
const cfgDir = isTSProject ? `${appDir}/dist/config` : `${appDir}/config`;
|
|
154
|
+
const cfgFileName = "ckeditor.js";
|
|
155
|
+
const envFilePath = `${cfgDir}/env/${envName}/${cfgFileName}`;
|
|
156
|
+
const baseFilePath = `${cfgDir}/${cfgFileName}`;
|
|
157
|
+
if (fs.existsSync(envFilePath)) {
|
|
158
|
+
return fs.readFileSync(envFilePath, "utf8");
|
|
159
|
+
} else if (fs.existsSync(baseFilePath)) {
|
|
160
|
+
return fs.readFileSync(baseFilePath, "utf8");
|
|
161
|
+
} else {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const trimConfig = (str) => {
|
|
166
|
+
for (const func of ["const CKEConfig", "function CKEConfig"]) {
|
|
167
|
+
const idx = str.indexOf(func);
|
|
168
|
+
if (idx >= 0) {
|
|
169
|
+
return str.substring(idx) + `
|
|
170
|
+
globalThis.SH_CKE_CONFIG = CKEConfig()`;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
};
|
|
149
174
|
return {
|
|
150
175
|
getConfig() {
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
const cfgFileName = "ckeditor.js";
|
|
155
|
-
const envName = process.env.NODE_ENV;
|
|
156
|
-
console.log("env");
|
|
157
|
-
console.log(envName);
|
|
158
|
-
const envFilePath = `${cfgDir}/env/${envName}/${cfgFileName}`;
|
|
159
|
-
const fallBackFilePath = `${cfgDir}/${cfgFileName}`;
|
|
160
|
-
let fileToRead;
|
|
161
|
-
if (fs.existsSync(envFilePath)) {
|
|
162
|
-
fileToRead = envFilePath;
|
|
163
|
-
} else if (fs.existsSync(fallBackFilePath)) {
|
|
164
|
-
fileToRead = fallBackFilePath;
|
|
165
|
-
}
|
|
166
|
-
return fileToRead ? fs.readFileSync(fileToRead, "utf8") + `
|
|
167
|
-
globalThis.SH_CKE_CONFIG = CKEConfig()` : `globalThis.SH_CKE_CONFIG = null`;
|
|
176
|
+
const configFileContent = readConfigFile();
|
|
177
|
+
const config2 = configFileContent && trimConfig(configFileContent);
|
|
178
|
+
return config2 || `globalThis.SH_CKE_CONFIG = null`;
|
|
168
179
|
}
|
|
169
180
|
};
|
|
170
181
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../server/src/utils/pluginId.js","../../server/src/register.js","../../server/src/controllers/config.js","../../server/src/controllers/index.js","../../server/src/routes/index.js","../../server/src/services/config.js","../../server/src/services/index.js","../../server/src/index.js"],"sourcesContent":["'use strict';\n\nconst pluginPkg = require('../../../package.json');\n\nmodule.exports =\n pluginPkg.strapi.name ||\n pluginPkg.name.replace(/^(@_sh\\/strapi-)plugin-/i, '');\n","'use strict';\n\nconst pluginId = require('./utils/pluginId');\n\nmodule.exports = ({ strapi }) => {\n strapi.customFields.register({\n name: 'CKEditor',\n plugin: pluginId,\n type: 'richtext',\n });\n};\n","'use strict';\n\nconst pluginId = require('../utils/pluginId');\n\nmodule.exports = {\n getConfig: async (ctx) => {\n const { responsiveDimensions = false } = await strapi\n .plugin('upload')\n .service('upload')\n .getSettings();\n\n const config =\n (await strapi.plugin(pluginId).service('config').getConfig()) +\n `\\nglobalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE = ${responsiveDimensions}`;\n\n ctx.type = 'application/javascript';\n ctx.send(config);\n },\n};\n","'use strict';\n\nconst config = require('./config');\n\nmodule.exports = {\n config,\n};\n","module.exports = {\n config: {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/config/ckeditor',\n handler: 'config.getConfig',\n config: {\n auth: false,\n },\n },\n ],\n },\n};\n","'use strict';\n\nconst fs = require('fs');\n\nmodule.exports = ({ strapi }) => {\n
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../server/src/utils/pluginId.js","../../server/src/register.js","../../server/src/controllers/config.js","../../server/src/controllers/index.js","../../server/src/routes/index.js","../../server/src/services/config.js","../../server/src/services/index.js","../../server/src/index.js"],"sourcesContent":["'use strict';\n\nconst pluginPkg = require('../../../package.json');\n\nmodule.exports =\n pluginPkg.strapi.name ||\n pluginPkg.name.replace(/^(@_sh\\/strapi-)plugin-/i, '');\n","'use strict';\n\nconst pluginId = require('./utils/pluginId');\n\nmodule.exports = ({ strapi }) => {\n strapi.customFields.register({\n name: 'CKEditor',\n plugin: pluginId,\n type: 'richtext',\n });\n};\n","'use strict';\n\nconst pluginId = require('../utils/pluginId');\n\nmodule.exports = {\n getConfig: async (ctx) => {\n const { responsiveDimensions = false } = await strapi\n .plugin('upload')\n .service('upload')\n .getSettings();\n\n const config =\n (await strapi.plugin(pluginId).service('config').getConfig()) +\n `\\nglobalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE = ${responsiveDimensions}`;\n\n ctx.type = 'application/javascript';\n ctx.send(config);\n },\n};\n","'use strict';\n\nconst config = require('./config');\n\nmodule.exports = {\n config,\n};\n","module.exports = {\n config: {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n path: '/config/ckeditor',\n handler: 'config.getConfig',\n config: {\n auth: false,\n },\n },\n ],\n },\n};\n","'use strict';\n\nconst fs = require('fs');\n\nmodule.exports = ({ strapi }) => {\n const readConfigFile = () => {\n const appDir = process.cwd();\n const isTSProject = fs.existsSync(`${appDir}/dist`);\n const envName = process.env.NODE_ENV;\n\n const cfgDir = isTSProject ? `${appDir}/dist/config` : `${appDir}/config`;\n const cfgFileName = 'ckeditor.js';\n\n const envFilePath = `${cfgDir}/env/${envName}/${cfgFileName}`;\n const baseFilePath = `${cfgDir}/${cfgFileName}`;\n\n if (fs.existsSync(envFilePath)) {\n return fs.readFileSync(envFilePath, 'utf8');\n } else if (fs.existsSync(baseFilePath)) {\n return fs.readFileSync(baseFilePath, 'utf8');\n } else {\n return null;\n }\n };\n\n const trimConfig = (str) => {\n for (const func of ['const CKEConfig', 'function CKEConfig']) {\n const idx = str.indexOf(func);\n if (idx >= 0) {\n return str.substring(idx) + `\\nglobalThis.SH_CKE_CONFIG = CKEConfig()`;\n }\n }\n };\n\n return {\n getConfig() {\n const configFileContent = readConfigFile();\n const config = configFileContent && trimConfig(configFileContent);\n\n return config || `globalThis.SH_CKE_CONFIG = null`;\n },\n };\n};\n","'use strict';\n\nconst config = require('./config');\n\nmodule.exports = {\n config,\n};\n","'use strict';\n\nconst register = require('./register');\nconst controllers = require('./controllers');\nconst routes = require('./routes');\nconst services = require('./services');\n\nmodule.exports = {\n register,\n controllers,\n routes,\n services\n};\n"],"names":["pluginId","require$$0","register","strapi","config","controllers","routes","services","require$$1","require$$2","require$$3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,YAAY;IAElBA,aACE,UAAU,OAAO;ACHnB,MAAMA,aAAWC;AAEjB,IAAAC,aAAiB,CAAC,EAAE,QAAAC,cAAa;AAC/B,EAAAA,QAAO,aAAa,SAAS;AAAA,IAC3B,MAAM;AAAA,IACN,QAAQH;AAAAA,IACR,MAAM;AAAA,EACV,CAAG;AACH;ACRA,MAAM,WAAWC;AAEjB,IAAAG,WAAiB;AAAA,EACf,WAAW,OAAO,QAAQ;AACxB,UAAM,EAAE,uBAAuB,MAAO,IAAG,MAAM,OAC5C,OAAO,QAAQ,EACf,QAAQ,QAAQ,EAChB;AAEH,UAAMA,UACH,MAAM,OAAO,OAAO,QAAQ,EAAE,QAAQ,QAAQ,EAAE,UAAW,IAC5D;AAAA,mDAAsD,oBAAoB;AAE5E,QAAI,OAAO;AACX,QAAI,KAAKA,OAAM;AAAA,EAChB;AACH;AChBA,MAAMA,WAASH;AAEf,IAAAI,gBAAiB;AAAA,EACjB,QAAED;AACF;ACNA,IAAAE,WAAiB;AAAA,EACf,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,QACE,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,UACN,MAAM;AAAA,QACP;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACH;ACZA,MAAM,KAAKL;AAEX,IAAAG,WAAiB,CAAC,EAAE,QAAAD,cAAa;AAC/B,QAAM,iBAAiB,MAAM;AAC3B,UAAM,SAAS,QAAQ;AACvB,UAAM,cAAc,GAAG,WAAW,GAAG,MAAM,OAAO;AAClD,UAAM,UAAU,QAAQ,IAAI;AAE5B,UAAM,SAAS,cAAc,GAAG,MAAM,iBAAiB,GAAG,MAAM;AAChE,UAAM,cAAc;AAEpB,UAAM,cAAc,GAAG,MAAM,QAAQ,OAAO,IAAI,WAAW;AAC3D,UAAM,eAAe,GAAG,MAAM,IAAI,WAAW;AAE7C,QAAI,GAAG,WAAW,WAAW,GAAG;AAC9B,aAAO,GAAG,aAAa,aAAa,MAAM;AAAA,IAC3C,WAAU,GAAG,WAAW,YAAY,GAAG;AACtC,aAAO,GAAG,aAAa,cAAc,MAAM;AAAA,IACjD,OAAW;AACL,aAAO;AAAA,IACR;AAAA,EACL;AAEE,QAAM,aAAa,CAAC,QAAQ;AAC1B,eAAW,QAAQ,CAAC,mBAAmB,oBAAoB,GAAG;AAC5D,YAAM,MAAM,IAAI,QAAQ,IAAI;AAC5B,UAAI,OAAO,GAAG;AACZ,eAAO,IAAI,UAAU,GAAG,IAAI;AAAA;AAAA,MAC7B;AAAA,IACF;AAAA,EACL;AAEE,SAAO;AAAA,IACL,YAAY;AACV,YAAM,oBAAoB;AAC1B,YAAMC,UAAS,qBAAqB,WAAW,iBAAiB;AAEhE,aAAOA,WAAU;AAAA,IAClB;AAAA,EACL;AACA;ACxCA,MAAM,SAASH;AAEf,IAAAM,aAAiB;AAAA,EACf;AACF;ACJA,MAAM,WAAWN;AACjB,MAAM,cAAcO;AACpB,MAAM,SAASC;AACf,MAAM,WAAWC;AAEjB,IAAA,MAAiB;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;"}
|
package/package.json
CHANGED