docs: support document internationalization #222

* docs: add English docuemnt #213

* docs: support document internationalization #222

---------

Co-authored-by: Hufe921 <huangyunfeihufe@hotmail.com>
pr675
汥坳赵 3 years ago committed by GitHub
parent fc356c7eb6
commit 9f8016884f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,20 +5,24 @@ export default defineConfig({
title: 'canvas-editor', title: 'canvas-editor',
description: 'rich text editor by canvas/svg', description: 'rich text editor by canvas/svg',
themeConfig: { themeConfig: {
i18nRouting: false,
algolia: { algolia: {
appId: 'RWSVW6F3S5', appId: 'RWSVW6F3S5',
apiKey: 'e462fffb4d2e9ab4a78c29e0b457ab33', apiKey: 'e462fffb4d2e9ab4a78c29e0b457ab33',
indexName: 'hufe', indexName: 'hufe'
}, },
logo: '/favicon.png', logo: '/favicon.png',
nav: [{ nav: [
text: '指南', {
link: '/guide/start', text: '指南',
activeMatch: '/guide/' link: '/guide/start',
}, { activeMatch: '/guide/'
text: 'Demo', },
link: 'https://hufe.club/canvas-editor' {
}], text: 'Demo',
link: 'https://hufe.club/canvas-editor'
}
],
sidebar: [ sidebar: [
{ {
text: '开始', text: '开始',
@ -47,7 +51,7 @@ export default defineConfig({
text: '快捷键', text: '快捷键',
items: [ items: [
{ text: '内部快捷键', link: '/guide/shortcut-internal' }, { text: '内部快捷键', link: '/guide/shortcut-internal' },
{ text: '自定义快捷键', link: '/guide/shortcut-custom' }, { text: '自定义快捷键', link: '/guide/shortcut-custom' }
] ]
}, },
{ {
@ -59,24 +63,93 @@ export default defineConfig({
}, },
{ {
text: 'API', text: 'API',
items: [ items: [{ text: '全局API', link: '/guide/api' }]
{ text: '全局API', link: '/guide/api' }
]
}, },
{ {
text: '插件', text: '插件',
items: [ items: [{ text: '自定义插件', link: '/guide/plugin' }]
{ text: '自定义插件', link: '/guide/plugin' } }
] ],
socialLinks: [
{
icon: 'github',
link: 'https://github.com/Hufe921/canvas-editor'
} }
], ],
socialLinks: [{
icon: 'github',
link: 'https://github.com/Hufe921/canvas-editor'
}],
footer: { footer: {
message: 'Released under the MIT License.', message: 'Released under the MIT License.',
copyright: 'Copyright © 2021-present Hufe' copyright: 'Copyright © 2021-present Hufe'
} }
},
locales: {
root: {
label: '简体中文',
lang: 'zh-CN'
},
en: {
label: 'English',
lang: 'en',
link: '/en/',
themeConfig: {
nav: [
{
text: 'Guide',
link: '/en/guide/start',
activeMatch: '/en/guide/'
},
{
text: 'Demo',
link: 'https://hufe.club/canvas-editor'
}
],
sidebar: [
{
text: 'Start',
items: [
{ text: 'start', link: '/en/guide/start' },
{ text: 'option', link: '/en/guide/option' },
{ text: 'i18n', link: '/en/guide/i18n' },
{ text: 'schema', link: '/en/guide/schema' }
]
},
{
text: 'Command',
items: [
{ text: 'execute', link: '/en/guide/command-execute' },
{ text: 'get', link: '/en/guide/command-get' }
]
},
{
text: 'Listener',
items: [
{ text: 'listener', link: '/en/guide/listener' },
{ text: 'eventbus', link: '/en/guide/eventbus' }
]
},
{
text: 'Shortcut',
items: [
{ text: 'internal', link: '/en/guide/shortcut-internal' },
{ text: 'custom', link: '/en/guide/shortcut-custom' }
]
},
{
text: 'Contextmenu',
items: [
{ text: 'internal', link: '/en/guide/contextmenu-internal' },
{ text: 'custom', link: '/en/guide/contextmenu-custom' }
]
},
{
text: 'Api',
items: [{ text: 'api', link: '/en/guide/api' }]
},
{
text: 'Plugin',
items: [{ text: 'plugin', link: '/en/guide/plugin' }]
}
]
}
}
} }
}) })

@ -0,0 +1,24 @@
# Global API
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
instance.apiName()
```
## destroy
Feature: Destroy the editor
Usage
```javascript
instance.destroy()
```
::: warning
Only destroy the editor DOM and related events, menu bars, toolbars, external variables, etc. need to be handled by themselves.
:::

@ -0,0 +1,745 @@
# Execute Command
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
instance.command.commandName()
```
## executeMode
Feature: Switch editor mode (Edit, Clean, Read only)
Usage:
```javascript
instance.command.executeMode(editorMode: EditorMode)
```
## executeCut
Feature: Cut
Usage:
```javascript
instance.command.executeCut()
```
## executeCopy
Feature: Copy
Usage:
```javascript
instance.command.executeCopy()
```
## executePaste
Feature: Paste
Usage:
```javascript
instance.command.executePaste()
```
## executeSelectAll
Feature: Select all
Usage:
```javascript
instance.command.executeSelectAll()
```
## executeBackspace
Feature: Forward delete
Usage:
```javascript
instance.command.executeBackspace()
```
## executeSetRange
Feature: Set selection
Usage:
```javascript
instance.command.executeSetRange(startIndex: number , endIndex: number)
```
## executeUndo
Feature: Undo
Usage:
```javascript
instance.command.executeUndo()
```
## executeRedo
Feature: Redo
Usage:
```javascript
instance.command.executeRedo()
```
## executePainter
Feature: Format Brush - Copy style
Usage:
```javascript
instance.command.executePainter()
```
## executeApplyPainterStyle
Feature: Format brush - Apply style
Usage:
```javascript
instance.command.executeApplyPainterStyle()
```
## executeFormat
Feature: Clear format
Usage:
```javascript
instance.command.executeFormat()
```
## executeFont
Feature: Set font
Usage:
```javascript
instance.command.executeFont(font: string)
```
## executeSize
Feature: Set font size
Usage:
```javascript
instance.command.executeSize(size: number)
```
## executeSizeAdd
Feature: Increase the font size
Usage:
```javascript
instance.command.executeSizeAdd()
```
## executeSizeMinus
Feature: Reduce the font size
Usage:
```javascript
instance.command.executeSizeMinus()
```
## executeBold
Feature: Bold
Usage:
```javascript
instance.command.executeBold()
```
## executeItalic
Feature: Italic
Usage:
```javascript
instance.command.executeItalic()
```
## executeUnderline
Feature: Underline
Usage:
```javascript
instance.command.executeUnderline()
```
## executeStrikeout
Feature: Strikeout
Usage:
```javascript
instance.command.executeStrikeout()
```
## executeSuperscript
Feature: Superscript
Usage:
```javascript
instance.command.executeSuperscript()
```
## executeSubscript
Feature: Subscript
Usage:
```javascript
instance.command.executeSubscript()
```
## executeColor
Feature: Font color
Usage:
```javascript
instance.command.executeColor()
```
## executeHighlight
Feature: Highlight
Usage:
```javascript
instance.command.executeHighlight()
```
## executeTitle
Feature: Set title
Usage:
```javascript
instance.command.executeTitle(TitleLevel | null)
```
## executeList
Feature: Set list
Usage:
```javascript
instance.command.executeList(listType: ListType | null, listStyle?: ListStyle)
```
## executeRowFlex
Feature: Line alignment
Usage:
```javascript
instance.command.executeRowFlex(rowFlex: RowFlex)
```
## executeRowMargin
Feature: Line spacing
Usage:
```javascript
instance.command.executeRowMargin(rowMargin: number)
```
## executeInsertTable
Feature: Insert table
Usage:
```javascript
instance.command.executeInsertTable(row: number, col: number)
```
## executeInsertTableTopRow
Feature: Insert a row up
Usage:
```javascript
instance.command.executeInsertTableTopRow()
```
## executeInsertTableBottomRow
Feature: Insert a row down
Usage:
```javascript
instance.command.executeInsertTableBottomRow()
```
## executeInsertTableLeftCol
Feature: Insert a column to the left
Usage:
```javascript
instance.command.executeInsertTableLeftCol()
```
## executeInsertTableRightCol
Feature: Insert a column to the right
Usage:
```javascript
instance.command.executeInsertTableRightCol()
```
## executeDeleteTableRow
Feature: Deletes the current row
Usage:
```javascript
instance.command.executeDeleteTableRow()
```
## executeDeleteTableCol
Feature: Delete the current column
Usage:
```javascript
instance.command.executeDeleteTableCol()
```
## executeDeleteTable
Feature: Delete the table
Usage:
```javascript
instance.command.executeDeleteTable()
```
## executeMergeTableCell
Feature: Merge tables
Usage:
```javascript
instance.command.executeMergeTableCell()
```
## executeCancelMergeTableCell
Feature: Cancel the merge form
Usage:
```javascript
instance.command.executeCancelMergeTableCell()
```
## executeTableTdVerticalAlign
Feature: Table cell vertical alignment
Usage:
```javascript
instance.command.executeTableTdVerticalAlign(payload: VerticalAlign)
```
## executeTableBorderType
Feature: Table border type
Usage:
```javascript
instance.command.executeTableBorderType(payload: TableBorder)
```
## executeTableTdBackgroundColor
Feature: Table cell background color
Usage:
```javascript
instance.command.executeTableTdBackgroundColor(payload: string)
```
## executeImage
Feature: Insert a picture
Usage:
```javascript
instance.command.executeImage({
width: number;
height: number;
value: string;
})
```
## executeHyperlink
Feature: Insert a link
Usage:
```javascript
instance.command.executeHyperlink({
type: ElementType.HYPERLINK,
value: string,
url: string,
valueList: IElement[]
})
```
## executeDeleteHyperlink
Feature: Delete the link
Usage:
```javascript
instance.command.executeDeleteHyperlink()
```
## executeCancelHyperlink
Feature: Unlink
Usage:
```javascript
instance.command.executeCancelHyperlink()
```
## executeEditHyperlink
Feature: Edit the link
Usage:
```javascript
instance.command.executeEditHyperlink(newUrl: string)
```
## executeSeparator
Feature: Insert a dividing line
Usage:
```javascript
instance.command.executeSeparator(dashArray: number[])
```
## executePageBreak
Feature: Page breaks
Usage:
```javascript
instance.command.executePageBreak()
```
## executeAddWatermark
Feature: Add a watermark
Usage:
```javascript
instance.command.executeAddWatermark({
data: string;
color?: string;
opacity?: number;
size?: number;
font?: string;
})
```
## executeDeleteWatermark
Feature: Remove the watermark
Usage:
```javascript
instance.command.executeDeleteWatermark()
```
## executeSearch
Feature: 搜索
Usage:
```javascript
instance.command.executeSearch(keyword: string)
```
## executeSearchNavigatePre
Feature: Search Navigation - Previous
Usage:
```javascript
instance.command.executeSearchNavigatePre()
```
## executeSearchNavigateNext
Feature: Search Navigation - Next
Usage:
```javascript
instance.command.executeSearchNavigateNext()
```
## executeReplace
Feature: Search for replacement
Usage:
```javascript
instance.command.executeReplace(newWord: string)
```
## executePrint
Feature: Print
Usage:
```javascript
instance.command.executePrint()
```
## executeReplaceImageElement
Feature: Replace the picture
Usage:
```javascript
instance.command.executeReplaceImageElement(newUrl: string)
```
## executeSaveAsImageElement
Feature: Save as picture
Usage:
```javascript
instance.command.executeSaveAsImageElement()
```
## executeChangeImageDisplay
Feature: Change how image rows are displayed
Usage:
```javascript
instance.command.executeSaveAsImageElement(element: IElement, display: ImageDisplay)
```
## executePageMode
Feature: Page mode
Usage:
```javascript
instance.command.executePageMode(pageMode: PageMode)
```
## executePageScaleRecovery
Feature: Restore the original zoom factor of the page
Usage:
```javascript
instance.command.executePageScaleRecovery()
```
## executePageScaleMinus
Feature: Page zoom out
Usage:
```javascript
instance.command.executePageScaleMinus()
```
## executePageScaleAdd
Feature: Page zoom in
Usage:
```javascript
instance.command.executePageScaleAdd()
```
## executePaperSize
Feature: Set the paper size
Usage:
```javascript
instance.command.executePaperSize(width: number, height: number)
```
## executePaperDirection
Feature: Set the paper orientation
Usage:
```javascript
instance.command.executePaperDirection(paperDirection: PaperDirection)
```
## executeSetPaperMargin
Feature: Set the paper margins
Usage:
```javascript
instance.command.executeSetPaperMargin([top: number, right: number, bottom: number, left: number])
```
## executeInsertElementList
Feature: Insert an element
Usage:
```javascript
instance.command.executeInsertElementList(elementList: IElement[])
```
## executeAppendElementList
Feature: Append elements
Usage:
```javascript
instance.command.executeAppendElementList(elementList: IElement[], options?: IAppendElementListOption)
```
## executeSetValue
Feature: Set the editor data
Usage:
```javascript
instance.command.executeSetValue(payload: Partial<IEditorData>)
```
## executeRemoveControl
Feature: Delete the control
Usage:
```javascript
instance.command.executeRemoveControl()
```
## executeSetLocale
Feature: Set local language
Usage:
```javascript
instance.command.executeSetLocale(locale: string)
```
## executeLocationCatalog
Feature: Locate directory location
Usage:
```javascript
instance.command.executeLocationCatalog(titleId: string)
```
## executeWordTool
Feature: Word Tool (Delete blank lines and leading Spaces)
Usage:
```javascript
instance.command.executeWordTool()
```

@ -0,0 +1,116 @@
# Get Data Command
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
const value = instance.command.commandName()
```
## getValue
Feature: Get the current document value
Usage:
```javascript
const {
version: string;
width: number;
height: number;
margins: IMargin;
header?: IHeader;
watermark?: IWatermark;
data: IEditorData;
} = instance.command.getValue(options?: IGetValueOption)
```
## getImage
Feature: Gets the base64 string of the current page image
Usage:
```javascript
const base64StringList = await instance.command.getImage(pixelRatio?: number)
```
## getWordCount
Feature: Get document word count
Usage:
```javascript
const wordCount = await instance.command.getWordCount()
```
## getRangeText
Feature: Get selection text
Usage:
```javascript
const rangeText = instance.command.getRangeText()
```
## getRangeContext
Feature: Get selection context
Usage:
```javascript
const rangeContext = instance.command.getRangeContext()
```
## getPaperMargin
Feature: Gets the margins
Usage:
```javascript
const [top: number, right: number, bottom: number, left: number] =
instance.command.getPaperMargin()
```
## getSearchNavigateInfo
Feature: Get search navigation information
Usage:
```javascript
const {
index: number;
count: number;
} = instance.command.getSearchNavigateInfo()
```
## getCatalog
Feature: Get directory
Usage:
```javascript
const catalog = await instance.command.getCatalog()
```
## getHTML
Feature: Get HTML
Usage:
```javascript
const {
header: string
main: string
footer: string
} = await instance.command.getHTML()
```

@ -0,0 +1,20 @@
# Customize Contextmenu
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
instance.register.contextMenuList([
{
isDivider?: boolean;
icon?: string;
name?: string; // Use %s for selection text. Example: Search: %s
shortCut?: string;
when?: (payload: IContextMenuContext) => boolean;
callback?: (command: Command, context: IContextMenuContext) => any;
childMenus?: IRegisterContextMenu[];
}
])
```

@ -0,0 +1,49 @@
# Internal Contextmenu
## Global
- Cut
- Copy
- Paste
- Select all
- Print
## Hyperlinks
- Delete the link
- Unlink
- Edit the link
## Image
- Change the picture
- Save as picture
- Text wrapping
- Embedded type
- Upper and lower surrounding
## Table
- Table borders
- All borders
- Borderless
- Outer border
- Vertical alignment
- Top alignment
- Center vertically
- Bottom end alignment
- Insert rows and columns
- Insert 1 row above
- Insert 1 row below
- Insert 1 column on the left
- Insert 1 column on the right side
- Delete rows and columns
- Delete 1 row
- Remove 1 column
- Delete the entire table
- Merge cells
- Cancel the merge
## control
- Delete the control

@ -0,0 +1,121 @@
# Event Listening(eventBus)
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
// register
instance.eventBus.on<K keyof EventMap>(
eventName: K,
callback: EventMap[K]
)
// remove
instance.eventBus.off<K keyof EventMap>(
eventName: K,
callback: EventMap[K]
)
```
## rangeStyleChange
Feature: The selection style changes
Usage:
```javascript
instance.eventBus.on('rangeStyleChange', (payload: IRangeStyle) => void)
```
## visiblePageNoListChange
Feature: The visible page changes
Usage:
```javascript
instance.eventBus.on('visiblePageNoListChange', (payload: number[]) => void)
```
## intersectionPageNoChange
Feature: The current page changes
Usage:
```javascript
instance.eventBus.on('intersectionPageNoChange', (payload: number) => void)
```
## pageSizeChange
Feature: The current number of pages has changed
Usage:
```javascript
instance.eventBus.on('pageSizeChange', (payload: number) => void)
```
## pageScaleChange
Feature: The current page scaling has changed
Usage:
```javascript
instance.eventBus.on('pageScaleChange', (payload: number) => void)
```
## contentChange
Feature: The current content has changed
Usage:
```javascript
instance.eventBus.on('contentChange', () => void)
```
## controlChange
Feature: The control where the current cursor is located changes
Usage:
```javascript
instance.eventBus.on('controlChange', (payload: IControl | null) => void)
```
## pageModeChange
Feature: The page mode changes
Usage:
```javascript
instance.eventBus.on('pageModeChange', (payload: PageMode) => void)
```
## saved
Feature: Document saved
Usage:
```javascript
instance.eventBus.on('saved', (payload: IEditorResult) => void)
```
## zoneChange
Feature: The zone changes
Usage:
```javascript
instance.eventBus.on('zoneChange', (payload: EditorZone) => void)
```

@ -0,0 +1,93 @@
# i18n
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
// register
instance.register.langMap(locale: string, lang: ILang)
// set locale
instance.command.executeSetLocale(locale)
```
## ILang
```typescript
interface ILang {
contextmenu: {
global: {
cut: string
copy: string
paste: string
selectAll: string
print: string
}
control: {
delete: string
}
hyperlink: {
delete: string
cancel: string
edit: string
}
image: {
change: string
saveAs: string
textWrap: string
textWrapType: {
embed: string
upDown: string
}
}
table: {
insertRowCol: string
insertTopRow: string
insertBottomRow: string
insertLeftCol: string
insertRightCol: string
deleteRowCol: string
deleteRow: string
deleteCol: string
deleteTable: string
mergeCell: string
mergeCancelCell: string
verticalAlign: string
verticalAlignTop: string
verticalAlignMiddle: string
verticalAlignBottom: string
border: string
borderAll: string
borderEmpty: string
borderExternal: string
}
}
datePicker: {
now: string
confirm: string
return: string
timeSelect: string
weeks: {
sun: string
mon: string
tue: string
wed: string
thu: string
fri: string
sat: string
}
year: string
month: string
hour: string
minute: string
second: string
}
frame: {
header: string
footer: string
}
}
```

@ -0,0 +1,112 @@
# Event Listening(listener)
> The listener can respond to only one method. eventBus is recommended for event listening
## How to Use
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
instance.listener.eventName = ()=>{}
```
## rangeStyleChange
Feature: The selection style changes
Usage:
```javascript
instance.listener.rangeStyleChange = (payload: IRangeStyle) => {}
```
## visiblePageNoListChange
Feature: The visible page changes
Usage:
```javascript
instance.listener.visiblePageNoListChange = (payload: number[]) => {}
```
## intersectionPageNoChange
Feature: The current page changes
Usage:
```javascript
instance.listener.intersectionPageNoChange = (payload: number) => {}
```
## pageSizeChange
Feature: The current page size has changed
Usage:
```javascript
instance.listener.pageSizeChange = (payload: number) => {}
```
## pageScaleChange
Feature: The current page scaling has changed
Usage:
```javascript
instance.listener.pageScaleChange = (payload: number) => {}
```
## contentChange
Feature: The current content has changed
Usage:
```javascript
instance.listener.contentChange = () => {}
```
## controlChange
Feature: The control where the current cursor is located changes
Usage:
```javascript
instance.listener.controlChange = (payload: IControl | null) => {}
```
## pageModeChange
Feature: The page mode changes
Usage:
```javascript
instance.listener.pageModeChange = (payload: PageMode) => {}
```
## saved
Feature: Document saved
Usage:
```javascript
instance.listener.saved = (payload: IEditorResult) => {}
```
## zoneChange
Feature: 区域发生改变
Usage:
```javascript
instance.listener.zoneChange = (payload: EditorZone) => {}
```

@ -0,0 +1,125 @@
# Configuration
## How to Use ?
```javascript
import Editor from "@hufe921/canvas-editor"
new Editor(container, IEditorData | IElement[], {
// option
})
```
## Complete Configuration
```typescript
interface IEditorOption {
mode?: EditorMode // Editor mode: Edit, Clean (Visual aids are not displayed.) For example: page break), read-only. default: Edit
defaultType?: string // Default element type. default: TEXT
defaultFont?: string // Default font. default: Yahei
defaultSize?: number // Default font size. default: 16
minSize?: number // Min font size。default: 5
maxSize?: number // Max font size。default: 72
defaultBasicRowMarginHeight?: number // Default line height。default: 8
defaultRowMargin?: number // Default line spacing. default: 1
defaultTabWidth?: number // Default tab width. default: 32
width?: number // Paper width. default: 794
height?: number // Paper height. default: 1123
scale?: number // scaling. default: 1
pageGap?: number // Paper spacing. default: 20
underlineColor?: string // Underline color. default: #000000
strikeoutColor?: string // Strikeout color. default: #FF0000
rangeColor?: string // Range color. default: #AECBFA
rangeAlpha?: number // Range transparency. default: 0.6
rangeMinWidth?: number // Range min width. default: 5
searchMatchColor?: string // Search for highlight color. default: #FFFF00
searchNavigateMatchColor?: string // Search navigation highlighted color.default: #AAD280
searchMatchAlpha?: number // Search for highlight transparency. default: 0.6
highlightAlpha?: number // Highlight element transparency. default: 0.6
resizerColor?: string // Image sizer color. default: #4182D9
resizerSize?: number // Image sizer size. default: 5
marginIndicatorSize?: number // The margin indicator length. default: 35
marginIndicatorColor?: string // The margin indicator color. default: #BABABA
margins?: IMargin // Page margins. default: [100, 120, 100, 120]
pageMode?: PageMode // Paper mode: Linkage, Pagination. default: Pagination
tdPadding?: number // Cell padding. default: 5
defaultTrMinHeight?: number // Default table row minimum height. default: 40
defaultColMinWidth?: number // Default minimum width for table columns (applied if the overall width is sufficient, otherwise scaled down). default: 40
defaultHyperlinkColor?: string // Default hyperlink color. default: #0000FF
header?: IHeader // Header information.{top?:number; maxHeightRadio?:MaxHeightRatio;}
footer?: IFooter // Footer information. {bottom?:number; maxHeightRadio?:MaxHeightRatio;}
pageNumber?: IPageNumber // Page number information. {bottom:number; size:number; font:string; color:string; rowFlex:RowFlex; format:string; numberType:NumberType;}
paperDirection?: PaperDirection // Paper orientation: portrait, landscape
inactiveAlpha?: number // When the body content is out of focus, transparency. default: 0.6
historyMaxRecordCount: number // History (undo redo) maximum number of records. default: 100
printPixelRatio: number // Print the pixel ratio (larger values are clearer, but larger sizes). default: 3
wordBreak: WordBreak // Word and punctuation breaks: No punctuation in the first line of the BREAK_WORD &The word is not split, and the line is folded after BREAK_ALL full according to the width of the character. default: BREAK_WORD
watermark?: IWatermark // Watermark{data:string; color?:string; opacity?:number; size?:number; font?:string;}
control?: IControlOption // Control {placeholderColor?:string; bracketColor?:string; prefix?:string; postfix?:string;}
checkbox?: ICheckboxOption // Checkbox {width?:number; height?:number; gap?:number; lineWidth?:number; fillStyle?:string; fontStyle?: string;}
cursor?: ICursorOption // Cursor style. {width?: number; color?: string; dragWidth?: number; dragColor?: string;}
title?: ITitleOption // Title configuration.{ defaultFirstSize?: number; defaultSecondSize?: number; defaultThirdSize?: number defaultFourthSize?: number; defaultFifthSize?: number; defaultSixthSize?: number;}
placeholder?: IPlaceholder // Placeholder text
}
```
## Header Configuration
```typescript
interface IHeader {
top?: number // Size from the top of the page.default: 30
maxHeightRadio?: MaxHeightRatio // Occupies the maximum height ratio of the page.default: HALF
disabled?: boolean // Whether to disable
}
```
## Footer Configuration
```typescript
interface IFooter {
bottom?: number // The size from the bottom of the page.default: 30
maxHeightRadio?: MaxHeightRatio // Occupies the maximum height ratio of the page.default: HALF
disabled?: boolean // Whether to disable
}
```
## Page Number Configuration
```typescript
interface IPageNumber {
bottom?: number // The size from the bottom of the page.default: 60
size?: number // font size.default: 12
font?: string // font.default: Yahei
color?: string // font color.default: #000000
rowFlex?: RowFlex // Line alignment.default: CENTER
format?: string // Page number format.default: {pageNo}。example{pageNo}/{pageCount}
numberType?: NumberType // The numeric type. default: ARABIC
disabled?: boolean // Whether to disable
startPageNo?: number // Start page number.default: 1
fromPageNo?: number // Page numbers appear from page number.default: 0
}
```
## Watermark Configuration
```typescript
interface IWatermark {
data: string // text.
color?: string // color.default: #AEB5C0
opacity?: number // transparency.default: 0.3
size?: number // font size.default: 200
font?: string // font.default: Yahei
}
```
## Placeholder Text Configuration
```typescript
interface IPlaceholder {
data: string // text.
color?: string // color.default: #DCDFE6
opacity?: number // transparency.default: 1
size?: number // font size.default: 16
font?: string // font.default: Yahei
}
```

@ -0,0 +1,23 @@
# Custom Plugin
::: warning
Currently, only methods can be added and modified to the editor instance, and more functions will be extended in the future
:::
## Write a Plugin
```javascript
export function myPlugin(editor: Editor, options?: Option) {
// 1. updatesee moresrc/plugins/copy
editor.command.updateFunction = () => {}
// 2. addsee moresrc/plugins/markdown
editor.command.addFunction = () => {}
}
```
## Use Plugin
```javascript
instance.add(myPlugin, options?: Option)
```

@ -0,0 +1,132 @@
# Data Structure
```typescript
interface IElement {
// basic
id?: string;
type?: {
TEXT = 'text',
IMAGE = 'image',
TABLE = 'table',
HYPERLINK = 'hyperlink',
SUPERSCRIPT = 'superscript',
SUBSCRIPT = 'subscript',
SEPARATOR = 'separator',
PAGE_BREAK = 'pageBreak',
CONTROL = 'control',
CHECKBOX = 'checkbox',
LATEX = 'latex',
TAB = 'tab',
DATE = 'date',
BLOCK = 'block'
};
value: string;
valueList?: IElement[]; // Use of composite elements (hyperlinks, titles, lists, and so on).
// style
font?: string;
size?: number;
width?: number;
height?: number;
bold?: boolean;
color?: string;
highlight?: string;
italic?: boolean;
underline?: boolean;
strikeout?: boolean;
rowFlex?: {
LEFT = 'left',
CENTER = 'center',
RIGHT = 'right',
ALIGNMENT = 'alignment'
};
rowMargin?: number;
letterSpacing?: number;
// table
colgroup?: {
width: number;
}[];
trList?: {
height: number;
tdList: {
colspan: number;
rowspan: number;
verticalAlign?: VerticalAlign;
backgroundColor?: string;
value: IElement[];
}[];
}[];
borderType?: TableBorder;
// Hyperlinks
url?: string;
// Superscript and subscript
actualSize?: number;
// Dividing line
dashArray?: number[];
// control
control?: {
type: {
TEXT = 'text',
SELECT = 'select',
CHECKBOX = 'checkbox'
};
value: IElement[] | null;
placeholder?: string;
conceptId?: string;
prefix?: string;
postfix?: string;
code: string | null;
min?: number;
max?: number;
valueSets: {
value: string;
code: string;
}[];
checkbox?: {
value: boolean | null;
code?: string;
disabled?: boolean;
};
};
controlComponent?: {
PREFIX = 'prefix',
POSTFIX = 'postfix',
PLACEHOLDER = 'placeholder',
VALUE = 'value',
CHECKBOX = 'checkbox'
};
// checkbox
checkbox?: {
value: boolean | null;
code?: string;
disabled?: boolean;
};
// LaTeX
laTexSVG?: string;
// date
dateFormat?: string;
// picture
imgDisplay?: {
INLINE = 'inline',
BLOCK = 'block'
}
// block
block?: {
type: {
IFRAME = 'iframe',
VIDEO = 'video'
};
iframeBlock?: {
src: string;
};
videoBlock?: {
src: string;
};
};
// title
level?: TitleLevel;
// list
listType?: ListType;
listStyle?: ListStyle;
listWrap?: boolean;
}
```

@ -0,0 +1,21 @@
# Custom shortcut keys
## How to use?
```javascript
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
instance.register.shortcutList([
{
key: KeyMap;
ctrl?: boolean;
meta?: boolean;
mod?: boolean; // windows:ctrl || mac:command
shift?: boolean;
alt?: boolean;
isGlobal?: boolean;
callback: (command: Command) => any;
}
])
```

@ -0,0 +1,165 @@
# Internal shortcut keys
## Backspace
Feature: Forward delete
## Delete
Feature: Backward delete
## Enter
Feature: Line break
## Shift + Enter
Feature: Line breaks within the list
## ←
Feature: Move to the left
## Shift + ←
Feature: Zoom the selection to the left
## →
Feature: Move to the right
## Shift + →
Feature: Zoom the selection to the right
## ↑
Feature: Move up
## Shift + ↑
Feature: Zoom up the selection
## ↓
Feature: Move down
## Shift + ↓
Feature: Zoom down the selection
## Esc
Feature: Exit format brush
## Tab
Feature: Increase indent
## Ctrl/Cmd + Z
Feature: Undo
## Ctrl/Cmd + Y
Feature: Redo
## Ctrl/Cmd + C
Feature: Copy
## Ctrl/Cmd + X
Feature: Cut
## Ctrl/Cmd + A
Feature: Select all
## Ctrl/Cmd + S
Feature: Save
## Ctrl/Cmd + {
Feature: Increase the font
## Ctrl/Cmd + }
Feature: Reduce the font
## Ctrl/Cmd + B
Feature: Bold
## Ctrl/Cmd + I
Feature: Italic
## Ctrl/Cmd + U
Feature: Underline
## Ctrl/Cmd + L
Feature: Line left
## Ctrl/Cmd + E
Feature: Line center
## Ctrl/Cmd + R
Feature: Line right
## Ctrl/Cmd + J
Feature: Both sides are aligned
## Ctrl + Shift + X
Feature: Strikethrough
## Ctrl/Cmd + Shift + >
Feature: Superscript
## Ctrl/Cmd + Shift + <
Feature: Subscript
## Ctrl + Alt/Option + 0
Feature: Main body
## Ctrl + Alt/Option + 1
Feature: Header1
## Ctrl + Alt/Option + 2
Feature: Header2
## Ctrl + Alt/Option + 3
Feature: Header3
## Ctrl + Alt/Option + 4
Feature: Header4
## Ctrl + Alt/Option + 5
Feature: Header5
## Ctrl + Alt/Option + 6
Feature: Header6
## Ctrl/Cmd + Shift + I
Feature: Unordered list
## Ctrl/Cmd + Shift + U
Feature: Ordered list

@ -0,0 +1,95 @@
# Getting Started
> WYSIWYG rich text editor.
Benefit from the complete self-implementation of cursor and text layout. The underlying rendering can also be rendered by svg, See code[feature/svg](https://github.com/Hufe921/canvas-editor/tree/feature/svg); Or complete pdf drawing with pdfjs,See code[feature/pdf](https://github.com/Hufe921/canvas-editor/tree/feature/pdf).
::: warning
The official only provides the editor core layer npm package, the menu bar or other external tools can refer to the document extension, or directly refer the implementation of [official](https://github.com/Hufe921/canvas-editor), See details [demo](https://hufe.club/canvas-editor/).
:::
## Features
- Rich text operations (Undo, Redo, Font, Size, Bold, Italic, Superscript, Alignment, Title, List, ...)
- Insert elements (Table, Image, Link, Code Block, Page Break, Math Formula, Date Picker, content Block, ...)
- Print (Based on canvas to picture, pdf drawing)
- Controls (Radio, Text, Checkbox)
- Right-click menu (Internal, Custom)
- Shortcut keys (Internal, Custom)
- Text, Element, Control drag and drop
- Header, Footer, Page Number
- Page Margin
- Watermark
- Pagination
## TODO
- Improve title and list functions
- Computational performance
- Control rule
- Table paging
- Out of the box version for vue, react and other frameworks
## Step. 1: Download NPM Package
```sh
npm i @hufe921/canvas-editor --save
```
## Step. 2: Prepare Container
```html
<div class="canvas-editor"></div>
```
## Step. 3: Instantiate Editor
- Examples that only the body content is included
```javascript
import Editor from '@hufe921/canvas-editor'
new Editor(
document.querySelector('.canvas-editor'),
[
{
value: 'Hello World'
}
],
{}
)
```
- Examples that contain body, header, footer content
```javascript
import Editor from '@hufe921/canvas-editor'
new Editor(
document.querySelector('.canvas-editor'),
{
header: [
{
value: 'Header',
rowFlex: RowFlex.CENTER
}
],
main: [
{
value: 'Hello World'
}
],
footer: [
{
value: 'canvas-editor',
size: 12
}
]
},
{}
)
```
## Step. 4: Configuration Editor
See the next section for details

@ -0,0 +1,43 @@
---
layout: home
title: canvas-editor
titleTemplate: rich text editor by canvas/svg
hero:
name: canvas-editor
text: canvas/svg based rich text editor
actions:
- theme: brand
text: Get Started
link: /en/guide/start.html
- theme: alt
text: View on Github
link: https://github.com/Hufe921/canvas-editor
features:
- icon: 💡
title: WYSIWYG
details: Similar to word pageable, what you see is what you get
- icon: ⚡️
title: Lightweight Data Structure
details: A piece of JSON can render complex styles
- icon: 🛠️
title: Rich Features
details: Supports familiar rich text operations, tables, watermarks, controls, formulas, etc
- icon: 📦
title: Easy to Use
details: The core npm package is officially released, and the menu bar and toolbar can be maintained by themselves
- icon: 🔩
title: Flexible Development Mechanism
details: Through the interface, you can obtain the life cycle, event callback, custom right-click menu, and shortcut keys
- icon: 🔑
title: Full TypeScript Types API
details: Flexible apis and full TypeScript types
---
<style>
.main>p {
max-width:100% !important;
}
</style>

@ -1,4 +1,4 @@
# 全局API # 全局 API
## 使用方式 ## 使用方式
@ -8,14 +8,17 @@ import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options) const instance = new Editor(container, <IElement[]>data, options)
instance.apiName() instance.apiName()
``` ```
## destroy ## destroy
功能:销毁编辑器 功能:销毁编辑器
用法: 用法:
```javascript ```javascript
instance.destroy() instance.destroy()
``` ```
::: warning ::: warning
仅销毁编辑器dom及相关事件菜单栏、工具栏、外部变量等需自行处理。 仅销毁编辑器 dom 及相关事件,菜单栏、工具栏、外部变量等需自行处理。
::: :::

@ -10,336 +10,421 @@ instance.command.commandName()
``` ```
## executeMode ## executeMode
功能:切换编辑器模式(编辑、清洁、只读) 功能:切换编辑器模式(编辑、清洁、只读)
用法: 用法:
```javascript ```javascript
instance.command.executeMode(editorMode: EditorMode) instance.command.executeMode(editorMode: EditorMode)
``` ```
## executeCut ## executeCut
功能:剪切 功能:剪切
用法: 用法:
```javascript ```javascript
instance.command.executeCut() instance.command.executeCut()
``` ```
## executeCopy ## executeCopy
功能:复制 功能:复制
用法: 用法:
```javascript ```javascript
instance.command.executeCopy() instance.command.executeCopy()
``` ```
## executePaste ## executePaste
功能:粘贴 功能:粘贴
用法: 用法:
```javascript ```javascript
instance.command.executePaste() instance.command.executePaste()
``` ```
## executeSelectAll ## executeSelectAll
功能:全选 功能:全选
用法: 用法:
```javascript ```javascript
instance.command.executeSelectAll() instance.command.executeSelectAll()
``` ```
## executeBackspace ## executeBackspace
功能:向前删除 功能:向前删除
用法: 用法:
```javascript ```javascript
instance.command.executeBackspace() instance.command.executeBackspace()
``` ```
## executeSetRange ## executeSetRange
功能:设置选区 功能:设置选区
用法: 用法:
```javascript ```javascript
instance.command.executeSetRange(startIndex: number , endIndex: number) instance.command.executeSetRange(startIndex: number , endIndex: number)
``` ```
## executeUndo ## executeUndo
功能:撤销 功能:撤销
用法: 用法:
```javascript ```javascript
instance.command.executeUndo() instance.command.executeUndo()
``` ```
## executeRedo ## executeRedo
功能:重做 功能:重做
用法: 用法:
```javascript ```javascript
instance.command.executeRedo() instance.command.executeRedo()
``` ```
## executePainter ## executePainter
功能:格式刷-复制样式 功能:格式刷-复制样式
用法: 用法:
```javascript ```javascript
instance.command.executePainter() instance.command.executePainter()
``` ```
## executeApplyPainterStyle ## executeApplyPainterStyle
功能:格式刷-应用样式 功能:格式刷-应用样式
用法: 用法:
```javascript ```javascript
instance.command.executeApplyPainterStyle() instance.command.executeApplyPainterStyle()
``` ```
## executeFormat ## executeFormat
功能:清除样式 功能:清除样式
用法: 用法:
```javascript ```javascript
instance.command.executeFormat() instance.command.executeFormat()
``` ```
## executeFont ## executeFont
功能:设置字体 功能:设置字体
用法: 用法:
```javascript ```javascript
instance.command.executeFont(font: string) instance.command.executeFont(font: string)
``` ```
## executeSize ## executeSize
功能:设置字号 功能:设置字号
用法: 用法:
```javascript ```javascript
instance.command.executeSize(size: number) instance.command.executeSize(size: number)
``` ```
## executeSizeAdd ## executeSizeAdd
功能:增大字号 功能:增大字号
用法: 用法:
```javascript ```javascript
instance.command.executeSizeAdd() instance.command.executeSizeAdd()
``` ```
## executeSizeMinus ## executeSizeMinus
功能:减小字号 功能:减小字号
用法: 用法:
```javascript ```javascript
instance.command.executeSizeMinus() instance.command.executeSizeMinus()
``` ```
## executeBold ## executeBold
功能:字体加粗 功能:字体加粗
用法: 用法:
```javascript ```javascript
instance.command.executeBold() instance.command.executeBold()
``` ```
## executeItalic ## executeItalic
功能:字体斜体 功能:字体斜体
用法: 用法:
```javascript ```javascript
instance.command.executeItalic() instance.command.executeItalic()
``` ```
## executeUnderline ## executeUnderline
功能:下划线 功能:下划线
用法: 用法:
```javascript ```javascript
instance.command.executeUnderline() instance.command.executeUnderline()
``` ```
## executeStrikeout ## executeStrikeout
功能:删除线 功能:删除线
用法: 用法:
```javascript ```javascript
instance.command.executeStrikeout() instance.command.executeStrikeout()
``` ```
## executeSuperscript ## executeSuperscript
功能:上标 功能:上标
用法: 用法:
```javascript ```javascript
instance.command.executeSuperscript() instance.command.executeSuperscript()
``` ```
## executeSubscript ## executeSubscript
功能:上下标 功能:上下标
用法: 用法:
```javascript ```javascript
instance.command.executeSubscript() instance.command.executeSubscript()
``` ```
## executeColor ## executeColor
功能:字体颜色 功能:字体颜色
用法: 用法:
```javascript ```javascript
instance.command.executeColor() instance.command.executeColor()
``` ```
## executeHighlight ## executeHighlight
功能:高亮 功能:高亮
用法: 用法:
```javascript ```javascript
instance.command.executeHighlight() instance.command.executeHighlight()
``` ```
## executeTitle ## executeTitle
功能:标题设置 功能:标题设置
用法: 用法:
```javascript ```javascript
instance.command.executeTitle(TitleLevel | null) instance.command.executeTitle(TitleLevel | null)
``` ```
## executeList ## executeList
功能:列表设置 功能:列表设置
用法: 用法:
```javascript ```javascript
instance.command.executeList(listType: ListType | null, listStyle?: ListStyle) instance.command.executeList(listType: ListType | null, listStyle?: ListStyle)
``` ```
## executeRowFlex ## executeRowFlex
功能:行对齐 功能:行对齐
用法: 用法:
```javascript ```javascript
instance.command.executeRowFlex(rowFlex: RowFlex) instance.command.executeRowFlex(rowFlex: RowFlex)
``` ```
## executeRowMargin ## executeRowMargin
功能:行间距 功能:行间距
用法: 用法:
```javascript ```javascript
instance.command.executeRowMargin(rowMargin: number) instance.command.executeRowMargin(rowMargin: number)
``` ```
## executeInsertTable ## executeInsertTable
功能:插入表格 功能:插入表格
用法: 用法:
```javascript ```javascript
instance.command.executeInsertTable(row: number, col: number) instance.command.executeInsertTable(row: number, col: number)
``` ```
## executeInsertTableTopRow ## executeInsertTableTopRow
功能:向上插入一行 功能:向上插入一行
用法: 用法:
```javascript ```javascript
instance.command.executeInsertTableTopRow() instance.command.executeInsertTableTopRow()
``` ```
## executeInsertTableBottomRow ## executeInsertTableBottomRow
功能:向下插入一行 功能:向下插入一行
用法: 用法:
```javascript ```javascript
instance.command.executeInsertTableBottomRow() instance.command.executeInsertTableBottomRow()
``` ```
## executeInsertTableLeftCol ## executeInsertTableLeftCol
功能:向左插入一列 功能:向左插入一列
用法: 用法:
```javascript ```javascript
instance.command.executeInsertTableLeftCol() instance.command.executeInsertTableLeftCol()
``` ```
## executeInsertTableRightCol ## executeInsertTableRightCol
功能:向右插入一列 功能:向右插入一列
用法: 用法:
```javascript ```javascript
instance.command.executeInsertTableRightCol() instance.command.executeInsertTableRightCol()
``` ```
## executeDeleteTableRow ## executeDeleteTableRow
功能:删除当前行 功能:删除当前行
用法: 用法:
```javascript ```javascript
instance.command.executeDeleteTableRow() instance.command.executeDeleteTableRow()
``` ```
## executeDeleteTableCol ## executeDeleteTableCol
功能:删除当前列 功能:删除当前列
用法: 用法:
```javascript ```javascript
instance.command.executeDeleteTableCol() instance.command.executeDeleteTableCol()
``` ```
## executeDeleteTable ## executeDeleteTable
功能:删除表格 功能:删除表格
用法: 用法:
```javascript ```javascript
instance.command.executeDeleteTable() instance.command.executeDeleteTable()
``` ```
## executeMergeTableCell ## executeMergeTableCell
功能:合并表格 功能:合并表格
用法: 用法:
```javascript ```javascript
instance.command.executeMergeTableCell() instance.command.executeMergeTableCell()
``` ```
## executeCancelMergeTableCell ## executeCancelMergeTableCell
功能:取消合并表格 功能:取消合并表格
用法: 用法:
```javascript ```javascript
instance.command.executeCancelMergeTableCell() instance.command.executeCancelMergeTableCell()
``` ```
## executeTableTdVerticalAlign ## executeTableTdVerticalAlign
功能:表格单元格垂直对齐方式 功能:表格单元格垂直对齐方式
用法: 用法:
```javascript ```javascript
instance.command.executeTableTdVerticalAlign(payload: VerticalAlign) instance.command.executeTableTdVerticalAlign(payload: VerticalAlign)
``` ```
## executeTableBorderType ## executeTableBorderType
功能:表格边框类型 功能:表格边框类型
用法: 用法:
```javascript ```javascript
instance.command.executeTableBorderType(payload: TableBorder) instance.command.executeTableBorderType(payload: TableBorder)
``` ```
## executeTableTdBackgroundColor ## executeTableTdBackgroundColor
功能:表格单元格背景色 功能:表格单元格背景色
用法: 用法:
```javascript ```javascript
instance.command.executeTableTdBackgroundColor(payload: string) instance.command.executeTableTdBackgroundColor(payload: string)
``` ```
## executeImage ## executeImage
功能:插入图片 功能:插入图片
用法: 用法:
```javascript ```javascript
instance.command.executeImage({ instance.command.executeImage({
width: number; width: number;
@ -349,9 +434,11 @@ instance.command.executeImage({
``` ```
## executeHyperlink ## executeHyperlink
功能:插入链接 功能:插入链接
用法: 用法:
```javascript ```javascript
instance.command.executeHyperlink({ instance.command.executeHyperlink({
type: ElementType.HYPERLINK, type: ElementType.HYPERLINK,
@ -362,49 +449,61 @@ instance.command.executeHyperlink({
``` ```
## executeDeleteHyperlink ## executeDeleteHyperlink
功能:删除链接 功能:删除链接
用法: 用法:
```javascript ```javascript
instance.command.executeDeleteHyperlink() instance.command.executeDeleteHyperlink()
``` ```
## executeCancelHyperlink ## executeCancelHyperlink
功能:取消链接 功能:取消链接
用法: 用法:
```javascript ```javascript
instance.command.executeCancelHyperlink() instance.command.executeCancelHyperlink()
``` ```
## executeEditHyperlink ## executeEditHyperlink
功能:编辑链接 功能:编辑链接
用法: 用法:
```javascript ```javascript
instance.command.executeEditHyperlink(newUrl: string) instance.command.executeEditHyperlink(newUrl: string)
``` ```
## executeSeparator ## executeSeparator
功能:插入分割线 功能:插入分割线
用法: 用法:
```javascript ```javascript
instance.command.executeSeparator(dashArray: number[]) instance.command.executeSeparator(dashArray: number[])
``` ```
## executePageBreak ## executePageBreak
功能:分页符 功能:分页符
用法: 用法:
```javascript ```javascript
instance.command.executePageBreak() instance.command.executePageBreak()
``` ```
## executeAddWatermark ## executeAddWatermark
功能:添加水印 功能:添加水印
用法: 用法:
```javascript ```javascript
instance.command.executeAddWatermark({ instance.command.executeAddWatermark({
data: string; data: string;
@ -416,185 +515,231 @@ instance.command.executeAddWatermark({
``` ```
## executeDeleteWatermark ## executeDeleteWatermark
功能:添加水印
功能:删除水印
用法: 用法:
```javascript ```javascript
instance.command.executeDeleteWatermark() instance.command.executeDeleteWatermark()
``` ```
## executeSearch ## executeSearch
功能:搜索 功能:搜索
用法: 用法:
```javascript ```javascript
instance.command.executeSearch(keyword: string) instance.command.executeSearch(keyword: string)
``` ```
## executeSearchNavigatePre ## executeSearchNavigatePre
功能:搜索导航-上一个 功能:搜索导航-上一个
用法: 用法:
```javascript ```javascript
instance.command.executeSearchNavigatePre() instance.command.executeSearchNavigatePre()
``` ```
## executeSearchNavigateNext ## executeSearchNavigateNext
功能:搜索导航-下一个 功能:搜索导航-下一个
用法: 用法:
```javascript ```javascript
instance.command.executeSearchNavigateNext() instance.command.executeSearchNavigateNext()
``` ```
## executeReplace ## executeReplace
功能:搜索替换 功能:搜索替换
用法: 用法:
```javascript ```javascript
instance.command.executeReplace(newWord: string) instance.command.executeReplace(newWord: string)
``` ```
## executePrint ## executePrint
功能:打印 功能:打印
用法: 用法:
```javascript ```javascript
instance.command.executePrint() instance.command.executePrint()
``` ```
## executeReplaceImageElement ## executeReplaceImageElement
功能:替换图片 功能:替换图片
用法: 用法:
```javascript ```javascript
instance.command.executeReplaceImageElement(newUrl: string) instance.command.executeReplaceImageElement(newUrl: string)
``` ```
## executeSaveAsImageElement ## executeSaveAsImageElement
功能:另存为图片 功能:另存为图片
用法: 用法:
```javascript ```javascript
instance.command.executeSaveAsImageElement() instance.command.executeSaveAsImageElement()
``` ```
## executeChangeImageDisplay ## executeChangeImageDisplay
功能:改变图片行显示方式 功能:改变图片行显示方式
用法: 用法:
```javascript ```javascript
instance.command.executeSaveAsImageElement(element: IElement, display: ImageDisplay) instance.command.executeSaveAsImageElement(element: IElement, display: ImageDisplay)
``` ```
## executePageMode ## executePageMode
功能:页面模式 功能:页面模式
用法: 用法:
```javascript ```javascript
instance.command.executePageMode(pageMode: PageMode) instance.command.executePageMode(pageMode: PageMode)
``` ```
## executePageScaleRecovery ## executePageScaleRecovery
功能:恢复页面原始缩放比例 功能:恢复页面原始缩放比例
用法: 用法:
```javascript ```javascript
instance.command.executePageScaleRecovery() instance.command.executePageScaleRecovery()
``` ```
## executePageScaleMinus ## executePageScaleMinus
功能:页面缩小 功能:页面缩小
用法: 用法:
```javascript ```javascript
instance.command.executePageScaleMinus() instance.command.executePageScaleMinus()
``` ```
## executePageScaleAdd ## executePageScaleAdd
功能:页面放大 功能:页面放大
用法: 用法:
```javascript ```javascript
instance.command.executePageScaleAdd() instance.command.executePageScaleAdd()
``` ```
## executePaperSize ## executePaperSize
功能:设置纸张大小 功能:设置纸张大小
用法: 用法:
```javascript ```javascript
instance.command.executePaperSize(width: number, height: number) instance.command.executePaperSize(width: number, height: number)
``` ```
## executePaperDirection ## executePaperDirection
功能:设置纸张方向 功能:设置纸张方向
用法: 用法:
```javascript ```javascript
instance.command.executePaperDirection(paperDirection: PaperDirection) instance.command.executePaperDirection(paperDirection: PaperDirection)
``` ```
## executeSetPaperMargin ## executeSetPaperMargin
功能:设置纸张页边距 功能:设置纸张页边距
用法: 用法:
```javascript ```javascript
instance.command.executeSetPaperMargin([top: number, right: number, bottom: number, left: number]) instance.command.executeSetPaperMargin([top: number, right: number, bottom: number, left: number])
``` ```
## executeInsertElementList ## executeInsertElementList
功能:插入元素 功能:插入元素
用法: 用法:
```javascript ```javascript
instance.command.executeInsertElementList(elementList: IElement[]) instance.command.executeInsertElementList(elementList: IElement[])
``` ```
## executeAppendElementList ## executeAppendElementList
功能:追加元素 功能:追加元素
用法: 用法:
```javascript ```javascript
instance.command.executeAppendElementList(elementList: IElement[], options?: IAppendElementListOption) instance.command.executeAppendElementList(elementList: IElement[], options?: IAppendElementListOption)
``` ```
## executeSetValue ## executeSetValue
功能:设置编辑器数据 功能:设置编辑器数据
用法: 用法:
```javascript ```javascript
instance.command.executeSetValue(payload: Partial<IEditorData>) instance.command.executeSetValue(payload: Partial<IEditorData>)
``` ```
## executeRemoveControl ## executeRemoveControl
功能:删除控件 功能:删除控件
用法: 用法:
```javascript ```javascript
instance.command.executeRemoveControl() instance.command.executeRemoveControl()
``` ```
## executeSetLocale ## executeSetLocale
功能:设置本地语言 功能:设置本地语言
用法: 用法:
```javascript ```javascript
instance.command.executeSetLocale(locale: string) instance.command.executeSetLocale(locale: string)
``` ```
## executeLocationCatalog ## executeLocationCatalog
功能:定位目录位置 功能:定位目录位置
用法: 用法:
```javascript ```javascript
instance.command.executeLocationCatalog(titleId: string) instance.command.executeLocationCatalog(titleId: string)
``` ```
## executeWordTool ## executeWordTool
功能:文字工具(删除空行、行首空格) 功能:文字工具(删除空行、行首空格)
用法: 用法:
```javascript ```javascript
instance.command.executeWordTool() instance.command.executeWordTool()
``` ```

@ -8,10 +8,13 @@ import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options) const instance = new Editor(container, <IElement[]>data, options)
const value = instance.command.commandName() const value = instance.command.commandName()
``` ```
## getValue ## getValue
功能:获取当前文档信息 功能:获取当前文档信息
用法: 用法:
```javascript ```javascript
const { const {
version: string; version: string;
@ -25,49 +28,62 @@ const {
``` ```
## getImage ## getImage
功能获取当前页面图片base64字符串
功能:获取当前页面图片 base64 字符串
用法: 用法:
```javascript ```javascript
const base64StringList = await instance.command.getImage(pixelRatio?: number) const base64StringList = await instance.command.getImage(pixelRatio?: number)
``` ```
## getWordCount ## getWordCount
功能:获取文档字数 功能:获取文档字数
用法: 用法:
```javascript ```javascript
const wordCount = await instance.command.getWordCount() const wordCount = await instance.command.getWordCount()
``` ```
## getRangeText ## getRangeText
功能:获取选区文本 功能:获取选区文本
用法: 用法:
```javascript ```javascript
const rangeText = instance.command.getRangeText() const rangeText = instance.command.getRangeText()
``` ```
## getRangeContext ## getRangeContext
功能:获取选区上下文 功能:获取选区上下文
用法: 用法:
```javascript ```javascript
const rangeContext = instance.command.getRangeContext() const rangeContext = instance.command.getRangeContext()
``` ```
## getPaperMargin ## getPaperMargin
功能:获取页边距 功能:获取页边距
用法: 用法:
```javascript ```javascript
const [top: number, right: number, bottom: number, left: number] = instance.command.getPaperMargin() const [top: number, right: number, bottom: number, left: number] =
instance.command.getPaperMargin()
``` ```
## getSearchNavigateInfo ## getSearchNavigateInfo
功能:获取搜索导航信息 功能:获取搜索导航信息
用法: 用法:
```javascript ```javascript
const { const {
index: number; index: number;
@ -76,17 +92,21 @@ const {
``` ```
## getCatalog ## getCatalog
功能:获取目录 功能:获取目录
用法: 用法:
```javascript ```javascript
const catalog = await instance.command.getCatalog() const catalog = await instance.command.getCatalog()
``` ```
## getHTML ## getHTML
功能获取HTML
功能:获取 HTML
用法: 用法:
```javascript ```javascript
const { const {
header: string header: string

@ -17,4 +17,4 @@ instance.register.contextMenuList([
childMenus?: IRegisterContextMenu[]; childMenus?: IRegisterContextMenu[];
} }
]) ])
``` ```

@ -1,6 +1,7 @@
# 内部右键菜单 # 内部右键菜单
## 全局 ## 全局
- 剪切 - 剪切
- 复制 - 复制
- 粘贴 - 粘贴
@ -8,11 +9,13 @@
- 打印 - 打印
## 超链接 ## 超链接
- 删除链接 - 删除链接
- 取消链接 - 取消链接
- 编辑链接 - 编辑链接
## 图片 ## 图片
- 更改图片 - 更改图片
- 另存为图片 - 另存为图片
- 文字环绕 - 文字环绕
@ -20,6 +23,7 @@
- 上下型环绕 - 上下型环绕
## 表格 ## 表格
- 表格边框 - 表格边框
- 所有框线 - 所有框线
- 无框线 - 无框线
@ -29,16 +33,17 @@
- 垂直居中 - 垂直居中
- 底端对齐 - 底端对齐
- 插入行列 - 插入行列
- 上方插入1行 - 上方插入 1
- 下方插入1行 - 下方插入 1
- 左侧插入1列 - 左侧插入 1
- 右侧插入1列 - 右侧插入 1
- 删除行列 - 删除行列
- 删除1行 - 删除 1
- 删除1列 - 删除 1
- 删除整个表格 - 删除整个表格
- 合并单元格 - 合并单元格
- 取消合并 - 取消合并
## 控件 ## 控件
- 删除控件
- 删除控件

@ -21,81 +21,101 @@ instance.eventBus.off<K keyof EventMap>(
``` ```
## rangeStyleChange ## rangeStyleChange
功能:选区样式发生改变 功能:选区样式发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('rangeStyleChange', (payload: IRangeStyle) => void) instance.eventBus.on('rangeStyleChange', (payload: IRangeStyle) => void)
``` ```
## visiblePageNoListChange ## visiblePageNoListChange
功能:可见页发生改变 功能:可见页发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('visiblePageNoListChange', (payload: number[]) => void) instance.eventBus.on('visiblePageNoListChange', (payload: number[]) => void)
``` ```
## intersectionPageNoChange ## intersectionPageNoChange
功能:当前页发生改变 功能:当前页发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('intersectionPageNoChange', (payload: number) => void) instance.eventBus.on('intersectionPageNoChange', (payload: number) => void)
``` ```
## pageSizeChange ## pageSizeChange
功能:当前页数发生改变 功能:当前页数发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('pageSizeChange', (payload: number) => void) instance.eventBus.on('pageSizeChange', (payload: number) => void)
``` ```
## pageScaleChange ## pageScaleChange
功能:当前页面缩放比例发生改变 功能:当前页面缩放比例发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('pageScaleChange', (payload: number) => void) instance.eventBus.on('pageScaleChange', (payload: number) => void)
``` ```
## contentChange ## contentChange
功能:当前内容发生改变 功能:当前内容发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('contentChange', () => void) instance.eventBus.on('contentChange', () => void)
``` ```
## controlChange ## controlChange
功能:当前光标所在控件发生改变 功能:当前光标所在控件发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('controlChange', (payload: IControl | null) => void) instance.eventBus.on('controlChange', (payload: IControl | null) => void)
``` ```
## pageModeChange ## pageModeChange
功能:页面模式发生改变 功能:页面模式发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('pageModeChange', (payload: PageMode) => void) instance.eventBus.on('pageModeChange', (payload: PageMode) => void)
``` ```
## saved ## saved
功能:文档执行保存 功能:文档执行保存
用法: 用法:
```javascript ```javascript
instance.eventBus.on('saved', (payload: IEditorResult) => void) instance.eventBus.on('saved', (payload: IEditorResult) => void)
``` ```
## zoneChange ## zoneChange
功能:区域发生改变 功能:区域发生改变
用法: 用法:
```javascript ```javascript
instance.eventBus.on('zoneChange', (payload: EditorZone) => void) instance.eventBus.on('zoneChange', (payload: EditorZone) => void)
``` ```

@ -20,74 +20,74 @@ instance.command.executeSetLocale(locale)
interface ILang { interface ILang {
contextmenu: { contextmenu: {
global: { global: {
cut: string; cut: string
copy: string; copy: string
paste: string; paste: string
selectAll: string; selectAll: string
print: string; print: string
}; }
control: { control: {
delete: string; delete: string
}; }
hyperlink: { hyperlink: {
delete: string; delete: string
cancel: string; cancel: string
edit: string; edit: string
}; }
image: { image: {
change: string; change: string
saveAs: string; saveAs: string
textWrap: string; textWrap: string
textWrapType: { textWrapType: {
embed: string; embed: string
upDown: string; upDown: string
} }
}; }
table: { table: {
insertRowCol: string; insertRowCol: string
insertTopRow: string; insertTopRow: string
insertBottomRow: string; insertBottomRow: string
insertLeftCol: string; insertLeftCol: string
insertRightCol: string; insertRightCol: string
deleteRowCol: string; deleteRowCol: string
deleteRow: string; deleteRow: string
deleteCol: string; deleteCol: string
deleteTable: string; deleteTable: string
mergeCell: string; mergeCell: string
mergeCancelCell: string; mergeCancelCell: string
verticalAlign: string; verticalAlign: string
verticalAlignTop: string; verticalAlignTop: string
verticalAlignMiddle: string; verticalAlignMiddle: string
verticalAlignBottom: string; verticalAlignBottom: string
border: string; border: string
borderAll: string; borderAll: string
borderEmpty: string; borderEmpty: string
borderExternal: string; borderExternal: string
}; }
}; }
datePicker: { datePicker: {
now: string; now: string
confirm: string; confirm: string
return: string; return: string
timeSelect: string; timeSelect: string
weeks: { weeks: {
sun: string; sun: string
mon: string; mon: string
tue: string; tue: string
wed: string; wed: string
thu: string; thu: string
fri: string; fri: string
sat: string; sat: string
}; }
year: string; year: string
month: string; month: string
hour: string; hour: string
minute: string; minute: string
second: string; second: string
}; }
frame: { frame: {
header: string; header: string
footer: string; footer: string
} }
} }
``` ```

@ -1,6 +1,6 @@
# 事件监听(listener) # 事件监听(listener)
> listener只能响应一个方法推荐使用eventBus进行事件监听 > listener 只能响应一个方法,推荐使用 eventBus 进行事件监听
## 使用方式 ## 使用方式
@ -12,81 +12,101 @@ instance.listener.eventName = ()=>{}
``` ```
## rangeStyleChange ## rangeStyleChange
功能:选区样式发生改变 功能:选区样式发生改变
用法: 用法:
```javascript ```javascript
instance.listener.rangeStyleChange = (payload: IRangeStyle)=>{} instance.listener.rangeStyleChange = (payload: IRangeStyle) => {}
``` ```
## visiblePageNoListChange ## visiblePageNoListChange
功能:可见页发生改变 功能:可见页发生改变
用法: 用法:
```javascript ```javascript
instance.listener.visiblePageNoListChange = (payload: number[])=>{} instance.listener.visiblePageNoListChange = (payload: number[]) => {}
``` ```
## intersectionPageNoChange ## intersectionPageNoChange
功能:当前页发生改变 功能:当前页发生改变
用法: 用法:
```javascript ```javascript
instance.listener.intersectionPageNoChange = (payload: number)=>{} instance.listener.intersectionPageNoChange = (payload: number) => {}
``` ```
## pageSizeChange ## pageSizeChange
功能:当前页数发生改变 功能:当前页数发生改变
用法: 用法:
```javascript ```javascript
instance.listener.pageSizeChange = (payload: number)=>{} instance.listener.pageSizeChange = (payload: number) => {}
``` ```
## pageScaleChange ## pageScaleChange
功能:当前页面缩放比例发生改变 功能:当前页面缩放比例发生改变
用法: 用法:
```javascript ```javascript
instance.listener.pageScaleChange = (payload: number)=>{} instance.listener.pageScaleChange = (payload: number) => {}
``` ```
## contentChange ## contentChange
功能:当前内容发生改变 功能:当前内容发生改变
用法: 用法:
```javascript ```javascript
instance.listener.contentChange = ()=>{} instance.listener.contentChange = () => {}
``` ```
## controlChange ## controlChange
功能:当前光标所在控件发生改变 功能:当前光标所在控件发生改变
用法: 用法:
```javascript ```javascript
instance.listener.controlChange = (payload: IControl | null)=>{} instance.listener.controlChange = (payload: IControl | null) => {}
``` ```
## pageModeChange ## pageModeChange
功能:页面模式发生改变 功能:页面模式发生改变
用法: 用法:
```javascript ```javascript
instance.listener.pageModeChange = (payload: PageMode)=>{} instance.listener.pageModeChange = (payload: PageMode) => {}
``` ```
## saved ## saved
功能:文档执行保存 功能:文档执行保存
用法: 用法:
```javascript ```javascript
instance.listener.saved = (payload: IEditorResult)=>{} instance.listener.saved = (payload: IEditorResult) => {}
``` ```
## zoneChange ## zoneChange
功能:区域发生改变 功能:区域发生改变
用法: 用法:
```javascript ```javascript
instance.listener.zoneChange = (payload: EditorZone)=>{} instance.listener.zoneChange = (payload: EditorZone) => {}
``` ```

@ -14,52 +14,52 @@ new Editor(container, IEditorData | IElement[], {
```typescript ```typescript
interface IEditorOption { interface IEditorOption {
mode?: EditorMode; // 编辑器模式:编辑、清洁(不显示视觉辅助元素。如:分页符)、只读。默认:编辑 mode?: EditorMode // 编辑器模式:编辑、清洁(不显示视觉辅助元素。如:分页符)、只读。默认:编辑
defaultType?: string; // 默认元素类型。默认TEXT defaultType?: string // 默认元素类型。默认TEXT
defaultFont?: string; // 默认字体。默认Yahei defaultFont?: string // 默认字体。默认Yahei
defaultSize?: number; // 默认字号。默认16 defaultSize?: number // 默认字号。默认16
minSize?: number; // 最小字号。默认5 minSize?: number // 最小字号。默认5
maxSize?: number; // 最大字号。默认72 maxSize?: number // 最大字号。默认72
defaultBasicRowMarginHeight?: number; // 默认行高。默认8 defaultBasicRowMarginHeight?: number // 默认行高。默认8
defaultRowMargin?: number; // 默认行间距。默认1 defaultRowMargin?: number // 默认行间距。默认1
defaultTabWidth?: number; // 默认tab宽度。默认32 defaultTabWidth?: number // 默认tab宽度。默认32
width?: number; // 纸张宽度。默认794 width?: number // 纸张宽度。默认794
height?: number; // 纸张高度。默认1123 height?: number // 纸张高度。默认1123
scale?: number; // 缩放比例。默认1 scale?: number // 缩放比例。默认1
pageGap?: number; // 纸张间隔。默认20 pageGap?: number // 纸张间隔。默认20
underlineColor?: string; // 下划线颜色。默认:#000000 underlineColor?: string // 下划线颜色。默认:#000000
strikeoutColor?: string; // 删除线颜色。默认:#FF0000 strikeoutColor?: string // 删除线颜色。默认:#FF0000
rangeColor?: string; // 选区颜色。默认:#AECBFA rangeColor?: string // 选区颜色。默认:#AECBFA
rangeAlpha?: number; // 选区透明度。默认0.6 rangeAlpha?: number // 选区透明度。默认0.6
rangeMinWidth?: number; // 选区最小宽度。默认5 rangeMinWidth?: number // 选区最小宽度。默认5
searchMatchColor?: string; // 搜索高亮颜色。默认:#FFFF00 searchMatchColor?: string // 搜索高亮颜色。默认:#FFFF00
searchNavigateMatchColor?: string; // 搜索导航高亮颜色。默认:#AAD280 searchNavigateMatchColor?: string // 搜索导航高亮颜色。默认:#AAD280
searchMatchAlpha?: number; // 搜索高亮透明度。默认0.6 searchMatchAlpha?: number // 搜索高亮透明度。默认0.6
highlightAlpha?: number; // 高亮元素透明度。默认0.6 highlightAlpha?: number // 高亮元素透明度。默认0.6
resizerColor?: string; // 图片尺寸器颜色。默认:#4182D9 resizerColor?: string // 图片尺寸器颜色。默认:#4182D9
resizerSize?: number; // 图片尺寸器大小。默认5 resizerSize?: number // 图片尺寸器大小。默认5
marginIndicatorSize?: number; // 页边距指示器长度。默认35 marginIndicatorSize?: number // 页边距指示器长度。默认35
marginIndicatorColor?: string; // 页边距指示器颜色。默认:#BABABA marginIndicatorColor?: string // 页边距指示器颜色。默认:#BABABA
margins?: IMargin; // 页面边距。默认:[100, 120, 100, 120] margins?: IMargin // 页面边距。默认:[100, 120, 100, 120]
pageMode?: PageMode; // 纸张模式:连页、分页。默认:分页 pageMode?: PageMode // 纸张模式:连页、分页。默认:分页
tdPadding?: number; // 单元格内边距。默认5 tdPadding?: number // 单元格内边距。默认5
defaultTrMinHeight?: number; // 默认表格行最小高度。默认40 defaultTrMinHeight?: number // 默认表格行最小高度。默认40
defaultColMinWidth?: number; // 默认表格列最小宽度整体宽度足够时应用否则会按比例缩小。默认40 defaultColMinWidth?: number // 默认表格列最小宽度整体宽度足够时应用否则会按比例缩小。默认40
defaultHyperlinkColor?: string; // 默认超链接颜色。默认:#0000FF defaultHyperlinkColor?: string // 默认超链接颜色。默认:#0000FF
header?: IHeader; // 页眉信息。{top?:number; maxHeightRadio?:MaxHeightRatio;} header?: IHeader // 页眉信息。{top?:number; maxHeightRadio?:MaxHeightRatio;}
footer?: IFooter; // 页脚信息。{bottom?:number; maxHeightRadio?:MaxHeightRatio;} footer?: IFooter // 页脚信息。{bottom?:number; maxHeightRadio?:MaxHeightRatio;}
pageNumber?: IPageNumber; // 页码信息。{bottom:number; size:number; font:string; color:string; rowFlex:RowFlex; format:string; numberType:NumberType;} pageNumber?: IPageNumber // 页码信息。{bottom:number; size:number; font:string; color:string; rowFlex:RowFlex; format:string; numberType:NumberType;}
paperDirection?: PaperDirection; // 纸张方向:纵向、横向 paperDirection?: PaperDirection // 纸张方向:纵向、横向
inactiveAlpha?: number; // 正文内容失焦时透明度。默认值0.6 inactiveAlpha?: number // 正文内容失焦时透明度。默认值0.6
historyMaxRecordCount: number; // 历史撤销重做最大记录次数。默认100次 historyMaxRecordCount: number // 历史撤销重做最大记录次数。默认100次
printPixelRatio: number; // 打印像素比率值越大越清晰但尺寸越大。默认3 printPixelRatio: number // 打印像素比率值越大越清晰但尺寸越大。默认3
wordBreak: WordBreak; // 单词与标点断行BREAK_WORD首行不出现标点&单词不拆分、BREAK_ALL按字符宽度撑满后折行。默认BREAK_WORD wordBreak: WordBreak // 单词与标点断行BREAK_WORD首行不出现标点&单词不拆分、BREAK_ALL按字符宽度撑满后折行。默认BREAK_WORD
watermark?: IWatermark; // 水印信息。{data:string; color?:string; opacity?:number; size?:number; font?:string;} watermark?: IWatermark // 水印信息。{data:string; color?:string; opacity?:number; size?:number; font?:string;}
control?: IControlOption; // 控件信息。 {placeholderColor?:string; bracketColor?:string; prefix?:string; postfix?:string;} control?: IControlOption // 控件信息。 {placeholderColor?:string; bracketColor?:string; prefix?:string; postfix?:string;}
checkbox?: ICheckboxOption; // 复选框信息。{width?:number; height?:number; gap?:number; lineWidth?:number; fillStyle?:string; fontStyle?: string;} checkbox?: ICheckboxOption // 复选框信息。{width?:number; height?:number; gap?:number; lineWidth?:number; fillStyle?:string; fontStyle?: string;}
cursor?: ICursorOption; // 光标样式。{width?: number; color?: string; dragWidth?: number; dragColor?: string;} cursor?: ICursorOption // 光标样式。{width?: number; color?: string; dragWidth?: number; dragColor?: string;}
title?: ITitleOption; // 标题配置。{ defaultFirstSize?: number; defaultSecondSize?: number; defaultThirdSize?: number defaultFourthSize?: number; defaultFifthSize?: number; defaultSixthSize?: number;} title?: ITitleOption // 标题配置。{ defaultFirstSize?: number; defaultSecondSize?: number; defaultThirdSize?: number defaultFourthSize?: number; defaultFifthSize?: number; defaultSixthSize?: number;}
placeholder?: IPlaceholder; // 编辑器空白占位文本 placeholder?: IPlaceholder // 编辑器空白占位文本
} }
``` ```
@ -67,9 +67,9 @@ interface IEditorOption {
```typescript ```typescript
interface IHeader { interface IHeader {
top?: number; // 距离页面顶部大小。默认30 top?: number // 距离页面顶部大小。默认30
maxHeightRadio?: MaxHeightRatio; // 占页面最大高度比。默认HALF maxHeightRadio?: MaxHeightRatio // 占页面最大高度比。默认HALF
disabled?: boolean; // 是否禁用 disabled?: boolean // 是否禁用
} }
``` ```
@ -77,9 +77,9 @@ interface IHeader {
```typescript ```typescript
interface IFooter { interface IFooter {
bottom?: number; // 距离页面底部大小。默认30 bottom?: number // 距离页面底部大小。默认30
maxHeightRadio?: MaxHeightRatio; // 占页面最大高度比。默认HALF maxHeightRadio?: MaxHeightRatio // 占页面最大高度比。默认HALF
disabled?: boolean; // 是否禁用 disabled?: boolean // 是否禁用
} }
``` ```
@ -87,16 +87,16 @@ interface IFooter {
```typescript ```typescript
interface IPageNumber { interface IPageNumber {
bottom?: number; // 距离页面底部大小。默认60 bottom?: number // 距离页面底部大小。默认60
size?: number; // 字体大小。默认12 size?: number // 字体大小。默认12
font?: string; // 字体。默认Yahei font?: string // 字体。默认Yahei
color?: string; // 字体颜色。默认:#000000 color?: string // 字体颜色。默认:#000000
rowFlex?: RowFlex; // 行对齐方式。默认CENTER rowFlex?: RowFlex // 行对齐方式。默认CENTER
format?: string; // 页码格式。默认:{pageNo}。示例:第{pageNo}页/共{pageCount}页 format?: string // 页码格式。默认:{pageNo}。示例:第{pageNo}页/共{pageCount}页
numberType?: NumberType; // 数字类型。默认ARABIC numberType?: NumberType // 数字类型。默认ARABIC
disabled?: boolean; // 是否禁用 disabled?: boolean // 是否禁用
startPageNo?: number; // 起始页码。默认1 startPageNo?: number // 起始页码。默认1
fromPageNo?: number; // 从第几页开始出现页码。默认0 fromPageNo?: number // 从第几页开始出现页码。默认0
} }
``` ```
@ -104,11 +104,11 @@ interface IPageNumber {
```typescript ```typescript
interface IWatermark { interface IWatermark {
data: string; // 文本。 data: string // 文本。
color?: string; // 颜色。默认:#AEB5C0 color?: string // 颜色。默认:#AEB5C0
opacity?: number; // 透明度。默认0.3 opacity?: number // 透明度。默认0.3
size?: number; // 字体大小。默认200 size?: number // 字体大小。默认200
font?: string; // 字体。默认Yahei font?: string // 字体。默认Yahei
} }
``` ```
@ -116,10 +116,10 @@ interface IWatermark {
```typescript ```typescript
interface IPlaceholder { interface IPlaceholder {
data: string; // 文本。 data: string // 文本。
color?: string; // 颜色。默认:#DCDFE6 color?: string // 颜色。默认:#DCDFE6
opacity?: number; // 透明度。默认1 opacity?: number // 透明度。默认1
size?: number; // 字体大小。默认16 size?: number // 字体大小。默认16
font?: string; // 字体。默认Yahei font?: string // 字体。默认Yahei
} }
``` ```

@ -20,4 +20,4 @@ export function myPlugin(editor: Editor, options?: Option) {
```javascript ```javascript
instance.add(myPlugin, options?: Option) instance.add(myPlugin, options?: Option)
``` ```

@ -129,4 +129,4 @@ interface IElement {
listStyle?: ListStyle; listStyle?: ListStyle;
listWrap?: boolean; listWrap?: boolean;
} }
``` ```

@ -18,4 +18,4 @@ instance.register.shortcutList([
callback: (command: Command) => any; callback: (command: Command) => any;
} }
]) ])
``` ```

@ -1,124 +1,165 @@
# 内部快捷键 # 内部快捷键
## Backspace ## Backspace
功能:向前删除 功能:向前删除
## Delete ## Delete
功能:向后删除 功能:向后删除
## Enter ## Enter
功能:换行 功能:换行
## Shift + Enter ## Shift + Enter
功能:列表内换行 功能:列表内换行
## ← ## ←
功能:向左移动 功能:向左移动
## Shift + ← ## Shift + ←
功能:向左缩放选区 功能:向左缩放选区
## → ## →
功能:向右移动 功能:向右移动
## Shift + → ## Shift + →
功能:向右缩放选区 功能:向右缩放选区
## ↑ ## ↑
功能:向上移动 功能:向上移动
## Shift + ↑ ## Shift + ↑
功能:向上缩放选区 功能:向上缩放选区
## ↓ ## ↓
功能:向下移动 功能:向下移动
## Shift + ↓ ## Shift + ↓
功能:向下缩放选区 功能:向下缩放选区
## Esc ## Esc
功能:退出格式刷 功能:退出格式刷
## Tab ## Tab
功能:增加缩进 功能:增加缩进
## Ctrl/Cmd + Z ## Ctrl/Cmd + Z
功能:撤销 功能:撤销
## Ctrl/Cmd + Y ## Ctrl/Cmd + Y
功能:重做 功能:重做
## Ctrl/Cmd + C ## Ctrl/Cmd + C
功能:复制 功能:复制
## Ctrl/Cmd + X ## Ctrl/Cmd + X
功能:剪切 功能:剪切
## Ctrl/Cmd + A ## Ctrl/Cmd + A
功能:全选 功能:全选
## Ctrl/Cmd + S ## Ctrl/Cmd + S
功能:保存 功能:保存
## Ctrl/Cmd + { ## Ctrl/Cmd + {
功能:增大字体 功能:增大字体
## Ctrl/Cmd + } ## Ctrl/Cmd + }
功能:减小字体 功能:减小字体
## Ctrl/Cmd + B ## Ctrl/Cmd + B
功能:加粗 功能:加粗
## Ctrl/Cmd + I ## Ctrl/Cmd + I
功能:斜体 功能:斜体
## Ctrl/Cmd + U ## Ctrl/Cmd + U
功能:下划线 功能:下划线
## Ctrl/Cmd + L ## Ctrl/Cmd + L
功能:行居左 功能:行居左
## Ctrl/Cmd + E ## Ctrl/Cmd + E
功能:行居中 功能:行居中
## Ctrl/Cmd + R ## Ctrl/Cmd + R
功能:行居右 功能:行居右
## Ctrl/Cmd + J ## Ctrl/Cmd + J
功能:两端对齐 功能:两端对齐
## Ctrl + Shift + X ## Ctrl + Shift + X
功能:删除线 功能:删除线
## Ctrl/Cmd + Shift + > ## Ctrl/Cmd + Shift + >
功能:上标 功能:上标
## Ctrl/Cmd + Shift + < ## Ctrl/Cmd + Shift + <
功能:下标 功能:下标
## Ctrl + Alt/Option + 0 ## Ctrl + Alt/Option + 0
功能:正文 功能:正文
## Ctrl + Alt/Option + 1 ## Ctrl + Alt/Option + 1
功能:标题一 功能:标题一
## Ctrl + Alt/Option + 2 ## Ctrl + Alt/Option + 2
功能:标题二 功能:标题二
## Ctrl + Alt/Option + 3 ## Ctrl + Alt/Option + 3
功能:标题三 功能:标题三
## Ctrl + Alt/Option + 4 ## Ctrl + Alt/Option + 4
功能:标题四 功能:标题四
## Ctrl + Alt/Option + 5 ## Ctrl + Alt/Option + 5
功能:标题五 功能:标题五
## Ctrl + Alt/Option + 6 ## Ctrl + Alt/Option + 6
功能:标题六 功能:标题六
## Ctrl/Cmd + Shift + I ## Ctrl/Cmd + Shift + I
功能:无序列表 功能:无序列表
## Ctrl/Cmd + Shift + U ## Ctrl/Cmd + Shift + U
功能:有序列表
功能:有序列表

@ -2,17 +2,17 @@
> 所见即所得的富文本编辑器。 > 所见即所得的富文本编辑器。
得益于光标及文字排版的完全自行实现。绘制底层也可由svg渲染详见代码[feature/svg](https://github.com/Hufe921/canvas-editor/tree/feature/svg)或借助pdfjs的完成pdf的绘制详见代码[feature/pdf](https://github.com/Hufe921/canvas-editor/tree/feature/pdf)。 得益于光标及文字排版的完全自行实现。绘制底层也可由 svg 渲染,详见代码:[feature/svg](https://github.com/Hufe921/canvas-editor/tree/feature/svg);或借助 pdfjs 的完成 pdf 的绘制,详见代码:[feature/pdf](https://github.com/Hufe921/canvas-editor/tree/feature/pdf)。
::: warning ::: warning
官方仅提供编辑器核心层npm包菜单栏或其他外部工具可自行参考文档扩展或直接参考[官方](https://github.com/Hufe921/canvas-editor)实现,详见[demo](https://hufe.club/canvas-editor/)。 官方仅提供编辑器核心层 npm 包,菜单栏或其他外部工具可自行参考文档扩展,或直接参考[官方](https://github.com/Hufe921/canvas-editor)实现,详见[demo](https://hufe.club/canvas-editor/)。
::: :::
## 功能点 ## 功能点
- 富文本操作(撤销、重做、字体、字号、加粗、斜体、上下标、对齐方式、标题、列表..... - 富文本操作(撤销、重做、字体、字号、加粗、斜体、上下标、对齐方式、标题、列表.....
- 插入元素表格、图片、链接、代码块、分页符、Math公式、日期选择器、内容块...... - 插入元素表格、图片、链接、代码块、分页符、Math 公式、日期选择器、内容块......
- 打印基于canvas转图片、pdf绘制 - 打印(基于 canvas 转图片、pdf 绘制)
- 控件(单选、文本、复选框) - 控件(单选、文本、复选框)
- 右键菜单(内部、自定义) - 右键菜单(内部、自定义)
- 快捷键(内部、自定义) - 快捷键(内部、自定义)
@ -28,9 +28,9 @@
- 计算性能 - 计算性能
- 控件规则 - 控件规则
- 表格分页 - 表格分页
- vue、react等框架开箱即用版 - vue、react 等框架开箱即用版
## Step. 1: 下载npm包 ## Step. 1: 下载 npm
```sh ```sh
npm i @hufe921/canvas-editor --save npm i @hufe921/canvas-editor --save
@ -45,35 +45,51 @@ npm i @hufe921/canvas-editor --save
## Step. 3: 实例化编辑器 ## Step. 3: 实例化编辑器
- 仅包含正文内容 - 仅包含正文内容
```javascript ```javascript
import Editor from "@hufe921/canvas-editor" import Editor from '@hufe921/canvas-editor'
new Editor(document.querySelector(".canvas-editor"), [ new Editor(
document.querySelector('.canvas-editor'),
[
{ {
value: "Hello World" value: 'Hello World'
} }
], {}) ],
{}
)
``` ```
- 包含正文、页眉、页脚内容 - 包含正文、页眉、页脚内容
```javascript ```javascript
import Editor from "@hufe921/canvas-editor" import Editor from '@hufe921/canvas-editor'
new Editor(document.querySelector(".canvas-editor"), { new Editor(
header: [{ document.querySelector('.canvas-editor'),
value: "Header", {
rowFlex: RowFlex.CENTER header: [
}], {
main: [{ value: 'Header',
value: "Hello World" rowFlex: RowFlex.CENTER
}], }
footer: [{ ],
value: 'canvas-editor', main: [
size: 12 {
}] value: 'Hello World'
}, {}) }
],
footer: [
{
value: 'canvas-editor',
size: 12
}
]
},
{}
)
``` ```
## Step. 4: 配置编辑器 ## Step. 4: 配置编辑器
详见下一节 详见下一节

@ -40,4 +40,4 @@ features:
.main>p { .main>p {
max-width:100% !important; max-width:100% !important;
} }
</style> </style>

@ -61,7 +61,7 @@
"typescript": "^4.3.2", "typescript": "^4.3.2",
"vite": "^2.4.2", "vite": "^2.4.2",
"vite-plugin-css-injected-by-js": "^2.1.1", "vite-plugin-css-injected-by-js": "^2.1.1",
"vitepress": "^1.0.0-alpha.33", "vitepress": "1.0.0-beta.6",
"vue": "^3.2.45" "vue": "^3.2.45"
}, },
"dependencies": { "dependencies": {
@ -71,4 +71,4 @@
"pre-commit": "npm run lint && npm run type:check", "pre-commit": "npm run lint && npm run type:check",
"commit-msg": "node scripts/verifyCommit.js" "commit-msg": "node scripts/verifyCommit.js"
} }
} }

@ -2,24 +2,32 @@
# yarn lockfile v1 # yarn lockfile v1
"@algolia/autocomplete-core@1.7.2": "@algolia/autocomplete-core@1.9.3":
version "1.7.2" version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.7.2.tgz#8abbed88082f611997538760dffcb43b33b1fd1d" resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7"
integrity sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw== integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
dependencies: dependencies:
"@algolia/autocomplete-shared" "1.7.2" "@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-preset-algolia@1.7.2": "@algolia/autocomplete-plugin-algolia-insights@1.9.3":
version "1.7.2" version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.2.tgz#9cd4f64b3d64399657ee2dc2b7e0a939e0713a26" resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587"
integrity sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw== integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
dependencies: dependencies:
"@algolia/autocomplete-shared" "1.7.2" "@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-shared@1.7.2": "@algolia/autocomplete-preset-algolia@1.9.3":
version "1.7.2" version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz#daa23280e78d3b42ae9564d12470ae034db51a89" resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da"
integrity sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug== integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==
dependencies:
"@algolia/autocomplete-shared" "1.9.3"
"@algolia/autocomplete-shared@1.9.3":
version "1.9.3"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa"
integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
"@algolia/cache-browser-local-storage@4.14.3": "@algolia/cache-browser-local-storage@4.14.3":
version "4.14.3" version "4.14.3"
@ -151,6 +159,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
"@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
version "7.22.7"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae"
integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==
"@cypress/request@^2.88.10": "@cypress/request@^2.88.10":
version "2.88.10" version "2.88.10"
resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce"
@ -183,138 +196,138 @@
debug "^3.1.0" debug "^3.1.0"
lodash.once "^4.1.1" lodash.once "^4.1.1"
"@docsearch/css@3.3.1", "@docsearch/css@^3.3.0": "@docsearch/css@3.5.1", "@docsearch/css@^3.5.1":
version "3.3.1" version "3.5.1"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.3.1.tgz#32041581bffb1a834072fd21ca66d1dd9f016098" resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.1.tgz#4adf9884735bbfea621c3716e80ea97baa419b73"
integrity sha512-nznHXeFHpAYjyaSNFNFpU+IJPjQA7AINM8ONjDx/Zx4O/pGAvqwgmcLNc7zR8qXRutqnzLo06yN63xFn36KFBw== integrity sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==
"@docsearch/js@^3.3.0": "@docsearch/js@^3.5.1":
version "3.3.1" version "3.5.1"
resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.3.1.tgz#61256bfb0cb17840e6259b9c86f409aa98f02438" resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.5.1.tgz#6d8de3b4fcf7de94462c0e592e333efa9ebbbabd"
integrity sha512-BCVu7njUFJSUXDNvgK65xNYU1L7U3CKFJlawDXql17nQwfpBrNZHqp+eb8z9qu0SzauQKss9tsf/qwlFJ9BOGw== integrity sha512-EXi8de5njxgP6TV3N9ytnGRLG9zmBNTEZjR4VzwPcpPLbZxxTLG2gaFyJyKiFVQxHW/DPlMrDJA3qoRRGEkgZw==
dependencies: dependencies:
"@docsearch/react" "3.3.1" "@docsearch/react" "3.5.1"
preact "^10.0.0" preact "^10.0.0"
"@docsearch/react@3.3.1": "@docsearch/react@3.5.1":
version "3.3.1" version "3.5.1"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.3.1.tgz#47ce4a267a9daf1b5d913b979284b4f624088003" resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.1.tgz#35f4a75f948211d8bb6830d2147c575f96a85274"
integrity sha512-wdeQBODPkue6yVEEg4ntt+TiGJ6iXMBUNjBQJ0s1WVoc1OdcCnks/lkQ5LEfXETYR/q9QSbCCBnMjvnSoILaag== integrity sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==
dependencies: dependencies:
"@algolia/autocomplete-core" "1.7.2" "@algolia/autocomplete-core" "1.9.3"
"@algolia/autocomplete-preset-algolia" "1.7.2" "@algolia/autocomplete-preset-algolia" "1.9.3"
"@docsearch/css" "3.3.1" "@docsearch/css" "3.5.1"
algoliasearch "^4.0.0" algoliasearch "^4.0.0"
"@esbuild/android-arm64@0.16.12": "@esbuild/android-arm64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.12.tgz#86c4fdd7c0d65fe9dcbe138fbe72720658ec3b88" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz#9e00eb6865ed5f2dbe71a1e96f2c52254cd92903"
integrity sha512-0LacmiIW+X0/LOLMZqYtZ7d4uY9fxYABAYhSSOu+OGQVBqH4N5eIYgkT7bBFnR4Nm3qo6qS3RpHKVrDASqj/uQ== integrity sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==
"@esbuild/android-arm@0.16.12": "@esbuild/android-arm@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.12.tgz#15e33bb1c8c2f560fbb27cda227c0fa22d83d0ef" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.17.tgz#1aa013b65524f4e9f794946b415b32ae963a4618"
integrity sha512-CTWgMJtpCyCltrvipZrrcjjRu+rzm6pf9V8muCsJqtKujR3kPmU4ffbckvugNNaRmhxAF1ZI3J+0FUIFLFg8KA== integrity sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==
"@esbuild/android-x64@0.16.12": "@esbuild/android-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.12.tgz#3b0ddaf59fdf94e8e9fcb2aa6537cbab93d5fe22" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.17.tgz#c2bd0469b04ded352de011fae34a7a1d4dcecb79"
integrity sha512-sS5CR3XBKQXYpSGMM28VuiUnbX83Z+aWPZzClW+OB2JquKqxoiwdqucJ5qvXS8pM6Up3RtJfDnRQZkz3en2z5g== integrity sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==
"@esbuild/darwin-arm64@0.16.12": "@esbuild/darwin-arm64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.12.tgz#ac6c5d85cabf20de5047b55eab7f3c252d9aae71" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz#0c21a59cb5bd7a2cec66c7a42431dca42aefeddd"
integrity sha512-Dpe5hOAQiQRH20YkFAg+wOpcd4PEuXud+aGgKBQa/VriPJA8zuVlgCOSTwna1CgYl05lf6o5els4dtuyk1qJxQ== integrity sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==
"@esbuild/darwin-x64@0.16.12": "@esbuild/darwin-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.12.tgz#3433e6432dd474994302bcfe35c5420fae46a206" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz#92f8763ff6f97dff1c28a584da7b51b585e87a7b"
integrity sha512-ApGRA6X5txIcxV0095X4e4KKv87HAEXfuDRcGTniDWUUN+qPia8sl/BqG/0IomytQWajnUn4C7TOwHduk/FXBQ== integrity sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==
"@esbuild/freebsd-arm64@0.16.12": "@esbuild/freebsd-arm64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.12.tgz#b150587dc54dc2369cb826e6ee9f94fc5ec14635" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz#934f74bdf4022e143ba2f21d421b50fd0fead8f8"
integrity sha512-AMdK2gA9EU83ccXCWS1B/KcWYZCj4P3vDofZZkl/F/sBv/fphi2oUqUTox/g5GMcIxk8CF1CVYTC82+iBSyiUg== integrity sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==
"@esbuild/freebsd-x64@0.16.12": "@esbuild/freebsd-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.12.tgz#e682a61cde8d6332aaeb4c2b28fce0d833928903" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz#16b6e90ba26ecc865eab71c56696258ec7f5d8bf"
integrity sha512-KUKB9w8G/xaAbD39t6gnRBuhQ8vIYYlxGT2I+mT6UGRnCGRr1+ePFIGBQmf5V16nxylgUuuWVW1zU2ktKkf6WQ== integrity sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==
"@esbuild/linux-arm64@0.16.12": "@esbuild/linux-arm64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.12.tgz#d0d75e10796d4f1414ecaf16a8071ce05446cb9f" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz#179a58e8d4c72116eb068563629349f8f4b48072"
integrity sha512-29HXMLpLklDfmw7T2buGqq3HImSUaZ1ArmrPOMaNiZZQptOSZs32SQtOHEl8xWX5vfdwZqrBfNf8Te4nArVzKQ== integrity sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==
"@esbuild/linux-arm@0.16.12": "@esbuild/linux-arm@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.12.tgz#945ebcd99205fadea5ee22bff624189bd95c0484" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz#9d78cf87a310ae9ed985c3915d5126578665c7b5"
integrity sha512-vhDdIv6z4eL0FJyNVfdr3C/vdd/Wc6h1683GJsFoJzfKb92dU/v88FhWdigg0i6+3TsbSDeWbsPUXb4dif2abg== integrity sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==
"@esbuild/linux-ia32@0.16.12": "@esbuild/linux-ia32@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.12.tgz#132e61b2124eee6033bf7f0d5b312c02524d39db" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz#6fed202602d37361bca376c9d113266a722a908c"
integrity sha512-JFDuNDTTfgD1LJg7wHA42o2uAO/9VzHYK0leAVnCQE/FdMB599YMH73ux+nS0xGr79pv/BK+hrmdRin3iLgQjg== integrity sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==
"@esbuild/linux-loong64@0.16.12": "@esbuild/linux-loong64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.12.tgz#d27dc1e203c0d0516c1daadb7988f88b643f8ea2" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz#cdc60304830be1e74560c704bfd72cab8a02fa06"
integrity sha512-xTGzVPqm6WKfCC0iuj1fryIWr1NWEM8DMhAIo+4rFgUtwy/lfHl+Obvus4oddzRDbBetLLmojfVZGmt/g/g+Rw== integrity sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==
"@esbuild/linux-mips64el@0.16.12": "@esbuild/linux-mips64el@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.12.tgz#9616c378ca76f12d06ffaf242da68a58be966a18" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz#c367b2855bb0902f5576291a2049812af2088086"
integrity sha512-zI1cNgHa3Gol+vPYjIYHzKhU6qMyOQrvZ82REr5Fv7rlh5PG6SkkuCoH7IryPqR+BK2c/7oISGsvPJPGnO2bHQ== integrity sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==
"@esbuild/linux-ppc64@0.16.12": "@esbuild/linux-ppc64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.12.tgz#b033a248212249c05c162b64124744345a041f92" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz#7fdc0083d42d64a4651711ee0a7964f489242f45"
integrity sha512-/C8OFXExoMmvTDIOAM54AhtmmuDHKoedUd0Otpfw3+AuuVGemA1nQK99oN909uZbLEU6Bi+7JheFMG3xGfZluQ== integrity sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==
"@esbuild/linux-riscv64@0.16.12": "@esbuild/linux-riscv64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.12.tgz#b6476abff413b5b472e6cf093086b9d5be4553a8" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz#5198a417f3f5b86b10c95647b8bc032e5b6b2b1c"
integrity sha512-qeouyyc8kAGV6Ni6Isz8hUsKMr00EHgVwUKWNp1r4l88fHEoNTDB8mmestvykW6MrstoGI7g2EAsgr0nxmuGYg== integrity sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==
"@esbuild/linux-s390x@0.16.12": "@esbuild/linux-s390x@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.12.tgz#981a639f8c2a2e0646f47eba0fae7c2c270b208b" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz#7459c2fecdee2d582f0697fb76a4041f4ad1dd1e"
integrity sha512-s9AyI/5vz1U4NNqnacEGFElqwnHusWa81pskAf8JNDM2eb6b2E6PpBmT8RzeZv6/TxE6/TADn2g9bb0jOUmXwQ== integrity sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==
"@esbuild/linux-x64@0.16.12": "@esbuild/linux-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.12.tgz#01b777229d8baf068eeeb7cd7c396aea4d1ebd36" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz#948cdbf46d81c81ebd7225a7633009bc56a4488c"
integrity sha512-e8YA7GQGLWhvakBecLptUiKxOk4E/EPtSckS1i0MGYctW8ouvNUoh7xnU15PGO2jz7BYl8q1R6g0gE5HFtzpqQ== integrity sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==
"@esbuild/netbsd-x64@0.16.12": "@esbuild/netbsd-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.12.tgz#6d4b9de7dc3ac99bf04653fe640b3be63c57b1aa" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz#6bb89668c0e093c5a575ded08e1d308bd7fd63e7"
integrity sha512-z2+kUxmOqBS+6SRVd57iOLIHE8oGOoEnGVAmwjm2aENSP35HPS+5cK+FL1l+rhrsJOFIPrNHqDUNechpuG96Sg== integrity sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==
"@esbuild/openbsd-x64@0.16.12": "@esbuild/openbsd-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.12.tgz#2a28010b1848466586d5e2189e9f1b8334b65708" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz#abac2ae75fef820ef6c2c48da4666d092584c79d"
integrity sha512-PAonw4LqIybwn2/vJujhbg1N9W2W8lw9RtXIvvZoyzoA/4rA4CpiuahVbASmQohiytRsixbNoIOUSjRygKXpyA== integrity sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==
"@esbuild/sunos-x64@0.16.12": "@esbuild/sunos-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.12.tgz#3ee120008cc759d604825dd25501152071ef30f0" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz#74a45fe1db8ea96898f1a9bb401dcf1dadfc8371"
integrity sha512-+wr1tkt1RERi+Zi/iQtkzmMH4nS8+7UIRxjcyRz7lur84wCkAITT50Olq/HiT4JN2X2bjtlOV6vt7ptW5Gw60Q== integrity sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==
"@esbuild/win32-arm64@0.16.12": "@esbuild/win32-arm64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.12.tgz#8c599a91f1c55b3df304c450ac0613855c10502e" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz#fd95ffd217995589058a4ed8ac17ee72a3d7f615"
integrity sha512-XEjeUSHmjsAOJk8+pXJu9pFY2O5KKQbHXZWQylJzQuIBeiGrpMeq9sTVrHefHxMOyxUgoKQTcaTS+VK/K5SviA== integrity sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==
"@esbuild/win32-ia32@0.16.12": "@esbuild/win32-ia32@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.12.tgz#102b5a44b514f8849a10cc4cc618c60c70a4c536" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz#9b7ef5d0df97593a80f946b482e34fcba3fa4aaf"
integrity sha512-eRKPM7e0IecUAUYr2alW7JGDejrFJXmpjt4MlfonmQ5Rz9HWpKFGCjuuIRgKO7W9C/CWVFXdJ2GjddsBXqQI4A== integrity sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==
"@esbuild/win32-x64@0.16.12": "@esbuild/win32-x64@0.18.17":
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.12.tgz#31197bb509049b63c059c4808ac58e66fdff7479" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz#bcb2e042631b3c15792058e189ed879a22b2968b"
integrity sha512-iPYKN78t3op2+erv2frW568j1q0RpqX6JOLZ7oPPaAV1VaF7dDstOrNw37PVOYoTWE11pV4A1XUitpdEFNIsPg== integrity sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==
"@eslint/eslintrc@^0.4.3": "@eslint/eslintrc@^0.4.3":
version "0.4.3" version "0.4.3"
@ -345,6 +358,11 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@jridgewell/sourcemap-codec@^1.4.15":
version "1.4.15"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@nodelib/fs.scandir@2.1.5": "@nodelib/fs.scandir@2.1.5":
version "2.1.5" version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@ -423,10 +441,10 @@
resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef"
integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==
"@types/web-bluetooth@^0.0.16": "@types/web-bluetooth@^0.0.17":
version "0.0.16" version "0.0.17"
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8" resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz#5c9f3c617f64a9735d7b72a7cc671e166d900c40"
integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ== integrity sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==
"@types/yauzl@^2.9.1": "@types/yauzl@^2.9.1":
version "2.9.2" version "2.9.2"
@ -505,10 +523,10 @@
"@typescript-eslint/types" "4.33.0" "@typescript-eslint/types" "4.33.0"
eslint-visitor-keys "^2.0.0" eslint-visitor-keys "^2.0.0"
"@vitejs/plugin-vue@^4.0.0": "@vitejs/plugin-vue@^4.2.3":
version "4.0.0" version "4.2.3"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz#93815beffd23db46288c787352a8ea31a0c03e5e" resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz#ee0b6dfcc62fe65364e6395bf38fa2ba10bb44b6"
integrity sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA== integrity sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==
"@vue/compiler-core@3.2.45": "@vue/compiler-core@3.2.45":
version "3.2.45" version "3.2.45"
@ -520,6 +538,16 @@
estree-walker "^2.0.2" estree-walker "^2.0.2"
source-map "^0.6.1" source-map "^0.6.1"
"@vue/compiler-core@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128"
integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
dependencies:
"@babel/parser" "^7.21.3"
"@vue/shared" "3.3.4"
estree-walker "^2.0.2"
source-map-js "^1.0.2"
"@vue/compiler-dom@3.2.45": "@vue/compiler-dom@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce" resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce"
@ -528,6 +556,14 @@
"@vue/compiler-core" "3.2.45" "@vue/compiler-core" "3.2.45"
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
"@vue/compiler-dom@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151"
integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
dependencies:
"@vue/compiler-core" "3.3.4"
"@vue/shared" "3.3.4"
"@vue/compiler-sfc@3.2.45": "@vue/compiler-sfc@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70" resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70"
@ -544,6 +580,22 @@
postcss "^8.1.10" postcss "^8.1.10"
source-map "^0.6.1" source-map "^0.6.1"
"@vue/compiler-sfc@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df"
integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
dependencies:
"@babel/parser" "^7.20.15"
"@vue/compiler-core" "3.3.4"
"@vue/compiler-dom" "3.3.4"
"@vue/compiler-ssr" "3.3.4"
"@vue/reactivity-transform" "3.3.4"
"@vue/shared" "3.3.4"
estree-walker "^2.0.2"
magic-string "^0.30.0"
postcss "^8.1.10"
source-map-js "^1.0.2"
"@vue/compiler-ssr@3.2.45": "@vue/compiler-ssr@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2" resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2"
@ -552,10 +604,18 @@
"@vue/compiler-dom" "3.2.45" "@vue/compiler-dom" "3.2.45"
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
"@vue/devtools-api@^6.4.5": "@vue/compiler-ssr@3.3.4":
version "6.4.5" version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz#d54e844c1adbb1e677c81c665ecef1a2b4bb8380" resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777"
integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ== integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
dependencies:
"@vue/compiler-dom" "3.3.4"
"@vue/shared" "3.3.4"
"@vue/devtools-api@^6.5.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07"
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
"@vue/reactivity-transform@3.2.45": "@vue/reactivity-transform@3.2.45":
version "3.2.45" version "3.2.45"
@ -568,6 +628,17 @@
estree-walker "^2.0.2" estree-walker "^2.0.2"
magic-string "^0.25.7" magic-string "^0.25.7"
"@vue/reactivity-transform@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929"
integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
dependencies:
"@babel/parser" "^7.20.15"
"@vue/compiler-core" "3.3.4"
"@vue/shared" "3.3.4"
estree-walker "^2.0.2"
magic-string "^0.30.0"
"@vue/reactivity@3.2.45": "@vue/reactivity@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.45.tgz#412a45b574de601be5a4a5d9a8cbd4dee4662ff0" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.45.tgz#412a45b574de601be5a4a5d9a8cbd4dee4662ff0"
@ -575,6 +646,13 @@
dependencies: dependencies:
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
"@vue/reactivity@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253"
integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
dependencies:
"@vue/shared" "3.3.4"
"@vue/runtime-core@3.2.45": "@vue/runtime-core@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz#7ad7ef9b2519d41062a30c6fa001ec43ac549c7f" resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz#7ad7ef9b2519d41062a30c6fa001ec43ac549c7f"
@ -583,6 +661,14 @@
"@vue/reactivity" "3.2.45" "@vue/reactivity" "3.2.45"
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
"@vue/runtime-core@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1"
integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==
dependencies:
"@vue/reactivity" "3.3.4"
"@vue/shared" "3.3.4"
"@vue/runtime-dom@3.2.45": "@vue/runtime-dom@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz#1a2ef6ee2ad876206fbbe2a884554bba2d0faf59" resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz#1a2ef6ee2ad876206fbbe2a884554bba2d0faf59"
@ -592,6 +678,15 @@
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
csstype "^2.6.8" csstype "^2.6.8"
"@vue/runtime-dom@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566"
integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==
dependencies:
"@vue/runtime-core" "3.3.4"
"@vue/shared" "3.3.4"
csstype "^3.1.1"
"@vue/server-renderer@3.2.45": "@vue/server-renderer@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz#ca9306a0c12b0530a1a250e44f4a0abac6b81f3f" resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz#ca9306a0c12b0530a1a250e44f4a0abac6b81f3f"
@ -600,32 +695,54 @@
"@vue/compiler-ssr" "3.2.45" "@vue/compiler-ssr" "3.2.45"
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
"@vue/server-renderer@3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c"
integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==
dependencies:
"@vue/compiler-ssr" "3.3.4"
"@vue/shared" "3.3.4"
"@vue/shared@3.2.45": "@vue/shared@3.2.45":
version "3.2.45" version "3.2.45"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2" resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2"
integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg== integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==
"@vueuse/core@^9.8.2": "@vue/shared@3.3.4":
version "9.9.0" version "3.3.4"
resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.9.0.tgz#ad6849cd03ba7ee396ef93fa01d4f2e5b11a4942" resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780"
integrity sha512-JdDb7TrE0imZnwBhMF4+0PCJqGD3AxzH8S2sfk54P0rqvklK+EAtAR/mPb1HwV/JPujQFQJhghQ190Yq03YpVw== integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
"@vueuse/core@10.2.1", "@vueuse/core@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.2.1.tgz#a62b54cdaf1496138a9f8a7df7f9d644892b421f"
integrity sha512-c441bfMbkAwTNwVRHQ0zdYZNETK//P84rC01aP2Uy/aRFCiie9NE/k9KdIXbno0eDYP5NPUuWv0aA/I4Unr/7w==
dependencies: dependencies:
"@types/web-bluetooth" "^0.0.16" "@types/web-bluetooth" "^0.0.17"
"@vueuse/metadata" "9.9.0" "@vueuse/metadata" "10.2.1"
"@vueuse/shared" "9.9.0" "@vueuse/shared" "10.2.1"
vue-demi "*" vue-demi ">=0.14.5"
"@vueuse/metadata@9.9.0": "@vueuse/integrations@^10.2.1":
version "9.9.0" version "10.2.1"
resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-9.9.0.tgz#d3f3f40dcedb6a045e7940a1fba78828a70d9b7e" resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.2.1.tgz#abc44b35f909f6b5e1a66a2d69a257bb4b087536"
integrity sha512-pgxsUJv/d7IjKpLeB6TthggEsaBwM3ffc5jPrr5TmxAm/fup0mGR5VTzrdA/PSx85tpb+CIvP92D+55qBNc8ag== integrity sha512-FDP5lni+z9FjHE9H3xuvwSjoRV9U8jmDvJpmHPCBjUgPGYRynwb60eHWXCFJXLUtb4gSIHy0e+iaEbrKdalCkQ==
dependencies:
"@vueuse/core" "10.2.1"
"@vueuse/shared" "10.2.1"
vue-demi ">=0.14.5"
"@vueuse/metadata@10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.2.1.tgz#0865066def62ed97629c417ec79678d508d22934"
integrity sha512-3Gt68mY/i6bQvFqx7cuGBzrCCQu17OBaGWS5JdwISpMsHnMKKjC2FeB5OAfMcCQ0oINfADP3i9A4PPRo0peHdQ==
"@vueuse/shared@9.9.0": "@vueuse/shared@10.2.1":
version "9.9.0" version "10.2.1"
resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-9.9.0.tgz#3f02e6a86d9c789c3dd73308bd3adea958860086" resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.2.1.tgz#0fd0a5dd014b7713b7fe03347b30fad69bb15b30"
integrity sha512-+D0XFwHG0T+uaIbCSlROBwm1wzs71B7n3KyDOxnvfEMMHDOzl09rYKwaE2AENmYwYPXfHPbSBRDD2gBVHbvTcg== integrity sha512-QWHq2bSuGptkcxx4f4M/fBYC3Y8d3M2UYyLsyzoPgEoVzJURQ0oJeWXu79OiLlBb8gTKkqe4mO85T/sf39mmiw==
dependencies: dependencies:
vue-demi "*" vue-demi ">=0.14.5"
acorn-jsx@^5.3.1: acorn-jsx@^5.3.1:
version "5.3.2" version "5.3.2"
@ -702,6 +819,11 @@ ansi-regex@^5.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
ansi-sequence-parser@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf"
integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==
ansi-styles@^3.2.1: ansi-styles@^3.2.1:
version "3.2.1" version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@ -981,6 +1103,11 @@ csstype@^2.6.8:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e"
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
csstype@^3.1.1:
version "3.1.2"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
cypress-file-upload@^5.0.8: cypress-file-upload@^5.0.8:
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1" resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1"
@ -1226,33 +1353,33 @@ esbuild@^0.13.2:
esbuild-windows-64 "0.13.13" esbuild-windows-64 "0.13.13"
esbuild-windows-arm64 "0.13.13" esbuild-windows-arm64 "0.13.13"
esbuild@^0.16.3: esbuild@^0.18.10:
version "0.16.12" version "0.18.17"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.12.tgz#60850b9ad2f103f1c4316be42c34d5023f27378d" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.17.tgz#2aaf6bc6759b0c605777fdc435fea3969e091cad"
integrity sha512-eq5KcuXajf2OmivCl4e89AD3j8fbV+UTE9vczEzq5haA07U9oOTzBWlh3+6ZdjJR7Rz2QfWZ2uxZyhZxBgJ4+g== integrity sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==
optionalDependencies: optionalDependencies:
"@esbuild/android-arm" "0.16.12" "@esbuild/android-arm" "0.18.17"
"@esbuild/android-arm64" "0.16.12" "@esbuild/android-arm64" "0.18.17"
"@esbuild/android-x64" "0.16.12" "@esbuild/android-x64" "0.18.17"
"@esbuild/darwin-arm64" "0.16.12" "@esbuild/darwin-arm64" "0.18.17"
"@esbuild/darwin-x64" "0.16.12" "@esbuild/darwin-x64" "0.18.17"
"@esbuild/freebsd-arm64" "0.16.12" "@esbuild/freebsd-arm64" "0.18.17"
"@esbuild/freebsd-x64" "0.16.12" "@esbuild/freebsd-x64" "0.18.17"
"@esbuild/linux-arm" "0.16.12" "@esbuild/linux-arm" "0.18.17"
"@esbuild/linux-arm64" "0.16.12" "@esbuild/linux-arm64" "0.18.17"
"@esbuild/linux-ia32" "0.16.12" "@esbuild/linux-ia32" "0.18.17"
"@esbuild/linux-loong64" "0.16.12" "@esbuild/linux-loong64" "0.18.17"
"@esbuild/linux-mips64el" "0.16.12" "@esbuild/linux-mips64el" "0.18.17"
"@esbuild/linux-ppc64" "0.16.12" "@esbuild/linux-ppc64" "0.18.17"
"@esbuild/linux-riscv64" "0.16.12" "@esbuild/linux-riscv64" "0.18.17"
"@esbuild/linux-s390x" "0.16.12" "@esbuild/linux-s390x" "0.18.17"
"@esbuild/linux-x64" "0.16.12" "@esbuild/linux-x64" "0.18.17"
"@esbuild/netbsd-x64" "0.16.12" "@esbuild/netbsd-x64" "0.18.17"
"@esbuild/openbsd-x64" "0.16.12" "@esbuild/openbsd-x64" "0.18.17"
"@esbuild/sunos-x64" "0.16.12" "@esbuild/sunos-x64" "0.18.17"
"@esbuild/win32-arm64" "0.16.12" "@esbuild/win32-arm64" "0.18.17"
"@esbuild/win32-ia32" "0.16.12" "@esbuild/win32-ia32" "0.18.17"
"@esbuild/win32-x64" "0.16.12" "@esbuild/win32-x64" "0.18.17"
escape-string-regexp@^1.0.5: escape-string-regexp@^1.0.5:
version "1.0.5" version "1.0.5"
@ -1517,6 +1644,13 @@ flatted@^3.1.0:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
focus-trap@^7.5.2:
version "7.5.2"
resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.2.tgz#e5ee678d10a18651f2591ffb66c949fb098d57cf"
integrity sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==
dependencies:
tabbable "^6.2.0"
forever-agent@~0.6.1: forever-agent@~0.6.1:
version "0.6.1" version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@ -1941,6 +2075,18 @@ magic-string@^0.25.7:
dependencies: dependencies:
sourcemap-codec "^1.4.8" sourcemap-codec "^1.4.8"
magic-string@^0.30.0:
version "0.30.1"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.1.tgz#ce5cd4b0a81a5d032bd69aab4522299b2166284d"
integrity sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
mark.js@8.11.1:
version "8.11.1"
resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5"
integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==
merge-stream@^2.0.0: merge-stream@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@ -1988,6 +2134,11 @@ minimist@^1.2.5:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
minisearch@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.1.0.tgz#6e74e743dbd0e88fa5ca52fef2391e0aa7055252"
integrity sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==
ms@2.1.2: ms@2.1.2:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@ -2008,6 +2159,11 @@ nanoid@^3.3.4:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
nanoid@^3.3.6:
version "3.3.6"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
natural-compare@^1.4.0: natural-compare@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@ -2110,7 +2266,7 @@ pify@^2.2.0:
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
postcss@^8.1.10, postcss@^8.4.20: postcss@^8.1.10:
version "8.4.20" version "8.4.20"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56"
integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==
@ -2128,6 +2284,15 @@ postcss@^8.3.8:
picocolors "^1.0.0" picocolors "^1.0.0"
source-map-js "^0.6.2" source-map-js "^0.6.2"
postcss@^8.4.26:
version "8.4.27"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057"
integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
preact@^10.0.0: preact@^10.0.0:
version "10.11.3" version "10.11.3"
resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.3.tgz#8a7e4ba19d3992c488b0785afcc0f8aa13c78d19" resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.3.tgz#8a7e4ba19d3992c488b0785afcc0f8aa13c78d19"
@ -2257,10 +2422,10 @@ rollup@^2.57.0:
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
rollup@^3.7.0: rollup@^3.25.2:
version "3.9.0" version "3.26.3"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.9.0.tgz#0ff7ab7cd71ce3a6ab140c5cf661f2b35eb6aab8" resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.26.3.tgz#bbc8818cadd0aebca348dbb3d68d296d220967b8"
integrity sha512-nGGylpmblyjTpF4lEUPgmOw6OVxRvnI6Iuuh6Lz4O/X66cVOX1XJSsqP1YamxQ+mPuFE7qJxLFDSCk8rNv5dDw== integrity sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
@ -2307,11 +2472,12 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shiki@^0.12.1: shiki@^0.14.3:
version "0.12.1" version "0.14.3"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.12.1.tgz#26fce51da12d055f479a091a5307470786f300cd" resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.3.tgz#d1a93c463942bdafb9866d74d619a4347d0bbf64"
integrity sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ== integrity sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==
dependencies: dependencies:
ansi-sequence-parser "^1.1.0"
jsonc-parser "^3.2.0" jsonc-parser "^3.2.0"
vscode-oniguruma "^1.7.0" vscode-oniguruma "^1.7.0"
vscode-textmate "^8.0.0" vscode-textmate "^8.0.0"
@ -2441,6 +2607,11 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
tabbable@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
table@^6.0.9: table@^6.0.9:
version "6.8.0" version "6.8.0"
resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
@ -2593,32 +2764,35 @@ vite@^2.4.2:
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
vite@^4.0.2: vite@^4.4.6:
version "4.0.3" version "4.4.7"
resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.3.tgz#de27ad3f263a03ae9419cdc8bc07721eadcba8b9" resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.7.tgz#71b8a37abaf8d50561aca084dbb77fa342824154"
integrity sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA== integrity sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==
dependencies: dependencies:
esbuild "^0.16.3" esbuild "^0.18.10"
postcss "^8.4.20" postcss "^8.4.26"
resolve "^1.22.1" rollup "^3.25.2"
rollup "^3.7.0"
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
vitepress@^1.0.0-alpha.33: vitepress@1.0.0-beta.6:
version "1.0.0-alpha.33" version "1.0.0-beta.6"
resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.33.tgz#5002ce435ad98b8e0c259e9df7770542bb3676c3" resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-beta.6.tgz#f5439bcbb53ab9a51f6f2b2a57d1bfad19cff476"
integrity sha512-EhMDqWLllYr5mXqAz4GCQ1o/bu5umQ6C2d8voiSaTHMkYCxsGc31ETykflM6NOhGx6yccwXygrYIIeN1l6BUEA== integrity sha512-xK/ulKgQpKZVbvlL4+/vW49VG7ySi5nmSoKUNH1G4kM+Cj9JwYM+PDJO7jSJROv8zW99G0ise+maDYnaLlbGBQ==
dependencies: dependencies:
"@docsearch/css" "^3.3.0" "@docsearch/css" "^3.5.1"
"@docsearch/js" "^3.3.0" "@docsearch/js" "^3.5.1"
"@vitejs/plugin-vue" "^4.0.0" "@vitejs/plugin-vue" "^4.2.3"
"@vue/devtools-api" "^6.4.5" "@vue/devtools-api" "^6.5.0"
"@vueuse/core" "^9.8.2" "@vueuse/core" "^10.2.1"
"@vueuse/integrations" "^10.2.1"
body-scroll-lock "4.0.0-beta.0" body-scroll-lock "4.0.0-beta.0"
shiki "^0.12.1" focus-trap "^7.5.2"
vite "^4.0.2" mark.js "8.11.1"
vue "^3.2.45" minisearch "^6.1.0"
shiki "^0.14.3"
vite "^4.4.6"
vue "^3.3.4"
vscode-oniguruma@^1.7.0: vscode-oniguruma@^1.7.0:
version "1.7.0" version "1.7.0"
@ -2630,10 +2804,10 @@ vscode-textmate@^8.0.0:
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d"
integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==
vue-demi@*: vue-demi@>=0.14.5:
version "0.13.11" version "0.14.5"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9"
integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==
vue@^3.2.45: vue@^3.2.45:
version "3.2.45" version "3.2.45"
@ -2646,6 +2820,17 @@ vue@^3.2.45:
"@vue/server-renderer" "3.2.45" "@vue/server-renderer" "3.2.45"
"@vue/shared" "3.2.45" "@vue/shared" "3.2.45"
vue@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6"
integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
dependencies:
"@vue/compiler-dom" "3.3.4"
"@vue/compiler-sfc" "3.3.4"
"@vue/runtime-dom" "3.3.4"
"@vue/server-renderer" "3.3.4"
"@vue/shared" "3.3.4"
which@^2.0.1: which@^2.0.1:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"

Loading…
Cancel
Save