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.
- package/dist/cjs/gb-accordion-card_91.cjs.entry.js +132 -136
- package/dist/cjs/gb-token-field-compact.cjs.entry.js +1 -1
- package/dist/cjs/gb-token-field-compressed.cjs.entry.js +2 -2
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.css +5 -22
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +95 -100
- package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js.map +1 -1
- package/dist/collection/components/gb-input-field/gb-input-field.css +19 -1
- package/dist/collection/components/gb-input-field/gb-input-field.js +41 -14
- package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
- package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.css +3 -15
- package/dist/collection/components/gb-table-header/gb-table-header.css +8 -3
- package/dist/collection/components/gb-table-header/gb-table-header.js +2 -2
- package/dist/collection/components/gb-table-header/gb-table-header.js.map +1 -1
- package/dist/collection/components/gb-tag/gb-tag.js +1 -1
- package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
- package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
- package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
- package/dist/collection/components/gb-textarea-input-field/gb-textarea-input-field.js +3 -3
- package/dist/collection/components/gb-theme-tab/gb-theme-tab.js +1 -1
- package/dist/collection/components/gb-toast/gb-toast.js +1 -1
- package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
- package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
- package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
- package/dist/collection/components/gb-token-field-compact/gb-token-field-compact.js +1 -1
- package/dist/collection/components/gb-token-field-compressed/gb-token-field-compressed.js +2 -2
- package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
- package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +1 -1
- package/dist/collection/components/gb-wysiwyg-editor-icon/gb-wysiwyg-editor-icon.js +1 -1
- package/dist/collection/components/gb-wysiwyg-toolbar/gb-wysiwyg-toolbar.js +1 -1
- package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
- package/dist/components/gb-accordion-card.js +2 -2
- package/dist/components/gb-action-panel.js +2 -2
- package/dist/components/gb-approval-modal.js +8 -8
- package/dist/components/gb-avatar-add-button.js +1 -1
- package/dist/components/gb-avatar-dropdown.js +1 -1
- package/dist/components/gb-avatar-group.js +2 -2
- package/dist/components/gb-btn.js +1 -1
- package/dist/components/gb-button.js +1 -1
- package/dist/components/gb-checkbox-group-item.js +1 -1
- package/dist/components/gb-checkbox-group.js +3 -3
- package/dist/components/gb-collapse-button.js +1 -1
- package/dist/components/gb-comment.js +2 -2
- package/dist/components/gb-complex-primary-side-bar-item.js +1 -1
- package/dist/components/gb-complex-secondary-side-bar-item.js +1 -1
- package/dist/components/gb-date-picker.js +1 -1
- package/dist/components/gb-detail-cell.js +6 -6
- package/dist/components/gb-empty-state.js +1 -1
- package/dist/components/gb-file-upload-item-base.js +1 -1
- package/dist/components/gb-file-upload.js +4 -4
- package/dist/components/gb-filter-button.js +1 -1
- package/dist/components/gb-filter-modal.js +1 -1
- package/dist/components/gb-header.js +13 -13
- package/dist/components/gb-help-tooltip.js +1 -1
- package/dist/components/gb-horizontal-tabs.js +96 -101
- package/dist/components/gb-horizontal-tabs.js.map +1 -1
- package/dist/components/gb-icon-button-base.js +1 -1
- package/dist/components/gb-input-dropdown.js +1 -1
- package/dist/components/gb-input-field.js +1 -1
- package/dist/components/gb-modal-action.js +1 -1
- package/dist/components/gb-modal.js +3 -3
- package/dist/components/gb-nav-bar-item.js +1 -1
- package/dist/components/gb-nav-bar-sidemenu.js +2 -2
- package/dist/components/gb-nav-bar.js +2 -2
- package/dist/components/gb-notification-pane.js +1 -1
- package/dist/components/gb-pagination.js +1 -1
- package/dist/components/gb-password-button.js +1 -1
- package/dist/components/gb-progress-bar.js +1 -1
- package/dist/components/gb-prompt-modal.js +2 -2
- package/dist/components/gb-rich-text.js +12 -12
- package/dist/components/gb-sidebar.js +5 -5
- package/dist/components/gb-simple-side-bar-item.js +1 -1
- package/dist/components/gb-slider-control-handle.js +1 -1
- package/dist/components/gb-slider.js +2 -2
- package/dist/components/gb-tab-button-base.js +1 -1
- package/dist/components/gb-table-header.js +1 -1
- package/dist/components/gb-table.js +21 -21
- package/dist/components/gb-tag-checkbox.js +1 -1
- package/dist/components/gb-tag-close.js +1 -1
- package/dist/components/gb-tag-count.js +1 -1
- package/dist/components/gb-tag.js +1 -1
- package/dist/components/gb-textarea-input-field.js +1 -1
- package/dist/components/gb-theme-tab.js +1 -1
- package/dist/components/gb-toast-button.js +1 -1
- package/dist/components/gb-toast.js +1 -1
- package/dist/components/gb-toggle-base.js +1 -1
- package/dist/components/gb-toggle.js +1 -1
- package/dist/components/gb-token-field-compact.js +1 -1
- package/dist/components/gb-token-field-compressed.js +2 -2
- package/dist/components/gb-tooltip.js +1 -1
- package/dist/components/gb-vertical-tabs.js +1 -1
- package/dist/components/gb-wysiwyg-editor-icon.js +1 -1
- package/dist/components/gb-wysiwyg-toolbar.js +1 -1
- package/dist/components/gb-wysiwyg-tooltip.js +1 -1
- package/dist/components/{p-b3s82Q9X.js → p-7uHLCNUc.js} +4 -4
- package/dist/components/{p-b3s82Q9X.js.map → p-7uHLCNUc.js.map} +1 -1
- package/dist/components/{p-C1oWcge_.js → p-B7wE65ae.js} +3 -3
- package/dist/components/{p-C1oWcge_.js.map → p-B7wE65ae.js.map} +1 -1
- package/dist/components/{p-Bh2tneE8.js → p-B7y6l8y2.js} +11 -11
- package/dist/components/{p-Bh2tneE8.js.map → p-B7y6l8y2.js.map} +1 -1
- package/dist/components/{p-CPNfYdRm.js → p-BBpW2sSo.js} +3 -3
- package/dist/components/{p-CPNfYdRm.js.map → p-BBpW2sSo.js.map} +1 -1
- package/dist/components/{p-7t9DGALC.js → p-BDUlTplG.js} +3 -3
- package/dist/components/{p-7t9DGALC.js.map → p-BDUlTplG.js.map} +1 -1
- package/dist/components/{p-Cr5UZQB2.js → p-BFNIm-jb.js} +6 -6
- package/dist/components/{p-Cr5UZQB2.js.map → p-BFNIm-jb.js.map} +1 -1
- package/dist/components/{p-BYTuxIjn.js → p-BIy6Iz9H.js} +3 -3
- package/dist/components/{p-BYTuxIjn.js.map → p-BIy6Iz9H.js.map} +1 -1
- package/dist/components/{p-DvDrSp52.js → p-BgdF36ob.js} +5 -5
- package/dist/components/{p-DvDrSp52.js.map → p-BgdF36ob.js.map} +1 -1
- package/dist/components/{p-UAnEmTC4.js → p-BheO5g9S.js} +3 -3
- package/dist/components/{p-UAnEmTC4.js.map → p-BheO5g9S.js.map} +1 -1
- package/dist/components/{p-MoXBMqLZ.js → p-BmfqoFFR.js} +4 -4
- package/dist/components/{p-MoXBMqLZ.js.map → p-BmfqoFFR.js.map} +1 -1
- package/dist/components/{p-QRrH0XNA.js → p-BuacPAxJ.js} +3 -3
- package/dist/components/{p-QRrH0XNA.js.map → p-BuacPAxJ.js.map} +1 -1
- package/dist/components/{p-iKzJ45kb.js → p-CGjzNNLL.js} +6 -6
- package/dist/components/{p-iKzJ45kb.js.map → p-CGjzNNLL.js.map} +1 -1
- package/dist/components/{p-z-nLxZVO.js → p-CKNE69Jt.js} +5 -5
- package/dist/components/{p-z-nLxZVO.js.map → p-CKNE69Jt.js.map} +1 -1
- package/dist/components/{p-gyCVbN_J.js → p-CLf82yjS.js} +3 -3
- package/dist/components/{p-gyCVbN_J.js.map → p-CLf82yjS.js.map} +1 -1
- package/dist/components/{p-Cm4t0r0j.js → p-CVlUyGt-.js} +3 -3
- package/dist/components/{p-Cm4t0r0j.js.map → p-CVlUyGt-.js.map} +1 -1
- package/dist/components/{p-CkA31HT1.js → p-CjaqODqN.js} +3 -3
- package/dist/components/p-CjaqODqN.js.map +1 -0
- package/dist/components/{p-BDzojrvH.js → p-CnL3JYpm.js} +5 -5
- package/dist/components/{p-BDzojrvH.js.map → p-CnL3JYpm.js.map} +1 -1
- package/dist/components/{p-CWwjmq0v.js → p-CuhDXF1j.js} +3 -3
- package/dist/components/{p-CWwjmq0v.js.map → p-CuhDXF1j.js.map} +1 -1
- package/dist/components/{p-DnGszNGW.js → p-CxxAThom.js} +16 -16
- package/dist/components/p-CxxAThom.js.map +1 -0
- package/dist/components/{p-1YWPiXuf.js → p-D1YW4Sum.js} +12 -12
- package/dist/components/{p-1YWPiXuf.js.map → p-D1YW4Sum.js.map} +1 -1
- package/dist/components/{p-CnQIvd5K.js → p-D3YDcBx7.js} +6 -6
- package/dist/components/{p-CnQIvd5K.js.map → p-D3YDcBx7.js.map} +1 -1
- package/dist/components/{p-DkLrLbUI.js → p-DBvhf2SI.js} +4 -4
- package/dist/components/{p-DkLrLbUI.js.map → p-DBvhf2SI.js.map} +1 -1
- package/dist/components/{p-kPEcZlMR.js → p-DC76dG62.js} +4 -4
- package/dist/components/{p-kPEcZlMR.js.map → p-DC76dG62.js.map} +1 -1
- package/dist/components/{p-DNUdD2lw.js → p-DHi7vvkR.js} +4 -4
- package/dist/components/{p-DNUdD2lw.js.map → p-DHi7vvkR.js.map} +1 -1
- package/dist/components/{p-C7_Pzx6F.js → p-DJIp9uts.js} +4 -4
- package/dist/components/{p-C7_Pzx6F.js.map → p-DJIp9uts.js.map} +1 -1
- package/dist/components/{p-jZV3N-O0.js → p-DaTP4MvQ.js} +3 -3
- package/dist/components/{p-jZV3N-O0.js.map → p-DaTP4MvQ.js.map} +1 -1
- package/dist/components/{p-CL_mV11E.js → p-DcDhbSZD.js} +4 -4
- package/dist/components/{p-CL_mV11E.js.map → p-DcDhbSZD.js.map} +1 -1
- package/dist/components/{p-CjCyCgWb.js → p-DjeEn6df.js} +3 -3
- package/dist/components/{p-CjCyCgWb.js.map → p-DjeEn6df.js.map} +1 -1
- package/dist/components/{p-Ba2nqAFI.js → p-DmFvEYmm.js} +9 -9
- package/dist/components/{p-Ba2nqAFI.js.map → p-DmFvEYmm.js.map} +1 -1
- package/dist/components/{p-B4KRCeBI.js → p-DySJVGoY.js} +3 -3
- package/dist/components/{p-B4KRCeBI.js.map → p-DySJVGoY.js.map} +1 -1
- package/dist/components/{p-B14RIt38.js → p-FUxshpQM.js} +4 -4
- package/dist/components/{p-B14RIt38.js.map → p-FUxshpQM.js.map} +1 -1
- package/dist/components/{p-D1ipn9Uc.js → p-FuTvKxWX.js} +3 -3
- package/dist/components/{p-D1ipn9Uc.js.map → p-FuTvKxWX.js.map} +1 -1
- package/dist/components/{p-DcePJpcZ.js → p-Ifiyli5k.js} +4 -4
- package/dist/components/{p-DcePJpcZ.js.map → p-Ifiyli5k.js.map} +1 -1
- package/dist/components/{p-0pSOogFh.js → p-RDQHy6a5.js} +14 -14
- package/dist/components/{p-0pSOogFh.js.map → p-RDQHy6a5.js.map} +1 -1
- package/dist/components/{p-B5qvfLPS.js → p-RDyNJ9Gh.js} +3 -3
- package/dist/components/{p-B5qvfLPS.js.map → p-RDyNJ9Gh.js.map} +1 -1
- package/dist/components/{p-C08aLARD.js → p-YxRex_HF.js} +3 -3
- package/dist/components/{p-C08aLARD.js.map → p-YxRex_HF.js.map} +1 -1
- package/dist/components/{p-CQC-jIto.js → p-gOlpqMTl.js} +3 -3
- package/dist/components/{p-CQC-jIto.js.map → p-gOlpqMTl.js.map} +1 -1
- package/dist/components/{p-BOWm5cIi.js → p-h1lvtKAJ.js} +3 -3
- package/dist/components/{p-BOWm5cIi.js.map → p-h1lvtKAJ.js.map} +1 -1
- package/dist/components/{p-BzJKCyKM.js → p-iRe5442y.js} +4 -4
- package/dist/components/{p-BzJKCyKM.js.map → p-iRe5442y.js.map} +1 -1
- package/dist/components/{p-m1u_rpqG.js → p-oIOTX0eL.js} +27 -25
- package/dist/components/p-oIOTX0eL.js.map +1 -0
- package/dist/components/test-input-tag.js +6 -6
- package/dist/docs.json +83 -7
- package/dist/esm/gb-accordion-card_91.entry.js +132 -136
- package/dist/esm/gb-token-field-compact.entry.js +1 -1
- package/dist/esm/gb-token-field-compressed.entry.js +2 -2
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/test-input-tag.entry.js +2 -2
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/icons-BxJPybuU.js.map +1 -0
- package/dist/globuscomponents/index-DtpEbOKW.js.map +1 -0
- package/dist/globuscomponents/{p-1b95ac84.entry.js → p-53053694.entry.js} +2 -2
- package/dist/globuscomponents/{p-79887fe8.entry.js → p-59e13f0e.entry.js} +2 -2
- package/dist/globuscomponents/{p-37da4422.entry.js → p-9f1105d8.entry.js} +2 -2
- package/dist/globuscomponents/{p-ffce6c75.entry.js → p-d1b31bbc.entry.js} +2 -2
- package/dist/globuscomponents/p-d1b31bbc.entry.js.map +1 -0
- package/dist/globuscomponents/reusableModels-cHn6O-Kf.js.map +1 -0
- package/dist/types/components/gb-input-field/gb-input-field.d.ts +2 -1
- package/dist/types/components.d.ts +10 -2
- package/package.json +4 -2
- package/dist/components/p-CkA31HT1.js.map +0 -1
- package/dist/components/p-DnGszNGW.js.map +0 -1
- package/dist/components/p-m1u_rpqG.js.map +0 -1
- package/dist/globuscomponents/p-ffce6c75.entry.js.map +0 -1
- /package/dist/globuscomponents/{p-1b95ac84.entry.js.map → p-53053694.entry.js.map} +0 -0
- /package/dist/globuscomponents/{p-79887fe8.entry.js.map → p-59e13f0e.entry.js.map} +0 -0
- /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: '
|
|
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: '
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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: '
|
|
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
|
|
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
|
}
|