globuswebcomponents 2.19.2 → 2.19.3

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 (203) hide show
  1. package/dist/cjs/gb-accordion-card_91.cjs.entry.js +132 -136
  2. package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
  3. package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
  4. package/dist/cjs/globuscomponents.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
  7. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.css +5 -22
  8. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +95 -100
  9. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js.map +1 -1
  10. package/dist/collection/components/gb-input-field/gb-input-field.css +19 -1
  11. package/dist/collection/components/gb-input-field/gb-input-field.js +41 -14
  12. package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
  13. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.css +3 -15
  14. package/dist/collection/components/gb-table-header/gb-table-header.css +8 -3
  15. package/dist/collection/components/gb-table-header/gb-table-header.js +2 -2
  16. package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
  17. package/dist/collection/components/gb-tag/gb-tag.js +1 -1
  18. package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
  19. package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
  20. package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
  21. package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -3
  22. package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
  23. package/dist/collection/components/gb-toast/gb-toast.js +1 -1
  24. package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
  25. package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
  26. package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
  27. package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +1 -1
  28. package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
  29. package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
  30. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
  31. package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
  32. package/dist/collection/components/gb-wysiwyg-toolbar/gb-wysiwyg-toolbar.js +1 -1
  33. package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
  34. package/dist/components/gb-accordion-card.js +2 -2
  35. package/dist/components/gb-action-panel.js +2 -2
  36. package/dist/components/gb-approval-modal.js +8 -8
  37. package/dist/components/gb-avatar-add-button.js +1 -1
  38. package/dist/components/gb-avatar-dropdown.js +1 -1
  39. package/dist/components/gb-avatar-group.js +2 -2
  40. package/dist/components/gb-btn.js +1 -1
  41. package/dist/components/gb-button.js +1 -1
  42. package/dist/components/gb-checkbox-group-item.js +1 -1
  43. package/dist/components/gb-checkbox-group.js +3 -3
  44. package/dist/components/gb-collapse-button.js +1 -1
  45. package/dist/components/gb-comment.js +2 -2
  46. package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
  47. package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
  48. package/dist/components/gb-date-picker.js +1 -1
  49. package/dist/components/gb-detail-cell.js +6 -6
  50. package/dist/components/gb-empty-state.js +1 -1
  51. package/dist/components/gb-file-upload-item-base.js +1 -1
  52. package/dist/components/gb-file-upload.js +4 -4
  53. package/dist/components/gb-filter-button.js +1 -1
  54. package/dist/components/gb-filter-modal.js +1 -1
  55. package/dist/components/gb-header.js +13 -13
  56. package/dist/components/gb-help-tooltip.js +1 -1
  57. package/dist/components/gb-horizontal-tabs.js +96 -101
  58. package/dist/components/gb-horizontal-tabs.js.map +1 -1
  59. package/dist/components/gb-icon-button-base.js +1 -1
  60. package/dist/components/gb-input-dropdown.js +1 -1
  61. package/dist/components/gb-input-field.js +1 -1
  62. package/dist/components/gb-modal-action.js +1 -1
  63. package/dist/components/gb-modal.js +3 -3
  64. package/dist/components/gb-nav-bar-item.js +1 -1
  65. package/dist/components/gb-nav-bar-sidemenu.js +2 -2
  66. package/dist/components/gb-nav-bar.js +2 -2
  67. package/dist/components/gb-notification-pane.js +1 -1
  68. package/dist/components/gb-pagination.js +1 -1
  69. package/dist/components/gb-password-button.js +1 -1
  70. package/dist/components/gb-progress-bar.js +1 -1
  71. package/dist/components/gb-prompt-modal.js +2 -2
  72. package/dist/components/gb-rich-text.js +12 -12
  73. package/dist/components/gb-sidebar.js +5 -5
  74. package/dist/components/gb-simple-side-bar-item.js +1 -1
  75. package/dist/components/gb-slider-control-handle.js +1 -1
  76. package/dist/components/gb-slider.js +2 -2
  77. package/dist/components/gb-tab-button-base.js +1 -1
  78. package/dist/components/gb-table-header.js +1 -1
  79. package/dist/components/gb-table.js +21 -21
  80. package/dist/components/gb-tag-checkbox.js +1 -1
  81. package/dist/components/gb-tag-close.js +1 -1
  82. package/dist/components/gb-tag-count.js +1 -1
  83. package/dist/components/gb-tag.js +1 -1
  84. package/dist/components/gb-textarea-input-field.js +1 -1
  85. package/dist/components/gb-theme-tab.js +1 -1
  86. package/dist/components/gb-toast-button.js +1 -1
  87. package/dist/components/gb-toast.js +1 -1
  88. package/dist/components/gb-toggle-base.js +1 -1
  89. package/dist/components/gb-toggle.js +1 -1
  90. package/dist/components/gb-token-field-compact.js +1 -1
  91. package/dist/components/gb-token-field-compressed.js +2 -2
  92. package/dist/components/gb-tooltip.js +1 -1
  93. package/dist/components/gb-vertical-tabs.js +1 -1
  94. package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
  95. package/dist/components/gb-wysiwyg-toolbar.js +1 -1
  96. package/dist/components/gb-wysiwyg-tooltip.js +1 -1
  97. package/dist/components/{p-b3s82Q9X.js → p-7uHLCNUc.js} +4 -4
  98. package/dist/components/{p-b3s82Q9X.js.map → p-7uHLCNUc.js.map} +1 -1
  99. package/dist/components/{p-C1oWcge_.js → p-B7wE65ae.js} +3 -3
  100. package/dist/components/{p-C1oWcge_.js.map → p-B7wE65ae.js.map} +1 -1
  101. package/dist/components/{p-Bh2tneE8.js → p-B7y6l8y2.js} +11 -11
  102. package/dist/components/{p-Bh2tneE8.js.map → p-B7y6l8y2.js.map} +1 -1
  103. package/dist/components/{p-CPNfYdRm.js → p-BBpW2sSo.js} +3 -3
  104. package/dist/components/{p-CPNfYdRm.js.map → p-BBpW2sSo.js.map} +1 -1
  105. package/dist/components/{p-7t9DGALC.js → p-BDUlTplG.js} +3 -3
  106. package/dist/components/{p-7t9DGALC.js.map → p-BDUlTplG.js.map} +1 -1
  107. package/dist/components/{p-Cr5UZQB2.js → p-BFNIm-jb.js} +6 -6
  108. package/dist/components/{p-Cr5UZQB2.js.map → p-BFNIm-jb.js.map} +1 -1
  109. package/dist/components/{p-BYTuxIjn.js → p-BIy6Iz9H.js} +3 -3
  110. package/dist/components/{p-BYTuxIjn.js.map → p-BIy6Iz9H.js.map} +1 -1
  111. package/dist/components/{p-DvDrSp52.js → p-BgdF36ob.js} +5 -5
  112. package/dist/components/{p-DvDrSp52.js.map → p-BgdF36ob.js.map} +1 -1
  113. package/dist/components/{p-UAnEmTC4.js → p-BheO5g9S.js} +3 -3
  114. package/dist/components/{p-UAnEmTC4.js.map → p-BheO5g9S.js.map} +1 -1
  115. package/dist/components/{p-MoXBMqLZ.js → p-BmfqoFFR.js} +4 -4
  116. package/dist/components/{p-MoXBMqLZ.js.map → p-BmfqoFFR.js.map} +1 -1
  117. package/dist/components/{p-QRrH0XNA.js → p-BuacPAxJ.js} +3 -3
  118. package/dist/components/{p-QRrH0XNA.js.map → p-BuacPAxJ.js.map} +1 -1
  119. package/dist/components/{p-iKzJ45kb.js → p-CGjzNNLL.js} +6 -6
  120. package/dist/components/{p-iKzJ45kb.js.map → p-CGjzNNLL.js.map} +1 -1
  121. package/dist/components/{p-z-nLxZVO.js → p-CKNE69Jt.js} +5 -5
  122. package/dist/components/{p-z-nLxZVO.js.map → p-CKNE69Jt.js.map} +1 -1
  123. package/dist/components/{p-gyCVbN_J.js → p-CLf82yjS.js} +3 -3
  124. package/dist/components/{p-gyCVbN_J.js.map → p-CLf82yjS.js.map} +1 -1
  125. package/dist/components/{p-Cm4t0r0j.js → p-CVlUyGt-.js} +3 -3
  126. package/dist/components/{p-Cm4t0r0j.js.map → p-CVlUyGt-.js.map} +1 -1
  127. package/dist/components/{p-CkA31HT1.js → p-CjaqODqN.js} +3 -3
  128. package/dist/components/p-CjaqODqN.js.map +1 -0
  129. package/dist/components/{p-BDzojrvH.js → p-CnL3JYpm.js} +5 -5
  130. package/dist/components/{p-BDzojrvH.js.map → p-CnL3JYpm.js.map} +1 -1
  131. package/dist/components/{p-CWwjmq0v.js → p-CuhDXF1j.js} +3 -3
  132. package/dist/components/{p-CWwjmq0v.js.map → p-CuhDXF1j.js.map} +1 -1
  133. package/dist/components/{p-DnGszNGW.js → p-CxxAThom.js} +16 -16
  134. package/dist/components/p-CxxAThom.js.map +1 -0
  135. package/dist/components/{p-1YWPiXuf.js → p-D1YW4Sum.js} +12 -12
  136. package/dist/components/{p-1YWPiXuf.js.map → p-D1YW4Sum.js.map} +1 -1
  137. package/dist/components/{p-CnQIvd5K.js → p-D3YDcBx7.js} +6 -6
  138. package/dist/components/{p-CnQIvd5K.js.map → p-D3YDcBx7.js.map} +1 -1
  139. package/dist/components/{p-DkLrLbUI.js → p-DBvhf2SI.js} +4 -4
  140. package/dist/components/{p-DkLrLbUI.js.map → p-DBvhf2SI.js.map} +1 -1
  141. package/dist/components/{p-kPEcZlMR.js → p-DC76dG62.js} +4 -4
  142. package/dist/components/{p-kPEcZlMR.js.map → p-DC76dG62.js.map} +1 -1
  143. package/dist/components/{p-DNUdD2lw.js → p-DHi7vvkR.js} +4 -4
  144. package/dist/components/{p-DNUdD2lw.js.map → p-DHi7vvkR.js.map} +1 -1
  145. package/dist/components/{p-C7_Pzx6F.js → p-DJIp9uts.js} +4 -4
  146. package/dist/components/{p-C7_Pzx6F.js.map → p-DJIp9uts.js.map} +1 -1
  147. package/dist/components/{p-jZV3N-O0.js → p-DaTP4MvQ.js} +3 -3
  148. package/dist/components/{p-jZV3N-O0.js.map → p-DaTP4MvQ.js.map} +1 -1
  149. package/dist/components/{p-CL_mV11E.js → p-DcDhbSZD.js} +4 -4
  150. package/dist/components/{p-CL_mV11E.js.map → p-DcDhbSZD.js.map} +1 -1
  151. package/dist/components/{p-CjCyCgWb.js → p-DjeEn6df.js} +3 -3
  152. package/dist/components/{p-CjCyCgWb.js.map → p-DjeEn6df.js.map} +1 -1
  153. package/dist/components/{p-Ba2nqAFI.js → p-DmFvEYmm.js} +9 -9
  154. package/dist/components/{p-Ba2nqAFI.js.map → p-DmFvEYmm.js.map} +1 -1
  155. package/dist/components/{p-B4KRCeBI.js → p-DySJVGoY.js} +3 -3
  156. package/dist/components/{p-B4KRCeBI.js.map → p-DySJVGoY.js.map} +1 -1
  157. package/dist/components/{p-B14RIt38.js → p-FUxshpQM.js} +4 -4
  158. package/dist/components/{p-B14RIt38.js.map → p-FUxshpQM.js.map} +1 -1
  159. package/dist/components/{p-D1ipn9Uc.js → p-FuTvKxWX.js} +3 -3
  160. package/dist/components/{p-D1ipn9Uc.js.map → p-FuTvKxWX.js.map} +1 -1
  161. package/dist/components/{p-DcePJpcZ.js → p-Ifiyli5k.js} +4 -4
  162. package/dist/components/{p-DcePJpcZ.js.map → p-Ifiyli5k.js.map} +1 -1
  163. package/dist/components/{p-0pSOogFh.js → p-RDQHy6a5.js} +14 -14
  164. package/dist/components/{p-0pSOogFh.js.map → p-RDQHy6a5.js.map} +1 -1
  165. package/dist/components/{p-B5qvfLPS.js → p-RDyNJ9Gh.js} +3 -3
  166. package/dist/components/{p-B5qvfLPS.js.map → p-RDyNJ9Gh.js.map} +1 -1
  167. package/dist/components/{p-C08aLARD.js → p-YxRex_HF.js} +3 -3
  168. package/dist/components/{p-C08aLARD.js.map → p-YxRex_HF.js.map} +1 -1
  169. package/dist/components/{p-CQC-jIto.js → p-gOlpqMTl.js} +3 -3
  170. package/dist/components/{p-CQC-jIto.js.map → p-gOlpqMTl.js.map} +1 -1
  171. package/dist/components/{p-BOWm5cIi.js → p-h1lvtKAJ.js} +3 -3
  172. package/dist/components/{p-BOWm5cIi.js.map → p-h1lvtKAJ.js.map} +1 -1
  173. package/dist/components/{p-BzJKCyKM.js → p-iRe5442y.js} +4 -4
  174. package/dist/components/{p-BzJKCyKM.js.map → p-iRe5442y.js.map} +1 -1
  175. package/dist/components/{p-m1u_rpqG.js → p-oIOTX0eL.js} +27 -25
  176. package/dist/components/p-oIOTX0eL.js.map +1 -0
  177. package/dist/components/test-input-tag.js +6 -6
  178. package/dist/docs.json +83 -7
  179. package/dist/esm/gb-accordion-card_91.entry.js +132 -136
  180. package/dist/esm/gb-token-field-compact.entry.js +1 -1
  181. package/dist/esm/gb-token-field-compressed.entry.js +2 -2
  182. package/dist/esm/globuscomponents.js +1 -1
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/esm/test-input-tag.entry.js +2 -2
  185. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  186. package/dist/globuscomponents/icons-BxJPybuU.js.map +1 -0
  187. package/dist/globuscomponents/index-DtpEbOKW.js.map +1 -0
  188. package/dist/globuscomponents/{p-1b95ac84.entry.js → p-53053694.entry.js} +2 -2
  189. package/dist/globuscomponents/{p-79887fe8.entry.js → p-59e13f0e.entry.js} +2 -2
  190. package/dist/globuscomponents/{p-37da4422.entry.js → p-9f1105d8.entry.js} +2 -2
  191. package/dist/globuscomponents/{p-ffce6c75.entry.js → p-d1b31bbc.entry.js} +2 -2
  192. package/dist/globuscomponents/p-d1b31bbc.entry.js.map +1 -0
  193. package/dist/globuscomponents/reusableModels-cHn6O-Kf.js.map +1 -0
  194. package/dist/types/components/gb-input-field/gb-input-field.d.ts +2 -1
  195. package/dist/types/components.d.ts +10 -2
  196. package/package.json +4 -2
  197. package/dist/components/p-CkA31HT1.js.map +0 -1
  198. package/dist/components/p-DnGszNGW.js.map +0 -1
  199. package/dist/components/p-m1u_rpqG.js.map +0 -1
  200. package/dist/globuscomponents/p-ffce6c75.entry.js.map +0 -1
  201. /package/dist/globuscomponents/{p-1b95ac84.entry.js.map → p-53053694.entry.js.map} +0 -0
  202. /package/dist/globuscomponents/{p-79887fe8.entry.js.map → p-59e13f0e.entry.js.map} +0 -0
  203. /package/dist/globuscomponents/{p-37da4422.entry.js.map → p-9f1105d8.entry.js.map} +0 -0
@@ -78,7 +78,7 @@ const TestInputTag = class {
78
78
  this.exportValue.emit(this.selectedStaff);
79
79
  }
80
80
  render() {
81
- return (index.h("div", { key: '34b18e19163cbef429844af59cd80e3fb4988b58', class: "input_group", ref: el => (this.inputGroupElement = el) }, index.h("label", { key: '49204ef9d9407f76451aad133ae590fae4f7e896', htmlFor: this.idOfInput }, this.labelText), index.h("div", { key: '3affbc703efcc909770bc96ca3e2d0c4d237fb8f', class: "input_like_parent", onClick: () => (this.dropdownOpen = !this.dropdownOpen) }, index.h("input", { key: '036928e5d641746b2699ea7245dec01b29f79a7a', id: this.idOfInput, class: "input_like", type: "text", placeholder: this.placeholderText, value: this.inputValue, readOnly: this.isReadOnly, ref: el => (this.inputElement = el), onBlur: () => this.exportSelectedStaff() }), index.h("div", { key: 'df0482c42fb6932eccc04ea99369c8dd223588e7', class: `results_display ${this.selectedStaff.length >= 1 ? 'show_results' : ''}`, ref: el => (this.resultsDisplayElement = el) }, this.selectedStaff.map((staff, index$1) => (
81
+ return (index.h("div", { key: 'ff42b7fc15a63c3df8ceb7a76baef2b205e07946', class: "input_group", ref: el => (this.inputGroupElement = el) }, index.h("label", { key: 'd88a12a540778fdfc60d1c055bf5450855e03893', htmlFor: this.idOfInput }, this.labelText), index.h("div", { key: 'e2c522e502b2efb96002c4c62d05e05f3262dea4', class: "input_like_parent", onClick: () => (this.dropdownOpen = !this.dropdownOpen) }, index.h("input", { key: 'ee699e243d68189ea06dfe6e1b1323812b2239a7', id: this.idOfInput, class: "input_like", type: "text", placeholder: this.placeholderText, value: this.inputValue, readOnly: this.isReadOnly, ref: el => (this.inputElement = el), onBlur: () => this.exportSelectedStaff() }), index.h("div", { key: '9fbd5bf3afd19decf74b086b8449fc20a1f503c4', class: `results_display ${this.selectedStaff.length >= 1 ? 'show_results' : ''}`, ref: el => (this.resultsDisplayElement = el) }, this.selectedStaff.map((staff, index$1) => (
82
82
  // <span>
83
83
  // {staff.fullname}
84
84
  // <img
@@ -87,7 +87,7 @@ const TestInputTag = class {
87
87
  // onClick={() => this.removeStaff(index)}
88
88
  // />
89
89
  // </span>
90
- index.h("gb-tag", { size: "sm", action: "X_close", icon: "avatar", onClick: () => this.removeStaff(index$1) }, index.h("h1", { slot: "initials" }, staff.fullname.split(' ').map(part => part.charAt(0).toUpperCase())), index.h("p", null, staff.fullname.split(' ')[0])))))), this.show && (index.h("div", { key: '6a678e38c617d914bcb4db6065d34351b0809ac4', class: `dropdown_menu ${this.show ? 'show' : ''}` }, this.staffInfo.map(staff => (
90
+ index.h("gb-tag", { size: "sm", action: "X_close", icon: "avatar", onClick: () => this.removeStaff(index$1) }, index.h("h1", { slot: "initials" }, staff.fullname.split(' ').map(part => part.charAt(0).toUpperCase())), index.h("p", null, staff.fullname.split(' ')[0])))))), this.show && (index.h("div", { key: 'e3f07c3b7c8c469116d16d5ccbfd31491f68a612', class: `dropdown_menu ${this.show ? 'show' : ''}` }, this.staffInfo.map(staff => (
91
91
  // <li class="aList" onClick={() => this.selectStaff(staff)}>
92
92
  // <div>{staff.fullname}</div>
93
93
  // <div>{staff.email}</div>
@@ -2747,11 +2747,7 @@
2747
2747
  #slotted_button_text.link_color.default.destructive {
2748
2748
  color: var(--color-text-danger, #b51726) !important;
2749
2749
  } */
2750
- :host {
2751
- /* Without this the host defaults to display:inline, so the width:100% below
2752
- * has no real containing block to resolve against - consuming apps
2753
- * shouldn't need to wrap this in a sized container just to make the
2754
- * overflow/scroll-button math work. */
2750
+ :host{
2755
2751
  display: block;
2756
2752
  width: 100%;
2757
2753
  min-width: 0;
@@ -2781,17 +2777,6 @@
2781
2777
  display: flex;
2782
2778
  justify-content: flex-start;
2783
2779
  gap: var(--spacing-4);
2784
- /* Sized to fit all the tabs at their natural (nowrap) width, not capped to
2785
- * the scrollable wrapper's width - that's what lets it grow wider than the
2786
- * wrapper so scrollWidth > clientWidth and the scroll buttons/overflow
2787
- * detection actually have something to trigger on. full_width below
2788
- * re-pins it to 100% since that variant deliberately has no overflow. */
2789
- width: -moz-max-content;
2790
- width: max-content;
2791
- /* It's also a flex item of .horizontal_tab_wrapper - without this, the
2792
- * default flex-shrink:1 would squeeze it back down to fit, undoing the
2793
- * width above and silently preventing any overflow/scrolling. */
2794
- flex-shrink: 0;
2795
2780
  }
2796
2781
  /* Tab Type Styles */
2797
2782
  .horizontal_tab_div.underline,
@@ -2812,7 +2797,6 @@
2812
2797
  }
2813
2798
  /* Full Width Styles */
2814
2799
  .horizontal_tab_div.full_width {
2815
- width: 100%;
2816
2800
  justify-content: space-between;
2817
2801
  }
2818
2802
  .horizontal_tab_div.button_primary,
@@ -2828,9 +2812,6 @@
2828
2812
  }
2829
2813
  .scroll_button_div {
2830
2814
  display: flex;
2831
- /* Fills the tab row's actual height instead of a fixed value, so it stays
2832
- * correctly centered whatever the row's height ends up being (it varies by
2833
- * `size` and `type`) rather than only matching one specific size. */
2834
2815
  height: 100%;
2835
2816
  justify-content: center;
2836
2817
  align-items: center;
@@ -2838,18 +2819,20 @@
2838
2819
  top: 0;
2839
2820
  position: absolute;
2840
2821
  z-index: 9;
2841
- /* No fixed width - it's sized by its own padding/content below, on both
2842
- * sides, so it adapts instead of clipping/gapping at other paddings. */
2843
2822
  }
2844
2823
  .scroll_button_div.left {
2845
2824
  left: 0;
2846
2825
  background: linear-gradient(90deg, var(--color-surface-bold, #f9fafb) 37.05%, var(--color-surface-bold-transparent-full, rgba(249, 250, 251, 0)) 100%);
2847
2826
  padding: 0.1rem 2rem 0.1rem 0.5rem;
2827
+ /* width: 2rem;
2828
+ height: 100%; */
2848
2829
  }
2849
2830
  .scroll_button_div.right {
2850
2831
  background: linear-gradient(270deg, var(--color-surface-bold, #f9fafb) 37.05%, var(--color-surface-bold-transparent-full, rgba(249, 250, 251, 0)) 100%);
2851
2832
  padding: 0.1rem 0.5rem 0.1rem 2rem;
2852
2833
  right: 0;
2834
+ width: 1.5rem;
2835
+ height: 100%;
2853
2836
  }
2854
2837
  .scroll_button {
2855
2838
  display: flex;
@@ -5,99 +5,99 @@ export class GbHorizontalTabs {
5
5
  this.badge = false;
6
6
  this.truncate = false;
7
7
  this.tabs = [
8
- // {
9
- // name: 'All accounts',
10
- // index: 0,
11
- // },
12
- // {
13
- // name: 'LCY Accounts',
14
- // index: 1,
15
- // badgeCount: '10',
16
- // },
17
- // {
18
- // name: 'FCY',
19
- // index: 1,
20
- // badgeCount: '10',
21
- // },
22
- // {
23
- // name: 'Second',
24
- // index: 1,
25
- // },
26
- // {
27
- // name: 'Second',
28
- // index: 1,
29
- // badgeCount: '10',
30
- // },
31
- // {
32
- // name: 'Second',
33
- // index: 1,
34
- // badgeCount: '10',
35
- // },
36
- // {
37
- // name: 'Second',
38
- // index: 1,
39
- // badgeCount: '10',
40
- // },
41
- // {
42
- // name: 'Second',
43
- // index: 1,
44
- // badgeCount: '10',
45
- // },
46
- // {
47
- // name: 'Second',
48
- // index: 1,
49
- // badgeCount: '10',
50
- // },
51
- // {
52
- // name: 'Second',
53
- // index: 1,
54
- // badgeCount: '10',
55
- // },
56
- // {
57
- // name: 'Second',
58
- // index: 1,
59
- // badgeCount: '10',
60
- // },
61
- // {
62
- // name: 'Second',
63
- // index: 1,
64
- // badgeCount: '10',
65
- // },
66
- // {
67
- // name: 'Second',
68
- // index: 1,
69
- // badgeCount: '10',
70
- // },
71
- // {
72
- // name: 'Second',
73
- // index: 1,
74
- // badgeCount: '10',
75
- // },
76
- // {
77
- // name: 'Second',
78
- // index: 1,
79
- // badgeCount: '10',
80
- // },
81
- // {
82
- // name: 'Second',
83
- // index: 1,
84
- // badgeCount: '10',
85
- // },
86
- // {
87
- // name: 'Second',
88
- // index: 1,
89
- // badgeCount: '10',
90
- // },
91
- // {
92
- // name: 'Second',
93
- // index: 1,
94
- // badgeCount: '10',
95
- // },
96
- // {
97
- // name: 'Second',
98
- // index: 1,
99
- // badgeCount: '10',
100
- // },
8
+ {
9
+ name: 'All accounts',
10
+ index: 0,
11
+ },
12
+ {
13
+ name: 'LCY Accounts',
14
+ index: 1,
15
+ badgeCount: '10',
16
+ },
17
+ {
18
+ name: 'FCY',
19
+ index: 1,
20
+ badgeCount: '10',
21
+ },
22
+ {
23
+ name: 'Second',
24
+ index: 1,
25
+ },
26
+ {
27
+ name: 'Second',
28
+ index: 1,
29
+ badgeCount: '10',
30
+ },
31
+ {
32
+ name: 'Second',
33
+ index: 1,
34
+ badgeCount: '10',
35
+ },
36
+ {
37
+ name: 'Second',
38
+ index: 1,
39
+ badgeCount: '10',
40
+ },
41
+ {
42
+ name: 'Second',
43
+ index: 1,
44
+ badgeCount: '10',
45
+ },
46
+ {
47
+ name: 'Second',
48
+ index: 1,
49
+ badgeCount: '10',
50
+ },
51
+ {
52
+ name: 'Second',
53
+ index: 1,
54
+ badgeCount: '10',
55
+ },
56
+ {
57
+ name: 'Second',
58
+ index: 1,
59
+ badgeCount: '10',
60
+ },
61
+ {
62
+ name: 'Second',
63
+ index: 1,
64
+ badgeCount: '10',
65
+ },
66
+ {
67
+ name: 'Second',
68
+ index: 1,
69
+ badgeCount: '10',
70
+ },
71
+ {
72
+ name: 'Second',
73
+ index: 1,
74
+ badgeCount: '10',
75
+ },
76
+ {
77
+ name: 'Second',
78
+ index: 1,
79
+ badgeCount: '10',
80
+ },
81
+ {
82
+ name: 'Second',
83
+ index: 1,
84
+ badgeCount: '10',
85
+ },
86
+ {
87
+ name: 'Second',
88
+ index: 1,
89
+ badgeCount: '10',
90
+ },
91
+ {
92
+ name: 'Second',
93
+ index: 1,
94
+ badgeCount: '10',
95
+ },
96
+ {
97
+ name: 'Second',
98
+ index: 1,
99
+ badgeCount: '10',
100
+ },
101
101
  ];
102
102
  this.internalTabs = [...this.tabs];
103
103
  this.internalActiveIndex = 0;
@@ -184,11 +184,6 @@ export class GbHorizontalTabs {
184
184
  }
185
185
  onTabsChanged(newTabs) {
186
186
  this.internalTabs = newTabs;
187
- // `tabs` is very commonly set after mount (e.g. loaded from an API), so
188
- // the overflow check needs to re-run once the new tabs have actually
189
- // rendered - not just at componentDidLoad. Double rAF: one frame for
190
- // Stencil to commit the internalTabs re-render, another so layout (and
191
- // scrollWidth) has settled before measuring.
192
187
  requestAnimationFrame(() => {
193
188
  requestAnimationFrame(() => this.updateScrollButtons());
194
189
  });
@@ -204,7 +199,7 @@ export class GbHorizontalTabs {
204
199
  this.tabItemClicked.emit(index);
205
200
  }
206
201
  render() {
207
- return (h("div", { key: 'd38105b5f3fa2ae133ce3714eb4d7f95dd669bd2', class: `horizontal_tab_div_wrapper ${this.type}` }, this.showLeftButton && (h("div", { key: 'af099e119057fd042026d6ca7ae41dc144f85c25', class: "scroll_button_div left" }, h("div", { key: '520bc13879c76f6a1b459cfa6bbbd664cdc5a73c', class: "scroll_button", onClick: () => this.scrollLeft() }, h("svg", { key: 'ea94ee2feb0d7296b1e102d6194e3e78c26235b3', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '48195e0efdd0833614819d0a2ee2d20027643aff', d: "M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), h("div", { key: '48e5c5de4b497a5559cc7ba687dc9c71864aeee8', class: "horizontal_tab_wrapper", ref: el => (this.tabContainer = el), onScroll: () => this.handleScroll(), onTouchStart: e => this.handleTouchStart(e), onTouchEnd: e => this.handleTouchEnd(e), onMouseDown: e => this.handleMouseDown(e), onMouseUp: e => this.handleMouseUp(e), onMouseLeave: () => this.handleMouseLeave() }, h("div", { key: 'f519e7b1a7714d145b8dddc0c53eaceba913a6fd', class: `horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}` }, this.internalTabs.map((tab, index) => (h("gb-tab-button-base", { class: `tab_button_base ${this.fullWidth ? 'full_width' : ''}`, size: this.size, "full-width": this.fullWidth, type: this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type, onClick: () => this.handleTabClick(index), current: this.internalActiveIndex === index, "tab-name": tab.name, truncate: this.truncate, badge: tab.badgeCount ? true : !tab.badgeCount ? false : this.badge, alignment: "horizontal" }, h("p", { slot: "count" }, tab.badgeCount)))))), this.showRightButton && (h("div", { key: '9259943c2ae1cb9d5f3570c8aa6e160c15a9a54f', class: "scroll_button_div right" }, h("div", { key: '049c7085eb81a456df7392972de6b4b25732699c', class: "scroll_button", onClick: () => this.scrollRight() }, h("svg", { key: '2e5151c39eb44355de85ef0321396e8a9d4d7085', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: 'f0667985bd38a229bd6e4e4a623a330750b108fd', d: "M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
202
+ return (h("div", { key: '5fd4b5ec1e1f17caeaf03f179187a03a0f48942e', class: `horizontal_tab_div_wrapper ${this.type}` }, this.showLeftButton && (h("div", { key: 'c7791a510074fba1d367c5b7cfcaed38352162ea', class: "scroll_button_div left" }, h("div", { key: '6b3d1fa88e171c0c7c30fa57facef3460e452cf5', class: "scroll_button", onClick: () => this.scrollLeft() }, h("svg", { key: '79a45e6a26c95e24fef06a3c3a22b5d2756707c7', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: 'd7bcc7a16fa5740e48df75f5fa4601d1fcf4cb14', d: "M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), h("div", { key: '368bf5598033b4113f1ed36d71149ec644397927', class: "horizontal_tab_wrapper", ref: el => (this.tabContainer = el), onScroll: () => this.handleScroll(), onTouchStart: e => this.handleTouchStart(e), onTouchEnd: e => this.handleTouchEnd(e), onMouseDown: e => this.handleMouseDown(e), onMouseUp: e => this.handleMouseUp(e), onMouseLeave: () => this.handleMouseLeave() }, h("div", { key: '180ace0db0de8f839eb80b70e8463b8ca380a8ac', class: `horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}` }, this.internalTabs.map((tab, index) => (h("gb-tab-button-base", { class: `tab_button_base ${this.fullWidth ? 'full_width' : ''}`, size: this.size, "full-width": this.fullWidth, type: this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type, onClick: () => this.handleTabClick(index), current: this.internalActiveIndex === index, "tab-name": tab.name, truncate: this.truncate, badge: tab.badgeCount ? true : !tab.badgeCount ? false : this.badge, alignment: "horizontal" }, h("p", { slot: "count" }, tab.badgeCount)))))), this.showRightButton && (h("div", { key: '5496e76ecc57280e3048f1efdef61f30ddc09b0c', class: "scroll_button_div right" }, h("div", { key: '16e543a363367a88321462d62f24df2339b2a618', class: "scroll_button", onClick: () => this.scrollRight() }, h("svg", { key: 'cc0acbafe45c0ab4598c73fb82e9074b9e4c32d2', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '865de0d23c4c6b6a87f0d5cf89cfe8d7c4122723', d: "M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18", stroke: "var(--color-icon, #4B5565)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
208
203
  }
209
204
  static get is() { return "gb-horizontal-tabs"; }
210
205
  static get encapsulation() { return "shadow"; }
@@ -365,7 +360,7 @@ export class GbHorizontalTabs {
365
360
  },
366
361
  "getter": false,
367
362
  "setter": false,
368
- "defaultValue": "[\n // {\n // name: 'All accounts',\n // index: 0,\n // },\n // {\n // name: 'LCY Accounts',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'FCY',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n ]"
363
+ "defaultValue": "[\n {\n name: 'All accounts',\n index: 0,\n },\n {\n name: 'LCY Accounts',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'FCY',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n ]"
369
364
  }
370
365
  };
371
366
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gb-horizontal-tabs.js","sourceRoot":"","sources":["../../../src/components/gb-horizontal-tabs/gb-horizontal-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { GeneralSizes, TabTypes } from '../../models/reusableModels';\n\n@Component({\n tag: 'gb-horizontal-tabs',\n styleUrl: 'gb-horizontal-tabs.css',\n shadow: true,\n})\nexport class GbHorizontalTabs {\n @Prop() type: TabTypes;\n @Prop() size: GeneralSizes;\n @Prop() fullWidth: boolean = false;\n @Prop() badge: boolean = false;\n @Prop() truncate: boolean = false;\n @Prop({ mutable: true }) activeIndex: number;\n @Prop() tabs: { name: string; index: number; badgeCount?: string }[] = [\n // {\n // name: 'All accounts',\n // index: 0,\n // },\n // {\n // name: 'LCY Accounts',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'FCY',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n // {\n // name: 'Second',\n // index: 1,\n // badgeCount: '10',\n // },\n ];\n @State() internalTabs: { name: string; index: number; badgeCount?: string }[] = [...this.tabs];\n @State() internalActiveIndex: number = 0;\n // @State() showScrollButtons: boolean = false;\n @State() width: number = window.innerWidth;\n @Event() tabItemClicked: EventEmitter<number>;\n @State() showLeftButton = false;\n @State() showRightButton = false;\n private tabContainer!: HTMLElement;\n private touchStartX: number = 0;\n private touchEndX: number = 0;\n private mouseStartX: number = 0;\n private isMouseDown: boolean = false;\n\n componentDidLoad() {\n this.updateScrollButtons();\n }\n\n scrollLeft() {\n this.tabContainer.scrollBy({ left: -200, behavior: 'smooth' });\n }\n\n scrollRight() {\n this.tabContainer.scrollBy({ left: 200, behavior: 'smooth' });\n }\n\n handleScroll() {\n this.updateScrollButtons();\n }\n\n handleTouchStart(e: TouchEvent) {\n this.touchStartX = e.touches[0].clientX;\n }\n\n handleTouchEnd(e: TouchEvent) {\n this.touchEndX = e.changedTouches[0].clientX;\n this.handleSwipe();\n }\n\n handleSwipe() {\n const swipeThreshold = 50; // minimum distance for a swipe\n const diff = this.touchStartX - this.touchEndX;\n\n if (Math.abs(diff) > swipeThreshold) {\n if (diff > 0) {\n // Swiped left, scroll right\n this.scrollRight();\n } else {\n // Swiped right, scroll left\n this.scrollLeft();\n }\n }\n }\n\n handleMouseDown(e: MouseEvent) {\n this.isMouseDown = true;\n this.mouseStartX = e.clientX;\n }\n\n handleMouseUp(e: MouseEvent) {\n if (!this.isMouseDown) return;\n this.isMouseDown = false;\n const mouseEndX = e.clientX;\n const swipeThreshold = 50;\n const diff = this.mouseStartX - mouseEndX;\n\n if (Math.abs(diff) > swipeThreshold) {\n if (diff > 0) {\n // Dragged left, scroll right\n this.scrollRight();\n } else {\n // Dragged right, scroll left\n this.scrollLeft();\n }\n }\n }\n\n handleMouseLeave() {\n this.isMouseDown = false;\n }\n\n @Listen('resize', { target: 'window' })\n updateScrollButtons() {\n if (!this.tabContainer) return;\n\n // Read current viewport width so behavior updates dynamically on resize\n this.width = window.innerWidth;\n\n const { scrollLeft, scrollWidth, clientWidth } = this.tabContainer;\n\n // Only show buttons if overflow exists and the width greater than 768px for screens larger than mobile\n const isOverflowing = scrollWidth > clientWidth;\n this.showLeftButton = isOverflowing && scrollLeft > 0;\n this.showRightButton = isOverflowing && scrollLeft + clientWidth < scrollWidth - 1;\n }\n\n @Watch('activeIndex')\n setActiveIndex(_oldValue: number, newValue: number) {\n this.internalActiveIndex = newValue;\n }\n\n @Watch('tabs')\n onTabsChanged(newTabs: { name: string; index: number; badgeCount?: string }[]) {\n this.internalTabs = newTabs;\n\n // `tabs` is very commonly set after mount (e.g. loaded from an API), so\n // the overflow check needs to re-run once the new tabs have actually\n // rendered - not just at componentDidLoad. Double rAF: one frame for\n // Stencil to commit the internalTabs re-render, another so layout (and\n // scrollWidth) has settled before measuring.\n requestAnimationFrame(() => {\n requestAnimationFrame(() => this.updateScrollButtons());\n });\n }\n\n componentWillLoad() {\n this.internalTabs = this.tabs;\n }\n\n componentWillRender() {\n this.internalActiveIndex = this.activeIndex;\n }\n\n async handleTabClick(index: number) {\n this.activeIndex = index;\n this.tabItemClicked.emit(index);\n }\n\n render() {\n return (\n <div class={`horizontal_tab_div_wrapper ${this.type}`}>\n {this.showLeftButton && (\n <div class=\"scroll_button_div left\">\n <div class=\"scroll_button\" onClick={() => this.scrollLeft()}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18\"\n stroke=\"var(--color-icon, #4B5565)\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n )}\n <div\n class=\"horizontal_tab_wrapper\"\n ref={el => (this.tabContainer = el as HTMLElement)}\n onScroll={() => this.handleScroll()}\n onTouchStart={e => this.handleTouchStart(e)}\n onTouchEnd={e => this.handleTouchEnd(e)}\n onMouseDown={e => this.handleMouseDown(e)}\n onMouseUp={e => this.handleMouseUp(e)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n <div class={`horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}`}>\n {this.internalTabs.map((tab, index) => (\n <gb-tab-button-base\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\n size={this.size}\n full-width={this.fullWidth}\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\n onClick={() => this.handleTabClick(index)}\n current={this.internalActiveIndex === index}\n tab-name={tab.name}\n truncate={this.truncate}\n badge={tab.badgeCount ? true : !tab.badgeCount ? false : this.badge}\n alignment=\"horizontal\"\n >\n <p slot=\"count\">{tab.badgeCount}</p>\n </gb-tab-button-base>\n ))}\n </div>\n </div>\n {this.showRightButton && (\n <div class=\"scroll_button_div right\">\n <div class=\"scroll_button\" onClick={() => this.scrollRight()}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18\"\n stroke=\"var(--color-icon, #4B5565)\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"gb-horizontal-tabs.js","sourceRoot":"","sources":["../../../src/components/gb-horizontal-tabs/gb-horizontal-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { GeneralSizes, TabTypes } from '../../models/reusableModels';\n\n@Component({\n tag: 'gb-horizontal-tabs',\n styleUrl: 'gb-horizontal-tabs.css',\n shadow: true,\n})\nexport class GbHorizontalTabs {\n @Prop() type: TabTypes;\n @Prop() size: GeneralSizes;\n @Prop() fullWidth: boolean = false;\n @Prop() badge: boolean = false;\n @Prop() truncate: boolean = false;\n @Prop({ mutable: true }) activeIndex: number;\n @Prop() tabs: { name: string; index: number; badgeCount?: string }[] = [\n {\n name: 'All accounts',\n index: 0,\n },\n {\n name: 'LCY Accounts',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'FCY',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n {\n name: 'Second',\n index: 1,\n badgeCount: '10',\n },\n ];\n @State() internalTabs: { name: string; index: number; badgeCount?: string }[] = [...this.tabs];\n @State() internalActiveIndex: number = 0;\n // @State() showScrollButtons: boolean = false;\n @State() width: number = window.innerWidth;\n @Event() tabItemClicked: EventEmitter<number>;\n @State() showLeftButton = false;\n @State() showRightButton = false;\n private tabContainer!: HTMLElement;\n private touchStartX: number = 0;\n private touchEndX: number = 0;\n private mouseStartX: number = 0;\n private isMouseDown: boolean = false;\n\n componentDidLoad() {\n this.updateScrollButtons();\n }\n\n scrollLeft() {\n this.tabContainer.scrollBy({ left: -200, behavior: 'smooth' });\n }\n\n scrollRight() {\n this.tabContainer.scrollBy({ left: 200, behavior: 'smooth' });\n }\n\n handleScroll() {\n this.updateScrollButtons();\n }\n\n handleTouchStart(e: TouchEvent) {\n this.touchStartX = e.touches[0].clientX;\n }\n\n handleTouchEnd(e: TouchEvent) {\n this.touchEndX = e.changedTouches[0].clientX;\n this.handleSwipe();\n }\n\n handleSwipe() {\n const swipeThreshold = 50; // minimum distance for a swipe\n const diff = this.touchStartX - this.touchEndX;\n\n if (Math.abs(diff) > swipeThreshold) {\n if (diff > 0) {\n // Swiped left, scroll right\n this.scrollRight();\n } else {\n // Swiped right, scroll left\n this.scrollLeft();\n }\n }\n }\n\n handleMouseDown(e: MouseEvent) {\n this.isMouseDown = true;\n this.mouseStartX = e.clientX;\n }\n\n handleMouseUp(e: MouseEvent) {\n if (!this.isMouseDown) return;\n this.isMouseDown = false;\n const mouseEndX = e.clientX;\n const swipeThreshold = 50;\n const diff = this.mouseStartX - mouseEndX;\n\n if (Math.abs(diff) > swipeThreshold) {\n if (diff > 0) {\n // Dragged left, scroll right\n this.scrollRight();\n } else {\n // Dragged right, scroll left\n this.scrollLeft();\n }\n }\n }\n\n handleMouseLeave() {\n this.isMouseDown = false;\n }\n\n @Listen('resize', { target: 'window' })\n updateScrollButtons() {\n if (!this.tabContainer) return;\n\n // Read current viewport width so behavior updates dynamically on resize\n this.width = window.innerWidth;\n\n const { scrollLeft, scrollWidth, clientWidth } = this.tabContainer;\n\n // Only show buttons if overflow exists and the width greater than 768px for screens larger than mobile\n const isOverflowing = scrollWidth > clientWidth;\n this.showLeftButton = isOverflowing && scrollLeft > 0;\n this.showRightButton = isOverflowing && scrollLeft + clientWidth < scrollWidth - 1;\n }\n\n @Watch('activeIndex')\n setActiveIndex(_oldValue: number, newValue: number) {\n this.internalActiveIndex = newValue;\n }\n\n @Watch('tabs')\n onTabsChanged(newTabs: { name: string; index: number; badgeCount?: string }[]) {\n this.internalTabs = newTabs;\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => this.updateScrollButtons());\n });\n }\n\n componentWillLoad() {\n this.internalTabs = this.tabs;\n }\n\n componentWillRender() {\n this.internalActiveIndex = this.activeIndex;\n }\n\n async handleTabClick(index: number) {\n this.activeIndex = index;\n this.tabItemClicked.emit(index);\n }\n\n render() {\n return (\n <div class={`horizontal_tab_div_wrapper ${this.type}`}>\n {this.showLeftButton && (\n <div class=\"scroll_button_div left\">\n <div class=\"scroll_button\" onClick={() => this.scrollLeft()}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18\"\n stroke=\"var(--color-icon, #4B5565)\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n )}\n <div\n class=\"horizontal_tab_wrapper\"\n ref={el => (this.tabContainer = el as HTMLElement)}\n onScroll={() => this.handleScroll()}\n onTouchStart={e => this.handleTouchStart(e)}\n onTouchEnd={e => this.handleTouchEnd(e)}\n onMouseDown={e => this.handleMouseDown(e)}\n onMouseUp={e => this.handleMouseUp(e)}\n onMouseLeave={() => this.handleMouseLeave()}\n >\n <div class={`horizontal_tab_div ${this.type} ${this.fullWidth ? 'full_width' : ''}`}>\n {this.internalTabs.map((tab, index) => (\n <gb-tab-button-base\n class={`tab_button_base ${this.fullWidth ? 'full_width' : ''}`}\n size={this.size}\n full-width={this.fullWidth}\n type={this.type === 'button_white_border' ? 'button_white' : this.type === 'rounded_button_white_border' ? 'rounded_button_white' : this.type}\n onClick={() => this.handleTabClick(index)}\n current={this.internalActiveIndex === index}\n tab-name={tab.name}\n truncate={this.truncate}\n badge={tab.badgeCount ? true : !tab.badgeCount ? false : this.badge}\n alignment=\"horizontal\"\n >\n <p slot=\"count\">{tab.badgeCount}</p>\n </gb-tab-button-base>\n ))}\n </div>\n </div>\n {this.showRightButton && (\n <div class=\"scroll_button_div right\">\n <div class=\"scroll_button\" onClick={() => this.scrollRight()}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18\"\n stroke=\"var(--color-icon, #4B5565)\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
@@ -2791,9 +2791,27 @@ input:autofill {
2791
2791
  .label {
2792
2792
  color: var(--color-text, #4b5565);
2793
2793
  }
2794
- .hint_text {
2794
+ .hint_text.gray {
2795
2795
  color: var(--color-text-subtle, #697586);
2796
2796
  }
2797
+ .hint_text.danger{
2798
+ color: var(--color-text-danger, #b51726);
2799
+ }
2800
+ .hint_text.success{
2801
+ color: var(--color-text-success, #067f48);
2802
+ }
2803
+ .hint_text.information{
2804
+ color: var(--color-text-information, #064e94);
2805
+ }
2806
+ .hint_text.discovery{
2807
+ color: var(--color-text-discovery, #065986);
2808
+ }
2809
+ .hint_text.purple{
2810
+ color: var(--color-text-purple, #6938ef);
2811
+ }
2812
+ .hint_text.pink{
2813
+ color: var(--color-text-pink, #dd2590);
2814
+ }
2797
2815
  .error_text {
2798
2816
  color: var(--color-text-danger, #b51726);
2799
2817
  }