@techie_doubts/editor-plugin-table-merged-cell 3.1.0

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/README.md ADDED
@@ -0,0 +1,181 @@
1
+ # TOAST UI Editor : Table Merged Cell Plugin
2
+
3
+ > This is a plugin of [TOAST UI Editor](https://github.com/nhn/tui.editor/tree/master/apps/editor) to merge table columns.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@techie_doubts/editor-plugin-table-merged-cell.svg)](https://www.npmjs.com/package/@techie_doubts/editor-plugin-table-merged-cell)
6
+
7
+ ![table-merged-cell](https://user-images.githubusercontent.com/37766175/121814008-c0232480-cca9-11eb-8611-7ccc0fe8707f.png)
8
+
9
+ ## 🚩 Table of Contents
10
+
11
+ - [Bundle File Structure](#-bundle-file-structure)
12
+ - [Usage npm](#-usage-npm)
13
+ - [Usage CDN](#-usage-cdn)
14
+
15
+ ## 📁 Bundle File Structure
16
+
17
+ ### Files Distributed on npm
18
+
19
+ ```
20
+ - node_modules/
21
+ - @techie_doubts/
22
+ - editor-plugin-table-merged-cell/
23
+ - dist/
24
+ - td-editor-plugin-table-merged-cell.js
25
+ - td-editor-plugin-table-merged-cell.css
26
+ ```
27
+
28
+ ### Files Distributed on CDN
29
+
30
+ The bundle files include all dependencies of this plugin.
31
+
32
+ ```
33
+ - uicdn.toast.com/
34
+ - editor-plugin-table-merged-cell/
35
+ - latest/
36
+ - td-editor-plugin-table-merged-cell.js
37
+ - td-editor-plugin-table-merged-cell.min.js
38
+ - td-editor-plugin-table-merged-cell.css
39
+ - td-editor-plugin-table-merged-cell.min.css
40
+ ```
41
+
42
+ ## 📦 Usage npm
43
+
44
+ To use the plugin, [`@techie_doubts/tui.editor.2026`](https://github.com/nhn/tui.editor/tree/master/apps/editor) must be installed.
45
+
46
+ > Ref. [Getting Started](https://github.com/nhn/tui.editor/blob/master/docs/en/getting-started.md)
47
+
48
+ ### Install
49
+
50
+ ```sh
51
+ $ npm install @techie_doubts/editor-plugin-table-merged-cell
52
+ ```
53
+
54
+ ### Import Plugin
55
+
56
+ #### ES Modules
57
+
58
+ ```js
59
+ import '@techie_doubts/editor-plugin-table-merged-cell/dist/td-editor-plugin-table-merged-cell.css';
60
+
61
+ import tableMergedCell from '@techie_doubts/editor-plugin-table-merged-cell';
62
+ ```
63
+
64
+ #### CommonJS
65
+
66
+ ```js
67
+ require('@techie_doubts/editor-plugin-table-merged-cell/dist/td-editor-plugin-table-merged-cell.css');
68
+
69
+ const tableMergedCell = require('@techie_doubts/editor-plugin-table-merged-cell');
70
+ ```
71
+
72
+ ### Create Instance
73
+
74
+ #### Basic
75
+
76
+ ```js
77
+ import '@techie_doubts/editor-plugin-table-merged-cell/dist/td-editor-plugin-table-merged-cell.css';
78
+
79
+ import Editor from '@techie_doubts/tui.editor.2026';
80
+ import tableMergedCell from '@techie_doubts/editor-plugin-table-merged-cell';
81
+
82
+ const editor = new Editor({
83
+ // ...
84
+ plugins: [tableMergedCell]
85
+ });
86
+ ```
87
+
88
+ #### With Viewer
89
+
90
+ ```js
91
+ import '@techie_doubts/editor-plugin-table-merged-cell/dist/td-editor-plugin-table-merged-cell.css';
92
+
93
+ import Viewer from '@techie_doubts/tui.editor.2026/dist/td-editor-viewer';
94
+ import tableMergedCell from '@techie_doubts/editor-plugin-table-merged-cell';
95
+
96
+ const viewer = new Viewer({
97
+ // ...
98
+ plugins: [tableMergedCell]
99
+ });
100
+ ```
101
+
102
+ or
103
+
104
+ ```js
105
+ import '@techie_doubts/editor-plugin-table-merged-cell/dist/td-editor-plugin-table-merged-cell.css';
106
+
107
+ import Editor from '@techie_doubts/tui.editor.2026';
108
+ import tableMergedCell from '@techie_doubts/editor-plugin-table-merged-cell';
109
+
110
+ const viewer = Editor.factory({
111
+ // ...
112
+ plugins: [tableMergedCell],
113
+ viewer: true
114
+ });
115
+ ```
116
+
117
+ ## 🗂 Usage CDN
118
+
119
+ To use the plugin, the CDN files(CSS, Script) of `@techie_doubts/tui.editor.2026` must be included.
120
+
121
+ ### Include Files
122
+
123
+ ```html
124
+ ...
125
+ <head>
126
+ ...
127
+ <link
128
+ rel="stylesheet"
129
+ href="https://uicdn.toast.com/editor-plugin-table-merged-cell/latest/td-editor-plugin-table-merged-cell.min.css"
130
+ />
131
+ ...
132
+ </head>
133
+ <body>
134
+ ...
135
+ <!-- Editor -->
136
+ <script src="https://uicdn.toast.com/editor/latest/td-editor-all.min.js"></script>
137
+ <!-- Editor's Plugin -->
138
+ <script src="https://uicdn.toast.com/editor-plugin-table-merged-cell/latest/td-editor-plugin-table-merged-cell.min.js"></script>
139
+ ...
140
+ </body>
141
+ ...
142
+ ```
143
+
144
+ ### Create Instance
145
+
146
+ #### Basic
147
+
148
+ ```js
149
+ const { Editor } = toastui;
150
+ const { tableMergedCell } = Editor.plugin;
151
+
152
+ const editor = new Editor({
153
+ // ...
154
+ plugins: [tableMergedCell]
155
+ });
156
+ ```
157
+
158
+ #### With Viewer
159
+
160
+ ```js
161
+ const Viewer = toastui.Editor;
162
+ const { tableMergedCell } = Viewer.plugin;
163
+
164
+ const viewer = new Viewer({
165
+ // ...
166
+ plugins: [tableMergedCell]
167
+ });
168
+ ```
169
+
170
+ or
171
+
172
+ ```js
173
+ const { Editor } = toastui;
174
+ const { tableMergedCell } = Editor.plugin;
175
+
176
+ const viewer = Editor.factory({
177
+ // ...
178
+ plugins: [tableMergedCell],
179
+ viewer: true
180
+ });
181
+ ```
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * TOAST UI Editor : Table Merged Cell Plugin
3
+ * @version 3.1.0 | Sat Feb 21 2026
4
+ * @author NHN Cloud FE Development Lab <dl_javascript@nhn.com>
5
+ * @license MIT
6
+ */
7
+ .toastui-editor-context-menu .menu-item .merge-cells::before {
8
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgZmlsbD0iIzQzNDM0MyIgc3Ryb2tlPSIjNDM0MzQzIj4NCgk8cGF0aCBkPSJNMjM2LjcsMjUzLjdsLTk3LjYtNzcuMmMtMS45LTEuNi00LjctMC4xLTQuNywyLjNWMjM0SDQ0VjQ0aDEzMS45djgyLjdjMCwxLjQsMS4yLDIuNiwyLjYsMi42aDM4LjhjMS40LDAsMi42LTEuMiwyLjYtMi42DQoJCVYxOC4xYzAtMTAtOC4xLTE4LjEtMTguMS0xOC4xSDE4LjFDOC4xLDAsMCw4LjEsMCwxOC4xdjQ3NS44YzAsMTAsOC4xLDE4LjEsMTguMSwxOC4xaDE4My42YzEwLDAsMTguMS04LjEsMTguMS0xOC4xVjM4NS4zDQoJCWMwLTEuNC0xLjItMi42LTIuNi0yLjZoLTM4LjhjLTEuNCwwLTIuNiwxLjItMi42LDIuNlY0NjhINDRWMjc4aDkwLjV2NTUuMmMwLDIuNSwyLjgsMy45LDQuNywyLjNsOTcuNi03Ny4yDQoJCUMyMzguMywyNTcuMiwyMzguMywyNTQuOCwyMzYuNywyNTMuN3ogTTQ5My45LDBIMzEwLjNjLTEwLDAtMTguMSw4LjEtMTguMSwxOC4xdjEwOC42YzAsMS40LDEuMiwyLjYsMi42LDIuNmgzOC44DQoJCWMxLjQsMCwyLjYtMS4yLDIuNi0yLjZWNDRINDY4VjIzNGgtOTAuNXYtNTUuMmMwLTIuNS0yLjgtMy45LTQuNy0yLjNsLTk3LjYsNzcuMmMtMS41LDEuMi0xLjUsMy40LDAsNC42bDk3LjYsNzcuMw0KCQljMS45LDEuNSw0LjcsMC4xLDQuNy0yLjNWMjc4SDQ2OFY0NjhIMzM2LjJ2LTgyLjdjMC0xLjQtMS4yLTIuNi0yLjYtMi42aC0zOC44Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZ2MTA4LjYNCgkJYzAsMTAsOC4xLDE4LjEsMTguMSwxOC4xaDE4My42YzEwLDAsMTguMS04LjEsMTguMS0xOC4xVjE4LjFDNTEyLDguMSw1MDMuOSwwLDQ5My45LDB6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==);
9
+ background-position: 5px 2px;
10
+ background-size: 14px 14px;
11
+ }
12
+
13
+ .toastui-editor-context-menu .menu-item .split-cells::before {
14
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgZmlsbD0iIzQzNDM0MyIgc3Ryb2tlPSIjNDM0MzQzIj4NCgk8cGF0aCBkPSJNNTEwLjksMjUzLjhsLTkwLjMtNzEuNGMtMS44LTEuNC00LjQtMC4xLTQuNCwyLjJ2NTEuMWgtODYuMVY1OS44aDEyMnY3Ni42YzAsMS4zLDEuMSwyLjQsMi40LDIuNGgzNS45DQoJCWMxLjMsMCwyLjQtMS4xLDIuNC0yLjRWMzUuOWMwLTkuMy03LjUtMTYuNy0xNi43LTE2LjdIMzA2LjJjLTkuMywwLTE2LjcsNy41LTE2LjcsMTYuN3Y0NDAuMmMwLDkuMyw3LjUsMTYuNywxNi43LDE2LjdoMTY5LjkNCgkJYzkuMywwLDE2LjctNy41LDE2LjctMTYuN1YzNzUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjRoLTM1LjljLTEuMywwLTIuNCwxLjEtMi40LDIuNHY3Ni42aC0xMjJWMjc2LjNoODYuMXY1MS4xDQoJCWMwLDIuMywyLjYsMy42LDQuNCwyLjJsOTAuMy03MS40QzUxMi40LDI1Ny4xLDUxMi40LDI1NC45LDUxMC45LDI1My44eiBNMjA1LjgsMTkuMUgzNS45Yy05LjMsMC0xNi43LDcuNS0xNi43LDE2Ljd2MTAwLjUNCgkJYzAsMS4zLDEuMSwyLjQsMi40LDIuNGgzNS45YzEuMywwLDIuNC0xLjEsMi40LTIuNFY1OS44aDEyMnYxNzUuOEg5NS43di01MS4xYzAtMi4zLTIuNi0zLjYtNC40LTIuMkwxLDI1My44DQoJCWMtMS40LDEuMS0xLjQsMy4yLDAsNC4ybDkwLjMsNzEuNWMxLjcsMS40LDQuNCwwLjEsNC40LTIuMnYtNTEuMWg4Ni4xdjE3NS44aC0xMjJ2LTc2LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40SDIxLjUNCgkJYy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2MTAwLjVjMCw5LjMsNy41LDE2LjcsMTYuNywxNi43aDE2OS45YzkuMywwLDE2LjctNy41LDE2LjctMTYuN1YzNS45QzIyMi41LDI2LjYsMjE1LDE5LjEsMjA1LjgsMTkuMXoiLz4NCjwvZz4NCjwvc3ZnPg0K);
15
+ background-position: 5px 2px;
16
+ background-size: 14px 14px;
17
+ }
18
+
19
+ .toastui-editor-dark .toastui-editor-context-menu .menu-item .merge-cells::before {
20
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDM0MzQzIj4NCgk8cGF0aCBkPSJNMjM2LjcsMjUzLjdsLTk3LjYtNzcuMmMtMS45LTEuNi00LjctMC4xLTQuNywyLjNWMjM0SDQ0VjQ0aDEzMS45djgyLjdjMCwxLjQsMS4yLDIuNiwyLjYsMi42aDM4LjhjMS40LDAsMi42LTEuMiwyLjYtMi42DQoJCVYxOC4xYzAtMTAtOC4xLTE4LjEtMTguMS0xOC4xSDE4LjFDOC4xLDAsMCw4LjEsMCwxOC4xdjQ3NS44YzAsMTAsOC4xLDE4LjEsMTguMSwxOC4xaDE4My42YzEwLDAsMTguMS04LjEsMTguMS0xOC4xVjM4NS4zDQoJCWMwLTEuNC0xLjItMi42LTIuNi0yLjZoLTM4LjhjLTEuNCwwLTIuNiwxLjItMi42LDIuNlY0NjhINDRWMjc4aDkwLjV2NTUuMmMwLDIuNSwyLjgsMy45LDQuNywyLjNsOTcuNi03Ny4yDQoJCUMyMzguMywyNTcuMiwyMzguMywyNTQuOCwyMzYuNywyNTMuN3ogTTQ5My45LDBIMzEwLjNjLTEwLDAtMTguMSw4LjEtMTguMSwxOC4xdjEwOC42YzAsMS40LDEuMiwyLjYsMi42LDIuNmgzOC44DQoJCWMxLjQsMCwyLjYtMS4yLDIuNi0yLjZWNDRINDY4VjIzNGgtOTAuNXYtNTUuMmMwLTIuNS0yLjgtMy45LTQuNy0yLjNsLTk3LjYsNzcuMmMtMS41LDEuMi0xLjUsMy40LDAsNC42bDk3LjYsNzcuMw0KCQljMS45LDEuNSw0LjcsMC4xLDQuNy0yLjNWMjc4SDQ2OFY0NjhIMzM2LjJ2LTgyLjdjMC0xLjQtMS4yLTIuNi0yLjYtMi42aC0zOC44Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZ2MTA4LjYNCgkJYzAsMTAsOC4xLDE4LjEsMTguMSwxOC4xaDE4My42YzEwLDAsMTguMS04LjEsMTguMS0xOC4xVjE4LjFDNTEyLDguMSw1MDMuOSwwLDQ5My45LDB6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==);
21
+ background-position: 5px 2px;
22
+ }
23
+
24
+ .toastui-editor-dark .toastui-editor-context-menu .menu-item .split-cells::before {
25
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGcgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjNDM0MzQzIj4NCgk8cGF0aCBkPSJNNTEwLjksMjUzLjhsLTkwLjMtNzEuNGMtMS44LTEuNC00LjQtMC4xLTQuNCwyLjJ2NTEuMWgtODYuMVY1OS44aDEyMnY3Ni42YzAsMS4zLDEuMSwyLjQsMi40LDIuNGgzNS45DQoJCWMxLjMsMCwyLjQtMS4xLDIuNC0yLjRWMzUuOWMwLTkuMy03LjUtMTYuNy0xNi43LTE2LjdIMzA2LjJjLTkuMywwLTE2LjcsNy41LTE2LjcsMTYuN3Y0NDAuMmMwLDkuMyw3LjUsMTYuNywxNi43LDE2LjdoMTY5LjkNCgkJYzkuMywwLDE2LjctNy41LDE2LjctMTYuN1YzNzUuNmMwLTEuMy0xLjEtMi40LTIuNC0yLjRoLTM1LjljLTEuMywwLTIuNCwxLjEtMi40LDIuNHY3Ni42aC0xMjJWMjc2LjNoODYuMXY1MS4xDQoJCWMwLDIuMywyLjYsMy42LDQuNCwyLjJsOTAuMy03MS40QzUxMi40LDI1Ny4xLDUxMi40LDI1NC45LDUxMC45LDI1My44eiBNMjA1LjgsMTkuMUgzNS45Yy05LjMsMC0xNi43LDcuNS0xNi43LDE2Ljd2MTAwLjUNCgkJYzAsMS4zLDEuMSwyLjQsMi40LDIuNGgzNS45YzEuMywwLDIuNC0xLjEsMi40LTIuNFY1OS44aDEyMnYxNzUuOEg5NS43di01MS4xYzAtMi4zLTIuNi0zLjYtNC40LTIuMkwxLDI1My44DQoJCWMtMS40LDEuMS0xLjQsMy4yLDAsNC4ybDkwLjMsNzEuNWMxLjcsMS40LDQuNCwwLjEsNC40LTIuMnYtNTEuMWg4Ni4xdjE3NS44aC0xMjJ2LTc2LjZjMC0xLjMtMS4xLTIuNC0yLjQtMi40SDIxLjUNCgkJYy0xLjMsMC0yLjQsMS4xLTIuNCwyLjR2MTAwLjVjMCw5LjMsNy41LDE2LjcsMTYuNywxNi43aDE2OS45YzkuMywwLDE2LjctNy41LDE2LjctMTYuN1YzNS45QzIyMi41LDI2LjYsMjE1LDE5LjEsMjA1LjgsMTkuMXoiLz4NCjwvZz4NCjwvc3ZnPg0K);
26
+ background-position: 5px 2px;
27
+ }