gnui 1.2.17 → 1.2.18

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 (78) hide show
  1. package/dist/js/gnui.esm.js +724 -92
  2. package/dist/js/gnui.js +724 -92
  3. package/dist/js/gnui.min.js +6 -6
  4. package/dist/styles/default.css +1019 -108
  5. package/dist/styles/gpi.css +1019 -108
  6. package/dist/styles/green24.css +1230 -289
  7. package/dist/styles/insights.css +1019 -108
  8. package/dist/styles/nac.css +969 -58
  9. package/dist/styles/ztnac.css +1206 -265
  10. package/package.json +1 -1
  11. package/styleguide/assets/components.js +216 -9
  12. package/styleguide/assets/js/gnui.js +724 -92
  13. package/styleguide/assets/js/gnui.min.js +6 -6
  14. package/styleguide/assets/styles/default.css +1019 -108
  15. package/styleguide/assets/styles/gpi.css +1019 -108
  16. package/styleguide/assets/styles/green24.css +1230 -289
  17. package/styleguide/assets/styles/insights.css +1019 -108
  18. package/styleguide/assets/styles/nac.css +969 -58
  19. package/styleguide/assets/styles/ztnac.css +1206 -265
  20. package/styleguide/category/COLOR/index.html +2 -2
  21. package/styleguide/category/COMPONENT/Alert(js)/index.html +2 -2
  22. package/styleguide/category/COMPONENT/Bignumber/index.html +2 -2
  23. package/styleguide/category/COMPONENT/Breadcrumb/index.html +2 -2
  24. package/styleguide/category/COMPONENT/Calendar(js)/index.html +2 -2
  25. package/styleguide/category/COMPONENT/Card/index.html +2 -2
  26. package/styleguide/category/COMPONENT/Chart(js)/index.html +2 -2
  27. package/styleguide/category/COMPONENT/Datagrid(js)/index.html +136 -9
  28. package/styleguide/category/COMPONENT/Datalist(js)/index.html +2 -2
  29. package/styleguide/category/COMPONENT/Growl(js)/index.html +2 -2
  30. package/styleguide/category/COMPONENT/JsonView(js)/index.html +2 -2
  31. package/styleguide/category/COMPONENT/Loader(js)/index.html +21 -4
  32. package/styleguide/category/COMPONENT/MenuButton(js)/index.html +74 -6
  33. package/styleguide/category/COMPONENT/Message(js)/index.html +2 -2
  34. package/styleguide/category/COMPONENT/Modal(js)/index.html +2 -2
  35. package/styleguide/category/COMPONENT/Pagination(js)/index.html +2 -2
  36. package/styleguide/category/COMPONENT/Panel/index.html +2 -2
  37. package/styleguide/category/COMPONENT/Progressbar(js)/index.html +2 -2
  38. package/styleguide/category/COMPONENT/Tab(js)/index.html +2 -2
  39. package/styleguide/category/COMPONENT/Tagcloud(js)/index.html +2 -2
  40. package/styleguide/category/COMPONENT/Tooltip(js)/index.html +2 -2
  41. package/styleguide/category/COMPONENT/Tree(js)/index.html +2 -2
  42. package/styleguide/category/CONTROLS/Button(js)/index.html +2 -2
  43. package/styleguide/category/CONTROLS/Checkbox/index.html +2 -2
  44. package/styleguide/category/CONTROLS/Colorpicker(js)/index.html +2 -2
  45. package/styleguide/category/CONTROLS/Datepicker(js)/index.html +2 -2
  46. package/styleguide/category/CONTROLS/Dropdown(js)/index.html +2 -2
  47. package/styleguide/category/CONTROLS/File/index.html +2 -2
  48. package/styleguide/category/CONTROLS/Form/Control/index.html +2 -2
  49. package/styleguide/category/CONTROLS/Form/Field/index.html +2 -2
  50. package/styleguide/category/CONTROLS/Form/Plain/index.html +2 -2
  51. package/styleguide/category/CONTROLS/Input/index.html +2 -2
  52. package/styleguide/category/CONTROLS/MultiText(js)/index.html +2 -2
  53. package/styleguide/category/CONTROLS/Picklist(js)/index.html +28 -18
  54. package/styleguide/category/CONTROLS/Radio/index.html +2 -2
  55. package/styleguide/category/CONTROLS/Select/index.html +2 -2
  56. package/styleguide/category/CONTROLS/SelectButton(js)/index.html +2 -2
  57. package/styleguide/category/CONTROLS/Slider/index.html +2 -2
  58. package/styleguide/category/CONTROLS/SortableList(js)/index.html +487 -0
  59. package/styleguide/category/CONTROLS/Switch(js)/index.html +2 -2
  60. package/styleguide/category/CONTROLS/SyntaxInput(js)/index.html +2 -2
  61. package/styleguide/category/CONTROLS/Textarea/index.html +2 -2
  62. package/styleguide/category/CONTROLS/Time(js)/index.html +2 -2
  63. package/styleguide/category/ELEMENTS/Box/index.html +2 -2
  64. package/styleguide/category/ELEMENTS/Icon/index.html +2 -2
  65. package/styleguide/category/ELEMENTS/Image/index.html +2 -2
  66. package/styleguide/category/ELEMENTS/List/index.html +2 -2
  67. package/styleguide/category/ELEMENTS/Table/index.html +2 -2
  68. package/styleguide/category/ELEMENTS/Tag/index.html +2 -2
  69. package/styleguide/category/ELEMENTS/Title/index.html +2 -2
  70. package/styleguide/category/LAYOUT/Container/index.html +2 -2
  71. package/styleguide/category/LAYOUT/Grid/index.html +2 -2
  72. package/styleguide/category/LAYOUT/Splitter(js)/index.html +2 -2
  73. package/styleguide/category/UTILITY/index.html +2 -2
  74. package/styleguide/category/Utils/index.html +2 -2
  75. package/styleguide/color.html +2 -2
  76. package/styleguide/index.html +2 -2
  77. package/styleguide/tag/javascript/index.html +608 -31
  78. package/styleguide/tag/v.0.1.0/index.html +608 -31
@@ -18,7 +18,7 @@
18
18
  transform: translateX(100%);
19
19
  }
20
20
  }
21
- .gn-container:not(:last-child), .gn-tagcloud:not(:last-child), .gn-tab:not(:last-child), .gn-progressbar:not(:last-child), .gn-picklist:not(:last-child), .gn-panel-3:not(:last-child), .gn-panel-2:not(:last-child), .gn-pagination:not(:last-child), .gn-message:not(:last-child), .gn-jsonview .jsonview-header:not(:last-child), .gn-growl:not(:last-child), .gn-gcolor:not(:last-child), .gn-card:not(:last-child), .gn-breadcrumb:not(:last-child), .gn-bignumber:not(:last-child), .gn-alert:not(:last-child), .gn-slider:not(:last-child), .gn-multitext:not(:last-child), .gn-field:not(:last-child), .gn-title:not(:last-child),
21
+ .gn-container:not(:last-child), .gn-tagcloud:not(:last-child), .gn-tab:not(:last-child), .gn-progressbar:not(:last-child), .gn-sortablelist:not(:last-child), .gn-picklist:not(:last-child), .gn-panel-3:not(:last-child), .gn-panel-2:not(:last-child), .gn-pagination:not(:last-child), .gn-message:not(:last-child), .gn-jsonview .jsonview-header:not(:last-child), .gn-growl:not(:last-child), .gn-gcolor:not(:last-child), .gn-card:not(:last-child), .gn-breadcrumb:not(:last-child), .gn-bignumber:not(:last-child), .gn-alert:not(:last-child), .gn-slider:not(:last-child), .gn-multitext:not(:last-child), .gn-field:not(:last-child), .gn-title:not(:last-child),
22
22
  .gn-sub-title:not(:last-child), .gn-table:not(:last-child), .gn-list:not(:last-child), .gn-box-no-line:not(:last-child), .gn-box:not(:last-child) {
23
23
  margin-bottom: 1rem;
24
24
  }
@@ -681,16 +681,16 @@ tag:
681
681
  }
682
682
 
683
683
  .has-text-help {
684
- color: #268ccf !important;
684
+ color: #3681a5 !important;
685
685
  }
686
686
 
687
687
  .has-color-help {
688
- background-color: #268ccf !important;
688
+ background-color: #3681a5 !important;
689
689
  color: #fff !important;
690
690
  }
691
691
 
692
692
  .has-border-help {
693
- border-color: #268ccf !important;
693
+ border-color: #3681a5 !important;
694
694
  }
695
695
 
696
696
  .has-text-plain {
@@ -746,16 +746,16 @@ tag:
746
746
  }
747
747
 
748
748
  .has-text-guide {
749
- color: #0487da !important;
749
+ color: #3681a5 !important;
750
750
  }
751
751
 
752
752
  .has-color-guide {
753
- background-color: #0487da !important;
753
+ background-color: #3681a5 !important;
754
754
  color: #fff !important;
755
755
  }
756
756
 
757
757
  .has-border-guide {
758
- border-color: #0487da !important;
758
+ border-color: #3681a5 !important;
759
759
  }
760
760
 
761
761
  .has-text-size1 {
@@ -1583,33 +1583,33 @@ tag:
1583
1583
  border-color: hsl(0, 0%, 29%);
1584
1584
  }
1585
1585
  .gn-icon.is-help {
1586
- color: #268ccf;
1586
+ color: #3681a5;
1587
1587
  }
1588
1588
  .gn-icon.is-help[role=button]:hover, .gn-icon.is-help[role=button].is-hover {
1589
- color: rgb(33.2228571429, 122.4, 180.9771428571);
1589
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
1590
1590
  }
1591
1591
  .gn-icon.is-help.is-circle, .gn-icon.is-help.is-rect {
1592
1592
  color: #fff;
1593
1593
  border-color: #fff;
1594
- background-color: #268ccf;
1594
+ background-color: #3681a5;
1595
1595
  }
1596
1596
  .gn-icon.is-help.is-circle[role=button]:hover, .gn-icon.is-help.is-circle[role=button].is-hover, .gn-icon.is-help.is-rect[role=button]:hover, .gn-icon.is-help.is-rect[role=button].is-hover {
1597
- color: #268ccf;
1598
- border-color: #268ccf;
1599
- background-color: rgb(34.0448979592, 125.4285714286, 185.4551020408);
1597
+ color: #3681a5;
1598
+ border-color: #3681a5;
1599
+ background-color: rgb(47.7123287671, 113.9794520548, 145.7876712329);
1600
1600
  }
1601
1601
  .gn-icon.is-help.is-circle.is-outline, .gn-icon.is-help.is-rect.is-outline {
1602
1602
  background-color: #fff;
1603
- color: rgb(35.5959183673, 131.1428571429, 193.9040816327);
1604
- border-color: rgb(33.2228571429, 122.4, 180.9771428571);
1603
+ color: rgb(54.0739726027, 129.1767123288, 165.2260273973);
1604
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
1605
1605
  border-width: 1px;
1606
1606
  border-style: solid;
1607
1607
  border-radius: 2px;
1608
1608
  }
1609
1609
  .gn-icon.is-help.is-circle.is-outline[role=button]:hover, .gn-icon.is-help.is-circle.is-outline[role=button].is-hover, .gn-icon.is-help.is-rect.is-outline[role=button]:hover, .gn-icon.is-help.is-rect.is-outline[role=button].is-hover {
1610
- background-color: #268ccf;
1610
+ background-color: #3681a5;
1611
1611
  color: #fff;
1612
- border-color: rgb(33.2228571429, 122.4, 180.9771428571);
1612
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
1613
1613
  }
1614
1614
  .gn-icon.is-plain {
1615
1615
  color: #fff;
@@ -1728,33 +1728,33 @@ tag:
1728
1728
  border-color: rgb(221.3358870968, 18.3641129032, 22.2302419355);
1729
1729
  }
1730
1730
  .gn-icon.is-guide {
1731
- color: #0487da;
1731
+ color: #3681a5;
1732
1732
  }
1733
1733
  .gn-icon.is-guide[role=button]:hover, .gn-icon.is-guide[role=button].is-hover {
1734
- color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
1734
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
1735
1735
  }
1736
1736
  .gn-icon.is-guide.is-circle, .gn-icon.is-guide.is-rect {
1737
1737
  color: #fff;
1738
1738
  border-color: #fff;
1739
- background-color: #0487da;
1739
+ background-color: #3681a5;
1740
1740
  }
1741
1741
  .gn-icon.is-guide.is-circle[role=button]:hover, .gn-icon.is-guide.is-circle[role=button].is-hover, .gn-icon.is-guide.is-rect[role=button]:hover, .gn-icon.is-guide.is-rect[role=button].is-hover {
1742
- color: #0487da;
1743
- border-color: #0487da;
1744
- background-color: rgb(3.5405405405, 119.4932432432, 192.9594594595);
1742
+ color: #3681a5;
1743
+ border-color: #3681a5;
1744
+ background-color: rgb(47.7123287671, 113.9794520548, 145.7876712329);
1745
1745
  }
1746
1746
  .gn-icon.is-guide.is-circle.is-outline, .gn-icon.is-guide.is-rect.is-outline {
1747
1747
  background-color: #fff;
1748
- color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
1749
- border-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
1748
+ color: rgb(54.0739726027, 129.1767123288, 165.2260273973);
1749
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
1750
1750
  border-width: 1px;
1751
1751
  border-style: solid;
1752
1752
  border-radius: 2px;
1753
1753
  }
1754
1754
  .gn-icon.is-guide.is-circle.is-outline[role=button]:hover, .gn-icon.is-guide.is-circle.is-outline[role=button].is-hover, .gn-icon.is-guide.is-rect.is-outline[role=button]:hover, .gn-icon.is-guide.is-rect.is-outline[role=button].is-hover {
1755
- background-color: #0487da;
1755
+ background-color: #3681a5;
1756
1756
  color: #fff;
1757
- border-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
1757
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
1758
1758
  }
1759
1759
 
1760
1760
  .gn-flag {
@@ -2799,7 +2799,7 @@ tag:
2799
2799
  }
2800
2800
  .gn-icon-ext::before {
2801
2801
  content: "\f15b";
2802
- font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free";
2802
+ font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
2803
2803
  font-weight: 300;
2804
2804
  font-size: 1.6rem;
2805
2805
  }
@@ -3566,19 +3566,19 @@ tag:
3566
3566
  color: hsl(0, 0%, 29%);
3567
3567
  }
3568
3568
  .gn-tag.is-help {
3569
- background-color: #268ccf;
3569
+ background-color: #3681a5;
3570
3570
  color: #fff;
3571
3571
  }
3572
3572
  .gn-tag.is-help.is-outline {
3573
3573
  background-color: transparent;
3574
- color: #268ccf;
3575
- border-color: #268ccf;
3574
+ color: #3681a5;
3575
+ border-color: #3681a5;
3576
3576
  border-width: 1px;
3577
3577
  border-style: solid;
3578
3578
  }
3579
3579
  .gn-tag.is-help-light {
3580
3580
  background-color: #fff;
3581
- color: rgb(33.2228571429, 122.4, 180.9771428571);
3581
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
3582
3582
  }
3583
3583
  .gn-tag.is-plain {
3584
3584
  background-color: #fff;
@@ -3641,19 +3641,19 @@ tag:
3641
3641
  color: rgb(221.3358870968, 18.3641129032, 22.2302419355);
3642
3642
  }
3643
3643
  .gn-tag.is-guide {
3644
- background-color: #0487da;
3644
+ background-color: #3681a5;
3645
3645
  color: #fff;
3646
3646
  }
3647
3647
  .gn-tag.is-guide.is-outline {
3648
3648
  background-color: transparent;
3649
- color: #0487da;
3650
- border-color: #0487da;
3649
+ color: #3681a5;
3650
+ border-color: #3681a5;
3651
3651
  border-width: 1px;
3652
3652
  border-style: solid;
3653
3653
  }
3654
3654
  .gn-tag.is-guide-light {
3655
3655
  background-color: #fff;
3656
- color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
3656
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
3657
3657
  }
3658
3658
  .gn-tag.is-round {
3659
3659
  border-radius: 290486px;
@@ -4196,13 +4196,13 @@ tag:
4196
4196
  .gn-table tr.is-help,
4197
4197
  .gn-table td.is-help,
4198
4198
  .gn-table th.is-help {
4199
- background-color: #268ccf;
4199
+ background-color: #3681a5;
4200
4200
  color: #fff;
4201
4201
  }
4202
4202
  .gn-table tr.is-help:hover,
4203
4203
  .gn-table td.is-help:hover,
4204
4204
  .gn-table th.is-help:hover {
4205
- background-color: rgb(35.6269387755, 131.2571428571, 194.0730612245);
4205
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
4206
4206
  }
4207
4207
  .gn-table tr.is-help-light,
4208
4208
  .gn-table td.is-help-light,
@@ -4301,13 +4301,13 @@ tag:
4301
4301
  .gn-table tr.is-guide,
4302
4302
  .gn-table td.is-guide,
4303
4303
  .gn-table th.is-guide {
4304
- background-color: #0487da;
4304
+ background-color: #3681a5;
4305
4305
  color: #fff;
4306
4306
  }
4307
4307
  .gn-table tr.is-guide:hover,
4308
4308
  .gn-table td.is-guide:hover,
4309
4309
  .gn-table th.is-guide:hover {
4310
- background-color: rgb(3.7243243243, 125.6959459459, 202.9756756757);
4310
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
4311
4311
  }
4312
4312
  .gn-table tr.is-guide-light,
4313
4313
  .gn-table td.is-guide-light,
@@ -4380,10 +4380,6 @@ tag:
4380
4380
  display: block;
4381
4381
  word-break: break-word;
4382
4382
  }
4383
- .gn-title:not(:last-child),
4384
- .gn-sub-title:not(:last-child) {
4385
- margin-bottom: 1rem;
4386
- }
4387
4383
 
4388
4384
  .gn-title {
4389
4385
  color: #000;
@@ -5433,44 +5429,44 @@ compile: true
5433
5429
  border-color: rgba(0, 0, 0, 0.7);
5434
5430
  }
5435
5431
  .gn-button.is-help {
5436
- background-color: #268ccf;
5432
+ background-color: #3681a5;
5437
5433
  color: #fff;
5438
- border-color: #268ccf;
5434
+ border-color: #3681a5;
5439
5435
  }
5440
5436
  .gn-button.is-help:hover, .gn-button.is-help.is-hover {
5441
- background-color: rgb(33.2228571429, 122.4, 180.9771428571);
5437
+ background-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5442
5438
  color: #fff;
5443
- border-color: rgb(33.2228571429, 122.4, 180.9771428571);
5439
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5444
5440
  }
5445
5441
  .gn-button.is-help.is-disabled:hover, .gn-button.is-help.is-disabled.is-hover {
5446
- background-color: #268ccf;
5442
+ background-color: #3681a5;
5447
5443
  color: #fff;
5448
- border-color: #268ccf;
5444
+ border-color: #3681a5;
5449
5445
  }
5450
5446
  .gn-button.is-help:focus, .gn-button.is-help.is-focus {
5451
5447
  color: rgb(229.5, 229.5, 229.5);
5452
5448
  }
5453
5449
  .gn-button.is-help:active, .gn-button.is-help.is-active {
5454
- background-color: rgb(33.2228571429, 122.4, 180.9771428571);
5450
+ background-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5455
5451
  color: #fff;
5456
5452
  }
5457
5453
  .gn-button.is-help.is-outline {
5458
5454
  background-color: #fff;
5459
- color: rgb(35.5959183673, 131.1428571429, 193.9040816327);
5460
- border-color: rgb(33.2228571429, 122.4, 180.9771428571);
5455
+ color: rgb(54.0739726027, 129.1767123288, 165.2260273973);
5456
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5461
5457
  }
5462
5458
  .gn-button.is-help.is-outline:hover, .gn-button.is-help.is-outline.is-hover {
5463
- background-color: #268ccf;
5459
+ background-color: #3681a5;
5464
5460
  color: #fff;
5465
- border-color: rgb(33.2228571429, 122.4, 180.9771428571);
5461
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5466
5462
  }
5467
5463
  .gn-button.is-help.is-outline.is-disabled:hover, .gn-button.is-help.is-outline.is-disabled.is-hover {
5468
5464
  background-color: #fff;
5469
- color: #268ccf;
5465
+ color: #3681a5;
5470
5466
  }
5471
5467
  .gn-button.is-help.is-invert {
5472
5468
  background-color: #fff;
5473
- color: #268ccf;
5469
+ color: #3681a5;
5474
5470
  border-color: #fff;
5475
5471
  }
5476
5472
  .gn-button.is-help.is-invert:hover, .gn-button.is-help.is-invert.is-hover {
@@ -5479,7 +5475,7 @@ compile: true
5479
5475
  }
5480
5476
  .gn-button.is-help.is-invert.is-disabled:hover, .gn-button.is-help.is-invert.is-disabled.is-hover {
5481
5477
  background-color: #fff;
5482
- color: #268ccf;
5478
+ color: #3681a5;
5483
5479
  border-color: #fff;
5484
5480
  }
5485
5481
  .gn-button.is-plain {
@@ -5683,44 +5679,44 @@ compile: true
5683
5679
  border-color: #fff;
5684
5680
  }
5685
5681
  .gn-button.is-guide {
5686
- background-color: #0487da;
5682
+ background-color: #3681a5;
5687
5683
  color: #fff;
5688
- border-color: #0487da;
5684
+ border-color: #3681a5;
5689
5685
  }
5690
5686
  .gn-button.is-guide:hover, .gn-button.is-guide.is-hover {
5691
- background-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
5687
+ background-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5692
5688
  color: #fff;
5693
- border-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
5689
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5694
5690
  }
5695
5691
  .gn-button.is-guide.is-disabled:hover, .gn-button.is-guide.is-disabled.is-hover {
5696
- background-color: #0487da;
5692
+ background-color: #3681a5;
5697
5693
  color: #fff;
5698
- border-color: #0487da;
5694
+ border-color: #3681a5;
5699
5695
  }
5700
5696
  .gn-button.is-guide:focus, .gn-button.is-guide.is-focus {
5701
5697
  color: rgb(229.5, 229.5, 229.5);
5702
5698
  }
5703
5699
  .gn-button.is-guide:active, .gn-button.is-guide.is-active {
5704
- background-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
5700
+ background-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5705
5701
  color: #fff;
5706
5702
  }
5707
5703
  .gn-button.is-guide.is-outline {
5708
5704
  background-color: #fff;
5709
- color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
5710
- border-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
5705
+ color: rgb(54.0739726027, 129.1767123288, 165.2260273973);
5706
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5711
5707
  }
5712
5708
  .gn-button.is-guide.is-outline:hover, .gn-button.is-guide.is-outline.is-hover {
5713
- background-color: #0487da;
5709
+ background-color: #3681a5;
5714
5710
  color: #fff;
5715
- border-color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
5711
+ border-color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
5716
5712
  }
5717
5713
  .gn-button.is-guide.is-outline.is-disabled:hover, .gn-button.is-guide.is-outline.is-disabled.is-hover {
5718
5714
  background-color: #fff;
5719
- color: #0487da;
5715
+ color: #3681a5;
5720
5716
  }
5721
5717
  .gn-button.is-guide.is-invert {
5722
5718
  background-color: #fff;
5723
- color: #0487da;
5719
+ color: #3681a5;
5724
5720
  border-color: #fff;
5725
5721
  }
5726
5722
  .gn-button.is-guide.is-invert:hover, .gn-button.is-guide.is-invert.is-hover {
@@ -5729,7 +5725,7 @@ compile: true
5729
5725
  }
5730
5726
  .gn-button.is-guide.is-invert.is-disabled:hover, .gn-button.is-guide.is-invert.is-disabled.is-hover {
5731
5727
  background-color: #fff;
5732
- color: #0487da;
5728
+ color: #3681a5;
5733
5729
  border-color: #fff;
5734
5730
  }
5735
5731
 
@@ -5753,6 +5749,7 @@ compile: true
5753
5749
  ```ejs
5754
5750
  <button name="new-button"></button>
5755
5751
  <button name="new-button2"></button>
5752
+ <button name="new-button-submenu">편집 메뉴</button>
5756
5753
  ```
5757
5754
 
5758
5755
  ````
@@ -5792,6 +5789,51 @@ compile: true
5792
5789
  value: 'menu2'
5793
5790
  }]
5794
5791
  });
5792
+ // 서브메뉴 예시
5793
+ Gn.create('menubutton', {
5794
+ target: 'button[name=new-button-submenu]',
5795
+ size: 'normal',
5796
+ textSets: {
5797
+ buttonText: '편집 메뉴'
5798
+ },
5799
+ onSelect: function (value, text, menu, e) {
5800
+ console.log('선택된 메뉴:', { value: value, text: text, menu: menu });
5801
+ },
5802
+ data: [
5803
+ {
5804
+ text: '파일',
5805
+ value: 'file',
5806
+ child: [
5807
+ { text: '새 파일', value: 'file-new' },
5808
+ { text: '열기', value: 'file-open' },
5809
+ {
5810
+ text: '최근 파일',
5811
+ value: 'file-recent',
5812
+ child: [
5813
+ { text: 'document.txt', value: 'file-recent-1' },
5814
+ { text: 'image.png', value: 'file-recent-2' }
5815
+ ]
5816
+ },
5817
+ { text: '저장', value: 'file-save', disabled: true },
5818
+ { text: '다른 이름으로 저장', value: 'file-saveas' }
5819
+ ]
5820
+ },
5821
+ {
5822
+ text: '편집',
5823
+ value: 'edit',
5824
+ actived: true,
5825
+ child: [
5826
+ { text: '실행 취소', value: 'edit-undo' },
5827
+ { text: '다시 실행', value: 'edit-redo' }
5828
+ ]
5829
+ },
5830
+ {
5831
+ text: '도움말',
5832
+ value: 'help',
5833
+ disabled: true
5834
+ }
5835
+ ]
5836
+ });
5795
5837
  ````
5796
5838
 
5797
5839
 
@@ -5848,15 +5890,21 @@ compile: true
5848
5890
  </tr>
5849
5891
  <tr>
5850
5892
  <td colspan="2">data</td>
5851
- <td>Array[{value, text, _html_}]</td>
5893
+ <td>Array[{value, text, html, child, disabled, actived}]</td>
5852
5894
  <td></td>
5853
- <td>메뉴 목록에 출력할 목록</td>
5895
+ <td>메뉴 목록에 출력할 목록<br/>- value: 메뉴 값<br/>- text: 메뉴 텍스트<br/>- html: HTML로 렌더링할 내용<br/>- child: 하위 메뉴 배열 (최대 2단계)<br/>- disabled: 비활성화 여부 (boolean)<br/>- actived: 활성화 상태 표시 여부</td>
5896
+ </tr>
5897
+ <tr>
5898
+ <td colspan="2">disabled</td>
5899
+ <td>boolean</td>
5900
+ <td>false</td>
5901
+ <td>버튼 비활성화 여부</td>
5854
5902
  </tr>
5855
5903
  <tr>
5856
5904
  <td colspan="2">onSelect</td>
5857
- <td>function(value, text)</td>
5905
+ <td>function(value, text, menu, e)</td>
5858
5906
  <td></td>
5859
- <td>메뉴 선택 시 수행될 이벤트</td>
5907
+ <td>메뉴 선택 시 수행될 이벤트<br/>- value: 선택된 메뉴의 값<br/>- text: 선택된 메뉴의 텍스트<br/>- menu: 선택된 메뉴 객체<br/>- e: MouseEvent 객체</td>
5860
5908
  </tr>
5861
5909
  </tbody>
5862
5910
  </table>
@@ -5875,6 +5923,21 @@ compile: true
5875
5923
  <td>void</td>
5876
5924
  <td>버튼명을 변경한다.</td>
5877
5925
  </tr>
5926
+ <tr>
5927
+ <td>reRender(data: Array)</td>
5928
+ <td>void</td>
5929
+ <td>메뉴 데이터를 전달받아 DOM을 다시 생성한다.</td>
5930
+ </tr>
5931
+ <tr>
5932
+ <td>disabled()</td>
5933
+ <td>void</td>
5934
+ <td>버튼을 비활성화한다.</td>
5935
+ </tr>
5936
+ <tr>
5937
+ <td>enabled()</td>
5938
+ <td>void</td>
5939
+ <td>버튼을 활성화한다.</td>
5940
+ </tr>
5878
5941
  </tbody>
5879
5942
  </table>
5880
5943
  */
@@ -5962,6 +6025,47 @@ compile: true
5962
6025
  color: #fff;
5963
6026
  background-color: #88b50f;
5964
6027
  }
6028
+ .gn-menuButton .menuButton-menu.is-disabled {
6029
+ pointer-events: none;
6030
+ opacity: 0.5;
6031
+ }
6032
+ .gn-menuButton .menuButton-menu.is-actived {
6033
+ background-color: #b5bdbd !important;
6034
+ }
6035
+ .gn-menuButton .menuButton-menu.has-submenu .menuButton-menu-content {
6036
+ display: flex;
6037
+ align-items: center;
6038
+ justify-content: space-between;
6039
+ width: 100%;
6040
+ }
6041
+ .gn-menuButton .menuButton-menu.has-submenu .menuButton-menu-arrow {
6042
+ margin-left: 10px;
6043
+ display: inline-flex;
6044
+ align-items: center;
6045
+ }
6046
+ .gn-menuButton .menuButton-menu .menuButton-submenu {
6047
+ display: none;
6048
+ position: absolute;
6049
+ left: 100%;
6050
+ top: 0;
6051
+ min-width: 150px;
6052
+ background-color: hsl(0, 0%, 100%);
6053
+ border: 1px solid hsl(0, 0%, 86%);
6054
+ border-radius: 2px;
6055
+ z-index: 21;
6056
+ padding: 0.35rem;
6057
+ }
6058
+ .gn-menuButton .menuButton-menu .menuButton-submenu .menuButton-menu {
6059
+ color: hsl(0, 0%, 29%);
6060
+ cursor: pointer;
6061
+ }
6062
+ .gn-menuButton .menuButton-menu .menuButton-submenu .menuButton-menu:hover {
6063
+ color: #fff;
6064
+ background-color: #88b50f;
6065
+ }
6066
+ .gn-menuButton .menuButton-menu:hover > .menuButton-submenu {
6067
+ display: block;
6068
+ }
5965
6069
  .gn-menuButton.is-white button {
5966
6070
  color: hsl(0, 0%, 100%);
5967
6071
  border-color: hsl(0, 0%, 100%);
@@ -6155,19 +6259,19 @@ compile: true
6155
6259
  background-color: hsl(0, 0%, 100%);
6156
6260
  }
6157
6261
  .gn-menuButton.is-help button {
6158
- color: #268ccf;
6159
- border-color: #268ccf;
6262
+ color: #3681a5;
6263
+ border-color: #3681a5;
6160
6264
  }
6161
6265
  .gn-menuButton.is-help .menuButton-icon {
6162
- color: rgb(30.0897959184, 110.8571428571, 163.9102040816);
6266
+ color: rgb(41.4246575342, 98.9589041096, 126.5753424658);
6163
6267
  }
6164
6268
  .gn-menuButton.is-help .menuButton-item.is-active {
6165
6269
  color: #fff;
6166
- background-color: #268ccf;
6270
+ background-color: #3681a5;
6167
6271
  }
6168
6272
  .gn-menuButton.is-help .menuButton-item.is-hover,
6169
6273
  .gn-menuButton.is-help .menuButton-item:hover {
6170
- color: #268ccf;
6274
+ color: #3681a5;
6171
6275
  background-color: #fff;
6172
6276
  }
6173
6277
  .gn-menuButton.is-plain button {
@@ -6235,19 +6339,19 @@ compile: true
6235
6339
  background-color: #ffcecf;
6236
6340
  }
6237
6341
  .gn-menuButton.is-guide button {
6238
- color: #0487da;
6239
- border-color: #0487da;
6342
+ color: #3681a5;
6343
+ border-color: #3681a5;
6240
6344
  }
6241
6345
  .gn-menuButton.is-guide .menuButton-icon {
6242
- color: rgb(3.0810810811, 103.9864864865, 167.9189189189);
6346
+ color: rgb(41.4246575342, 98.9589041096, 126.5753424658);
6243
6347
  }
6244
6348
  .gn-menuButton.is-guide .menuButton-item.is-active {
6245
6349
  color: #fff;
6246
- background-color: #0487da;
6350
+ background-color: #3681a5;
6247
6351
  }
6248
6352
  .gn-menuButton.is-guide .menuButton-item.is-hover,
6249
6353
  .gn-menuButton.is-guide .menuButton-item:hover {
6250
- color: #0487da;
6354
+ color: #3681a5;
6251
6355
  background-color: #fff;
6252
6356
  }
6253
6357
  .gn-menuButton.is-simple button {
@@ -7725,25 +7829,25 @@ tag:
7725
7829
  border-color: hsla(0, 0%, -5%, 0.7);
7726
7830
  }
7727
7831
  .gn-file.is-help {
7728
- background-color: #268ccf;
7832
+ background-color: #3681a5;
7729
7833
  color: #fff;
7730
- border-color: #268ccf;
7834
+ border-color: #3681a5;
7731
7835
  }
7732
7836
  .gn-file.is-help:hover, .gn-file.is-help.is-hover {
7733
- background-color: rgb(35.6269387755, 131.2571428571, 194.0730612245);
7837
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
7734
7838
  color: #fff;
7735
7839
  }
7736
7840
  .gn-file.is-help.is-outline {
7737
7841
  background-color: transparent;
7738
- color: #268ccf;
7842
+ color: #3681a5;
7739
7843
  }
7740
7844
  .gn-file.is-help.is-outline:hover, .gn-file.is-help.is-outline.is-hover {
7741
- background-color: #268ccf;
7845
+ background-color: #3681a5;
7742
7846
  color: #fff;
7743
7847
  }
7744
7848
  .gn-file.is-help.is-invert {
7745
7849
  background-color: #fff;
7746
- color: #268ccf;
7850
+ color: #3681a5;
7747
7851
  border-color: #fff;
7748
7852
  }
7749
7853
  .gn-file.is-help.is-invert:hover, .gn-file.is-help.is-invert.is-hover {
@@ -7855,25 +7959,25 @@ tag:
7855
7959
  border-color: rgb(242.25, 242.25, 242.25);
7856
7960
  }
7857
7961
  .gn-file.is-guide {
7858
- background-color: #0487da;
7962
+ background-color: #3681a5;
7859
7963
  color: #fff;
7860
- border-color: #0487da;
7964
+ border-color: #3681a5;
7861
7965
  }
7862
7966
  .gn-file.is-guide:hover, .gn-file.is-guide.is-hover {
7863
- background-color: rgb(3.7243243243, 125.6959459459, 202.9756756757);
7967
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
7864
7968
  color: #fff;
7865
7969
  }
7866
7970
  .gn-file.is-guide.is-outline {
7867
7971
  background-color: transparent;
7868
- color: #0487da;
7972
+ color: #3681a5;
7869
7973
  }
7870
7974
  .gn-file.is-guide.is-outline:hover, .gn-file.is-guide.is-outline.is-hover {
7871
- background-color: #0487da;
7975
+ background-color: #3681a5;
7872
7976
  color: #fff;
7873
7977
  }
7874
7978
  .gn-file.is-guide.is-invert {
7875
7979
  background-color: #fff;
7876
- color: #0487da;
7980
+ color: #3681a5;
7877
7981
  border-color: #fff;
7878
7982
  }
7879
7983
  .gn-file.is-guide.is-invert:hover, .gn-file.is-guide.is-invert.is-hover {
@@ -8332,19 +8436,19 @@ tag:
8332
8436
  color: hsl(0, 0%, 29%);
8333
8437
  }
8334
8438
  .gn-plain.is-help {
8335
- background-color: #268ccf;
8439
+ background-color: #3681a5;
8336
8440
  color: #fff;
8337
8441
  }
8338
8442
  .gn-plain.is-help.is-outline {
8339
8443
  background-color: transparent;
8340
- color: #268ccf;
8341
- border-color: #268ccf;
8444
+ color: #3681a5;
8445
+ border-color: #3681a5;
8342
8446
  border-width: 1px;
8343
8447
  border-style: solid;
8344
8448
  }
8345
8449
  .gn-plain.is-help-light {
8346
8450
  background-color: #fff;
8347
- color: rgb(33.2228571429, 122.4, 180.9771428571);
8451
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
8348
8452
  }
8349
8453
  .gn-plain.is-plain {
8350
8454
  background-color: #fff;
@@ -8407,19 +8511,19 @@ tag:
8407
8511
  color: rgb(221.3358870968, 18.3641129032, 22.2302419355);
8408
8512
  }
8409
8513
  .gn-plain.is-guide {
8410
- background-color: #0487da;
8514
+ background-color: #3681a5;
8411
8515
  color: #fff;
8412
8516
  }
8413
8517
  .gn-plain.is-guide.is-outline {
8414
8518
  background-color: transparent;
8415
- color: #0487da;
8416
- border-color: #0487da;
8519
+ color: #3681a5;
8520
+ border-color: #3681a5;
8417
8521
  border-width: 1px;
8418
8522
  border-style: solid;
8419
8523
  }
8420
8524
  .gn-plain.is-guide-light {
8421
8525
  background-color: #fff;
8422
- color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
8526
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
8423
8527
  }
8424
8528
 
8425
8529
  /*
@@ -8576,7 +8680,7 @@ tag:
8576
8680
  color: hsl(0, 0%, 100%);
8577
8681
  }
8578
8682
  .gn-field.is-help {
8579
- color: #268ccf;
8683
+ color: #3681a5;
8580
8684
  }
8581
8685
  .gn-field.is-plain {
8582
8686
  color: #fff;
@@ -8591,7 +8695,7 @@ tag:
8591
8695
  color: #e51317;
8592
8696
  }
8593
8697
  .gn-field.is-guide {
8594
- color: #0487da;
8698
+ color: #3681a5;
8595
8699
  }
8596
8700
  .gn-field .gn-label {
8597
8701
  color: hsl(0, 0%, 21%);
@@ -8648,7 +8752,7 @@ tag:
8648
8752
  color: hsl(0, 0%, 100%);
8649
8753
  }
8650
8754
  .gn-field .gn-label.is-help {
8651
- color: #268ccf;
8755
+ color: #3681a5;
8652
8756
  }
8653
8757
  .gn-field .gn-label.is-plain {
8654
8758
  color: #fff;
@@ -8663,7 +8767,7 @@ tag:
8663
8767
  color: #e51317;
8664
8768
  }
8665
8769
  .gn-field .gn-label.is-guide {
8666
- color: #0487da;
8770
+ color: #3681a5;
8667
8771
  }
8668
8772
 
8669
8773
  /*
@@ -8951,7 +9055,7 @@ tag:
8951
9055
  }
8952
9056
  .gn-input.is-help,
8953
9057
  .gn-textarea.is-help {
8954
- border-color: #268ccf;
9058
+ border-color: #3681a5;
8955
9059
  }
8956
9060
  .gn-input.is-help:hover, .gn-input.is-help.is-hover,
8957
9061
  .gn-textarea.is-help:hover,
@@ -8996,7 +9100,7 @@ tag:
8996
9100
  }
8997
9101
  .gn-input.is-guide,
8998
9102
  .gn-textarea.is-guide {
8999
- border-color: #0487da;
9103
+ border-color: #3681a5;
9000
9104
  }
9001
9105
  .gn-input.is-guide:hover, .gn-input.is-guide.is-hover,
9002
9106
  .gn-textarea.is-guide:hover,
@@ -9253,19 +9357,19 @@ tag:
9253
9357
  color: hsl(0, 0%, 29%);
9254
9358
  }
9255
9359
  .gn-plain2.is-help {
9256
- background-color: #268ccf;
9360
+ background-color: #3681a5;
9257
9361
  color: #fff;
9258
9362
  }
9259
9363
  .gn-plain2.is-help.is-outline {
9260
9364
  background-color: transparent;
9261
- color: #268ccf;
9262
- border-color: #268ccf;
9365
+ color: #3681a5;
9366
+ border-color: #3681a5;
9263
9367
  border-width: 1px;
9264
9368
  border-style: solid;
9265
9369
  }
9266
9370
  .gn-plain2.is-help-light {
9267
9371
  background-color: #fff;
9268
- color: rgb(33.2228571429, 122.4, 180.9771428571);
9372
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
9269
9373
  }
9270
9374
  .gn-plain2.is-plain {
9271
9375
  background-color: #fff;
@@ -9328,19 +9432,19 @@ tag:
9328
9432
  color: rgb(221.3358870968, 18.3641129032, 22.2302419355);
9329
9433
  }
9330
9434
  .gn-plain2.is-guide {
9331
- background-color: #0487da;
9435
+ background-color: #3681a5;
9332
9436
  color: #fff;
9333
9437
  }
9334
9438
  .gn-plain2.is-guide.is-outline {
9335
9439
  background-color: transparent;
9336
- color: #0487da;
9337
- border-color: #0487da;
9440
+ color: #3681a5;
9441
+ border-color: #3681a5;
9338
9442
  border-width: 1px;
9339
9443
  border-style: solid;
9340
9444
  }
9341
9445
  .gn-plain2.is-guide-light {
9342
9446
  background-color: #fff;
9343
- color: rgb(3.9513513514, 133.3581081081, 215.3486486486);
9447
+ color: rgb(55.3315068493, 132.1808219178, 169.0684931507);
9344
9448
  }
9345
9449
 
9346
9450
  .is-invalid > .gn-input,
@@ -9921,7 +10025,7 @@ tag:
9921
10025
  }
9922
10026
  .gn-select::after {
9923
10027
  content: "\f107";
9924
- font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
10028
+ font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
9925
10029
  font-weight: 900;
9926
10030
  position: absolute;
9927
10031
  right: 0.5rem;
@@ -10088,11 +10192,11 @@ tag:
10088
10192
  color: hsl(0, 0%, 100%);
10089
10193
  }
10090
10194
  .gn-select.is-help select {
10091
- color: #268ccf;
10092
- border-color: #268ccf;
10195
+ color: #3681a5;
10196
+ border-color: #3681a5;
10093
10197
  }
10094
10198
  .gn-select.is-help::after {
10095
- color: #268ccf;
10199
+ color: #3681a5;
10096
10200
  }
10097
10201
  .gn-select.is-plain select {
10098
10202
  color: #fff;
@@ -10123,11 +10227,11 @@ tag:
10123
10227
  color: #e51317;
10124
10228
  }
10125
10229
  .gn-select.is-guide select {
10126
- color: #0487da;
10127
- border-color: #0487da;
10230
+ color: #3681a5;
10231
+ border-color: #3681a5;
10128
10232
  }
10129
10233
  .gn-select.is-guide::after {
10130
- color: #0487da;
10234
+ color: #3681a5;
10131
10235
  }
10132
10236
 
10133
10237
  .is-invalid > .gn-select select,
@@ -10396,10 +10500,10 @@ tag:
10396
10500
  background-color: rgb(247.35, 247.35, 247.35);
10397
10501
  }
10398
10502
  .gn-slider.is-help::-webkit-slider-thumb, .gn-slider.is-help::-ms-thumb {
10399
- background-color: #268ccf;
10503
+ background-color: #3681a5;
10400
10504
  }
10401
10505
  .gn-slider.is-help::-webkit-slider-thumb:hover, .gn-slider.is-help:active::-webkit-slider-thumb, .gn-slider.is-help::-ms-thumb:hover, .gn-slider.is-help:active::-ms-thumb {
10402
- background-color: rgb(35.6269387755, 131.2571428571, 194.0730612245);
10506
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
10403
10507
  }
10404
10508
  .gn-slider.is-help:hover {
10405
10509
  background-color: rgb(239.7, 239.7, 239.7);
@@ -10456,10 +10560,10 @@ tag:
10456
10560
  background-color: rgb(247.35, 247.35, 247.35);
10457
10561
  }
10458
10562
  .gn-slider.is-guide::-webkit-slider-thumb, .gn-slider.is-guide::-ms-thumb {
10459
- background-color: #0487da;
10563
+ background-color: #3681a5;
10460
10564
  }
10461
10565
  .gn-slider.is-guide::-webkit-slider-thumb:hover, .gn-slider.is-guide:active::-webkit-slider-thumb, .gn-slider.is-guide::-ms-thumb:hover, .gn-slider.is-guide:active::-ms-thumb {
10462
- background-color: rgb(3.7243243243, 125.6959459459, 202.9756756757);
10566
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
10463
10567
  }
10464
10568
  .gn-slider.is-guide:hover {
10465
10569
  background-color: rgb(239.7, 239.7, 239.7);
@@ -10775,7 +10879,7 @@ tag:
10775
10879
  background: hsl(0, 0%, 100%);
10776
10880
  }
10777
10881
  .gn-switch.is-help input:checked + .switch-toggle {
10778
- background: #268ccf;
10882
+ background: #3681a5;
10779
10883
  }
10780
10884
  .gn-switch.is-plain input:checked + .switch-toggle {
10781
10885
  background: #fff;
@@ -10790,7 +10894,7 @@ tag:
10790
10894
  background: #e51317;
10791
10895
  }
10792
10896
  .gn-switch.is-guide input:checked + .switch-toggle {
10793
- background: #0487da;
10897
+ background: #3681a5;
10794
10898
  }
10795
10899
 
10796
10900
  .is-invalid > .gn-switch .switch-toggle,
@@ -11670,11 +11774,11 @@ tag:
11670
11774
  background-color: hsl(0, 0%, 94%);
11671
11775
  }
11672
11776
  .gn-alert.is-help {
11673
- background-color: #268ccf;
11777
+ background-color: #3681a5;
11674
11778
  color: #fff;
11675
11779
  }
11676
11780
  .gn-alert.is-help > .is-close:hover {
11677
- background-color: rgb(33.253877551, 122.5142857143, 181.146122449);
11781
+ background-color: rgb(46.4547945205, 110.9753424658, 141.9452054795);
11678
11782
  }
11679
11783
  .gn-alert.is-plain {
11680
11784
  background-color: #fff;
@@ -11705,11 +11809,11 @@ tag:
11705
11809
  background-color: rgb(200.7443548387, 16.6556451613, 20.1620967742);
11706
11810
  }
11707
11811
  .gn-alert.is-guide {
11708
- background-color: #0487da;
11812
+ background-color: #3681a5;
11709
11813
  color: #fff;
11710
11814
  }
11711
11815
  .gn-alert.is-guide > .is-close:hover {
11712
- background-color: rgb(3.4486486486, 116.3918918919, 187.9513513514);
11816
+ background-color: rgb(46.4547945205, 110.9753424658, 141.9452054795);
11713
11817
  }
11714
11818
 
11715
11819
  /*
@@ -11904,8 +12008,8 @@ tag:
11904
12008
  color: hsl(0, 0%, 29%);
11905
12009
  }
11906
12010
  .gn-bignumber.is-help {
11907
- border-color: #268ccf;
11908
- color: rgb(35.6269387755, 131.2571428571, 194.0730612245);
12011
+ border-color: #3681a5;
12012
+ color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
11909
12013
  background-color: #fff;
11910
12014
  }
11911
12015
  .gn-bignumber.is-plain {
@@ -11929,8 +12033,8 @@ tag:
11929
12033
  background-color: #ffcecf;
11930
12034
  }
11931
12035
  .gn-bignumber.is-guide {
11932
- border-color: #0487da;
11933
- color: rgb(3.7243243243, 125.6959459459, 202.9756756757);
12036
+ border-color: #3681a5;
12037
+ color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
11934
12038
  background-color: #fff;
11935
12039
  }
11936
12040
 
@@ -13117,7 +13221,7 @@ category:
13117
13221
  color: rgba(0, 0, 0, 0.7);
13118
13222
  }
13119
13223
  .gn-gcolor.is-help {
13120
- background-color: #268ccf;
13224
+ background-color: #3681a5;
13121
13225
  color: #fff;
13122
13226
  }
13123
13227
  .gn-gcolor.is-plain {
@@ -13137,7 +13241,7 @@ category:
13137
13241
  color: #fff;
13138
13242
  }
13139
13243
  .gn-gcolor.is-guide {
13140
- background-color: #0487da;
13244
+ background-color: #3681a5;
13141
13245
  color: #fff;
13142
13246
  }
13143
13247
 
@@ -13159,9 +13263,13 @@ tag:
13159
13263
  ```ejs
13160
13264
  <div class="new-grid"></div>
13161
13265
 
13162
- <div style="width: 100%; height: 350px; overflow-x: auto; margin-top: 20px;">
13266
+ <div style="width: 100%; height: 100px; overflow-x: auto; margin-top: 20px;">
13163
13267
  <div class="new-grid2"></div>
13164
13268
  </div>
13269
+
13270
+ <div style="width: 100%; height: 350px; overflow-x: auto; margin-top: 20px;">
13271
+ <div class="new-grid3"></div>
13272
+ </div>
13165
13273
  ```
13166
13274
  ````
13167
13275
  Gn.create('datagrid', {
@@ -13274,19 +13382,122 @@ Gn.create('datagrid', {
13274
13382
  })
13275
13383
  Gn.create('datagrid', {
13276
13384
  target: '.new-grid2',
13385
+ headers: [
13386
+ {
13387
+ label: 'no',
13388
+ key: 'number',
13389
+ onSelect: function () {
13390
+ // eslint-disable-next-line prefer-rest-params
13391
+ console.log(arguments);
13392
+ },
13393
+ template: function (k, d) {
13394
+ return '<span>' + d[k] + '</span>';
13395
+ },
13396
+ draggable: true,
13397
+ sortable: true,
13398
+ sort: 'asc'
13399
+ },
13400
+ {
13401
+ label: '제목',
13402
+ key: 'title',
13403
+ style: {
13404
+ width: '250px'
13405
+ },
13406
+ className: 'has-text-right',
13407
+ draggable: true,
13408
+ bodyClass: 'has-text-left',
13409
+ sortable: true
13410
+ },
13411
+ {
13412
+ label: '날짜',
13413
+ key: 'date',
13414
+ style: {
13415
+ width: '150px'
13416
+ },
13417
+ className: 'has-text-center',
13418
+ bodyClass: 'has-text-left'
13419
+ }
13420
+ ],
13421
+ data: [
13422
+ {
13423
+ number: '1',
13424
+ title: '하나',
13425
+ date: '2020-09-19',
13426
+ desc: 'hello, world',
13427
+ child: [
13428
+ {
13429
+ number: '1-1',
13430
+ title: '1-하나',
13431
+ date: '2020-09-19'
13432
+ },
13433
+ {
13434
+ number: '1-2',
13435
+ title: '1-둘',
13436
+ date: '2020-09-19',
13437
+ desc: 'hello, world',
13438
+ child: [
13439
+ {
13440
+ number: '1-2-1',
13441
+ title: '1-둘-1',
13442
+ date: '2020-09-19',
13443
+ desc: 'hello, world',
13444
+ child: [
13445
+ {
13446
+ number: '1-2-1-1',
13447
+ title: '1-둘-1-1',
13448
+ desc: 'hello, world',
13449
+ date: '2020-09-19'
13450
+ }
13451
+ ]
13452
+ }
13453
+ ]
13454
+ }
13455
+ ],
13456
+ color: 'is-danger-light'
13457
+ },
13458
+ {
13459
+ number: '2',
13460
+ title: '둘',
13461
+ date: '2020-09-19',
13462
+ desc: 'hello, world'
13463
+ }
13464
+ ],
13465
+ hasHeader: false,
13466
+ hasCheck: true,
13467
+ hasDelete: true,
13468
+ textSets: {
13469
+ deleteConfirmMessage: '파일을 삭제하시겠습니까?'
13470
+ },
13471
+ // onDelete 에서 false 를 반환하면 해당 행 삭제를 취소할 수 있다.
13472
+ onDelete: (data, index) => {
13473
+ console.log(data, index);
13474
+ // 예) 특정 조건에 따라 삭제 취소
13475
+ // if (index === 0) {
13476
+ // return false;
13477
+ // }
13478
+ }
13479
+ })
13480
+ Gn.create('datagrid', {
13481
+ target: '.new-grid3',
13277
13482
  headers: [
13278
13483
  {
13279
13484
  label: 'row data numbers',
13280
13485
  key: 'number',
13281
13486
  style: { width: '50px' },
13282
13487
  sortable: true,
13283
- draggable: true
13488
+ draggable: true,
13489
+ template: function (k, d) {
13490
+ return '<span>' + d[k] + '</span>';
13491
+ }
13284
13492
  },
13285
13493
  {
13286
13494
  label: '제목',
13287
13495
  key: 'title',
13288
13496
  sortable: true,
13289
- draggable: true
13497
+ draggable: true,
13498
+ template: function (k, d) {
13499
+ return '<span>' + d[k] + '</span>';
13500
+ }
13290
13501
  },
13291
13502
  {
13292
13503
  label: '날짜를 표시하는 컬럼입니다',
@@ -13349,8 +13560,6 @@ Gn.create('datagrid', {
13349
13560
  paginator: {
13350
13561
  rows: 30
13351
13562
  },
13352
- hasDelete: true,
13353
- fixHeader: true,
13354
13563
  onChange: updatedData => {
13355
13564
  console.log(updatedData)
13356
13565
  }
@@ -13465,7 +13674,7 @@ Gn.create('datagrid', {
13465
13674
  <b>color:is-warning-light</b> => 행의 색 변경</td>
13466
13675
  </tr>
13467
13676
  <tr>
13468
- <td rowspan="3">textSets</td>
13677
+ <td rowspan="4">textSets</td>
13469
13678
  <td>noData</td>
13470
13679
  <td>string</td>
13471
13680
  <td>No records available.</td>
@@ -13483,6 +13692,12 @@ Gn.create('datagrid', {
13483
13692
  <td></td>
13484
13693
  <td>삭제버튼 헤더표시문구</td>
13485
13694
  </tr>
13695
+ <tr>
13696
+ <td>deleteConfirmMessage</td>
13697
+ <td>string</td>
13698
+ <td></td>
13699
+ <td>삭제 확인 창 표시문구 - 삭제 버튼 클릭시 확인 창 출력</td>
13700
+ </tr>
13486
13701
  <tr>
13487
13702
  <td colspan="2">childField</td>
13488
13703
  <td>string</td>
@@ -13507,6 +13722,12 @@ Gn.create('datagrid', {
13507
13722
  <td>false</td>
13508
13723
  <td>삭제버튼 생성 여부</td>
13509
13724
  </tr>
13725
+ <tr>
13726
+ <td colspan="2">hasHeader</td>
13727
+ <td>boolean</td>
13728
+ <td>true</td>
13729
+ <td>헤더 생성 여부</td>
13730
+ </tr>
13510
13731
  <tr>
13511
13732
  <td colspan="2">readonly</td>
13512
13733
  <td>boolean</td>
@@ -13604,6 +13825,12 @@ Gn.create('datagrid', {
13604
13825
  <td></td>
13605
13826
  <td>이동, 삭제 등의 데이터 변경이 있는 경우, 변경된 데이터를 가져오기 위한 이벤트핸들러</td>
13606
13827
  </tr>
13828
+ <tr>
13829
+ <td colspan="2">onDelete</td>
13830
+ <td>function(deletedData, index)</td>
13831
+ <td>deletedData, index 를 인자로 받으며, false 를 반환하면 해당 행 삭제를 취소한다.</td>
13832
+ <td>삭제 버튼 클릭 시 삭제 대상 데이터와 인덱스를 받을 수 있는 이벤트핸들러<br>onChange 보다 먼저 동작하며, onDelete 에서 false 를 반환하면 실제 삭제 및 onChange 호출이 수행되지 않는다.</td>
13833
+ </tr>
13607
13834
  </tbody>
13608
13835
  </table>
13609
13836
 
@@ -13789,11 +14016,11 @@ Gn.create('datagrid', {
13789
14016
  }
13790
14017
  .gn-datagrid .gn-datagrid-body-row .is-toggler::before {
13791
14018
  content: "\f0d7";
13792
- font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
14019
+ font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
13793
14020
  font-weight: 700;
13794
14021
  }
13795
14022
  .gn-datagrid .gn-datagrid-body-row.has-child[data-depth="0"] .is-toggler {
13796
- margin-left: -3px;
14023
+ margin-left: -6px;
13797
14024
  }
13798
14025
  .gn-datagrid .gn-datagrid-body-row.is-collapsed .is-toggler::before {
13799
14026
  content: "\f0da";
@@ -13943,10 +14170,10 @@ Gn.create('datagrid', {
13943
14170
  background-color: hsl(0, 0%, 97%);
13944
14171
  }
13945
14172
  .gn-datagrid .gn-datagrid-body-row.is-help {
13946
- background-color: #268ccf;
14173
+ background-color: #3681a5;
13947
14174
  }
13948
14175
  .gn-datagrid .gn-datagrid-body-row.is-help.is-hover .gn-datagrid-body-cell, .gn-datagrid .gn-datagrid-body-row.is-help:hover .gn-datagrid-body-cell {
13949
- background-color: rgb(35.6269387755, 131.2571428571, 194.0730612245);
14176
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
13950
14177
  }
13951
14178
  .gn-datagrid .gn-datagrid-body-row.is-help-light {
13952
14179
  background-color: #fff;
@@ -14003,10 +14230,10 @@ Gn.create('datagrid', {
14003
14230
  background-color: rgb(255, 190.7, 192.012244898);
14004
14231
  }
14005
14232
  .gn-datagrid .gn-datagrid-body-row.is-guide {
14006
- background-color: #0487da;
14233
+ background-color: #3681a5;
14007
14234
  }
14008
14235
  .gn-datagrid .gn-datagrid-body-row.is-guide.is-hover .gn-datagrid-body-cell, .gn-datagrid .gn-datagrid-body-row.is-guide:hover .gn-datagrid-body-cell {
14009
- background-color: rgb(3.7243243243, 125.6959459459, 202.9756756757);
14236
+ background-color: rgb(50.2273972603, 119.9876712329, 153.4726027397);
14010
14237
  }
14011
14238
  .gn-datagrid .gn-datagrid-body-row.is-guide-light {
14012
14239
  background-color: #fff;
@@ -14017,6 +14244,9 @@ Gn.create('datagrid', {
14017
14244
  .gn-datagrid.has-left-padding .gn-datagrid-body-row:not(.has-child)[data-depth="0"] .gn-datagrid-body-cell:first-child {
14018
14245
  padding-left: 15px;
14019
14246
  }
14247
+ .gn-datagrid.is-headless .gn-datagrid-body-row:first-child {
14248
+ border-top: 1px solid hsl(0, 0%, 86%);
14249
+ }
14020
14250
  .gn-datagrid .gn-datagrid-header-cell {
14021
14251
  border-right: 1px solid hsl(0, 0%, 86%);
14022
14252
  padding: 0.55rem;
@@ -14259,9 +14489,9 @@ Gn.create('datagrid', {
14259
14489
  border-color: hsl(0, 0%, 100%);
14260
14490
  }
14261
14491
  .gn-datagrid.is-help {
14262
- color: #268ccf;
14492
+ color: #3681a5;
14263
14493
  background-color: #fff;
14264
- border-color: #268ccf;
14494
+ border-color: #3681a5;
14265
14495
  }
14266
14496
  .gn-datagrid.is-plain {
14267
14497
  color: #fff;
@@ -14284,9 +14514,9 @@ Gn.create('datagrid', {
14284
14514
  border-color: #e51317;
14285
14515
  }
14286
14516
  .gn-datagrid.is-guide {
14287
- color: #0487da;
14517
+ color: #3681a5;
14288
14518
  background-color: #fff;
14289
- border-color: #0487da;
14519
+ border-color: #3681a5;
14290
14520
  }
14291
14521
 
14292
14522
  .btn-container {
@@ -16026,15 +16256,15 @@ tag:
16026
16256
  color: rgba(0, 0, 0, 0.7);
16027
16257
  }
16028
16258
  .gn-dropdown.is-help .dropdown-label {
16029
- color: #268ccf;
16030
- border-color: #268ccf;
16259
+ color: #3681a5;
16260
+ border-color: #3681a5;
16031
16261
  }
16032
16262
  .gn-dropdown.is-help .dropdown-icon {
16033
- color: rgb(30.0897959184, 110.8571428571, 163.9102040816);
16263
+ color: rgb(41.4246575342, 98.9589041096, 126.5753424658);
16034
16264
  }
16035
16265
  .gn-dropdown.is-help .dropdown-item.is-active {
16036
16266
  color: #fff;
16037
- background-color: #268ccf;
16267
+ background-color: #3681a5;
16038
16268
  }
16039
16269
  .gn-dropdown.is-help .dropdown-item.is-unselectable {
16040
16270
  cursor: default;
@@ -16044,23 +16274,23 @@ tag:
16044
16274
  background-color: inherit;
16045
16275
  }
16046
16276
  .gn-dropdown.is-help .dropdown-item .gn-checks input[type=checkbox]:checked + label:before {
16047
- color: #268ccf;
16048
- border-color: #268ccf;
16277
+ color: #3681a5;
16278
+ border-color: #3681a5;
16049
16279
  }
16050
16280
  .gn-dropdown.is-help .dropdown-item.is-hover,
16051
16281
  .gn-dropdown.is-help .dropdown-item:hover {
16052
- color: #268ccf;
16282
+ color: #3681a5;
16053
16283
  background-color: #fff;
16054
16284
  }
16055
16285
  .gn-dropdown.is-help.is-disabled .dropdown-label {
16056
16286
  cursor: not-allowed;
16057
16287
  }
16058
16288
  .gn-dropdown.is-help.is-disabled .dropdown-item:hover label {
16059
- color: #268ccf;
16289
+ color: #3681a5;
16060
16290
  }
16061
16291
  .gn-dropdown.is-help.is-disabled .dropdown-item.is-active:hover {
16062
16292
  color: #fff;
16063
- background-color: #268ccf;
16293
+ background-color: #3681a5;
16064
16294
  }
16065
16295
  .gn-dropdown.is-help.is-disabled .dropdown-item.is-active:hover label {
16066
16296
  color: #fff;
@@ -16226,15 +16456,15 @@ tag:
16226
16456
  color: #fff;
16227
16457
  }
16228
16458
  .gn-dropdown.is-guide .dropdown-label {
16229
- color: #0487da;
16230
- border-color: #0487da;
16459
+ color: #3681a5;
16460
+ border-color: #3681a5;
16231
16461
  }
16232
16462
  .gn-dropdown.is-guide .dropdown-icon {
16233
- color: rgb(3.0810810811, 103.9864864865, 167.9189189189);
16463
+ color: rgb(41.4246575342, 98.9589041096, 126.5753424658);
16234
16464
  }
16235
16465
  .gn-dropdown.is-guide .dropdown-item.is-active {
16236
16466
  color: #fff;
16237
- background-color: #0487da;
16467
+ background-color: #3681a5;
16238
16468
  }
16239
16469
  .gn-dropdown.is-guide .dropdown-item.is-unselectable {
16240
16470
  cursor: default;
@@ -16244,23 +16474,23 @@ tag:
16244
16474
  background-color: inherit;
16245
16475
  }
16246
16476
  .gn-dropdown.is-guide .dropdown-item .gn-checks input[type=checkbox]:checked + label:before {
16247
- color: #0487da;
16248
- border-color: #0487da;
16477
+ color: #3681a5;
16478
+ border-color: #3681a5;
16249
16479
  }
16250
16480
  .gn-dropdown.is-guide .dropdown-item.is-hover,
16251
16481
  .gn-dropdown.is-guide .dropdown-item:hover {
16252
- color: #0487da;
16482
+ color: #3681a5;
16253
16483
  background-color: #fff;
16254
16484
  }
16255
16485
  .gn-dropdown.is-guide.is-disabled .dropdown-label {
16256
16486
  cursor: not-allowed;
16257
16487
  }
16258
16488
  .gn-dropdown.is-guide.is-disabled .dropdown-item:hover label {
16259
- color: #0487da;
16489
+ color: #3681a5;
16260
16490
  }
16261
16491
  .gn-dropdown.is-guide.is-disabled .dropdown-item.is-active:hover {
16262
16492
  color: #fff;
16263
- background-color: #0487da;
16493
+ background-color: #3681a5;
16264
16494
  }
16265
16495
  .gn-dropdown.is-guide.is-disabled .dropdown-item.is-active:hover label {
16266
16496
  color: #fff;
@@ -16709,10 +16939,10 @@ tag:
16709
16939
  border-color: hsl(0, 0%, 100%);
16710
16940
  }
16711
16941
  .gn-growl.is-help {
16712
- color: #268ccf;
16942
+ color: #3681a5;
16713
16943
  background-color: #fff;
16714
16944
  background-color: #fff;
16715
- border-color: #268ccf;
16945
+ border-color: #3681a5;
16716
16946
  }
16717
16947
  .gn-growl.is-plain {
16718
16948
  color: #fff;
@@ -16739,10 +16969,10 @@ tag:
16739
16969
  border-color: #e51317;
16740
16970
  }
16741
16971
  .gn-growl.is-guide {
16742
- color: #0487da;
16972
+ color: #3681a5;
16743
16973
  background-color: #fff;
16744
16974
  background-color: #fff;
16745
- border-color: #0487da;
16975
+ border-color: #3681a5;
16746
16976
  }
16747
16977
 
16748
16978
  /*
@@ -17833,11 +18063,21 @@ tag:
17833
18063
  <div class="gn-loader is-info"></div>
17834
18064
  ```
17835
18065
 
18066
+ ```html
18067
+ <div class="gn-loader is-inline"></div>
18068
+ <div class="gn-loader is-inline is-success"></div>
18069
+ <div class="gn-loader is-inline is-warning"></div>
18070
+ <div class="gn-loader is-inline is-danger"></div>
18071
+ <div class="gn-loader is-inline is-info"></div>
18072
+ <div class="gn-loader is-inline is-primary"></div>
18073
+ ```
18074
+
17836
18075
  ### 타입
17837
18076
 
17838
18077
  ```html
17839
18078
  <div class="gn-loader is-bounce"></div><br>
17840
18079
  <div class="gn-loader is-move"></div>
18080
+ <div class="gn-loader is-inline"></div><br>
17841
18081
  ```
17842
18082
 
17843
18083
  ### 생성 옵션
@@ -17897,7 +18137,7 @@ Gn.create('button', {
17897
18137
  <td colspan="2">type</td>
17898
18138
  <td>string</td>
17899
18139
  <td></td>
17900
- <td>'bounce','move','circle'</td>
18140
+ <td>'inline','bounce','move','</td>
17901
18141
  </tr>
17902
18142
  <tr>
17903
18143
  <td colspan="2">positionX</td>
@@ -18006,6 +18246,7 @@ Gn.create('button', {
18006
18246
  .gn-loader.is-small {
18007
18247
  width: 15px;
18008
18248
  height: 15px;
18249
+ border-width: 5px;
18009
18250
  }
18010
18251
  .gn-loader.is-normal {
18011
18252
  width: 25px;
@@ -18068,7 +18309,7 @@ Gn.create('button', {
18068
18309
  border-top: 9px solid #f3f3f3;
18069
18310
  }
18070
18311
  .gn-loader.is-help {
18071
- border: 9px solid #268ccf;
18312
+ border: 9px solid #3681a5;
18072
18313
  border-top: 9px solid #f3f3f3;
18073
18314
  }
18074
18315
  .gn-loader.is-plain {
@@ -18088,7 +18329,7 @@ Gn.create('button', {
18088
18329
  border-top: 9px solid #f3f3f3;
18089
18330
  }
18090
18331
  .gn-loader.is-guide {
18091
- border: 9px solid #0487da;
18332
+ border: 9px solid #3681a5;
18092
18333
  border-top: 9px solid #f3f3f3;
18093
18334
  }
18094
18335
  .gn-loader.is-bounce {
@@ -18099,6 +18340,88 @@ Gn.create('button', {
18099
18340
  border: 13px solid #88b50f;
18100
18341
  animation: move 1.5s ease-in-out infinite alternate;
18101
18342
  }
18343
+ .gn-loader.is-inline {
18344
+ border: 0;
18345
+ position: relative;
18346
+ margin-left: 10px;
18347
+ margin-right: 10px;
18348
+ animation-delay: -0.12s;
18349
+ background: hsl(0, 0%, 96%);
18350
+ }
18351
+ .gn-loader.is-inline, .gn-loader.is-inline::before, .gn-loader.is-inline::after {
18352
+ display: inline-block !important;
18353
+ width: 3px;
18354
+ height: 3px;
18355
+ animation: colorPulse 1.4s ease-in-out infinite;
18356
+ border-radius: 50%;
18357
+ }
18358
+ .gn-loader.is-inline::before, .gn-loader.is-inline::after {
18359
+ content: "";
18360
+ position: absolute;
18361
+ top: 0;
18362
+ }
18363
+ .gn-loader.is-inline::before {
18364
+ animation-delay: -0.24s;
18365
+ margin-left: -8px;
18366
+ }
18367
+ .gn-loader.is-inline::after {
18368
+ animation-delay: 0s;
18369
+ margin-left: 8px;
18370
+ }
18371
+ .gn-loader.is-inline.is-white, .gn-loader.is-inline.is-white::before, .gn-loader.is-inline.is-white::after {
18372
+ animation-name: colorPulse-white;
18373
+ }
18374
+ .gn-loader.is-inline.is-black, .gn-loader.is-inline.is-black::before, .gn-loader.is-inline.is-black::after {
18375
+ animation-name: colorPulse-black;
18376
+ }
18377
+ .gn-loader.is-inline.is-light, .gn-loader.is-inline.is-light::before, .gn-loader.is-inline.is-light::after {
18378
+ animation-name: colorPulse-light;
18379
+ }
18380
+ .gn-loader.is-inline.is-dark, .gn-loader.is-inline.is-dark::before, .gn-loader.is-inline.is-dark::after {
18381
+ animation-name: colorPulse-dark;
18382
+ }
18383
+ .gn-loader.is-inline.is-primary, .gn-loader.is-inline.is-primary::before, .gn-loader.is-inline.is-primary::after {
18384
+ animation-name: colorPulse-primary;
18385
+ }
18386
+ .gn-loader.is-inline.is-link, .gn-loader.is-inline.is-link::before, .gn-loader.is-inline.is-link::after {
18387
+ animation-name: colorPulse-link;
18388
+ }
18389
+ .gn-loader.is-inline.is-info, .gn-loader.is-inline.is-info::before, .gn-loader.is-inline.is-info::after {
18390
+ animation-name: colorPulse-info;
18391
+ }
18392
+ .gn-loader.is-inline.is-cancel, .gn-loader.is-inline.is-cancel::before, .gn-loader.is-inline.is-cancel::after {
18393
+ animation-name: colorPulse-cancel;
18394
+ }
18395
+ .gn-loader.is-inline.is-success, .gn-loader.is-inline.is-success::before, .gn-loader.is-inline.is-success::after {
18396
+ animation-name: colorPulse-success;
18397
+ }
18398
+ .gn-loader.is-inline.is-warning, .gn-loader.is-inline.is-warning::before, .gn-loader.is-inline.is-warning::after {
18399
+ animation-name: colorPulse-warning;
18400
+ }
18401
+ .gn-loader.is-inline.is-danger, .gn-loader.is-inline.is-danger::before, .gn-loader.is-inline.is-danger::after {
18402
+ animation-name: colorPulse-danger;
18403
+ }
18404
+ .gn-loader.is-inline.is-trans, .gn-loader.is-inline.is-trans::before, .gn-loader.is-inline.is-trans::after {
18405
+ animation-name: colorPulse-trans;
18406
+ }
18407
+ .gn-loader.is-inline.is-help, .gn-loader.is-inline.is-help::before, .gn-loader.is-inline.is-help::after {
18408
+ animation-name: colorPulse-help;
18409
+ }
18410
+ .gn-loader.is-inline.is-plain, .gn-loader.is-inline.is-plain::before, .gn-loader.is-inline.is-plain::after {
18411
+ animation-name: colorPulse-plain;
18412
+ }
18413
+ .gn-loader.is-inline.is-secondary, .gn-loader.is-inline.is-secondary::before, .gn-loader.is-inline.is-secondary::after {
18414
+ animation-name: colorPulse-secondary;
18415
+ }
18416
+ .gn-loader.is-inline.is-mono, .gn-loader.is-inline.is-mono::before, .gn-loader.is-inline.is-mono::after {
18417
+ animation-name: colorPulse-mono;
18418
+ }
18419
+ .gn-loader.is-inline.is-error, .gn-loader.is-inline.is-error::before, .gn-loader.is-inline.is-error::after {
18420
+ animation-name: colorPulse-error;
18421
+ }
18422
+ .gn-loader.is-inline.is-guide, .gn-loader.is-inline.is-guide::before, .gn-loader.is-inline.is-guide::after {
18423
+ animation-name: colorPulse-guide;
18424
+ }
18102
18425
 
18103
18426
  @keyframes load-spin {
18104
18427
  0% {
@@ -18127,54 +18450,282 @@ Gn.create('button', {
18127
18450
  transform: translateX(15px);
18128
18451
  }
18129
18452
  }
18130
- /*
18131
- ---
18132
- name: Message
18133
- category:
18134
- - COMPONENT/Message(js)
18135
- tag:
18136
- - v.0.1.0
18137
- - javascript
18138
- ---
18139
-
18140
-
18141
- ### 기본 메세지 알림
18142
- -Text with icon / Text only 선택 사용 할 수 있다.
18143
-
18144
- ```html
18145
- <div class="gn-message is-success has-arrange">
18146
- <span class="gn-icon is-normal">
18147
- <i class="fas fa-check"></i>
18148
- </span>
18149
- <p>Success! Your message has been sent successfully. <br/> Success! Your message has been sent successfully. </p>
18150
- </div>
18151
- <div class="gn-message is-warning has-arrange">
18152
- <span class="gn-icon is-normal">
18153
- <i class="fas fa-exclamation-circle"></i>
18154
- </span>
18155
- <p>Warning! There was a problem with your network connection.</p>
18156
- <span class="gn-icon is-close is-dark">
18157
- <i class="fas fa-times"></i>
18158
- </span>
18159
- </div>
18160
- <div class="gn-message is-danger has-arrange">
18161
- <span class="gn-icon is-normal">
18162
- <i class="fas fa-exclamation-triangle"></i>
18163
- </span>
18164
- <p>Error! A problem has been occurred while submitting your data.</p>
18165
- </div>
18166
- <div class="gn-message is-info has-arrange">
18167
- <span class="gn-icon is-normal">
18168
- <i class="fas fa-info-circle"></i>
18169
- </span>
18170
- <p>Info! Please read the comments carefully.</p>
18171
- <span class="gn-icon is-close is-dark">
18172
- <i class="fas fa-times"></i>
18173
- </span>
18174
- </div>
18175
- <div class="gn-message is-guide has-arrange">
18176
- <span class="gn-icon is-normal">
18177
- <i class="fas fa-info-circle"></i>
18453
+ @keyframes colorPulse {
18454
+ 0%, 70%, 100% {
18455
+ background: hsl(0, 0%, 96%);
18456
+ /* 비활성 색상 */
18457
+ transform: scale(1);
18458
+ }
18459
+ 35% {
18460
+ background: #88b50f;
18461
+ /* 활성 색상 */
18462
+ transform: scale(1.1);
18463
+ }
18464
+ }
18465
+ @keyframes colorPulse-white {
18466
+ 0%, 70%, 100% {
18467
+ background: hsl(0, 0%, 71%);
18468
+ /* 비활성 색상 */
18469
+ transform: scale(1);
18470
+ }
18471
+ 35% {
18472
+ background: hsl(0, 0%, 100%);
18473
+ /* 활성 색상 */
18474
+ transform: scale(1.1);
18475
+ }
18476
+ }
18477
+ @keyframes colorPulse-black {
18478
+ 0%, 70%, 100% {
18479
+ background: hsl(0, 0%, 86%);
18480
+ /* 비활성 색상 */
18481
+ transform: scale(1);
18482
+ }
18483
+ 35% {
18484
+ background: hsl(0, 0%, 4%);
18485
+ /* 활성 색상 */
18486
+ transform: scale(1.1);
18487
+ }
18488
+ }
18489
+ @keyframes colorPulse-light {
18490
+ 0%, 70%, 100% {
18491
+ background: hsl(0, 0%, 93%);
18492
+ /* 비활성 색상 */
18493
+ transform: scale(1);
18494
+ }
18495
+ 35% {
18496
+ background: hsl(0, 0%, 96%);
18497
+ /* 활성 색상 */
18498
+ transform: scale(1.1);
18499
+ }
18500
+ }
18501
+ @keyframes colorPulse-dark {
18502
+ 0%, 70%, 100% {
18503
+ background: hsl(0, 0%, 86%);
18504
+ /* 비활성 색상 */
18505
+ transform: scale(1);
18506
+ }
18507
+ 35% {
18508
+ background: hsl(0, 0%, 20%);
18509
+ /* 활성 색상 */
18510
+ transform: scale(1.1);
18511
+ }
18512
+ }
18513
+ @keyframes colorPulse-primary {
18514
+ 0%, 70%, 100% {
18515
+ background: rgb(248.7551020408, 253.4387755102, 236.1612244898);
18516
+ /* 비활성 색상 */
18517
+ transform: scale(1);
18518
+ }
18519
+ 35% {
18520
+ background: #88b50f;
18521
+ /* 활성 색상 */
18522
+ transform: scale(1.1);
18523
+ }
18524
+ }
18525
+ @keyframes colorPulse-link {
18526
+ 0%, 70%, 100% {
18527
+ background: hsl(217, 71%, 96%);
18528
+ /* 비활성 색상 */
18529
+ transform: scale(1);
18530
+ }
18531
+ 35% {
18532
+ background: hsl(217, 71%, 53%);
18533
+ /* 활성 색상 */
18534
+ transform: scale(1.1);
18535
+ }
18536
+ }
18537
+ @keyframes colorPulse-info {
18538
+ 0%, 70%, 100% {
18539
+ background: #dae9ff;
18540
+ /* 비활성 색상 */
18541
+ transform: scale(1);
18542
+ }
18543
+ 35% {
18544
+ background: #0087ff;
18545
+ /* 활성 색상 */
18546
+ transform: scale(1.1);
18547
+ }
18548
+ }
18549
+ @keyframes colorPulse-cancel {
18550
+ 0%, 70%, 100% {
18551
+ background: rgb(244.8, 244.8, 244.8);
18552
+ /* 비활성 색상 */
18553
+ transform: scale(1);
18554
+ }
18555
+ 35% {
18556
+ background: #b5b5b5;
18557
+ /* 활성 색상 */
18558
+ transform: scale(1.1);
18559
+ }
18560
+ }
18561
+ @keyframes colorPulse-success {
18562
+ 0%, 70%, 100% {
18563
+ background: #c7f1c8;
18564
+ /* 비활성 색상 */
18565
+ transform: scale(1);
18566
+ }
18567
+ 35% {
18568
+ background: #218801;
18569
+ /* 활성 색상 */
18570
+ transform: scale(1.1);
18571
+ }
18572
+ }
18573
+ @keyframes colorPulse-warning {
18574
+ 0%, 70%, 100% {
18575
+ background: #fce4c7;
18576
+ /* 비활성 색상 */
18577
+ transform: scale(1);
18578
+ }
18579
+ 35% {
18580
+ background: #d67400;
18581
+ /* 활성 색상 */
18582
+ transform: scale(1.1);
18583
+ }
18584
+ }
18585
+ @keyframes colorPulse-danger {
18586
+ 0%, 70%, 100% {
18587
+ background: #ffcecf;
18588
+ /* 비활성 색상 */
18589
+ transform: scale(1);
18590
+ }
18591
+ 35% {
18592
+ background: #e51317;
18593
+ /* 활성 색상 */
18594
+ transform: scale(1.1);
18595
+ }
18596
+ }
18597
+ @keyframes colorPulse-trans {
18598
+ 0%, 70%, 100% {
18599
+ background: hsl(0, 0%, 100%);
18600
+ /* 비활성 색상 */
18601
+ transform: scale(1);
18602
+ }
18603
+ 35% {
18604
+ background: hsl(0, 0%, 100%);
18605
+ /* 활성 색상 */
18606
+ transform: scale(1.1);
18607
+ }
18608
+ }
18609
+ @keyframes colorPulse-help {
18610
+ 0%, 70%, 100% {
18611
+ background: #fff;
18612
+ /* 비활성 색상 */
18613
+ transform: scale(1);
18614
+ }
18615
+ 35% {
18616
+ background: #3681a5;
18617
+ /* 활성 색상 */
18618
+ transform: scale(1.1);
18619
+ }
18620
+ }
18621
+ @keyframes colorPulse-plain {
18622
+ 0%, 70%, 100% {
18623
+ background: rgb(120.3183673469, 160.1295918367, 13.2704081633);
18624
+ /* 비활성 색상 */
18625
+ transform: scale(1);
18626
+ }
18627
+ 35% {
18628
+ background: #fff;
18629
+ /* 활성 색상 */
18630
+ transform: scale(1.1);
18631
+ }
18632
+ }
18633
+ @keyframes colorPulse-secondary {
18634
+ 0%, 70%, 100% {
18635
+ background: rgb(234.6, 246.9169811321, 255);
18636
+ /* 비활성 색상 */
18637
+ transform: scale(1);
18638
+ }
18639
+ 35% {
18640
+ background: #0080d4;
18641
+ /* 활성 색상 */
18642
+ transform: scale(1.1);
18643
+ }
18644
+ }
18645
+ @keyframes colorPulse-mono {
18646
+ 0%, 70%, 100% {
18647
+ background: rgb(244.8, 244.8, 244.8);
18648
+ /* 비활성 색상 */
18649
+ transform: scale(1);
18650
+ }
18651
+ 35% {
18652
+ background: #656565;
18653
+ /* 활성 색상 */
18654
+ transform: scale(1.1);
18655
+ }
18656
+ }
18657
+ @keyframes colorPulse-error {
18658
+ 0%, 70%, 100% {
18659
+ background: #ffcecf;
18660
+ /* 비활성 색상 */
18661
+ transform: scale(1);
18662
+ }
18663
+ 35% {
18664
+ background: #e51317;
18665
+ /* 활성 색상 */
18666
+ transform: scale(1.1);
18667
+ }
18668
+ }
18669
+ @keyframes colorPulse-guide {
18670
+ 0%, 70%, 100% {
18671
+ background: #fff;
18672
+ /* 비활성 색상 */
18673
+ transform: scale(1);
18674
+ }
18675
+ 35% {
18676
+ background: #3681a5;
18677
+ /* 활성 색상 */
18678
+ transform: scale(1.1);
18679
+ }
18680
+ }
18681
+ /*
18682
+ ---
18683
+ name: Message
18684
+ category:
18685
+ - COMPONENT/Message(js)
18686
+ tag:
18687
+ - v.0.1.0
18688
+ - javascript
18689
+ ---
18690
+
18691
+
18692
+ ### 기본 메세지 알림
18693
+ -Text with icon / Text only 선택 사용 할 수 있다.
18694
+
18695
+ ```html
18696
+ <div class="gn-message is-success has-arrange">
18697
+ <span class="gn-icon is-normal">
18698
+ <i class="fas fa-check"></i>
18699
+ </span>
18700
+ <p>Success! Your message has been sent successfully. <br/> Success! Your message has been sent successfully. </p>
18701
+ </div>
18702
+ <div class="gn-message is-warning has-arrange">
18703
+ <span class="gn-icon is-normal">
18704
+ <i class="fas fa-exclamation-circle"></i>
18705
+ </span>
18706
+ <p>Warning! There was a problem with your network connection.</p>
18707
+ <span class="gn-icon is-close is-dark">
18708
+ <i class="fas fa-times"></i>
18709
+ </span>
18710
+ </div>
18711
+ <div class="gn-message is-danger has-arrange">
18712
+ <span class="gn-icon is-normal">
18713
+ <i class="fas fa-exclamation-triangle"></i>
18714
+ </span>
18715
+ <p>Error! A problem has been occurred while submitting your data.</p>
18716
+ </div>
18717
+ <div class="gn-message is-info has-arrange">
18718
+ <span class="gn-icon is-normal">
18719
+ <i class="fas fa-info-circle"></i>
18720
+ </span>
18721
+ <p>Info! Please read the comments carefully.</p>
18722
+ <span class="gn-icon is-close is-dark">
18723
+ <i class="fas fa-times"></i>
18724
+ </span>
18725
+ </div>
18726
+ <div class="gn-message is-guide has-arrange">
18727
+ <span class="gn-icon is-normal">
18728
+ <i class="fas fa-info-circle"></i>
18178
18729
  </span>
18179
18730
  <p> 가이드 메시지 한글 폰드 테스트 Guide!</p>
18180
18731
  </div>
@@ -18510,9 +19061,9 @@ Eu velit aliqua eiusmod eiusmod occaecat ullamco fugiat sunt occaecat excepteur.
18510
19061
  border-color: hsl(0, 0%, 100%);
18511
19062
  }
18512
19063
  .gn-message.is-help {
18513
- color: #268ccf;
19064
+ color: #3681a5;
18514
19065
  background-color: #fff;
18515
- border-color: #268ccf;
19066
+ border-color: #3681a5;
18516
19067
  }
18517
19068
  .gn-message.is-plain {
18518
19069
  color: #fff;
@@ -18535,9 +19086,9 @@ Eu velit aliqua eiusmod eiusmod occaecat ullamco fugiat sunt occaecat excepteur.
18535
19086
  border-color: #e51317;
18536
19087
  }
18537
19088
  .gn-message.is-guide {
18538
- color: #0487da;
19089
+ color: #3681a5;
18539
19090
  background-color: #fff;
18540
- border-color: #0487da;
19091
+ border-color: #3681a5;
18541
19092
  }
18542
19093
 
18543
19094
  /*
@@ -18922,7 +19473,7 @@ tag:
18922
19473
  color: rgba(0, 0, 0, 0.7);
18923
19474
  }
18924
19475
  .gn-modal .modal-header.is-help {
18925
- background-color: #268ccf;
19476
+ background-color: #3681a5;
18926
19477
  color: #fff;
18927
19478
  }
18928
19479
  .gn-modal .modal-header.is-plain {
@@ -18942,7 +19493,7 @@ tag:
18942
19493
  color: #fff;
18943
19494
  }
18944
19495
  .gn-modal .modal-header.is-guide {
18945
- background-color: #0487da;
19496
+ background-color: #3681a5;
18946
19497
  color: #fff;
18947
19498
  }
18948
19499
  .gn-modal .modal-header .modal-control {
@@ -19713,22 +20264,26 @@ tag:
19713
20264
  ```
19714
20265
  ````
19715
20266
  Gn.create('picklist', {
19716
- target: '.new-picklist',
19717
- data : {
20267
+ target: '.new-picklist',
20268
+ data: {
19718
20269
  source: [
19719
- { value: 'item1', text: '항목1' },
19720
- { value: 'item2', text: '항목2' },
19721
- { value: 'item5', text: '항목3' },
19722
- { value: 'item4', text: '항목4' },
19723
- { value: 'item5', text: '항목5' },
19724
- { value: 'item6', text: '항목6' },
19725
- { value: 'item7', text: '항목7' },
19726
- { value: 'item8', text: '항목8' }
20270
+ { value: '항목1', text: 'item1', html: '<span class="gn-tag is-primary">항목1</span> item1' },
20271
+ { value: '항목2', text: 'item2', html: '<span class="gn-tag is-danger">항목2</span> item2' },
20272
+ { value: '항목3', text: 'item3', html: '<span class="gn-tag is-warning">항목3</span> item3' }
19727
20273
  ],
19728
- target: [],
20274
+ target: [
20275
+ { value: '항목4', text: 'item4', html: '<span class="gn-tag is-help">항목4</span> item4' },
20276
+ { value: '항목5', text: 'item5', html: '<span class="gn-tag is-success">항목5</span> item5' }
20277
+ ]
19729
20278
  },
20279
+ hasSourceSearch: true,
20280
+ hasTargetSearch: true,
19730
20281
  width: '80%',
19731
- height: 180
20282
+ height: 180,
20283
+ onChange: function (s, t) {
20284
+ console.log(s, t);
20285
+ },
20286
+ orderable: 'target'
19732
20287
  });
19733
20288
  Gn.create('picklist', {
19734
20289
  target: '.new-picklist-v',
@@ -19765,15 +20320,21 @@ tag:
19765
20320
  <tr>
19766
20321
  <td rowspan="2">data</td>
19767
20322
  <td>source</td>
19768
- <td>array[{value: string|array, text: string}]</td>
20323
+ <td>array[{value: string|array, text: string, html?: string, icon?:string}]</td>
19769
20324
  <td></td>
19770
- <td>source 항목 배열</td>
20325
+ <td>source 항목 배열<br>
20326
+ html: 옵션 html(html이 있는 경우 text가 있는 항목만 선택 가능하다.)<br>
20327
+ icon : <a href="https://fontawesome.com/cheatsheet?from=io" target="_blank">font awesome <span class="gn-icon is-small"><i class="fas fa-external-link-alt"></i></span></a> solid icon name
20328
+ </td>
19771
20329
  </tr>
19772
20330
  <tr>
19773
20331
  <td>target</td>
19774
- <td>array[{value: string|array, text: string}]</td>
20332
+ <td>array[{value: string|array, text: string, html?: string, icon?:string}]</td>
19775
20333
  <td></td>
19776
- <td>target 항목 배열</td>
20334
+ <td>target 항목 배열<br>
20335
+ html: 옵션 html(html이 있는 경우 text가 있는 항목만 선택 가능하다.)<br>
20336
+ icon : <a href="https://fontawesome.com/cheatsheet?from=io" target="_blank">font awesome <span class="gn-icon is-small"><i class="fas fa-external-link-alt"></i></span></a> solid icon name
20337
+ </td>
19777
20338
  </tr>
19778
20339
  <tr>
19779
20340
  <td rowspan="3">textSets</td>
@@ -19927,23 +20488,17 @@ tag:
19927
20488
  .gn-picklist .picklist-caption + .dropdown-items {
19928
20489
  border-radius: 0 0 2px 2px;
19929
20490
  }
19930
- .gn-picklist .picklist-source {
20491
+ .gn-picklist .gn-dropdown {
20492
+ display: block;
20493
+ }
20494
+ .gn-picklist .picklist-source,
20495
+ .gn-picklist .picklist-target {
19931
20496
  display: flex;
19932
20497
  flex-basis: calc(50% - 16px);
19933
20498
  width: calc(50% - 16px);
19934
20499
  flex-grow: 0;
19935
20500
  flex-shrink: 0;
19936
20501
  }
19937
- .gn-picklist .picklist-source > .gn-dropdown {
19938
- order: 2;
19939
- width: 100%;
19940
- }
19941
- .gn-picklist .picklist-source .picklist-controls {
19942
- order: 1;
19943
- }
19944
- .gn-picklist .gn-dropdown {
19945
- display: block;
19946
- }
19947
20502
  .gn-picklist .picklist-source.no-controls,
19948
20503
  .gn-picklist .picklist-target.no-controls {
19949
20504
  flex-basis: calc(50% - 45px);
@@ -19954,23 +20509,22 @@ tag:
19954
20509
  width: 100%;
19955
20510
  height: 100%;
19956
20511
  }
19957
- .gn-picklist.is-vertical .picklist-source,
19958
- .gn-picklist .picklist-target {
19959
- display: flex;
19960
- flex-basis: calc(50% - 16px);
19961
- width: calc(50% - 16px);
19962
- flex-grow: 0;
19963
- flex-shrink: 0;
19964
- }
19965
- .gn-picklist.is-vertical .picklist-source > .gn-dropdown,
20512
+ .gn-picklist .picklist-source > .gn-dropdown,
19966
20513
  .gn-picklist .picklist-target > .gn-dropdown {
19967
20514
  order: 1;
19968
20515
  width: 100%;
19969
20516
  }
19970
- .gn-picklist.is-vertical .picklist-source .picklist-controls,
20517
+ .gn-picklist .picklist-source .picklist-controls,
19971
20518
  .gn-picklist .picklist-target .picklist-controls {
19972
20519
  order: 2;
19973
20520
  }
20521
+ .gn-picklist .picklist-source > .gn-dropdown {
20522
+ order: 2;
20523
+ width: 100%;
20524
+ }
20525
+ .gn-picklist .picklist-source .picklist-controls {
20526
+ order: 1;
20527
+ }
19974
20528
  .gn-picklist .picklist-controls {
19975
20529
  margin: 0.5rem;
19976
20530
  }
@@ -19980,6 +20534,16 @@ tag:
19980
20534
  .gn-picklist.is-vertical {
19981
20535
  flex-direction: column;
19982
20536
  }
20537
+ .gn-picklist.is-vertical .picklist-source,
20538
+ .gn-picklist.is-vertical .picklist-target {
20539
+ width: calc(100% - 32px);
20540
+ }
20541
+ .gn-picklist.is-vertical .picklist-source > .gn-dropdown {
20542
+ order: 1;
20543
+ }
20544
+ .gn-picklist.is-vertical .picklist-source .picklist-controls {
20545
+ order: 2;
20546
+ }
19983
20547
  .gn-picklist.is-vertical > .picklist-controls {
19984
20548
  width: 90%;
19985
20549
  width: calc(100% - 50px);
@@ -19990,6 +20554,382 @@ tag:
19990
20554
  box-shadow: 0 0 0 0.1em rgba(241.077, 70.023, 104.2338, 0.7);
19991
20555
  }
19992
20556
 
20557
+ /*
20558
+ ---
20559
+ name: SortableList
20560
+ category:
20561
+ - CONTROLS/SortableList(js)
20562
+ tag:
20563
+ - v.0.1.0
20564
+ - javascript
20565
+ ---
20566
+ ### 기본 사용
20567
+
20568
+ ```html
20569
+ <div class="gn-sortablelist">
20570
+ <div class="sortablelist-controls gn-control is-small has-arrange is-vertical is-center">
20571
+ <button type="button" class="gn-button is-outline">
20572
+ <span class="gn-icon">
20573
+ <i class="fas fa-angle-double-up"></i>
20574
+ </span>
20575
+ </button>
20576
+ <button type="button" class="gn-button is-outline">
20577
+ <span class="gn-icon">
20578
+ <i class="fas fa-angle-up"></i>
20579
+ </span>
20580
+ </button>
20581
+ <button type="button" class="gn-button is-outline">
20582
+ <span class="gn-icon">
20583
+ <i class="fas fa-angle-down"></i>
20584
+ </span>
20585
+ </button>
20586
+ <button type="button" class="gn-button is-outline">
20587
+ <span class="gn-icon">
20588
+ <i class="fas fa-angle-double-down"></i>
20589
+ </span>
20590
+ </button>
20591
+ </div>
20592
+ <div class="gn-dropdown is-opened sortablelist-items">
20593
+ <div class="dropdown-items">
20594
+ <ul class="sortablelist-rows">
20595
+ <li class="dropdown-item">항목 1</li>
20596
+ <li class="dropdown-item">항목 2</li>
20597
+ <li class="dropdown-item">항목 3</li>
20598
+ <li class="dropdown-item">항목 4</li>
20599
+ </ul>
20600
+ </div>
20601
+ </div>
20602
+ </div>
20603
+ ```
20604
+
20605
+ ### 버튼 우측 배치
20606
+
20607
+ ```html
20608
+ <div class="gn-sortablelist">
20609
+ <div class="gn-dropdown is-opened sortablelist-items">
20610
+ <div class="dropdown-items">
20611
+ <ul class="sortablelist-rows">
20612
+ <li class="dropdown-item">항목 1</li>
20613
+ <li class="dropdown-item">항목 2</li>
20614
+ <li class="dropdown-item">항목 3</li>
20615
+ </ul>
20616
+ </div>
20617
+ </div>
20618
+ <div class="sortablelist-controls gn-control is-small has-arrange is-vertical is-center is-right">
20619
+ <button type="button" class="gn-button is-outline">
20620
+ <span class="gn-icon">
20621
+ <i class="fas fa-angle-double-up"></i>
20622
+ </span>
20623
+ </button>
20624
+ <button type="button" class="gn-button is-outline">
20625
+ <span class="gn-icon">
20626
+ <i class="fas fa-angle-up"></i>
20627
+ </span>
20628
+ </button>
20629
+ <button type="button" class="gn-button is-outline">
20630
+ <span class="gn-icon">
20631
+ <i class="fas fa-angle-down"></i>
20632
+ </span>
20633
+ </button>
20634
+ <button type="button" class="gn-button is-outline">
20635
+ <span class="gn-icon">
20636
+ <i class="fas fa-angle-double-down"></i>
20637
+ </span>
20638
+ </button>
20639
+ </div>
20640
+ </div>
20641
+ ```
20642
+
20643
+ ### 생성 옵션
20644
+ ```ejs
20645
+ <div class="new-sortablelist"></div>
20646
+ <div class="new-sortablelist-drag"></div>
20647
+ <div class="new-sortablelist-cols"></div>
20648
+ ```
20649
+ ````
20650
+ // 단일 컬럼
20651
+ Gn.create('sortablelist', {
20652
+ target: '.new-sortablelist',
20653
+ data: [
20654
+ { value: '1', text: '항목 1' },
20655
+ { value: '2', text: '항목 2' },
20656
+ { value: '3', text: '항목 3' },
20657
+ { value: '4', text: '항목 4' },
20658
+ { value: '5', text: '항목 5' },
20659
+ { value: '6', text: '항목 6' },
20660
+ { value: '7', text: '항목 7' },
20661
+ { value: '8', text: '항목 8' },
20662
+ { value: '9', text: '항목 9' },
20663
+ { value: '10', text: '항목 10' }
20664
+ ]
20665
+ });
20666
+ // 드래그 앤 드롭
20667
+ Gn.create('sortablelist', {
20668
+ target: '.new-sortablelist-drag',
20669
+ data: [
20670
+ { value: 'a', text: '항목 A' },
20671
+ { value: 'b', text: '항목 B' },
20672
+ { value: 'c', text: '항목 C' },
20673
+ { value: 'd', text: '항목 D' },
20674
+ { value: 'e', text: '항목 E' },
20675
+ { value: 'f', text: '항목 F' },
20676
+ { value: 'g', text: '항목 G' },
20677
+ { value: 'h', text: '항목 H' },
20678
+ { value: 'i', text: '항목 I' },
20679
+ { value: 'j', text: '항목 J' }
20680
+ ],
20681
+ draggable: true
20682
+ });
20683
+ // 다중 컬럼
20684
+ Gn.create('sortablelist', {
20685
+ target: '.new-sortablelist-cols',
20686
+ buttonPosition: 'right',
20687
+ data: [
20688
+ { value: 'x1', cols: ['항목1', '카테고리A', '1000'] },
20689
+ { value: 'x2', cols: ['항목2', '카테고리B', '2000'] },
20690
+ { value: 'x3', cols: ['항목3', '카테고리C', '3000'] },
20691
+ { value: 'x4', cols: ['항목4', '카테고리D', '4000'] },
20692
+ { value: 'x5', cols: ['항목5', '카테고리E', '5000'] },
20693
+ { value: 'x6', cols: ['항목6', '카테고리F', '6000'] },
20694
+ { value: 'x7', cols: ['항목7', '카테고리G', '7000'] },
20695
+ { value: 'x8', cols: ['항목8', '카테고리H', '8000'] },
20696
+ { value: 'x9', cols: ['항목9', '카테고리I', '9000'] },
20697
+ { value: 'x10', cols: ['항목10', '카테고리J', '10000'] }
20698
+ ]
20699
+ });
20700
+ ````
20701
+
20702
+ ### 데이터 모델 (SortableListItem)
20703
+
20704
+ <table class="gn-table is-full is-border">
20705
+ <thead>
20706
+ <th>필드</th>
20707
+ <th>type</th>
20708
+ <th>필수</th>
20709
+ <th>description</th>
20710
+ </thead>
20711
+ <tbody>
20712
+ <tr>
20713
+ <td>value</td>
20714
+ <td>string</td>
20715
+ <td>Y</td>
20716
+ <td>고유 값 (빈 문자열 불가)</td>
20717
+ </tr>
20718
+ <tr>
20719
+ <td>text</td>
20720
+ <td>string</td>
20721
+ <td>N</td>
20722
+ <td>단일 컬럼 표시 텍스트</td>
20723
+ </tr>
20724
+ <tr>
20725
+ <td>cols</td>
20726
+ <td>string[]</td>
20727
+ <td>N</td>
20728
+ <td>다중 컬럼 표시 값 배열</td>
20729
+ </tr>
20730
+ </tbody>
20731
+ </table>
20732
+
20733
+ ### 옵션
20734
+ <table class="gn-table is-full is-border">
20735
+ <thead>
20736
+ <th colspan="2">name</th>
20737
+ <th>type</th>
20738
+ <th>default</th>
20739
+ <th>description</th>
20740
+ </thead>
20741
+ <tbody>
20742
+ <tr>
20743
+ <td colspan="2">target</td>
20744
+ <td>string</td>
20745
+ <td></td>
20746
+ <td>sortablelist를 표시할 대상의 선택자(selector)</td>
20747
+ </tr>
20748
+ <tr>
20749
+ <td colspan="2">data</td>
20750
+ <td>SortableListItem[]</td>
20751
+ <td></td>
20752
+ <td>sortablelist에 표시할 데이터 배열</td>
20753
+ </tr>
20754
+ <tr>
20755
+ <td colspan="2">buttonPosition</td>
20756
+ <td>left | right</td>
20757
+ <td>left</td>
20758
+ <td>순서 변경 버튼 위치</td>
20759
+ </tr>
20760
+ <tr>
20761
+ <td colspan="2">draggable</td>
20762
+ <td>boolean</td>
20763
+ <td>false</td>
20764
+ <td>드래그 앤 드롭 순서 변경 활성화 여부</td>
20765
+ </tr>
20766
+ <tr>
20767
+ <td>textSets</td>
20768
+ <td>noData</td>
20769
+ <td>string</td>
20770
+ <td>No records available.</td>
20771
+ <td>데이터가 없을 경우 출력 메시지</td>
20772
+ </tr>
20773
+ <tr>
20774
+ <td colspan="2">disabled</td>
20775
+ <td>boolean</td>
20776
+ <td>false</td>
20777
+ <td>컴포넌트 비활성화 여부</td>
20778
+ </tr>
20779
+ <tr>
20780
+ <td colspan="2">width</td>
20781
+ <td>number, string</td>
20782
+ <td>100%</td>
20783
+ <td>컴포넌트 너비</td>
20784
+ </tr>
20785
+ <tr>
20786
+ <td colspan="2">height</td>
20787
+ <td>number, string</td>
20788
+ <td>150</td>
20789
+ <td>리스트 높이 (미지정 시 150)</td>
20790
+ </tr>
20791
+ <tr>
20792
+ <td colspan="2">onChange</td>
20793
+ <td>function(data)</td>
20794
+ <td></td>
20795
+ <td>데이터 변경 시 발생 이벤트</td>
20796
+ </tr>
20797
+ </tbody>
20798
+ </table>
20799
+
20800
+ ### 메소드
20801
+
20802
+ <table class="gn-table is-full is-border">
20803
+ <thead>
20804
+ <th>name</th>
20805
+ <th>return</th>
20806
+ <th>description</th>
20807
+ </thead>
20808
+ <tbody>
20809
+ <tr>
20810
+ <td>getData()</td>
20811
+ <td>SortableListItem[]</td>
20812
+ <td>현재 데이터 배열을 반환한다.</td>
20813
+ </tr>
20814
+ <tr>
20815
+ <td>setData(data: SortableListItem[]})</td>
20816
+ <td>void</td>
20817
+ <td>데이터 배열을 설정하고 다시 렌더링한다.</td>
20818
+ </tr>
20819
+ <tr>
20820
+ <td>disable()</td>
20821
+ <td>void</td>
20822
+ <td>컴포넌트를 비활성화한다.</td>
20823
+ </tr>
20824
+ <tr>
20825
+ <td>enable()</td>
20826
+ <td>void</td>
20827
+ <td>컴포넌트를 활성화한다.</td>
20828
+ </tr>
20829
+ </tbody>
20830
+ </table>
20831
+
20832
+ */
20833
+ .gn-sortablelist {
20834
+ display: flex;
20835
+ align-items: stretch;
20836
+ -webkit-user-select: none;
20837
+ -moz-user-select: none;
20838
+ user-select: none;
20839
+ }
20840
+ .gn-sortablelist .gn-dropdown {
20841
+ display: block;
20842
+ }
20843
+ .gn-sortablelist .sortablelist-items {
20844
+ flex: 1 1 auto;
20845
+ }
20846
+ .gn-sortablelist .sortablelist-controls {
20847
+ margin: 0.5rem;
20848
+ }
20849
+ .gn-sortablelist .sortablelist-controls .gn-button {
20850
+ padding: 0.25rem 0.75rem;
20851
+ }
20852
+ .gn-sortablelist .sortablelist-controls.is-right {
20853
+ order: 2;
20854
+ margin-left: 0.5rem;
20855
+ margin-right: 0;
20856
+ justify-content: center;
20857
+ }
20858
+ .gn-sortablelist .sortablelist-rows {
20859
+ margin: 0;
20860
+ padding: 0;
20861
+ list-style: none;
20862
+ }
20863
+ .gn-sortablelist .sortablelist-cols {
20864
+ display: flex;
20865
+ gap: 0.5rem;
20866
+ width: 100%;
20867
+ }
20868
+ .gn-sortablelist .sortablelist-col {
20869
+ flex: 1 1 0;
20870
+ min-width: 0;
20871
+ }
20872
+ .gn-sortablelist .dropdown-item.is-empty {
20873
+ color: hsl(0, 0%, 48%);
20874
+ }
20875
+ .gn-sortablelist .dropdown-item.is-dragging {
20876
+ opacity: 0.6;
20877
+ }
20878
+ .gn-sortablelist .dropdown-item.is-group-dragging {
20879
+ outline: 1px dashed hsl(0, 0%, 71%);
20880
+ }
20881
+ .gn-sortablelist .dropdown-item.is-drag-over-top,
20882
+ .gn-sortablelist .dropdown-item.is-drag-over-bottom {
20883
+ background-color: hsl(0, 0%, 96%);
20884
+ }
20885
+ .gn-sortablelist .dropdown-item.is-drag-over-top {
20886
+ box-shadow: inset 0 2px 0 0 #88b50f;
20887
+ }
20888
+ .gn-sortablelist .dropdown-item.is-drag-over-bottom {
20889
+ box-shadow: inset 0 -2px 0 0 #88b50f;
20890
+ }
20891
+
20892
+ .sortablelist-drag-preview {
20893
+ position: absolute;
20894
+ top: -9999px;
20895
+ left: -9999px;
20896
+ display: inline-flex;
20897
+ align-items: flex-start;
20898
+ gap: 8px;
20899
+ padding: 6px 10px;
20900
+ border-radius: 8px;
20901
+ background-color: hsl(0, 0%, 20%);
20902
+ color: hsl(0, 0%, 98%);
20903
+ font-size: 12px;
20904
+ line-height: 1;
20905
+ }
20906
+
20907
+ .sortablelist-drag-preview::before {
20908
+ content: attr(data-count);
20909
+ min-width: 18px;
20910
+ height: 18px;
20911
+ padding: 0 6px;
20912
+ border-radius: 999px;
20913
+ background-color: hsl(0, 0%, 98%);
20914
+ color: hsl(0, 0%, 20%);
20915
+ font-size: 11px;
20916
+ line-height: 18px;
20917
+ text-align: center;
20918
+ }
20919
+
20920
+ .sortablelist-drag-preview-list {
20921
+ display: flex;
20922
+ flex-direction: column;
20923
+ gap: 4px;
20924
+ }
20925
+
20926
+ .sortablelist-drag-preview .dropdown-item.is-ghost {
20927
+ padding: 4px 8px;
20928
+ background-color: hsl(0, 0%, 18%);
20929
+ border-radius: 4px;
20930
+ color: hsl(0, 0%, 98%);
20931
+ }
20932
+
19993
20933
  /*
19994
20934
  ---
19995
20935
  name: Progressbar
@@ -20279,7 +21219,7 @@ tag:
20279
21219
  background-color: rgb(247.35, 247.35, 247.35);
20280
21220
  }
20281
21221
  .gn-progressbar.is-help > span.gauge {
20282
- background-color: #268ccf;
21222
+ background-color: #3681a5;
20283
21223
  }
20284
21224
  .gn-progressbar.is-help > span.figure.inner {
20285
21225
  color: #fff;
@@ -20324,7 +21264,7 @@ tag:
20324
21264
  background-color: rgb(247.35, 247.35, 247.35);
20325
21265
  }
20326
21266
  .gn-progressbar.is-guide > span.gauge {
20327
- background-color: #0487da;
21267
+ background-color: #3681a5;
20328
21268
  }
20329
21269
  .gn-progressbar.is-guide > span.figure.inner {
20330
21270
  color: #fff;
@@ -20586,7 +21526,8 @@ tag:
20586
21526
  }
20587
21527
  .gn-tab > ul {
20588
21528
  display: flex;
20589
- border-bottom: 3px solid #bebebe;
21529
+ border-bottom: 1px solid #bebebe;
21530
+ padding-bottom: 2px;
20590
21531
  }
20591
21532
  .gn-tab.is-center > ul {
20592
21533
  justify-content: center;
@@ -21401,18 +22342,18 @@ tag:
21401
22342
  border-left-color: hsl(0, 0%, 100%);
21402
22343
  }
21403
22344
  .gn-tooltip.is-help {
21404
- color: #268ccf;
22345
+ color: #3681a5;
21405
22346
  background-color: hsl(0, 0%, 96%);
21406
22347
  background-color: #fff;
21407
- border-color: #268ccf;
22348
+ border-color: #3681a5;
21408
22349
  }
21409
22350
  .gn-tooltip.is-help::before {
21410
22351
  background-color: hsl(0, 0%, 96%);
21411
22352
  }
21412
22353
  .gn-tooltip.is-help::before {
21413
22354
  background: #fff;
21414
- border-top-color: #268ccf;
21415
- border-left-color: #268ccf;
22355
+ border-top-color: #3681a5;
22356
+ border-left-color: #3681a5;
21416
22357
  }
21417
22358
  .gn-tooltip.is-plain {
21418
22359
  color: #fff;
@@ -21471,18 +22412,18 @@ tag:
21471
22412
  border-left-color: #e51317;
21472
22413
  }
21473
22414
  .gn-tooltip.is-guide {
21474
- color: #0487da;
22415
+ color: #3681a5;
21475
22416
  background-color: hsl(0, 0%, 96%);
21476
22417
  background-color: #fff;
21477
- border-color: #0487da;
22418
+ border-color: #3681a5;
21478
22419
  }
21479
22420
  .gn-tooltip.is-guide::before {
21480
22421
  background-color: hsl(0, 0%, 96%);
21481
22422
  }
21482
22423
  .gn-tooltip.is-guide::before {
21483
22424
  background: #fff;
21484
- border-top-color: #0487da;
21485
- border-left-color: #0487da;
22425
+ border-top-color: #3681a5;
22426
+ border-left-color: #3681a5;
21486
22427
  }
21487
22428
 
21488
22429
  /*
@@ -21764,7 +22705,7 @@ Gn.create('tree', {
21764
22705
  }
21765
22706
  .gn-tree li .tree-item .is-toggler::before {
21766
22707
  content: "\f0da";
21767
- font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
22708
+ font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
21768
22709
  font-weight: 900;
21769
22710
  }
21770
22711
  .gn-tree li .tree-item + ul {
@@ -21868,7 +22809,7 @@ Gn.create('tree', {
21868
22809
  color: hsl(0, 0%, 100%);
21869
22810
  }
21870
22811
  .gn-tree.is-help .tree-item.is-active {
21871
- color: #268ccf;
22812
+ color: #3681a5;
21872
22813
  }
21873
22814
  .gn-tree.is-plain .tree-item.is-active {
21874
22815
  color: #fff;
@@ -21883,7 +22824,7 @@ Gn.create('tree', {
21883
22824
  color: #e51317;
21884
22825
  }
21885
22826
  .gn-tree.is-guide .tree-item.is-active {
21886
- color: #0487da;
22827
+ color: #3681a5;
21887
22828
  }
21888
22829
  .gn-tree.is-borderless li {
21889
22830
  padding-left: calc(0.75em + 0.5rem);