cax-design-system 2.8.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -46
- package/api/confirmation.d.ts +4 -10
- package/api/message.d.ts +0 -1
- package/autocomplete/autocomplete.d.ts +23 -6
- package/autocomplete/autocomplete.module.d.ts +8 -7
- package/avatar/avatar.d.ts +23 -1
- package/badge/badge.d.ts +4 -0
- package/button/button.d.ts +8 -1
- package/button/button.directive.d.ts +3 -1
- package/calendar/calendar.d.ts +33 -11
- package/card/card.d.ts +2 -6
- package/cascadeselect/cascadeselect.d.ts +32 -2
- package/categorycard/categorycard.d.ts +11 -0
- package/categorycard/categorycard.module.d.ts +7 -0
- package/categorycard/index.d.ts +5 -0
- package/categorycard/public_api.d.ts +2 -0
- package/checkbox/checkbox.d.ts +2 -2
- package/chip/chip.d.ts +3 -4
- package/commentbox/commentbox.d.ts +1 -1
- package/comments/comments.d.ts +83 -0
- package/comments/comments.module.d.ts +7 -0
- package/{chips → comments}/index.d.ts +1 -1
- package/comments/public_api.d.ts +2 -0
- package/comparecard/comaparecard.module.d.ts +11 -0
- package/comparecard/comparecard.component.d.ts +44 -0
- package/comparecard/index.d.ts +5 -0
- package/comparecard/public_api.d.ts +2 -0
- package/confirmdialog/confirmdialog.d.ts +13 -22
- package/divider/divider.d.ts +9 -1
- package/dom/domhandler.d.ts +2 -2
- package/dropdown/dropdown-item.d.ts +2 -1
- package/dropdown/dropdown.d.ts +24 -2
- package/editor/editor.d.ts +6 -1
- package/fesm2022/cax-design-system-accordion.mjs +22 -17
- package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
- package/fesm2022/cax-design-system-animate.mjs +7 -7
- package/fesm2022/cax-design-system-animate.mjs.map +1 -1
- package/fesm2022/cax-design-system-animateonscroll.mjs +7 -7
- package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
- package/fesm2022/cax-design-system-api.mjs +37 -37
- package/fesm2022/cax-design-system-api.mjs.map +1 -1
- package/fesm2022/cax-design-system-autocomplete.mjs +101 -47
- package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
- package/fesm2022/cax-design-system-autofocus.mjs +7 -7
- package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatar.mjs +39 -8
- package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs +8 -8
- package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-badge.mjs +16 -12
- package/fesm2022/cax-design-system-badge.mjs.map +1 -1
- package/fesm2022/cax-design-system-baseicon.mjs +3 -3
- package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
- package/fesm2022/cax-design-system-blockui.mjs +7 -7
- package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
- package/fesm2022/cax-design-system-breadcrumb.mjs +10 -11
- package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +93 -39
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-buttongroup.mjs +7 -7
- package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-calendar.mjs +388 -100
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-card.mjs +12 -25
- package/fesm2022/cax-design-system-card.mjs.map +1 -1
- package/fesm2022/cax-design-system-carousel.mjs +7 -7
- package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
- package/fesm2022/cax-design-system-cascadeselect.mjs +90 -30
- package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-categorycard.mjs +57 -0
- package/fesm2022/cax-design-system-categorycard.mjs.map +1 -0
- package/fesm2022/cax-design-system-chart.mjs +7 -7
- package/fesm2022/cax-design-system-chart.mjs.map +1 -1
- package/fesm2022/cax-design-system-checkbox.mjs +15 -14
- package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-chip.mjs +14 -12
- package/fesm2022/cax-design-system-chip.mjs.map +1 -1
- package/fesm2022/cax-design-system-colorpicker.mjs +8 -8
- package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
- package/fesm2022/cax-design-system-commentbox.mjs +8 -8
- package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-comments.mjs +385 -0
- package/fesm2022/cax-design-system-comments.mjs.map +1 -0
- package/fesm2022/cax-design-system-comparecard.mjs +143 -0
- package/fesm2022/cax-design-system-comparecard.mjs.map +1 -0
- package/fesm2022/cax-design-system-confirmdialog.mjs +54 -50
- package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmpopup.mjs +8 -8
- package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
- package/fesm2022/cax-design-system-contextmenu.mjs +10 -10
- package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-dataview.mjs +10 -10
- package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
- package/fesm2022/cax-design-system-defer.mjs +7 -7
- package/fesm2022/cax-design-system-defer.mjs.map +1 -1
- package/fesm2022/cax-design-system-dialog.mjs +12 -13
- package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-divider.mjs +21 -11
- package/fesm2022/cax-design-system-divider.mjs.map +1 -1
- package/fesm2022/cax-design-system-dock.mjs +7 -7
- package/fesm2022/cax-design-system-dock.mjs.map +1 -1
- package/fesm2022/cax-design-system-dom.mjs +16 -6
- package/fesm2022/cax-design-system-dom.mjs.map +1 -1
- package/fesm2022/cax-design-system-dragdrop.mjs +10 -10
- package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +57 -22
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-dynamicdialog.mjs +15 -15
- package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-editor.mjs +55 -15
- package/fesm2022/cax-design-system-editor.mjs.map +1 -1
- package/fesm2022/cax-design-system-fieldset.mjs +8 -8
- package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
- package/fesm2022/cax-design-system-fileupload.mjs +7 -7
- package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
- package/fesm2022/cax-design-system-floatlabel.mjs +7 -7
- package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
- package/fesm2022/cax-design-system-focustrap.mjs +7 -7
- package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
- package/fesm2022/cax-design-system-galleria.mjs +19 -19
- package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
- package/fesm2022/cax-design-system-iconfield.mjs +7 -7
- package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubledown.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubleright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubleup.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledown.mjs +4 -4
- package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angleleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angleright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angleup.mjs +4 -4
- package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowdown.mjs +4 -4
- package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowdownright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowup.mjs +4 -4
- package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-ban.mjs +3 -3
- package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-bars.mjs +3 -3
- package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-blank.mjs +4 -4
- package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-calendar.mjs +4 -4
- package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-caretleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-caretright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-check.mjs +4 -4
- package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevrondown.mjs +4 -4
- package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevronleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevronright.mjs +4 -4
- package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevronup.mjs +4 -4
- package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-eye.mjs +4 -4
- package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-eyeslash.mjs +3 -3
- package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-filter.mjs +3 -3
- package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-filterslash.mjs +4 -4
- package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-home.mjs +3 -3
- package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-infocircle.mjs +3 -3
- package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-minus.mjs +3 -3
- package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-pencil.mjs +3 -3
- package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-plus.mjs +4 -4
- package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-refresh.mjs +4 -4
- package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-search.mjs +4 -4
- package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-searchminus.mjs +4 -4
- package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-searchplus.mjs +4 -4
- package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-sortalt.mjs +3 -3
- package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-sortamountdown.mjs +3 -3
- package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-spinner.mjs +4 -4
- package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-star.mjs +3 -3
- package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-starfill.mjs +3 -3
- package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-thlarge.mjs +3 -3
- package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-times.mjs +4 -4
- package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-timescircle.mjs +4 -4
- package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-trash.mjs +4 -4
- package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-undo.mjs +4 -4
- package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-upload.mjs +3 -3
- package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-windowmaximize.mjs +3 -3
- package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-windowminimize.mjs +3 -3
- package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/cax-design-system-image.mjs +8 -8
- package/fesm2022/cax-design-system-image.mjs.map +1 -1
- package/fesm2022/cax-design-system-inplace.mjs +13 -13
- package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
- package/fesm2022/{cax-design-system-chips.mjs → cax-design-system-inputchips.mjs} +66 -27
- package/fesm2022/cax-design-system-inputchips.mjs.map +1 -0
- package/fesm2022/cax-design-system-inputgroup.mjs +54 -10
- package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroupaddon.mjs +8 -8
- package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputicon.mjs +7 -7
- package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputmask.mjs +33 -20
- package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs +64 -30
- package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputotp.mjs +7 -7
- package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputswitch.mjs +7 -7
- package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs +30 -14
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs +49 -18
- package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
- package/fesm2022/cax-design-system-keyfilter.mjs +7 -7
- package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
- package/fesm2022/cax-design-system-knob.mjs +7 -7
- package/fesm2022/cax-design-system-knob.mjs.map +1 -1
- package/fesm2022/cax-design-system-listbox.mjs +39 -369
- package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-logo.mjs +8 -8
- package/fesm2022/cax-design-system-logo.mjs.map +1 -1
- package/fesm2022/cax-design-system-logocard.mjs +37 -0
- package/fesm2022/cax-design-system-logocard.mjs.map +1 -0
- package/fesm2022/cax-design-system-megamenu.mjs +10 -10
- package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-menu.mjs +15 -15
- package/fesm2022/cax-design-system-menu.mjs.map +1 -1
- package/fesm2022/cax-design-system-menubar.mjs +13 -13
- package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
- package/fesm2022/cax-design-system-message.mjs +7 -7
- package/fesm2022/cax-design-system-message.mjs.map +1 -1
- package/fesm2022/cax-design-system-messages.mjs +17 -44
- package/fesm2022/cax-design-system-messages.mjs.map +1 -1
- package/fesm2022/cax-design-system-metergroup.mjs +10 -10
- package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-multiselect.mjs +58 -24
- package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +193 -105
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-orderlist.mjs +7 -7
- package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
- package/fesm2022/cax-design-system-organizationchart.mjs +11 -11
- package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlay.mjs +8 -8
- package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlaypanel.mjs +17 -11
- package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-paginator.mjs +8 -8
- package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-panel.mjs +8 -8
- package/fesm2022/cax-design-system-panel.mjs.map +1 -1
- package/fesm2022/cax-design-system-panelmenu.mjs +14 -14
- package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-password.mjs +14 -14
- package/fesm2022/cax-design-system-password.mjs.map +1 -1
- package/fesm2022/cax-design-system-picklist.mjs +7 -7
- package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
- package/fesm2022/cax-design-system-productcard.mjs +90 -0
- package/fesm2022/cax-design-system-productcard.mjs.map +1 -0
- package/fesm2022/cax-design-system-progressbar.mjs +31 -9
- package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs +17 -15
- package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-radiobutton.mjs +27 -15
- package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-rating.mjs +7 -7
- package/fesm2022/cax-design-system-rating.mjs.map +1 -1
- package/fesm2022/cax-design-system-ripple.mjs +7 -7
- package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
- package/fesm2022/cax-design-system-scroller.mjs +8 -8
- package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
- package/fesm2022/cax-design-system-scrollpanel.mjs +7 -7
- package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-scrolltop.mjs +8 -8
- package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +79 -9
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +10 -10
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-skeleton.mjs +11 -10
- package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
- package/fesm2022/cax-design-system-slidemenu.mjs +10 -10
- package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-slider.mjs +14 -199
- package/fesm2022/cax-design-system-slider.mjs.map +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs +16 -9
- package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
- package/fesm2022/cax-design-system-spinner.mjs +7 -7
- package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs +10 -13
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitter.mjs +8 -8
- package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
- package/fesm2022/cax-design-system-stepper.mjs +20 -20
- package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
- package/fesm2022/cax-design-system-steps.mjs +30 -11
- package/fesm2022/cax-design-system-steps.mjs.map +1 -1
- package/fesm2022/cax-design-system-styleclass.mjs +7 -7
- package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
- package/fesm2022/cax-design-system-subscriptioncard.mjs +97 -0
- package/fesm2022/cax-design-system-subscriptioncard.mjs.map +1 -0
- package/fesm2022/cax-design-system-table-paginator.mjs +129 -0
- package/fesm2022/cax-design-system-table-paginator.mjs.map +1 -0
- package/fesm2022/cax-design-system-table.mjs +284 -400
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +19 -10
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabmenu.mjs +7 -7
- package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +168 -95
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-tag.mjs +71 -15
- package/fesm2022/cax-design-system-tag.mjs.map +1 -1
- package/fesm2022/cax-design-system-terminal.mjs +14 -14
- package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
- package/fesm2022/cax-design-system-tieredmenu.mjs +21 -14
- package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +8 -8
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-toast.mjs +13 -25
- package/fesm2022/cax-design-system-toast.mjs.map +1 -1
- package/fesm2022/cax-design-system-togglebutton.mjs +9 -9
- package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +26 -8
- package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-toolbar.mjs +7 -7
- package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-tooltip.mjs +40 -20
- package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/cax-design-system-tree.mjs +12 -12
- package/fesm2022/cax-design-system-tree.mjs.map +1 -1
- package/fesm2022/cax-design-system-treeselect.mjs +8 -8
- package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-treetable.mjs +55 -55
- package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
- package/fesm2022/cax-design-system-tristatecheckbox.mjs +8 -8
- package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-upload.mjs +209 -96
- package/fesm2022/cax-design-system-upload.mjs.map +1 -1
- package/fesm2022/cax-design-system-utils.mjs.map +1 -1
- package/fesm2022/cax-design-system-virtualscroller.mjs +7 -7
- package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
- package/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
- package/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
- package/fonts/Inter/OFL.txt +93 -0
- package/fonts/Inter/README.txt +118 -0
- package/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
- package/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
- package/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
- package/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
- package/inputchips/index.d.ts +5 -0
- package/{chips/chips.d.ts → inputchips/inputchips.d.ts} +24 -6
- package/{chips/chips.interface.d.ts → inputchips/inputchips.interface.d.ts} +1 -1
- package/inputchips/inputchips.module.d.ts +14 -0
- package/inputchips/public_api.d.ts +3 -0
- package/inputgroup/inputgroup.d.ts +32 -1
- package/inputmask/inputmask.d.ts +9 -3
- package/inputnumber/inputnumber.d.ts +30 -4
- package/inputtext/inputtext.component.d.ts +2 -1
- package/inputtext/inputtext.directive.d.ts +3 -1
- package/inputtextarea/inputtextarea.component.d.ts +8 -1
- package/inputtextarea/inputtextarea.directive.d.ts +12 -1
- package/listbox/listbox.d.ts +14 -16
- package/listbox/listbox.module.d.ts +14 -0
- package/listbox/public_api.d.ts +1 -0
- package/logocard/index.d.ts +5 -0
- package/logocard/logocard.d.ts +6 -0
- package/logocard/logocard.module.d.ts +7 -0
- package/logocard/public_api.d.ts +2 -0
- package/messages/messages.d.ts +2 -11
- package/messages/messages.interface.d.ts +0 -2
- package/multiselect/multiselect.d.ts +28 -2
- package/navigation/navigation.d.ts +17 -12
- package/overlaypanel/overlaypanel.d.ts +6 -1
- package/package.json +240 -220
- package/productcard/index.d.ts +5 -0
- package/productcard/productcard.d.ts +19 -0
- package/productcard/productcard.module.d.ts +7 -0
- package/productcard/public_api.d.ts +2 -0
- package/progressbar/progressbar.d.ts +17 -2
- package/radiobutton/radiobutton.d.ts +1 -0
- package/resources/cax.min.scss +6351 -1
- package/resources/cax.scss +11281 -12539
- package/resources/components/accordion/accordion.scss +0 -46
- package/resources/components/autocomplete/autocomplete.scss +249 -184
- package/resources/components/avatar/avatar.scss +30 -34
- package/resources/components/avatargroup/avatargroup.scss +10 -10
- package/resources/components/badge/badge.scss +68 -67
- package/resources/components/blockui/blockui.css +26 -26
- package/resources/components/breadcrumb/breadcrumb.scss +36 -33
- package/resources/components/button/button.scss +160 -163
- package/resources/components/calendar/calendar.scss +368 -231
- package/resources/components/card/card.scss +9 -50
- package/resources/components/carousel/carousel.css +71 -71
- package/resources/components/cascadeselect/cascadeselect.scss +104 -105
- package/resources/components/categorycard/categorycard.scss +46 -0
- package/resources/components/checkbox/checkbox.scss +30 -30
- package/resources/components/chip/chip.scss +6 -6
- package/resources/components/colorpicker/colorpicker-images.scss +7 -7
- package/resources/components/colorpicker/colorpicker.scss +82 -82
- package/resources/components/commentbox/commentbox.scss +621 -611
- package/resources/components/comments/comments.scss +0 -0
- package/resources/components/common/common.scss +183 -183
- package/resources/components/comparecard/comparecard.component.scss +50 -0
- package/resources/components/confirmpopup/confirmpopup.css +53 -53
- package/resources/components/contextmenu/contextmenu.css +42 -42
- package/resources/components/dataview/dataview.css +13 -13
- package/resources/components/dialog/dialog.scss +193 -171
- package/resources/components/divider/divider.scss +0 -86
- package/resources/components/dock/dock.css +107 -107
- package/resources/components/dropdown/dropdown.scss +93 -94
- package/resources/components/editor/editor.scss +97 -4
- package/resources/components/fieldset/fieldset.css +30 -30
- package/resources/components/fileupload/fileupload.css +47 -47
- package/resources/components/galleria/galleria.css +281 -281
- package/resources/components/iconfield/iconfield.css +5 -5
- package/resources/components/image/image.scss +97 -92
- package/resources/components/inplace/inplace.css +19 -19
- package/resources/components/{chips/chips.scss → inputchips/inputchips.scss} +181 -205
- package/resources/components/inputicon/inputicon.css +6 -6
- package/resources/components/inputmask/inputmask.scss +48 -12
- package/resources/components/inputnumber/inputnumber.scss +109 -109
- package/resources/components/inputotp/inputotp.css +2 -2
- package/resources/components/inputswitch/inputswitch.css +23 -23
- package/resources/components/inputtext/inputtext.scss +138 -145
- package/resources/components/inputtextarea/inputtextarea.scss +15 -10
- package/resources/components/knob/knob.css +20 -20
- package/resources/components/listbox/listbox.scss +49 -0
- package/resources/components/logocard/logocard.scss +6 -0
- package/resources/components/megamenu/megamenu.css +108 -108
- package/resources/components/menu/menu.scss +31 -31
- package/resources/components/menubar/menubar.css +81 -81
- package/resources/components/message/message.css +17 -17
- package/resources/components/messages/messages.scss +53 -55
- package/resources/components/multiselect/multiselect.scss +132 -132
- package/resources/components/navigation/navigation.scss +236 -197
- package/resources/components/orderlist/orderlist.css +78 -78
- package/resources/components/organizationchart/organizationchart.css +62 -62
- package/resources/components/overlay/overlay.scss +80 -80
- package/resources/components/overlaypanel/overlaypanel.scss +84 -66
- package/resources/components/paginator/paginator.scss +41 -41
- package/resources/components/panel/panel.css +29 -29
- package/resources/components/panelmenu/panelmenu.css +45 -45
- package/resources/components/password/password.css +54 -54
- package/resources/components/picklist/picklist.css +60 -60
- package/resources/components/productcard/productcard.scss +95 -0
- package/resources/components/progressbar/progressbar.scss +107 -107
- package/resources/components/progressspinner/progressspinner.scss +0 -94
- package/resources/components/radiobutton/radiobutton.scss +34 -34
- package/resources/components/rating/rating.css +15 -15
- package/resources/components/ripple/ripple.scss +29 -29
- package/resources/components/scroller/scroller.scss +58 -58
- package/resources/components/scrollpanel/scrollpanel.css +50 -50
- package/resources/components/scrolltop/scrolltop.css +18 -18
- package/resources/components/sidebar/sidebar.scss +117 -117
- package/resources/components/skeleton/skeleton.scss +24 -25
- package/resources/components/slidemenu/slidemenu.css +100 -100
- package/resources/components/slider/{slider.css → slider.scss} +41 -41
- package/resources/components/speeddial/speeddial.scss +131 -122
- package/resources/components/spinner/spinner.css +63 -63
- package/resources/components/splitbutton/splitbutton.scss +57 -53
- package/resources/components/splitter/splitter.scss +73 -73
- package/resources/components/stepper/stepper.css +9 -9
- package/resources/components/steps/steps.scss +49 -50
- package/resources/components/subscriptioncard/subscriptioncard.component.scss +65 -0
- package/resources/components/table/table.scss +511 -458
- package/resources/components/table-paginator/table-paginator.component.scss +72 -0
- package/resources/components/tableconfiguration/tableconfiguration.scss +3 -125
- package/resources/components/tabmenu/tabmenu.css +80 -80
- package/resources/components/tabview/tabview.scss +206 -198
- package/resources/components/tag/tag.scss +7 -23
- package/resources/components/terminal/terminal.css +24 -24
- package/resources/components/tieredmenu/tieredmenu.scss +55 -55
- package/resources/components/timeline/timeline.scss +128 -128
- package/resources/components/toast/toast.scss +78 -87
- package/resources/components/toggleswitch/toggleswitch.scss +45 -36
- package/resources/components/toolbar/toolbar.css +19 -19
- package/resources/components/tooltip/tooltip.scss +124 -124
- package/resources/components/tree/tree.scss +154 -154
- package/resources/components/treeselect/treeselect.scss +114 -114
- package/resources/components/treetable/treetable.css +205 -205
- package/resources/components/upload/upload.component.scss +84 -145
- package/resources/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
- package/resources/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
- package/resources/fonts/Inter/OFL.txt +93 -0
- package/resources/fonts/Inter/README.txt +118 -0
- package/resources/fonts/Inter/static/Inter_18pt-Black.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-BlackItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-Bold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-BoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-ExtraBold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-ExtraLight.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-Italic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-Light.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-LightItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-Medium.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-MediumItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-Regular.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-SemiBold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-Thin.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_18pt-ThinItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Black.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-BlackItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Bold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-BoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-ExtraBold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-ExtraLight.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Italic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Light.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-LightItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Medium.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-MediumItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Regular.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-SemiBold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-Thin.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_24pt-ThinItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Black.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-BlackItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Bold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-BoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-ExtraBold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-ExtraLight.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Italic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Light.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-LightItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Medium.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-MediumItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Regular.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-SemiBold.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-Thin.ttf +0 -0
- package/resources/fonts/Inter/static/Inter_28pt-ThinItalic.ttf +0 -0
- package/resources/logo/cax-intro-logo.svg +75 -0
- package/resources/logo/cax-sidebar-logo.svg +6 -0
- package/resources/logo/dataX-dark.svg +12 -12
- package/resources/logo/dataX-icon-dark.svg +5 -5
- package/resources/logo/dataX-icon.svg +5 -5
- package/resources/logo/dataX.svg +12 -12
- package/resources/styles/colors.scss +568 -397
- package/resources/styles/fonts.scss +15 -0
- package/resources/styles/transitions.scss +23 -0
- package/resources/styles/typography.scss +555 -116
- package/resources/styles/variables.scss +85 -0
- package/selectbutton/selectbutton.d.ts +50 -1
- package/slider/public_api.d.ts +1 -0
- package/slider/slider.d.ts +1 -8
- package/slider/slider.module.d.ts +9 -0
- package/speeddial/speeddial.d.ts +6 -1
- package/splitbutton/splitbutton.d.ts +2 -2
- package/steps/steps.d.ts +11 -4
- package/steps/steps.module.d.ts +2 -1
- package/subscriptioncard/index.d.ts +5 -0
- package/subscriptioncard/public_api.d.ts +2 -0
- package/subscriptioncard/subscriptioncard.component.d.ts +33 -0
- package/subscriptioncard/subscriptioncard.module.d.ts +11 -0
- package/table/components/column-filter/column-filter.d.ts +0 -34
- package/table/components/table-header-checkbox/table-header-checkbox.d.ts +3 -1
- package/table/directives/cell-extend.directive.d.ts +14 -0
- package/table/directives/cell-highlight.directive.d.ts +4 -6
- package/table/public_api.d.ts +1 -0
- package/table/table.d.ts +34 -60
- package/table/table.interface.d.ts +21 -0
- package/table/table.module.d.ts +4 -3
- package/table-paginator/index.d.ts +5 -0
- package/table-paginator/public_api.d.ts +3 -0
- package/table-paginator/table-paginator.component.d.ts +28 -0
- package/table-paginator/table-paginator.interface.d.ts +21 -0
- package/table-paginator/table-paginator.module.d.ts +9 -0
- package/tableconfiguration/tableconfiguration.d.ts +3 -1
- package/tabview/tabview.d.ts +14 -12
- package/tabview/tabview.module.d.ts +2 -1
- package/tag/tag.d.ts +43 -5
- package/terminal/terminal.d.ts +1 -1
- package/tieredmenu/tieredmenu.d.ts +6 -1
- package/toast/toast.d.ts +1 -9
- package/toggleswitch/toggleswitch.d.ts +5 -0
- package/upload/upload.component.d.ts +51 -19
- package/chips/chips.module.d.ts +0 -14
- package/chips/public_api.d.ts +0 -3
- package/fesm2022/cax-design-system-chips.mjs.map +0 -1
- package/resources/components/listbox/listbox.css +0 -40
- package/resources/styles/shadow-blur.scss +0 -22
- package/resources/styles/space-radius-border.scss +0 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-tabview.mjs","sources":["../../src/app/components/tabview/tabview.ts","../../src/app/components/tabview/tabpanel.html","../../src/app/components/tabview/tabview.html","../../src/app/components/tabview/tabview.module.ts","../../src/app/components/tabview/cax-design-system-tabview.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { BlockableUI, CaxTemplate } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Subscription } from 'rxjs';\nimport { TabViewChangeEvent, TabViewCloseEvent } from './tabview.interface';\nimport { UniqueComponentId } from 'cax-design-system/utils';\nimport { Nullable } from 'cax-design-system/ts-helpers';\n\n/**\n * TabPanel is a helper component for TabView component.\n * @group Components\n */\n@Component({\n selector: 'cax-tabPanel',\n templateUrl: `./tabpanel.html`,\n host: {\n class: 'cax-element'\n },\n standalone: false\n})\nexport class TabPanel implements AfterContentInit, OnDestroy {\n /**\n * Defines if tab can be removed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closable: boolean | undefined = false;\n /**\n * Inline style of the tab header.\n * @group Props\n */\n @Input() get headerStyle(): { [klass: string]: any } | null | undefined {\n return this._headerStyle;\n }\n set headerStyle(headerStyle: { [klass: string]: any } | null | undefined) {\n this._headerStyle = headerStyle;\n this.tabView.cd.markForCheck();\n }\n /**\n * Style class of the tab header.\n * @group Props\n */\n @Input() get headerStyleClass(): string | undefined {\n return this._headerStyleClass;\n }\n set headerStyleClass(headerStyleClass: string | undefined) {\n this._headerStyleClass = headerStyleClass;\n this.tabView.cd.markForCheck();\n }\n /**\n * Whether a lazy loaded panel should avoid getting loaded again on reselection.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) cache: boolean | undefined = true;\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n @Input() tooltip: string | undefined;\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'top' | 'bottom' | 'left' | 'right' | undefined = 'top';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() tooltipPositionStyle: string | undefined = 'absolute';\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Defines if tab is active.\n * @defaultValue false\n * @group Props\n */\n @Input() get selected(): boolean {\n return !!this._selected;\n }\n set selected(val: boolean) {\n this._selected = val;\n\n if (!this.loaded) {\n this.cd.detectChanges();\n }\n\n if (val) this.loaded = true;\n }\n /**\n * When true, tab cannot be activated.\n * @defaultValue false\n * @group Props\n */\n @Input() get disabled(): boolean {\n return !!this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabView.cd.markForCheck();\n }\n @Input() get pinned(): boolean {\n return !!this._pinned;\n }\n set pinned(pinned: boolean) {\n this._pinned = pinned;\n this.tabView.cd.markForCheck();\n }\n /**\n * Title of the tabPanel.\n * @group Props\n */\n @Input() get header(): string {\n return this._header;\n }\n set header(header: string) {\n this._header = header;\n\n // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n Promise.resolve().then(() => {\n this.tabView.updateInkBar();\n this.tabView.cd.markForCheck();\n });\n }\n @Input() get icon(): string {\n return this._icon;\n }\n\n set icon(icon: string) {\n this._icon = icon;\n // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n Promise.resolve().then(() => {\n this.tabView.updateInkBar();\n this.tabView.cd.markForCheck();\n });\n }\n /**\n * Left icon of the tabPanel.\n * @group Props\n * @deprecated since v15.4.2, use `lefticon` template instead.\n */\n @Input() get leftIcon(): string {\n return this._leftIcon;\n }\n set leftIcon(leftIcon: string) {\n this._leftIcon = leftIcon;\n this.tabView.cd.markForCheck();\n }\n /**\n * Left icon of the tabPanel.\n * @group Props\n * @deprecated since v15.4.2, use `righticon` template instead.\n */\n @Input() get rightIcon(): string | undefined {\n return this._rightIcon;\n }\n set rightIcon(rightIcon: string | undefined) {\n this._rightIcon = rightIcon;\n this.tabView.cd.markForCheck();\n }\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n closed: boolean = false;\n\n view: EmbeddedViewRef<any> | null = null;\n\n _headerStyle: { [klass: string]: any } | null | undefined;\n\n _headerStyleClass: string | undefined;\n\n _selected: boolean | undefined;\n\n _disabled: boolean | undefined;\n _pinned: boolean | undefined;\n\n _header!: string;\n\n _icon!: string;\n\n _leftIcon!: string;\n\n _rightIcon: string | undefined = undefined;\n\n loaded: boolean = false;\n\n public id: string | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n\n headerIcon: TemplateRef<any> | undefined;\n\n leftIconTemplate: TemplateRef<any> | undefined;\n\n rightIconTemplate: TemplateRef<any> | undefined;\n\n closeIconTemplate: TemplateRef<any> | undefined;\n\n tabView: TabView;\n\n constructor(\n @Inject(forwardRef(() => TabView)) tabView: TabView,\n public el: ElementRef,\n public viewContainer: ViewContainerRef,\n public cd: ChangeDetectorRef\n ) {\n this.tabView = tabView as TabView;\n this.id = UniqueComponentId();\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'icon':\n this.headerIcon = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'righticon':\n this.rightIconTemplate = item.template;\n break;\n\n case 'lefticon':\n this.leftIconTemplate = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnDestroy() {\n this.view = null;\n }\n}\n/**\n * TabView is a container component to group content with tabs.\n * @group Components\n */\n@Component({\n selector: 'cax-tabView',\n templateUrl: `./tabview.html`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabview.scss'],\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class TabView implements AfterContentInit, AfterViewChecked, OnDestroy, BlockableUI {\n @Input() fullMode: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether tab close is controlled at onClose event or not.\n * @defaultValue false\n * @group Props\n */\n @Input({ transform: booleanAttribute }) controlClose: boolean | undefined;\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @defaultValue false\n * @group Props\n */\n @Input({ transform: booleanAttribute }) scrollable: boolean | undefined;\n /**\n * Index of the active tab to change selected tab programmatically.\n * @group Props\n */\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(val: number) {\n this._activeIndex = val;\n if (this.preventActiveIndexPropagation) {\n this.preventActiveIndexPropagation = false;\n return;\n }\n\n if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n (this.findSelectedTab() as TabPanel).selected = false;\n this.activeTabIndex = this._activeIndex;\n this.tabs[this._activeIndex].selected = true;\n this.tabChanged = true;\n\n this.updateScrollBar(val);\n }\n }\n /**\n * When enabled, the focused tab is activated.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\n /**\n * Used to define a string aria label attribute the forward navigation button.\n * @group Props\n */\n @Input() nextButtonAriaLabel: string | undefined;\n /**\n * Used to define a string aria label attribute the backward navigation button.\n * @group Props\n */\n @Input() prevButtonAriaLabel: string | undefined;\n /**\n * When activated, navigation buttons will automatically hide or show based on the available space within the container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHideButtons: boolean = true;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n @Input() actionButton: any;\n @Input() actionButtonSeverity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' = 'primary';\n @Input() actionButtonSize: 'small' | 'large' | null = null;\n @Input() actionButtonOutlined: boolean = false;\n @Input() actionButtonRounded: boolean = false;\n @Input() actionButtonIcon: string | undefined;\n @Input() actionButtonLoading: boolean = false;\n @Input() actionButtonLink: boolean = false;\n @Input() actionButtonDisabled: boolean = false;\n /**\n * Callback to invoke on tab change.\n * @param {TabViewChangeEvent} event - Custom tab change event\n * @group Emits\n */\n @Output() onChange: EventEmitter<TabViewChangeEvent> = new EventEmitter<TabViewChangeEvent>();\n /**\n * Callback to invoke on tab close.\n * @param {TabViewCloseEvent} event - Custom tab close event\n * @group Emits\n */\n @Output() onClose: EventEmitter<TabViewCloseEvent> = new EventEmitter<TabViewCloseEvent>();\n /**\n * Callback to invoke on the active tab change.\n * @param {number} index - New active index\n * @group Emits\n */\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n @ViewChild('content') content?: ElementRef<HTMLDivElement>;\n\n @ViewChild('navbar') navbar?: ElementRef<HTMLUListElement>;\n\n @ViewChild('prevBtn') prevBtn?: ElementRef;\n\n @ViewChild('nextBtn') nextBtn?: ElementRef;\n\n @ViewChild('inkbar') inkbar?: ElementRef;\n\n @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel> | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n @Input() mode: 'line' | 'segment';\n @Input() pinnedIndexes: number[] = [];\n initialized: boolean | undefined;\n\n tabs!: TabPanel[];\n\n _activeIndex!: number;\n activeTabIndex = 0; // Keeps track of the active tab\n\n preventActiveIndexPropagation!: boolean;\n\n tabChanged: boolean | undefined;\n\n backwardIsDisabled: boolean = true;\n\n forwardIsDisabled: boolean = false;\n\n private tabChangesSubscription!: Subscription;\n\n nextIconTemplate: TemplateRef<any> | undefined;\n\n previousIconTemplate: TemplateRef<any> | undefined;\n\n resizeObserver: Nullable<ResizeObserver>;\n\n container: HTMLDivElement | undefined;\n\n list: HTMLUListElement | undefined;\n\n buttonVisible: boolean;\n\n @ViewChild('elementToObserve') elementToObserve: ElementRef;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n private renderer: Renderer2\n ) {}\n\n ngAfterContentInit() {\n this.initTabs();\n\n this.tabChangesSubscription = (this.tabPanels as QueryList<TabPanel>).changes.subscribe((_) => {\n this.initTabs();\n this.refreshButtonState();\n this.callResizeObserver();\n });\n\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'previousicon':\n this.previousIconTemplate = item.template;\n break;\n\n case 'nexticon':\n this.nextIconTemplate = item.template;\n break;\n }\n });\n }\n\n callResizeObserver() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.autoHideButtons) {\n this.bindResizeObserver();\n }\n }\n }\n\n ngAfterViewInit() {\n this.callResizeObserver();\n this.checkScrollableTabs();\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n handleResize = () => {\n this.updateInkBar();\n };\n\n bindResizeObserver() {\n this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"navcontent\"]');\n this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"nav\"]');\n\n this.resizeObserver = new ResizeObserver(() => {\n if (this.list.offsetWidth >= this.container.offsetWidth) {\n this.buttonVisible = true;\n } else {\n this.buttonVisible = false;\n }\n this.updateButtonState();\n this.cd.detectChanges();\n });\n this.resizeObserver.observe(this.container);\n }\n\n unbindResizeObserver() {\n this.resizeObserver.unobserve(this.elementToObserve.nativeElement);\n this.resizeObserver = null;\n }\n\n ngAfterViewChecked() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.fullMode) this.updateInkBar();\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n }\n\n // Navigate to the next tab\n arrowRight() {\n let nextIndex = +this.activeTabIndex + 1;\n while (nextIndex < this.tabs.length && this.tabs[nextIndex].disabled) {\n nextIndex++; // Skip disabled tabs\n }\n if (nextIndex < this.tabs.length) {\n this.updateActiveTab(nextIndex);\n }\n }\n\n // Navigate to the previous tab\n arrowLeft() {\n let prevIndex = +this.activeTabIndex - 1;\n while (prevIndex >= 0 && this.tabs[prevIndex].disabled) {\n prevIndex--; // Skip disabled tabs\n }\n // Update active tab only if prevIndex is valid\n if (prevIndex >= 0) {\n this.updateActiveTab(prevIndex);\n }\n }\n\n // Update active tab\n updateActiveTab(index: number) {\n this.tabs[this.activeTabIndex].selected = false;\n this.activeTabIndex = index;\n this.tabs[this.activeTabIndex].selected = true;\n }\n\n ngOnDestroy(): void {\n if (this.tabChangesSubscription) {\n this.tabChangesSubscription.unsubscribe();\n }\n\n if (this.resizeObserver) {\n this.unbindResizeObserver();\n }\n }\n\n getTabHeaderActionId(tabId) {\n return `${tabId}_header_action`;\n }\n\n getTabContentId(tabId) {\n return `${tabId}_content`;\n }\n\n initTabs(): void {\n this.tabs = (this.tabPanels as QueryList<TabPanel>).toArray();\n let pinnedWidth = 0;\n const pinnedTabs = this.pinnedIndexes\n .filter((index) => index >= 0 && index < this.tabs.length)\n .map((index) => {\n const tab = this.tabs[index];\n tab.pinned = true; // Mark these tabs as pinned\n return tab;\n });\n\n const nonPinnedTabs = this.tabs\n .filter((_, index) => !this.pinnedIndexes.includes(index))\n .map((tab) => {\n tab.pinned = false; // Ensure non-pinned tabs are not marked as pinned\n return tab;\n });\n this.tabs.forEach((tab, index) => {\n if (this.pinnedIndexes.includes(index)) {\n tab.pinned = true;\n tab.closable = false; // Ensure pinned tabs are not closable\n if (tab.icon && !tab.header) {\n tab.headerStyle = { '--pinned-left': `${pinnedWidth}px` };\n pinnedWidth += 56;\n } else {\n tab.headerStyle = { '--pinned-left': `${pinnedWidth}px` }; // Set dynamic left position\n pinnedWidth += 56;\n }\n } else {\n tab.pinned = false;\n // Keep closable property unchanged for non-pinned tabs\n }\n });\n this.tabs = [...pinnedTabs, ...nonPinnedTabs];\n let selectedTab: TabPanel = this.findSelectedTab() as TabPanel;\n if (!selectedTab && this.tabs.length) {\n if (this.activeIndex != null && this.tabs.length > this.activeIndex) {\n this.activeTabIndex = this.activeIndex;\n this.tabs[this.activeIndex].selected = true;\n } else {\n this.activeTabIndex = 0;\n this.tabs[0].selected = true;\n }\n\n this.tabChanged = true;\n }\n\n this.cd.markForCheck();\n }\n\n onTabKeyDown(event: KeyboardEvent, tab: TabPanel): void {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n\n case 'Home':\n this.onTabHomeKey(event);\n break;\n\n case 'End':\n this.onTabEndKey(event);\n break;\n\n case 'PageDown':\n this.onTabEndKey(event);\n break;\n\n case 'PageUp':\n this.onTabHomeKey(event);\n break;\n\n case 'Enter':\n case 'Space':\n this.open(event, tab);\n break;\n\n default:\n break;\n }\n }\n\n onTabArrowLeftKey(event: KeyboardEvent) {\n const prevHeaderAction = this.findPrevHeaderAction((<HTMLElement>event.target).parentElement);\n const index = DomHandler.getAttribute(prevHeaderAction, 'data-pc-index');\n\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction, index) : this.onTabEndKey(event);\n event.preventDefault();\n }\n\n onTabArrowRightKey(event: KeyboardEvent) {\n const nextHeaderAction = this.findNextHeaderAction((<HTMLElement>event.target).parentElement);\n const index = DomHandler.getAttribute(nextHeaderAction, 'data-pc-index');\n\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction, index) : this.onTabHomeKey(event);\n event.preventDefault();\n }\n\n onTabHomeKey(event: KeyboardEvent) {\n const firstHeaderAction = this.findFirstHeaderAction();\n const index = DomHandler.getAttribute(firstHeaderAction, 'data-pc-index');\n\n this.changeFocusedTab(event, firstHeaderAction, index);\n event.preventDefault();\n }\n\n onTabEndKey(event: KeyboardEvent) {\n const lastHeaderAction = this.findLastHeaderAction();\n const index = DomHandler.getAttribute(lastHeaderAction, 'data-pc-index');\n\n this.changeFocusedTab(event, lastHeaderAction, index);\n event.preventDefault();\n }\n\n changeFocusedTab(event: KeyboardEvent, element: any, index: number) {\n if (element) {\n DomHandler.focus(element);\n element.scrollIntoView({ block: 'nearest' });\n\n if (this.selectOnFocus) {\n const tab = this.tabs[index];\n this.open(event, tab);\n }\n }\n }\n\n findNextHeaderAction(tabElement: any, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n return headerElement\n ? DomHandler.getAttribute(headerElement, 'data-cax-disabled') || DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findNextHeaderAction(headerElement)\n : DomHandler.findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n }\n\n findPrevHeaderAction(tabElement: any, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return headerElement\n ? DomHandler.getAttribute(headerElement, 'data-cax-disabled') || DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findPrevHeaderAction(headerElement)\n : DomHandler.findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n }\n\n findFirstHeaderAction() {\n const firstEl = this.navbar.nativeElement.firstElementChild;\n return this.findNextHeaderAction(firstEl, true);\n }\n\n findLastHeaderAction() {\n const lastEl = this.navbar.nativeElement.lastElementChild;\n const lastHeaderAction = DomHandler.getAttribute(lastEl, 'data-pc-section') === 'inkbar' ? lastEl.previousElementSibling : lastEl;\n return this.findPrevHeaderAction(lastHeaderAction, true);\n }\n\n open(event: Event, tab: TabPanel) {\n if (tab.disabled) {\n if (event) {\n event.preventDefault();\n }\n return;\n }\n\n if (!tab.selected) {\n let selectedTab: TabPanel = this.findSelectedTab() as TabPanel;\n if (selectedTab) {\n selectedTab.selected = false;\n }\n\n this.tabChanged = true;\n tab.selected = true;\n let selectedTabIndex = this.findTabIndex(tab);\n if (selectedTabIndex !== this.activeTabIndex) {\n this.updateActiveTab(selectedTabIndex);\n }\n this.preventActiveIndexPropagation = true;\n this.activeIndexChange.emit(selectedTabIndex);\n this.onChange.emit({ originalEvent: event, index: selectedTabIndex });\n\n this.updateScrollBar(selectedTabIndex);\n }\n\n if (event) {\n event.preventDefault();\n }\n }\n\n close(event: Event, tab: TabPanel) {\n if (this.controlClose) {\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab),\n close: () => {\n this.closeTab(tab);\n }\n });\n } else {\n this.closeTab(tab);\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab)\n });\n }\n }\n\n closeTab(tab: TabPanel) {\n if (tab.disabled) {\n return;\n }\n if (tab.selected) {\n this.tabChanged = true;\n tab.selected = false;\n for (let i = 0; i < this.tabs.length; i++) {\n let tabPanel = this.tabs[i];\n if (!tabPanel.closed && !tab.disabled) {\n tabPanel.selected = true;\n break;\n }\n }\n }\n\n tab.closed = true;\n setTimeout(() => {\n this.updateInkBar();\n });\n }\n\n findSelectedTab(): TabPanel | null {\n for (let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i].selected) {\n return this.tabs[i];\n }\n }\n return null;\n }\n\n findTabIndex(tab: TabPanel) {\n let index = -1;\n for (let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i] == tab) {\n index = i;\n break;\n }\n }\n return index;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n updateInkBar() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.navbar) {\n const tabHeader: HTMLElement | null = DomHandler.findSingle(this.navbar.nativeElement, 'li.cax-highlight');\n\n if (!tabHeader) {\n return;\n }\n if (this.inkbar) {\n if (this.fullMode) {\n const inkbarElement = (this.inkbar as ElementRef).nativeElement;\n // Recalculate the width and position relative to the navbar\n const tabWidth = DomHandler.getWidth(tabHeader);\n const tabOffsetLeft = DomHandler.getOffset(tabHeader).left;\n const navbarOffsetLeft = DomHandler.getOffset(this.navbar.nativeElement).left;\n\n // Dynamically set the width and position\n inkbarElement.style.width = `${tabWidth}px`;\n inkbarElement.style.left = `${tabOffsetLeft - navbarOffsetLeft}px`;\n } else {\n (this.inkbar as ElementRef).nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n (this.inkbar as ElementRef).nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n }\n }\n }\n }\n\n updateScrollBar(index: number) {\n let tabHeader = (this.navbar as ElementRef).nativeElement.children[index];\n\n if (tabHeader) {\n tabHeader.scrollIntoView({ block: 'nearest' });\n }\n }\n\n updateButtonState() {\n const content = (this.content as ElementRef).nativeElement;\n const { scrollLeft, scrollWidth } = content;\n const width = DomHandler.getWidth(content);\n\n this.backwardIsDisabled = scrollLeft === 0;\n this.forwardIsDisabled = Math.round(scrollLeft) === scrollWidth - width;\n }\n\n refreshButtonState() {\n this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"navcontent\"]');\n this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"nav\"]');\n if (this.list.offsetWidth >= this.container.offsetWidth) {\n if (this.list.offsetWidth >= this.container.offsetWidth) {\n this.buttonVisible = true;\n } else {\n this.buttonVisible = false;\n }\n this.updateButtonState();\n this.cd.markForCheck();\n }\n }\n\n onScroll(event: Event) {\n this.scrollable && this.updateButtonState();\n const scrollLeft = (event.target as HTMLElement).scrollLeft;\n\n // Adjust the margin or transform of the fixed elements\n const offset = Math.min(scrollLeft, 50); // Limit the offset to a maximum value (e.g., 50px)\n\n // Adjust the styles for fixed elements\n const pinnedElements = document.querySelectorAll('.cax-left-arrow, .cax-right-arrow, .cax-tabview-nav-content, .cax-line, .cax-segment') as NodeListOf<HTMLElement>;\n pinnedElements.forEach((element) => {\n element.style.transform = `translateX(${offset}px)`;\n });\n this.checkScrollableTabs(); // Check and update padding\n event.preventDefault();\n }\n\n checkScrollableTabs() {\n if (!this.content) return;\n\n const tabContainer = this.content.nativeElement;\n if (tabContainer.scrollWidth > tabContainer.clientWidth) {\n tabContainer.classList.add('scrollable-tabs');\n } else {\n tabContainer.classList.remove('scrollable-tabs');\n }\n }\n\n getVisibleButtonWidths() {\n return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);\n }\n\n navBackward() {\n const content = (this.content as ElementRef).nativeElement;\n const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft - width;\n content.scrollLeft = pos <= 0 ? 0 : pos;\n }\n\n navForward() {\n const content = (this.content as ElementRef).nativeElement;\n const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n }\n}\n","<div *ngIf=\"!closed\" class=\"cax-tabview-panel\" role=\"tabpanel\" [hidden]=\"!selected\" [attr.id]=\"tabView.getTabContentId(id)\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"tabView.getTabHeaderActionId(id)\" [attr.data-pc-name]=\"'tabpanel'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n","<div [ngClass]=\"{ 'cax-tabview cax-component': true, 'cax-tabview-scrollable': scrollable }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'tabview'\">\r\n <div #elementToObserve class=\"cax-tabview-nav-container\" *ngIf=\"mode == 'line'\" [ngClass]=\"fullMode ? 'block-mode' : 'flex-mode'\">\r\n <button\r\n *ngIf=\"scrollable && !backwardIsDisabled && autoHideButtons\"\r\n #prevBtn\r\n class=\"cax-tabview-nav-prev cax-tabview-nav-btn cax-link\"\r\n (click)=\"navBackward()\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"prevButtonAriaLabel\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\r\n </button>\r\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\r\n <ul #navbar class=\"cax-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\r\n <li role=\"presentation\" [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled }\" [attr.data-cax-disabled]=\"tab.disabled\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\"\r\n [class.full-mode]=\"fullMode\" [class.half-mode]=\"!fullMode\" *ngIf=\"!tab.closed\">\r\n <a\r\n role=\"tab\"\r\n class=\"cax-tabview-nav-link\"\r\n [caxTooltip]=\"tab.tooltip\"\r\n [tooltipPosition]=\"tab.tooltipPosition\"\r\n [positionStyle]=\"tab.tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\r\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\r\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\r\n [attr.aria-selected]=\"tab.selected\"\r\n [attr.tabindex]=\"tab.disabled || !tab.selected ? '-1' : tabindex\"\r\n [attr.aria-disabled]=\"tab.disabled\"\r\n [attr.data-pc-index]=\"i\"\r\n [attr.data-pc-section]=\"'headeraction'\"\r\n (click)=\"open($event, tab)\"\r\n (keydown)=\"onTabKeyDown($event, tab)\"\r\n caxRipple\r\n >\r\n <ng-container *ngIf=\"!tab.headerTemplate\">\r\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\r\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\r\n <span class=\"cax-tabview-title\">{{ tab.header }}</span>\r\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\r\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"tab.closable\">\r\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\r\n <span class=\"tab.closeIconTemplate\" *ngIf=\"tab.closeIconTemplate\"></span>\r\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ng-template>\r\n <li #inkbar class=\"cax-tabview-ink-bar\" role=\"presentation\" aria-hidden=\"true\" [attr.data-pc-section]=\"'inkbar'\"></li>\r\n </ul>\r\n </div>\r\n \r\n <!-- Configurable Buttons -->\r\n <div class=\"cax-tabview-action-buttons\" *ngIf=\"actionButton?.length && !fullMode\">\r\n <ng-container *ngFor=\"let button of actionButton\" >\r\n <div class=\"cax-tabview-separator\"></div>\r\n <button type=\"button\" caxButton \r\n class=\"cax-tabview-extra-btn\" \r\n [label]=\"button.label\"\r\n [severity]=\"button.actionButtonSeverity\"\r\n [link]=\"button.actionButtonLink\"\r\n [icon]=\"button.actionButtonIcon\"\r\n [disabled]=\"button.actionButtonDisabled\"\r\n [outlined]=\"button.actionButtonOutlined\"\r\n [rounded]=\"button.actionButtonRounded\"\r\n [size]=\"button.actionButtonSize\"\r\n [loading]=\"button.actionButtonLoading\"\r\n (click)=\"button.action()\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n \r\n <button\r\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\r\n #nextBtn\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"nextButtonAriaLabel\"\r\n class=\"cax-tabview-nav-next cax-tabview-nav-btn cax-link\"\r\n (click)=\"navForward()\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div #elementToObserve class=\"cax-tabview-nav-container cax-segment-tabview-container\" *ngIf=\"mode == 'segment'\">\r\n <button\r\n *ngIf=\"scrollable && !backwardIsDisabled && autoHideButtons\"\r\n #prevBtn\r\n class=\"cax-tabview-nav-prev cax-segment-tabview-nav-btn cax-link\"\r\n (click)=\"navBackward()\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"prevButtonAriaLabel\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\r\n </button>\r\n <div class=\"cax-segment-tabview-header\">\r\n <span class=\"cax-arrow-buttons\">\r\n <button #prevBtn [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"prevButtonAriaLabel\" class=\"cax cax-arrow-left cax-left-arrow\" (click)=\"arrowLeft()\" type=\"button\" [disabled]=\"activeTabIndex === 0\"></button>\r\n <button #nextBtn [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"nextButtonAriaLabel\" class=\"cax cax-arrow-right cax-right-arrow\" [disabled]=\"activeTabIndex === tabs.length - 1\" (click)=\"arrowRight()\" type=\"button\"></button>\r\n </span>\r\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\r\n <ul #navbar class=\"cax-segment-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\r\n <li\r\n role=\"presentation\"\r\n [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled, 'pinned': tab.pinned }\"\r\n [attr.data-cax-disabled]=\"tab.disabled\"\r\n [ngStyle]=\"tab.headerStyle\"\r\n [class]=\"tab.headerStyleClass\"\r\n *ngIf=\"!tab.closed\"\r\n >\r\n <a\r\n role=\"tab\"\r\n class=\"cax-segment-tabview-nav-link\"\r\n [caxTooltip]=\"tab.tooltip\"\r\n [tooltipPosition]=\"tab.tooltipPosition\"\r\n [positionStyle]=\"tab.tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\r\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\r\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\r\n [attr.aria-selected]=\"tab.selected\"\r\n [attr.tabindex]=\"tab.disabled || !tab.selected ? '-1' : tabindex\"\r\n [attr.aria-disabled]=\"tab.disabled\"\r\n [attr.data-pc-index]=\"i\"\r\n [attr.data-pc-section]=\"'headeraction'\"\r\n (click)=\"open($event, tab)\"\r\n (keydown)=\"onTabKeyDown($event, tab)\"\r\n caxRipple\r\n >\r\n <ng-container *ngIf=\"!tab.headerTemplate\">\r\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\r\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\r\n <span *ngIf=\"tab.header\" class=\"cax-tabview-title\">{{ tab.header }}</span>\r\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\r\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"tab.closable\">\r\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\r\n <span class=\"tab.closeIconTemplate\" *ngIf=\"tab.closeIconTemplate\"></span>\r\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\r\n #nextBtn\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"nextButtonAriaLabel\"\r\n class=\"cax-tabview-nav-next cax-segment-tabview-nav-btn cax-link\"\r\n (click)=\"navForward()\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-tabview-panels\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ChevronLeftIcon } from 'cax-design-system/icons/chevronleft';\nimport { ChevronRightIcon } from 'cax-design-system/icons/chevronright';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { TabPanel, TabView } from './tabview';\nimport { ButtonModule } from 'cax-design-system/button';\n\n@NgModule({\n imports: [CommonModule, SharedModule, TooltipModule, RippleModule, TimesIcon, ChevronLeftIcon, ChevronRightIcon, ButtonModule],\n exports: [TabView, TabPanel, SharedModule],\n declarations: [TabView, TabPanel]\n})\nexport class TabViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-tabview.mjs","sources":["../../src/app/components/tabview/tabview.ts","../../src/app/components/tabview/tabpanel.html","../../src/app/components/tabview/tabview.html","../../src/app/components/tabview/tabview.module.ts","../../src/app/components/tabview/cax-design-system-tabview.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { BlockableUI, CaxTemplate } from 'cax-design-system/api';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Subscription } from 'rxjs';\nimport { TabViewChangeEvent, TabViewCloseEvent } from './tabview.interface';\nimport { UniqueComponentId } from 'cax-design-system/utils';\nimport { Nullable } from 'cax-design-system/ts-helpers';\n\n/**\n * TabPanel is a helper component for TabView component.\n * @group Components\n */\n@Component({\n selector: 'cax-tabPanel',\n templateUrl: `./tabpanel.html`,\n host: {\n class: 'cax-element'\n },\n standalone: false\n})\nexport class TabPanel implements AfterContentInit, OnDestroy {\n /**\n * Defines if tab can be removed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closable: boolean | undefined = false;\n /**\n * Inline style of the tab header.\n * @group Props\n */\n @Input() get headerStyle(): { [klass: string]: any } | null | undefined {\n return this._headerStyle;\n }\n set headerStyle(headerStyle: { [klass: string]: any } | null | undefined) {\n this._headerStyle = headerStyle;\n this.tabView.cd.markForCheck();\n }\n /**\n * Style class of the tab header.\n * @group Props\n */\n @Input() get headerStyleClass(): string | undefined {\n return this._headerStyleClass;\n }\n set headerStyleClass(headerStyleClass: string | undefined) {\n this._headerStyleClass = headerStyleClass;\n this.tabView.cd.markForCheck();\n }\n /**\n * Whether a lazy loaded panel should avoid getting loaded again on reselection.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) cache: boolean | undefined = true;\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n @Input() tooltip: string | undefined;\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'top' | 'bottom' | 'left' | 'right' | undefined = 'top';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() tooltipPositionStyle: string | undefined = 'absolute';\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Defines if tab is active.\n * @defaultValue false\n * @group Props\n */\n @Input() get selected(): boolean {\n return !!this._selected;\n }\n set selected(val: boolean) {\n this._selected = val;\n\n if (!this.loaded) {\n this.cd.detectChanges();\n }\n\n if (val) this.loaded = true;\n }\n /**\n * When true, tab cannot be activated.\n * @defaultValue false\n * @group Props\n */\n @Input() get disabled(): boolean {\n return !!this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabView.cd.markForCheck();\n }\n @Input() get pinned(): boolean {\n return !!this._pinned;\n }\n set pinned(pinned: boolean) {\n this._pinned = pinned;\n this.tabView.cd.markForCheck();\n }\n /**\n * Title of the tabPanel.\n * @group Props\n */\n @Input() get header(): string {\n return this._header;\n }\n set header(header: string) {\n this._header = header;\n\n // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n Promise.resolve().then(() => {\n this.tabView.updateInkBar();\n this.tabView.cd.markForCheck();\n });\n }\n @Input() get icon(): string {\n return this._icon;\n }\n\n set icon(icon: string) {\n this._icon = icon;\n // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n Promise.resolve().then(() => {\n this.tabView.updateInkBar();\n this.tabView.cd.markForCheck();\n });\n }\n /**\n * Left icon of the tabPanel.\n * @group Props\n * @deprecated since v15.4.2, use `lefticon` template instead.\n */\n @Input() get leftIcon(): string {\n return this._leftIcon;\n }\n set leftIcon(leftIcon: string) {\n this._leftIcon = leftIcon;\n this.tabView.cd.markForCheck();\n }\n /**\n * Left icon of the tabPanel.\n * @group Props\n * @deprecated since v15.4.2, use `righticon` template instead.\n */\n @Input() get rightIcon(): string | undefined {\n return this._rightIcon;\n }\n set rightIcon(rightIcon: string | undefined) {\n this._rightIcon = rightIcon;\n this.tabView.cd.markForCheck();\n }\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n closed: boolean = false;\n\n view: EmbeddedViewRef<any> | null = null;\n\n _headerStyle: { [klass: string]: any } | null | undefined;\n\n _headerStyleClass: string | undefined;\n\n _selected: boolean | undefined;\n\n _disabled: boolean | undefined;\n _pinned: boolean | undefined;\n _segmentHidden: boolean = false;\n _segmentLastVisible: boolean = false;\n\n get segmentHidden(): boolean {\n return this._segmentHidden;\n }\n set segmentHidden(val: boolean) {\n this._segmentHidden = val;\n }\n\n get segmentLastVisible(): boolean {\n return this._segmentLastVisible;\n }\n set segmentLastVisible(val: boolean) {\n this._segmentLastVisible = val;\n }\n\n _header!: string;\n\n _icon!: string;\n\n _leftIcon!: string;\n\n _rightIcon: string | undefined = undefined;\n\n loaded: boolean = false;\n\n public id: string | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n\n headerIcon: TemplateRef<any> | undefined;\n\n leftIconTemplate: TemplateRef<any> | undefined;\n\n rightIconTemplate: TemplateRef<any> | undefined;\n\n closeIconTemplate: TemplateRef<any> | undefined;\n\n tabView: TabView;\n\n constructor(\n @Inject(forwardRef(() => TabView)) tabView: TabView,\n public el: ElementRef,\n public viewContainer: ViewContainerRef,\n public cd: ChangeDetectorRef\n ) {\n this.tabView = tabView as TabView;\n this.id = UniqueComponentId();\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'icon':\n this.headerIcon = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'righticon':\n this.rightIconTemplate = item.template;\n break;\n\n case 'lefticon':\n this.leftIconTemplate = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnDestroy() {\n this.view = null;\n }\n}\n/**\n * TabView is a container component to group content with tabs.\n * @group Components\n */\n@Component({\n selector: 'cax-tabView',\n templateUrl: `./tabview.html`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabview.scss'],\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class TabView implements AfterContentInit, AfterViewChecked, OnDestroy, BlockableUI {\n @Input() fullMode: boolean = false;\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether tab close is controlled at onClose event or not.\n * @defaultValue false\n * @group Props\n */\n @Input({ transform: booleanAttribute }) controlClose: boolean | undefined;\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @defaultValue false\n * @group Props\n */\n @Input({ transform: booleanAttribute }) scrollable: boolean | undefined;\n /**\n * Index of the active tab to change selected tab programmatically.\n * @group Props\n */\n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(val: number) {\n this._activeIndex = val;\n if (this.preventActiveIndexPropagation) {\n this.preventActiveIndexPropagation = false;\n return;\n }\n\n if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n (this.findSelectedTab() as TabPanel).selected = false;\n this.activeTabIndex = this._activeIndex;\n this.tabs[this._activeIndex].selected = true;\n this.tabChanged = true;\n\n this.updateScrollBar(val);\n }\n }\n /**\n * When enabled, the focused tab is activated.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\n /**\n * Used to define a string aria label attribute the forward navigation button.\n * @group Props\n */\n @Input() nextButtonAriaLabel: string | undefined;\n /**\n * Used to define a string aria label attribute the backward navigation button.\n * @group Props\n */\n @Input() prevButtonAriaLabel: string | undefined;\n /**\n * When activated, navigation buttons will automatically hide or show based on the available space within the container.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHideButtons: boolean = true;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * Callback to invoke on tab change.\n * @param {TabViewChangeEvent} event - Custom tab change event\n * @group Emits\n */\n @Output() onChange: EventEmitter<TabViewChangeEvent> = new EventEmitter<TabViewChangeEvent>();\n /**\n * Callback to invoke on tab close.\n * @param {TabViewCloseEvent} event - Custom tab close event\n * @group Emits\n */\n @Output() onClose: EventEmitter<TabViewCloseEvent> = new EventEmitter<TabViewCloseEvent>();\n /**\n * Callback to invoke on the active tab change.\n * @param {number} index - New active index\n * @group Emits\n */\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n @ViewChild('content') content?: ElementRef<HTMLDivElement>;\n\n @ViewChild('navbar') navbar?: ElementRef<HTMLUListElement>;\n\n @ViewChild('prevBtn') prevBtn?: ElementRef;\n\n @ViewChild('nextBtn') nextBtn?: ElementRef;\n\n @ViewChild('inkbar') inkbar?: ElementRef;\n\n @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel> | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n @Input() mode: 'line' | 'segment';\n @Input() pinnedIndexes: number[] = [];\n initialized: boolean | undefined;\n\n tabs!: TabPanel[];\n\n _activeIndex!: number;\n activeTabIndex = 0; // Keeps track of the active tab\n\n preventActiveIndexPropagation!: boolean;\n\n tabChanged: boolean | undefined;\n\n backwardIsDisabled: boolean = true;\n\n forwardIsDisabled: boolean = false;\n\n private tabChangesSubscription!: Subscription;\n\n nextIconTemplate: TemplateRef<any> | undefined;\n\n previousIconTemplate: TemplateRef<any> | undefined;\n actionTemplate: TemplateRef<any> | undefined;\n\n resizeObserver: Nullable<ResizeObserver>;\n\n container: HTMLDivElement | undefined;\n\n list: HTMLUListElement | undefined;\n\n buttonVisible: boolean = false;\n\n @ViewChild('elementToObserve') elementToObserve: ElementRef;\n\n segmentOverflow: boolean = false;\n hiddenTabsCount: number = 0;\n\n get hiddenTabs(): TabPanel[] {\n return this.tabs ? this.tabs.filter((t) => t.segmentHidden) : [];\n }\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n private renderer: Renderer2\n ) {}\n\n ngAfterContentInit() {\n this.initTabs();\n\n this.tabChangesSubscription = (this.tabPanels as QueryList<TabPanel>).changes.subscribe((_) => {\n this.initTabs();\n this.refreshButtonState();\n this.callResizeObserver();\n });\n\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'previousicon':\n this.previousIconTemplate = item.template;\n break;\n\n case 'nexticon':\n this.nextIconTemplate = item.template;\n break;\n case 'action':\n this.actionTemplate = item.template;\n break;\n }\n });\n }\n\n callResizeObserver() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.autoHideButtons || this.mode === 'segment') {\n this.bindResizeObserver();\n }\n }\n }\n\n ngAfterViewInit() {\n this.callResizeObserver();\n if (!this.autoHideButtons && this.scrollable) {\n this.buttonVisible = true;\n }\n this.checkScrollableTabs();\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n handleResize = () => {\n this.updateInkBar();\n };\n\n bindResizeObserver() {\n this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"navcontent\"]');\n this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"nav\"]');\n\n this.resizeObserver = new ResizeObserver(() => {\n if (this.mode === 'segment') {\n this.calculateSegmentTabs();\n } else {\n // Check for overflow using scrollWidth vs clientWidth\n if (this.container && this.container.scrollWidth > this.container.clientWidth) {\n this.buttonVisible = true;\n } else {\n this.buttonVisible = false;\n }\n }\n this.updateButtonState();\n this.cd.detectChanges();\n });\n this.resizeObserver.observe(this.container);\n }\n\n unbindResizeObserver() {\n this.resizeObserver.unobserve(this.elementToObserve.nativeElement);\n this.resizeObserver = null;\n }\n\n ngAfterViewChecked() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.fullMode) this.updateInkBar();\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n }\n\n // Update active tab\n updateActiveTab(index: number) {\n this.tabs[this.activeTabIndex].selected = false;\n this.activeTabIndex = index;\n this.tabs[this.activeTabIndex].selected = true;\n }\n\n ngOnDestroy(): void {\n if (this.tabChangesSubscription) {\n this.tabChangesSubscription.unsubscribe();\n }\n\n if (this.resizeObserver) {\n this.unbindResizeObserver();\n }\n }\n\n getTabHeaderActionId(tabId) {\n return `${tabId}_header_action`;\n }\n\n getTabContentId(tabId) {\n return `${tabId}_content`;\n }\n\n initTabs(): void {\n this.tabs = (this.tabPanels as QueryList<TabPanel>).toArray();\n let pinnedWidth = 0;\n const pinnedTabs = this.pinnedIndexes\n .filter((index) => index >= 0 && index < this.tabs.length)\n .map((index) => {\n const tab = this.tabs[index];\n tab.pinned = true; // Mark these tabs as pinned\n return tab;\n });\n\n const nonPinnedTabs = this.tabs\n .filter((_, index) => !this.pinnedIndexes.includes(index))\n .map((tab) => {\n tab.pinned = false; // Ensure non-pinned tabs are not marked as pinned\n return tab;\n });\n this.tabs.forEach((tab, index) => {\n if (this.pinnedIndexes.includes(index)) {\n tab.pinned = true;\n tab.closable = false; // Ensure pinned tabs are not closable\n\n // Calculate dynamic width based on size and mode\n let tabWidth = 56; // default lg\n if (this.mode === 'segment') {\n if (this.size === 'sm') tabWidth = 48;\n else if (this.size === 'md') tabWidth = 52;\n } else {\n if (this.size === 'sm') tabWidth = 48;\n else if (this.size === 'md') tabWidth = 52;\n }\n\n if (tab.icon && !tab.header) {\n tab.headerStyle = { '--pinned-left': `${pinnedWidth}px` };\n pinnedWidth += tabWidth;\n } else {\n tab.headerStyle = { '--pinned-left': `${pinnedWidth}px` }; // Set dynamic left position\n pinnedWidth += tabWidth;\n }\n } else {\n tab.pinned = false;\n // Keep closable property unchanged for non-pinned tabs\n }\n });\n this.tabs = [...pinnedTabs, ...nonPinnedTabs];\n let selectedTab: TabPanel = this.findSelectedTab() as TabPanel;\n if (!selectedTab && this.tabs.length) {\n if (this.activeIndex != null && this.tabs.length > this.activeIndex) {\n this.activeTabIndex = this.activeIndex;\n this.tabs[this.activeIndex].selected = true;\n } else {\n this.activeTabIndex = 0;\n this.tabs[0].selected = true;\n }\n\n this.tabChanged = true;\n }\n\n this.cd.markForCheck();\n }\n\n onTabKeyDown(event: KeyboardEvent, tab: TabPanel): void {\n switch (event.code) {\n case 'ArrowLeft':\n this.onTabArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onTabArrowRightKey(event);\n break;\n\n case 'Home':\n this.onTabHomeKey(event);\n break;\n\n case 'End':\n this.onTabEndKey(event);\n break;\n\n case 'PageDown':\n this.onTabEndKey(event);\n break;\n\n case 'PageUp':\n this.onTabHomeKey(event);\n break;\n\n case 'Enter':\n case 'Space':\n this.open(event, tab);\n break;\n\n default:\n break;\n }\n }\n\n onTabArrowLeftKey(event: KeyboardEvent) {\n const prevHeaderAction = this.findPrevHeaderAction((<HTMLElement>event.target).parentElement);\n const index = DomHandler.getAttribute(prevHeaderAction, 'data-pc-index');\n\n prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction, index) : this.onTabEndKey(event);\n event.preventDefault();\n }\n\n onTabArrowRightKey(event: KeyboardEvent) {\n const nextHeaderAction = this.findNextHeaderAction((<HTMLElement>event.target).parentElement);\n const index = DomHandler.getAttribute(nextHeaderAction, 'data-pc-index');\n\n nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction, index) : this.onTabHomeKey(event);\n event.preventDefault();\n }\n\n onTabHomeKey(event: KeyboardEvent) {\n const firstHeaderAction = this.findFirstHeaderAction();\n const index = DomHandler.getAttribute(firstHeaderAction, 'data-pc-index');\n\n this.changeFocusedTab(event, firstHeaderAction, index);\n event.preventDefault();\n }\n\n onTabEndKey(event: KeyboardEvent) {\n const lastHeaderAction = this.findLastHeaderAction();\n const index = DomHandler.getAttribute(lastHeaderAction, 'data-pc-index');\n\n this.changeFocusedTab(event, lastHeaderAction, index);\n event.preventDefault();\n }\n\n changeFocusedTab(event: KeyboardEvent, element: any, index: number) {\n if (element) {\n DomHandler.focus(element);\n element.scrollIntoView({ block: 'nearest' });\n\n if (this.selectOnFocus) {\n const tab = this.tabs[index];\n this.open(event, tab);\n }\n }\n }\n\n findNextHeaderAction(tabElement: any, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n return headerElement\n ? DomHandler.getAttribute(headerElement, 'data-cax-disabled') || DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findNextHeaderAction(headerElement)\n : DomHandler.findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n }\n\n findPrevHeaderAction(tabElement: any, selfCheck = false) {\n const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return headerElement\n ? DomHandler.getAttribute(headerElement, 'data-cax-disabled') || DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'\n ? this.findPrevHeaderAction(headerElement)\n : DomHandler.findSingle(headerElement, '[data-pc-section=\"headeraction\"]')\n : null;\n }\n\n findFirstHeaderAction() {\n const firstEl = this.navbar.nativeElement.firstElementChild;\n return this.findNextHeaderAction(firstEl, true);\n }\n\n findLastHeaderAction() {\n const lastEl = this.navbar.nativeElement.lastElementChild;\n const lastHeaderAction = DomHandler.getAttribute(lastEl, 'data-pc-section') === 'inkbar' ? lastEl.previousElementSibling : lastEl;\n return this.findPrevHeaderAction(lastHeaderAction, true);\n }\n\n reorderTabs(tab: TabPanel) {\n if (!this.tabs || tab.pinned || this.mode !== 'segment' || !tab.segmentHidden) return;\n\n const tabIndex = this.tabs.indexOf(tab);\n if (tabIndex === -1) return;\n\n // Find the first index where pinned is false\n let firstNonPinnedIndex = this.tabs.findIndex((t) => !t.pinned);\n if (firstNonPinnedIndex === -1) firstNonPinnedIndex = 0;\n\n if (tabIndex !== firstNonPinnedIndex) {\n this.tabs.splice(tabIndex, 1);\n this.tabs.splice(firstNonPinnedIndex, 0, tab);\n }\n }\n\n open(event: Event, tab: TabPanel) {\n if (tab.disabled || tab.closed) {\n if (event) {\n event.preventDefault();\n }\n return;\n }\n\n if (this.mode === 'segment' && tab.segmentHidden) {\n this.reorderTabs(tab);\n // After reordering, we need to let Angular update the DOM before recalculating measurements\n this.cd.detectChanges();\n this.calculateSegmentTabs();\n }\n\n if (!tab.selected) {\n let selectedTab: TabPanel = this.findSelectedTab() as TabPanel;\n if (selectedTab) {\n selectedTab.selected = false;\n }\n\n this.tabChanged = true;\n tab.selected = true;\n let selectedTabIndex = this.findTabIndex(tab);\n\n this.activeTabIndex = selectedTabIndex;\n this.preventActiveIndexPropagation = true;\n this.activeIndexChange.emit(selectedTabIndex);\n this.onChange.emit({ originalEvent: event, index: selectedTabIndex });\n\n this.updateScrollBar(selectedTabIndex);\n }\n\n if (event) {\n event.preventDefault();\n }\n }\n\n close(event: Event, tab: TabPanel) {\n if (this.controlClose) {\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab),\n close: () => {\n this.closeTab(tab);\n }\n });\n } else {\n this.closeTab(tab);\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab)\n });\n }\n }\n\n closeTab(tab: TabPanel) {\n if (tab.disabled) {\n return;\n }\n if (tab.selected) {\n this.tabChanged = true;\n tab.selected = false;\n for (let i = 0; i < this.tabs.length; i++) {\n let tabPanel = this.tabs[i];\n if (!tabPanel.closed && !tabPanel.disabled) {\n tabPanel.selected = true;\n this.updateActiveTab(i);\n break;\n }\n }\n }\n\n tab.closed = true;\n this.cd.detectChanges();\n\n if (this.mode === 'segment') {\n this.calculateSegmentTabs();\n } else {\n this.updateButtonState();\n }\n\n setTimeout(() => {\n this.updateInkBar();\n });\n }\n\n findSelectedTab(): TabPanel | null {\n for (let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i].selected) {\n return this.tabs[i];\n }\n }\n return null;\n }\n\n findTabIndex(tab: TabPanel) {\n let index = -1;\n for (let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i] == tab) {\n index = i;\n break;\n }\n }\n return index;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n updateInkBar() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.navbar) {\n const tabHeader: HTMLElement | null = DomHandler.findSingle(this.navbar.nativeElement, 'li.cax-highlight');\n\n if (!tabHeader) {\n return;\n }\n if (this.inkbar) {\n if (this.fullMode) {\n const inkbarElement = (this.inkbar as ElementRef).nativeElement;\n // Recalculate the width and position relative to the navbar\n const tabWidth = DomHandler.getWidth(tabHeader);\n const tabOffsetLeft = DomHandler.getOffset(tabHeader).left;\n const navbarOffsetLeft = DomHandler.getOffset(this.navbar.nativeElement).left;\n\n // Dynamically set the width and position\n inkbarElement.style.width = `${tabWidth}px`;\n inkbarElement.style.left = `${tabOffsetLeft - navbarOffsetLeft}px`;\n } else {\n (this.inkbar as ElementRef).nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n (this.inkbar as ElementRef).nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n }\n }\n }\n }\n\n updateScrollBar(index: number) {\n let tabHeader = (this.navbar as ElementRef).nativeElement.children[index];\n\n if (tabHeader) {\n tabHeader.scrollIntoView({ block: 'nearest' });\n }\n }\n\n updateButtonState() {\n const content = (this.content as ElementRef).nativeElement;\n const { scrollLeft, scrollWidth, clientWidth } = content;\n\n // Using a 1px tolerance and Math.round to handle sub-pixel differences\n this.backwardIsDisabled = Math.round(scrollLeft) <= 1;\n this.forwardIsDisabled = Math.round(scrollLeft) >= scrollWidth - clientWidth - 1;\n }\n\n refreshButtonState() {\n this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"navcontent\"]');\n this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section=\"nav\"]');\n if (this.mode === 'segment') {\n this.calculateSegmentTabs();\n this.buttonVisible = false;\n this.cd.markForCheck();\n } else {\n if (this.container && this.container.scrollWidth > this.container.clientWidth) {\n this.buttonVisible = true;\n this.updateButtonState();\n this.cd.markForCheck();\n } else {\n this.buttonVisible = false;\n }\n }\n }\n\n onScroll(event: Event) {\n this.scrollable && this.updateButtonState();\n this.checkScrollableTabs(); // Check and update padding\n event.preventDefault();\n }\n\n checkScrollableTabs() {\n if (!this.content) return;\n\n const tabContainer = this.content.nativeElement;\n if (tabContainer.scrollWidth > tabContainer.clientWidth) {\n tabContainer.classList.add('scrollable-tabs');\n } else {\n tabContainer.classList.remove('scrollable-tabs');\n }\n }\n\n getVisibleButtonWidths() {\n return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);\n }\n\n navBackward() {\n const content = (this.content as ElementRef).nativeElement;\n const { scrollLeft, clientWidth } = content;\n const stepWidth = clientWidth - this.getVisibleButtonWidths();\n const pos = scrollLeft - stepWidth;\n content.scrollLeft = pos <= 0 ? 0 : pos;\n }\n\n navForward() {\n const content = (this.content as ElementRef).nativeElement;\n const { scrollLeft, scrollWidth, clientWidth } = content;\n const stepWidth = clientWidth - this.getVisibleButtonWidths();\n const pos = scrollLeft + stepWidth;\n const lastPos = scrollWidth - clientWidth;\n\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n }\n\n calculateSegmentTabs() {\n if (this.mode !== 'segment' || !this.list || !this.container) return;\n\n const containerWidth = this.container.clientWidth;\n const tabsElements = Array.from(this.list.children).filter((el: any) => el.tagName === 'LI' && !el.classList.contains('cax-segment-more-tabs'));\n\n let hiddenCount = 0;\n\n // Dynamically calculate the safe width reserve for the \"+ n tabs\" button\n const getDynamicReserve = (count: number) => {\n const basePadding = 40; // ~16px padding each side + border + safe buffer\n const charWidthMap: Record<string, number> = { sm: 7, md: 8, lg: 9 }; // avg px width per char\n const charWidth = charWidthMap[this.size] || 8;\n const textLength = `+${count} tabs`.length;\n return basePadding + textLength * charWidth;\n };\n\n for (let i = 0; i < tabsElements.length; i++) {\n const el = tabsElements[i] as HTMLElement;\n const isLast = i === tabsElements.length - 1;\n\n const potentialHiddenCount = tabsElements.length - i;\n const buttonReserve = isLast && hiddenCount === 0 ? 0 : getDynamicReserve(potentialHiddenCount);\n const availableWidth = containerWidth - buttonReserve;\n\n if (el.offsetLeft + el.offsetWidth > availableWidth) {\n hiddenCount = tabsElements.length - i;\n break;\n }\n }\n\n this.hiddenTabsCount = Math.max(0, hiddenCount);\n this.segmentOverflow = this.hiddenTabsCount > 0;\n\n const nonClosedTabs = this.tabs.filter((t) => !t.closed);\n const visibleTabsCount = tabsElements.length - this.hiddenTabsCount;\n\n this.tabs.forEach((tab) => {\n if (tab.closed) {\n tab.segmentHidden = false; // Closed tabs don't need to be hidden in the segmented sense\n tab.segmentLastVisible = false;\n return;\n }\n\n const visibleIndex = nonClosedTabs.indexOf(tab);\n tab.segmentHidden = visibleIndex >= visibleTabsCount;\n tab.segmentLastVisible = this.segmentOverflow && visibleIndex === visibleTabsCount - 1;\n });\n\n // Ensure scrollLeft is reset if we disable scroll\n if (this.segmentOverflow && this.container) {\n this.container.scrollLeft = 0;\n }\n\n this.cd.detectChanges();\n }\n}\n","<div *ngIf=\"!closed\" class=\"cax-tabview-panel\" role=\"tabpanel\" [hidden]=\"!selected\" [attr.id]=\"tabView.getTabContentId(id)\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"tabView.getTabHeaderActionId(id)\" [attr.data-pc-name]=\"'tabpanel'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n</div>\n","<div\n [ngClass]=\"{ 'cax-tabview cax-component': true, 'cax-tabview-scrollable': scrollable, 'cax-tabview-sm': size === 'sm', 'cax-tabview-md': size === 'md', 'cax-tabview-lg': size === 'lg' }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'tabview'\"\n>\n <div #elementToObserve class=\"cax-tabview-nav-container\" *ngIf=\"mode == 'line'\" [ngClass]=\"fullMode ? 'block-mode' : 'flex-mode'\">\n <button\n *ngIf=\"scrollable && !backwardIsDisabled && buttonVisible\"\n #prevBtn\n class=\"cax-tabview-nav-prev cax-tabview-nav-btn cax-link\"\n (click)=\"navBackward()\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n type=\"button\"\n caxRipple\n >\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\n </button>\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\n <ul #navbar class=\"cax-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\n <li\n role=\"presentation\"\n [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled }\"\n [attr.data-cax-disabled]=\"tab.disabled\"\n [ngStyle]=\"tab.headerStyle\"\n [class]=\"tab.headerStyleClass\"\n [class.full-mode]=\"fullMode\"\n [class.half-mode]=\"!fullMode\"\n *ngIf=\"!tab.closed\"\n >\n <a\n role=\"tab\"\n class=\"cax-tabview-nav-link\"\n [caxTooltip]=\"tab.tooltip\"\n [tooltipPosition]=\"tab.tooltipPosition\"\n [positionStyle]=\"tab.tooltipPositionStyle\"\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\n [attr.aria-selected]=\"tab.selected\"\n [attr.tabindex]=\"tab.disabled ? '-1' : tabindex\"\n [attr.aria-disabled]=\"tab.disabled\"\n [attr.data-pc-index]=\"i\"\n [attr.data-pc-section]=\"'headeraction'\"\n (click)=\"open($event, tab)\"\n (keydown)=\"onTabKeyDown($event, tab)\"\n caxRipple\n >\n <ng-container *ngIf=\"!tab.headerTemplate\">\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\n </span>\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\n <span class=\"cax-tabview-title\" [class]=\"tab.selected ? `cax-text-action-${size}-semibold` : `cax-text-action-${size}-medium`\">{{ tab.header }}</span>\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n <ng-container *ngIf=\"tab.closable\">\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\n <span class=\"cax-tabview-close\" *ngIf=\"tab.closeIconTemplate\">\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </a>\n </li>\n </ng-template>\n <li #inkbar class=\"cax-tabview-ink-bar\" role=\"presentation\" aria-hidden=\"true\" [attr.data-pc-section]=\"'inkbar'\"></li>\n </ul>\n </div>\n\n <!-- Configurable Template -->\n <div class=\"cax-tabview-action-buttons\" *ngIf=\"mode == 'line' && actionTemplate && !fullMode\">\n <div class=\"cax-tabview-separator\"></div>\n <ng-container *ngTemplateOutlet=\"actionTemplate\"></ng-container>\n </div>\n\n <button\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\n #nextBtn\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n class=\"cax-tabview-nav-next cax-tabview-nav-btn cax-link\"\n (click)=\"navForward()\"\n type=\"button\"\n caxRipple\n >\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\n </button>\n </div>\n <div #elementToObserve class=\"cax-tabview-nav-container cax-segment-tabview-container\" *ngIf=\"mode == 'segment'\">\n <button\n *ngIf=\"scrollable && !backwardIsDisabled && buttonVisible && !segmentOverflow\"\n #prevBtnSegment\n class=\"cax-tabview-nav-prev cax-segment-tabview-nav-btn cax-link\"\n (click)=\"navBackward()\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n type=\"button\"\n caxRipple\n >\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\n </button>\n <div class=\"cax-segment-tabview-header\" style=\"position: relative\">\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\" [style.overflow-x]=\"segmentOverflow ? 'hidden' : ''\">\n <ul #navbar class=\"cax-segment-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\n <li\n role=\"presentation\"\n [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled, 'pinned': tab.pinned, 'cax-segment-last-visible': tab.segmentLastVisible }\"\n [style.visibility]=\"tab.segmentHidden ? 'hidden' : 'visible'\"\n [style.pointer-events]=\"tab.segmentHidden ? 'none' : 'auto'\"\n [attr.data-cax-disabled]=\"tab.disabled\"\n [ngStyle]=\"tab.headerStyle\"\n [class]=\"tab.headerStyleClass\"\n *ngIf=\"!tab.closed\"\n >\n <a\n role=\"tab\"\n class=\"cax-segment-tabview-nav-link\"\n [caxTooltip]=\"tab.tooltip\"\n [tooltipPosition]=\"tab.tooltipPosition\"\n [positionStyle]=\"tab.tooltipPositionStyle\"\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\n [attr.aria-selected]=\"tab.selected\"\n [attr.tabindex]=\"tab.disabled ? '-1' : tabindex\"\n [attr.aria-disabled]=\"tab.disabled\"\n [attr.data-pc-index]=\"i\"\n [attr.data-pc-section]=\"'headeraction'\"\n (click)=\"open($event, tab)\"\n (keydown)=\"onTabKeyDown($event, tab)\"\n caxRipple\n >\n <ng-container *ngIf=\"!tab.headerTemplate\">\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\n </span>\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\n <span *ngIf=\"tab.header\" class=\"cax-tabview-title\" [class]=\"tab.selected ? `cax-text-action-${size}-semibold` : `cax-text-action-${size}-medium`\">{{ tab.header }}</span>\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n <ng-container *ngIf=\"tab.closable\">\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-segment-tabview-close'\" (click)=\"close($event, tab)\" />\n <span class=\"cax-segment-tabview-close\" *ngIf=\"tab.closeIconTemplate\">\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </a>\n </li>\n </ng-template>\n </ul>\n </div>\n <div *ngIf=\"segmentOverflow\" class=\"cax-segment-more-tabs\">\n <button\n type=\"button\"\n class=\"cax-segment-more-btn\"\n [class.cax-segment-more-btn-active]=\"op.overlayVisible\"\n [class]=\"op.overlayVisible ? `cax-text-action-${size}-semibold` : `cax-text-action-${size}-medium`\"\n caxRipple\n (click)=\"op.toggle($event)\"\n >\n +{{hiddenTabsCount}} tabs\n <span class=\"cax cax-segment-more-icon\" [ngClass]=\"op.overlayVisible ? 'cax-alt-arrow-up' : 'cax-alt-arrow-down'\"></span>\n </button>\n\n <!-- Overlay panel for hidden segment tabs -->\n <cax-overlayPanel #op appendTo=\"body\" [style]=\"{padding: '0'}\" styleClass=\"cax-segment-more-overlay-panel\">\n <ul class=\"cax-segment-more-list\">\n <li *ngFor=\"let tab of hiddenTabs\" class=\"cax-segment-more-item cax-link\" (click)=\"op.hide(); open($event, tab)\" caxRipple>\n <span class=\"cax-segment-more-item-content\">\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\n <span class=\"cax-tabview-title cax-text-action-md-medium\">{{ tab.header }}</span>\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\n </span>\n <span *ngIf=\"tab.closable\" class=\"cax-segment-more-close\" (click)=\"close($event, tab); $event.stopPropagation()\">\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\n </span>\n </li>\n </ul>\n </cax-overlayPanel>\n </div>\n </div>\n <button\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible && !segmentOverflow\"\n #nextBtn\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n class=\"cax-tabview-nav-next cax-segment-tabview-nav-btn cax-link\"\n (click)=\"navForward()\"\n type=\"button\"\n caxRipple\n >\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\n </button>\n </div>\n <div class=\"cax-tabview-panels\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ChevronLeftIcon } from 'cax-design-system/icons/chevronleft';\nimport { ChevronRightIcon } from 'cax-design-system/icons/chevronright';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { TabPanel, TabView } from './tabview';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { OverlayPanel } from 'cax-design-system/overlaypanel';\n\n@NgModule({\n imports: [CommonModule, SharedModule, TooltipModule, RippleModule, TimesIcon, ChevronLeftIcon, ChevronRightIcon, ButtonModule, OverlayPanel],\n exports: [TabView, TabPanel, SharedModule],\n declarations: [TabView, TabPanel]\n})\nexport class TabViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { booleanAttribute, ContentChildren, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, booleanAttribute, ContentChildren, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { CaxTemplate, SharedModule } from 'cax-design-system/api';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -27,10 +27,10 @@ class Tag {
|
|
|
27
27
|
*/
|
|
28
28
|
styleClass;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Color type of the tag.
|
|
31
31
|
* @group Props
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
color;
|
|
34
34
|
/**
|
|
35
35
|
* Value to display inside the tag.
|
|
36
36
|
* @group Props
|
|
@@ -46,10 +46,43 @@ class Tag {
|
|
|
46
46
|
* Whether the corners of the tag are rounded.
|
|
47
47
|
* @group Props
|
|
48
48
|
*/
|
|
49
|
-
rounded;
|
|
49
|
+
rounded = true;
|
|
50
|
+
/**
|
|
51
|
+
* Size of the tag.
|
|
52
|
+
* @group Props
|
|
53
|
+
*/
|
|
54
|
+
size = 'md';
|
|
55
|
+
/**
|
|
56
|
+
* Whether the tag is removable.
|
|
57
|
+
* @group Props
|
|
58
|
+
*/
|
|
59
|
+
removable = false;
|
|
60
|
+
/**
|
|
61
|
+
* Source of the image to display next to the value.
|
|
62
|
+
* @group Props
|
|
63
|
+
*/
|
|
64
|
+
image;
|
|
65
|
+
/**
|
|
66
|
+
* Establishes a string value that labels the image element.
|
|
67
|
+
* @group Props
|
|
68
|
+
*/
|
|
69
|
+
ariaLabel;
|
|
70
|
+
/**
|
|
71
|
+
* Callback to invoke when a tag is removed.
|
|
72
|
+
* @param {Event} event - Browser event.
|
|
73
|
+
* @group Emits
|
|
74
|
+
*/
|
|
75
|
+
onRemove = new EventEmitter();
|
|
76
|
+
/**
|
|
77
|
+
* This event is triggered if an error occurs while loading an image file.
|
|
78
|
+
* @param {Event} event - Browser event.
|
|
79
|
+
* @group Emits
|
|
80
|
+
*/
|
|
81
|
+
onImageError = new EventEmitter();
|
|
50
82
|
templates;
|
|
51
83
|
iconTemplate;
|
|
52
84
|
_style;
|
|
85
|
+
visible = true;
|
|
53
86
|
ngAfterContentInit() {
|
|
54
87
|
this.templates?.forEach((item) => {
|
|
55
88
|
switch (item.getType()) {
|
|
@@ -65,23 +98,33 @@ class Tag {
|
|
|
65
98
|
containerClass() {
|
|
66
99
|
return {
|
|
67
100
|
'cax-tag cax-component': true,
|
|
68
|
-
|
|
69
|
-
|
|
101
|
+
'cax-tag-image': this.image != null,
|
|
102
|
+
[`cax-tag-${this.color}`]: this.color,
|
|
103
|
+
[`cax-tag-${this.size}`]: this.size,
|
|
104
|
+
'cax-tag-rounded': this.rounded,
|
|
105
|
+
'cax-tag-removable': this.removable
|
|
70
106
|
};
|
|
71
107
|
}
|
|
72
|
-
|
|
73
|
-
|
|
108
|
+
handleRemove(event) {
|
|
109
|
+
this.visible = false;
|
|
110
|
+
this.onRemove.emit(event);
|
|
111
|
+
}
|
|
112
|
+
imageError(event) {
|
|
113
|
+
this.onImageError.emit(event);
|
|
114
|
+
}
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Tag, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: Tag, isStandalone: false, selector: "cax-tag", inputs: { style: "style", styleClass: "styleClass", color: "color", value: "value", icon: "icon", rounded: ["rounded", "rounded", booleanAttribute], size: "size", removable: ["removable", "removable", booleanAttribute], image: "image", ariaLabel: "ariaLabel" }, outputs: { onRemove: "onRemove", onImageError: "onImageError" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\" *ngIf=\"visible\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"iconTemplate; else noIconTemplate\">\n <span>\n <ng-template *ngTemplateOutlet=\"iconTemplate\"></ng-template>\n </span>\n </ng-container>\n <ng-template #noIconTemplate>\n <span class=\"cax-tag-iconholder\" [ngClass]=\"icon\" *ngIf=\"icon; else imageTemplate\"></span>\n </ng-template>\n <ng-template #imageTemplate>\n <img class=\"cax-tag-image\" [src]=\"image\" *ngIf=\"image\" (error)=\"imageError($event)\" [attr.aria-label]=\"ariaLabel\" />\n </ng-template>\n <span class=\"cax-tag-value\" [ngClass]=\"{'cax-text-action-xsm-semibold': size === 'sm', 'cax-text-action-sm-semibold': size === 'md', 'cax-text-action-md-semibold': size === 'lg'}\">{{ value }}</span>\n <span *ngIf=\"removable\" class=\"cax-tag-remove-icon cax cax-close\" (click)=\"handleRemove($event)\"></span>\n</span>\n", styles: ["@layer cax{.cax-tag{display:inline-flex;align-items:center;justify-content:center}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
74
117
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: Tag, decorators: [{
|
|
76
119
|
type: Component,
|
|
77
120
|
args: [{ selector: 'cax-tag', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, host: {
|
|
78
121
|
class: 'cax-element'
|
|
79
|
-
}, template: "<span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\
|
|
122
|
+
}, template: "<span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\" *ngIf=\"visible\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"iconTemplate; else noIconTemplate\">\n <span>\n <ng-template *ngTemplateOutlet=\"iconTemplate\"></ng-template>\n </span>\n </ng-container>\n <ng-template #noIconTemplate>\n <span class=\"cax-tag-iconholder\" [ngClass]=\"icon\" *ngIf=\"icon; else imageTemplate\"></span>\n </ng-template>\n <ng-template #imageTemplate>\n <img class=\"cax-tag-image\" [src]=\"image\" *ngIf=\"image\" (error)=\"imageError($event)\" [attr.aria-label]=\"ariaLabel\" />\n </ng-template>\n <span class=\"cax-tag-value\" [ngClass]=\"{'cax-text-action-xsm-semibold': size === 'sm', 'cax-text-action-sm-semibold': size === 'md', 'cax-text-action-md-semibold': size === 'lg'}\">{{ value }}</span>\n <span *ngIf=\"removable\" class=\"cax-tag-remove-icon cax cax-close\" (click)=\"handleRemove($event)\"></span>\n</span>\n", styles: ["@layer cax{.cax-tag{display:inline-flex;align-items:center;justify-content:center}}\n"] }]
|
|
80
123
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { style: [{
|
|
81
124
|
type: Input
|
|
82
125
|
}], styleClass: [{
|
|
83
126
|
type: Input
|
|
84
|
-
}],
|
|
127
|
+
}], color: [{
|
|
85
128
|
type: Input
|
|
86
129
|
}], value: [{
|
|
87
130
|
type: Input
|
|
@@ -90,17 +133,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
|
|
|
90
133
|
}], rounded: [{
|
|
91
134
|
type: Input,
|
|
92
135
|
args: [{ transform: booleanAttribute }]
|
|
136
|
+
}], size: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], removable: [{
|
|
139
|
+
type: Input,
|
|
140
|
+
args: [{ transform: booleanAttribute }]
|
|
141
|
+
}], image: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], ariaLabel: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], onRemove: [{
|
|
146
|
+
type: Output
|
|
147
|
+
}], onImageError: [{
|
|
148
|
+
type: Output
|
|
93
149
|
}], templates: [{
|
|
94
150
|
type: ContentChildren,
|
|
95
151
|
args: [CaxTemplate]
|
|
96
152
|
}] } });
|
|
97
153
|
|
|
98
154
|
class TagModule {
|
|
99
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
100
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
101
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
155
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
156
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: TagModule, declarations: [Tag], imports: [CommonModule, SharedModule], exports: [Tag, SharedModule] });
|
|
157
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TagModule, imports: [CommonModule, SharedModule, SharedModule] });
|
|
102
158
|
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TagModule, decorators: [{
|
|
104
160
|
type: NgModule,
|
|
105
161
|
args: [{
|
|
106
162
|
imports: [CommonModule, SharedModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-tag.mjs","sources":["../../src/app/components/tag/tag.ts","../../src/app/components/tag/tag.html","../../src/app/components/tag/tag.module.ts","../../src/app/components/tag/cax-design-system-tag.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Input, NgModule, QueryList, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { CaxTemplate, SharedModule } from 'cax-design-system/api';\n/**\n * Tag component is used to categorize content.\n * @group Components\n */\n@Component({\n selector: 'cax-tag',\n templateUrl: './tag.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tag.scss'],\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class Tag {\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() get style(): { [klass: string]: any } | null | undefined {\n return this._style;\n }\n set style(value: { [klass: string]: any } | null | undefined) {\n this._style = value;\n this.cd.markForCheck();\n }\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n *
|
|
1
|
+
{"version":3,"file":"cax-design-system-tag.mjs","sources":["../../src/app/components/tag/tag.ts","../../src/app/components/tag/tag.html","../../src/app/components/tag/tag.module.ts","../../src/app/components/tag/cax-design-system-tag.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { CaxTemplate, SharedModule } from 'cax-design-system/api';\n/**\n * Tag component is used to categorize content.\n * @group Components\n */\n@Component({\n selector: 'cax-tag',\n templateUrl: './tag.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tag.scss'],\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class Tag {\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() get style(): { [klass: string]: any } | null | undefined {\n return this._style;\n }\n set style(value: { [klass: string]: any } | null | undefined) {\n this._style = value;\n this.cd.markForCheck();\n }\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Color type of the tag.\n * @group Props\n */\n @Input() color: 'blue' | 'grey' | 'green' | 'orange' | 'red' | 'pink' | 'purple' | 'teal' | 'cyan' | 'olive' | 'azure' | 'magenta' | undefined;\n /**\n * Value to display inside the tag.\n * @group Props\n */\n @Input() value: string | undefined;\n /**\n * Icon of the tag to display next to the value.\n * @group Props\n * @deprecated since 15.4.2. Use 'icon' template.\n */\n @Input() icon: string | undefined;\n /**\n * Whether the corners of the tag are rounded.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) rounded: boolean | undefined = true;\n\n /**\n * Size of the tag.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * Whether the tag is removable.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) removable: boolean = false;\n /**\n * Source of the image to display next to the value.\n * @group Props\n */\n @Input() image: string | undefined;\n /**\n * Establishes a string value that labels the image element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Callback to invoke when a tag is removed.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<any> = new EventEmitter();\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onImageError: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n iconTemplate: TemplateRef<any> | undefined;\n\n _style: { [klass: string]: any } | null | undefined;\n\n visible: boolean = true;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this.iconTemplate = item.template;\n break;\n }\n });\n }\n\n constructor(private cd: ChangeDetectorRef) {}\n\n containerClass() {\n return {\n 'cax-tag cax-component': true,\n 'cax-tag-image': this.image != null,\n [`cax-tag-${this.color}`]: this.color,\n [`cax-tag-${this.size}`]: this.size,\n 'cax-tag-rounded': this.rounded,\n 'cax-tag-removable': this.removable\n };\n }\n\n handleRemove(event: MouseEvent) {\n this.visible = false;\n this.onRemove.emit(event);\n }\n\n imageError(event: Event) {\n this.onImageError.emit(event);\n }\n}\n","<span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\" *ngIf=\"visible\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"iconTemplate; else noIconTemplate\">\n <span>\n <ng-template *ngTemplateOutlet=\"iconTemplate\"></ng-template>\n </span>\n </ng-container>\n <ng-template #noIconTemplate>\n <span class=\"cax-tag-iconholder\" [ngClass]=\"icon\" *ngIf=\"icon; else imageTemplate\"></span>\n </ng-template>\n <ng-template #imageTemplate>\n <img class=\"cax-tag-image\" [src]=\"image\" *ngIf=\"image\" (error)=\"imageError($event)\" [attr.aria-label]=\"ariaLabel\" />\n </ng-template>\n <span class=\"cax-tag-value\" [ngClass]=\"{'cax-text-action-xsm-semibold': size === 'sm', 'cax-text-action-sm-semibold': size === 'md', 'cax-text-action-md-semibold': size === 'lg'}\">{{ value }}</span>\n <span *ngIf=\"removable\" class=\"cax-tag-remove-icon cax cax-close\" (click)=\"handleRemove($event)\"></span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { Tag } from './tag';\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n exports: [Tag, SharedModule],\n declarations: [Tag]\n})\nexport class TagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|