@bagelink/vue 0.0.988 → 0.0.996
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Btn.vue.d.ts.map +1 -1
- package/dist/components/Loading.vue.d.ts +16 -0
- package/dist/components/Loading.vue.d.ts.map +1 -0
- package/dist/components/form/BglField.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts +6 -55
- package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/FileUpload.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/components/Toolbar.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/components/gridBox.vue.d.ts +3 -7
- package/dist/components/form/inputs/RichText/components/gridBox.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/composables/useEditor.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/config.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/formatting.d.ts +1 -0
- package/dist/components/form/inputs/RichText/utils/formatting.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/media.d.ts +3 -3
- package/dist/components/form/inputs/RichText/utils/media.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/selection.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/utils/table.d.ts +2 -1
- package/dist/components/form/inputs/RichText/utils/table.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
- package/dist/editor-a8DSbb6P.js +4 -0
- package/dist/editor-xBt_vIha.cjs +4 -0
- package/dist/index.cjs +10525 -48629
- package/dist/index.mjs +10526 -48630
- package/dist/style.css +818 -20219
- package/package.json +6 -33
- package/src/components/Btn.vue +110 -136
- package/src/components/Loading.vue +177 -0
- package/src/components/form/BglField.vue +2 -0
- package/src/components/form/inputs/CodeEditor/Index.vue +88 -395
- package/src/components/form/inputs/CodeEditor/format.ts +2 -2
- package/src/components/form/inputs/FileUpload.vue +2 -1
- package/src/components/form/inputs/RichText/components/Toolbar.vue +1 -1
- package/src/components/form/inputs/RichText/components/gridBox.vue +37 -8
- package/src/components/form/inputs/RichText/composables/useEditor.ts +27 -7
- package/src/components/form/inputs/RichText/config.ts +6 -2
- package/src/components/form/inputs/RichText/editor.css +14 -14
- package/src/components/form/inputs/RichText/index.vue +12 -10
- package/src/components/form/inputs/RichText/richTextTypes.d.ts +2 -0
- package/src/components/form/inputs/RichText/utils/formatting.ts +281 -34
- package/src/components/form/inputs/RichText/utils/media.ts +9 -6
- package/src/components/form/inputs/RichText/utils/selection.ts +6 -22
- package/src/components/form/inputs/RichText/utils/table.ts +60 -58
- package/src/components/index.ts +2 -2
- package/src/components/layout/TabsNav.vue +1 -0
- package/src/styles/theme.css +256 -256
- package/src/components/form/inputs/CodeEditor/themes/brown-papersq.png +0 -0
- package/src/components/form/inputs/CodeEditor/themes/pojoaque.jpg +0 -0
- package/src/components/form/inputs/CodeEditor/themes/themes-base16.css +0 -12809
- package/src/components/form/inputs/CodeEditor/themes/themes.css +0 -6740
- package/src/components/formkit/FileUploader.vue +0 -406
- package/src/components/formkit/MiscFields.vue +0 -74
- package/src/components/formkit/Toggle.vue +0 -149
|
@@ -1,79 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import type { EditorState } from '../richTextTypes'
|
|
2
|
+
|
|
3
|
+
export function insertTable(rows: number, cols: number, state: EditorState) {
|
|
4
|
+
if (!state.doc) return
|
|
5
|
+
const table = state.doc.createElement('table')
|
|
6
|
+
table.style.width = '100%'
|
|
7
|
+
table.style.borderCollapse = 'collapse'
|
|
8
|
+
|
|
9
|
+
for (let i = 0; i < rows; i++) {
|
|
10
|
+
const row = table.insertRow()
|
|
11
|
+
for (let j = 0; j < cols; j++) {
|
|
12
|
+
const cell = row.insertCell()
|
|
13
|
+
cell.innerHTML = ' '
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const { range } = state
|
|
17
|
+
if (range) {
|
|
18
|
+
range.insertNode(table)
|
|
19
|
+
} else {
|
|
20
|
+
state.doc.body.appendChild(table)
|
|
21
|
+
}
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
export function mergeCells(range: Range, doc: Document) {
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
const cells = Array.from(range.cloneContents().querySelectorAll('td'))
|
|
26
|
+
if (cells.length < 2) return
|
|
23
27
|
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
const firstCell = range.startContainer.parentElement?.closest('td')
|
|
29
|
+
if (!firstCell) return
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
firstCell.colSpan = cells.length
|
|
32
|
+
firstCell.innerHTML = cells.map(cell => cell.innerHTML).join(' ')
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
cells.slice(1).forEach((cell) => {
|
|
35
|
+
const actualCell = doc.getElementById(cell.id)
|
|
36
|
+
actualCell?.remove()
|
|
37
|
+
})
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
export function splitCell(range: Range, doc: Document) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
const cell = range.startContainer.parentElement?.closest('td')
|
|
42
|
+
if (!cell || !cell.colSpan || cell.colSpan === 1) return
|
|
43
|
+
|
|
44
|
+
const newCells = new Array(cell.colSpan - 1).fill(0).map(() => {
|
|
45
|
+
const newCell = doc.createElement('td')
|
|
46
|
+
newCell.style.border = '1px solid var(--border-color)'
|
|
47
|
+
newCell.style.padding = '8px'
|
|
48
|
+
newCell.innerHTML = ' '
|
|
49
|
+
return newCell
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
cell.colSpan = 1
|
|
53
|
+
cell.insertAdjacentElement('afterend', newCells[0])
|
|
54
|
+
newCells.slice(1).forEach((newCell) => {
|
|
55
|
+
newCells[0].insertAdjacentElement('afterend', newCell)
|
|
56
|
+
})
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
export function addRow(position: 'before' | 'after', range: Range, doc: Document) {
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
const cell = range.startContainer.parentElement?.closest('td')
|
|
61
|
+
if (!cell) return
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
const row = cell.parentElement
|
|
64
|
+
const table = row?.parentElement
|
|
65
|
+
if (!row || !table) return
|
|
62
66
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
cell.innerHTML = ' '
|
|
66
|
-
})
|
|
67
|
+
const newRow = row.cloneNode(true) as HTMLTableRowElement
|
|
68
|
+
Array.from(newRow.cells).forEach(cell => cell.innerHTML = ' ')
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
row.insertAdjacentElement(position === 'before' ? 'beforebegin' : 'afterend', newRow)
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
export function deleteRow(range: Range) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
const cell = range.startContainer.parentElement?.closest('td')
|
|
75
|
+
if (!cell) return
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
const row = cell.parentElement
|
|
78
|
+
if (!row) return
|
|
77
79
|
|
|
78
|
-
|
|
80
|
+
row.remove()
|
|
79
81
|
}
|
package/src/components/index.ts
CHANGED
|
@@ -14,10 +14,10 @@ export { default as Dropdown } from './Dropdown.vue'
|
|
|
14
14
|
export { default as Flag } from './Flag.vue'
|
|
15
15
|
export * from './form'
|
|
16
16
|
export { default as Image } from './Image.vue'
|
|
17
|
-
// export * from './whatsapp';
|
|
18
17
|
export * from './layout'
|
|
19
18
|
export { default as ListItem } from './ListItem.vue'
|
|
20
19
|
export { default as ListView } from './ListView.vue'
|
|
20
|
+
export { default as Loading } from './Loading.vue'
|
|
21
21
|
export { default as MapEmbed } from './MapEmbed.vue'
|
|
22
22
|
export { default as MaterialIcon } from './MaterialIcon.vue'
|
|
23
23
|
export { default as Icon } from './MaterialIcon.vue'
|
|
@@ -25,8 +25,8 @@ export { default as Modal } from './Modal.vue'
|
|
|
25
25
|
export { default as ModalConfirm } from './ModalConfirm.vue'
|
|
26
26
|
export { default as ModalForm } from './ModalForm.vue'
|
|
27
27
|
export { default as NavBar } from './NavBar.vue'
|
|
28
|
-
export { default as PageTitle } from './PageTitle.vue'
|
|
29
28
|
|
|
29
|
+
export { default as PageTitle } from './PageTitle.vue'
|
|
30
30
|
export { default as Pill } from './Pill.vue'
|
|
31
31
|
export { default as RouterWrapper } from './RouterWrapper.vue'
|
|
32
32
|
export { default as TableSchema } from './TableSchema.vue'
|