gnui 1.2.19 → 1.2.21

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 (79) hide show
  1. package/@types/gnui.d.ts +8 -0
  2. package/dist/js/gnui.esm.js +847 -263
  3. package/dist/js/gnui.js +847 -263
  4. package/dist/js/gnui.min.js +6 -6
  5. package/dist/styles/default.css +10743 -20757
  6. package/dist/styles/gpi.css +10773 -20787
  7. package/dist/styles/green24.css +11407 -21435
  8. package/dist/styles/insights.css +10759 -20774
  9. package/dist/styles/nac.css +10773 -20796
  10. package/dist/styles/ztnac.css +11407 -21436
  11. package/package.json +9 -3
  12. package/styleguide/assets/components.js +213 -12
  13. package/styleguide/assets/js/gnui.js +847 -263
  14. package/styleguide/assets/js/gnui.min.js +6 -6
  15. package/styleguide/assets/styles/default.css +10743 -20757
  16. package/styleguide/assets/styles/gpi.css +10773 -20787
  17. package/styleguide/assets/styles/green24.css +11407 -21435
  18. package/styleguide/assets/styles/insights.css +10759 -20774
  19. package/styleguide/assets/styles/nac.css +10773 -20796
  20. package/styleguide/assets/styles/ztnac.css +11407 -21436
  21. package/styleguide/category/COLOR/index.html +1 -1
  22. package/styleguide/category/COMPONENT/Alert(js)/index.html +1 -1
  23. package/styleguide/category/COMPONENT/Bignumber/index.html +1 -1
  24. package/styleguide/category/COMPONENT/Breadcrumb/index.html +1 -1
  25. package/styleguide/category/COMPONENT/Calendar(js)/index.html +1 -1
  26. package/styleguide/category/COMPONENT/Card/index.html +1 -1
  27. package/styleguide/category/COMPONENT/Chart(js)/index.html +1 -1
  28. package/styleguide/category/COMPONENT/Datagrid(js)/index.html +109 -11
  29. package/styleguide/category/COMPONENT/Datalist(js)/index.html +1 -1
  30. package/styleguide/category/COMPONENT/Growl(js)/index.html +1 -1
  31. package/styleguide/category/COMPONENT/JsonView(js)/index.html +1 -1
  32. package/styleguide/category/COMPONENT/Loader(js)/index.html +1 -1
  33. package/styleguide/category/COMPONENT/MenuButton(js)/index.html +169 -21
  34. package/styleguide/category/COMPONENT/Message(js)/index.html +1 -1
  35. package/styleguide/category/COMPONENT/Modal(js)/index.html +31 -1
  36. package/styleguide/category/COMPONENT/Pagination(js)/index.html +1 -1
  37. package/styleguide/category/COMPONENT/Panel/index.html +1 -1
  38. package/styleguide/category/COMPONENT/Progressbar(js)/index.html +1 -1
  39. package/styleguide/category/COMPONENT/Tab(js)/index.html +1 -1
  40. package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +1 -1
  41. package/styleguide/category/COMPONENT/Tooltip(js)/index.html +1 -1
  42. package/styleguide/category/COMPONENT/Tree(js)/index.html +98 -19
  43. package/styleguide/category/CONTROLS/Button(js)/index.html +1 -1
  44. package/styleguide/category/CONTROLS/Checkbox/index.html +1 -1
  45. package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +1 -1
  46. package/styleguide/category/CONTROLS/Datepicker(js)/index.html +1 -1
  47. package/styleguide/category/CONTROLS/Dropdown(js)/index.html +67 -10
  48. package/styleguide/category/CONTROLS/File/index.html +1 -1
  49. package/styleguide/category/CONTROLS/Form/Control/index.html +1 -1
  50. package/styleguide/category/CONTROLS/Form/Field/index.html +54 -2
  51. package/styleguide/category/CONTROLS/Form/Plain/index.html +2 -2
  52. package/styleguide/category/CONTROLS/Input/index.html +1 -1
  53. package/styleguide/category/CONTROLS/MultiText(js)/index.html +32 -1
  54. package/styleguide/category/CONTROLS/Picklist(js)/index.html +67 -13
  55. package/styleguide/category/CONTROLS/Radio/index.html +1 -1
  56. package/styleguide/category/CONTROLS/Select/index.html +1 -1
  57. package/styleguide/category/CONTROLS/SelectButton(js)/index.html +2 -2
  58. package/styleguide/category/CONTROLS/Slider/index.html +1 -1
  59. package/styleguide/category/CONTROLS/SortableList(js)/index.html +2 -2
  60. package/styleguide/category/CONTROLS/Switch(js)/index.html +1 -1
  61. package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +1 -1
  62. package/styleguide/category/CONTROLS/Textarea/index.html +2 -2
  63. package/styleguide/category/CONTROLS/Time(js)/index.html +2 -2
  64. package/styleguide/category/ELEMENTS/Box/index.html +1 -1
  65. package/styleguide/category/ELEMENTS/Icon/index.html +1 -1
  66. package/styleguide/category/ELEMENTS/Image/index.html +1 -1
  67. package/styleguide/category/ELEMENTS/List/index.html +1 -1
  68. package/styleguide/category/ELEMENTS/Table/index.html +1 -1
  69. package/styleguide/category/ELEMENTS/Tag/index.html +1 -1
  70. package/styleguide/category/ELEMENTS/Title/index.html +1 -1
  71. package/styleguide/category/LAYOUT/Container/index.html +1 -1
  72. package/styleguide/category/LAYOUT/Grid/index.html +1 -1
  73. package/styleguide/category/LAYOUT/Splitter(js)/index.html +1 -1
  74. package/styleguide/category/UTILITY/index.html +9 -2
  75. package/styleguide/category/Utils/index.html +1 -1
  76. package/styleguide/color.html +1 -1
  77. package/styleguide/index.html +1 -1
  78. package/styleguide/tag/javascript/index.html +4680 -4183
  79. package/styleguide/tag/v.0.1.0/index.html +5762 -5206
@@ -122,7 +122,7 @@
122
122
 
123
123
  <div class="aigis-module MenuButton">
124
124
  <h2 class="aigis-module__heading" id="MenuButton">MenuButton</h2>
125
- <div class="aigis-module__filepath">/scss/controls/button.scss</div>
125
+ <div class="aigis-module__filepath">/scss/components/menubutton.scss</div>
126
126
  <div class="aigis-tags">
127
127
 
128
128
  <span class="gn-tag">v.0.1.0</span>
@@ -140,20 +140,70 @@
140
140
  </li>
141
141
  </ul>
142
142
  </div> -->
143
- <h3 id="-">생성 옵션</h3>
143
+ <h3 id="-">기본 사용</h3>
144
+ <div class="aigis-preview">
145
+ <div class="gn-menuButton">
146
+ <button type="button">
147
+ <span class="gn-icon is-small menuButton-icon">
148
+ <i class="fas fa-caret-down"></i>
149
+ </span>
150
+ <span class="menuButton-text">메뉴버튼</span>
151
+ </button>
152
+ <div class="menuButton-menus">
153
+ <ul>
154
+ <li class="menuButton-menu">
155
+ <span class="menuButton-menu-content">
156
+ <span class="menuButton-menu-text">menu1</span>
157
+ </span>
158
+ </li>
159
+ <li class="menuButton-menu">
160
+ <span class="menuButton-menu-content">
161
+ <span class="menuButton-menu-text">menu2</span>
162
+ </span>
163
+ </li>
164
+ </ul>
165
+ </div>
166
+ </div></div>
167
+
168
+ <pre><code class="language-html"><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>gn-menuButton<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
169
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >type</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>button<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
170
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>span</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>gn-icon is-small menuButton-icon<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
171
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>i</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>fas fa-caret-down<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>i</span><span class="token punctuation" >></span></span>
172
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>span</span><span class="token punctuation" >></span></span>
173
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>span</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-text<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>메뉴버튼<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>span</span><span class="token punctuation" >></span></span>
174
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
175
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menus<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
176
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>ul</span><span class="token punctuation" >></span></span>
177
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>li</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menu<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
178
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>span</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menu-content<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
179
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>span</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menu-text<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>menu1<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>span</span><span class="token punctuation" >></span></span>
180
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>span</span><span class="token punctuation" >></span></span>
181
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>li</span><span class="token punctuation" >></span></span>
182
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>li</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menu<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
183
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>span</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menu-content<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
184
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>span</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>menuButton-menu-text<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>menu2<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>span</span><span class="token punctuation" >></span></span>
185
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>span</span><span class="token punctuation" >></span></span>
186
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>li</span><span class="token punctuation" >></span></span>
187
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>ul</span><span class="token punctuation" >></span></span>
188
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
189
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
190
+ </code></pre>
191
+ <h3 id="-">생성 옵션</h3>
144
192
  <div class="aigis-preview">
145
193
 
146
- <button name="new-button"></button>
147
- <button name="new-button2"></button>
148
- <button name="new-button-submenu">편집 메뉴</button>
194
+ <button class="new-button"></button>
195
+ <button class="new-menubutton-cols"></button>
196
+ <button class="new-button2"></button>
197
+ <button class="new-button-submenu">편집 메뉴</button>
149
198
  </div>
150
199
 
151
- <pre><code class="language-ejs"> <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >name</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-button<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
152
- <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >name</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-button2<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
153
- <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >name</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-button-submenu<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>편집 메뉴<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
200
+ <pre><code class="language-ejs"> <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-button<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
201
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-menubutton-cols<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
202
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-button2<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span><span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
203
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>new-button-submenu<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>편집 메뉴<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
154
204
  </code></pre>
155
205
  <pre><code> Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'menubutton'</span><span class="token punctuation" >,</span> {
156
- target<span class="token punctuation" >:</span> <span class="token string" >'button[name=new-button]'</span><span class="token punctuation" >,</span>
206
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-button'</span><span class="token punctuation" >,</span>
157
207
  size<span class="token punctuation" >:</span> <span class="token string" >'normal'</span><span class="token punctuation" >,</span>
158
208
  textSets<span class="token punctuation" >:</span>{
159
209
  buttonText<span class="token punctuation" >:</span> <span class="token string" >'메뉴버튼'</span>
@@ -176,8 +226,33 @@
176
226
  value<span class="token punctuation" >:</span> <span class="token string" >'exit'</span>
177
227
  }<span class="token punctuation" >]</span><span class="token punctuation" >]</span>
178
228
  }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
229
+ <span class="token operator" >/</span><span class="token operator" >/</span> 다중 컬럼 모드 생성 옵션
230
+ Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'menubutton'</span><span class="token punctuation" >,</span> {
231
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-menubutton-cols'</span><span class="token punctuation" >,</span>
232
+ size<span class="token punctuation" >:</span> <span class="token string" >'normal'</span><span class="token punctuation" >,</span>
233
+ textSets<span class="token punctuation" >:</span> {
234
+ buttonText<span class="token punctuation" >:</span> <span class="token string" >'다중 컬럼 메뉴'</span>
235
+ }<span class="token punctuation" >,</span>
236
+ onSelect<span class="token punctuation" >:</span> function <span class="token punctuation" >(</span>menu<span class="token punctuation" >)</span> {
237
+ console<span class="token punctuation" >.</span><span class="token function" >log</span><span class="token punctuation" >(</span><span class="token string" >'선택된 메뉴는 '</span> <span class="token operator" >+</span> menu<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
238
+ }<span class="token punctuation" >,</span>
239
+ data<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
240
+ {
241
+ value<span class="token punctuation" >:</span> <span class="token string" >'menu1'</span><span class="token punctuation" >,</span>
242
+ cols<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'item1'</span><span class="token punctuation" >,</span> <span class="token string" >'1'</span><span class="token punctuation" >,</span> <span class="token string" >'상세정보1'</span><span class="token punctuation" >]</span>
243
+ }<span class="token punctuation" >,</span>
244
+ {
245
+ value<span class="token punctuation" >:</span> <span class="token string" >'menu2'</span><span class="token punctuation" >,</span>
246
+ cols<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'item2'</span><span class="token punctuation" >,</span> <span class="token string" >'2'</span><span class="token punctuation" >,</span> <span class="token string" >'상세정보2'</span><span class="token punctuation" >]</span>
247
+ }<span class="token punctuation" >,</span>
248
+ {
249
+ value<span class="token punctuation" >:</span> <span class="token string" >'menu3'</span><span class="token punctuation" >,</span>
250
+ cols<span class="token punctuation" >:</span> <span class="token punctuation" >[</span><span class="token string" >'item3'</span><span class="token punctuation" >,</span> <span class="token string" >'3'</span><span class="token punctuation" >,</span> <span class="token string" >'상세정보3'</span><span class="token punctuation" >]</span>
251
+ }
252
+ <span class="token punctuation" >]</span>
253
+ }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
179
254
  Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'menubutton'</span><span class="token punctuation" >,</span> {
180
- target<span class="token punctuation" >:</span> <span class="token string" >'button[name=new-button2]'</span><span class="token punctuation" >,</span>
255
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-button2'</span><span class="token punctuation" >,</span>
181
256
  style<span class="token punctuation" >:</span> <span class="token string" >'simple'</span><span class="token punctuation" >,</span>
182
257
  icon<span class="token punctuation" >:</span> <span class="token string" >'list'</span><span class="token punctuation" >,</span>
183
258
  data<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>{
@@ -190,7 +265,7 @@
190
265
  }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
191
266
  <span class="token operator" >/</span><span class="token operator" >/</span> 서브메뉴 예시
192
267
  Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'menubutton'</span><span class="token punctuation" >,</span> {
193
- target<span class="token punctuation" >:</span> <span class="token string" >'button[name=new-button-submenu]'</span><span class="token punctuation" >,</span>
268
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-button-submenu'</span><span class="token punctuation" >,</span>
194
269
  size<span class="token punctuation" >:</span> <span class="token string" >'normal'</span><span class="token punctuation" >,</span>
195
270
  textSets<span class="token punctuation" >:</span> {
196
271
  buttonText<span class="token punctuation" >:</span> <span class="token string" >'편집 메뉴'</span>
@@ -210,30 +285,103 @@
210
285
  value<span class="token punctuation" >:</span> <span class="token string" >'file-recent'</span><span class="token punctuation" >,</span>
211
286
  child<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
212
287
  { text<span class="token punctuation" >:</span> <span class="token string" >'document.txt'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-recent-1'</span> }<span class="token punctuation" >,</span>
213
- { text<span class="token punctuation" >:</span> <span class="token string" >'image.png'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-recent-2'</span> }
288
+ { text<span class="token punctuation" >:</span> <span class="token string" >'image.png'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-recent-2'</span> }<span class="token punctuation" >,</span>
289
+ { text<span class="token punctuation" >:</span> <span class="token string" >'project.json'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-recent-3'</span> }
214
290
  <span class="token punctuation" >]</span>
215
291
  }<span class="token punctuation" >,</span>
216
- { text<span class="token punctuation" >:</span> <span class="token string" >'저장'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-save'</span><span class="token punctuation" >,</span> disabled<span class="token punctuation" >:</span> <span class="token boolean" >true</span> }<span class="token punctuation" >,</span>
292
+ { text<span class="token punctuation" >:</span> <span class="token string" >'저장'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-save'</span> }<span class="token punctuation" >,</span>
217
293
  { text<span class="token punctuation" >:</span> <span class="token string" >'다른 이름으로 저장'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'file-saveas'</span> }
218
294
  <span class="token punctuation" >]</span>
219
295
  }<span class="token punctuation" >,</span>
220
296
  {
221
297
  text<span class="token punctuation" >:</span> <span class="token string" >'편집'</span><span class="token punctuation" >,</span>
222
298
  value<span class="token punctuation" >:</span> <span class="token string" >'edit'</span><span class="token punctuation" >,</span>
223
- actived<span class="token punctuation" >:</span> <span class="token boolean" >true</span><span class="token punctuation" >,</span>
224
299
  child<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
225
300
  { text<span class="token punctuation" >:</span> <span class="token string" >'실행 취소'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'edit-undo'</span> }<span class="token punctuation" >,</span>
226
- { text<span class="token punctuation" >:</span> <span class="token string" >'다시 실행'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'edit-redo'</span> }
301
+ { text<span class="token punctuation" >:</span> <span class="token string" >'다시 실행'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'edit-redo'</span><span class="token punctuation" >,</span> actived<span class="token punctuation" >:</span> <span class="token boolean" >true</span> }<span class="token punctuation" >,</span>
302
+ { text<span class="token punctuation" >:</span> <span class="token string" >'복사'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'edit-copy'</span> }<span class="token punctuation" >,</span>
303
+ { text<span class="token punctuation" >:</span> <span class="token string" >'붙여넣기'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'edit-paste'</span> }
304
+ <span class="token punctuation" >]</span>
305
+ }<span class="token punctuation" >,</span>
306
+ {
307
+ text<span class="token punctuation" >:</span> <span class="token string" >'보기'</span><span class="token punctuation" >,</span>
308
+ value<span class="token punctuation" >:</span> <span class="token string" >'view'</span><span class="token punctuation" >,</span>
309
+ child<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
310
+ {
311
+ text<span class="token punctuation" >:</span> <span class="token string" >'확대/축소'</span><span class="token punctuation" >,</span>
312
+ value<span class="token punctuation" >:</span> <span class="token string" >'view-zoom'</span><span class="token punctuation" >,</span>
313
+ disabled<span class="token punctuation" >:</span> <span class="token boolean" >true</span><span class="token punctuation" >,</span>
314
+ child<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
315
+ { text<span class="token punctuation" >:</span> <span class="token string" >'확대'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'view-zoom-in'</span> }<span class="token punctuation" >,</span>
316
+ { text<span class="token punctuation" >:</span> <span class="token string" >'축소'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'view-zoom-out'</span> }<span class="token punctuation" >,</span>
317
+ { text<span class="token punctuation" >:</span> <span class="token string" >'원본 크기'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'view-zoom-reset'</span> }
318
+ <span class="token punctuation" >]</span>
319
+ }<span class="token punctuation" >,</span>
320
+ { text<span class="token punctuation" >:</span> <span class="token string" >'전체 화면'</span><span class="token punctuation" >,</span> value<span class="token punctuation" >:</span> <span class="token string" >'view-fullscreen'</span> }
227
321
  <span class="token punctuation" >]</span>
228
322
  }<span class="token punctuation" >,</span>
229
323
  {
230
324
  text<span class="token punctuation" >:</span> <span class="token string" >'도움말'</span><span class="token punctuation" >,</span>
231
- value<span class="token punctuation" >:</span> <span class="token string" >'help'</span><span class="token punctuation" >,</span>
232
- disabled<span class="token punctuation" >:</span> <span class="token boolean" >true</span>
325
+ value<span class="token punctuation" >:</span> <span class="token string" >'help'</span>
233
326
  }
234
327
  <span class="token punctuation" >]</span>
235
328
  }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
236
- </code></pre><table class="gn-table is-full is-border">
329
+ </code></pre><h3 id="-menubuttonitem-">데이터 모델 (MenuButtonItem)</h3>
330
+ <table class="gn-table is-full is-border">
331
+ <thead>
332
+ <th>필드</th>
333
+ <th>type</th>
334
+ <th>필수</th>
335
+ <th>description</th>
336
+ </thead>
337
+ <tbody>
338
+ <tr>
339
+ <td>value</td>
340
+ <td>string</td>
341
+ <td>Y</td>
342
+ <td>메뉴 값 (고유 값)</td>
343
+ </tr>
344
+ <tr>
345
+ <td>text</td>
346
+ <td>string</td>
347
+ <td>N</td>
348
+ <td>단일 컬럼 표시 텍스트</td>
349
+ </tr>
350
+ <tr>
351
+ <td>cols</td>
352
+ <td>string[]</td>
353
+ <td>N</td>
354
+ <td>다중 컬럼 표시 값 배열</td>
355
+ </tr>
356
+ <tr>
357
+ <td>html</td>
358
+ <td>string</td>
359
+ <td>N</td>
360
+ <td>HTML로 렌더링할 내용 (html이 있는 경우 text/cols 대신 사용, text가 있는 항목만 선택 가능)</td>
361
+ </tr>
362
+ <tr>
363
+ <td>child</td>
364
+ <td>MenuButtonItem[]</td>
365
+ <td>N</td>
366
+ <td>하위 메뉴 배열 (최대 2단계)</td>
367
+ </tr>
368
+ <tr>
369
+ <td>disabled</td>
370
+ <td>boolean</td>
371
+ <td>N</td>
372
+ <td>비활성화 여부</td>
373
+ </tr>
374
+ <tr>
375
+ <td>actived</td>
376
+ <td>boolean</td>
377
+ <td>N</td>
378
+ <td>활성화 상태 표시 여부</td>
379
+ </tr>
380
+ </tbody>
381
+ </table>
382
+
383
+
384
+ <table class="gn-table is-full is-border">
237
385
  <thead>
238
386
  <th colspan="2">name</th>
239
387
  <th>type</th>
@@ -286,9 +434,9 @@
286
434
  </tr>
287
435
  <tr>
288
436
  <td colspan="2">data</td>
289
- <td>Array[{value, text, html, child, disabled, actived}]</td>
437
+ <td>MenuButtonItem[]</td>
290
438
  <td></td>
291
- <td>메뉴 목록에 출력할 목록<br/>- value: 메뉴 값<br/>- text: 메뉴 텍스트<br/>- html: HTML로 렌더링할 내용<br/>- child: 하위 메뉴 배열 (최대 2단계)<br/>- disabled: 비활성화 여부 (boolean)<br/>- actived: 활성화 상태 표시 여부</td>
439
+ <td>메뉴 목록에 출력할 데이터 배열<br/>- MenuButtonItem 참조<br/><br/><strong>참고:</strong> 표시 우선순위는 html &gt; cols &gt; text 입니다. html 항목은 text가 있는 경우만 선택 가능하며, html이 있으면 cols는 무시됩니다. html이 있으면 하위 메뉴는 렌더링되지 않습니다.</td>
292
440
  </tr>
293
441
  <tr>
294
442
  <td colspan="2">disabled</td>
@@ -341,7 +489,7 @@
341
489
  </div>
342
490
 
343
491
 
344
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
492
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
345
493
  </div>
346
494
  </div>
347
495
  </div>
@@ -507,7 +507,7 @@ Eu velit aliqua eiusmod eiusmod occaecat ullamco fugiat sunt occaecat excepteur.
507
507
  </div>
508
508
 
509
509
 
510
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
510
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
511
511
  </div>
512
512
  </div>
513
513
  </div>
@@ -206,10 +206,12 @@
206
206
 
207
207
  <button class="gn-button new-modal">Modal 예제보기</button>
208
208
  <button class="gn-button new-popup">Popup 예제보기</button>
209
+ <button class="gn-button new-modal-extra">Modal(Extra) 예제보기</button>
209
210
  </div>
210
211
 
211
212
  <pre><code class="language-ejs"> <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>gn-button new-modal<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>Modal 예제보기<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
212
213
  <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>gn-button new-popup<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>Popup 예제보기<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
214
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>button</span> <span class="token attr-name" >class</span><span class="token attr-value" ><span class="token punctuation" >=</span><span class="token punctuation" >"</span>gn-button new-modal-extra<span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>Modal(Extra) 예제보기<span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>button</span><span class="token punctuation" >></span></span>
213
215
  </code></pre>
214
216
  <pre><code> Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'button'</span><span class="token punctuation" >,</span> {
215
217
  target<span class="token punctuation" >:</span> <span class="token string" >'.new-modal'</span><span class="token punctuation" >,</span>
@@ -270,6 +272,23 @@
270
272
  }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
271
273
  }
272
274
  }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
275
+ Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'button'</span><span class="token punctuation" >,</span> {
276
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-modal-extra'</span><span class="token punctuation" >,</span>
277
+ onClick<span class="token punctuation" >:</span> function <span class="token punctuation" >(</span><span class="token punctuation" >)</span> {
278
+ Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'modal'</span><span class="token punctuation" >,</span> {
279
+ textSets<span class="token punctuation" >:</span> { title<span class="token punctuation" >:</span> <span class="token string" >'Extra Buttons Demo'</span> }<span class="token punctuation" >,</span>
280
+ hasCancel<span class="token punctuation" >:</span> <span class="token boolean" >true</span><span class="token punctuation" >,</span>
281
+ height<span class="token punctuation" >:</span> <span class="token number" >400</span><span class="token punctuation" >,</span>
282
+ extraButtons<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
283
+ { key<span class="token punctuation" >:</span> <span class="token string" >'edit-template'</span><span class="token punctuation" >,</span> label<span class="token punctuation" >:</span> <span class="token string" >'수정(템플릿만적용)'</span><span class="token punctuation" >,</span> className<span class="token punctuation" >:</span> <span class="token string" >'is-small is-primary'</span> }<span class="token punctuation" >,</span>
284
+ { key<span class="token punctuation" >:</span> <span class="token string" >'edit-bulk'</span><span class="token punctuation" >,</span> label<span class="token punctuation" >:</span> <span class="token string" >'수정(용도일괄적용)'</span><span class="token punctuation" >,</span> className<span class="token punctuation" >:</span> <span class="token string" >'is-small is-mono'</span> }
285
+ <span class="token punctuation" >]</span><span class="token punctuation" >,</span>
286
+ onExtra<span class="token punctuation" >:</span> function <span class="token punctuation" >(</span>actionKey<span class="token punctuation" >)</span> {
287
+ console<span class="token punctuation" >.</span><span class="token function" >log</span><span class="token punctuation" >(</span><span class="token string" >'extra clicked:'</span><span class="token punctuation" >,</span> actionKey<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
288
+ }
289
+ }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
290
+ }
291
+ }<span class="token punctuation" >)</span><span class="token comment" spellcheck="true">;</span>
273
292
  </code></pre><table class="gn-table is-full is-border">
274
293
  <thead>
275
294
  <th colspan="2">name</th>
@@ -357,6 +376,12 @@
357
376
  <td>false</td>
358
377
  <td>취소버튼 출력 여부</td>
359
378
  </tr>
379
+ <tr>
380
+ <td colspan="2">extraButtons</td>
381
+ <td>array</td>
382
+ <td>[]</td>
383
+ <td>푸터에 커스텀 버튼을 추가한다. 예) [&#123; key:&#39;apply&#39;, label:&#39;적용&#39;, className:&#39;is-small is-primary&#39; &#125;]</td>
384
+ </tr>
360
385
  <tr>
361
386
  <td colspan="2">contents</td>
362
387
  <td>string|HTMLElement</td>
@@ -427,6 +452,11 @@
427
452
  <td>void</td>
428
453
  <td>modal 창을 포커스한다.</td>
429
454
  </tr>
455
+ <tr>
456
+ <td>onExtra()</td>
457
+ <td>void</td>
458
+ <td>커스텀 버튼 클릭 시 수행될 이벤트. 매개변수로 actionKey를 전달한다.</td>
459
+ </tr>
430
460
  </tbody>
431
461
  </table>
432
462
 
@@ -436,7 +466,7 @@
436
466
  </div>
437
467
 
438
468
 
439
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
469
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
440
470
  </div>
441
471
  </div>
442
472
  </div>
@@ -437,7 +437,7 @@
437
437
  </div>
438
438
 
439
439
 
440
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
440
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
441
441
  </div>
442
442
  </div>
443
443
  </div>
@@ -318,7 +318,7 @@
318
318
  </div>
319
319
 
320
320
 
321
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
321
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
322
322
  </div>
323
323
  </div>
324
324
  </div>
@@ -305,7 +305,7 @@
305
305
  </div>
306
306
 
307
307
 
308
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
308
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
309
309
  </div>
310
310
  </div>
311
311
  </div>
@@ -465,7 +465,7 @@
465
465
  </div>
466
466
 
467
467
 
468
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
468
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
469
469
  </div>
470
470
  </div>
471
471
  </div>
@@ -252,7 +252,7 @@
252
252
  </div>
253
253
 
254
254
 
255
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
255
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
256
256
  </div>
257
257
  </div>
258
258
  </div>
@@ -404,7 +404,7 @@
404
404
  </div>
405
405
 
406
406
 
407
- <footer class="aigis-footer">Last update at 2026/01/25 22:45</footer>
407
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
408
408
  </div>
409
409
  </div>
410
410
  </div>