globuswebcomponents 2.10.13 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/dist/cjs/gb-avatar-label-group_3.cjs.entry.js +1 -1
  2. package/dist/cjs/gb-avatar_44.cjs.entry.js +101 -107
  3. package/dist/cjs/gb-modal-action_3.cjs.entry.js +3 -3
  4. package/dist/cjs/gb-toast-button.cjs.entry.js +1 -1
  5. package/dist/cjs/gb-toast.cjs.entry.js +1 -1
  6. package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
  7. package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
  8. package/dist/cjs/gb-vertical-tabs.cjs.entry.js +1 -1
  9. package/dist/cjs/gb-wysiwyg-editor-icon.cjs.entry.js +1 -1
  10. package/dist/cjs/globuscomponents.cjs.js +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
  13. package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
  14. package/dist/collection/assets/more-vertical.svg +3 -0
  15. package/dist/collection/assets/sent.svg +3 -0
  16. package/dist/collection/components/gb-date-picker/gb-date-picker.css +6 -1
  17. package/dist/collection/components/gb-filter-modal/gb-filter-modal.css +2 -1
  18. package/dist/collection/components/gb-filter-modal/gb-filter-modal.js +9 -73
  19. package/dist/collection/components/gb-filter-modal/gb-filter-modal.js.map +1 -1
  20. package/dist/collection/components/gb-table/gb-table.css +136 -3
  21. package/dist/collection/components/gb-table/gb-table.js +131 -26
  22. package/dist/collection/components/gb-table/gb-table.js.map +1 -1
  23. package/dist/collection/components/gb-table-header/gb-table-header.js +2 -2
  24. package/dist/collection/components/gb-tag/gb-tag.js +1 -1
  25. package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
  26. package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
  27. package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
  28. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -3
  29. package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
  30. package/dist/collection/components/gb-toast/gb-toast.js +1 -1
  31. package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
  32. package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
  33. package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
  34. package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +1 -1
  35. package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
  36. package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
  37. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
  38. package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
  39. package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
  40. package/dist/collection/models/reusableModels.js.map +1 -1
  41. package/dist/components/gb-action-panel.js +2 -2
  42. package/dist/components/gb-approval-modal.js +8 -8
  43. package/dist/components/gb-avatar-add-button.js +1 -1
  44. package/dist/components/gb-avatar-dropdown.js +1 -1
  45. package/dist/components/gb-avatar-group.js +2 -2
  46. package/dist/components/gb-btn.js +1 -1
  47. package/dist/components/gb-button.js +1 -1
  48. package/dist/components/gb-checkbox-group-item.js +1 -1
  49. package/dist/components/gb-checkbox-group.js +3 -3
  50. package/dist/components/gb-collapse-button.js +1 -1
  51. package/dist/components/gb-comment.js +2 -2
  52. package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
  53. package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
  54. package/dist/components/gb-date-picker.js +1 -1
  55. package/dist/components/gb-detail-cell.js +2 -2
  56. package/dist/components/gb-empty-state.js +1 -1
  57. package/dist/components/gb-file-upload-item-base.js +1 -1
  58. package/dist/components/gb-file-upload.js +4 -4
  59. package/dist/components/gb-filter-button.js +1 -1
  60. package/dist/components/gb-filter-modal.js +1 -1
  61. package/dist/components/gb-header.js +14 -14
  62. package/dist/components/gb-help-tooltip.js +1 -1
  63. package/dist/components/gb-icon-button-base.js +1 -1
  64. package/dist/components/gb-input-dropdown.js +1 -1
  65. package/dist/components/gb-input-field.js +1 -1
  66. package/dist/components/gb-modal-action.js +1 -1
  67. package/dist/components/gb-nav-bar-item.js +1 -1
  68. package/dist/components/gb-nav-bar-sidemenu.js +1 -1
  69. package/dist/components/gb-nav-bar.js +2 -2
  70. package/dist/components/gb-notification-pane.js +1 -1
  71. package/dist/components/gb-pagination.js +1 -1
  72. package/dist/components/gb-password-button.js +1 -1
  73. package/dist/components/gb-progress-bar.js +1 -1
  74. package/dist/components/gb-prompt-modal.js +2 -2
  75. package/dist/components/gb-sidebar.js +5 -5
  76. package/dist/components/gb-simple-side-bar-item.js +1 -1
  77. package/dist/components/gb-slider-control-handle.js +1 -1
  78. package/dist/components/gb-slider.js +2 -2
  79. package/dist/components/gb-table-header.js +1 -1
  80. package/dist/components/gb-table.js +105 -44
  81. package/dist/components/gb-table.js.map +1 -1
  82. package/dist/components/gb-tag-checkbox.js +1 -1
  83. package/dist/components/gb-tag-close.js +1 -1
  84. package/dist/components/gb-tag-count.js +1 -1
  85. package/dist/components/gb-tag.js +1 -1
  86. package/dist/components/gb-textarea-input-field.js +1 -1
  87. package/dist/components/gb-theme-tab.js +1 -1
  88. package/dist/components/gb-toast-button.js +1 -1
  89. package/dist/components/gb-toast.js +4 -4
  90. package/dist/components/gb-toggle-base.js +1 -1
  91. package/dist/components/gb-toggle.js +1 -1
  92. package/dist/components/gb-token-field-compact.js +1 -1
  93. package/dist/components/gb-token-field-compressed.js +2 -2
  94. package/dist/components/gb-tooltip.js +1 -1
  95. package/dist/components/gb-vertical-tabs.js +1 -1
  96. package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
  97. package/dist/components/gb-wysiwyg-tooltip.js +1 -1
  98. package/dist/components/{p-DUg13FZJ.js → p-5yowGoGZ.js} +4 -4
  99. package/dist/components/{p-DUg13FZJ.js.map → p-5yowGoGZ.js.map} +1 -1
  100. package/dist/components/{p-BN5SQJZH.js → p-AK6cDQE7.js} +4 -4
  101. package/dist/components/{p-BN5SQJZH.js.map → p-AK6cDQE7.js.map} +1 -1
  102. package/dist/components/{p-BUXMMSJn.js → p-BEBt1qJA.js} +4 -4
  103. package/dist/components/{p-BUXMMSJn.js.map → p-BEBt1qJA.js.map} +1 -1
  104. package/dist/components/{p-B5gEkPoU.js → p-BEFukUDi.js} +9 -9
  105. package/dist/components/{p-B5gEkPoU.js.map → p-BEFukUDi.js.map} +1 -1
  106. package/dist/components/{p-Bsju_6ME.js → p-BKGhsNBR.js} +3 -3
  107. package/dist/components/{p-Bsju_6ME.js.map → p-BKGhsNBR.js.map} +1 -1
  108. package/dist/components/{p-Dg7B5nH1.js → p-Bj-KxpsX.js} +3 -3
  109. package/dist/components/{p-Dg7B5nH1.js.map → p-Bj-KxpsX.js.map} +1 -1
  110. package/dist/components/{p-CJ9LMMSm.js → p-Bk9zH-CZ.js} +3 -3
  111. package/dist/components/{p-CJ9LMMSm.js.map → p-Bk9zH-CZ.js.map} +1 -1
  112. package/dist/components/{p-CYpM3pUM.js → p-BnOS2YuY.js} +12 -12
  113. package/dist/components/{p-CYpM3pUM.js.map → p-BnOS2YuY.js.map} +1 -1
  114. package/dist/components/{p-DiwgKK9w.js → p-Bu66Dgkv.js} +3 -3
  115. package/dist/components/{p-DiwgKK9w.js.map → p-Bu66Dgkv.js.map} +1 -1
  116. package/dist/components/{p-DvBv-n5E.js → p-C6C9ED7Y.js} +3 -3
  117. package/dist/components/{p-DvBv-n5E.js.map → p-C6C9ED7Y.js.map} +1 -1
  118. package/dist/components/{p-Bw7gw9s2.js → p-C8Q49Chb.js} +4 -4
  119. package/dist/components/{p-Bw7gw9s2.js.map → p-C8Q49Chb.js.map} +1 -1
  120. package/dist/components/{p-DmjkaQ_5.js → p-CBa0xdMN.js} +14 -77
  121. package/dist/components/p-CBa0xdMN.js.map +1 -0
  122. package/dist/components/{p-B6k24H6F.js → p-CM2X5TQc.js} +3 -3
  123. package/dist/components/{p-B6k24H6F.js.map → p-CM2X5TQc.js.map} +1 -1
  124. package/dist/components/{p-DWd7gFDp.js → p-CM3ctvp4.js} +4 -4
  125. package/dist/components/{p-DWd7gFDp.js.map → p-CM3ctvp4.js.map} +1 -1
  126. package/dist/components/{p-DsEln-e0.js → p-CN3JbzXO.js} +5 -5
  127. package/dist/components/{p-DsEln-e0.js.map → p-CN3JbzXO.js.map} +1 -1
  128. package/dist/components/{p-3LUuAIuq.js → p-CTaUs5-r.js} +3 -3
  129. package/dist/components/{p-3LUuAIuq.js.map → p-CTaUs5-r.js.map} +1 -1
  130. package/dist/components/{p-BCs1raYY.js → p-Cbj0An1x.js} +3 -3
  131. package/dist/components/{p-BCs1raYY.js.map → p-Cbj0An1x.js.map} +1 -1
  132. package/dist/components/{p-rfgtX-Yh.js → p-CcyaTNu0.js} +3 -3
  133. package/dist/components/{p-rfgtX-Yh.js.map → p-CcyaTNu0.js.map} +1 -1
  134. package/dist/components/{p-DrYuPFS5.js → p-CxzpEiS1.js} +3 -3
  135. package/dist/components/{p-DrYuPFS5.js.map → p-CxzpEiS1.js.map} +1 -1
  136. package/dist/components/{p-DMTc86TV.js → p-D8X0-w1T.js} +3 -3
  137. package/dist/components/{p-DMTc86TV.js.map → p-D8X0-w1T.js.map} +1 -1
  138. package/dist/components/{p-B8xTwy6a.js → p-D9wXrsVN.js} +3 -3
  139. package/dist/components/{p-B8xTwy6a.js.map → p-D9wXrsVN.js.map} +1 -1
  140. package/dist/components/{p-C__Zx-sJ.js → p-DR6wzjCF.js} +16 -16
  141. package/dist/components/{p-C__Zx-sJ.js.map → p-DR6wzjCF.js.map} +1 -1
  142. package/dist/components/{p-CMSgQk_J.js → p-DhhgSVau.js} +3 -3
  143. package/dist/components/{p-CMSgQk_J.js.map → p-DhhgSVau.js.map} +1 -1
  144. package/dist/components/{p-gpZ2X_c1.js → p-Dk3T0btI.js} +3 -3
  145. package/dist/components/{p-gpZ2X_c1.js.map → p-Dk3T0btI.js.map} +1 -1
  146. package/dist/components/{p-CuhbZLf5.js → p-FjWBmKYg.js} +4 -4
  147. package/dist/components/{p-CuhbZLf5.js.map → p-FjWBmKYg.js.map} +1 -1
  148. package/dist/components/{p-DhGPhyRl.js → p-RQfc-Gco.js} +5 -5
  149. package/dist/components/{p-DhGPhyRl.js.map → p-RQfc-Gco.js.map} +1 -1
  150. package/dist/components/{p-D1T18wZL.js → p-S-FbLIxn.js} +4 -4
  151. package/dist/components/{p-D1T18wZL.js.map → p-S-FbLIxn.js.map} +1 -1
  152. package/dist/components/{p-C3Ne5oaM.js → p-TLerUgoM.js} +3 -3
  153. package/dist/components/{p-C3Ne5oaM.js.map → p-TLerUgoM.js.map} +1 -1
  154. package/dist/components/{p-uJGVGDOJ.js → p-VhtlbR2b.js} +13 -13
  155. package/dist/components/{p-uJGVGDOJ.js.map → p-VhtlbR2b.js.map} +1 -1
  156. package/dist/components/{p-QMvxRWGo.js → p-ZxV_qL5x.js} +3 -3
  157. package/dist/components/{p-QMvxRWGo.js.map → p-ZxV_qL5x.js.map} +1 -1
  158. package/dist/components/p-cHn6O-Kf.js.map +1 -1
  159. package/dist/components/{p-Cr8eGx5W.js → p-fy6svpeL.js} +5 -5
  160. package/dist/components/{p-Cr8eGx5W.js.map → p-fy6svpeL.js.map} +1 -1
  161. package/dist/components/{p-CxmrLytr.js → p-hsu4Tgtg.js} +6 -6
  162. package/dist/components/{p-CxmrLytr.js.map → p-hsu4Tgtg.js.map} +1 -1
  163. package/dist/components/{p-lP887Fvg.js → p-j48dTNnm.js} +5 -5
  164. package/dist/components/{p-lP887Fvg.js.map → p-j48dTNnm.js.map} +1 -1
  165. package/dist/components/{p-CLZal_C6.js → p-kAWPUm7V.js} +3 -3
  166. package/dist/components/{p-CLZal_C6.js.map → p-kAWPUm7V.js.map} +1 -1
  167. package/dist/components/{p-BVq_Ti-V.js → p-pZkzqT4t.js} +3 -3
  168. package/dist/components/{p-BVq_Ti-V.js.map → p-pZkzqT4t.js.map} +1 -1
  169. package/dist/components/{p-B1dO_zNp.js → p-rORTaeDO.js} +11 -11
  170. package/dist/components/{p-B1dO_zNp.js.map → p-rORTaeDO.js.map} +1 -1
  171. package/dist/components/{p-DzCRnNZl.js → p-tUA_D10f.js} +3 -3
  172. package/dist/components/{p-DzCRnNZl.js.map → p-tUA_D10f.js.map} +1 -1
  173. package/dist/components/{p-BqUYAF2A.js → p-z7U72LlR.js} +5 -5
  174. package/dist/components/{p-BqUYAF2A.js.map → p-z7U72LlR.js.map} +1 -1
  175. package/dist/components/test-input-tag.js +6 -6
  176. package/dist/docs.json +80 -24
  177. package/dist/esm/gb-avatar-label-group_3.entry.js +1 -1
  178. package/dist/esm/gb-avatar_44.entry.js +101 -107
  179. package/dist/esm/gb-modal-action_3.entry.js +3 -3
  180. package/dist/esm/gb-toast-button.entry.js +1 -1
  181. package/dist/esm/gb-toast.entry.js +1 -1
  182. package/dist/esm/gb-token-field-compact.entry.js +1 -1
  183. package/dist/esm/gb-token-field-compressed.entry.js +2 -2
  184. package/dist/esm/gb-vertical-tabs.entry.js +1 -1
  185. package/dist/esm/gb-wysiwyg-editor-icon.entry.js +1 -1
  186. package/dist/esm/globuscomponents.js +1 -1
  187. package/dist/esm/loader.js +1 -1
  188. package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
  189. package/dist/esm/test-input-tag.entry.js +2 -2
  190. package/dist/globuscomponents/assets/more-vertical.svg +3 -0
  191. package/dist/globuscomponents/assets/sent.svg +3 -0
  192. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  193. package/dist/globuscomponents/{p-cc54f44a.entry.js → p-05e6b1af.entry.js} +2 -2
  194. package/dist/globuscomponents/{p-c22a4cfd.entry.js → p-314e31ff.entry.js} +2 -2
  195. package/dist/globuscomponents/{p-e4895336.entry.js → p-3e00d45a.entry.js} +2 -2
  196. package/dist/globuscomponents/{p-d55dc1ab.entry.js → p-875ab43f.entry.js} +2 -2
  197. package/dist/globuscomponents/{p-6825b63d.entry.js → p-97270692.entry.js} +2 -2
  198. package/dist/globuscomponents/{p-b72d51e3.entry.js → p-a998de8e.entry.js} +2 -2
  199. package/dist/globuscomponents/{p-f3bd7944.entry.js → p-b5e49cc3.entry.js} +2 -2
  200. package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
  201. package/dist/globuscomponents/{p-b6a0161e.entry.js → p-d26d3b23.entry.js} +2 -2
  202. package/dist/globuscomponents/{p-66c49225.entry.js → p-daca0c73.entry.js} +2 -2
  203. package/dist/globuscomponents/p-daca0c73.entry.js.map +1 -0
  204. package/dist/globuscomponents/{p-37f87474.entry.js → p-ed734b26.entry.js} +2 -2
  205. package/dist/types/components/gb-table/gb-table.d.ts +23 -1
  206. package/dist/types/components.d.ts +16 -10
  207. package/dist/types/models/reusableModels.d.ts +4 -0
  208. package/package.json +1 -1
  209. package/dist/components/p-DmjkaQ_5.js.map +0 -1
  210. package/dist/globuscomponents/p-66c49225.entry.js.map +0 -1
  211. /package/dist/globuscomponents/{p-cc54f44a.entry.js.map → p-05e6b1af.entry.js.map} +0 -0
  212. /package/dist/globuscomponents/{p-c22a4cfd.entry.js.map → p-314e31ff.entry.js.map} +0 -0
  213. /package/dist/globuscomponents/{p-e4895336.entry.js.map → p-3e00d45a.entry.js.map} +0 -0
  214. /package/dist/globuscomponents/{p-d55dc1ab.entry.js.map → p-875ab43f.entry.js.map} +0 -0
  215. /package/dist/globuscomponents/{p-6825b63d.entry.js.map → p-97270692.entry.js.map} +0 -0
  216. /package/dist/globuscomponents/{p-b72d51e3.entry.js.map → p-a998de8e.entry.js.map} +0 -0
  217. /package/dist/globuscomponents/{p-f3bd7944.entry.js.map → p-b5e49cc3.entry.js.map} +0 -0
  218. /package/dist/globuscomponents/{p-b6a0161e.entry.js.map → p-d26d3b23.entry.js.map} +0 -0
  219. /package/dist/globuscomponents/{p-37f87474.entry.js.map → p-ed734b26.entry.js.map} +0 -0
@@ -2813,10 +2813,13 @@
2813
2813
  width: 100%;
2814
2814
  box-sizing: border-box;
2815
2815
  overflow: hidden;
2816
+ background: var(--color-background-card, #ffffff);
2817
+ }
2818
+
2819
+ .table_wrapper.list {
2816
2820
  border-radius: var(--rounded-md);
2817
2821
  border: 0.7px solid var(--color-border-subtler, #e3e8ef);
2818
2822
  box-shadow: var(--shadow-xs);
2819
- background: var(--color-background-card, #ffffff);
2820
2823
  }
2821
2824
 
2822
2825
  /* .table_wrapper table th:first-child,
@@ -2834,6 +2837,12 @@ gb-table-header {
2834
2837
  background: var(--color-background-card, #ffffff);
2835
2838
  }
2836
2839
 
2840
+ .table-header.grid {
2841
+ overflow-y: visible;
2842
+ border-radius: var(--rounded-md);
2843
+ border: 1px solid var(--color-border-subtler, #e3e8ef);
2844
+ }
2845
+
2837
2846
  .table_scroll {
2838
2847
  width: 100%;
2839
2848
  overflow-x: auto; /* horizontal scroll */
@@ -3010,7 +3019,9 @@ table .table_detail.has_border.sticky_left::after {
3010
3019
  display: flex;
3011
3020
  justify-content: flex-end; /* align modal to right */
3012
3021
  opacity: 0;
3013
- transition: transform 0.3s ease, opacity 0.3s ease;
3022
+ transition:
3023
+ transform 0.3s ease,
3024
+ opacity 0.3s ease;
3014
3025
  z-index: 1000;
3015
3026
  }
3016
3027
 
@@ -3032,7 +3043,129 @@ table .table_detail.has_border.sticky_left::after {
3032
3043
  opacity: 0;
3033
3044
  }
3034
3045
 
3035
- /* Dropdown wrapper styles moved to global/dropdown-portal.css to support portal rendering */
3046
+ /* Grid View Styles */
3047
+ .table_grid_wrapper {
3048
+ display: flex;
3049
+ padding: var(--spacing-5) 0;
3050
+ justify-content: center;
3051
+ align-items: center;
3052
+ align-content: center;
3053
+ gap: 1.5rem var(--spacing-6);
3054
+ align-self: stretch;
3055
+ flex-wrap: wrap;
3056
+ opacity: 1;
3057
+ }
3058
+
3059
+ .table_grid_card {
3060
+ position: relative;
3061
+ display: flex;
3062
+ min-width: 21.25rem;
3063
+ max-width: 21.875rem;
3064
+ padding: var(--spacing-none);
3065
+ flex-direction: column;
3066
+ justify-content: center;
3067
+ align-items: center;
3068
+ gap: var(--spacing-none);
3069
+ flex: 1 0 0;
3070
+ border-radius: var(--rounded-md);
3071
+ border: 1px solid var(--color-border-subtler, #e3e8ef);
3072
+ background: var(--color-background-card, #ffffff);
3073
+ overflow: hidden;
3074
+ }
3075
+
3076
+ .grid_card_profile {
3077
+ display: flex;
3078
+ padding: 0 var(--spacing-5);
3079
+ flex-direction: column;
3080
+ align-items: flex-start;
3081
+ gap: 0.5rem;
3082
+ align-self: stretch;
3083
+ }
3084
+
3085
+ .grid_card_profile_content {
3086
+ display: flex;
3087
+ padding: var(--spacing-5) var(--spacing-none);
3088
+ align-items: flex-start;
3089
+ gap: var(--spacing-4);
3090
+ align-self: stretch;
3091
+ border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);
3092
+ }
3093
+
3094
+ .profile_details {
3095
+ display: flex;
3096
+ flex-direction: column;
3097
+ align-items: flex-start;
3098
+ gap: var(--spacing-3);
3099
+ flex: 1 0 0;
3100
+ align-self: stretch;
3101
+ }
3102
+
3103
+ .profile_name p {
3104
+ color: var(--color-text-bold, #202939);
3105
+ }
3106
+
3107
+ .profile_badges {
3108
+ display: flex;
3109
+ flex-direction: column;
3110
+ align-items: flex-start;
3111
+ gap: var(--spacing-2);
3112
+ align-self: stretch;
3113
+ }
3114
+
3115
+ .grid_card_buttons {
3116
+ display: flex;
3117
+ padding: var(--spacing-5);
3118
+ justify-content: center;
3119
+ align-items: center;
3120
+ gap: var(--spacing-4);
3121
+ align-self: stretch;
3122
+ }
3123
+
3124
+ .btn {
3125
+ flex: 1 0 0;
3126
+ }
3127
+
3128
+ .grid_dropdown_modal_overlay {
3129
+ display: flex;
3130
+ justify-content: flex-end;
3131
+ width: 100%;
3132
+ height: 100%;
3133
+ position: absolute;
3134
+ top: 0;
3135
+ right: 0;
3136
+ background: var(--color-blanket-subtler, rgba(33, 44, 101, 0.4));
3137
+ transition:
3138
+ transform 0.3s ease,
3139
+ opacity 0.3s ease;
3140
+ overflow: hidden;
3141
+ backdrop-filter: blur(4px);
3142
+ opacity: 0;
3143
+ }
3144
+
3145
+ .grid_dropdown_modal_overlay.open {
3146
+ transform: translateX(0);
3147
+ opacity: 1;
3148
+ }
3149
+
3150
+ .grid_dropdown_modal_overlay.closing {
3151
+ transform: translateX(100%);
3152
+ opacity: 0;
3153
+ }
3154
+
3155
+ .grid_dropdown_modal {
3156
+ width: 12.1875rem;
3157
+ height: 100%;
3158
+ border-radius: var(--rounded-sm) 0 0 var(--rounded-sm);
3159
+ border: 1px solid var(--color-border-subtler, #e3e8ef);
3160
+ background: var(--color-background-card, #ffffff);
3161
+ transition: transform 0.3s ease-in-out;
3162
+ }
3163
+
3164
+ .grid_card_modal_close_button {
3165
+ position: absolute;
3166
+ left: 0.5rem;
3167
+ top: 0.5rem;
3168
+ }
3036
3169
 
3037
3170
  /* Mobile Table View Styles */
3038
3171
  .mobile_wrapper {
@@ -6,9 +6,17 @@ export class GbTable {
6
6
  this.columns = [
7
7
  // { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },
8
8
  // { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },
9
- // { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },
9
+ // {
10
+ // key: 'name',
11
+ // label: 'Name',
12
+ // sortable: true,
13
+ // sortType: 'string',
14
+ // helpIcon: true,
15
+ // supportingText: row => row.role,
16
+ // mobile: { position: 'top_right' },
17
+ // },
10
18
  // { key: 'role', label: 'Role' },
11
- // { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number', cellStyle: (row) => ({color: row.amount > 200 ? 'green' : ''}) },
19
+ // { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number', cellStyle: row => ({ color: row.amount > 200 ? 'green' : '' }) },
12
20
  // {
13
21
  // key: 'status',
14
22
  // label: 'Status',
@@ -67,6 +75,14 @@ export class GbTable {
67
75
  // { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },
68
76
  // { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },
69
77
  ];
78
+ // = {
79
+ // badges: [
80
+ // { key: 'role', label: 'Role' },
81
+ // { key: 'amount', label: 'Amount' },
82
+ // ],
83
+ // button:
84
+ // { icon: 'assets/sent.svg', text: 'Send Money', action: 'send_money' },
85
+ // };
70
86
  this.tableHeaderConfig = {
71
87
  tableHeading: false,
72
88
  tableHeadingLabel: 'Suspicious outflows',
@@ -76,6 +92,7 @@ export class GbTable {
76
92
  showSearch: true,
77
93
  showExport: true,
78
94
  showRefreshButton: false,
95
+ showLayoutToggle: false,
79
96
  datePickerMode: 'range',
80
97
  inputPlaceholder: 'Transaction reference',
81
98
  };
@@ -128,14 +145,16 @@ export class GbTable {
128
145
  this.modalPosition = { x: 0, y: 0 };
129
146
  this.showFilterModalInternal = false;
130
147
  this.isFilterModalVisible = false;
148
+ this.isGridModalVisible = false;
131
149
  this.internalLoading = false;
150
+ this.currentTableLayout = 'grid';
151
+ this.showGridCardModal = false;
132
152
  this.isDraggingModal = false;
133
153
  this.dragOffset = { x: 0, y: 0 };
134
154
  this.actionButtonRefs = [];
135
155
  this.draggedIndex = null;
136
156
  this.handlePageChange = ({ detail }) => {
137
157
  const { pageNumber, pageSize } = detail;
138
- // console.log(detail);
139
158
  // Update these state variables to trigger a re-render
140
159
  this.internalPageSize = pageSize;
141
160
  this.internalCurrentPage = pageNumber;
@@ -225,8 +244,8 @@ export class GbTable {
225
244
  }
226
245
  const value = this.getCellValue(col, row);
227
246
  const resolvedClass = typeof col.cellClass === 'function' ? col.cellClass(row) : ((_d = col.cellClass) !== null && _d !== void 0 ? _d : '');
228
- const resolvedStyle = typeof col.cellStyle === 'function' ? col.cellStyle(row) : (_e = col.cellStyle) !== null && _e !== void 0 ? _e : {};
229
- return h("p", { class: `body_text text-sm-regular ${resolvedClass}`, style: resolvedStyle }, value);
247
+ const resolvedStyle = typeof col.cellStyle === 'function' ? col.cellStyle(row) : ((_e = col.cellStyle) !== null && _e !== void 0 ? _e : {});
248
+ return (h("p", { class: `body_text text-sm-regular ${resolvedClass}`, style: resolvedStyle }, value));
230
249
  }
231
250
  getCellValue(col, row) {
232
251
  if (col.value) {
@@ -249,6 +268,20 @@ export class GbTable {
249
268
  // Calculate available space for dropdown positioning
250
269
  requestAnimationFrame(() => this.calculateDropdownPlacement(nativeBtn, this.dropdownRef));
251
270
  }
271
+ openGridModal(rowIndex) {
272
+ this.openRowIndex = rowIndex;
273
+ this.isGridModalVisible = true;
274
+ requestAnimationFrame(() => {
275
+ this.isGridModalVisible = true;
276
+ });
277
+ }
278
+ closeGridModal() {
279
+ this.openRowIndex = null;
280
+ this.isGridModalVisible = false;
281
+ setTimeout(() => {
282
+ this.showFilterModalInternal = false;
283
+ }, 300);
284
+ }
252
285
  calculateDropdownPlacement(buttonElement, dropdownElement) {
253
286
  if (!buttonElement || !dropdownElement)
254
287
  return;
@@ -352,15 +385,11 @@ export class GbTable {
352
385
  this.selectionChanged.emit(selected);
353
386
  }
354
387
  get displayedData() {
355
- // console.log('sortedData length:', this.sortedData.length);
356
- // console.log('mode:', this.paginationConfig?.paginationMode);
357
- // console.log('page:', this.internalCurrentPage, 'size:', this.internalPageSize);
358
388
  if (!this.paginationConfig || this.paginationConfig.paginationMode === 'external') {
359
389
  return this.sortedData;
360
390
  }
361
391
  const start = (this.internalCurrentPage - 1) * this.internalPageSize;
362
392
  const end = start + this.internalPageSize;
363
- // console.log('slice:', start, end);
364
393
  return this.sortedData.slice(start, end);
365
394
  }
366
395
  get totalPages() {
@@ -398,6 +427,21 @@ export class GbTable {
398
427
  transition: 'transform 0.2s ease',
399
428
  } }, h("path", { d: "M7.99998 13.3332V2.6665M7.99998 13.3332C8.87837 13.3332 11.3333 9.99993 11.3333 9.99993M7.99998 13.3332C7.12158 13.3332 4.66663 9.9999 4.66663 9.9999", stroke: this.sortKey === col.key ? 'var(--color-icon, #4B5565)' : 'var(--color-icon-disabled, #808c9e)', "stroke-linecap": "round", "stroke-linejoin": "round" }))), col.helpIcon && (h("gb-help-tooltip", { "show-supporting-text": "true" }, h("p", { slot: "label" }, "This is a label"), h("p", { slot: "supporting_text" }, "This is a supporting text")))));
400
429
  }
430
+ validateMobilePositions(newCols) {
431
+ const positions = this.internalColumns.map(c => { var _a; return (_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position; }).filter(Boolean);
432
+ const duplicates = positions.filter((item, index) => positions.indexOf(item) !== index);
433
+ if (duplicates.length) {
434
+ console.warn('[gb-table] Duplicate mobile positions detected:', duplicates);
435
+ }
436
+ this.initializeColumns(newCols);
437
+ }
438
+ emitRowData(row) {
439
+ this.rowClicked.emit(row);
440
+ }
441
+ generateNameInitials(name) {
442
+ const splitNames = name.split(' ');
443
+ return splitNames.map((nm) => nm.charAt(0));
444
+ }
401
445
  renderDesktopView() {
402
446
  // compute table min-width to force horizontal scroll when > 5 columns
403
447
  const defaultColWidth = 160;
@@ -440,16 +484,15 @@ export class GbTable {
440
484
  this.openRowIndex = null;
441
485
  } })))))))))))))))));
442
486
  }
443
- validateMobilePositions(newCols) {
444
- const positions = this.internalColumns.map(c => { var _a; return (_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position; }).filter(Boolean);
445
- const duplicates = positions.filter((item, index) => positions.indexOf(item) !== index);
446
- if (duplicates.length) {
447
- console.warn('[gb-table] Duplicate mobile positions detected:', duplicates);
448
- }
449
- this.initializeColumns(newCols);
450
- }
451
- emitRowData(row) {
452
- this.rowClicked.emit(row);
487
+ renderGridView() {
488
+ return (h("div", { class: `table_grid_wrapper` }, this.displayedData.map((row, rowIndex) => {
489
+ var _a, _b;
490
+ return (h("div", { class: "table_grid_card" }, h("div", { class: "grid_card_profile" }, h("div", { class: "grid_card_profile_content" }, h("div", { class: "profile_avatar" }, h("gb-avatar", { size: "lg", "show-border": "false" }, h("h1", { slot: "initials" }, this.generateNameInitials(row.name)))), h("div", { class: "profile_details" }, h("div", { class: "profile_name" }, h("p", { class: "text-lg-semi-bold" }, row.name)), (_b = (_a = this.gridCardConfig) === null || _a === void 0 ? void 0 : _a.badges) === null || _b === void 0 ? void 0 :
491
+ _b.map(badge => (h("gb-badge", { size: "lg", type: "badge_modern", color: "gray" }, h("p", null, row[badge.key]))))))), h("div", { class: "grid_card_buttons" }, h("div", { class: "btn" }, h("gb-button", { size: "md", hierarchy: "secondary_gray", icon: "default", "icon-leading": this.gridCardConfig.button.icon ? true : false, iconLeadingSwap: this.gridCardConfig.button.icon, onClick: () => this.handleAction(this.gridCardConfig.button.action, row) }, h("p", null, this.gridCardConfig.button.text))), h("gb-button", { size: "md", hierarchy: "secondary_gray", iconLeading: true, "icon-leading-swap": "assets/more-vertical.svg", icon: "only", onClick: () => this.openGridModal(rowIndex) })), this.openRowIndex === rowIndex && this.isGridModalVisible && (h("div", { class: `grid_dropdown_modal_overlay ${this.isGridModalVisible ? 'open' : 'closing'}` }, h("gb-button-close", { size: "sm", color: "gray", class: "grid_card_modal_close_button", onClick: () => this.closeGridModal() }), h("div", { class: "grid_dropdown_modal" }, this.dropdownOptions.map(action => (h("gb-dropdown-items-with-shortcut", { icon: action.icon ? true : false, state: action.disabled ? StateEnum.Disabled : StateEnum.Default, label: action.label, "icon-src": action.icon, onClick: () => {
492
+ this.handleAction(action.action, row);
493
+ this.openRowIndex = null;
494
+ } }))))))));
495
+ })));
453
496
  }
454
497
  renderMobileView() {
455
498
  return (h("div", { class: "mobile_wrapper" }, this.displayedData.map(row => {
@@ -486,6 +529,12 @@ export class GbTable {
486
529
  exportButtonClicked(detail) {
487
530
  this.exportClicked.emit(detail.detail);
488
531
  }
532
+ onRefreshButtonClicked() {
533
+ this.refreshButtonClicked.emit();
534
+ }
535
+ switchTableLayout(layout) {
536
+ this.currentTableLayout = layout.detail;
537
+ }
489
538
  toggleColumn(event, columnKey) {
490
539
  const isVisible = event.detail;
491
540
  this.internalColumns = this.internalColumns.map(col => (col.key === columnKey ? Object.assign(Object.assign({}, col), { visible: isVisible }) : col));
@@ -511,16 +560,16 @@ export class GbTable {
511
560
  window.removeEventListener('resize', this.checkViewport);
512
561
  }
513
562
  render() {
514
- return (h("div", { key: 'db94ba1f0c6df50a9912269e5868410965a1731d', class: `table_wrapper` }, h("gb-table-header", { key: 'baf7efe46da8fd6644265c151e2e2b180207c9ce', mode: this.tableHeaderConfig.datePickerMode, "table-heading": this.tableHeaderConfig.tableHeading, "table-heading-label": this.tableHeaderConfig.tableHeadingLabel, "show-search": this.tableHeaderConfig.showSearch, "show-date-filter": this.tableHeaderConfig.showDateFilter, "show-filter": this.tableHeaderConfig.showFilter, "show-export": this.tableHeaderConfig.showExport, "show-column-options": this.tableHeaderConfig.showColumnOptions, "show-refresh-button": this.tableHeaderConfig.showRefreshButton, "input-placeholder": this.tableHeaderConfig.inputPlaceholder, "date-picker-placeholder": this.tableHeaderConfig.datePickerPlaceholder, "show-entire-data": this.tableHeaderConfig.showEntireData, "show-layout-toggle": this.tableHeaderConfig.showLayoutToggle, "filter-state": this.tableHeaderConfig.filterState, "filter-count": this.tableHeaderConfig.filterCount, "export-button-state": this.tableHeaderConfig.exportButtonState, "pdf-state": this.tableHeaderConfig.pdfState, "csv-state": this.tableHeaderConfig.csvState, onInputValueChanged: this.emitSearchValue.bind(this), onDateChange: this.emitDateChange.bind(this), onColumnOptionsButtonClicked: this.columnOptionsButtonClicked(), onExportClicked: e => this.exportButtonClicked(e), onFilterButtonClicked: () => this.openFilterModal() }), this.showColumnsPanel && (h("div", { key: '7b0cf14209c88a9906e7f9d76b4b754d2b57367a', class: "dialog", style: {
563
+ return (h("div", { key: '41ad992da9a1e72bb4e51e11ebdc023e35d106e0', class: `table_wrapper ${this.currentTableLayout}` }, h("div", { key: '3148992bee2f378ad2fd6eb0671cfabb8899f01a', class: `table-header ${this.currentTableLayout}` }, h("gb-table-header", { key: 'acb4db2dadac69c07cd3fbb4f89b2e99c6f15773', mode: this.tableHeaderConfig.datePickerMode, "table-heading": this.tableHeaderConfig.tableHeading, "table-heading-label": this.tableHeaderConfig.tableHeadingLabel, "show-search": this.tableHeaderConfig.showSearch, "show-date-filter": this.tableHeaderConfig.showDateFilter, "show-filter": this.tableHeaderConfig.showFilter, "show-export": this.tableHeaderConfig.showExport, "show-column-options": this.tableHeaderConfig.showColumnOptions, "show-refresh-button": this.tableHeaderConfig.showRefreshButton, "input-placeholder": this.tableHeaderConfig.inputPlaceholder, "date-picker-placeholder": this.tableHeaderConfig.datePickerPlaceholder, "show-entire-data": this.tableHeaderConfig.showEntireData, "show-layout-toggle": this.tableHeaderConfig.showLayoutToggle, "filter-state": this.tableHeaderConfig.filterState, "filter-count": this.tableHeaderConfig.filterCount, "export-button-state": this.tableHeaderConfig.exportButtonState, "pdf-state": this.tableHeaderConfig.pdfState, "csv-state": this.tableHeaderConfig.csvState, onInputValueChanged: this.emitSearchValue.bind(this), onDateChange: this.emitDateChange.bind(this), onColumnOptionsButtonClicked: this.columnOptionsButtonClicked(), onExportClicked: e => this.exportButtonClicked(e), onFilterButtonClicked: () => this.openFilterModal(), onRefreshButtonClicked: () => this.onRefreshButtonClicked(), onLayoutButtonClicked: e => this.switchTableLayout(e) })), this.showColumnsPanel && this.columns.length > 0 && (h("div", { key: 'eca151da1e38ecc34a71c4d7bcacabdcb00c6071', class: "dialog", style: {
515
564
  transform: `translate(${this.modalPosition.x}px, ${this.modalPosition.y}px)`,
516
- } }, h("div", { key: '732916316e147ce1dc1ca6b1376812bd1c972820', class: "column-modal" }, h("div", { key: '721fb6a9b5fe32fcdc0da5603b556782dabbd48c', class: "modal_header" }, h("div", { key: 'd568e6b262c020615250a0cf074ab0eeab57585d', class: "modal_header_content", onPointerDown: this.onModalPointerDown }, h("h4", { key: '3f5d07af3cdc6733f8df0b15ec8b6a883a6251f3', class: "heading display-xs-semi-bold" }, "Column Options"), h("gb-button-close", { key: '527eaf24a973964cb2b208e1a58dc3da52c2ee0e', class: "close_button", color: "gray", size: "sm", onClick: () => (this.showColumnsPanel = false) }))), h("div", { key: '9833cb5a3245b9627e3575dc72d257b89ea6d410', class: "content_wrapper" }, h("div", { key: '7d3f5bbcf994e95d1256fcd6d0d4a0ede0313e48', class: "modal_content" }, this.internalColumns.map((col, index) => (h("div", { class: "column_option", draggable: true, onDragStart: () => (this.draggedIndex = index), onDragOver: e => e.preventDefault(), onDrop: () => {
565
+ } }, h("div", { key: '6f62f43f483fb8b885e8303babdcd83292d6bd32', class: "column-modal" }, h("div", { key: '03d472af316fcde5b822afc1890838e24e0dba51', class: "modal_header" }, h("div", { key: '5123652fa43deee4bb9e9e67e8d26b403bc61e50', class: "modal_header_content", onPointerDown: this.onModalPointerDown }, h("h4", { key: '6d46d6055141c1190c5de0b2dfaa9776c75b6538', class: "heading display-xs-semi-bold" }, "Column Options"), h("gb-button-close", { key: 'b4c9145bb503fe300b108806736d55289b5627eb', class: "close_button", color: "gray", size: "sm", onClick: () => (this.showColumnsPanel = false) }))), h("div", { key: '5a5ea49521013490ba1ce6135a522898ab030d9b', class: "content_wrapper" }, h("div", { key: '67f2b4079b44a0e1d531f362a59d282ea4a5d1ba', class: "modal_content" }, this.internalColumns.map((col, index) => (h("div", { class: "column_option", draggable: true, onDragStart: () => (this.draggedIndex = index), onDragOver: e => e.preventDefault(), onDrop: () => {
517
566
  if (this.draggedIndex !== null && this.draggedIndex !== index) {
518
567
  this.reorderColumns(this.draggedIndex, index);
519
568
  }
520
569
  this.draggedIndex = null;
521
570
  } }, h("div", { class: "label_and_dragger" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M8 6H8.00635M8 12H8.00635M8 18H8.00635M15.9937 6H16M15.9937 12H16M15.9937 18H16", stroke: "var(--color-icon, #4B5565)", "stroke-width": "2.5", "stroke-linecap": "round", "stroke-linejoin": "round" })), h("p", { class: "label text-md-regular" }, col.label)), h("gb-toggle", { size: "sm", state: StateEnum.Default, position: "right", pressed: col.visible, text: false, onToggleClicked: e => {
522
571
  this.toggleColumn(e, col.key);
523
- } })))), h("div", { key: 'bef112827b7898c2a27a5a0ecada4ce1df9e5151', class: "modal-actions" })))))), this.showFilterModalInternal && (h("div", { key: '5415a76c52c1f80d681cd613c91c6acdf5d424aa', class: `filter_modal_wrapper ${this.isFilterModalVisible ? 'open' : 'closing'}` }, h("gb-filter-modal", { key: '1c7e3d27495749c2dd4c0155d2f2ffe9f7568e52', class: "filter_modal", filterConfig: this.filterConfig, onClose: e => {
572
+ } })))), h("div", { key: '2bde3fa7dd53d65aea236e17de915fc13c1e7dbd', class: "modal-actions" })))))), this.showFilterModalInternal && this.filterConfig && (h("div", { key: '40274e799964875925b319c3492cd6188ba22991', class: `filter_modal_wrapper ${this.isFilterModalVisible ? 'open' : 'closing'}` }, h("gb-filter-modal", { key: '4b800135ff21992f7bf40e58d0a870a5bbbacb7f', class: "filter_modal", filterConfig: this.filterConfig, onClose: e => {
524
573
  e.stopPropagation();
525
574
  this.closeFilterModal();
526
575
  }, onApplyFilters: e => this.onApplyFilters(e) }))), this.internalLoading ? (
@@ -559,7 +608,13 @@ export class GbTable {
559
608
  // ✅ No loading + no data = empty state
560
609
  h("div", { class: "empty_state_wrapper" }, h("gb-empty-state", { size: "sm", "main-text": this.emptyStateConfig.mainText, "supporting-text": this.emptyStateConfig.supportingText, color: this.emptyStateConfig.color, theme: this.emptyStateConfig.theme, "primary-button-icon-leading-swap": "assets/plus.svg", "illustration-icon": this.emptyStateConfig.illustrationIcon, background: true, "background-type": "grid", icon: "illustration", "illustration-style": "cloud" }))) : (
561
610
  // ✅ Has data + not loading
562
- h(Fragment, null, this.isMobile ? this.renderMobileView() : this.renderDesktopView())), this.paginationConfig && this.data.length > 0 && (h("gb-pagination", { key: '162a6f2d43f693d8a4a6dd44940ee3e1b7a9b49f', "entries-dropdown-menu-position": this.paginationConfig.entriesDropdownMenuPosition, "page-size": this.paginationConfig.paginationMode === 'internal' ? this.internalPageSize : this.paginationConfig.pageSize, "current-page": this.paginationConfig.paginationMode === 'internal' ? this.internalCurrentPage : this.paginationConfig.currentPage, "total-pages": this.totalPages, onPageItemSelected: this.handlePageChange.bind(this) }))));
611
+ h(Fragment, null, this.isMobile
612
+ ? this.renderMobileView()
613
+ : this.currentTableLayout === 'list'
614
+ ? this.renderDesktopView()
615
+ : this.currentTableLayout === 'grid'
616
+ ? this.renderGridView()
617
+ : null)), this.paginationConfig && this.data.length > 0 && (h("div", { key: 'd851476487e72f2a021ed12f9aa0a66918c7e955', class: `pagination ${this.currentTableLayout}` }, h("gb-pagination", { key: 'ecc8b64e633faa0b85c2099ca412378c8681c2b2', "entries-dropdown-menu-position": this.paginationConfig.entriesDropdownMenuPosition, "page-size": this.paginationConfig.paginationMode === 'internal' ? this.internalPageSize : this.paginationConfig.pageSize, "current-page": this.paginationConfig.paginationMode === 'internal' ? this.internalCurrentPage : this.paginationConfig.currentPage, "total-pages": this.totalPages, onPageItemSelected: this.handlePageChange.bind(this) })))));
563
618
  }
564
619
  static get is() { return "gb-table"; }
565
620
  static get encapsulation() { return "shadow"; }
@@ -617,7 +672,7 @@ export class GbTable {
617
672
  },
618
673
  "getter": false,
619
674
  "setter": false,
620
- "defaultValue": "[\r\n // { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n // { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },\r\n // { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number', cellStyle: (row) => ({color: row.amount > 200 ? 'green' : ''}) },\r\n // {\r\n // key: 'status',\r\n // label: 'Status',\r\n // cellComponent: 'gb-badge',\r\n // cellProps: row => ({ color: row.status === 'Completed' ? 'success' : 'error', type: 'badge_modern', size: 'sm', icon: 'dot' }),\r\n // cellSlots: {\r\n // default: {\r\n // tag: 'p',\r\n // content: row => row.status,\r\n // },\r\n // },\r\n // },\r\n ]"
675
+ "defaultValue": "[\r\n // { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n // { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },\r\n // {\r\n // key: 'name',\r\n // label: 'Name',\r\n // sortable: true,\r\n // sortType: 'string',\r\n // helpIcon: true,\r\n // supportingText: row => row.role,\r\n // mobile: { position: 'top_right' },\r\n // },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number', cellStyle: row => ({ color: row.amount > 200 ? 'green' : '' }) },\r\n // {\r\n // key: 'status',\r\n // label: 'Status',\r\n // cellComponent: 'gb-badge',\r\n // cellProps: row => ({ color: row.status === 'Completed' ? 'success' : 'error', type: 'badge_modern', size: 'sm', icon: 'dot' }),\r\n // cellSlots: {\r\n // default: {\r\n // tag: 'p',\r\n // content: row => row.status,\r\n // },\r\n // },\r\n // },\r\n ]"
621
676
  },
622
677
  "data": {
623
678
  "type": "unknown",
@@ -637,6 +692,23 @@ export class GbTable {
637
692
  "setter": false,
638
693
  "defaultValue": "[\r\n // {\r\n // id: '#30011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',\r\n // date: 'Jan 1, 2022',\r\n // name: 'Emma Johnson',\r\n // role: 'Frontend Developer',\r\n // level: 'Today',\r\n // customer: 'John Doe',\r\n // amount: '$120.00',\r\n // status: 'Completed',\r\n // },\r\n // { id: '#3002', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: new Date(), name: 'Liam Smith', role: 'Frontend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3004', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3005', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3006', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },\r\n // { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },\r\n // { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },\r\n // { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },\r\n // { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },\r\n // { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },\r\n // { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },\r\n // { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },\r\n // { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },\r\n // { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },\r\n // { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },\r\n // { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },\r\n // { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },\r\n // { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },\r\n // { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },\r\n // { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },\r\n // { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },\r\n // { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },\r\n // { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },\r\n // { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },\r\n // { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },\r\n // { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },\r\n // { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },\r\n // { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },\r\n // { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },\r\n // { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },\r\n // { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },\r\n // { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },\r\n ]"
639
694
  },
695
+ "gridCardConfig": {
696
+ "type": "unknown",
697
+ "mutable": false,
698
+ "complexType": {
699
+ "original": "{\r\n badges?: { key: string; label?: string }[];\r\n button?: { icon: string; text: string; action: string };\r\n }",
700
+ "resolved": "{ badges?: { key: string; label?: string; }[]; button?: { icon: string; text: string; action: string; }; }",
701
+ "references": {}
702
+ },
703
+ "required": false,
704
+ "optional": true,
705
+ "docs": {
706
+ "tags": [],
707
+ "text": ""
708
+ },
709
+ "getter": false,
710
+ "setter": false
711
+ },
640
712
  "tableHeaderConfig": {
641
713
  "type": "unknown",
642
714
  "mutable": false,
@@ -653,7 +725,7 @@ export class GbTable {
653
725
  },
654
726
  "getter": false,
655
727
  "setter": false,
656
- "defaultValue": "{\r\n tableHeading: false,\r\n tableHeadingLabel: 'Suspicious outflows',\r\n showDateFilter: true,\r\n showFilter: true,\r\n showColumnOptions: true,\r\n showSearch: true,\r\n showExport: true,\r\n showRefreshButton: false,\r\n datePickerMode: 'range',\r\n inputPlaceholder: 'Transaction reference',\r\n }"
728
+ "defaultValue": "{\r\n tableHeading: false,\r\n tableHeadingLabel: 'Suspicious outflows',\r\n showDateFilter: true,\r\n showFilter: true,\r\n showColumnOptions: true,\r\n showSearch: true,\r\n showExport: true,\r\n showRefreshButton: false,\r\n showLayoutToggle: false,\r\n datePickerMode: 'range',\r\n inputPlaceholder: 'Transaction reference',\r\n }"
657
729
  },
658
730
  "paginationConfig": {
659
731
  "type": "unknown",
@@ -959,7 +1031,10 @@ export class GbTable {
959
1031
  "modalPosition": {},
960
1032
  "showFilterModalInternal": {},
961
1033
  "isFilterModalVisible": {},
962
- "internalLoading": {}
1034
+ "isGridModalVisible": {},
1035
+ "internalLoading": {},
1036
+ "currentTableLayout": {},
1037
+ "showGridCardModal": {}
963
1038
  };
964
1039
  }
965
1040
  static get events() {
@@ -1053,6 +1128,36 @@ export class GbTable {
1053
1128
  "resolved": "{ dataType: string; exportType: string; }",
1054
1129
  "references": {}
1055
1130
  }
1131
+ }, {
1132
+ "method": "refreshButtonClicked",
1133
+ "name": "refreshButtonClicked",
1134
+ "bubbles": true,
1135
+ "cancelable": true,
1136
+ "composed": true,
1137
+ "docs": {
1138
+ "tags": [],
1139
+ "text": ""
1140
+ },
1141
+ "complexType": {
1142
+ "original": "void",
1143
+ "resolved": "void",
1144
+ "references": {}
1145
+ }
1146
+ }, {
1147
+ "method": "layoutButtonClicked",
1148
+ "name": "layoutButtonClicked",
1149
+ "bubbles": true,
1150
+ "cancelable": true,
1151
+ "composed": true,
1152
+ "docs": {
1153
+ "tags": [],
1154
+ "text": ""
1155
+ },
1156
+ "complexType": {
1157
+ "original": "string",
1158
+ "resolved": "string",
1159
+ "references": {}
1160
+ }
1056
1161
  }, {
1057
1162
  "method": "rowClicked",
1058
1163
  "name": "rowClicked",