gnui 1.2.20 → 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 +528 -149
  3. package/dist/js/gnui.js +528 -149
  4. package/dist/js/gnui.min.js +6 -6
  5. package/dist/styles/default.css +144 -0
  6. package/dist/styles/gpi.css +144 -0
  7. package/dist/styles/green24.css +145 -1
  8. package/dist/styles/insights.css +144 -0
  9. package/dist/styles/nac.css +144 -0
  10. package/dist/styles/ztnac.css +145 -1
  11. package/package.json +7 -2
  12. package/styleguide/assets/components.js +155 -9
  13. package/styleguide/assets/js/gnui.js +528 -149
  14. package/styleguide/assets/js/gnui.min.js +6 -6
  15. package/styleguide/assets/styles/default.css +144 -0
  16. package/styleguide/assets/styles/gpi.css +144 -0
  17. package/styleguide/assets/styles/green24.css +145 -1
  18. package/styleguide/assets/styles/insights.css +144 -0
  19. package/styleguide/assets/styles/nac.css +144 -0
  20. package/styleguide/assets/styles/ztnac.css +145 -1
  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 +1 -1
  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 +83 -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 +1 -1
  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 +53 -1
  51. package/styleguide/category/CONTROLS/Form/Plain/index.html +1 -1
  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 +1 -1
  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 +1 -1
  58. package/styleguide/category/CONTROLS/Slider/index.html +1 -1
  59. package/styleguide/category/CONTROLS/SortableList(js)/index.html +1 -1
  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 +1 -1
  63. package/styleguide/category/CONTROLS/Time(js)/index.html +1 -1
  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 +252 -29
  79. package/styleguide/tag/v.0.1.0/index.html +312 -30
@@ -560,6 +560,14 @@ table th{
560
560
  justify-content:space-between !important;
561
561
  }
562
562
 
563
+ .is-text-link{
564
+ color:#00327b !important;
565
+ }
566
+ .is-text-link:hover{
567
+ text-decoration:underline;
568
+ cursor:pointer;
569
+ }
570
+
563
571
  .has-text-ellipsis{
564
572
  white-space:nowrap;
565
573
  overflow:hidden;
@@ -4309,6 +4317,9 @@ span.gn-highlight{
4309
4317
  .gn-checks.is-no-padding{
4310
4318
  padding:0;
4311
4319
  }
4320
+ .gn-checks.is-no-padding > input[type=checkbox] + label{
4321
+ padding:0;
4322
+ }
4312
4323
  .gn-checks.is-disabled{
4313
4324
  cursor:not-allowed;
4314
4325
  }
@@ -5634,6 +5645,54 @@ span.gn-highlight{
5634
5645
  flex-shrink:0;
5635
5646
  text-align:right;
5636
5647
  }
5648
+ .gn-field > .gn-label.is-1{
5649
+ flex-grow:1;
5650
+ }
5651
+ .gn-field > .gn-label.is-1 + .gn-control{
5652
+ flex-grow:7;
5653
+ }
5654
+ .gn-field > .gn-label.is-2{
5655
+ flex-grow:2;
5656
+ }
5657
+ .gn-field > .gn-label.is-2 + .gn-control{
5658
+ flex-grow:6;
5659
+ }
5660
+ .gn-field > .gn-label.is-3{
5661
+ flex-grow:3;
5662
+ }
5663
+ .gn-field > .gn-label.is-3 + .gn-control{
5664
+ flex-grow:5;
5665
+ }
5666
+ .gn-field > .gn-label.is-4{
5667
+ flex-grow:4;
5668
+ }
5669
+ .gn-field > .gn-label.is-4 + .gn-control{
5670
+ flex-grow:4;
5671
+ }
5672
+ .gn-field > .gn-label.is-5{
5673
+ flex-grow:5;
5674
+ }
5675
+ .gn-field > .gn-label.is-5 + .gn-control{
5676
+ flex-grow:3;
5677
+ }
5678
+ .gn-field > .gn-label.is-6{
5679
+ flex-grow:6;
5680
+ }
5681
+ .gn-field > .gn-label.is-6 + .gn-control{
5682
+ flex-grow:2;
5683
+ }
5684
+ .gn-field > .gn-label.is-7{
5685
+ flex-grow:7;
5686
+ }
5687
+ .gn-field > .gn-label.is-7 + .gn-control{
5688
+ flex-grow:1;
5689
+ }
5690
+ .gn-field > .gn-label.is-8{
5691
+ flex-grow:8;
5692
+ }
5693
+ .gn-field > .gn-label.is-8 + .gn-control{
5694
+ flex-grow:0;
5695
+ }
5637
5696
  .gn-field > .gn-control{
5638
5697
  flex:5 1 0px;
5639
5698
  flex-basis:0;
@@ -9474,6 +9533,91 @@ span.gn-highlight{
9474
9533
  .gn-datagrid.is-headless .gn-datagrid-body-row:first-child{
9475
9534
  border-top:0;
9476
9535
  }
9536
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-contents{
9537
+ border:0;
9538
+ }
9539
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row{
9540
+ border-top:0;
9541
+ border-bottom:1px solid #bebebe;
9542
+ }
9543
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row.is-horizontal-first-row{
9544
+ border-top:1px solid #bebebe;
9545
+ }
9546
+ .gn-datagrid.is-horizontal .gn-datagrid-header-row.is-horizontal{
9547
+ grid-template-columns:1fr !important;
9548
+ }
9549
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell.is-horizontal{
9550
+ display:flex;
9551
+ align-items:center;
9552
+ justify-content:flex-start;
9553
+ min-height:2.5rem;
9554
+ border-right:0;
9555
+ }
9556
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .gn-datagrid-cell,
9557
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-sortDir,
9558
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-handle{
9559
+ display:none;
9560
+ }
9561
+ .gn-datagrid.is-horizontal .gn-datagrid-contents{
9562
+ border:0;
9563
+ }
9564
+ .gn-datagrid.is-horizontal .gn-datagrid-body{
9565
+ display:grid;
9566
+ gap:0;
9567
+ align-items:start;
9568
+ }
9569
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row{
9570
+ display:block;
9571
+ box-sizing:border-box;
9572
+ border-top:0;
9573
+ border-right:1px solid #bebebe;
9574
+ border-bottom:1px solid #bebebe;
9575
+ border-left:0;
9576
+ overflow:hidden;
9577
+ }
9578
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-col{
9579
+ border-left:1px solid #bebebe;
9580
+ }
9581
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-row{
9582
+ border-top:0;
9583
+ }
9584
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header{
9585
+ display:flex;
9586
+ align-items:center;
9587
+ justify-content:space-between;
9588
+ min-height:calc(20px + 1.1rem);
9589
+ padding:0.55rem;
9590
+ border-bottom:1px solid rgba(190, 190, 190, 0.45);
9591
+ }
9592
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-left,
9593
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-right{
9594
+ display:flex;
9595
+ align-items:center;
9596
+ gap:0.5rem;
9597
+ }
9598
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-nodata{
9599
+ grid-column:1/-1;
9600
+ }
9601
+ .gn-datagrid.is-horizontal .gn-datagrid-body-cell{
9602
+ display:flex;
9603
+ flex-direction:column;
9604
+ gap:0.25rem;
9605
+ padding:0.55rem;
9606
+ }
9607
+ .gn-datagrid.is-horizontal .gn-datagrid-cell-label{
9608
+ color:#535353;
9609
+ font-size:0.875em;
9610
+ font-weight:600;
9611
+ }
9612
+ .gn-datagrid.is-horizontal .btn-container{
9613
+ min-height:3rem;
9614
+ }
9615
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-contents{
9616
+ border:0;
9617
+ }
9618
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-body-row{
9619
+ border:1px solid #bebebe;
9620
+ }
9477
9621
  .gn-datagrid .gn-datagrid-header-cell{
9478
9622
  border-right:1px solid #bebebe;
9479
9623
  padding:0.55rem;
@@ -586,6 +586,14 @@ table th{
586
586
  justify-content:space-between !important;
587
587
  }
588
588
 
589
+ .is-text-link{
590
+ color:hsl(217, 71%, 53%) !important;
591
+ }
592
+ .is-text-link:hover{
593
+ text-decoration:underline;
594
+ cursor:pointer;
595
+ }
596
+
589
597
  .has-text-ellipsis{
590
598
  white-space:nowrap;
591
599
  overflow:hidden;
@@ -4565,6 +4573,9 @@ span.gn-highlight{
4565
4573
  .gn-checks.is-no-padding{
4566
4574
  padding:0;
4567
4575
  }
4576
+ .gn-checks.is-no-padding > input[type=checkbox] + label{
4577
+ padding:0;
4578
+ }
4568
4579
  .gn-checks.is-disabled{
4569
4580
  cursor:not-allowed;
4570
4581
  }
@@ -5970,6 +5981,54 @@ span.gn-highlight{
5970
5981
  flex-shrink:0;
5971
5982
  text-align:right;
5972
5983
  }
5984
+ .gn-field > .gn-label.is-1{
5985
+ flex-grow:1;
5986
+ }
5987
+ .gn-field > .gn-label.is-1 + .gn-control{
5988
+ flex-grow:7;
5989
+ }
5990
+ .gn-field > .gn-label.is-2{
5991
+ flex-grow:2;
5992
+ }
5993
+ .gn-field > .gn-label.is-2 + .gn-control{
5994
+ flex-grow:6;
5995
+ }
5996
+ .gn-field > .gn-label.is-3{
5997
+ flex-grow:3;
5998
+ }
5999
+ .gn-field > .gn-label.is-3 + .gn-control{
6000
+ flex-grow:5;
6001
+ }
6002
+ .gn-field > .gn-label.is-4{
6003
+ flex-grow:4;
6004
+ }
6005
+ .gn-field > .gn-label.is-4 + .gn-control{
6006
+ flex-grow:4;
6007
+ }
6008
+ .gn-field > .gn-label.is-5{
6009
+ flex-grow:5;
6010
+ }
6011
+ .gn-field > .gn-label.is-5 + .gn-control{
6012
+ flex-grow:3;
6013
+ }
6014
+ .gn-field > .gn-label.is-6{
6015
+ flex-grow:6;
6016
+ }
6017
+ .gn-field > .gn-label.is-6 + .gn-control{
6018
+ flex-grow:2;
6019
+ }
6020
+ .gn-field > .gn-label.is-7{
6021
+ flex-grow:7;
6022
+ }
6023
+ .gn-field > .gn-label.is-7 + .gn-control{
6024
+ flex-grow:1;
6025
+ }
6026
+ .gn-field > .gn-label.is-8{
6027
+ flex-grow:8;
6028
+ }
6029
+ .gn-field > .gn-label.is-8 + .gn-control{
6030
+ flex-grow:0;
6031
+ }
5973
6032
  .gn-field > .gn-control{
5974
6033
  flex:5 1 0px;
5975
6034
  flex-basis:0;
@@ -7229,7 +7288,7 @@ span.gn-highlight{
7229
7288
  box-shadow:0 0 0 0.1em rgba(241.077, 70.023, 104.2338, 0.7);
7230
7289
  }
7231
7290
  .gn-multitext .gn-tab{
7232
- margin-bottom:2px;
7291
+ margin-bottom:0;
7233
7292
  }
7234
7293
  .gn-multitext .gn-tab a{
7235
7294
  padding:calc(0.5em - 1px) calc(0.75em - 1px);
@@ -10058,6 +10117,91 @@ span.gn-highlight{
10058
10117
  .gn-datagrid.is-headless .gn-datagrid-body-row:first-child{
10059
10118
  border-top:0;
10060
10119
  }
10120
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-contents{
10121
+ border:0;
10122
+ }
10123
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row{
10124
+ border-top:0;
10125
+ border-bottom:1px solid hsl(0, 0%, 86%);
10126
+ }
10127
+ .gn-datagrid.is-horizontal.is-headless .gn-datagrid-body-row.is-horizontal-first-row{
10128
+ border-top:1px solid hsl(0, 0%, 86%);
10129
+ }
10130
+ .gn-datagrid.is-horizontal .gn-datagrid-header-row.is-horizontal{
10131
+ grid-template-columns:1fr !important;
10132
+ }
10133
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell.is-horizontal{
10134
+ display:flex;
10135
+ align-items:center;
10136
+ justify-content:flex-start;
10137
+ min-height:2.5rem;
10138
+ border-right:0;
10139
+ }
10140
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .gn-datagrid-cell,
10141
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-sortDir,
10142
+ .gn-datagrid.is-horizontal .gn-datagrid-header-cell .is-handle{
10143
+ display:none;
10144
+ }
10145
+ .gn-datagrid.is-horizontal .gn-datagrid-contents{
10146
+ border:0;
10147
+ }
10148
+ .gn-datagrid.is-horizontal .gn-datagrid-body{
10149
+ display:grid;
10150
+ gap:0;
10151
+ align-items:start;
10152
+ }
10153
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row{
10154
+ display:block;
10155
+ box-sizing:border-box;
10156
+ border-top:0;
10157
+ border-right:1px solid hsl(0, 0%, 86%);
10158
+ border-bottom:1px solid hsl(0, 0%, 86%);
10159
+ border-left:0;
10160
+ overflow:hidden;
10161
+ }
10162
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-col{
10163
+ border-left:1px solid hsl(0, 0%, 86%);
10164
+ }
10165
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-horizontal-first-row{
10166
+ border-top:0;
10167
+ }
10168
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header{
10169
+ display:flex;
10170
+ align-items:center;
10171
+ justify-content:space-between;
10172
+ min-height:calc(20px + 1.1rem);
10173
+ padding:0.55rem;
10174
+ border-bottom:1px solid rgba(219.3, 219.3, 219.3, 0.45);
10175
+ }
10176
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-left,
10177
+ .gn-datagrid.is-horizontal .gn-datagrid-card-header-right{
10178
+ display:flex;
10179
+ align-items:center;
10180
+ gap:0.5rem;
10181
+ }
10182
+ .gn-datagrid.is-horizontal .gn-datagrid-body-row.is-nodata{
10183
+ grid-column:1/-1;
10184
+ }
10185
+ .gn-datagrid.is-horizontal .gn-datagrid-body-cell{
10186
+ display:flex;
10187
+ flex-direction:column;
10188
+ gap:0.25rem;
10189
+ padding:0.55rem;
10190
+ }
10191
+ .gn-datagrid.is-horizontal .gn-datagrid-cell-label{
10192
+ color:hsl(0, 0%, 21%);
10193
+ font-size:0.875em;
10194
+ font-weight:600;
10195
+ }
10196
+ .gn-datagrid.is-horizontal .btn-container{
10197
+ min-height:3rem;
10198
+ }
10199
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-contents{
10200
+ border:0;
10201
+ }
10202
+ .gn-datagrid.is-horizontal.has-horizontal-gap .gn-datagrid-body-row{
10203
+ border:1px solid hsl(0, 0%, 86%);
10204
+ }
10061
10205
  .gn-datagrid .gn-datagrid-header-cell{
10062
10206
  border-right:1px solid hsl(0, 0%, 86%);
10063
10207
  padding:0.55rem;
@@ -148,7 +148,7 @@
148
148
  </div>
149
149
 
150
150
 
151
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
151
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
152
152
  </div>
153
153
  </div>
154
154
  </div>
@@ -410,7 +410,7 @@
410
410
  </div>
411
411
 
412
412
 
413
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
413
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
414
414
  </div>
415
415
  </div>
416
416
  </div>
@@ -261,7 +261,7 @@
261
261
  </div>
262
262
 
263
263
 
264
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
264
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
265
265
  </div>
266
266
  </div>
267
267
  </div>
@@ -316,7 +316,7 @@
316
316
  </div>
317
317
 
318
318
 
319
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
319
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
320
320
  </div>
321
321
  </div>
322
322
  </div>
@@ -234,7 +234,7 @@
234
234
  </div>
235
235
 
236
236
 
237
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
237
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
238
238
  </div>
239
239
  </div>
240
240
  </div>
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
 
178
178
 
179
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
179
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
180
180
  </div>
181
181
  </div>
182
182
  </div>
@@ -547,7 +547,7 @@
547
547
  </div>
548
548
 
549
549
 
550
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
550
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
551
551
  </div>
552
552
  </div>
553
553
  </div>
@@ -152,9 +152,13 @@
152
152
  <div class="new-grid2"></div>
153
153
  </div>
154
154
 
155
- <div style="width: 100%; height: 350px; overflow-x: auto; margin-top: 20px;">
155
+ <div style="width: 100%; overflow-x: auto; margin-top: 20px;">
156
156
  <div class="new-grid3"></div>
157
157
  </div>
158
+
159
+ <div style="width: 100%; margin-top: 20px;">
160
+ <div class="new-grid4"></div>
161
+ </div>
158
162
  </div>
159
163
 
160
164
  <pre><code class="language-ejs"><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>new-grid<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>div</span><span class="token punctuation" >></span></span>
@@ -163,9 +167,13 @@
163
167
  <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>new-grid2<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>div</span><span class="token punctuation" >></span></span>
164
168
  <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
165
169
 
166
- <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span><span class="token style-attr language-css" ><span class="token attr-name" > <span class="token attr-name" >style</span></span><span class="token punctuation" >="</span><span class="token attr-value" ><span class="token property" >width</span><span class="token punctuation" >:</span> <span class="token number" >100%</span><span class="token punctuation" >;</span> <span class="token property" >height</span><span class="token punctuation" >:</span> <span class="token number" >350</span>px<span class="token punctuation" >;</span> <span class="token property" >overflow-x</span><span class="token punctuation" >:</span> auto<span class="token punctuation" >;</span> <span class="token property" >margin-top</span><span class="token punctuation" >:</span> <span class="token number" >20</span>px<span class="token punctuation" >;</span></span><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>div</span><span class="token style-attr language-css" ><span class="token attr-name" > <span class="token attr-name" >style</span></span><span class="token punctuation" >="</span><span class="token attr-value" ><span class="token property" >width</span><span class="token punctuation" >:</span> <span class="token number" >100%</span><span class="token punctuation" >;</span> <span class="token property" >overflow-x</span><span class="token punctuation" >:</span> auto<span class="token punctuation" >;</span> <span class="token property" >margin-top</span><span class="token punctuation" >:</span> <span class="token number" >20</span>px<span class="token punctuation" >;</span></span><span class="token punctuation" >"</span></span><span class="token punctuation" >></span></span>
167
171
  <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>new-grid3<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>div</span><span class="token punctuation" >></span></span>
168
172
  <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
173
+
174
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;</span>div</span><span class="token style-attr language-css" ><span class="token attr-name" > <span class="token attr-name" >style</span></span><span class="token punctuation" >="</span><span class="token attr-value" ><span class="token property" >width</span><span class="token punctuation" >:</span> <span class="token number" >100%</span><span class="token punctuation" >;</span> <span class="token property" >margin-top</span><span class="token punctuation" >:</span> <span class="token number" >20</span>px<span class="token punctuation" >;</span></span><span class="token punctuation" >"</span></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>new-grid4<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>div</span><span class="token punctuation" >></span></span>
176
+ <span class="token tag" ><span class="token tag" ><span class="token punctuation" >&lt;/</span>div</span><span class="token punctuation" >></span></span>
169
177
  </code></pre>
170
178
  <pre><code>Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'datagrid'</span><span class="token punctuation" >,</span> {
171
179
  target<span class="token punctuation" >:</span> <span class="token string" >'.new-grid'</span><span class="token punctuation" >,</span>
@@ -459,8 +467,73 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
459
467
  console<span class="token punctuation" >.</span><span class="token function" >log</span><span class="token punctuation" >(</span>updatedData<span class="token punctuation" >)</span>
460
468
  }
461
469
  }<span class="token punctuation" >)</span>
470
+ Gn<span class="token punctuation" >.</span><span class="token function" >create</span><span class="token punctuation" >(</span><span class="token string" >'datagrid'</span><span class="token punctuation" >,</span> {
471
+ target<span class="token punctuation" >:</span> <span class="token string" >'.new-grid4'</span><span class="token punctuation" >,</span>
472
+ orientation<span class="token punctuation" >:</span> <span class="token string" >'horizontal'</span><span class="token punctuation" >,</span>
473
+ orientationOptions<span class="token punctuation" >:</span> {
474
+ columns<span class="token punctuation" >:</span> <span class="token string" >'auto-fit'</span><span class="token punctuation" >,</span>
475
+ minWidth<span class="token punctuation" >:</span> <span class="token string" >'240px'</span>
476
+ }<span class="token punctuation" >,</span>
477
+ hasHeader<span class="token punctuation" >:</span> <span class="token boolean" >true</span><span class="token punctuation" >,</span>
478
+ hasCheck<span class="token punctuation" >:</span> <span class="token boolean" >true</span><span class="token punctuation" >,</span>
479
+ hasDelete<span class="token punctuation" >:</span> <span class="token boolean" >true</span><span class="token punctuation" >,</span>
480
+ headers<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
481
+ {
482
+ label<span class="token punctuation" >:</span> <span class="token string" >'이름'</span><span class="token punctuation" >,</span>
483
+ key<span class="token punctuation" >:</span> <span class="token string" >'name'</span>
484
+ }<span class="token punctuation" >,</span>
485
+ {
486
+ label<span class="token punctuation" >:</span> <span class="token string" >'부서'</span><span class="token punctuation" >,</span>
487
+ key<span class="token punctuation" >:</span> <span class="token string" >'team'</span>
488
+ }<span class="token punctuation" >,</span>
489
+ {
490
+ label<span class="token punctuation" >:</span> <span class="token string" >'상태'</span><span class="token punctuation" >,</span>
491
+ key<span class="token punctuation" >:</span> <span class="token string" >'status'</span><span class="token punctuation" >,</span>
492
+ template<span class="token punctuation" >:</span> function <span class="token punctuation" >(</span>k<span class="token punctuation" >,</span> d<span class="token punctuation" >)</span> {
493
+ return <span class="token string" >'&lt;span class="tag is-info">'</span> <span class="token operator" >+</span> d<span class="token punctuation" >[</span>k<span class="token punctuation" >]</span> <span class="token operator" >+</span> <span class="token string" >'&lt;/span>'</span><span class="token comment" spellcheck="true">;</span>
494
+ }
495
+ }
496
+ <span class="token punctuation" >]</span><span class="token punctuation" >,</span>
497
+ data<span class="token punctuation" >:</span> <span class="token punctuation" >[</span>
498
+ {
499
+ name<span class="token punctuation" >:</span> <span class="token string" >'홍길동'</span><span class="token punctuation" >,</span>
500
+ team<span class="token punctuation" >:</span> <span class="token string" >'플랫폼개발'</span><span class="token punctuation" >,</span>
501
+ status<span class="token punctuation" >:</span> <span class="token string" >'ACTIVE'</span>
502
+ }<span class="token punctuation" >,</span>
503
+ {
504
+ name<span class="token punctuation" >:</span> <span class="token string" >'김철수'</span><span class="token punctuation" >,</span>
505
+ team<span class="token punctuation" >:</span> <span class="token string" >'디자인시스템'</span><span class="token punctuation" >,</span>
506
+ status<span class="token punctuation" >:</span> <span class="token string" >'PENDING'</span>
507
+ }<span class="token punctuation" >,</span>
508
+ {
509
+ name<span class="token punctuation" >:</span> <span class="token string" >'이영희'</span><span class="token punctuation" >,</span>
510
+ team<span class="token punctuation" >:</span> <span class="token string" >'QA'</span><span class="token punctuation" >,</span>
511
+ status<span class="token punctuation" >:</span> <span class="token string" >'DONE'</span>
512
+ }<span class="token punctuation" >,</span>
513
+ {
514
+ name<span class="token punctuation" >:</span> <span class="token string" >'박민수'</span><span class="token punctuation" >,</span>
515
+ team<span class="token punctuation" >:</span> <span class="token string" >'프론트엔드'</span><span class="token punctuation" >,</span>
516
+ status<span class="token punctuation" >:</span> <span class="token string" >'ACTIVE'</span>
517
+ }<span class="token punctuation" >,</span>
518
+ {
519
+ name<span class="token punctuation" >:</span> <span class="token string" >'최지우'</span><span class="token punctuation" >,</span>
520
+ team<span class="token punctuation" >:</span> <span class="token string" >'서비스기획'</span><span class="token punctuation" >,</span>
521
+ status<span class="token punctuation" >:</span> <span class="token string" >'REVIEW'</span>
522
+ }
523
+ <span class="token punctuation" >]</span><span class="token punctuation" >,</span>
524
+ textSets<span class="token punctuation" >:</span> {
525
+ deleteConfirmMessage<span class="token punctuation" >:</span> <span class="token string" >'카드를 삭제하시겠습니까?'</span>
526
+ }
527
+ }<span class="token punctuation" >)</span>
462
528
 
463
- </code></pre><table class="gn-table is-full is-border">
529
+ </code></pre><h3 id="-">가로 모드 동작</h3>
530
+ <ul>
531
+ <li><code>orientation: &#39;horizontal&#39;</code>은 최상위 row만 카드형으로 렌더링한다.</li>
532
+ <li><code>childField</code> 기반 하위 데이터는 가로 모드에서 렌더링하지 않는다.</li>
533
+ <li><code>orientationOptions.columns: &#39;auto-fit&#39;</code>이고 <code>gap</code>이 <code>0</code>, <code>&#39;0&#39;</code>, <code>&#39;0px&#39;</code>, <code>&#39;&#39;</code> 또는 미지정이면 내부적으로 <code>5px</code> gap을 적용한다.</li>
534
+ <li>카드 경계 연결 규칙은 <code>gap: 0</code>일 때만 적용되며, <code>gap &gt; 0</code>이면 각 카드가 독립 border를 가진다.</li>
535
+ </ul>
536
+ <table class="gn-table is-full is-border">
464
537
  <thead>
465
538
  <th colspan="2">name</th>
466
539
  <th>type</th>
@@ -594,7 +667,7 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
594
667
  <td colspan="2">childField</td>
595
668
  <td>string</td>
596
669
  <td>child</td>
597
- <td>자식 데이터를 가지고 있는 항목 키값</td>
670
+ <td>자식 데이터를 가지고 있는 항목 키값. 세로 모드에서만 트리형 하위 row 렌더링에 사용된다.</td>
598
671
  </tr>
599
672
  <tr>
600
673
  <td colspan="2">hasCheck</td>
@@ -620,6 +693,31 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
620
693
  <td>true</td>
621
694
  <td>헤더 생성 여부</td>
622
695
  </tr>
696
+ <tr>
697
+ <td colspan="2">orientation</td>
698
+ <td>&#39;vertical&#39; | &#39;horizontal&#39;</td>
699
+ <td>&#39;vertical&#39;</td>
700
+ <td>그리드 출력 방향. <code>horizontal</code>이면 최상위 row만 카드형으로 출력하며 <code>childField</code> 기반 하위 데이터는 렌더링하지 않는다.</td>
701
+ </tr>
702
+ <tr>
703
+ <td rowspan="3">orientationOptions</td>
704
+ <td>columns</td>
705
+ <td>number | &#39;auto-fit&#39;</td>
706
+ <td>1</td>
707
+ <td>가로 모드 카드 열 수 또는 자동 배치 방식. <code>orientation: &#39;horizontal&#39;</code>일 때 적용된다. <code>auto-fit</code>은 실제 줄 배치를 브라우저가 결정한다.</td>
708
+ </tr>
709
+ <tr>
710
+ <td>gap</td>
711
+ <td>number | string</td>
712
+ <td>0</td>
713
+ <td>가로 모드 카드 간격. CSS grid <code>gap</code> 값으로 적용된다. <code>columns: &#39;auto-fit&#39;</code>일 때는 0 계열 값 또는 미지정이면 내부적으로 <code>5px</code>를 적용한다. <code>gap: 0</code>일 때만 카드 경계 연결 규칙을 사용한다.</td>
714
+ </tr>
715
+ <tr>
716
+ <td>minWidth</td>
717
+ <td>number | string</td>
718
+ <td>240</td>
719
+ <td><code>columns: &#39;auto-fit&#39;</code>일 때 사용할 최소 카드 폭.</td>
720
+ </tr>
623
721
  <tr>
624
722
  <td colspan="2">readonly</td>
625
723
  <td>boolean</td>
@@ -748,22 +846,22 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
748
846
  <tr>
749
847
  <td>addChild(index: number, data: Array<any>)</td>
750
848
  <td>void</td>
751
- <td>index번째 row의 child로 data를 추가한다.</td>
849
+ <td>index번째 row의 child로 data를 추가한다. 세로 모드에서만 지원한다.</td>
752
850
  </tr>
753
851
  <tr>
754
852
  <td>addRow(data: Array<any>)</td>
755
853
  <td>void</td>
756
- <td>마지막 데이터 하단에 data를 추가한다.</td>
854
+ <td>마지막 데이터 하단에 data를 추가한다. 세로 모드에서만 지원한다.</td>
757
855
  </tr>
758
856
  <tr>
759
857
  <td>expand(index: number)</td>
760
858
  <td>void</td>
761
- <td>index번째 row의 child를 확장한다. </td>
859
+ <td>index번째 row의 child를 확장한다. 세로 모드에서만 지원한다.</td>
762
860
  </tr>
763
861
  <tr>
764
862
  <td>collapse(index: number)</td>
765
863
  <td>void</td>
766
- <td>index번째 row의 child 데이터를 축소한다. </td>
864
+ <td>index번째 row의 child 데이터를 축소한다. 세로 모드에서만 지원한다.</td>
767
865
  </tr>
768
866
  <tr>
769
867
  <td>getChecked()</td>
@@ -781,9 +879,9 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
781
879
  <td>파라메터 배열에 전달된 key에 해당하는 컬럼만 보여준다</td>
782
880
  </tr>
783
881
  <tr>
784
- <td>showDetail(index: number, headerKeys?: string[])</td>
882
+ <td>showDetail(index: number, headerKeys?: string[], rawDataKeys?: string[])</td>
785
883
  <td>void</td>
786
- <td>headerKeys로 넘겨진 항목들의 상세정보를 하단에 표시한다. headerKeys가 없는 경우 전체 항목 표시한다.</td>
884
+ <td>headerKeys로 넘겨진 항목들의 상세정보를 하단에 표시한다. rawDataKeys를 넘기면 원본 데이터도 함께 표시한다. 세로 모드에서만 지원한다.</td>
787
885
  </tr>
788
886
  <tr>
789
887
  <td>showAll()</td>
@@ -803,7 +901,7 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
803
901
  </div>
804
902
 
805
903
 
806
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
904
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
807
905
  </div>
808
906
  </div>
809
907
  </div>
@@ -463,7 +463,7 @@ Gn<span class="token punctuation" >.</span><span class="token function" >create<
463
463
  </div>
464
464
 
465
465
 
466
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
466
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
467
467
  </div>
468
468
  </div>
469
469
  </div>
@@ -343,7 +343,7 @@
343
343
  </div>
344
344
 
345
345
 
346
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
346
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
347
347
  </div>
348
348
  </div>
349
349
  </div>
@@ -1126,7 +1126,7 @@
1126
1126
  </div>
1127
1127
 
1128
1128
 
1129
- <footer class="aigis-footer">Last update at 2026/02/04 13:16</footer>
1129
+ <footer class="aigis-footer">Last update at 2026/04/23 04:53</footer>
1130
1130
  </div>
1131
1131
  </div>
1132
1132
  </div>