globuswebcomponents 2.8.11 → 2.8.12

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 (226) hide show
  1. package/dist/cjs/gb-action-panel_75.cjs.entry.js +400 -101
  2. package/dist/cjs/gb-table-cell.cjs.entry.js +1 -1
  3. package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
  4. package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
  5. package/dist/cjs/gb-wysiwyg-editor-icon.cjs.entry.js +1 -1
  6. package/dist/cjs/globuscomponents.cjs.js +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
  9. package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
  10. package/dist/collection/components/gb-button/gb-button.js +30 -1
  11. package/dist/collection/components/gb-button/gb-button.js.map +1 -1
  12. package/dist/collection/components/gb-button/gb-button.tsx +6 -1
  13. package/dist/collection/components/gb-button/readme.md +10 -0
  14. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +4 -4
  15. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js.map +1 -1
  16. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +17 -9
  17. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
  18. package/dist/collection/components/gb-portal/gb-portal.js +51 -11
  19. package/dist/collection/components/gb-portal/gb-portal.js.map +1 -1
  20. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +8 -2
  21. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js.map +1 -1
  22. package/dist/collection/components/gb-table/gb-table.css +90 -22
  23. package/dist/collection/components/gb-table/gb-table.js +464 -72
  24. package/dist/collection/components/gb-table/gb-table.js.map +1 -1
  25. package/dist/collection/components/gb-table-cell/gb-table-cell.js +1 -1
  26. package/dist/collection/components/gb-table-header/gb-table-header.js +22 -22
  27. package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
  28. package/dist/collection/components/gb-tag/gb-tag.js +1 -1
  29. package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
  30. package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
  31. package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
  32. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -3
  33. package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
  34. package/dist/collection/components/gb-toast/gb-toast.js +18 -2
  35. package/dist/collection/components/gb-toast/gb-toast.js.map +1 -1
  36. package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
  37. package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
  38. package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
  39. package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +1 -1
  40. package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
  41. package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
  42. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
  43. package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
  44. package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
  45. package/dist/collection/models/reusableModels.js.map +1 -1
  46. package/dist/components/gb-action-panel.js +2 -2
  47. package/dist/components/gb-approval-modal.js +8 -8
  48. package/dist/components/gb-avatar-add-button.js +1 -1
  49. package/dist/components/gb-avatar-dropdown.js +1 -1
  50. package/dist/components/gb-avatar-group.js +2 -2
  51. package/dist/components/gb-btn.js +1 -1
  52. package/dist/components/gb-button.js +1 -1
  53. package/dist/components/gb-checkbox-group-item.js +1 -1
  54. package/dist/components/gb-checkbox-group.js +3 -3
  55. package/dist/components/gb-collapse-button.js +1 -1
  56. package/dist/components/gb-comment.js +2 -2
  57. package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
  58. package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
  59. package/dist/components/gb-date-picker.js +1 -1
  60. package/dist/components/gb-detail-cell.js +2 -2
  61. package/dist/components/gb-empty-state.js +2 -2
  62. package/dist/components/gb-file-upload-item-base.js +1 -1
  63. package/dist/components/gb-file-upload.js +4 -4
  64. package/dist/components/gb-filter-button.js +1 -1
  65. package/dist/components/gb-header.js +14 -14
  66. package/dist/components/gb-help-tooltip.js +1 -1
  67. package/dist/components/gb-horizontal-tabs.js +4 -4
  68. package/dist/components/gb-horizontal-tabs.js.map +1 -1
  69. package/dist/components/gb-icon-button-base.js +1 -1
  70. package/dist/components/gb-input-dropdown.js +1 -1
  71. package/dist/components/gb-input-field.js +1 -1
  72. package/dist/components/gb-modal-action.js +1 -1
  73. package/dist/components/gb-nav-bar-item.js +1 -1
  74. package/dist/components/gb-nav-bar-sidemenu.js +2 -2
  75. package/dist/components/gb-nav-bar.js +2 -2
  76. package/dist/components/gb-notification-pane.js +1 -1
  77. package/dist/components/gb-pagination.js +1 -1
  78. package/dist/components/gb-password-button.js +1 -1
  79. package/dist/components/gb-portal.js +1 -1
  80. package/dist/components/gb-progress-bar.js +1 -1
  81. package/dist/components/gb-prompt-modal.js +2 -2
  82. package/dist/components/gb-sidebar.js +5 -5
  83. package/dist/components/gb-simple-side-bar-item.js +1 -1
  84. package/dist/components/gb-slider-control-handle.js +1 -1
  85. package/dist/components/gb-slider.js +2 -2
  86. package/dist/components/gb-tab-button-base.js +1 -1
  87. package/dist/components/gb-table-cell.js +1 -1
  88. package/dist/components/gb-table-header.js +1 -343
  89. package/dist/components/gb-table-header.js.map +1 -1
  90. package/dist/components/gb-table.js +368 -107
  91. package/dist/components/gb-table.js.map +1 -1
  92. package/dist/components/gb-tag-checkbox.js +1 -1
  93. package/dist/components/gb-tag-close.js +1 -1
  94. package/dist/components/gb-tag-count.js +1 -1
  95. package/dist/components/gb-tag.js +1 -1
  96. package/dist/components/gb-textarea-input-field.js +1 -1
  97. package/dist/components/gb-theme-tab.js +1 -1
  98. package/dist/components/gb-toast-button.js +1 -1
  99. package/dist/components/gb-toast.js +19 -5
  100. package/dist/components/gb-toast.js.map +1 -1
  101. package/dist/components/gb-toggle-base.js +1 -1
  102. package/dist/components/gb-toggle.js +2 -2
  103. package/dist/components/gb-token-field-compact.js +1 -1
  104. package/dist/components/gb-token-field-compressed.js +2 -2
  105. package/dist/components/gb-tooltip.js +1 -1
  106. package/dist/components/gb-vertical-tabs.js +1 -1
  107. package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
  108. package/dist/components/gb-wysiwyg-tooltip.js +1 -1
  109. package/dist/components/{p-DvV7snbA.js → p-49dlhIYS.js} +10 -4
  110. package/dist/components/p-49dlhIYS.js.map +1 -0
  111. package/dist/components/{p-Db25H5UF.js → p-B0GSTQw3.js} +3 -3
  112. package/dist/components/{p-Db25H5UF.js.map → p-B0GSTQw3.js.map} +1 -1
  113. package/dist/components/{p-BQU0qEQ8.js → p-B9vWIoWs.js} +19 -15
  114. package/dist/components/p-B9vWIoWs.js.map +1 -0
  115. package/dist/components/p-BHOJKe6j.js +348 -0
  116. package/dist/components/p-BHOJKe6j.js.map +1 -0
  117. package/dist/components/{p-DAm-213Y.js → p-BHyPbecw.js} +3 -3
  118. package/dist/components/{p-DAm-213Y.js.map → p-BHyPbecw.js.map} +1 -1
  119. package/dist/components/{p-apFyrUM4.js → p-BTHdpYQl.js} +114 -9
  120. package/dist/components/p-BTHdpYQl.js.map +1 -0
  121. package/dist/components/{p-CEK6hgEo.js → p-BWx-o392.js} +4 -4
  122. package/dist/components/{p-CEK6hgEo.js.map → p-BWx-o392.js.map} +1 -1
  123. package/dist/components/{p-ByFyt4ia.js → p-BYwfw805.js} +3 -3
  124. package/dist/components/{p-ByFyt4ia.js.map → p-BYwfw805.js.map} +1 -1
  125. package/dist/components/{p-C8LbZ4kH.js → p-BaOylBgt.js} +5 -5
  126. package/dist/components/{p-C8LbZ4kH.js.map → p-BaOylBgt.js.map} +1 -1
  127. package/dist/components/{p-e-QGBXGa.js → p-Bt2auhuC.js} +3 -3
  128. package/dist/components/{p-e-QGBXGa.js.map → p-Bt2auhuC.js.map} +1 -1
  129. package/dist/components/{p-ofbsewem.js → p-ByCoMbO2.js} +5 -5
  130. package/dist/components/{p-ofbsewem.js.map → p-ByCoMbO2.js.map} +1 -1
  131. package/dist/components/{p-DlH97JYU.js → p-CIk9ZD0b.js} +13 -13
  132. package/dist/components/{p-DlH97JYU.js.map → p-CIk9ZD0b.js.map} +1 -1
  133. package/dist/components/{p-BXST6Rgi.js → p-CKzAcGL2.js} +3 -3
  134. package/dist/components/{p-BXST6Rgi.js.map → p-CKzAcGL2.js.map} +1 -1
  135. package/dist/components/{p-wopm_NSt.js → p-CLeShKhE.js} +4 -4
  136. package/dist/components/{p-wopm_NSt.js.map → p-CLeShKhE.js.map} +1 -1
  137. package/dist/components/{p-BVu-h1cX.js → p-CQFpc6__.js} +3 -3
  138. package/dist/components/{p-BVu-h1cX.js.map → p-CQFpc6__.js.map} +1 -1
  139. package/dist/components/{p-CaVLFaUk.js → p-CSka0gDO.js} +9 -9
  140. package/dist/components/{p-CaVLFaUk.js.map → p-CSka0gDO.js.map} +1 -1
  141. package/dist/components/{p-BKvAhdEP.js → p-C_9HhBzA.js} +3 -3
  142. package/dist/components/{p-BKvAhdEP.js.map → p-C_9HhBzA.js.map} +1 -1
  143. package/dist/components/{p-cxKfHAER.js → p-C_f2hEd8.js} +10 -5
  144. package/dist/components/p-C_f2hEd8.js.map +1 -0
  145. package/dist/components/{p-T48Hj6xM.js → p-Cdgx4Hwc.js} +3 -3
  146. package/dist/components/{p-T48Hj6xM.js.map → p-Cdgx4Hwc.js.map} +1 -1
  147. package/dist/components/{p-kAsXRFkD.js → p-Ci5AB68V.js} +3 -3
  148. package/dist/components/{p-kAsXRFkD.js.map → p-Ci5AB68V.js.map} +1 -1
  149. package/dist/components/{p-9xYUsl7q.js → p-Cj67a6IJ.js} +3 -3
  150. package/dist/components/{p-9xYUsl7q.js.map → p-Cj67a6IJ.js.map} +1 -1
  151. package/dist/components/{p-Dn5rOzr_.js → p-CsQhqi-L.js} +3 -3
  152. package/dist/components/{p-Dn5rOzr_.js.map → p-CsQhqi-L.js.map} +1 -1
  153. package/dist/components/{p-uV0Dz5N_.js → p-CwTzPqb2.js} +4 -4
  154. package/dist/components/{p-uV0Dz5N_.js.map → p-CwTzPqb2.js.map} +1 -1
  155. package/dist/components/{p-CTNnGEZs.js → p-D0VVIazI.js} +3 -3
  156. package/dist/components/{p-CTNnGEZs.js.map → p-D0VVIazI.js.map} +1 -1
  157. package/dist/components/{p-Bo4efGgC.js → p-DLhsTHln.js} +3 -3
  158. package/dist/components/{p-Bo4efGgC.js.map → p-DLhsTHln.js.map} +1 -1
  159. package/dist/components/{p-Dd_Eos3v.js → p-DMjBTN85.js} +4 -4
  160. package/dist/components/{p-Dd_Eos3v.js.map → p-DMjBTN85.js.map} +1 -1
  161. package/dist/components/{p-DRngXcjq.js → p-DNAqkyM0.js} +4 -4
  162. package/dist/components/{p-DRngXcjq.js.map → p-DNAqkyM0.js.map} +1 -1
  163. package/dist/components/{p-BgNv7S1j.js → p-DSuh8sT6.js} +4 -4
  164. package/dist/components/{p-BgNv7S1j.js.map → p-DSuh8sT6.js.map} +1 -1
  165. package/dist/components/{p-CO71VZ1J.js → p-DUlP9ot1.js} +4 -4
  166. package/dist/components/{p-CO71VZ1J.js.map → p-DUlP9ot1.js.map} +1 -1
  167. package/dist/components/{p-CTfLJ_Yp.js → p-DfeAzwhz.js} +3 -3
  168. package/dist/components/{p-CTfLJ_Yp.js.map → p-DfeAzwhz.js.map} +1 -1
  169. package/dist/components/{p-BByUPZTR.js → p-DpjHb85v.js} +5 -5
  170. package/dist/components/{p-BByUPZTR.js.map → p-DpjHb85v.js.map} +1 -1
  171. package/dist/components/{p-CgQonNKV.js → p-Dqd4hVBB.js} +3 -3
  172. package/dist/components/{p-CgQonNKV.js.map → p-Dqd4hVBB.js.map} +1 -1
  173. package/dist/components/{p-hck2xhPi.js → p-Z_m9SN0_.js} +3 -3
  174. package/dist/components/{p-hck2xhPi.js.map → p-Z_m9SN0_.js.map} +1 -1
  175. package/dist/components/{p-qZNN2nfj.js → p-blTaQhCM.js} +5 -5
  176. package/dist/components/{p-qZNN2nfj.js.map → p-blTaQhCM.js.map} +1 -1
  177. package/dist/components/p-cHn6O-Kf.js.map +1 -1
  178. package/dist/components/{p-yDP7ObG5.js → p-g6ayM_Wt.js} +6 -6
  179. package/dist/components/{p-yDP7ObG5.js.map → p-g6ayM_Wt.js.map} +1 -1
  180. package/dist/components/{p-c0RQJb24.js → p-rw4UZJOE.js} +11 -11
  181. package/dist/components/{p-c0RQJb24.js.map → p-rw4UZJOE.js.map} +1 -1
  182. package/dist/components/{p-BtGA-5EV.js → p-y6Xot37W.js} +3 -3
  183. package/dist/components/{p-BtGA-5EV.js.map → p-y6Xot37W.js.map} +1 -1
  184. package/dist/components/test-input-tag.js +6 -6
  185. package/dist/docs.json +524 -57
  186. package/dist/esm/gb-action-panel_75.entry.js +400 -101
  187. package/dist/esm/gb-table-cell.entry.js +1 -1
  188. package/dist/esm/gb-token-field-compact.entry.js +1 -1
  189. package/dist/esm/gb-token-field-compressed.entry.js +2 -2
  190. package/dist/esm/gb-wysiwyg-editor-icon.entry.js +1 -1
  191. package/dist/esm/globuscomponents.js +1 -1
  192. package/dist/esm/loader.js +1 -1
  193. package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
  194. package/dist/esm/test-input-tag.entry.js +2 -2
  195. package/dist/globuscomponents/gb-button.tsx +6 -1
  196. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  197. package/dist/globuscomponents/p-031a93b0.entry.js +2 -0
  198. package/dist/globuscomponents/{p-5f4f79f3.entry.js → p-7024cc46.entry.js} +2 -2
  199. package/dist/globuscomponents/p-7024cc46.entry.js.map +1 -0
  200. package/dist/globuscomponents/{p-5d4750b8.entry.js → p-a61d1385.entry.js} +2 -2
  201. package/dist/globuscomponents/{p-957759a4.entry.js → p-bc7a3ff1.entry.js} +2 -2
  202. package/dist/globuscomponents/{p-9f49601d.entry.js → p-bd89e53d.entry.js} +2 -2
  203. package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
  204. package/dist/globuscomponents/{p-b71b110d.entry.js → p-e4bda433.entry.js} +2 -2
  205. package/dist/globuscomponents/readme.md +10 -0
  206. package/dist/types/components/gb-button/gb-button.d.ts +1 -0
  207. package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +1 -1
  208. package/dist/types/components/gb-portal/gb-portal.d.ts +3 -1
  209. package/dist/types/components/gb-tab-button-base/gb-tab-button-base.d.ts +3 -2
  210. package/dist/types/components/gb-table/gb-table.d.ts +49 -0
  211. package/dist/types/components/gb-table-header/gb-table-header.d.ts +1 -1
  212. package/dist/types/components/gb-toast/gb-toast.d.ts +4 -0
  213. package/dist/types/components.d.ts +129 -20
  214. package/dist/types/models/reusableModels.d.ts +8 -0
  215. package/package.json +1 -1
  216. package/dist/components/p-BQU0qEQ8.js.map +0 -1
  217. package/dist/components/p-DvV7snbA.js.map +0 -1
  218. package/dist/components/p-apFyrUM4.js.map +0 -1
  219. package/dist/components/p-cxKfHAER.js.map +0 -1
  220. package/dist/globuscomponents/p-5f4f79f3.entry.js.map +0 -1
  221. package/dist/globuscomponents/p-9bf9cc0c.entry.js +0 -2
  222. /package/dist/globuscomponents/{p-9bf9cc0c.entry.js.map → p-031a93b0.entry.js.map} +0 -0
  223. /package/dist/globuscomponents/{p-5d4750b8.entry.js.map → p-a61d1385.entry.js.map} +0 -0
  224. /package/dist/globuscomponents/{p-957759a4.entry.js.map → p-bc7a3ff1.entry.js.map} +0 -0
  225. /package/dist/globuscomponents/{p-9f49601d.entry.js.map → p-bd89e53d.entry.js.map} +0 -0
  226. /package/dist/globuscomponents/{p-b71b110d.entry.js.map → p-e4bda433.entry.js.map} +0 -0
@@ -1,27 +1,13 @@
1
- import { h } from "@stencil/core";
1
+ import { h, Fragment } from "@stencil/core";
2
2
  import { StateEnum } from "../../models/reusableModels";
3
3
  export class GbTable {
4
4
  constructor() {
5
5
  this.columns = [
6
- { key: 'id', label: '#', width: '70px' },
7
- { key: 'date', label: 'Date' },
8
- { key: 'name', label: 'Name' },
6
+ { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },
7
+ { key: 'date', label: 'Date', mobile: { position: 'bottom_left' } },
8
+ { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, mobile: { position: 'top_right' } },
9
9
  { key: 'role', label: 'Role' },
10
- // { key: 'role', label: 'Role' },
11
- // { key: 'role', label: 'Role' },
12
- // { key: 'role', label: 'Role' },
13
- // { key: 'role', label: 'Role' },
14
- // { key: 'role', label: 'Role' },
15
- // { key: 'role', label: 'Role' },
16
- // { key: 'role', label: 'Role' },
17
- // { key: 'role', label: 'Role' },
18
- // { key: 'role', label: 'Role' },
19
- // { key: 'role', label: 'Role' },
20
- // { key: 'role', label: 'Role' },
21
- // { key: 'role', label: 'Role' },
22
- { key: 'level', label: 'Level' },
23
- { key: 'customer', label: 'Customer' },
24
- { key: 'amount', label: 'Amount' },
10
+ { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },
25
11
  {
26
12
  key: 'status',
27
13
  label: 'Status',
@@ -33,6 +19,7 @@ export class GbTable {
33
19
  icon: 'dot',
34
20
  }),
35
21
  cellSlots: row => h("p", null, row.status),
22
+ mobile: { position: 'bottom_right' },
36
23
  },
37
24
  // {
38
25
  // key: '',
@@ -49,51 +36,73 @@ export class GbTable {
49
36
  // },
50
37
  ];
51
38
  this.data = [
52
- {
53
- id: '#3057',
54
- date: 'Jan 3, 2022',
55
- name: 'Emmanuel Kadiri',
56
- role: 'Frontend developer',
57
- level: 'Today',
58
- customer: 'John Doe',
59
- amount: '$120.00',
60
- status: 'Completed',
61
- },
62
- {
63
- id: '#3058',
64
- date: 'Jan 4, 2022',
65
- customer: 'Sarah Johnson',
66
- amount: '$85.50',
67
- status: 'Pending',
68
- },
69
- {
70
- id: '#3059',
71
- date: 'Jan 5, 2022',
72
- customer: 'Michael Brown',
73
- amount: '$230.75',
74
- status: 'Cancelled',
75
- },
76
- {
77
- id: '#3060',
78
- date: 'Jan 6, 2022',
79
- customer: 'Emily Davis',
80
- amount: '$59.99',
81
- status: 'Completed',
82
- },
83
- {
84
- id: '#3061',
85
- date: 'Jan 7, 2022',
86
- customer: 'Daniel Wilson',
87
- amount: '$410.00',
88
- status: 'Pending',
89
- },
39
+ { id: '#3001', date: 'Jan 1, 2022', name: 'Emma Johnson', role: 'Frontend Developer', level: 'Today', customer: 'John Doe', amount: '$120.00', status: 'Completed' },
40
+ { id: '#3002', date: 'Jan 2, 2022', name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
41
+ { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },
42
+ { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },
43
+ { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },
44
+ { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },
45
+ { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },
46
+ { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },
47
+ { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },
48
+ { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },
49
+ { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },
50
+ { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },
51
+ { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },
52
+ { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },
53
+ { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },
54
+ { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },
55
+ { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },
56
+ { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },
57
+ { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },
58
+ { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },
59
+ { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },
60
+ { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },
61
+ { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },
62
+ { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },
63
+ { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },
64
+ { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },
65
+ { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },
66
+ { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },
67
+ { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },
68
+ { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },
90
69
  ];
70
+ this.tableHeaderConfig = {
71
+ tableHeading: false,
72
+ tableHeadingLabel: 'Suspicious outflows',
73
+ showDateFilter: true,
74
+ showFilter: true,
75
+ showColumnOptions: true,
76
+ showSearch: true,
77
+ showExport: true,
78
+ showRefreshButton: true,
79
+ };
80
+ this.paginationConfig = {
81
+ entriesDropdownMenuPosition: 'top',
82
+ };
83
+ this.showActionsColumn = true;
91
84
  this.rowActions = [{ label: 'View', action: 'view', disabled: true }];
92
- this.stickyFirstColumn = false;
85
+ this.stickyFirstColumn = true;
93
86
  this.stickyLastColumn = true;
94
- // @Prop() entriesDropdownPosition: 'top' | 'bottom' = 'top';
95
87
  this.actionsType = 'none';
88
+ this.showCheckbox = true;
89
+ this.paginationMode = 'internal';
90
+ this.currentPage = 1;
91
+ this.pageSize = 10;
92
+ this.internalCurrentPage = 1;
96
93
  this.openRowIndex = null;
94
+ this.sortDirection = 'asc';
95
+ this.selectedRowIds = new Set();
96
+ this.breakpoint = 'desktop';
97
+ this.isMobile = false;
98
+ this.actionButtonRefs = [];
99
+ }
100
+ componentWillLoad() {
101
+ this.checkViewport();
102
+ window.addEventListener('resize', this.checkViewport);
103
+ }
104
+ checkViewport() {
105
+ this.isMobile = window.innerWidth <= 768;
97
106
  }
98
107
  handleAction(action, row) {
99
108
  this.rowActionClick.emit({ action, row });
@@ -112,11 +121,131 @@ export class GbTable {
112
121
  emitPaginationDetails({ detail }) {
113
122
  this.pageItemSelected.emit(detail);
114
123
  }
115
- toggleDropdown(index) {
116
- console.log('testing', index);
117
- this.openRowIndex = this.openRowIndex === index ? null : index;
124
+ async toggleDropdown(rowIndex) {
125
+ if (this.openRowIndex === rowIndex) {
126
+ this.openRowIndex = null;
127
+ return;
128
+ }
129
+ const buttonInstance = this.actionButtonRefs[rowIndex];
130
+ const nativeBtn = await (buttonInstance === null || buttonInstance === void 0 ? void 0 : buttonInstance.getNativeButton());
131
+ this.currentAnchorEl = nativeBtn !== null && nativeBtn !== void 0 ? nativeBtn : undefined;
132
+ this.openRowIndex = rowIndex;
118
133
  }
119
- render() {
134
+ onSort(col) {
135
+ if (!col.sortable)
136
+ return;
137
+ if (this.sortKey === col.key) {
138
+ this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
139
+ }
140
+ else {
141
+ this.sortKey = col.key;
142
+ this.sortDirection = 'asc';
143
+ }
144
+ }
145
+ get sortedData() {
146
+ if (!this.sortKey)
147
+ return this.data;
148
+ const col = this.columns.find(c => c.key === this.sortKey);
149
+ if (!col)
150
+ return this.data;
151
+ return [...this.data].sort((a, b) => {
152
+ let valA = a[this.sortKey];
153
+ let valB = b[this.sortKey];
154
+ // Null safety
155
+ if (valA == null)
156
+ return 1;
157
+ if (valB == null)
158
+ return -1;
159
+ let result = 0;
160
+ switch (col.sortType) {
161
+ case 'number': {
162
+ const numA = Number(String(valA).replace(/[^0-9.-]+/g, ''));
163
+ const numB = Number(String(valB).replace(/[^0-9.-]+/g, ''));
164
+ result = numA - numB;
165
+ break;
166
+ }
167
+ case 'date': {
168
+ const timeA = new Date(valA).getTime();
169
+ const timeB = new Date(valB).getTime();
170
+ result = timeA - timeB;
171
+ break;
172
+ }
173
+ case 'string':
174
+ default: {
175
+ result = String(valA).localeCompare(String(valB), undefined, {
176
+ sensitivity: 'base',
177
+ });
178
+ break;
179
+ }
180
+ }
181
+ return this.sortDirection === 'asc' ? result : -result;
182
+ });
183
+ }
184
+ get allSelected() {
185
+ return this.sortedData.length > 0 && this.selectedRowIds.size === this.sortedData.length;
186
+ }
187
+ get isIndeterminate() {
188
+ return this.selectedRowIds.size > 0 && this.selectedRowIds.size < this.sortedData.length;
189
+ }
190
+ toggleAll() {
191
+ if (this.allSelected) {
192
+ this.selectedRowIds = new Set();
193
+ }
194
+ else {
195
+ this.selectedRowIds = new Set(this.sortedData.map(row => row.id));
196
+ }
197
+ this.emitSelection();
198
+ }
199
+ toggleRow(row) {
200
+ const updated = new Set(this.selectedRowIds);
201
+ if (updated.has(row.id)) {
202
+ updated.delete(row.id);
203
+ }
204
+ else {
205
+ updated.add(row.id);
206
+ }
207
+ this.selectedRowIds = updated;
208
+ this.emitSelection();
209
+ }
210
+ emitSelection() {
211
+ const selected = this.sortedData.filter(row => this.selectedRowIds.has(row.id));
212
+ this.selectionChanged.emit(selected);
213
+ }
214
+ get displayedData() {
215
+ if (this.paginationMode === 'external') {
216
+ return this.sortedData;
217
+ }
218
+ const start = (this.currentPage - 1) * this.pageSize;
219
+ const end = start + this.pageSize;
220
+ return this.sortedData.slice(start, end);
221
+ }
222
+ handlePageChange({ detail }) {
223
+ if (this.paginationMode === 'internal') {
224
+ this.currentPage = detail.pageNumber;
225
+ this.pageSize = detail.pageSize;
226
+ }
227
+ else {
228
+ this.pageItemSelected.emit(detail);
229
+ }
230
+ }
231
+ onDataChange(newValue, _oldValue) {
232
+ if (!newValue)
233
+ return;
234
+ this.data = newValue;
235
+ }
236
+ onTotalItemsChange(newValue, _oldValue) {
237
+ if (!newValue || newValue < 1)
238
+ return;
239
+ this.totalItems = Number(newValue);
240
+ }
241
+ renderHeaderIcons(col) {
242
+ return (h(Fragment, null, col.sortable && (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", style: {
243
+ transform: this.sortKey === col.key && this.sortDirection === 'desc' ? 'rotate(180deg)' : 'rotate(0deg)',
244
+ opacity: this.sortKey === col.key ? '1' : '0.4',
245
+ transition: 'transform 0.2s ease',
246
+ } }, 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: "var(--color-icon, #4B5565)", "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")))));
247
+ }
248
+ renderDesktopView() {
120
249
  // compute table min-width to force horizontal scroll when > 5 columns
121
250
  const defaultColWidth = 160;
122
251
  let totalWidth = 0;
@@ -130,14 +259,48 @@ export class GbTable {
130
259
  }
131
260
  });
132
261
  const tableStyle = this.columns.length > 5 ? { minWidth: `${totalWidth}px` } : {};
133
- return (h("div", { key: '1b40de961abd0306a040b5b61fa1d7390be8090e', class: `table_wrapper` }, h("div", { key: '61ad6c2d09cfc4c80d6e4b9de962bc4e6cff493c', class: `table_scroll ${this.columns.length > 5 ? 'scrollable' : ''}` }, h("table", { key: '041ab139368befa86a6d4c2afe582b77344ea941', style: tableStyle, class: `${this.columns.length > 5 ? 'scrollable' : ''}` }, h("thead", { key: '550962945520529a84de9ffedb6ebd1533e95776' }, h("tr", { key: 'd616251d1d53e05fea13ae70a492b0339e4ae356', class: "table_head_row" }, this.columns.map((col, index) => (h("th", { style: { width: col.width }, class: {
134
- sticky_left: this.stickyFirstColumn && index === 0,
135
- } }, h("p", { class: "head_text text-xs-medium" }, col.label)))), this.rowActions && (h("th", { key: 'e011c576724b5a36801534ae2854ee57492202ca', class: {
262
+ return (h("div", { class: `table_scroll` }, h("table", { style: tableStyle }, h("thead", null, h("tr", { class: "table_head_row" }, this.showCheckbox && (h("th", { style: { width: '15px' }, class: {
263
+ sticky_left: this.stickyFirstColumn,
264
+ } }, h("gb-checkbox", { type: "checkbox", checked: this.allSelected, indeterminate: this.isIndeterminate, size: "sm", onClick: () => this.toggleAll() }))), this.columns.map((col, index) => {
265
+ var _a;
266
+ const align = (_a = col.align) !== null && _a !== void 0 ? _a : 'left';
267
+ return (h("th", { style: { width: col.width, cursor: col.sortable ? 'pointer' : 'default', textAlign: col.align || 'left' }, onClick: () => this.onSort(col), class: {
268
+ table_header: true,
269
+ sticky_left: this.stickyFirstColumn && index === 0,
270
+ sortable: col.sortable,
271
+ } }, h("div", { class: `table_head_content align-${align}` }, align === 'right' && h("div", { class: "table_head_icons" }, this.renderHeaderIcons(col)), h("p", { class: `head_text text-xs-medium` }, col.label), align === 'left' && h("div", { class: "table_head_icons" }, this.renderHeaderIcons(col)))));
272
+ }), this.showActionsColumn && (h("th", { class: {
136
273
  sticky_right: this.stickyLastColumn,
137
- }, style: { width: '50px' } }, h("div", { key: 'ceaca7c706808da56bc1e6db35a2fcaf91845367', class: "empty_div" }))))), h("tbody", { key: '000c8bed9f3c13bc5a75024f12b97b15f01c0bfa' }, this.data.map((row, rowIndex) => (h("tr", { class: "table_body" }, this.columns.map((col, index) => (h("td", { class: `table_detail ${this.columns.length > 5 ? 'scrollable' : ''} ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''}` }, this.renderCell(col, row)))), this.rowActions && (h("td", { style: { width: '50px' }, class: `table_detail actions-cell ${this.stickyLastColumn ? 'sticky_right' : ''}` }, h("gb-button", { id: `gb-table-trigger-${rowIndex}`, class: "dropdown_button", hierarchy: "tertiary_gray", size: "sm", icon: "only", iconLeading: true, iconLeadingSwap: "assets/more-horizontal.svg", onClick: () => this.toggleDropdown(rowIndex) }), this.openRowIndex === rowIndex && (h("gb-portal", { "anchor-id": `gb-table-trigger-${rowIndex}`, placement: "bottom-end", open: true }, h("div", { class: "dropdown_wrapper" }, this.rowActions.map(action => (h("gb-input-dropdown-menu-item", { type: "default", state: action.disabled ? StateEnum.Disabled : StateEnum.Default, "icon-leading": action.icon ? true : false, "icon-leading-swap": action.icon, onClick: () => {
274
+ }, style: { width: '50px' } }, h("div", { class: "empty_div" }))))), h("tbody", null, this.displayedData.map((row, rowIndex) => (h("tr", { class: "table_body" }, h("td", { class: "table_detail", style: { width: '50px' } }, h("gb-checkbox", { type: "checkbox", checked: this.selectedRowIds.has(row.id), indeterminate: false, size: "sm", onClick: () => this.toggleRow(row) })), this.columns.map((col, index) => (h("td", { style: { textAlign: col.align || 'left' }, class: `table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''}` }, this.renderCell(col, row)))), this.showActionsColumn && (h("td", { style: { width: '50px' }, class: `table_detail actions-cell ${this.stickyLastColumn ? 'sticky_right' : ''}` }, h(Fragment, null, h("gb-button", { id: `gb-table-trigger-${rowIndex}`, ref: el => (this.actionButtonRefs[rowIndex] = el), class: "dropdown_button", hierarchy: "tertiary_gray", size: "sm", icon: "only", iconLeading: true, iconLeadingSwap: "assets/more-horizontal.svg", onClick: () => this.toggleDropdown(rowIndex) }), this.openRowIndex === rowIndex && (h("gb-portal", { "anchor-id": `gb-table-trigger-${rowIndex}`, placement: "bottom-end", anchorEl: this.currentAnchorEl, open: true }, h("div", { class: "dropdown_wrapper" }, this.rowActions.map(action => (h("gb-input-dropdown-menu-item", { type: "default", state: action.disabled ? StateEnum.Disabled : StateEnum.Default, "icon-leading": action.icon ? true : false, "icon-leading-swap": action.icon, onClick: () => {
138
275
  this.handleAction(action.action, row);
139
276
  this.openRowIndex = null;
140
- } }, h("p", { slot: "name" }, action.label))))))))))))))), h("gb-pagination", { key: '2cdf2789b9927fdffc4e6e0e1b78be3a77d7898a', type: "card_default", "current-page": "19", "total-pages": "20", breakpoint: "desktop", shape: "circle", onPageItemSelected: this.emitPaginationDetails.bind(this) })));
277
+ } }, h("p", { slot: "name" }, action.label)))))))))))))))));
278
+ }
279
+ validateMobilePositions() {
280
+ const positions = this.columns.map(c => { var _a; return (_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position; }).filter(Boolean);
281
+ const duplicates = positions.filter((item, index) => positions.indexOf(item) !== index);
282
+ if (duplicates.length) {
283
+ console.warn('[gb-table] Duplicate mobile positions detected:', duplicates);
284
+ }
285
+ }
286
+ renderMobileView() {
287
+ return (h("div", { class: "mobile_wrapper" }, this.displayedData.map(row => {
288
+ const topLeft = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'top_left'; });
289
+ const topRight = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'top_right'; });
290
+ const bottomLeft = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'bottom_left'; });
291
+ const bottomRight = this.columns.find(c => { var _a; return ((_a = c.mobile) === null || _a === void 0 ? void 0 : _a.position) === 'bottom_right'; });
292
+ return (h("div", { class: "mobile-card" }, h("div", { class: "mobile-row mobile-top" }, h("div", { class: "mobile-cell" }, topLeft && this.renderCell(topLeft, row)), h("div", { class: "mobile-cell right" }, topRight && this.renderCell(topRight, row))), h("div", { class: "mobile-row mobile-bottom" }, h("div", { class: "mobile-cell" }, bottomLeft && this.renderCell(bottomLeft, row)), bottomRight && this.renderCell(bottomRight, row))));
293
+ })));
294
+ }
295
+ emitSearchValue({ detail }) {
296
+ this.inputValueChanged.emit(detail);
297
+ }
298
+ disconnectedCallback() {
299
+ window.removeEventListener('resize', this.checkViewport);
300
+ }
301
+ render() {
302
+ const totalPages = this.paginationMode === 'internal' ? Math.ceil(this.sortedData.length / this.pageSize) : Math.ceil((this.totalItems || 0) / this.pageSize);
303
+ return (h("div", { key: '499bac31da3885b57d9469666f921c78978ec8ff', class: `table_wrapper` }, h("gb-table-header", { key: 'e629b21f83e27889f453f77cf0e2402eb5f552df', "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, onInputValueChanged: this.emitSearchValue.bind(this) }), h(Fragment, null, this.isMobile ? this.renderMobileView() : this.renderDesktopView()), h("gb-pagination", { key: 'e808a7c942fefd7b1c70707315a50926b841aee5', "entries-dropdown-menu-position": this.paginationConfig.entriesDropdownMenuPosition, "page-size": this.pageSize, "current-page": this.paginationMode === 'internal' ? this.internalCurrentPage : this.currentPage, "total-pages": totalPages, onPageItemSelected: this.handlePageChange.bind(this) })));
141
304
  }
142
305
  static get is() { return "gb-table"; }
143
306
  static get encapsulation() { return "shadow"; }
@@ -175,7 +338,7 @@ export class GbTable {
175
338
  },
176
339
  "getter": false,
177
340
  "setter": false,
178
- "defaultValue": "[\r\n { key: 'id', label: '#', width: '70px' },\r\n { key: 'date', label: 'Date' },\r\n { key: 'name', label: 'Name' },\r\n { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'role', label: 'Role' },\r\n { key: 'level', label: 'Level' },\r\n { key: 'customer', label: 'Customer' },\r\n { key: 'amount', label: 'Amount' },\r\n {\r\n key: 'status',\r\n label: 'Status',\r\n cellComponent: 'gb-badge',\r\n cellProps: row => ({\r\n color: row.status === 'Completed' ? 'success' : 'error',\r\n type: 'badge_modern',\r\n size: 'sm',\r\n icon: 'dot',\r\n }),\r\n cellSlots: row => <p>{row.status}</p>,\r\n },\r\n // {\r\n // key: '',\r\n // label: '',\r\n // cellComponent: 'gb-button',\r\n // width: '50px',\r\n // cellProps: () => ({\r\n // hierarchy: 'tertiary_gray',\r\n // size: 'sm',\r\n // icon: 'only',\r\n // iconLeading: true,\r\n // iconLeadingSwap: 'assets/more-horizontal.svg',\r\n // }),\r\n // },\r\n ]"
341
+ "defaultValue": "[\r\n { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n { key: 'date', label: 'Date', mobile: { position: 'bottom_left' } },\r\n { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, mobile: { position: 'top_right' } },\r\n { key: 'role', label: 'Role' },\r\n { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },\r\n {\r\n key: 'status',\r\n label: 'Status',\r\n cellComponent: 'gb-badge',\r\n cellProps: row => ({\r\n color: row.status === 'Completed' ? 'success' : 'error',\r\n type: 'badge_modern',\r\n size: 'sm',\r\n icon: 'dot',\r\n }),\r\n cellSlots: row => <p>{row.status}</p>,\r\n mobile: { position: 'bottom_right' },\r\n },\r\n // {\r\n // key: '',\r\n // label: '',\r\n // cellComponent: 'gb-button',\r\n // width: '50px',\r\n // cellProps: () => ({\r\n // hierarchy: 'tertiary_gray',\r\n // size: 'sm',\r\n // icon: 'only',\r\n // iconLeading: true,\r\n // iconLeadingSwap: 'assets/more-horizontal.svg',\r\n // }),\r\n // },\r\n ]"
179
342
  },
180
343
  "data": {
181
344
  "type": "unknown",
@@ -193,7 +356,65 @@ export class GbTable {
193
356
  },
194
357
  "getter": false,
195
358
  "setter": false,
196
- "defaultValue": "[\r\n {\r\n id: '#3057',\r\n date: 'Jan 3, 2022',\r\n name: 'Emmanuel Kadiri',\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 {\r\n id: '#3058',\r\n date: 'Jan 4, 2022',\r\n customer: 'Sarah Johnson',\r\n amount: '$85.50',\r\n status: 'Pending',\r\n },\r\n {\r\n id: '#3059',\r\n date: 'Jan 5, 2022',\r\n customer: 'Michael Brown',\r\n amount: '$230.75',\r\n status: 'Cancelled',\r\n },\r\n {\r\n id: '#3060',\r\n date: 'Jan 6, 2022',\r\n customer: 'Emily Davis',\r\n amount: '$59.99',\r\n status: 'Completed',\r\n },\r\n {\r\n id: '#3061',\r\n date: 'Jan 7, 2022',\r\n customer: 'Daniel Wilson',\r\n amount: '$410.00',\r\n status: 'Pending',\r\n },\r\n ]"
359
+ "defaultValue": "[\r\n { id: '#3001', date: 'Jan 1, 2022', name: 'Emma Johnson', role: 'Frontend Developer', level: 'Today', customer: 'John Doe', amount: '$120.00', status: 'Completed' },\r\n { id: '#3002', date: 'Jan 2, 2022', 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 ]"
360
+ },
361
+ "tableHeaderConfig": {
362
+ "type": "unknown",
363
+ "mutable": false,
364
+ "complexType": {
365
+ "original": "{\r\n tableHeading: boolean;\r\n tableHeadingLabel: string;\r\n showDateFilter: boolean;\r\n showFilter: boolean;\r\n showColumnOptions: boolean;\r\n showSearch: boolean;\r\n showExport: boolean;\r\n showRefreshButton: boolean;\r\n }",
366
+ "resolved": "{ tableHeading: boolean; tableHeadingLabel: string; showDateFilter: boolean; showFilter: boolean; showColumnOptions: boolean; showSearch: boolean; showExport: boolean; showRefreshButton: boolean; }",
367
+ "references": {}
368
+ },
369
+ "required": false,
370
+ "optional": false,
371
+ "docs": {
372
+ "tags": [],
373
+ "text": ""
374
+ },
375
+ "getter": false,
376
+ "setter": false,
377
+ "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: true,\r\n }"
378
+ },
379
+ "paginationConfig": {
380
+ "type": "any",
381
+ "mutable": false,
382
+ "complexType": {
383
+ "original": "any",
384
+ "resolved": "any",
385
+ "references": {}
386
+ },
387
+ "required": false,
388
+ "optional": false,
389
+ "docs": {
390
+ "tags": [],
391
+ "text": ""
392
+ },
393
+ "getter": false,
394
+ "setter": false,
395
+ "reflect": false,
396
+ "attribute": "pagination-config",
397
+ "defaultValue": "{\r\n entriesDropdownMenuPosition: 'top',\r\n }"
398
+ },
399
+ "showActionsColumn": {
400
+ "type": "boolean",
401
+ "mutable": false,
402
+ "complexType": {
403
+ "original": "boolean",
404
+ "resolved": "boolean",
405
+ "references": {}
406
+ },
407
+ "required": false,
408
+ "optional": false,
409
+ "docs": {
410
+ "tags": [],
411
+ "text": ""
412
+ },
413
+ "getter": false,
414
+ "setter": false,
415
+ "reflect": false,
416
+ "attribute": "show-actions-column",
417
+ "defaultValue": "true"
197
418
  },
198
419
  "rowActions": {
199
420
  "type": "unknown",
@@ -237,7 +458,7 @@ export class GbTable {
237
458
  "setter": false,
238
459
  "reflect": false,
239
460
  "attribute": "sticky-first-column",
240
- "defaultValue": "false"
461
+ "defaultValue": "true"
241
462
  },
242
463
  "stickyLastColumn": {
243
464
  "type": "boolean",
@@ -278,12 +499,117 @@ export class GbTable {
278
499
  "reflect": false,
279
500
  "attribute": "actions-type",
280
501
  "defaultValue": "'none'"
502
+ },
503
+ "showCheckbox": {
504
+ "type": "boolean",
505
+ "mutable": false,
506
+ "complexType": {
507
+ "original": "boolean",
508
+ "resolved": "boolean",
509
+ "references": {}
510
+ },
511
+ "required": false,
512
+ "optional": false,
513
+ "docs": {
514
+ "tags": [],
515
+ "text": ""
516
+ },
517
+ "getter": false,
518
+ "setter": false,
519
+ "reflect": false,
520
+ "attribute": "show-checkbox",
521
+ "defaultValue": "true"
522
+ },
523
+ "paginationMode": {
524
+ "type": "string",
525
+ "mutable": false,
526
+ "complexType": {
527
+ "original": "'internal' | 'external'",
528
+ "resolved": "\"external\" | \"internal\"",
529
+ "references": {}
530
+ },
531
+ "required": false,
532
+ "optional": false,
533
+ "docs": {
534
+ "tags": [],
535
+ "text": ""
536
+ },
537
+ "getter": false,
538
+ "setter": false,
539
+ "reflect": false,
540
+ "attribute": "pagination-mode",
541
+ "defaultValue": "'internal'"
542
+ },
543
+ "currentPage": {
544
+ "type": "number",
545
+ "mutable": true,
546
+ "complexType": {
547
+ "original": "number",
548
+ "resolved": "number",
549
+ "references": {}
550
+ },
551
+ "required": false,
552
+ "optional": true,
553
+ "docs": {
554
+ "tags": [],
555
+ "text": ""
556
+ },
557
+ "getter": false,
558
+ "setter": false,
559
+ "reflect": false,
560
+ "attribute": "current-page",
561
+ "defaultValue": "1"
562
+ },
563
+ "pageSize": {
564
+ "type": "number",
565
+ "mutable": false,
566
+ "complexType": {
567
+ "original": "number",
568
+ "resolved": "number",
569
+ "references": {}
570
+ },
571
+ "required": false,
572
+ "optional": false,
573
+ "docs": {
574
+ "tags": [],
575
+ "text": ""
576
+ },
577
+ "getter": false,
578
+ "setter": false,
579
+ "reflect": false,
580
+ "attribute": "page-size",
581
+ "defaultValue": "10"
582
+ },
583
+ "totalItems": {
584
+ "type": "number",
585
+ "mutable": false,
586
+ "complexType": {
587
+ "original": "number",
588
+ "resolved": "number",
589
+ "references": {}
590
+ },
591
+ "required": false,
592
+ "optional": true,
593
+ "docs": {
594
+ "tags": [],
595
+ "text": ""
596
+ },
597
+ "getter": false,
598
+ "setter": false,
599
+ "reflect": false,
600
+ "attribute": "total-items"
281
601
  }
282
602
  };
283
603
  }
284
604
  static get states() {
285
605
  return {
286
- "openRowIndex": {}
606
+ "internalCurrentPage": {},
607
+ "openRowIndex": {},
608
+ "sortKey": {},
609
+ "sortDirection": {},
610
+ "selectedRowIds": {},
611
+ "breakpoint": {},
612
+ "isMobile": {}
287
613
  };
288
614
  }
289
615
  static get events() {
@@ -317,6 +643,72 @@ export class GbTable {
317
643
  "resolved": "{ pageSize: any; pageNumber: number; }",
318
644
  "references": {}
319
645
  }
646
+ }, {
647
+ "method": "selectionChanged",
648
+ "name": "selectionChanged",
649
+ "bubbles": true,
650
+ "cancelable": true,
651
+ "composed": true,
652
+ "docs": {
653
+ "tags": [],
654
+ "text": ""
655
+ },
656
+ "complexType": {
657
+ "original": "any[]",
658
+ "resolved": "any[]",
659
+ "references": {}
660
+ }
661
+ }, {
662
+ "method": "inputValueChanged",
663
+ "name": "inputValueChanged",
664
+ "bubbles": true,
665
+ "cancelable": true,
666
+ "composed": true,
667
+ "docs": {
668
+ "tags": [],
669
+ "text": ""
670
+ },
671
+ "complexType": {
672
+ "original": "void",
673
+ "resolved": "void",
674
+ "references": {}
675
+ }
676
+ }, {
677
+ "method": "dateChange",
678
+ "name": "dateChange",
679
+ "bubbles": true,
680
+ "cancelable": true,
681
+ "composed": true,
682
+ "docs": {
683
+ "tags": [],
684
+ "text": ""
685
+ },
686
+ "complexType": {
687
+ "original": "string | string[]",
688
+ "resolved": "string | string[]",
689
+ "references": {}
690
+ }
691
+ }];
692
+ }
693
+ static get watchers() {
694
+ return [{
695
+ "propName": "data",
696
+ "methodName": "onDataChange"
697
+ }, {
698
+ "propName": "totalItems",
699
+ "methodName": "onTotalItemsChange"
700
+ }, {
701
+ "propName": "columns",
702
+ "methodName": "validateMobilePositions"
703
+ }];
704
+ }
705
+ static get listeners() {
706
+ return [{
707
+ "name": "resize",
708
+ "method": "checkViewport",
709
+ "target": "window",
710
+ "capture": false,
711
+ "passive": true
320
712
  }];
321
713
  }
322
714
  }