@bagelink/vue 0.0.988 → 0.0.992

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.
Files changed (44) hide show
  1. package/dist/components/Btn.vue.d.ts.map +1 -1
  2. package/dist/components/Loading.vue.d.ts +16 -0
  3. package/dist/components/Loading.vue.d.ts.map +1 -0
  4. package/dist/components/form/BglField.vue.d.ts.map +1 -1
  5. package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts +12 -57
  6. package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts.map +1 -1
  7. package/dist/components/form/inputs/FileUpload.vue.d.ts.map +1 -1
  8. package/dist/components/form/inputs/RichText/components/gridBox.vue.d.ts +3 -7
  9. package/dist/components/form/inputs/RichText/components/gridBox.vue.d.ts.map +1 -1
  10. package/dist/components/form/inputs/RichText/composables/useEditor.d.ts.map +1 -1
  11. package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
  12. package/dist/components/form/inputs/RichText/utils/table.d.ts +2 -1
  13. package/dist/components/form/inputs/RichText/utils/table.d.ts.map +1 -1
  14. package/dist/components/index.d.ts +1 -0
  15. package/dist/components/index.d.ts.map +1 -1
  16. package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
  17. package/dist/editor-a8DSbb6P.js +4 -0
  18. package/dist/editor-xBt_vIha.cjs +4 -0
  19. package/dist/index.cjs +10289 -48576
  20. package/dist/index.mjs +10290 -48577
  21. package/dist/style.css +815 -20218
  22. package/package.json +6 -34
  23. package/src/components/Btn.vue +110 -136
  24. package/src/components/Loading.vue +177 -0
  25. package/src/components/form/BglField.vue +2 -0
  26. package/src/components/form/inputs/CodeEditor/Index.vue +77 -400
  27. package/src/components/form/inputs/CodeEditor/format.ts +2 -2
  28. package/src/components/form/inputs/FileUpload.vue +2 -1
  29. package/src/components/form/inputs/RichText/components/gridBox.vue +37 -8
  30. package/src/components/form/inputs/RichText/composables/useEditor.ts +11 -4
  31. package/src/components/form/inputs/RichText/config.ts +1 -1
  32. package/src/components/form/inputs/RichText/editor.css +14 -14
  33. package/src/components/form/inputs/RichText/index.vue +11 -10
  34. package/src/components/form/inputs/RichText/utils/table.ts +60 -58
  35. package/src/components/index.ts +2 -2
  36. package/src/components/layout/TabsNav.vue +1 -0
  37. package/src/styles/theme.css +256 -256
  38. package/src/components/form/inputs/CodeEditor/themes/brown-papersq.png +0 -0
  39. package/src/components/form/inputs/CodeEditor/themes/pojoaque.jpg +0 -0
  40. package/src/components/form/inputs/CodeEditor/themes/themes-base16.css +0 -12809
  41. package/src/components/form/inputs/CodeEditor/themes/themes.css +0 -6740
  42. package/src/components/formkit/FileUploader.vue +0 -406
  43. package/src/components/formkit/MiscFields.vue +0 -74
  44. package/src/components/formkit/Toggle.vue +0 -149
@@ -49,7 +49,7 @@ watch(() => editor.state.content, (newValue) => {
49
49
  </script>
50
50
 
51
51
  <template>
52
- <div class="rich-text-editor rounded pt-05 px-05 pb-1" :class="{ 'fullscreen-mode': editor.state.isFullscreen }">
52
+ <div class="rich-text-editor rounded pt-05 px-05 pb-075" :class="{ 'fullscreen-mode': editor.state.isFullscreen }">
53
53
  <Toolbar
54
54
  v-if="editor.state.hasInit" :config="toolbarConfig" :selectedStyles="editor.state.selectedStyles"
55
55
  @action="editor.handleToolbarAction"
@@ -59,14 +59,11 @@ watch(() => editor.state.content, (newValue) => {
59
59
  <iframe id="rich-text-iframe" ref="iframe" class="editableContent" title="Editor" @load="initEditor" />
60
60
  </div>
61
61
  <CodeEditor
62
- v-if="editor?.state.isSplitView" v-model="editor.state.content" :languages="['html']"
62
+ v-if="editor?.state.isSplitView" v-model="editor.state.content" language="html"
63
63
  @update:modelValue="editor.updateContent('html')"
64
64
  />
65
65
  </div>
66
66
  </div>
67
- <pre wrap>
68
- {{ editor.state }}
69
- </pre>
70
67
  </template>
71
68
 
72
69
  <style scoped>
@@ -88,14 +85,15 @@ watch(() => editor.state.content, (newValue) => {
88
85
  background: var(--bgl-richtext-color);
89
86
  }
90
87
 
91
- .split-view .content-area,
92
- .split-view .preview-area {
93
- width: 50%;
88
+ .split-view {
89
+ display: grid;
90
+ grid-template-columns: 1fr 1fr;
94
91
  }
95
92
 
96
93
  .editableContent {
97
94
  width: 100%;
98
- min-height: 200px;
95
+ min-height: 240px;
96
+ height: 100%;
99
97
  border: none;
100
98
  outline: none;
101
99
  background: transparent;
@@ -130,7 +128,7 @@ watch(() => editor.state.content, (newValue) => {
130
128
  }
131
129
 
132
130
  .fullscreen-mode .editor-container {
133
- height: calc(100vh - 8rem);
131
+ height: calc(100vh - 4rem);
134
132
  }
135
133
 
136
134
  .fullscreen-mode .content-area,
@@ -138,4 +136,7 @@ watch(() => editor.state.content, (newValue) => {
138
136
  height: 100%;
139
137
  overflow-y: auto;
140
138
  }
139
+ .fullscreen-mode .code-editor{
140
+ height: 100% !important;
141
+ }
141
142
  </style>
@@ -1,79 +1,81 @@
1
-
2
- export function createTable(rows: number, cols: number, doc: Document) {
3
- const table = doc.createElement('table')
4
- table.style.width = '100%'
5
- table.style.borderCollapse = 'collapse'
6
-
7
- for (let i = 0; i < rows; i++) {
8
- const row = table.insertRow()
9
- for (let j = 0; j < cols; j++) {
10
- const cell = row.insertCell()
11
- cell.style.border = '1px solid var(--border-color)'
12
- cell.style.padding = '8px'
13
- cell.innerHTML = '&nbsp;'
14
- }
15
- }
16
-
17
- return table
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 = '&nbsp;'
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
- const cells = Array.from(range.cloneContents().querySelectorAll('td'))
22
- if (cells.length < 2) return
25
+ const cells = Array.from(range.cloneContents().querySelectorAll('td'))
26
+ if (cells.length < 2) return
23
27
 
24
- const firstCell = range.startContainer.parentElement?.closest('td')
25
- if (!firstCell) return
28
+ const firstCell = range.startContainer.parentElement?.closest('td')
29
+ if (!firstCell) return
26
30
 
27
- firstCell.colSpan = cells.length
28
- firstCell.innerHTML = cells.map(cell => cell.innerHTML).join(' ')
31
+ firstCell.colSpan = cells.length
32
+ firstCell.innerHTML = cells.map(cell => cell.innerHTML).join(' ')
29
33
 
30
- cells.slice(1).forEach((cell) => {
31
- const actualCell = doc.getElementById(cell.id)
32
- actualCell?.remove()
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
- const cell = range.startContainer.parentElement?.closest('td')
38
- if (!cell || !cell.colSpan || cell.colSpan === 1) return
39
-
40
- const newCells = new Array(cell.colSpan - 1).fill(0).map(() => {
41
- const newCell = doc.createElement('td')
42
- newCell.style.border = '1px solid var(--border-color)'
43
- newCell.style.padding = '8px'
44
- newCell.innerHTML = '&nbsp;'
45
- return newCell
46
- })
47
-
48
- cell.colSpan = 1
49
- cell.insertAdjacentElement('afterend', newCells[0])
50
- newCells.slice(1).forEach((newCell) => {
51
- newCells[0].insertAdjacentElement('afterend', newCell)
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 = '&nbsp;'
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
- const cell = range.startContainer.parentElement?.closest('td')
57
- if (!cell) return
60
+ const cell = range.startContainer.parentElement?.closest('td')
61
+ if (!cell) return
58
62
 
59
- const row = cell.parentElement
60
- const table = row?.parentElement
61
- if (!row || !table) return
63
+ const row = cell.parentElement
64
+ const table = row?.parentElement
65
+ if (!row || !table) return
62
66
 
63
- const newRow = row.cloneNode(true) as HTMLTableRowElement
64
- Array.from(newRow.cells).forEach((cell) => {
65
- cell.innerHTML = '&nbsp;'
66
- })
67
+ const newRow = row.cloneNode(true) as HTMLTableRowElement
68
+ Array.from(newRow.cells).forEach(cell => cell.innerHTML = '&nbsp;')
67
69
 
68
- row.insertAdjacentElement(position === 'before' ? 'beforebegin' : 'afterend', newRow)
70
+ row.insertAdjacentElement(position === 'before' ? 'beforebegin' : 'afterend', newRow)
69
71
  }
70
72
 
71
73
  export function deleteRow(range: Range) {
72
- const cell = range.startContainer.parentElement?.closest('td')
73
- if (!cell) return
74
+ const cell = range.startContainer.parentElement?.closest('td')
75
+ if (!cell) return
74
76
 
75
- const row = cell.parentElement
76
- if (!row) return
77
+ const row = cell.parentElement
78
+ if (!row) return
77
79
 
78
- row.remove()
80
+ row.remove()
79
81
  }
@@ -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'
@@ -134,6 +134,7 @@ onBeforeUnmount(() => {
134
134
  }
135
135
  .bgl_flat-tabs.bgl_tabs_wrap {
136
136
  background: transparent;
137
+ box-shadow: none;
137
138
  }
138
139
  .bgl_flat-tabs.bgl_tabs_wrap::before{
139
140
  background: transparent;