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,38 +1,40 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, HostListener, Output, Input, Component, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, HostListener, Output, Input, ViewChildren, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from 'cax-design-system/progressspinner';
|
|
6
6
|
import { ProgressSpinnerModule } from 'cax-design-system/progressspinner';
|
|
7
|
-
import * as i3 from 'cax-design-system/button';
|
|
8
|
-
import { Button } from 'cax-design-system/button';
|
|
9
7
|
import { FormsModule } from '@angular/forms';
|
|
8
|
+
import { Button } from 'cax-design-system/button';
|
|
10
9
|
|
|
11
10
|
class UploadComponent {
|
|
12
|
-
|
|
11
|
+
cdr;
|
|
12
|
+
previewItems;
|
|
13
13
|
style;
|
|
14
|
-
maxFileSize =
|
|
15
|
-
|
|
14
|
+
maxFileSize = 3;
|
|
15
|
+
labelText = 'Input Files';
|
|
16
16
|
uploadString = 'uploading the file';
|
|
17
|
-
errorText = 'Please upload a file';
|
|
18
17
|
allowMultiple = true;
|
|
19
|
-
componentId = '';
|
|
20
18
|
allowedFileTypes = [];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
uploadStatusChange = new EventEmitter();
|
|
19
|
+
aspectRatios = [];
|
|
20
|
+
// Simplified event emitters
|
|
21
|
+
onSelect = new EventEmitter();
|
|
22
|
+
onUpload = new EventEmitter();
|
|
23
|
+
onRemove = new EventEmitter();
|
|
24
|
+
onClear = new EventEmitter();
|
|
25
|
+
onError = new EventEmitter();
|
|
26
|
+
onStatusChange = new EventEmitter();
|
|
27
|
+
onFileListChange = new EventEmitter();
|
|
31
28
|
isDragging = false;
|
|
32
29
|
uploadedFiles = [];
|
|
33
30
|
uploadStatus = 'idle';
|
|
34
31
|
isProcessingQueue = false;
|
|
35
32
|
uniqueId = '';
|
|
33
|
+
isExpanded = false;
|
|
34
|
+
dynamicMaxHeight = 'none';
|
|
35
|
+
constructor(cdr) {
|
|
36
|
+
this.cdr = cdr;
|
|
37
|
+
}
|
|
36
38
|
// Computed property for accept attribute in file input
|
|
37
39
|
get acceptFileTypes() {
|
|
38
40
|
if (!this.allowedFileTypes || this.allowedFileTypes.length === 0)
|
|
@@ -43,9 +45,40 @@ class UploadComponent {
|
|
|
43
45
|
get activeFilesCount() {
|
|
44
46
|
return this.uploadedFiles.filter((file) => file.status !== 'canceled').length;
|
|
45
47
|
}
|
|
48
|
+
get failedFilesCount() {
|
|
49
|
+
return this.uploadedFiles.filter((file) => file.status === 'error').length;
|
|
50
|
+
}
|
|
46
51
|
ngOnInit() {
|
|
47
|
-
// Generate unique ID
|
|
48
|
-
this.uniqueId =
|
|
52
|
+
// Generate unique ID
|
|
53
|
+
this.uniqueId = `upload-${Math.random().toString(36).substring(2, 11)}`;
|
|
54
|
+
}
|
|
55
|
+
ngAfterViewInit() {
|
|
56
|
+
// Recalculate max-height whenever the list items change
|
|
57
|
+
this.previewItems.changes.subscribe(() => {
|
|
58
|
+
this.calculateMaxHeight();
|
|
59
|
+
});
|
|
60
|
+
// Initial check
|
|
61
|
+
this.calculateMaxHeight();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Calculates the dynamic max-height to show exactly 6.5 items
|
|
65
|
+
*/
|
|
66
|
+
calculateMaxHeight() {
|
|
67
|
+
if (!this.isExpanded || !this.previewItems || this.previewItems.length < 7) {
|
|
68
|
+
this.dynamicMaxHeight = 'none';
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const items = this.previewItems.toArray();
|
|
72
|
+
let totalHeight = 0;
|
|
73
|
+
const gap = 8; // var(--space-200)
|
|
74
|
+
for (let i = 0; i < 6; i++) {
|
|
75
|
+
totalHeight += items[i].nativeElement.offsetHeight + gap;
|
|
76
|
+
}
|
|
77
|
+
// Add half of the 7th item
|
|
78
|
+
totalHeight += items[6].nativeElement.offsetHeight / 2;
|
|
79
|
+
this.dynamicMaxHeight = `${totalHeight}px`;
|
|
80
|
+
}
|
|
81
|
+
this.cdr.detectChanges();
|
|
49
82
|
}
|
|
50
83
|
onDragOver(event) {
|
|
51
84
|
event.preventDefault();
|
|
@@ -57,7 +90,7 @@ class UploadComponent {
|
|
|
57
90
|
event.stopPropagation();
|
|
58
91
|
this.isDragging = false;
|
|
59
92
|
}
|
|
60
|
-
onDrop(event) {
|
|
93
|
+
async onDrop(event) {
|
|
61
94
|
event.preventDefault();
|
|
62
95
|
event.stopPropagation();
|
|
63
96
|
this.isDragging = false;
|
|
@@ -65,67 +98,121 @@ class UploadComponent {
|
|
|
65
98
|
if (!files || files.length === 0)
|
|
66
99
|
return;
|
|
67
100
|
const fileArray = Array.from(files);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
101
|
+
// Process all files with async validation
|
|
102
|
+
const results = await Promise.all(fileArray.map(async (file) => ({
|
|
103
|
+
file,
|
|
104
|
+
error: await this.getValidationError(file)
|
|
105
|
+
})));
|
|
106
|
+
results.forEach((res) => this.queueFile(res.file, res.error));
|
|
107
|
+
// Emit the queued files event (for valid ones only)
|
|
108
|
+
const validFiles = results.filter((res) => !res.error).map((res) => res.file);
|
|
72
109
|
if (validFiles.length > 0) {
|
|
73
|
-
this.
|
|
110
|
+
this.onSelect.emit(validFiles);
|
|
74
111
|
}
|
|
75
112
|
// Start processing the queue if not already processing
|
|
76
113
|
if (!this.isProcessingQueue) {
|
|
77
114
|
this.processQueue();
|
|
78
115
|
}
|
|
116
|
+
this.emitFileListUpdate();
|
|
79
117
|
}
|
|
80
|
-
handleFileInput(event) {
|
|
118
|
+
async handleFileInput(event) {
|
|
81
119
|
const files = event.target.files;
|
|
82
120
|
if (!files)
|
|
83
121
|
return;
|
|
84
122
|
const fileArray = Array.from(files);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
123
|
+
// Process all files with async validation
|
|
124
|
+
const results = await Promise.all(fileArray.map(async (file) => ({
|
|
125
|
+
file,
|
|
126
|
+
error: await this.getValidationError(file)
|
|
127
|
+
})));
|
|
128
|
+
results.forEach((res) => this.queueFile(res.file, res.error));
|
|
129
|
+
// Emit the queued files event (for valid ones only)
|
|
130
|
+
const validFiles = results.filter((res) => !res.error).map((res) => res.file);
|
|
89
131
|
if (validFiles.length > 0) {
|
|
90
|
-
this.
|
|
132
|
+
this.onSelect.emit(validFiles);
|
|
91
133
|
}
|
|
92
134
|
// Start processing the queue if not already processing
|
|
93
135
|
if (!this.isProcessingQueue) {
|
|
94
136
|
this.processQueue();
|
|
95
137
|
}
|
|
138
|
+
this.emitFileListUpdate();
|
|
96
139
|
// 🔹 Reset the input value so the same file can be selected again
|
|
97
140
|
event.target.value = null;
|
|
98
141
|
}
|
|
99
|
-
// New method for file validation
|
|
100
|
-
|
|
142
|
+
// New method for file validation returning error message if any
|
|
143
|
+
async getValidationError(file) {
|
|
101
144
|
// Size validation
|
|
102
145
|
if (file.size > this.maxFileSize * 1024 * 1024) {
|
|
103
|
-
|
|
104
|
-
|
|
146
|
+
const msg = `File size should be less than ${this.maxFileSize}MB`;
|
|
147
|
+
this.emitError(file, msg);
|
|
148
|
+
return msg;
|
|
105
149
|
}
|
|
106
150
|
// File type validation
|
|
107
151
|
if (this.allowedFileTypes.length > 0) {
|
|
108
152
|
const fileExtension = this.getFileExtension(file.name).toLowerCase();
|
|
109
153
|
if (!this.allowedFileTypes.includes(fileExtension)) {
|
|
110
|
-
|
|
111
|
-
|
|
154
|
+
const msg = `Only ${this.allowedFileTypes.join(', ')} files are allowed`;
|
|
155
|
+
this.emitError(file, msg);
|
|
156
|
+
return msg;
|
|
112
157
|
}
|
|
113
158
|
}
|
|
114
|
-
|
|
159
|
+
// Aspect ratio validation for images
|
|
160
|
+
const aspectError = await this.checkAspectRatio(file);
|
|
161
|
+
if (aspectError) {
|
|
162
|
+
this.emitError(file, aspectError);
|
|
163
|
+
return aspectError;
|
|
164
|
+
}
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Checks if an image file matches the required aspect ratios
|
|
169
|
+
*/
|
|
170
|
+
async checkAspectRatio(file) {
|
|
171
|
+
if (!file.type.startsWith('image/') || !this.aspectRatios || this.aspectRatios.length === 0) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
return new Promise((resolve) => {
|
|
175
|
+
const img = new Image();
|
|
176
|
+
img.onload = () => {
|
|
177
|
+
const actualRatio = img.width / img.height;
|
|
178
|
+
const isValid = this.aspectRatios.some((ratioStr) => {
|
|
179
|
+
const [w, h] = ratioStr.split(':').map(Number);
|
|
180
|
+
if (!w || !h)
|
|
181
|
+
return false;
|
|
182
|
+
const targetRatio = w / h;
|
|
183
|
+
// Use a small epsilon for floating point comparison (5% tolerance)
|
|
184
|
+
return Math.abs(actualRatio - targetRatio) < 0.05;
|
|
185
|
+
});
|
|
186
|
+
if (isValid) {
|
|
187
|
+
resolve(null);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
resolve(`Image aspect ratio should be ${this.aspectRatios.join(' or ')}`);
|
|
191
|
+
}
|
|
192
|
+
URL.revokeObjectURL(img.src);
|
|
193
|
+
};
|
|
194
|
+
img.onerror = () => {
|
|
195
|
+
// If we can't load the image, we skip aspect ratio validation
|
|
196
|
+
resolve(null);
|
|
197
|
+
URL.revokeObjectURL(img.src);
|
|
198
|
+
};
|
|
199
|
+
img.src = URL.createObjectURL(file);
|
|
200
|
+
});
|
|
115
201
|
}
|
|
116
202
|
// Helper method to get file extension
|
|
117
203
|
getFileExtension(filename) {
|
|
118
204
|
return filename.split('.').pop() || '';
|
|
119
205
|
}
|
|
120
206
|
// Queue a file for upload
|
|
121
|
-
queueFile(file) {
|
|
207
|
+
queueFile(file, errorMessage = null) {
|
|
122
208
|
const uploadEntry = {
|
|
123
209
|
file,
|
|
124
|
-
status: 'queued',
|
|
125
|
-
progress: 0
|
|
210
|
+
status: errorMessage ? 'error' : 'queued',
|
|
211
|
+
progress: 0,
|
|
212
|
+
errorMessage: errorMessage || undefined
|
|
126
213
|
};
|
|
127
|
-
this.uploadedFiles.
|
|
128
|
-
if (this.uploadStatus === 'idle') {
|
|
214
|
+
this.uploadedFiles.unshift(uploadEntry);
|
|
215
|
+
if (this.uploadStatus === 'idle' && !errorMessage) {
|
|
129
216
|
this.updateUploadStatus('uploading');
|
|
130
217
|
}
|
|
131
218
|
}
|
|
@@ -133,24 +220,37 @@ class UploadComponent {
|
|
|
133
220
|
updateUploadStatus(status) {
|
|
134
221
|
if (this.uploadStatus !== status) {
|
|
135
222
|
this.uploadStatus = status;
|
|
136
|
-
this.
|
|
223
|
+
this.onStatusChange.emit(status);
|
|
137
224
|
}
|
|
138
225
|
}
|
|
139
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Emits the current state of the file list categorized by success/failure
|
|
228
|
+
*/
|
|
229
|
+
emitFileListUpdate() {
|
|
230
|
+
const successful = this.uploadedFiles.filter((f) => f.status === 'complete').map((f) => f.file);
|
|
231
|
+
const failed = this.uploadedFiles
|
|
232
|
+
.filter((f) => f.status === 'error')
|
|
233
|
+
.map((f) => ({
|
|
234
|
+
file: f.file,
|
|
235
|
+
error: f.errorMessage || 'Unknown error'
|
|
236
|
+
}));
|
|
237
|
+
this.onFileListChange.emit({ successful, failed });
|
|
238
|
+
}
|
|
239
|
+
// Process the queue of files simultaneously
|
|
140
240
|
async processQueue() {
|
|
141
241
|
if (this.isProcessingQueue)
|
|
142
242
|
return;
|
|
143
243
|
this.isProcessingQueue = true;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
244
|
+
while (this.uploadedFiles.some((file) => file.status === 'queued')) {
|
|
245
|
+
const currentlyQueued = this.uploadedFiles.filter((file) => file.status === 'queued');
|
|
246
|
+
// Process all currently queued files in parallel
|
|
247
|
+
await Promise.all(currentlyQueued.map((fileEntry) => {
|
|
248
|
+
const index = this.uploadedFiles.indexOf(fileEntry);
|
|
249
|
+
return this.processFile(fileEntry, index);
|
|
250
|
+
}));
|
|
151
251
|
}
|
|
152
252
|
this.isProcessingQueue = false;
|
|
153
|
-
// Check if all uploads are complete
|
|
253
|
+
// Check if all uploads are complete
|
|
154
254
|
if (this.uploadedFiles.length > 0 && this.uploadedFiles.some((file) => file.status === 'complete') && !this.hasQueuedOrUploading) {
|
|
155
255
|
this.updateUploadStatus('complete');
|
|
156
256
|
}
|
|
@@ -164,14 +264,12 @@ class UploadComponent {
|
|
|
164
264
|
}
|
|
165
265
|
// Emit error event
|
|
166
266
|
emitError(file, message) {
|
|
167
|
-
this.
|
|
267
|
+
this.onError.emit({ file, error: message });
|
|
168
268
|
}
|
|
169
269
|
async processFile(fileEntry, index) {
|
|
170
270
|
// Update status to uploading
|
|
171
271
|
fileEntry.status = 'uploading';
|
|
172
272
|
fileEntry.progress = 0;
|
|
173
|
-
this.fileSelected.emit(fileEntry.file);
|
|
174
|
-
this.uploadStarted.emit(fileEntry.file);
|
|
175
273
|
try {
|
|
176
274
|
// Simulate upload with progress updates
|
|
177
275
|
for (let progress = 0; progress <= 100; progress += 10) {
|
|
@@ -182,14 +280,16 @@ class UploadComponent {
|
|
|
182
280
|
break;
|
|
183
281
|
}
|
|
184
282
|
fileEntry.progress = progress;
|
|
185
|
-
// Simulate network delay
|
|
186
|
-
|
|
283
|
+
// Simulate network delay based on file size (min 100ms, max 1000ms per step)
|
|
284
|
+
const stepDelay = Math.max(100, Math.min(1000, fileEntry.file.size / 1024 / 10));
|
|
285
|
+
await new Promise((resolve) => setTimeout(resolve, stepDelay));
|
|
187
286
|
}
|
|
188
287
|
// Only set to complete if still uploading (not canceled or errored)
|
|
189
288
|
if (fileEntry.status === 'uploading') {
|
|
190
289
|
fileEntry.status = 'complete';
|
|
191
290
|
fileEntry.progress = 100;
|
|
192
|
-
this.
|
|
291
|
+
this.onUpload.emit(fileEntry.file);
|
|
292
|
+
this.emitFileListUpdate();
|
|
193
293
|
}
|
|
194
294
|
}
|
|
195
295
|
catch (error) {
|
|
@@ -198,6 +298,7 @@ class UploadComponent {
|
|
|
198
298
|
const errorMessage = error instanceof Error ? error.message : 'Unknown upload error';
|
|
199
299
|
fileEntry.errorMessage = errorMessage;
|
|
200
300
|
this.emitError(fileEntry.file, errorMessage);
|
|
301
|
+
this.emitFileListUpdate();
|
|
201
302
|
}
|
|
202
303
|
}
|
|
203
304
|
cancelUpload(index) {
|
|
@@ -208,10 +309,6 @@ class UploadComponent {
|
|
|
208
309
|
const previousStatus = fileToCancel.status;
|
|
209
310
|
if (previousStatus === 'uploading' || previousStatus === 'queued') {
|
|
210
311
|
fileToCancel.status = 'canceled';
|
|
211
|
-
// Only emit if it was actively uploading (not just queued)
|
|
212
|
-
if (previousStatus === 'uploading') {
|
|
213
|
-
this.uploadCanceled.emit(fileToCancel.file);
|
|
214
|
-
}
|
|
215
312
|
}
|
|
216
313
|
}
|
|
217
314
|
}
|
|
@@ -235,11 +332,7 @@ class UploadComponent {
|
|
|
235
332
|
this.uploadedFiles.forEach((file) => {
|
|
236
333
|
if (file.status === 'uploading' || file.status === 'queued') {
|
|
237
334
|
hadActiveUploads = true;
|
|
238
|
-
const previousStatus = file.status;
|
|
239
335
|
file.status = 'canceled';
|
|
240
|
-
if (previousStatus === 'uploading') {
|
|
241
|
-
this.uploadCanceled.emit(file.file);
|
|
242
|
-
}
|
|
243
336
|
}
|
|
244
337
|
});
|
|
245
338
|
if (hadActiveUploads && !this.hasQueuedOrUploading) {
|
|
@@ -251,8 +344,9 @@ class UploadComponent {
|
|
|
251
344
|
if (fileToRemove.status === 'uploading' || fileToRemove.status === 'queued') {
|
|
252
345
|
this.cancelUpload(index);
|
|
253
346
|
}
|
|
254
|
-
this.
|
|
347
|
+
this.onRemove.emit(fileToRemove.file);
|
|
255
348
|
this.uploadedFiles.splice(index, 1);
|
|
349
|
+
this.emitFileListUpdate();
|
|
256
350
|
// 🔹 Reset input element to allow re-uploading same file
|
|
257
351
|
const fileInput = document.getElementById(`fileInput-${this.uniqueId}`);
|
|
258
352
|
if (fileInput) {
|
|
@@ -271,10 +365,11 @@ class UploadComponent {
|
|
|
271
365
|
this.cancelAllUploads();
|
|
272
366
|
// Only emit if there were files to remove
|
|
273
367
|
if (this.uploadedFiles.length > 0) {
|
|
274
|
-
this.
|
|
368
|
+
this.onClear.emit();
|
|
275
369
|
}
|
|
276
370
|
this.uploadedFiles = [];
|
|
277
371
|
this.updateUploadStatus('idle');
|
|
372
|
+
this.emitFileListUpdate();
|
|
278
373
|
const fileInput = document.getElementById(`fileInput-${this.uniqueId}`);
|
|
279
374
|
if (fileInput) {
|
|
280
375
|
fileInput.value = '';
|
|
@@ -320,49 +415,67 @@ class UploadComponent {
|
|
|
320
415
|
const activeFilesCount = this.uploadedFiles.filter((file) => file.status !== 'canceled' && file.status !== 'error').length;
|
|
321
416
|
return activeFilesCount > 0 ? Math.round((totalProgress / (activeFilesCount * 100)) * 100) : 0;
|
|
322
417
|
}
|
|
323
|
-
|
|
324
|
-
|
|
418
|
+
/**
|
|
419
|
+
* Formats bytes into a human-readable string (KB, MB, GB, etc.)
|
|
420
|
+
* @param bytes The number of bytes to format
|
|
421
|
+
* @param decimals Number of decimal places
|
|
422
|
+
* @returns A formatted string
|
|
423
|
+
*/
|
|
424
|
+
formatBytes(bytes, decimals = 2) {
|
|
425
|
+
if (!+bytes)
|
|
426
|
+
return '0 Bytes';
|
|
427
|
+
const k = 1024;
|
|
428
|
+
const dm = decimals < 0 ? 0 : decimals;
|
|
429
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
430
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
431
|
+
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Toggles the expanded state of the file list preview
|
|
435
|
+
*/
|
|
436
|
+
toggleExpand() {
|
|
437
|
+
this.isExpanded = !this.isExpanded;
|
|
438
|
+
// Use timeout to allow Angular to render the items before measuring
|
|
439
|
+
setTimeout(() => this.calculateMaxHeight(), 0);
|
|
440
|
+
}
|
|
441
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: UploadComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
442
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.21", type: UploadComponent, isStandalone: false, selector: "cax-upload", inputs: { style: "style", maxFileSize: "maxFileSize", labelText: "labelText", uploadString: "uploadString", allowMultiple: "allowMultiple", allowedFileTypes: "allowedFileTypes", aspectRatios: "aspectRatios" }, outputs: { onSelect: "onSelect", onUpload: "onUpload", onRemove: "onRemove", onClear: "onClear", onError: "onError", onStatusChange: "onStatusChange", onFileListChange: "onFileListChange" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" }, classAttribute: "cax-element" }, viewQueries: [{ propertyName: "previewItems", predicate: ["previewItem"], descendants: true }], ngImport: i0, template: "<div class=\"cax-upload-container\" [ngStyle]=\"style\">\n <span class=\"cax-upload-label cax-text-action-md-semibold\">{{ labelText }}</span>\n <div class=\"cax-upload-menu\" [class.dragging]=\"isDragging\" (click)=\"openFileSelector()\">\n <input type=\"file\" id=\"fileInput-{{ uniqueId }}\" style=\"display: none\" [multiple]=\"allowMultiple\" [accept]=\"acceptFileTypes\" (change)=\"handleFileInput($event)\" />\n <div class=\"cax-upload-options\" *ngIf=\"!isDragging\">\n <span class=\"cax-upload-text cax-text-action-lg-medium\">Drag & drop files here or browse</span>\n <div class=\"cax-upload-file-config\" *ngIf=\"maxFileSize || allowedFileTypes.length > 0 || aspectRatios.length > 0\">\n <span class=\"cax-text-body-xs-regular\" *ngIf=\"maxFileSize\">Max. File Size: {{ maxFileSize }}MB</span>\n <span class=\"cax-text-body-xs-regular\" *ngIf=\"allowedFileTypes.length > 0\">File Type: {{ allowedFileTypes.join(', ') | uppercase }}</span>\n <span class=\"cax-text-body-xs-regular\" *ngIf=\"aspectRatios.length > 0\">Aspect Ratio: {{ aspectRatios.join(', ') }}</span>\n </div>\n </div>\n <div class=\"cax-upload-options\" *ngIf=\"isDragging\">\n <span class=\"cax-upload-text dragging cax-text-action-lg-medium\"><i class=\"cax cax-archive-down\"></i>Drop files to upload</span>\n </div>\n </div>\n <div class=\"cax-file-preview-wrapper\" *ngIf=\"uploadedFiles.length > 0\">\n <div class=\"cax-upload-more-count\" *ngIf=\"uploadedFiles.length > 4\">\n <div>\n <span class=\"cax-text-action-sm-medium\">{{ uploadedFiles.length }} files</span>\n <span class=\"cax-upload-failed-count cax-text-action-sm-medium\" *ngIf=\"failedFilesCount > 0\">{{ failedFilesCount }} failed</span>\n </div>\n <span class=\"cax-upload-show-more cax-text-action-sm-link-regular\" (click)=\"toggleExpand()\">{{ isExpanded ? 'Show less' : 'Show more' }}</span>\n </div>\n <div class=\"cax-file-list\" [class.expanded]=\"isExpanded\" [style.max-height]=\"dynamicMaxHeight\">\n <div\n #previewItem\n *ngFor=\"let item of isExpanded ? uploadedFiles : uploadedFiles.slice(0, 4); let i = index\"\n class=\"cax-file-preview\"\n [class.cax-file-preview-error]=\"item.status === 'error'\"\n [class.active-gradient]=\"!isExpanded && i === 3 && uploadedFiles.length > 4\"\n >\n <div class=\"cax-file-preview-content\">\n <div class=\"file-info\">\n <i class=\"cax\" [class.cax-document-text]=\"item.status !== 'error'\" [class.cax-danger-triangle-bold]=\"item.status === 'error'\" [style.color]=\"item.status === 'error' ? 'var(--error-600)' : ''\"></i>\n <p class=\"file-name cax-text-action-md-medium\">{{ item.file.name }}</p>\n <span class=\"file-size cax-text-body-xsm-regular\">{{ formatBytes(item.file.size) }}</span>\n </div>\n\n <div *ngIf=\"item.status === 'queued' || item.status === 'uploading'\" class=\"spinner\">\n <cax-progressSpinner [strokeColor]=\"'primary'\" [size]=\"'sm'\" [animationDuration]=\"'2s'\"> </cax-progressSpinner>\n </div>\n\n <button *ngIf=\"item.status === 'complete' || item.status === 'canceled' || item.status === 'error'\" class=\"remove-button\" (click)=\"removeFile(i); $event.stopPropagation()\">\n <i class=\"cax cax-close\"></i>\n </button>\n </div>\n <span class=\"file-error cax-text-body-sm-regular\" *ngIf=\"item.status === 'error'\">{{ item.errorMessage }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@layer cax{.cax-upload-container{display:flex;flex-direction:column;gap:8px}.cax-upload-menu{border-radius:12px;padding:24px 56px}.status-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;height:150px}.status-container p{margin:0;font-size:14px;font-weight:500}.status-container .success-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-container .success-icon i{font-size:1.5rem;font-weight:800}.cax-error-upload{font-size:14px;font-weight:400;padding-top:8px}.cax-options-container{display:flex;gap:24px;justify-content:center}.cax-upload-option{display:flex;flex-direction:column;align-items:center;cursor:pointer}.cax-upload-option .icon-container{width:48px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.cax-upload-option span{font-size:14px;font-weight:600;padding-top:10px}.cax-file-preview-wrapper{display:flex;flex-direction:column;gap:10px}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ProgressSpinner, selector: "cax-progressSpinner", inputs: ["styleClass", "strokeColor", "backgroundStrokeColor", "size", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] });
|
|
325
443
|
}
|
|
326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: UploadComponent, decorators: [{
|
|
327
445
|
type: Component,
|
|
328
446
|
args: [{ selector: 'cax-upload', standalone: false, host: {
|
|
329
447
|
class: 'cax-element'
|
|
330
|
-
}, template: "<
|
|
331
|
-
}], propDecorators: {
|
|
332
|
-
type:
|
|
448
|
+
}, template: "<div class=\"cax-upload-container\" [ngStyle]=\"style\">\n <span class=\"cax-upload-label cax-text-action-md-semibold\">{{ labelText }}</span>\n <div class=\"cax-upload-menu\" [class.dragging]=\"isDragging\" (click)=\"openFileSelector()\">\n <input type=\"file\" id=\"fileInput-{{ uniqueId }}\" style=\"display: none\" [multiple]=\"allowMultiple\" [accept]=\"acceptFileTypes\" (change)=\"handleFileInput($event)\" />\n <div class=\"cax-upload-options\" *ngIf=\"!isDragging\">\n <span class=\"cax-upload-text cax-text-action-lg-medium\">Drag & drop files here or browse</span>\n <div class=\"cax-upload-file-config\" *ngIf=\"maxFileSize || allowedFileTypes.length > 0 || aspectRatios.length > 0\">\n <span class=\"cax-text-body-xs-regular\" *ngIf=\"maxFileSize\">Max. File Size: {{ maxFileSize }}MB</span>\n <span class=\"cax-text-body-xs-regular\" *ngIf=\"allowedFileTypes.length > 0\">File Type: {{ allowedFileTypes.join(', ') | uppercase }}</span>\n <span class=\"cax-text-body-xs-regular\" *ngIf=\"aspectRatios.length > 0\">Aspect Ratio: {{ aspectRatios.join(', ') }}</span>\n </div>\n </div>\n <div class=\"cax-upload-options\" *ngIf=\"isDragging\">\n <span class=\"cax-upload-text dragging cax-text-action-lg-medium\"><i class=\"cax cax-archive-down\"></i>Drop files to upload</span>\n </div>\n </div>\n <div class=\"cax-file-preview-wrapper\" *ngIf=\"uploadedFiles.length > 0\">\n <div class=\"cax-upload-more-count\" *ngIf=\"uploadedFiles.length > 4\">\n <div>\n <span class=\"cax-text-action-sm-medium\">{{ uploadedFiles.length }} files</span>\n <span class=\"cax-upload-failed-count cax-text-action-sm-medium\" *ngIf=\"failedFilesCount > 0\">{{ failedFilesCount }} failed</span>\n </div>\n <span class=\"cax-upload-show-more cax-text-action-sm-link-regular\" (click)=\"toggleExpand()\">{{ isExpanded ? 'Show less' : 'Show more' }}</span>\n </div>\n <div class=\"cax-file-list\" [class.expanded]=\"isExpanded\" [style.max-height]=\"dynamicMaxHeight\">\n <div\n #previewItem\n *ngFor=\"let item of isExpanded ? uploadedFiles : uploadedFiles.slice(0, 4); let i = index\"\n class=\"cax-file-preview\"\n [class.cax-file-preview-error]=\"item.status === 'error'\"\n [class.active-gradient]=\"!isExpanded && i === 3 && uploadedFiles.length > 4\"\n >\n <div class=\"cax-file-preview-content\">\n <div class=\"file-info\">\n <i class=\"cax\" [class.cax-document-text]=\"item.status !== 'error'\" [class.cax-danger-triangle-bold]=\"item.status === 'error'\" [style.color]=\"item.status === 'error' ? 'var(--error-600)' : ''\"></i>\n <p class=\"file-name cax-text-action-md-medium\">{{ item.file.name }}</p>\n <span class=\"file-size cax-text-body-xsm-regular\">{{ formatBytes(item.file.size) }}</span>\n </div>\n\n <div *ngIf=\"item.status === 'queued' || item.status === 'uploading'\" class=\"spinner\">\n <cax-progressSpinner [strokeColor]=\"'primary'\" [size]=\"'sm'\" [animationDuration]=\"'2s'\"> </cax-progressSpinner>\n </div>\n\n <button *ngIf=\"item.status === 'complete' || item.status === 'canceled' || item.status === 'error'\" class=\"remove-button\" (click)=\"removeFile(i); $event.stopPropagation()\">\n <i class=\"cax cax-close\"></i>\n </button>\n </div>\n <span class=\"file-error cax-text-body-sm-regular\" *ngIf=\"item.status === 'error'\">{{ item.errorMessage }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@layer cax{.cax-upload-container{display:flex;flex-direction:column;gap:8px}.cax-upload-menu{border-radius:12px;padding:24px 56px}.status-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;height:150px}.status-container p{margin:0;font-size:14px;font-weight:500}.status-container .success-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-container .success-icon i{font-size:1.5rem;font-weight:800}.cax-error-upload{font-size:14px;font-weight:400;padding-top:8px}.cax-options-container{display:flex;gap:24px;justify-content:center}.cax-upload-option{display:flex;flex-direction:column;align-items:center;cursor:pointer}.cax-upload-option .icon-container{width:48px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.cax-upload-option span{font-size:14px;font-weight:600;padding-top:10px}.cax-file-preview-wrapper{display:flex;flex-direction:column;gap:10px}}\n"] }]
|
|
449
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { previewItems: [{
|
|
450
|
+
type: ViewChildren,
|
|
451
|
+
args: ['previewItem']
|
|
333
452
|
}], style: [{
|
|
334
453
|
type: Input
|
|
335
454
|
}], maxFileSize: [{
|
|
336
455
|
type: Input
|
|
337
|
-
}],
|
|
456
|
+
}], labelText: [{
|
|
338
457
|
type: Input
|
|
339
458
|
}], uploadString: [{
|
|
340
459
|
type: Input
|
|
341
|
-
}], errorText: [{
|
|
342
|
-
type: Input
|
|
343
460
|
}], allowMultiple: [{
|
|
344
461
|
type: Input
|
|
345
|
-
}], componentId: [{
|
|
346
|
-
type: Input
|
|
347
462
|
}], allowedFileTypes: [{
|
|
348
463
|
type: Input
|
|
349
|
-
}],
|
|
350
|
-
type:
|
|
351
|
-
}],
|
|
352
|
-
type: Output
|
|
353
|
-
}], uploadStarted: [{
|
|
464
|
+
}], aspectRatios: [{
|
|
465
|
+
type: Input
|
|
466
|
+
}], onSelect: [{
|
|
354
467
|
type: Output
|
|
355
|
-
}],
|
|
468
|
+
}], onUpload: [{
|
|
356
469
|
type: Output
|
|
357
|
-
}],
|
|
470
|
+
}], onRemove: [{
|
|
358
471
|
type: Output
|
|
359
|
-
}],
|
|
472
|
+
}], onClear: [{
|
|
360
473
|
type: Output
|
|
361
|
-
}],
|
|
474
|
+
}], onError: [{
|
|
362
475
|
type: Output
|
|
363
|
-
}],
|
|
476
|
+
}], onStatusChange: [{
|
|
364
477
|
type: Output
|
|
365
|
-
}],
|
|
478
|
+
}], onFileListChange: [{
|
|
366
479
|
type: Output
|
|
367
480
|
}], onDragOver: [{
|
|
368
481
|
type: HostListener,
|
|
@@ -376,11 +489,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImpo
|
|
|
376
489
|
}] } });
|
|
377
490
|
|
|
378
491
|
class UploadModule {
|
|
379
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
380
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
381
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
492
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: UploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
493
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.21", ngImport: i0, type: UploadModule, declarations: [UploadComponent], imports: [CommonModule, FormsModule, ProgressSpinnerModule, Button], exports: [UploadComponent] });
|
|
494
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: UploadModule, imports: [CommonModule, FormsModule, ProgressSpinnerModule, Button] });
|
|
382
495
|
}
|
|
383
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: UploadModule, decorators: [{
|
|
384
497
|
type: NgModule,
|
|
385
498
|
args: [{
|
|
386
499
|
declarations: [UploadComponent],
|