@hkyhy/marsun-components-core 0.1.82 → 0.1.98
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/components/Audit/AuditLogList.d.ts +27 -0
- package/dist/components/Audit/AuditLogList.js +272 -0
- package/dist/components/Audit/AuditLogList.js.map +1 -0
- package/dist/components/Audit/formatAuditCurl.d.ts +27 -0
- package/dist/components/Audit/formatAuditCurl.js +115 -0
- package/dist/components/Audit/formatAuditCurl.js.map +1 -0
- package/dist/components/Audit/formatAuditJson.d.ts +15 -0
- package/dist/components/Audit/formatAuditJson.js +135 -0
- package/dist/components/Audit/formatAuditJson.js.map +1 -0
- package/dist/components/Audit/index.d.ts +3 -0
- package/dist/components/Audit/style.module.scss.js +30 -0
- package/dist/components/Audit/style.module.scss.js.map +1 -0
- package/dist/components/Audit/types.d.ts +39 -0
- package/dist/components/Editor/RichTextEditor/RichTextEditor.d.ts +24 -0
- package/dist/components/Editor/RichTextEditor/RichTextEditor.js +93 -0
- package/dist/components/Editor/RichTextEditor/RichTextEditor.js.map +1 -0
- package/dist/components/Editor/RichTextEditor/index.d.ts +2 -0
- package/dist/components/Editor/RichTextEditor/style.module.scss.js +11 -0
- package/dist/components/Editor/RichTextEditor/style.module.scss.js.map +1 -0
- package/dist/components/Editor/VariablePicker.d.ts +19 -0
- package/dist/components/Editor/VariablePicker.js +55 -0
- package/dist/components/Editor/VariablePicker.js.map +1 -0
- package/dist/components/Editor/index.d.ts +7 -0
- package/dist/components/Editor/index.js +21 -0
- package/dist/components/Editor/index.js.map +1 -0
- package/dist/components/Editor/msgVarTokenPlugin.d.ts +13 -0
- package/dist/components/Editor/msgVarTokenPlugin.js +94 -0
- package/dist/components/Editor/msgVarTokenPlugin.js.map +1 -0
- package/dist/components/Editor/variableMention.d.ts +37 -0
- package/dist/components/Editor/variableMention.js +64 -0
- package/dist/components/Editor/variableMention.js.map +1 -0
- package/dist/components/FormInfo/RichTextField/index.d.ts +21 -0
- package/dist/components/FormInfo/RichTextField/index.js +82 -0
- package/dist/components/FormInfo/RichTextField/index.js.map +1 -0
- package/dist/components/FormInfo/RichTextField/style.module.scss.js +9 -0
- package/dist/components/FormInfo/RichTextField/style.module.scss.js.map +1 -0
- package/dist/components/FormInfo/VariableMentionInput/index.d.ts +17 -0
- package/dist/components/FormInfo/VariableMentionInput/index.js +73 -0
- package/dist/components/FormInfo/VariableMentionInput/index.js.map +1 -0
- package/dist/components/FormInfo/VariableMentionInput/style.module.scss.js +11 -0
- package/dist/components/FormInfo/VariableMentionInput/style.module.scss.js.map +1 -0
- package/dist/components/FormInfo/fields.d.ts +5 -0
- package/dist/components/FormInfo/fields.js +32 -23
- package/dist/components/FormInfo/fields.js.map +1 -1
- package/dist/components/FormInfo/index.d.ts +4 -0
- package/dist/components/StateBar/StateBar.d.ts +19 -6
- package/dist/components/StateBar/StateBar.js +87 -50
- package/dist/components/StateBar/StateBar.js.map +1 -1
- package/dist/components/StateBar/style.module.scss.js +13 -10
- package/dist/components/StateBar/style.module.scss.js.map +1 -1
- package/dist/components/Table/ResizableHeaderCell.js +37 -38
- package/dist/components/Table/ResizableHeaderCell.js.map +1 -1
- package/dist/components/Table/Table.js +88 -89
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/columnConfigUtils.d.ts +1 -1
- package/dist/components/Table/columnConfigUtils.js.map +1 -1
- package/dist/components/Table/style.module.scss.js +34 -34
- package/dist/components/Tools/Inbox/InboxBell/InboxBell.d.ts +45 -0
- package/dist/components/Tools/Inbox/InboxBell/InboxBell.js +156 -0
- package/dist/components/Tools/Inbox/InboxBell/InboxBell.js.map +1 -0
- package/dist/components/Tools/Inbox/InboxBell/index.d.ts +2 -0
- package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js +30 -0
- package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js.map +1 -0
- package/dist/components/Tools/Inbox/index.d.ts +2 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.d.ts +8 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js +56 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js.map +1 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.d.ts +8 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js +216 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js.map +1 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.d.ts +26 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js +190 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js.map +1 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/index.d.ts +3 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/style.module.scss.js +12 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/style.module.scss.js.map +1 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +76 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js +26 -0
- package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -0
- package/dist/components/Tools/MessageCenter/index.d.ts +3 -0
- package/dist/components/Tools/MessageCenter/utils/templateCode.d.ts +8 -0
- package/dist/components/Tools/MessageCenter/utils/templateCode.js +25 -0
- package/dist/components/Tools/MessageCenter/utils/templateCode.js.map +1 -0
- package/dist/components/Tools/index.d.ts +5 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/editor.d.ts +5 -0
- package/dist/editor.js +21 -0
- package/dist/editor.js.map +1 -0
- package/dist/form-info.js +33 -29
- package/dist/form-info.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +805 -773
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +4 -1
- package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +301 -0
- package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +1256 -0
- package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js +2107 -0
- package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +259 -0
- package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +23990 -0
- package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +249 -0
- package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +47 -0
- package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js +100 -0
- package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +31 -0
- package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js +194 -0
- package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js +2042 -0
- package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +9 -0
- package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +167 -0
- package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js +471 -0
- package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +139 -0
- package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +755 -0
- package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +7838 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js +422 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js +33 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js +47 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js +156 -0
- package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +313 -0
- package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +2942 -0
- package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +892 -0
- package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js.map +1 -0
- package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +1047 -0
- package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js.map +1 -0
- package/dist/node_modules/color-parse/node_modules/color-name/index.js +153 -0
- package/dist/node_modules/color-parse/node_modules/color-name/index.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js +7 -0
- package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js +7 -0
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js +7 -0
- package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js +16 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js +15 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js +30 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js +17 -0
- package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js +13 -0
- package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js +17 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/clone.js +102 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/clone.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js +33 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/get.js +39 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/get.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/has.js +21 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/has.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js +33 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js +10 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/merge.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/merge.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js +53 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/property.js +10 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/property.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/set.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/set.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js +31 -0
- package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js +15 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js +81 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js +16 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +23 -0
- package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/eq.js +7 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/eq.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js +19 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/times.js +11 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/times.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js +9 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js +8 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js +37 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toString.js +15 -0
- package/dist/node_modules/es-toolkit/dist/compat/util/toString.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/function/after.js +11 -0
- package/dist/node_modules/es-toolkit/dist/function/after.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/function/debounce.js +30 -0
- package/dist/node_modules/es-toolkit/dist/function/debounce.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/function/identity.js +7 -0
- package/dist/node_modules/es-toolkit/dist/function/identity.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/function/noop.js +6 -0
- package/dist/node_modules/es-toolkit/dist/function/noop.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/object/clone.js +27 -0
- package/dist/node_modules/es-toolkit/dist/object/clone.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js +8 -0
- package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js +121 -0
- package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/object/mapValues.js +12 -0
- package/dist/node_modules/es-toolkit/dist/object/mapValues.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js +8 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js +9 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js +110 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isLength.js +7 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isLength.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js +9 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js +7 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js.map +1 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js +7 -0
- package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js.map +1 -0
- package/dist/styles/global.css +4 -1
- package/dist/utils/copyText.d.ts +4 -0
- package/dist/utils/copyText.js +21 -0
- package/dist/utils/copyText.js.map +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
var m = Object.defineProperty;
|
|
2
|
+
var f = (l, t, i) => t in l ? m(l, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : l[t] = i;
|
|
3
|
+
var r = (l, t, i) => f(l, typeof t != "symbol" ? t + "" : t, i);
|
|
4
|
+
import { CKEditorError as w, ElementReplacer as p, Rect as c } from "../../ckeditor5-utils/dist/index.js";
|
|
5
|
+
import { normalizeSingleRootEditorConstructorParams as b, normalizeRootsConfig as y, registerAndInitializeRootConfigAttributes as v, attachToForm as P, verifyRootElements as E, ElementApiMixin as k, rootAcceptsBlocks as T, Editor as C } from "../../ckeditor5-core/dist/index.js";
|
|
6
|
+
import { BoxedEditorUIView as V, StickyPanelView as B, ToolbarView as R, MenuBarView as S, InlineEditableUIView as _, EditorUI as O, normalizeToolbarConfig as x, DialogView as u } from "../../ckeditor5-ui/dist/index.js";
|
|
7
|
+
import { enableViewPlaceholder as I } from "../../ckeditor5-engine/dist/index.js";
|
|
8
|
+
import { isElement as D } from "../../../es-toolkit/dist/compat/predicate/isElement.js";
|
|
9
|
+
/**
|
|
10
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
11
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
15
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
16
|
+
*/
|
|
17
|
+
var F = class extends O {
|
|
18
|
+
/**
|
|
19
|
+
* Creates an instance of the classic editor UI class.
|
|
20
|
+
*
|
|
21
|
+
* @param editor The editor instance.
|
|
22
|
+
* @param view The view of the UI.
|
|
23
|
+
*/
|
|
24
|
+
constructor(t, i) {
|
|
25
|
+
super(t);
|
|
26
|
+
/**
|
|
27
|
+
* The main (top–most) view of the editor UI.
|
|
28
|
+
*/
|
|
29
|
+
r(this, "view");
|
|
30
|
+
/**
|
|
31
|
+
* A normalized `config.toolbar` object.
|
|
32
|
+
*/
|
|
33
|
+
r(this, "_toolbarConfig");
|
|
34
|
+
/**
|
|
35
|
+
* The element replacer instance used to hide the editor's source element.
|
|
36
|
+
*/
|
|
37
|
+
r(this, "_elementReplacer");
|
|
38
|
+
this.view = i, this._toolbarConfig = x(t.config.get("toolbar")), this._elementReplacer = new p(), this.listenTo(t.editing.view, "scrollToTheSelection", this._handleScrollToTheSelectionWithStickyPanel.bind(this));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @inheritDoc
|
|
42
|
+
*/
|
|
43
|
+
get element() {
|
|
44
|
+
return this.view.element;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Initializes the UI.
|
|
48
|
+
*
|
|
49
|
+
* @param replacementElement The DOM element that will be the source for the created editor.
|
|
50
|
+
*/
|
|
51
|
+
init(t) {
|
|
52
|
+
const i = this.editor, e = this.view, n = i.editing.view, o = e.editable, s = n.document.getRoot();
|
|
53
|
+
o.name = s.rootName, o.isInlineRoot = !T(i, s.rootName), e.render();
|
|
54
|
+
const a = o.element;
|
|
55
|
+
this.setEditableElement(o.name, a), e.editable.bind("isFocused").to(this.focusTracker), n.attachDomRoot(a), t && this._elementReplacer.replace(t, this.element), this._initPlaceholder(), this._initToolbar(), e.menuBarView && this.initMenuBar(e.menuBarView), this._initDialogPluginIntegration(), this._initContextualBalloonIntegration(), this.fire("ready");
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @inheritDoc
|
|
59
|
+
*/
|
|
60
|
+
destroy() {
|
|
61
|
+
super.destroy();
|
|
62
|
+
const t = this.view, i = this.editor.editing.view;
|
|
63
|
+
this._elementReplacer.restore(), i.getDomRoot(t.editable.name) && i.detachDomRoot(t.editable.name), t.destroy();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Initializes the editor toolbar.
|
|
67
|
+
*/
|
|
68
|
+
_initToolbar() {
|
|
69
|
+
const t = this.view;
|
|
70
|
+
t.stickyPanel.bind("isActive").to(this.focusTracker, "isFocused"), t.stickyPanel.limiterElement = t.element, t.stickyPanel.bind("viewportTopOffset").to(this, "viewportOffset", ({ visualTop: i }) => i || 0), t.toolbar.fillFromConfig(this._toolbarConfig, this.componentFactory), this.addToolbar(t.toolbar);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Enable the placeholder text on the editing root.
|
|
74
|
+
*/
|
|
75
|
+
_initPlaceholder() {
|
|
76
|
+
const t = this.editor, i = t.editing.view, e = i.document.getRoot(), n = t.sourceElement;
|
|
77
|
+
let o;
|
|
78
|
+
const s = t.config.get("roots")[this.view.editable.name].placeholder;
|
|
79
|
+
s && (o = s), !o && n && n.tagName.toLowerCase() === "textarea" && (o = n.getAttribute("placeholder")), o && (e.placeholder = o), I({
|
|
80
|
+
view: i,
|
|
81
|
+
element: e,
|
|
82
|
+
isDirectHost: this.view.editable.isInlineRoot,
|
|
83
|
+
keepOnFocus: !0
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Provides an integration between the sticky toolbar and {@link module:ui/panel/balloon/contextualballoon contextual balloon plugin}.
|
|
88
|
+
* It allows the contextual balloon to consider the height of the
|
|
89
|
+
* {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#stickyPanel}. It prevents the balloon from overlapping
|
|
90
|
+
* the sticky toolbar by adjusting the balloon's position using viewport offset configuration.
|
|
91
|
+
*/
|
|
92
|
+
_initContextualBalloonIntegration() {
|
|
93
|
+
if (!this.editor.plugins.has("ContextualBalloon")) return;
|
|
94
|
+
const { stickyPanel: t } = this.view, i = this.editor.plugins.get("ContextualBalloon");
|
|
95
|
+
i.on("getPositionOptions", (n) => {
|
|
96
|
+
const o = n.return;
|
|
97
|
+
if (!o || !t.isSticky || !t.element) return;
|
|
98
|
+
const s = new c(t.element).height, a = typeof o.target == "function" ? o.target() : o.target, h = typeof o.limiter == "function" ? o.limiter() : o.limiter;
|
|
99
|
+
if (a && h && new c(a).height >= new c(h).height - s) return;
|
|
100
|
+
const d = { ...o.viewportOffsetConfig }, g = (d.top || 0) + s;
|
|
101
|
+
n.return = {
|
|
102
|
+
...o,
|
|
103
|
+
viewportOffsetConfig: {
|
|
104
|
+
...d,
|
|
105
|
+
top: g
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}, { priority: "low" });
|
|
109
|
+
const e = () => {
|
|
110
|
+
i.visibleView && i.updatePosition();
|
|
111
|
+
};
|
|
112
|
+
this.listenTo(t, "change:isSticky", e), this.listenTo(this.editor.ui, "change:viewportOffset", e);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Provides an integration between the sticky toolbar and {@link module:utils/dom/scroll~scrollViewportToShowTarget}.
|
|
116
|
+
* It allows the UI-agnostic engine method to consider the geometry of the
|
|
117
|
+
* {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#stickyPanel} that pins to the
|
|
118
|
+
* edge of the viewport and can obscure the user caret after scrolling the window.
|
|
119
|
+
*
|
|
120
|
+
* @param evt The `scrollToTheSelection` event info.
|
|
121
|
+
* @param data The payload carried by the `scrollToTheSelection` event.
|
|
122
|
+
* @param originalArgs The original arguments passed to `scrollViewportToShowTarget()` method (see implementation to learn more).
|
|
123
|
+
*/
|
|
124
|
+
_handleScrollToTheSelectionWithStickyPanel(t, i, e) {
|
|
125
|
+
const n = this.view.stickyPanel;
|
|
126
|
+
if (n.isSticky) {
|
|
127
|
+
const o = new c(n.element).height;
|
|
128
|
+
i.viewportOffset.top += o;
|
|
129
|
+
} else {
|
|
130
|
+
const o = () => {
|
|
131
|
+
this.editor.editing.view.scrollToTheSelection(e);
|
|
132
|
+
};
|
|
133
|
+
this.listenTo(n, "change:isSticky", o), setTimeout(() => {
|
|
134
|
+
this.stopListening(n, "change:isSticky", o);
|
|
135
|
+
}, 20);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Provides an integration between the sticky toolbar and {@link module:ui/dialog/dialog the Dialog plugin}.
|
|
140
|
+
*
|
|
141
|
+
* It moves the dialog down to ensure that the
|
|
142
|
+
* {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#stickyPanel sticky panel}
|
|
143
|
+
* used by the editor UI will not get obscured by the dialog when the dialog uses one of its automatic positions.
|
|
144
|
+
*/
|
|
145
|
+
_initDialogPluginIntegration() {
|
|
146
|
+
if (!this.editor.plugins.has("Dialog")) return;
|
|
147
|
+
const t = this.view.stickyPanel, i = this.editor.plugins.get("Dialog");
|
|
148
|
+
i.on("show", () => {
|
|
149
|
+
const e = i.view;
|
|
150
|
+
e.on("moveTo", (n, o) => {
|
|
151
|
+
if (!t.isSticky || e.wasMoved || e.isModal) return;
|
|
152
|
+
const s = new c(t.contentPanelElement);
|
|
153
|
+
o[1] < s.bottom + u.defaultOffset && (o[1] = s.bottom + u.defaultOffset);
|
|
154
|
+
}, { priority: "high" });
|
|
155
|
+
}, { priority: "low" });
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
160
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
161
|
+
*/
|
|
162
|
+
var M = class extends V {
|
|
163
|
+
/**
|
|
164
|
+
* Creates an instance of the classic editor UI view.
|
|
165
|
+
*
|
|
166
|
+
* @param locale The {@link module:core/editor/editor~Editor#locale} instance.
|
|
167
|
+
* @param editingView The editing view instance this view is related to.
|
|
168
|
+
* @param options Configuration options for the view instance.
|
|
169
|
+
* @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping
|
|
170
|
+
* in the main {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#toolbar toolbar}.
|
|
171
|
+
* See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more.
|
|
172
|
+
* @param options.editableElement A {@link module:core/editor/editorconfig~ViewRootElementDefinition}
|
|
173
|
+
* describing the editable element to create inside the UI box. When omitted, a default `<div>` is used.
|
|
174
|
+
* @param options.label When set, this value will be used as an accessible `aria-label` of the
|
|
175
|
+
* {@link module:ui/editableui/editableuiview~EditableUIView editable view}.
|
|
176
|
+
*/
|
|
177
|
+
constructor(t, i, e = {}) {
|
|
178
|
+
super(t);
|
|
179
|
+
/**
|
|
180
|
+
* Sticky panel view instance. This is a parent view of a {@link #toolbar}
|
|
181
|
+
* that makes toolbar sticky.
|
|
182
|
+
*/
|
|
183
|
+
r(this, "stickyPanel");
|
|
184
|
+
/**
|
|
185
|
+
* Toolbar view instance.
|
|
186
|
+
*/
|
|
187
|
+
r(this, "toolbar");
|
|
188
|
+
/**
|
|
189
|
+
* Editable UI view.
|
|
190
|
+
*/
|
|
191
|
+
r(this, "editable");
|
|
192
|
+
this.stickyPanel = new B(t), this.toolbar = new R(t, { shouldGroupWhenFull: e.shouldToolbarGroupWhenFull }), e.useMenuBar && (this.menuBarView = new S(t)), this.editable = new _(t, i, e.editableElement, { label: e.label });
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* @inheritDoc
|
|
196
|
+
*/
|
|
197
|
+
render() {
|
|
198
|
+
super.render(), this.menuBarView ? this.stickyPanel.content.addMany([this.menuBarView, this.toolbar]) : this.stickyPanel.content.add(this.toolbar), this.top.add(this.stickyPanel), this.main.add(this.editable);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
203
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
204
|
+
*/
|
|
205
|
+
const A = /* @__PURE__ */ k(C);
|
|
206
|
+
var K = class extends A {
|
|
207
|
+
constructor(t, i = {}) {
|
|
208
|
+
const { sourceElementOrData: e, editorConfig: n } = b(t, i);
|
|
209
|
+
super(n);
|
|
210
|
+
/**
|
|
211
|
+
* @inheritDoc
|
|
212
|
+
*/
|
|
213
|
+
r(this, "ui");
|
|
214
|
+
y(e, this.config, "main", !0);
|
|
215
|
+
const o = this.config.get("attachTo");
|
|
216
|
+
if (this.config.define("menuBar.isVisible", !1), W(o)) {
|
|
217
|
+
if (!o.isConnected)
|
|
218
|
+
throw new w("editor-source-element-not-attached", null);
|
|
219
|
+
this.sourceElement = o;
|
|
220
|
+
}
|
|
221
|
+
this.model.document.createRoot(this.config.get("roots").main.modelElement), v(this);
|
|
222
|
+
const s = !this.config.get("toolbar.shouldNotGroupWhenFull"), a = this.config.get("menuBar"), h = this.config.get("roots").main.element, d = new M(this.locale, this.editing.view, {
|
|
223
|
+
shouldToolbarGroupWhenFull: s,
|
|
224
|
+
useMenuBar: a.isVisible,
|
|
225
|
+
label: this.config.get("roots").main.label,
|
|
226
|
+
editableElement: h
|
|
227
|
+
});
|
|
228
|
+
this.ui = new F(this, d), P(this);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* @inheritDoc
|
|
232
|
+
*/
|
|
233
|
+
static get editorName() {
|
|
234
|
+
return "ClassicEditor";
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Destroys the editor instance, releasing all resources used by it.
|
|
238
|
+
*
|
|
239
|
+
* Updates the original editor element with the data if the
|
|
240
|
+
* {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}
|
|
241
|
+
* configuration option is set to `true`.
|
|
242
|
+
*/
|
|
243
|
+
async destroy() {
|
|
244
|
+
this.sourceElement && this.updateSourceElement(), this.ui.destroy(), await super.destroy();
|
|
245
|
+
}
|
|
246
|
+
static async create(t, i = {}) {
|
|
247
|
+
const e = new this(t, i);
|
|
248
|
+
return await e.initPlugins(), E(e), await e.ui.init(e.config.get("attachTo") || null), await e.data.init(e.config.get("roots").main.initialData), e.fire("ready"), e;
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
function W(l) {
|
|
252
|
+
return D(l);
|
|
253
|
+
}
|
|
254
|
+
export {
|
|
255
|
+
K as ClassicEditor,
|
|
256
|
+
F as ClassicEditorUI,
|
|
257
|
+
M as ClassicEditorUIView
|
|
258
|
+
};
|
|
259
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js"],"sourcesContent":["/**\n * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\nimport { CKEditorError, ElementReplacer, Rect } from \"@ckeditor/ckeditor5-utils\";\nimport { Editor, ElementApiMixin, attachToForm, normalizeRootsConfig, normalizeSingleRootEditorConstructorParams, registerAndInitializeRootConfigAttributes, rootAcceptsBlocks, verifyRootElements } from \"@ckeditor/ckeditor5-core\";\nimport { BoxedEditorUIView, DialogView, EditorUI, InlineEditableUIView, MenuBarView, StickyPanelView, ToolbarView, normalizeToolbarConfig } from \"@ckeditor/ckeditor5-ui\";\nimport { enableViewPlaceholder } from \"@ckeditor/ckeditor5-engine\";\nimport { isElement } from \"es-toolkit/compat\";\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* @module editor-classic/classiceditorui\n*/\n/**\n* The classic editor UI class.\n*/\nvar ClassicEditorUI = class extends EditorUI {\n\t/**\n\t* The main (top–most) view of the editor UI.\n\t*/\n\tview;\n\t/**\n\t* A normalized `config.toolbar` object.\n\t*/\n\t_toolbarConfig;\n\t/**\n\t* The element replacer instance used to hide the editor's source element.\n\t*/\n\t_elementReplacer;\n\t/**\n\t* Creates an instance of the classic editor UI class.\n\t*\n\t* @param editor The editor instance.\n\t* @param view The view of the UI.\n\t*/\n\tconstructor(editor, view) {\n\t\tsuper(editor);\n\t\tthis.view = view;\n\t\tthis._toolbarConfig = normalizeToolbarConfig(editor.config.get(\"toolbar\"));\n\t\tthis._elementReplacer = new ElementReplacer();\n\t\tthis.listenTo(editor.editing.view, \"scrollToTheSelection\", this._handleScrollToTheSelectionWithStickyPanel.bind(this));\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tget element() {\n\t\treturn this.view.element;\n\t}\n\t/**\n\t* Initializes the UI.\n\t*\n\t* @param replacementElement The DOM element that will be the source for the created editor.\n\t*/\n\tinit(replacementElement) {\n\t\tconst editor = this.editor;\n\t\tconst view = this.view;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editable = view.editable;\n\t\tconst editingRoot = editingView.document.getRoot();\n\t\teditable.name = editingRoot.rootName;\n\t\teditable.isInlineRoot = !rootAcceptsBlocks(editor, editingRoot.rootName);\n\t\tview.render();\n\t\tconst editableElement = editable.element;\n\t\tthis.setEditableElement(editable.name, editableElement);\n\t\tview.editable.bind(\"isFocused\").to(this.focusTracker);\n\t\teditingView.attachDomRoot(editableElement);\n\t\tif (replacementElement) this._elementReplacer.replace(replacementElement, this.element);\n\t\tthis._initPlaceholder();\n\t\tthis._initToolbar();\n\t\tif (view.menuBarView) this.initMenuBar(view.menuBarView);\n\t\tthis._initDialogPluginIntegration();\n\t\tthis._initContextualBalloonIntegration();\n\t\tthis.fire(\"ready\");\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tdestroy() {\n\t\tsuper.destroy();\n\t\tconst view = this.view;\n\t\tconst editingView = this.editor.editing.view;\n\t\tthis._elementReplacer.restore();\n\t\tif (editingView.getDomRoot(view.editable.name)) editingView.detachDomRoot(view.editable.name);\n\t\tview.destroy();\n\t}\n\t/**\n\t* Initializes the editor toolbar.\n\t*/\n\t_initToolbar() {\n\t\tconst view = this.view;\n\t\tview.stickyPanel.bind(\"isActive\").to(this.focusTracker, \"isFocused\");\n\t\tview.stickyPanel.limiterElement = view.element;\n\t\tview.stickyPanel.bind(\"viewportTopOffset\").to(this, \"viewportOffset\", ({ visualTop }) => visualTop || 0);\n\t\tview.toolbar.fillFromConfig(this._toolbarConfig, this.componentFactory);\n\t\tthis.addToolbar(view.toolbar);\n\t}\n\t/**\n\t* Enable the placeholder text on the editing root.\n\t*/\n\t_initPlaceholder() {\n\t\tconst editor = this.editor;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editingRoot = editingView.document.getRoot();\n\t\tconst sourceElement = editor.sourceElement;\n\t\tlet placeholderText;\n\t\tconst placeholder = editor.config.get(\"roots\")[this.view.editable.name].placeholder;\n\t\tif (placeholder) placeholderText = placeholder;\n\t\tif (!placeholderText && sourceElement && sourceElement.tagName.toLowerCase() === \"textarea\") placeholderText = sourceElement.getAttribute(\"placeholder\");\n\t\tif (placeholderText) editingRoot.placeholder = placeholderText;\n\t\tenableViewPlaceholder({\n\t\t\tview: editingView,\n\t\t\telement: editingRoot,\n\t\t\tisDirectHost: this.view.editable.isInlineRoot,\n\t\t\tkeepOnFocus: true\n\t\t});\n\t}\n\t/**\n\t* Provides an integration between the sticky toolbar and {@link module:ui/panel/balloon/contextualballoon contextual balloon plugin}.\n\t* It allows the contextual balloon to consider the height of the\n\t* {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#stickyPanel}. It prevents the balloon from overlapping\n\t* the sticky toolbar by adjusting the balloon's position using viewport offset configuration.\n\t*/\n\t_initContextualBalloonIntegration() {\n\t\tif (!this.editor.plugins.has(\"ContextualBalloon\")) return;\n\t\tconst { stickyPanel } = this.view;\n\t\tconst contextualBalloon = this.editor.plugins.get(\"ContextualBalloon\");\n\t\tcontextualBalloon.on(\"getPositionOptions\", (evt) => {\n\t\t\tconst position = evt.return;\n\t\t\tif (!position || !stickyPanel.isSticky || !stickyPanel.element) return;\n\t\t\tconst stickyPanelHeight = new Rect(stickyPanel.element).height;\n\t\t\tconst target = typeof position.target === \"function\" ? position.target() : position.target;\n\t\t\tconst limiter = typeof position.limiter === \"function\" ? position.limiter() : position.limiter;\n\t\t\tif (target && limiter && new Rect(target).height >= new Rect(limiter).height - stickyPanelHeight) return;\n\t\t\tconst viewportOffsetConfig = { ...position.viewportOffsetConfig };\n\t\t\tconst newTopViewportOffset = (viewportOffsetConfig.top || 0) + stickyPanelHeight;\n\t\t\tevt.return = {\n\t\t\t\t...position,\n\t\t\t\tviewportOffsetConfig: {\n\t\t\t\t\t...viewportOffsetConfig,\n\t\t\t\t\ttop: newTopViewportOffset\n\t\t\t\t}\n\t\t\t};\n\t\t}, { priority: \"low\" });\n\t\tconst updateBalloonPosition = () => {\n\t\t\tif (contextualBalloon.visibleView) contextualBalloon.updatePosition();\n\t\t};\n\t\tthis.listenTo(stickyPanel, \"change:isSticky\", updateBalloonPosition);\n\t\tthis.listenTo(this.editor.ui, \"change:viewportOffset\", updateBalloonPosition);\n\t}\n\t/**\n\t* Provides an integration between the sticky toolbar and {@link module:utils/dom/scroll~scrollViewportToShowTarget}.\n\t* It allows the UI-agnostic engine method to consider the geometry of the\n\t* {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#stickyPanel} that pins to the\n\t* edge of the viewport and can obscure the user caret after scrolling the window.\n\t*\n\t* @param evt The `scrollToTheSelection` event info.\n\t* @param data The payload carried by the `scrollToTheSelection` event.\n\t* @param originalArgs The original arguments passed to `scrollViewportToShowTarget()` method (see implementation to learn more).\n\t*/\n\t_handleScrollToTheSelectionWithStickyPanel(evt, data, originalArgs) {\n\t\tconst stickyPanel = this.view.stickyPanel;\n\t\tif (stickyPanel.isSticky) {\n\t\t\tconst stickyPanelHeight = new Rect(stickyPanel.element).height;\n\t\t\tdata.viewportOffset.top += stickyPanelHeight;\n\t\t} else {\n\t\t\tconst scrollViewportOnPanelGettingSticky = () => {\n\t\t\t\tthis.editor.editing.view.scrollToTheSelection(originalArgs);\n\t\t\t};\n\t\t\tthis.listenTo(stickyPanel, \"change:isSticky\", scrollViewportOnPanelGettingSticky);\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.stopListening(stickyPanel, \"change:isSticky\", scrollViewportOnPanelGettingSticky);\n\t\t\t}, 20);\n\t\t}\n\t}\n\t/**\n\t* Provides an integration between the sticky toolbar and {@link module:ui/dialog/dialog the Dialog plugin}.\n\t*\n\t* It moves the dialog down to ensure that the\n\t* {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#stickyPanel sticky panel}\n\t* used by the editor UI will not get obscured by the dialog when the dialog uses one of its automatic positions.\n\t*/\n\t_initDialogPluginIntegration() {\n\t\tif (!this.editor.plugins.has(\"Dialog\")) return;\n\t\tconst stickyPanel = this.view.stickyPanel;\n\t\tconst dialogPlugin = this.editor.plugins.get(\"Dialog\");\n\t\tdialogPlugin.on(\"show\", () => {\n\t\t\tconst dialogView = dialogPlugin.view;\n\t\t\tdialogView.on(\"moveTo\", (evt, data) => {\n\t\t\t\tif (!stickyPanel.isSticky || dialogView.wasMoved || dialogView.isModal) return;\n\t\t\t\tconst stickyPanelContentRect = new Rect(stickyPanel.contentPanelElement);\n\t\t\t\tif (data[1] < stickyPanelContentRect.bottom + DialogView.defaultOffset) data[1] = stickyPanelContentRect.bottom + DialogView.defaultOffset;\n\t\t\t}, { priority: \"high\" });\n\t\t}, { priority: \"low\" });\n\t}\n};\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* @module editor-classic/classiceditoruiview\n*/\n/**\n* Classic editor UI view. Uses an inline editable and a sticky toolbar, all\n* enclosed in a boxed UI view.\n*/\nvar ClassicEditorUIView = class extends BoxedEditorUIView {\n\t/**\n\t* Sticky panel view instance. This is a parent view of a {@link #toolbar}\n\t* that makes toolbar sticky.\n\t*/\n\tstickyPanel;\n\t/**\n\t* Toolbar view instance.\n\t*/\n\ttoolbar;\n\t/**\n\t* Editable UI view.\n\t*/\n\teditable;\n\t/**\n\t* Creates an instance of the classic editor UI view.\n\t*\n\t* @param locale The {@link module:core/editor/editor~Editor#locale} instance.\n\t* @param editingView The editing view instance this view is related to.\n\t* @param options Configuration options for the view instance.\n\t* @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping\n\t* in the main {@link module:editor-classic/classiceditoruiview~ClassicEditorUIView#toolbar toolbar}.\n\t* See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more.\n\t* @param options.editableElement A {@link module:core/editor/editorconfig~ViewRootElementDefinition}\n\t* describing the editable element to create inside the UI box. When omitted, a default `<div>` is used.\n\t* @param options.label When set, this value will be used as an accessible `aria-label` of the\n\t* {@link module:ui/editableui/editableuiview~EditableUIView editable view}.\n\t*/\n\tconstructor(locale, editingView, options = {}) {\n\t\tsuper(locale);\n\t\tthis.stickyPanel = new StickyPanelView(locale);\n\t\tthis.toolbar = new ToolbarView(locale, { shouldGroupWhenFull: options.shouldToolbarGroupWhenFull });\n\t\tif (options.useMenuBar) this.menuBarView = new MenuBarView(locale);\n\t\tthis.editable = new InlineEditableUIView(locale, editingView, options.editableElement, { label: options.label });\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\trender() {\n\t\tsuper.render();\n\t\tif (this.menuBarView) this.stickyPanel.content.addMany([this.menuBarView, this.toolbar]);\n\t\telse this.stickyPanel.content.add(this.toolbar);\n\t\tthis.top.add(this.stickyPanel);\n\t\tthis.main.add(this.editable);\n\t}\n};\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n/**\n* @module editor-classic/classiceditor\n*/\nconst ClassicEditorBase = /* #__PURE__ */ ElementApiMixin(Editor);\n/**\n* The classic editor implementation. It uses an inline editable and a sticky toolbar, all enclosed in a boxed UI.\n* See the {@glink examples/builds/classic-editor demo}.\n*\n* In order to create a classic editor instance, use the static\n* {@link module:editor-classic/classiceditor~ClassicEditor.create `ClassicEditor.create()`} method.\n*/\nvar ClassicEditor = class extends ClassicEditorBase {\n\t/**\n\t* @inheritDoc\n\t*/\n\tstatic get editorName() {\n\t\treturn \"ClassicEditor\";\n\t}\n\t/**\n\t* @inheritDoc\n\t*/\n\tui;\n\tconstructor(sourceElementOrDataOrConfig, config = {}) {\n\t\tconst { sourceElementOrData, editorConfig } = normalizeSingleRootEditorConstructorParams(sourceElementOrDataOrConfig, config);\n\t\tsuper(editorConfig);\n\t\tnormalizeRootsConfig(sourceElementOrData, this.config, \"main\", true);\n\t\tconst sourceElement = this.config.get(\"attachTo\");\n\t\tthis.config.define(\"menuBar.isVisible\", false);\n\t\tif (isElement$1(sourceElement)) {\n\t\t\tif (!sourceElement.isConnected)\n /**\n\t\t\t* Cannot initialize the editor because the provided source element is not attached to the DOM and cannot be replaced.\n\t\t\t*\n\t\t\t* @error editor-source-element-not-attached\n\t\t\t*/\n\t\t\tthrow new CKEditorError(\"editor-source-element-not-attached\", null);\n\t\t\tthis.sourceElement = sourceElement;\n\t\t}\n\t\tthis.model.document.createRoot(this.config.get(\"roots\").main.modelElement);\n\t\tregisterAndInitializeRootConfigAttributes(this);\n\t\tconst shouldToolbarGroupWhenFull = !this.config.get(\"toolbar.shouldNotGroupWhenFull\");\n\t\tconst menuBarConfig = this.config.get(\"menuBar\");\n\t\tconst editableElement = this.config.get(\"roots\").main.element;\n\t\tconst view = new ClassicEditorUIView(this.locale, this.editing.view, {\n\t\t\tshouldToolbarGroupWhenFull,\n\t\t\tuseMenuBar: menuBarConfig.isVisible,\n\t\t\tlabel: this.config.get(\"roots\").main.label,\n\t\t\teditableElement\n\t\t});\n\t\tthis.ui = new ClassicEditorUI(this, view);\n\t\tattachToForm(this);\n\t}\n\t/**\n\t* Destroys the editor instance, releasing all resources used by it.\n\t*\n\t* Updates the original editor element with the data if the\n\t* {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t* configuration option is set to `true`.\n\t*/\n\tasync destroy() {\n\t\tif (this.sourceElement) this.updateSourceElement();\n\t\tthis.ui.destroy();\n\t\tawait super.destroy();\n\t}\n\tstatic async create(sourceElementOrDataOrConfig, config = {}) {\n\t\tconst editor = new this(sourceElementOrDataOrConfig, config);\n\t\tawait editor.initPlugins();\n\t\tverifyRootElements(editor);\n\t\tawait editor.ui.init(editor.config.get(\"attachTo\") || null);\n\t\tawait editor.data.init(editor.config.get(\"roots\").main.initialData);\n\t\teditor.fire(\"ready\");\n\t\treturn editor;\n\t}\n};\nfunction isElement$1(value) {\n\treturn isElement(value);\n}\n\n/**\n* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.\n* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n*/\n\nexport { ClassicEditor, ClassicEditorUI, ClassicEditorUIView };\n//# sourceMappingURL=index.js.map"],"names":["ClassicEditorUI","EditorUI","editor","view","__publicField","normalizeToolbarConfig","ElementReplacer","replacementElement","editingView","editable","editingRoot","rootAcceptsBlocks","editableElement","visualTop","sourceElement","placeholderText","placeholder","enableViewPlaceholder","stickyPanel","contextualBalloon","evt","position","stickyPanelHeight","Rect","target","limiter","viewportOffsetConfig","newTopViewportOffset","updateBalloonPosition","data","originalArgs","scrollViewportOnPanelGettingSticky","dialogPlugin","dialogView","stickyPanelContentRect","DialogView","ClassicEditorUIView","BoxedEditorUIView","locale","options","StickyPanelView","ToolbarView","MenuBarView","InlineEditableUIView","ClassicEditorBase","ElementApiMixin","Editor","ClassicEditor","sourceElementOrDataOrConfig","config","sourceElementOrData","editorConfig","normalizeSingleRootEditorConstructorParams","normalizeRootsConfig","isElement$1","CKEditorError","registerAndInitializeRootConfigAttributes","shouldToolbarGroupWhenFull","menuBarConfig","attachToForm","verifyRootElements","value","isElement"],"mappings":"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","x_google_ignoreList":[0]}
|