cax-design-system 3.0.0 → 3.0.2
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 +1 -1
- package/accordion/index.d.ts +286 -3
- package/animate/index.d.ts +41 -3
- package/animateonscroll/index.d.ts +75 -3
- package/api/index.d.ts +1849 -3
- package/autocomplete/index.d.ts +817 -3
- package/autofocus/index.d.ts +29 -3
- package/avatar/index.d.ts +102 -3
- package/avatargroup/index.d.ts +30 -3
- package/badge/index.d.ts +71 -5
- package/baseicon/index.d.ts +18 -5
- package/blockui/index.d.ts +77 -3
- package/breadcrumb/index.d.ts +105 -3
- package/button/index.d.ts +179 -3
- package/buttongroup/index.d.ts +14 -5
- package/calendar/index.d.ts +957 -3
- package/card/index.d.ts +88 -3
- package/carousel/index.d.ts +290 -3
- package/cascadeselect/index.d.ts +594 -3
- package/categorycard/index.d.ts +20 -5
- package/chart/index.d.ts +88 -3
- package/checkbox/index.d.ts +204 -3
- package/chip/index.d.ts +63 -3
- package/colorpicker/index.d.ts +265 -3
- package/commentbox/index.d.ts +138 -5
- package/comments/index.d.ts +91 -5
- package/comparecard/index.d.ts +57 -5
- package/confirmdialog/index.d.ts +327 -3
- package/confirmpopup/index.d.ts +148 -3
- package/contextmenu/index.d.ts +261 -3
- package/dataview/index.d.ts +457 -3
- package/defer/index.d.ts +40 -3
- package/dialog/index.d.ts +411 -3
- package/divider/index.d.ts +64 -3
- package/dock/index.d.ts +136 -3
- package/dom/index.d.ts +105 -3
- package/dragdrop/index.d.ts +120 -3
- package/dropdown/index.d.ts +841 -3
- package/dynamicdialog/index.d.ts +490 -3
- package/editor/index.d.ts +182 -3
- package/fesm2022/cax-design-system-accordion.mjs +10 -10
- 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 +39 -39
- package/fesm2022/cax-design-system-api.mjs.map +1 -1
- package/fesm2022/cax-design-system-autocomplete.mjs +17 -17
- 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 +7 -7
- package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs +7 -7
- package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-badge.mjs +10 -10
- 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 +7 -7
- package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +10 -10
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-buttongroup.mjs +7 -7
- package/fesm2022/cax-design-system-calendar.mjs +7 -7
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-card.mjs +8 -8
- 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 +16 -16
- package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-categorycard.mjs +7 -7
- package/fesm2022/cax-design-system-categorycard.mjs.map +1 -1
- 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 +7 -7
- package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-chip.mjs +7 -7
- package/fesm2022/cax-design-system-chip.mjs.map +1 -1
- package/fesm2022/cax-design-system-colorpicker.mjs +7 -7
- 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 +11 -11
- package/fesm2022/cax-design-system-comments.mjs.map +1 -1
- package/fesm2022/cax-design-system-comparecard.mjs +8 -8
- package/fesm2022/cax-design-system-comparecard.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmdialog.mjs +7 -7
- package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmpopup.mjs +7 -7
- package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
- package/fesm2022/cax-design-system-contextmenu.mjs +14 -14
- 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 +7 -7
- package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-divider.mjs +7 -7
- 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-dragdrop.mjs +10 -10
- package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +20 -20
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-dynamicdialog.mjs +14 -14
- package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-editor.mjs +7 -7
- package/fesm2022/cax-design-system-editor.mjs.map +1 -1
- package/fesm2022/cax-design-system-fieldset.mjs +7 -7
- 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-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-angledoubleleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledoubleright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledoubleup.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angledown.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angleleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angleright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-angleup.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowdown.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowdownright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-arrowup.mjs +3 -3
- package/fesm2022/cax-design-system-icons-ban.mjs +3 -3
- package/fesm2022/cax-design-system-icons-bars.mjs +3 -3
- package/fesm2022/cax-design-system-icons-blank.mjs +3 -3
- package/fesm2022/cax-design-system-icons-calendar.mjs +3 -3
- package/fesm2022/cax-design-system-icons-caretleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-caretright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-check.mjs +3 -3
- package/fesm2022/cax-design-system-icons-chevrondown.mjs +3 -3
- package/fesm2022/cax-design-system-icons-chevronleft.mjs +3 -3
- package/fesm2022/cax-design-system-icons-chevronright.mjs +3 -3
- package/fesm2022/cax-design-system-icons-chevronup.mjs +3 -3
- package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/cax-design-system-icons-eye.mjs +3 -3
- package/fesm2022/cax-design-system-icons-eyeslash.mjs +3 -3
- package/fesm2022/cax-design-system-icons-filter.mjs +3 -3
- package/fesm2022/cax-design-system-icons-filterslash.mjs +3 -3
- package/fesm2022/cax-design-system-icons-home.mjs +3 -3
- package/fesm2022/cax-design-system-icons-infocircle.mjs +3 -3
- package/fesm2022/cax-design-system-icons-minus.mjs +3 -3
- package/fesm2022/cax-design-system-icons-pencil.mjs +3 -3
- package/fesm2022/cax-design-system-icons-plus.mjs +3 -3
- package/fesm2022/cax-design-system-icons-refresh.mjs +3 -3
- package/fesm2022/cax-design-system-icons-search.mjs +3 -3
- package/fesm2022/cax-design-system-icons-searchminus.mjs +3 -3
- package/fesm2022/cax-design-system-icons-searchplus.mjs +3 -3
- package/fesm2022/cax-design-system-icons-sortalt.mjs +3 -3
- package/fesm2022/cax-design-system-icons-sortamountdown.mjs +3 -3
- package/fesm2022/cax-design-system-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/cax-design-system-icons-spinner.mjs +3 -3
- package/fesm2022/cax-design-system-icons-star.mjs +3 -3
- package/fesm2022/cax-design-system-icons-starfill.mjs +3 -3
- package/fesm2022/cax-design-system-icons-thlarge.mjs +3 -3
- package/fesm2022/cax-design-system-icons-times.mjs +3 -3
- package/fesm2022/cax-design-system-icons-timescircle.mjs +3 -3
- package/fesm2022/cax-design-system-icons-trash.mjs +3 -3
- package/fesm2022/cax-design-system-icons-undo.mjs +3 -3
- package/fesm2022/cax-design-system-icons-upload.mjs +3 -3
- package/fesm2022/cax-design-system-icons-windowmaximize.mjs +3 -3
- package/fesm2022/cax-design-system-icons-windowminimize.mjs +3 -3
- package/fesm2022/cax-design-system-image.mjs +7 -7
- 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-inputchips.mjs +7 -7
- package/fesm2022/cax-design-system-inputchips.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroup.mjs +7 -7
- package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroupaddon.mjs +7 -7
- 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 +7 -7
- package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs +7 -7
- 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 +10 -10
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs +10 -10
- 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 +13 -13
- package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-logo.mjs +7 -7
- package/fesm2022/cax-design-system-logo.mjs.map +1 -1
- package/fesm2022/cax-design-system-logocard.mjs +7 -7
- package/fesm2022/cax-design-system-logocard.mjs.map +1 -1
- package/fesm2022/cax-design-system-megamenu.mjs +12 -12
- package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-menu.mjs +16 -16
- package/fesm2022/cax-design-system-menu.mjs.map +1 -1
- package/fesm2022/cax-design-system-menubar.mjs +16 -16
- 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 +7 -7
- 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 +19 -19
- package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +21 -9
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-orderlist.mjs +8 -8
- package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
- package/fesm2022/cax-design-system-organizationchart.mjs +10 -10
- package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlay.mjs +7 -7
- package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlaypanel.mjs +7 -7
- package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-paginator.mjs +7 -7
- package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-panel.mjs +7 -7
- package/fesm2022/cax-design-system-panel.mjs.map +1 -1
- package/fesm2022/cax-design-system-panelmenu.mjs +18 -18
- package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-password.mjs +13 -13
- package/fesm2022/cax-design-system-password.mjs.map +1 -1
- package/fesm2022/cax-design-system-picklist.mjs +8 -8
- package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
- package/fesm2022/cax-design-system-productcard.mjs +7 -7
- package/fesm2022/cax-design-system-productcard.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressbar.mjs +7 -7
- package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs +7 -7
- package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-radiobutton.mjs +10 -10
- package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-rating.mjs +8 -8
- package/fesm2022/cax-design-system-rating.mjs.map +1 -1
- package/fesm2022/cax-design-system-ripple.mjs +7 -7
- package/fesm2022/cax-design-system-scroller.mjs +7 -7
- 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 +7 -7
- package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +7 -7
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +8 -8
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-skeleton.mjs +7 -7
- package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
- package/fesm2022/cax-design-system-slidemenu.mjs +13 -13
- package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-slider.mjs +88 -8
- package/fesm2022/cax-design-system-slider.mjs.map +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs +8 -8
- 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 +8 -8
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitter.mjs +7 -7
- package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
- package/fesm2022/cax-design-system-stepper.mjs +19 -19
- package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
- package/fesm2022/cax-design-system-steps.mjs +7 -7
- 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 +7 -7
- package/fesm2022/cax-design-system-subscriptioncard.mjs.map +1 -1
- package/fesm2022/cax-design-system-table-paginator.mjs +7 -8
- package/fesm2022/cax-design-system-table-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +92 -92
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +7 -7
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabmenu.mjs +8 -8
- package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +10 -10
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-tag.mjs +7 -7
- package/fesm2022/cax-design-system-tag.mjs.map +1 -1
- package/fesm2022/cax-design-system-terminal.mjs +10 -10
- package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
- package/fesm2022/cax-design-system-tieredmenu.mjs +15 -15
- package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +7 -7
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-toast.mjs +10 -10
- package/fesm2022/cax-design-system-toast.mjs.map +1 -1
- package/fesm2022/cax-design-system-togglebutton.mjs +7 -7
- package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +7 -7
- 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 +7 -7
- package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/cax-design-system-tree.mjs +10 -10
- package/fesm2022/cax-design-system-tree.mjs.map +1 -1
- package/fesm2022/cax-design-system-treeselect.mjs +7 -7
- 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 +7 -7
- package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-upload.mjs +7 -7
- package/fesm2022/cax-design-system-upload.mjs.map +1 -1
- package/fesm2022/cax-design-system-virtualscroller.mjs +7 -7
- package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
- package/fieldset/index.d.ts +140 -3
- package/fileupload/index.d.ts +606 -3
- package/floatlabel/index.d.ts +19 -3
- package/focustrap/index.d.ts +35 -3
- package/galleria/index.d.ts +502 -3
- package/iconfield/index.d.ts +26 -3
- package/icons/angledoubledown/index.d.ts +9 -5
- package/icons/angledoubleleft/index.d.ts +9 -5
- package/icons/angledoubleright/index.d.ts +9 -5
- package/icons/angledoubleup/index.d.ts +9 -5
- package/icons/angledown/index.d.ts +9 -5
- package/icons/angleleft/index.d.ts +9 -5
- package/icons/angleright/index.d.ts +9 -5
- package/icons/angleup/index.d.ts +9 -5
- package/icons/arrowdown/index.d.ts +12 -5
- package/icons/arrowdownleft/index.d.ts +9 -5
- package/icons/arrowdownright/index.d.ts +9 -5
- package/icons/arrowleft/index.d.ts +11 -5
- package/icons/arrowright/index.d.ts +9 -5
- package/icons/arrowup/index.d.ts +11 -5
- package/icons/ban/index.d.ts +11 -5
- package/icons/bars/index.d.ts +9 -5
- package/icons/blank/index.d.ts +9 -5
- package/icons/calendar/index.d.ts +9 -5
- package/icons/caretleft/index.d.ts +9 -5
- package/icons/caretright/index.d.ts +9 -5
- package/icons/check/index.d.ts +9 -5
- package/icons/chevrondown/index.d.ts +9 -5
- package/icons/chevronleft/index.d.ts +9 -5
- package/icons/chevronright/index.d.ts +9 -5
- package/icons/chevronup/index.d.ts +9 -5
- package/icons/exclamationtriangle/index.d.ts +12 -5
- package/icons/eye/index.d.ts +9 -5
- package/icons/eyeslash/index.d.ts +11 -5
- package/icons/filter/index.d.ts +11 -5
- package/icons/filterslash/index.d.ts +11 -5
- package/icons/home/index.d.ts +11 -5
- package/icons/infocircle/index.d.ts +11 -5
- package/icons/minus/index.d.ts +9 -5
- package/icons/pencil/index.d.ts +11 -5
- package/icons/plus/index.d.ts +11 -5
- package/icons/refresh/index.d.ts +11 -5
- package/icons/search/index.d.ts +11 -5
- package/icons/searchminus/index.d.ts +11 -5
- package/icons/searchplus/index.d.ts +11 -5
- package/icons/sortalt/index.d.ts +11 -5
- package/icons/sortamountdown/index.d.ts +11 -5
- package/icons/sortamountupalt/index.d.ts +11 -5
- package/icons/spinner/index.d.ts +11 -5
- package/icons/star/index.d.ts +11 -5
- package/icons/starfill/index.d.ts +11 -5
- package/icons/thlarge/index.d.ts +11 -5
- package/icons/times/index.d.ts +9 -5
- package/icons/timescircle/index.d.ts +11 -5
- package/icons/trash/index.d.ts +11 -5
- package/icons/undo/index.d.ts +11 -5
- package/icons/upload/index.d.ts +11 -5
- package/icons/windowmaximize/index.d.ts +11 -5
- package/icons/windowminimize/index.d.ts +11 -5
- package/image/index.d.ts +228 -3
- package/index.d.ts +2 -5
- package/inplace/index.d.ts +130 -3
- package/inputchips/index.d.ts +323 -3
- package/inputgroup/index.d.ts +79 -3
- package/inputgroupaddon/index.d.ts +35 -3
- package/inputicon/index.d.ts +22 -3
- package/inputmask/index.d.ts +310 -3
- package/inputnumber/index.d.ts +469 -3
- package/inputotp/index.d.ts +189 -3
- package/inputswitch/index.d.ts +123 -3
- package/inputtext/index.d.ts +79 -5
- package/inputtextarea/index.d.ts +130 -3
- package/keyfilter/index.d.ts +65 -3
- package/knob/index.d.ts +179 -3
- package/listbox/index.d.ts +631 -3
- package/logo/index.d.ts +20 -5
- package/logocard/index.d.ts +15 -5
- package/megamenu/index.d.ts +230 -3
- package/menu/index.d.ts +222 -3
- package/menubar/index.d.ts +290 -3
- package/message/index.d.ts +53 -3
- package/messages/index.d.ts +129 -3
- package/metergroup/index.d.ts +224 -3
- package/multiselect/index.d.ts +1000 -3
- package/navigation/index.d.ts +110 -5
- package/orderlist/index.d.ts +381 -3
- package/organizationchart/index.d.ts +192 -3
- package/overlay/index.d.ts +246 -3
- package/overlaypanel/index.d.ts +175 -3
- package/package.json +387 -387
- package/paginator/index.d.ts +249 -3
- package/panel/index.d.ts +185 -3
- package/panelmenu/index.d.ts +249 -3
- package/password/index.d.ts +342 -3
- package/picklist/index.d.ts +696 -3
- package/productcard/index.d.ts +28 -5
- package/progressbar/index.d.ts +76 -3
- package/progressspinner/index.d.ts +58 -3
- package/radiobutton/index.d.ts +174 -3
- package/rating/index.d.ts +181 -3
- package/resources/cax.min.scss +26 -4
- package/resources/cax.scss +25 -4
- package/resources/components/navigation/navigation.scss +2 -1
- package/resources/components/slider/slider.scss +41 -0
- package/resources/components/table/table.scss +3 -3
- package/ripple/index.d.ts +37 -3
- package/scroller/index.d.ts +528 -3
- package/scrollpanel/index.d.ts +116 -3
- package/scrolltop/index.d.ts +117 -3
- package/selectbutton/index.d.ts +233 -3
- package/sidebar/index.d.ts +213 -3
- package/skeleton/index.d.ts +69 -3
- package/slidemenu/index.d.ts +339 -3
- package/slider/index.d.ts +224 -3
- package/speeddial/index.d.ts +324 -3
- package/spinner/index.d.ts +93 -5
- package/splitbutton/index.d.ts +264 -3
- package/splitter/index.d.ts +201 -3
- package/stepper/index.d.ts +145 -3
- package/steps/index.d.ts +95 -3
- package/styleclass/index.d.ts +109 -3
- package/subscriptioncard/index.d.ts +46 -5
- package/table/index.d.ts +2530 -3
- package/table-paginator/index.d.ts +59 -3
- package/tableconfiguration/index.d.ts +27 -5
- package/tabmenu/index.d.ts +160 -3
- package/tabview/index.d.ts +360 -3
- package/tag/index.d.ts +120 -3
- package/terminal/index.d.ts +68 -3
- package/tieredmenu/index.d.ts +312 -3
- package/timeline/index.d.ts +100 -3
- package/toast/index.d.ts +194 -3
- package/togglebutton/index.d.ts +150 -3
- package/toggleswitch/index.d.ts +30 -5
- package/toolbar/index.d.ts +64 -3
- package/tooltip/index.d.ts +218 -3
- package/tree/index.d.ts +673 -3
- package/treeselect/index.d.ts +517 -3
- package/treetable/index.d.ts +1461 -3
- package/tristatecheckbox/index.d.ts +155 -3
- package/ts-helpers/index.d.ts +6 -5
- package/upload/index.d.ts +113 -5
- package/utils/index.d.ts +35 -5
- package/virtualscroller/index.d.ts +161 -3
- package/accordion/accordion.d.ts +0 -224
- package/accordion/accordion.interface.d.ts +0 -49
- package/accordion/accordion.module.d.ts +0 -13
- package/accordion/public_api.d.ts +0 -3
- package/animate/animate.d.ts +0 -40
- package/animate/public_api.d.ts +0 -1
- package/animateonscroll/animateonscroll.d.ts +0 -75
- package/animateonscroll/public_api.d.ts +0 -1
- package/api/blockableui.d.ts +0 -10
- package/api/caxconfig.d.ts +0 -24
- package/api/confirmaeventtype.d.ts +0 -8
- package/api/confirmation.d.ts +0 -90
- package/api/confirmationservice.d.ts +0 -30
- package/api/contextmenuservice.d.ts +0 -11
- package/api/filtermatchmode.d.ts +0 -22
- package/api/filtermetadata.d.ts +0 -18
- package/api/filteroperator.d.ts +0 -4
- package/api/filterservice.d.ts +0 -10
- package/api/lazyloadevent.d.ts +0 -47
- package/api/lazyloadmeta.d.ts +0 -19
- package/api/megamenuitem.d.ts +0 -130
- package/api/menuitem.d.ts +0 -176
- package/api/message.d.ts +0 -29
- package/api/messageservice.d.ts +0 -32
- package/api/overlayoptions.d.ts +0 -188
- package/api/overlayservice.d.ts +0 -9
- package/api/primeicons.d.ts +0 -313
- package/api/public_api.d.ts +0 -34
- package/api/scrolleroptions.d.ts +0 -116
- package/api/selectitem.d.ts +0 -12
- package/api/selectitemgroup.d.ts +0 -10
- package/api/shared.d.ts +0 -24
- package/api/sortevent.d.ts +0 -12
- package/api/sortmeta.d.ts +0 -8
- package/api/tablestate.d.ts +0 -60
- package/api/themegeneratorservice.d.ts +0 -12
- package/api/tooltipoptions.d.ts +0 -69
- package/api/translation.d.ts +0 -135
- package/api/translationkeys.d.ts +0 -50
- package/api/treedragdropservice.d.ts +0 -12
- package/api/treenode.d.ts +0 -91
- package/api/treenodedragevent.d.ts +0 -27
- package/api/treetablenode.d.ts +0 -36
- package/autocomplete/autocomplete.d.ts +0 -633
- package/autocomplete/autocomplete.interface.d.ts +0 -164
- package/autocomplete/autocomplete.module.d.ts +0 -21
- package/autocomplete/public_api.d.ts +0 -3
- package/autofocus/autofocus.d.ts +0 -28
- package/autofocus/public_api.d.ts +0 -1
- package/avatar/avatar.d.ts +0 -95
- package/avatar/avatar.module.d.ts +0 -7
- package/avatar/public_api.d.ts +0 -2
- package/avatargroup/avatargroup.d.ts +0 -21
- package/avatargroup/avatargroup.module.d.ts +0 -9
- package/avatargroup/public_api.d.ts +0 -2
- package/badge/badge.d.ts +0 -25
- package/badge/badge.directive.d.ts +0 -35
- package/badge/badge.module.d.ts +0 -10
- package/badge/public_api.d.ts +0 -3
- package/baseicon/baseicon.d.ts +0 -15
- package/baseicon/public_api.d.ts +0 -1
- package/blockui/blockui.d.ts +0 -64
- package/blockui/blockui.interface.d.ts +0 -11
- package/blockui/public_api.d.ts +0 -2
- package/breadcrumb/breadcrumb.d.ts +0 -55
- package/breadcrumb/breadcrumb.interface.d.ts +0 -38
- package/breadcrumb/breadcrumb.module.d.ts +0 -13
- package/breadcrumb/public_api.d.ts +0 -3
- package/button/button.d.ts +0 -92
- package/button/button.directive.d.ts +0 -51
- package/button/button.interface.d.ts +0 -30
- package/button/button.module.d.ts +0 -9
- package/button/public_api.d.ts +0 -4
- package/buttongroup/buttongroup.d.ts +0 -11
- package/buttongroup/public_api.d.ts +0 -1
- package/calendar/calendar.d.ts +0 -744
- package/calendar/calendar.interface.d.ts +0 -204
- package/calendar/calendar.module.d.ts +0 -9
- package/calendar/public_api.d.ts +0 -3
- package/card/card.d.ts +0 -49
- package/card/card.interface.d.ts +0 -27
- package/card/card.module.d.ts +0 -11
- package/card/public_api.d.ts +0 -3
- package/carousel/carousel.d.ts +0 -227
- package/carousel/carousel.interface.d.ts +0 -63
- package/carousel/public_api.d.ts +0 -2
- package/cascadeselect/cascadeselect.d.ts +0 -465
- package/cascadeselect/cascadeselect.interface.d.ts +0 -115
- package/cascadeselect/cascadeselect.module.d.ts +0 -15
- package/cascadeselect/public_api.d.ts +0 -3
- package/categorycard/categorycard.d.ts +0 -11
- package/categorycard/categorycard.module.d.ts +0 -7
- package/categorycard/public_api.d.ts +0 -2
- package/chart/chart.d.ts +0 -87
- package/chart/public_api.d.ts +0 -1
- package/checkbox/checkbox.d.ts +0 -168
- package/checkbox/checkbox.interface.d.ts +0 -26
- package/checkbox/checkbox.module.d.ts +0 -10
- package/checkbox/public_api.d.ts +0 -3
- package/chip/chip.d.ts +0 -37
- package/chip/chip.interface.d.ts +0 -15
- package/chip/chip.module.d.ts +0 -10
- package/chip/public_api.d.ts +0 -3
- package/colorpicker/colorpicker.d.ts +0 -240
- package/colorpicker/colorpicker.interface.d.ts +0 -15
- package/colorpicker/colorpicker.module.d.ts +0 -9
- package/colorpicker/public_api.d.ts +0 -3
- package/commentbox/commentbox.d.ts +0 -120
- package/commentbox/commentbox.module.d.ts +0 -17
- package/commentbox/public_api.d.ts +0 -2
- package/comments/comments.d.ts +0 -83
- package/comments/comments.module.d.ts +0 -7
- package/comments/public_api.d.ts +0 -2
- package/comparecard/comaparecard.module.d.ts +0 -11
- package/comparecard/comparecard.component.d.ts +0 -44
- package/comparecard/public_api.d.ts +0 -2
- package/confirmdialog/confirmdialog.d.ts +0 -272
- package/confirmdialog/confirmdialog.interface.d.ts +0 -39
- package/confirmdialog/confirmdialog.module.d.ts +0 -15
- package/confirmdialog/public_api.d.ts +0 -3
- package/confirmpopup/confirmpopup.d.ts +0 -119
- package/confirmpopup/confirmpopup.interface.d.ts +0 -27
- package/confirmpopup/public_api.d.ts +0 -2
- package/contextmenu/contextmenu.d.ts +0 -260
- package/contextmenu/public_api.d.ts +0 -1
- package/dataview/dataview.d.ts +0 -274
- package/dataview/dataview.interface.d.ts +0 -183
- package/dataview/public_api.d.ts +0 -2
- package/defer/defer.d.ts +0 -39
- package/defer/public_api.d.ts +0 -1
- package/dialog/dialog.d.ts +0 -364
- package/dialog/dialog.interface.d.ts +0 -31
- package/dialog/dialog.module.d.ts +0 -15
- package/dialog/public_api.d.ts +0 -3
- package/divider/divider.d.ts +0 -57
- package/divider/divider.module.d.ts +0 -7
- package/divider/public_api.d.ts +0 -2
- package/dock/dock.d.ts +0 -115
- package/dock/dock.interface.d.ts +0 -19
- package/dock/public_api.d.ts +0 -2
- package/dom/connectedoverlayscrollhandler.d.ts +0 -9
- package/dom/domhandler.d.ts +0 -95
- package/dom/public_api.d.ts +0 -2
- package/dragdrop/dragdrop.d.ts +0 -112
- package/dragdrop/dragdrop.module.d.ts +0 -8
- package/dragdrop/public_api.d.ts +0 -2
- package/dropdown/dropdown-item.d.ts +0 -31
- package/dropdown/dropdown.d.ts +0 -650
- package/dropdown/dropdown.interface.d.ts +0 -154
- package/dropdown/dropdown.module.d.ts +0 -11
- package/dropdown/public_api.d.ts +0 -4
- package/dynamicdialog/dialogservice.d.ts +0 -35
- package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
- package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
- package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
- package/dynamicdialog/dynamicdialog.d.ts +0 -124
- package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
- package/dynamicdialog/public_api.d.ts +0 -6
- package/editor/editor.d.ts +0 -109
- package/editor/editor.interface.d.ts +0 -64
- package/editor/editor.module.d.ts +0 -9
- package/editor/public_api.d.ts +0 -3
- package/fieldset/fieldset.d.ts +0 -93
- package/fieldset/fieldset.interface.d.ts +0 -46
- package/fieldset/public_api.d.ts +0 -2
- package/fileupload/fileupload.d.ts +0 -380
- package/fileupload/fileupload.interface.d.ts +0 -226
- package/fileupload/public_api.d.ts +0 -2
- package/floatlabel/floatlabel.d.ts +0 -9
- package/floatlabel/floatlabel.module.d.ts +0 -10
- package/floatlabel/public_api.d.ts +0 -2
- package/focustrap/focustrap.d.ts +0 -34
- package/focustrap/public_api.d.ts +0 -1
- package/galleria/galleria.d.ts +0 -404
- package/galleria/galleria.interface.d.ts +0 -97
- package/galleria/public_api.d.ts +0 -2
- package/iconfield/iconfield.d.ts +0 -25
- package/iconfield/public_api.d.ts +0 -1
- package/icons/angledoubledown/angledoubledown.d.ts +0 -6
- package/icons/angledoubledown/public_api.d.ts +0 -1
- package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
- package/icons/angledoubleleft/public_api.d.ts +0 -1
- package/icons/angledoubleright/angledoubleright.d.ts +0 -6
- package/icons/angledoubleright/public_api.d.ts +0 -1
- package/icons/angledoubleup/angledoubleup.d.ts +0 -6
- package/icons/angledoubleup/public_api.d.ts +0 -1
- package/icons/angledown/angledown.d.ts +0 -6
- package/icons/angledown/public_api.d.ts +0 -1
- package/icons/angleleft/angleleft.d.ts +0 -6
- package/icons/angleleft/public_api.d.ts +0 -1
- package/icons/angleright/angleright.d.ts +0 -6
- package/icons/angleright/public_api.d.ts +0 -1
- package/icons/angleup/angleup.d.ts +0 -6
- package/icons/angleup/public_api.d.ts +0 -1
- package/icons/arrowdown/arrowdown.d.ts +0 -9
- package/icons/arrowdown/public_api.d.ts +0 -1
- package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
- package/icons/arrowdownleft/public_api.d.ts +0 -1
- package/icons/arrowdownright/arrowdownright.d.ts +0 -6
- package/icons/arrowdownright/public_api.d.ts +0 -1
- package/icons/arrowleft/arrowleft.d.ts +0 -8
- package/icons/arrowleft/public_api.d.ts +0 -1
- package/icons/arrowright/arrowright.d.ts +0 -6
- package/icons/arrowright/public_api.d.ts +0 -1
- package/icons/arrowup/arrowup.d.ts +0 -8
- package/icons/arrowup/public_api.d.ts +0 -1
- package/icons/ban/ban.d.ts +0 -8
- package/icons/ban/public_api.d.ts +0 -1
- package/icons/bars/bars.d.ts +0 -6
- package/icons/bars/public_api.d.ts +0 -1
- package/icons/blank/blank.d.ts +0 -6
- package/icons/blank/public_api.d.ts +0 -1
- package/icons/calendar/calendar.d.ts +0 -6
- package/icons/calendar/public_api.d.ts +0 -1
- package/icons/caretleft/caretleft.d.ts +0 -6
- package/icons/caretleft/public_api.d.ts +0 -1
- package/icons/caretright/caretright.d.ts +0 -6
- package/icons/caretright/public_api.d.ts +0 -1
- package/icons/check/check.d.ts +0 -6
- package/icons/check/public_api.d.ts +0 -1
- package/icons/chevrondown/chevrondown.d.ts +0 -6
- package/icons/chevrondown/public_api.d.ts +0 -1
- package/icons/chevronleft/chevronleft.d.ts +0 -6
- package/icons/chevronleft/public_api.d.ts +0 -1
- package/icons/chevronright/chevronright.d.ts +0 -6
- package/icons/chevronright/public_api.d.ts +0 -1
- package/icons/chevronup/chevronup.d.ts +0 -6
- package/icons/chevronup/public_api.d.ts +0 -1
- package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
- package/icons/exclamationtriangle/public_api.d.ts +0 -1
- package/icons/eye/eye.d.ts +0 -6
- package/icons/eye/public_api.d.ts +0 -1
- package/icons/eyeslash/eyeslash.d.ts +0 -8
- package/icons/eyeslash/public_api.d.ts +0 -1
- package/icons/filter/filter.d.ts +0 -8
- package/icons/filter/public_api.d.ts +0 -1
- package/icons/filterslash/filterslash.d.ts +0 -8
- package/icons/filterslash/public_api.d.ts +0 -1
- package/icons/home/home.d.ts +0 -8
- package/icons/home/public_api.d.ts +0 -1
- package/icons/infocircle/infocircle.d.ts +0 -8
- package/icons/infocircle/public_api.d.ts +0 -1
- package/icons/minus/minus.d.ts +0 -6
- package/icons/minus/public_api.d.ts +0 -1
- package/icons/pencil/pencil.d.ts +0 -8
- package/icons/pencil/public_api.d.ts +0 -1
- package/icons/plus/plus.d.ts +0 -8
- package/icons/plus/public_api.d.ts +0 -1
- package/icons/refresh/public_api.d.ts +0 -1
- package/icons/refresh/refresh.d.ts +0 -8
- package/icons/search/public_api.d.ts +0 -1
- package/icons/search/search.d.ts +0 -8
- package/icons/searchminus/public_api.d.ts +0 -1
- package/icons/searchminus/searchminus.d.ts +0 -8
- package/icons/searchplus/public_api.d.ts +0 -1
- package/icons/searchplus/searchplus.d.ts +0 -8
- package/icons/sortalt/public_api.d.ts +0 -1
- package/icons/sortalt/sortalt.d.ts +0 -8
- package/icons/sortamountdown/public_api.d.ts +0 -1
- package/icons/sortamountdown/sortamountdown.d.ts +0 -8
- package/icons/sortamountupalt/public_api.d.ts +0 -1
- package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
- package/icons/spinner/public_api.d.ts +0 -1
- package/icons/spinner/spinner.d.ts +0 -8
- package/icons/star/public_api.d.ts +0 -1
- package/icons/star/star.d.ts +0 -8
- package/icons/starfill/public_api.d.ts +0 -1
- package/icons/starfill/starfill.d.ts +0 -8
- package/icons/thlarge/public_api.d.ts +0 -1
- package/icons/thlarge/thlarge.d.ts +0 -8
- package/icons/times/public_api.d.ts +0 -1
- package/icons/times/times.d.ts +0 -6
- package/icons/timescircle/public_api.d.ts +0 -1
- package/icons/timescircle/timescircle.d.ts +0 -8
- package/icons/trash/public_api.d.ts +0 -1
- package/icons/trash/trash.d.ts +0 -8
- package/icons/undo/public_api.d.ts +0 -1
- package/icons/undo/undo.d.ts +0 -8
- package/icons/upload/public_api.d.ts +0 -1
- package/icons/upload/upload.d.ts +0 -8
- package/icons/windowmaximize/public_api.d.ts +0 -1
- package/icons/windowmaximize/windowmaximize.d.ts +0 -8
- package/icons/windowminimize/public_api.d.ts +0 -1
- package/icons/windowminimize/windowminimize.d.ts +0 -8
- package/image/image.d.ts +0 -188
- package/image/image.interface.d.ts +0 -31
- package/image/image.module.d.ts +0 -8
- package/image/public_api.d.ts +0 -3
- package/inplace/inplace.d.ts +0 -109
- package/inplace/inplace.interface.d.ts +0 -19
- package/inplace/public_api.d.ts +0 -2
- package/inputchips/inputchips.d.ts +0 -251
- package/inputchips/inputchips.interface.d.ts +0 -58
- package/inputchips/inputchips.module.d.ts +0 -14
- package/inputchips/public_api.d.ts +0 -3
- package/inputgroup/inputgroup.d.ts +0 -64
- package/inputgroup/inputgroup.module.d.ts +0 -15
- package/inputgroup/public_api.d.ts +0 -2
- package/inputgroupaddon/inputgroupaddon.d.ts +0 -21
- package/inputgroupaddon/inputgroupaddon.module.d.ts +0 -14
- package/inputgroupaddon/public_api.d.ts +0 -2
- package/inputicon/inputicon.d.ts +0 -21
- package/inputicon/public_api.d.ts +0 -1
- package/inputmask/inputmask.d.ts +0 -279
- package/inputmask/inputmask.interface.d.ts +0 -19
- package/inputmask/inputmask.module.d.ts +0 -12
- package/inputmask/public_api.d.ts +0 -3
- package/inputnumber/inputnumber.d.ts +0 -423
- package/inputnumber/inputnumber.interface.d.ts +0 -38
- package/inputnumber/inputnumber.module.d.ts +0 -8
- package/inputnumber/public_api.d.ts +0 -3
- package/inputotp/inputotp.d.ts +0 -123
- package/inputotp/inputotp.interface.d.ts +0 -65
- package/inputotp/public_api.d.ts +0 -2
- package/inputswitch/inputswitch.d.ts +0 -106
- package/inputswitch/inputswitch.interface.d.ts +0 -15
- package/inputswitch/public_api.d.ts +0 -2
- package/inputtext/inputtext.component.d.ts +0 -44
- package/inputtext/inputtext.directive.d.ts +0 -27
- package/inputtext/inputtext.module.d.ts +0 -10
- package/inputtext/public_api.d.ts +0 -3
- package/inputtextarea/inputtextarea.component.d.ts +0 -64
- package/inputtextarea/inputtextarea.directive.d.ts +0 -58
- package/inputtextarea/inputtextarea.module.d.ts +0 -10
- package/inputtextarea/public_api.d.ts +0 -3
- package/keyfilter/keyfilter.d.ts +0 -58
- package/keyfilter/keyfilter.interface.d.ts +0 -5
- package/keyfilter/public_api.d.ts +0 -2
- package/knob/knob.d.ts +0 -178
- package/knob/public_api.d.ts +0 -1
- package/listbox/listbox.d.ts +0 -461
- package/listbox/listbox.interface.d.ts +0 -156
- package/listbox/listbox.module.d.ts +0 -14
- package/listbox/public_api.d.ts +0 -3
- package/logo/logo.d.ts +0 -11
- package/logo/logo.module.d.ts +0 -7
- package/logo/public_api.d.ts +0 -2
- package/logocard/logocard.d.ts +0 -6
- package/logocard/logocard.module.d.ts +0 -7
- package/logocard/public_api.d.ts +0 -2
- package/megamenu/megamenu.d.ts +0 -198
- package/megamenu/megamenu.interface.d.ts +0 -31
- package/megamenu/public_api.d.ts +0 -2
- package/menu/menu.d.ts +0 -210
- package/menu/menu.module.d.ts +0 -12
- package/menu/public_api.d.ts +0 -2
- package/menubar/menubar.d.ts +0 -248
- package/menubar/menubar.interface.d.ts +0 -40
- package/menubar/public_api.d.ts +0 -2
- package/message/message.d.ts +0 -52
- package/message/public_api.d.ts +0 -1
- package/messages/messages.d.ts +0 -106
- package/messages/messages.interface.d.ts +0 -16
- package/messages/messages.module.d.ts +0 -8
- package/messages/public_api.d.ts +0 -3
- package/metergroup/metergroup.d.ts +0 -101
- package/metergroup/metergroup.interface.d.ts +0 -122
- package/metergroup/public_api.d.ts +0 -2
- package/multiselect/multiselect.d.ts +0 -736
- package/multiselect/multiselect.interface.d.ts +0 -247
- package/multiselect/multiselect.module.d.ts +0 -20
- package/multiselect/public_api.d.ts +0 -3
- package/navigation/navigation.d.ts +0 -75
- package/navigation/navigation.interface.d.ts +0 -26
- package/navigation/navigation.module.d.ts +0 -7
- package/navigation/public_api.d.ts +0 -2
- package/orderlist/orderlist.d.ts +0 -270
- package/orderlist/orderlist.interface.d.ts +0 -110
- package/orderlist/public_api.d.ts +0 -2
- package/organizationchart/organizationchart.d.ts +0 -132
- package/organizationchart/organizationchart.interface.d.ts +0 -59
- package/organizationchart/public_api.d.ts +0 -2
- package/overlay/overlay.d.ts +0 -238
- package/overlay/overlay.module.d.ts +0 -8
- package/overlay/public_api.d.ts +0 -2
- package/overlaypanel/overlaypanel.d.ts +0 -167
- package/overlaypanel/overlaypanel.module.d.ts +0 -8
- package/overlaypanel/public_api.d.ts +0 -2
- package/paginator/paginator.d.ts +0 -195
- package/paginator/paginator.interface.d.ts +0 -37
- package/paginator/paginator.module.d.ts +0 -17
- package/paginator/public_api.d.ts +0 -3
- package/panel/panel.d.ts +0 -126
- package/panel/panel.interface.d.ts +0 -58
- package/panel/public_api.d.ts +0 -2
- package/panelmenu/panelmenu.d.ts +0 -225
- package/panelmenu/panelmenu.interface.d.ts +0 -23
- package/panelmenu/public_api.d.ts +0 -2
- package/password/password.d.ts +0 -342
- package/password/public_api.d.ts +0 -1
- package/picklist/picklist.d.ts +0 -453
- package/picklist/picklist.interface.d.ts +0 -242
- package/picklist/public_api.d.ts +0 -2
- package/productcard/productcard.d.ts +0 -19
- package/productcard/productcard.module.d.ts +0 -7
- package/productcard/public_api.d.ts +0 -2
- package/progressbar/progressbar.d.ts +0 -69
- package/progressbar/progressbar.module.d.ts +0 -8
- package/progressbar/public_api.d.ts +0 -2
- package/progressspinner/progressspinner.d.ts +0 -50
- package/progressspinner/progressspinner.module.d.ts +0 -8
- package/progressspinner/public_api.d.ts +0 -2
- package/public_api.d.ts +0 -2
- package/radiobutton/public_api.d.ts +0 -3
- package/radiobutton/radiobutton.d.ts +0 -151
- package/radiobutton/radiobutton.interface.d.ts +0 -15
- package/radiobutton/radiobutton.module.d.ts +0 -7
- package/rating/public_api.d.ts +0 -2
- package/rating/rating.d.ts +0 -146
- package/rating/rating.interface.d.ts +0 -34
- package/ripple/public_api.d.ts +0 -2
- package/ripple/ripple.d.ts +0 -30
- package/ripple/ripple.module.d.ts +0 -7
- package/scroller/public_api.d.ts +0 -3
- package/scroller/scroller.d.ts +0 -343
- package/scroller/scroller.interface.d.ts +0 -177
- package/scroller/scroller.module.d.ts +0 -8
- package/scrollpanel/public_api.d.ts +0 -2
- package/scrollpanel/scrollpanel.d.ts +0 -103
- package/scrollpanel/scrollpanel.interface.d.ts +0 -11
- package/scrolltop/public_api.d.ts +0 -2
- package/scrolltop/scrolltop.d.ts +0 -97
- package/scrolltop/scrolltop.interface.d.ts +0 -18
- package/selectbutton/public_api.d.ts +0 -3
- package/selectbutton/selectbutton.d.ts +0 -177
- package/selectbutton/selectbutton.interface.d.ts +0 -45
- package/selectbutton/selectbutton.module.d.ts +0 -11
- package/sidebar/public_api.d.ts +0 -3
- package/sidebar/sidebar.d.ts +0 -173
- package/sidebar/sidebar.interface.d.ts +0 -27
- package/sidebar/sidebar.module.d.ts +0 -12
- package/skeleton/public_api.d.ts +0 -2
- package/skeleton/skeleton.d.ts +0 -61
- package/skeleton/skeleton.module.d.ts +0 -8
- package/slidemenu/public_api.d.ts +0 -2
- package/slidemenu/slidemenu.d.ts +0 -322
- package/slidemenu/slidemenu.interface.d.ts +0 -15
- package/slider/public_api.d.ts +0 -3
- package/slider/slider.d.ts +0 -167
- package/slider/slider.interface.d.ts +0 -38
- package/slider/slider.module.d.ts +0 -9
- package/speeddial/public_api.d.ts +0 -3
- package/speeddial/speeddial.d.ts +0 -282
- package/speeddial/speeddial.interface.d.ts +0 -28
- package/speeddial/speeddial.module.d.ts +0 -14
- package/spinner/public_api.d.ts +0 -1
- package/spinner/spinner.d.ts +0 -90
- package/splitbutton/public_api.d.ts +0 -3
- package/splitbutton/splitbutton.d.ts +0 -222
- package/splitbutton/splitbutton.interface.d.ts +0 -30
- package/splitbutton/splitbutton.module.d.ts +0 -13
- package/splitter/public_api.d.ts +0 -3
- package/splitter/splitter.d.ts +0 -158
- package/splitter/splitter.interface.d.ts +0 -34
- package/splitter/splitter.module.d.ts +0 -9
- package/stepper/public_api.d.ts +0 -2
- package/stepper/stepper.d.ts +0 -117
- package/stepper/stepper.interface.d.ts +0 -26
- package/steps/public_api.d.ts +0 -2
- package/steps/steps.d.ts +0 -84
- package/steps/steps.module.d.ts +0 -11
- package/styleclass/public_api.d.ts +0 -1
- package/styleclass/styleclass.d.ts +0 -108
- package/subscriptioncard/public_api.d.ts +0 -2
- package/subscriptioncard/subscriptioncard.component.d.ts +0 -33
- package/subscriptioncard/subscriptioncard.module.d.ts +0 -11
- package/table/columnfilter.interface.d.ts +0 -247
- package/table/components/cell-editor/cell-editor.d.ts +0 -20
- package/table/components/column-filter/column-filter.d.ts +0 -257
- package/table/components/column-filter-form-element/column-filter-form-element.d.ts +0 -37
- package/table/components/sort-icon/sort-icon.d.ts +0 -22
- package/table/components/table-body/table-body.d.ts +0 -36
- package/table/components/table-checkbox/table-checkbox.d.ts +0 -32
- package/table/components/table-header-checkbox/table-header-checkbox.d.ts +0 -31
- package/table/components/table-radio-button/table-radio-button.d.ts +0 -29
- package/table/directives/cancel-editable-row.directive.d.ts +0 -11
- package/table/directives/cell-extend.directive.d.ts +0 -14
- package/table/directives/cell-highlight.directive.d.ts +0 -12
- package/table/directives/content-menu-row.directive.d.ts +0 -22
- package/table/directives/dynamic-column-width.directive.d.ts +0 -12
- package/table/directives/editable-column.directive.d.ts +0 -40
- package/table/directives/editable-row.directive.d.ts +0 -12
- package/table/directives/frozen-column.directive.d.ts +0 -16
- package/table/directives/init-editable-row.directive.d.ts +0 -11
- package/table/directives/reorderable-column.directive.d.ts +0 -32
- package/table/directives/reorderable-row-handle.directive.d.ts +0 -9
- package/table/directives/reorderable-row.directive.d.ts +0 -34
- package/table/directives/resizable-column.directive.d.ts +0 -35
- package/table/directives/row-group-header.directive.d.ts +0 -9
- package/table/directives/row-toggler.directive.d.ts +0 -13
- package/table/directives/save-editable-row.directive.d.ts +0 -11
- package/table/directives/selectable-row-double-click.directive.d.ts +0 -22
- package/table/directives/selectable-row.directive.d.ts +0 -37
- package/table/directives/sortable-column.directive.d.ts +0 -24
- package/table/public_api.d.ts +0 -31
- package/table/table.d.ts +0 -845
- package/table/table.interface.d.ts +0 -644
- package/table/table.module.d.ts +0 -35
- package/table/table.service.d.ts +0 -24
- package/table-paginator/public_api.d.ts +0 -3
- package/table-paginator/table-paginator.component.d.ts +0 -28
- package/table-paginator/table-paginator.interface.d.ts +0 -21
- package/table-paginator/table-paginator.module.d.ts +0 -9
- package/tableconfiguration/public_api.d.ts +0 -2
- package/tableconfiguration/tableconfiguration.d.ts +0 -18
- package/tableconfiguration/tableconfiguration.module.d.ts +0 -7
- package/tabmenu/public_api.d.ts +0 -2
- package/tabmenu/tabmenu.d.ts +0 -126
- package/tabmenu/tabmenu.interface.d.ts +0 -32
- package/tabview/public_api.d.ts +0 -3
- package/tabview/tabview.d.ts +0 -295
- package/tabview/tabview.interface.d.ts +0 -49
- package/tabview/tabview.module.d.ts +0 -16
- package/tag/public_api.d.ts +0 -3
- package/tag/tag.d.ts +0 -99
- package/tag/tag.interface.d.ts +0 -11
- package/tag/tag.module.d.ts +0 -9
- package/terminal/public_api.d.ts +0 -2
- package/terminal/terminal.d.ts +0 -56
- package/terminal/terminalservice.d.ts +0 -11
- package/tieredmenu/public_api.d.ts +0 -3
- package/tieredmenu/tieredmenu.d.ts +0 -271
- package/tieredmenu/tieredmenu.interface.d.ts +0 -27
- package/tieredmenu/tiredmenu.module.d.ts +0 -13
- package/timeline/public_api.d.ts +0 -3
- package/timeline/timeline.d.ts +0 -47
- package/timeline/timeline.interface.d.ts +0 -43
- package/timeline/timeline.module.d.ts +0 -9
- package/toast/public_api.d.ts +0 -3
- package/toast/toast.d.ts +0 -134
- package/toast/toast.interface.d.ts +0 -52
- package/toast/toast.module.d.ts +0 -9
- package/toast/toastitem.d.ts +0 -37
- package/togglebutton/public_api.d.ts +0 -2
- package/togglebutton/togglebutton.d.ts +0 -115
- package/togglebutton/togglebutton.interface.d.ts +0 -34
- package/toggleswitch/public_api.d.ts +0 -2
- package/toggleswitch/toggleswitch.d.ts +0 -19
- package/toggleswitch/toggleswitch.module.d.ts +0 -9
- package/toolbar/public_api.d.ts +0 -2
- package/toolbar/toolbar.d.ts +0 -43
- package/toolbar/toolbar.interface.d.ts +0 -19
- package/tooltip/public_api.d.ts +0 -2
- package/tooltip/tooltip.d.ts +0 -208
- package/tooltip/tooltip.module.d.ts +0 -10
- package/tree/public_api.d.ts +0 -3
- package/tree/tree.d.ts +0 -461
- package/tree/tree.interface.d.ts +0 -193
- package/tree/tree.module.d.ts +0 -21
- package/treeselect/public_api.d.ts +0 -3
- package/treeselect/treeselect.d.ts +0 -394
- package/treeselect/treeselect.interface.d.ts +0 -108
- package/treeselect/treeselect.module.d.ts +0 -16
- package/treetable/public_api.d.ts +0 -2
- package/treetable/treetable.d.ts +0 -988
- package/treetable/treetable.interface.d.ts +0 -472
- package/tristatecheckbox/public_api.d.ts +0 -3
- package/tristatecheckbox/tristatecheckbox.d.ts +0 -117
- package/tristatecheckbox/tristatecheckbox.interface.d.ts +0 -30
- package/tristatecheckbox/tristatecheckbox.module.d.ts +0 -8
- package/ts-helpers/public_api.d.ts +0 -1
- package/ts-helpers/ts-helpers.d.ts +0 -4
- package/upload/public_api.d.ts +0 -2
- package/upload/upload.component.d.ts +0 -99
- package/upload/upload.component.module.d.ts +0 -11
- package/utils/objectutils.d.ts +0 -24
- package/utils/public_api.d.ts +0 -4
- package/utils/uniquecomponentid.d.ts +0 -2
- package/utils/zindexutils.d.ts +0 -7
- package/virtualscroller/public_api.d.ts +0 -2
- package/virtualscroller/virtualscroller.d.ts +0 -89
- package/virtualscroller/virtualscroller.interface.d.ts +0 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-comments.mjs","sources":["../../src/app/components/comments/comments.ts","../../src/app/components/comments/comments.html","../../src/app/components/comments/comments.module.ts","../../src/app/components/comments/cax-design-system-comments.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild, ElementRef, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Avatar } from 'cax-design-system/avatar';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { EditorModule } from 'cax-design-system/editor';\nimport { OverlayPanelModule, OverlayPanel } from 'cax-design-system/overlaypanel';\nimport { ListboxModule } from 'cax-design-system/listbox';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ChipModule } from 'cax-design-system/chip';\n\ninterface MentionUser {\n firstName: string;\n lastName: string;\n userName: string;\n}\n\ninterface Comment {\n message: string;\n timestamp: string;\n currentUser?: boolean;\n author?: MentionUser;\n attachments?: File[];\n}\n\ninterface GroupedComments {\n date: Date;\n comments: Comment[];\n}\n\n@Component({\n selector: 'cax-comments',\n templateUrl: './comments.html',\n styleUrls: ['./comments.scss'],\n standalone: true,\n imports: [CommonModule, Avatar, ButtonModule, EditorModule, FormsModule, OverlayPanelModule, ListboxModule, SharedModule, ChipModule]\n})\nexport class CommentsComponent implements AfterViewInit, OnDestroy {\n @ViewChild('scrollContainer') private scrollContainer!: ElementRef;\n @ViewChild('suggestionOverlay') suggestionOverlay!: OverlayPanel;\n private visibilityObserver?: IntersectionObserver;\n\n private _comments: Comment[] = [];\n groupedComments: GroupedComments[] = [];\n isRichText: boolean = false;\n commentValue: string = '';\n\n // Suggestion state\n isSuggestionVisible: boolean = false;\n suggestionType: '@' | '#' | null = null;\n filteredSuggestions: any[] = [];\n triggerIndex: number = -1;\n attachedFiles: File[] = [];\n private lastBounds: any = null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.scrollToBottom();\n this.setupVisibilityObserver();\n }\n\n ngOnDestroy(): void {\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n }\n }\n\n @Input()\n set comments(value: Comment[]) {\n this._comments = value || [];\n this.recomputeGroups();\n this.scrollToBottom();\n }\n\n get comments(): Comment[] {\n return this._comments;\n }\n\n @Input() commentPlaceholder: string = 'Add your comments here...';\n private _mentionSuggestions: MentionUser[] = [];\n private _hashTagSuggestions: string[] = [];\n\n @Input()\n set mentionSuggestions(value: MentionUser[]) {\n this._mentionSuggestions = value || [];\n this.recomputeGroups();\n }\n\n get mentionSuggestions(): MentionUser[] {\n return this._mentionSuggestions;\n }\n\n @Input()\n set hashTagSuggestions(value: string[]) {\n this._hashTagSuggestions = value || [];\n this.recomputeGroups();\n }\n\n get hashTagSuggestions(): string[] {\n return this._hashTagSuggestions;\n }\n\n @Input() acceptedFiles: string[] = [];\n\n get acceptFileTypes(): string {\n if (!this.acceptedFiles || this.acceptedFiles.length === 0) return '';\n return this.acceptedFiles.map((type) => (type.startsWith('.') ? type : `.${type}`)).join(',');\n }\n\n @Output() onSendComment = new EventEmitter<{ message: string; attachments: File[] }>();\n @Output() onFileSelect = new EventEmitter<File[]>();\n @Output() onDownloadFile = new EventEmitter<any>();\n @ViewChild('editor') editor!: any;\n\n private recomputeGroups(): void {\n const groups = this._comments.reduce((acc: GroupedComments[], comment) => {\n const date = new Date(comment.timestamp);\n const dateOnly = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n let group = acc.find((g) => g.date.getTime() === dateOnly.getTime());\n if (!group) {\n group = { date: dateOnly, comments: [] };\n acc.push(group);\n }\n group.comments.push(comment);\n return acc;\n }, []);\n\n groups.sort((a, b) => a.date.getTime() - b.date.getTime());\n\n groups.forEach((group) => {\n group.comments.forEach((comment) => {\n comment.message = this.enrichMessage(comment.message);\n });\n group.comments.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());\n });\n\n this.groupedComments = groups;\n }\n\n private enrichMessage(message: string): string {\n if (!message) return '';\n let processedMessage = message;\n\n // Replace empty paragraphs with line breaks for cleaner spacing\n processedMessage = processedMessage.replace(/<p><br><\\/p>/g, '<br/>');\n processedMessage = processedMessage.replace(/<p><\\/p>/g, '<br/>');\n processedMessage = processedMessage.replace(/<p> <\\/p>/g, '<br/>');\n\n // Extract and validate mentions\n this._mentionSuggestions.forEach((suggestion) => {\n const username = suggestion.userName;\n // Only wrap if not already wrapped in the mention span\n // This regex checks for @username NOT preceded by the mention span start tag\n const regex = new RegExp(`(?<!class=\"cax-comment-mention\">)@${username}\\\\b`, 'g');\n processedMessage = processedMessage.replace(regex, `<span class=\"cax-comment-mention\">@${username}</span>`);\n });\n\n // Extract and validate hashtags\n this._hashTagSuggestions.forEach((tag) => {\n // Only wrap if not already wrapped in the hashtag span\n const regex = new RegExp(`(?<!class=\"cax-comment-hashtag\">)#${tag}\\\\b`, 'g');\n processedMessage = processedMessage.replace(regex, `<span class=\"cax-comment-hashtag\">#${tag}</span>`);\n });\n\n // Trim trailing empty paragraphs or line breaks\n processedMessage = processedMessage.replace(/(<p><br><\\/p>|<p><\\/p>|<br\\s*\\/?>)+$/, '');\n\n return processedMessage;\n }\n\n getInitials(author?: { firstName: string; lastName: string }): string {\n if (!author) return '?';\n return ((author.firstName?.[0] || '') + (author.lastName?.[0] || '')).toUpperCase();\n }\n\n isLastInGroup(groupComments: Comment[], index: number): boolean {\n const current = groupComments[index];\n const next = groupComments[index + 1];\n\n if (current.currentUser) return false;\n if (!next) return true;\n\n const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;\n const nextAuthor = `${next.author?.firstName} ${next.author?.lastName}`;\n\n return next.currentUser || currentAuthor !== nextAuthor;\n }\n\n isConsecutive(groupComments: Comment[], index: number): boolean {\n if (index === 0) return false;\n const current = groupComments[index];\n const prev = groupComments[index - 1];\n\n const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;\n const prevAuthor = `${prev.author?.firstName} ${prev.author?.lastName}`;\n\n return current.currentUser === prev.currentUser && currentAuthor === prevAuthor;\n }\n\n toggleRichText(): void {\n this.isRichText = !this.isRichText;\n }\n\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n this.attachedFiles.push(...Array.from(input.files));\n this.onFileSelect.emit(this.attachedFiles);\n }\n if (input) {\n input.value = '';\n }\n }\n\n removeAttachedFile(index: number): void {\n this.attachedFiles.splice(index, 1);\n this.onFileSelect.emit(this.attachedFiles);\n }\n\n onSendMessage(): void {\n if (this.commentValue || this.attachedFiles.length > 0) {\n const processedMessage = this.enrichMessage(this.commentValue);\n\n this.onSendComment.emit({\n message: processedMessage,\n attachments: [...this.attachedFiles]\n });\n\n this.commentValue = '';\n this.attachedFiles = [];\n this.hideSuggestions();\n this.scrollToBottom();\n }\n }\n\n onDownload(file: any): void {\n this.onDownloadFile.emit(file);\n }\n\n // Suggestion implementation\n private showSuggestions(type: '@' | '#', index: number, bounds?: any): void {\n this.suggestionType = type;\n this.triggerIndex = index;\n this.lastBounds = bounds;\n this.filterSuggestions('');\n\n const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');\n if (!target) return;\n\n this.suggestionOverlay.show(null, target);\n this.updateOverlayPosition();\n }\n\n private updateOverlayPosition(): void {\n setTimeout(() => {\n const panel = (this.suggestionOverlay as any).container;\n const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');\n if (panel && this.lastBounds && target) {\n const panelHeight = panel.offsetHeight;\n const rect = target.getBoundingClientRect();\n\n panel.style.position = 'fixed';\n panel.style.zIndex = '9999';\n panel.style.left = `${rect.left + this.lastBounds.left}px`;\n panel.style.top = `${rect.top + this.lastBounds.top - panelHeight - 10}px`;\n this.cdr.detectChanges();\n }\n }, 0);\n }\n\n hideSuggestions(): void {\n if (this.suggestionType === null) return;\n this.suggestionOverlay?.hide();\n this.suggestionType = null;\n this.filteredSuggestions = [];\n this.triggerIndex = -1;\n this.cdr.detectChanges();\n }\n\n onEditorTextChange(event: any): void {\n const quill = this.editor.getQuill();\n if (!quill) return;\n\n // 20ms delay to ensure Quill and DOM are synchronized\n setTimeout(() => {\n const range = quill.getSelection();\n if (!range) return;\n\n const text = quill.getText(0, range.index);\n const token = this.getTokenAtCursor(text, range.index);\n\n if (token) {\n const type = token.charAt(0) as '@' | '#';\n const hasSuggestions = type === '@' ? this.mentionSuggestions?.length > 0 : this.hashTagSuggestions?.length > 0;\n\n if (hasSuggestions) {\n // If trigger type changed while open, reset first\n if (this.suggestionType && this.suggestionType !== type) {\n this.hideSuggestions();\n }\n\n if (!this.suggestionType) {\n const bounds = quill.getBounds(range.index);\n this.showSuggestions(type, range.index, bounds);\n } else {\n this.filterSuggestions(token.slice(1));\n this.updateOverlayPosition();\n }\n } else if (this.suggestionType) {\n this.hideSuggestions();\n }\n } else if (this.suggestionType) {\n this.hideSuggestions();\n }\n }, 20);\n }\n\n private filterSuggestions(searchTerm: string): void {\n const term = searchTerm.toLowerCase();\n\n // Fast-path: if search term is empty, just return the full list\n if (term === '') {\n this.filteredSuggestions = this.suggestionType === '@' ? [...this._mentionSuggestions] : [...this._hashTagSuggestions];\n } else if (this.suggestionType === '@') {\n this.filteredSuggestions = this._mentionSuggestions.filter((s) => s.firstName.toLowerCase().includes(term) || s.lastName.toLowerCase().includes(term) || s.userName.toLowerCase().includes(term));\n } else {\n this.filteredSuggestions = this._hashTagSuggestions.filter((s) => s.toLowerCase().includes(term));\n }\n\n if (this.filteredSuggestions.length === 0 && searchTerm !== '') {\n this.hideSuggestions();\n }\n\n this.cdr.detectChanges();\n }\n\n onSuggestionSelect(item: any): void {\n const selectedValue = this.suggestionType === '@' ? `@${item.userName}` : `#${item}`;\n\n const quill = (this.editor as any).getQuill();\n const range = quill.getSelection();\n if (range) {\n const textBefore = quill.getText(0, range.index);\n const token = this.getTokenAtCursor(textBefore, range.index);\n const start = range.index - (token ? token.length : 0);\n quill.deleteText(start, token ? token.length : 0);\n quill.insertText(start, selectedValue + ' ');\n quill.setSelection(start + selectedValue.length + 1);\n quill.focus();\n }\n\n this.hideSuggestions();\n }\n\n private getTokenAtCursor(text: string, cursorPos: number): string | null {\n const beforeCursor = text.slice(0, cursorPos);\n const match = beforeCursor.match(/[@#][^\\s]*$/);\n return match ? match[0] : null;\n }\n\n onEditorKeyDown(event: KeyboardEvent): void {\n if (!this.isRichText && event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n this.onSendMessage();\n }\n }\n\n formatBytes(bytes: number, decimals: number = 2): string {\n if (!+bytes) return '0 Bytes';\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n }\n\n private scrollToBottom(): void {\n setTimeout(() => {\n if (this.scrollContainer) {\n const element = this.scrollContainer.nativeElement;\n element.scrollTop = element.scrollHeight;\n this.cdr.detectChanges();\n }\n }, 100);\n }\n\n private setupVisibilityObserver(): void {\n if (typeof IntersectionObserver !== 'undefined' && this.scrollContainer) {\n this.visibilityObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.scrollToBottom();\n }\n });\n });\n this.visibilityObserver.observe(this.scrollContainer.nativeElement);\n }\n }\n}\n","<div class=\"cax-comments\">\n <div class=\"cax-comments-container\" #scrollContainer>\n <div class=\"cax-comments-empty\" *ngIf=\"groupedComments.length === 0\">\n <i class=\"cax cax-chat-line-bold\"></i>\n <div>\n <span class=\"cax-text-action-md-medium\">No comments yet</span>\n <span class=\"cax-text-action-sm-regular\">You can post a comment here to start the conversation. All feedback and discussions will appear here.</span>\n </div>\n </div>\n <div class=\"cax-comments-group\" *ngFor=\"let group of groupedComments\">\n <div class=\"cax-comments-date\">\n <span class=\"cax-text-action-xsm-semibold\">{{ group.date | date: 'MMM d, y' }}</span>\n </div>\n <div class=\"cax-comment-row\" *ngFor=\"let comment of group.comments; let i = index\" [class.current-user]=\"comment.currentUser\" [class.consecutive]=\"isConsecutive(group.comments, i)\">\n <div class=\"cax-avatar-container\" *ngIf=\"!comment.currentUser\">\n <cax-avatar *ngIf=\"isLastInGroup(group.comments, i); else avatarSpacer\" [label]=\"getInitials(comment.author)\" shape=\"square\" avatarSize=\"sm\"></cax-avatar>\n <ng-template #avatarSpacer>\n <div class=\"avatar-spacer\"></div>\n </ng-template>\n </div>\n <div class=\"cax-comment-bubble\">\n <div class=\"cax-comment-message-container\">\n <span class=\"cax-comment-username cax-text-body-sm-semibold\" *ngIf=\"!comment.currentUser\">{{ comment.author?.firstName }} {{ comment.author?.lastName }}</span>\n <div class=\"cax-comment-attachments\" *ngIf=\"comment.attachments?.length\">\n <div *ngFor=\"let file of comment.attachments\" class=\"cax-comment-file-preview\">\n <span class=\"cax-comment-file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <span class=\"cax-comment-file-size cax-text-action-sm-medium\">{{ formatBytes(file.size) }}</span>\n <span class=\"cax cax-download cax-comment-file-download\" (click)=\"onDownload(file)\"></span>\n </div>\n </div>\n <span class=\"cax-comment-message cax-text-body-md-regular\" [innerHTML]=\"comment.message\"></span>\n <span class=\"cax-comment-time cax-text-action-sm-medium\">{{ comment.timestamp | date: 'shortTime' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar\">\n <div class=\"cax-comment-input-wrapper\" [class.toolbar-hidden]=\"!isRichText\" (keydown)=\"onEditorKeyDown($event)\">\n <cax-editor #editor [placeholder]=\"commentPlaceholder\" [style]=\"{ maxHeight: '300px' }\" [(ngModel)]=\"commentValue\" (onTextChange)=\"onEditorTextChange($event)\">\n <ng-template caxTemplate=\"header\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" aria-label=\"Bullet List\"></button>\n <button type=\"button\" class=\"ql-link\" aria-label=\"Insert Link\"></button>\n <button type=\"button\" class=\"ql-image\" aria-label=\"Insert Image\"></button>\n <button type=\"button\" class=\"ql-code-block\" aria-label=\"Code Block\"></button>\n </span>\n </ng-template>\n </cax-editor>\n <div class=\"cax-comment-input-footer\">\n <div class=\"cax-comment-attached-files\">\n <div class=\"cax-comment-attached-file\" *ngFor=\"let file of attachedFiles; let i = index\">\n <span class=\"file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <i class=\"cax cax-close\" (click)=\"removeAttachedFile(i)\"></i>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <div (click)=\"toggleRichText()\" [class.active]=\"isRichText\">\n <i class=\"cax cax-text-icon\"></i>\n </div>\n <div (click)=\"fileInput.click()\">\n <i class=\"cax cax-paperclip\"></i>\n <input type=\"file\" #fileInput [accept]=\"acceptFileTypes\" style=\"display: none\" (change)=\"onFileSelected($event)\" multiple />\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <cax-button [icon]=\"'cax cax-plain'\" [rounded]=\"true\" [size]=\"'lg'\" [disabled]=\"!commentValue && attachedFiles.length === 0\" (click)=\"onSendMessage()\"></cax-button>\n </div>\n </div>\n\n <cax-overlayPanel styleClass=\"cax-comments-suggestion-overlay\" #suggestionOverlay [style]=\"{ width: '250px', 'max-height': '300px' }\" (onHide)=\"hideSuggestions()\">\n <div class=\"cax-comments-suggestion-list\">\n <div class=\"cax-comments-suggestion-item\" *ngFor=\"let item of filteredSuggestions\" (mousedown)=\"$event.preventDefault(); onSuggestionSelect(item)\">\n <ng-container *ngIf=\"suggestionType === '@'\">\n <cax-avatar [label]=\"getInitials(item)\" shape=\"circle\" avatarSize=\"sm\"></cax-avatar>\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item.firstName }} {{ item.lastName }}</span>\n <span class=\"cax-comments-suggestion-subtext\">@{{ item.userName }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"suggestionType === '#'\">\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item }}</span>\n </div>\n </ng-container>\n </div>\n </div>\n </cax-overlayPanel>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommentsComponent } from './comments';\n\n@NgModule({\n imports: [CommentsComponent],\n exports: [CommentsComponent]\n})\nexport class CommentsModule {}\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-comments.mjs","sources":["../../src/app/components/comments/comments.ts","../../src/app/components/comments/comments.html","../../src/app/components/comments/comments.module.ts","../../src/app/components/comments/cax-design-system-comments.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild, ElementRef, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Avatar } from 'cax-design-system/avatar';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { EditorModule } from 'cax-design-system/editor';\nimport { OverlayPanelModule, OverlayPanel } from 'cax-design-system/overlaypanel';\nimport { ListboxModule } from 'cax-design-system/listbox';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ChipModule } from 'cax-design-system/chip';\n\ninterface MentionUser {\n firstName: string;\n lastName: string;\n userName: string;\n}\n\ninterface Comment {\n message: string;\n timestamp: string;\n currentUser?: boolean;\n author?: MentionUser;\n attachments?: File[];\n}\n\ninterface GroupedComments {\n date: Date;\n comments: Comment[];\n}\n\n@Component({\n selector: 'cax-comments',\n templateUrl: './comments.html',\n styleUrls: ['./comments.scss'],\n standalone: true,\n imports: [CommonModule, Avatar, ButtonModule, EditorModule, FormsModule, OverlayPanelModule, ListboxModule, SharedModule, ChipModule]\n})\nexport class CommentsComponent implements AfterViewInit, OnDestroy {\n @ViewChild('scrollContainer') private scrollContainer!: ElementRef;\n @ViewChild('suggestionOverlay') suggestionOverlay!: OverlayPanel;\n private visibilityObserver?: IntersectionObserver;\n\n private _comments: Comment[] = [];\n groupedComments: GroupedComments[] = [];\n isRichText: boolean = false;\n commentValue: string = '';\n\n // Suggestion state\n isSuggestionVisible: boolean = false;\n suggestionType: '@' | '#' | null = null;\n filteredSuggestions: any[] = [];\n triggerIndex: number = -1;\n attachedFiles: File[] = [];\n private lastBounds: any = null;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.scrollToBottom();\n this.setupVisibilityObserver();\n }\n\n ngOnDestroy(): void {\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n }\n }\n\n @Input()\n set comments(value: Comment[]) {\n this._comments = value || [];\n this.recomputeGroups();\n this.scrollToBottom();\n }\n\n get comments(): Comment[] {\n return this._comments;\n }\n\n @Input() commentPlaceholder: string = 'Add your comments here...';\n private _mentionSuggestions: MentionUser[] = [];\n private _hashTagSuggestions: string[] = [];\n\n @Input()\n set mentionSuggestions(value: MentionUser[]) {\n this._mentionSuggestions = value || [];\n this.recomputeGroups();\n }\n\n get mentionSuggestions(): MentionUser[] {\n return this._mentionSuggestions;\n }\n\n @Input()\n set hashTagSuggestions(value: string[]) {\n this._hashTagSuggestions = value || [];\n this.recomputeGroups();\n }\n\n get hashTagSuggestions(): string[] {\n return this._hashTagSuggestions;\n }\n\n @Input() acceptedFiles: string[] = [];\n\n get acceptFileTypes(): string {\n if (!this.acceptedFiles || this.acceptedFiles.length === 0) return '';\n return this.acceptedFiles.map((type) => (type.startsWith('.') ? type : `.${type}`)).join(',');\n }\n\n @Output() onSendComment = new EventEmitter<{ message: string; attachments: File[] }>();\n @Output() onFileSelect = new EventEmitter<File[]>();\n @Output() onDownloadFile = new EventEmitter<any>();\n @ViewChild('editor') editor!: any;\n\n private recomputeGroups(): void {\n const groups = this._comments.reduce((acc: GroupedComments[], comment) => {\n const date = new Date(comment.timestamp);\n const dateOnly = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n let group = acc.find((g) => g.date.getTime() === dateOnly.getTime());\n if (!group) {\n group = { date: dateOnly, comments: [] };\n acc.push(group);\n }\n group.comments.push(comment);\n return acc;\n }, []);\n\n groups.sort((a, b) => a.date.getTime() - b.date.getTime());\n\n groups.forEach((group) => {\n group.comments.forEach((comment) => {\n comment.message = this.enrichMessage(comment.message);\n });\n group.comments.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());\n });\n\n this.groupedComments = groups;\n }\n\n private enrichMessage(message: string): string {\n if (!message) return '';\n let processedMessage = message;\n\n // Replace empty paragraphs with line breaks for cleaner spacing\n processedMessage = processedMessage.replace(/<p><br><\\/p>/g, '<br/>');\n processedMessage = processedMessage.replace(/<p><\\/p>/g, '<br/>');\n processedMessage = processedMessage.replace(/<p> <\\/p>/g, '<br/>');\n\n // Extract and validate mentions\n this._mentionSuggestions?.forEach((suggestion) => {\n const username = suggestion.userName;\n // Only wrap if not already wrapped in the mention span\n // This regex checks for @username NOT preceded by the mention span start tag\n const regex = new RegExp(`(?<!class=\"cax-comment-mention\">)@${username}\\\\b`, 'g');\n processedMessage = processedMessage.replace(regex, `<span class=\"cax-comment-mention\">@${username}</span>`);\n });\n\n // Extract and validate hashtags\n this._hashTagSuggestions?.forEach((tag) => {\n // Only wrap if not already wrapped in the hashtag span\n const regex = new RegExp(`(?<!class=\"cax-comment-hashtag\">)#${tag}\\\\b`, 'g');\n processedMessage = processedMessage.replace(regex, `<span class=\"cax-comment-hashtag\">#${tag}</span>`);\n });\n\n // Trim trailing empty paragraphs or line breaks\n processedMessage = processedMessage.replace(/(<p><br><\\/p>|<p><\\/p>|<br\\s*\\/?>)+$/, '');\n\n return processedMessage;\n }\n\n getInitials(author?: { firstName: string; lastName: string }): string {\n if (!author) return '?';\n return ((author.firstName?.[0] || '') + (author.lastName?.[0] || '')).toUpperCase();\n }\n\n isLastInGroup(groupComments: Comment[], index: number): boolean {\n const current = groupComments[index];\n const next = groupComments[index + 1];\n\n if (current.currentUser) return false;\n if (!next) return true;\n\n const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;\n const nextAuthor = `${next.author?.firstName} ${next.author?.lastName}`;\n\n return next.currentUser || currentAuthor !== nextAuthor;\n }\n\n isConsecutive(groupComments: Comment[], index: number): boolean {\n if (index === 0) return false;\n const current = groupComments[index];\n const prev = groupComments[index - 1];\n\n const currentAuthor = `${current.author?.firstName} ${current.author?.lastName}`;\n const prevAuthor = `${prev.author?.firstName} ${prev.author?.lastName}`;\n\n return current.currentUser === prev.currentUser && currentAuthor === prevAuthor;\n }\n\n toggleRichText(): void {\n this.isRichText = !this.isRichText;\n }\n\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n this.attachedFiles.push(...Array.from(input.files));\n this.onFileSelect.emit(this.attachedFiles);\n }\n if (input) {\n input.value = '';\n }\n }\n\n removeAttachedFile(index: number): void {\n this.attachedFiles.splice(index, 1);\n this.onFileSelect.emit(this.attachedFiles);\n }\n\n onSendMessage(): void {\n if (this.commentValue || this.attachedFiles.length > 0) {\n const processedMessage = this.enrichMessage(this.commentValue);\n\n this.onSendComment.emit({\n message: processedMessage,\n attachments: [...this.attachedFiles]\n });\n\n this.commentValue = '';\n this.attachedFiles = [];\n this.hideSuggestions();\n this.scrollToBottom();\n }\n }\n\n onDownload(file: any): void {\n this.onDownloadFile.emit(file);\n }\n\n // Suggestion implementation\n private showSuggestions(type: '@' | '#', index: number, bounds?: any): void {\n this.suggestionType = type;\n this.triggerIndex = index;\n this.lastBounds = bounds;\n this.filterSuggestions('');\n\n const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');\n if (!target) return;\n\n this.suggestionOverlay.show(null, target);\n this.updateOverlayPosition();\n }\n\n private updateOverlayPosition(): void {\n setTimeout(() => {\n const panel = (this.suggestionOverlay as any).container;\n const target = this.editor?.el.nativeElement.querySelector('.cax-editor-content');\n if (panel && this.lastBounds && target) {\n const panelHeight = panel.offsetHeight;\n const rect = target.getBoundingClientRect();\n\n panel.style.position = 'fixed';\n panel.style.zIndex = '9999';\n panel.style.left = `${rect.left + this.lastBounds.left}px`;\n panel.style.top = `${rect.top + this.lastBounds.top - panelHeight - 10}px`;\n this.cdr.detectChanges();\n }\n }, 0);\n }\n\n hideSuggestions(): void {\n if (this.suggestionType === null) return;\n this.suggestionOverlay?.hide();\n this.suggestionType = null;\n this.filteredSuggestions = [];\n this.triggerIndex = -1;\n this.cdr.detectChanges();\n }\n\n onEditorTextChange(event: any): void {\n const quill = this.editor.getQuill();\n if (!quill) return;\n\n // 20ms delay to ensure Quill and DOM are synchronized\n setTimeout(() => {\n const range = quill.getSelection();\n if (!range) return;\n\n const text = quill.getText(0, range.index);\n const token = this.getTokenAtCursor(text, range.index);\n\n if (token) {\n const type = token.charAt(0) as '@' | '#';\n const hasSuggestions = type === '@' ? this.mentionSuggestions?.length > 0 : this.hashTagSuggestions?.length > 0;\n\n if (hasSuggestions) {\n // If trigger type changed while open, reset first\n if (this.suggestionType && this.suggestionType !== type) {\n this.hideSuggestions();\n }\n\n if (!this.suggestionType) {\n const bounds = quill.getBounds(range.index);\n this.showSuggestions(type, range.index, bounds);\n } else {\n this.filterSuggestions(token.slice(1));\n this.updateOverlayPosition();\n }\n } else if (this.suggestionType) {\n this.hideSuggestions();\n }\n } else if (this.suggestionType) {\n this.hideSuggestions();\n }\n }, 20);\n }\n\n private filterSuggestions(searchTerm: string): void {\n const term = searchTerm.toLowerCase();\n\n // Fast-path: if search term is empty, just return the full list\n if (term === '') {\n this.filteredSuggestions = this.suggestionType === '@' ? [...this._mentionSuggestions] : [...this._hashTagSuggestions];\n } else if (this.suggestionType === '@') {\n this.filteredSuggestions = this._mentionSuggestions?.filter((s) => s.firstName.toLowerCase().includes(term) || s.lastName.toLowerCase().includes(term) || s.userName.toLowerCase().includes(term));\n } else {\n this.filteredSuggestions = this._hashTagSuggestions?.filter((s) => s.toLowerCase().includes(term));\n }\n\n if (this.filteredSuggestions.length === 0 && searchTerm !== '') {\n this.hideSuggestions();\n }\n\n this.cdr.detectChanges();\n }\n\n onSuggestionSelect(item: any): void {\n const selectedValue = this.suggestionType === '@' ? `@${item.userName}` : `#${item}`;\n\n const quill = (this.editor as any).getQuill();\n const range = quill.getSelection();\n if (range) {\n const textBefore = quill.getText(0, range.index);\n const token = this.getTokenAtCursor(textBefore, range.index);\n const start = range.index - (token ? token.length : 0);\n quill.deleteText(start, token ? token.length : 0);\n quill.insertText(start, selectedValue + ' ');\n quill.setSelection(start + selectedValue.length + 1);\n quill.focus();\n }\n\n this.hideSuggestions();\n }\n\n private getTokenAtCursor(text: string, cursorPos: number): string | null {\n const beforeCursor = text.slice(0, cursorPos);\n const match = beforeCursor.match(/[@#][^\\s]*$/);\n return match ? match[0] : null;\n }\n\n onEditorKeyDown(event: KeyboardEvent): void {\n if (!this.isRichText && event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n event.stopPropagation();\n this.onSendMessage();\n }\n }\n\n formatBytes(bytes: number, decimals: number = 2): string {\n if (!+bytes) return '0 Bytes';\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n }\n\n private scrollToBottom(): void {\n setTimeout(() => {\n if (this.scrollContainer) {\n const element = this.scrollContainer.nativeElement;\n element.scrollTop = element.scrollHeight;\n this.cdr.detectChanges();\n }\n }, 100);\n }\n\n private setupVisibilityObserver(): void {\n if (typeof IntersectionObserver !== 'undefined' && this.scrollContainer) {\n this.visibilityObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.scrollToBottom();\n }\n });\n });\n this.visibilityObserver.observe(this.scrollContainer.nativeElement);\n }\n }\n}\n","<div class=\"cax-comments\">\n <div class=\"cax-comments-container\" #scrollContainer>\n <div class=\"cax-comments-empty\" *ngIf=\"groupedComments.length === 0\">\n <i class=\"cax cax-chat-line-bold\"></i>\n <div>\n <span class=\"cax-text-action-md-medium\">No comments yet</span>\n <span class=\"cax-text-action-sm-regular\">You can post a comment here to start the conversation. All feedback and discussions will appear here.</span>\n </div>\n </div>\n <div class=\"cax-comments-group\" *ngFor=\"let group of groupedComments\">\n <div class=\"cax-comments-date\">\n <span class=\"cax-text-action-xsm-semibold\">{{ group.date | date: 'MMM d, y' }}</span>\n </div>\n <div class=\"cax-comment-row\" *ngFor=\"let comment of group.comments; let i = index\" [class.current-user]=\"comment.currentUser\" [class.consecutive]=\"isConsecutive(group.comments, i)\">\n <div class=\"cax-avatar-container\" *ngIf=\"!comment.currentUser\">\n <cax-avatar *ngIf=\"isLastInGroup(group.comments, i); else avatarSpacer\" [label]=\"getInitials(comment.author)\" shape=\"square\" avatarSize=\"sm\"></cax-avatar>\n <ng-template #avatarSpacer>\n <div class=\"avatar-spacer\"></div>\n </ng-template>\n </div>\n <div class=\"cax-comment-bubble\">\n <div class=\"cax-comment-message-container\">\n <span class=\"cax-comment-username cax-text-body-sm-semibold\" *ngIf=\"!comment.currentUser\">{{ comment.author?.firstName }} {{ comment.author?.lastName }}</span>\n <div class=\"cax-comment-attachments\" *ngIf=\"comment.attachments?.length\">\n <div *ngFor=\"let file of comment.attachments\" class=\"cax-comment-file-preview\">\n <span class=\"cax-comment-file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <span class=\"cax-comment-file-size cax-text-action-sm-medium\">{{ formatBytes(file.size) }}</span>\n <span class=\"cax cax-download cax-comment-file-download\" (click)=\"onDownload(file)\"></span>\n </div>\n </div>\n <span class=\"cax-comment-message cax-text-body-md-regular\" [innerHTML]=\"comment.message\"></span>\n <span class=\"cax-comment-time cax-text-action-sm-medium\">{{ comment.timestamp | date: 'shortTime' }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar\">\n <div class=\"cax-comment-input-wrapper\" [class.toolbar-hidden]=\"!isRichText\" (keydown)=\"onEditorKeyDown($event)\">\n <cax-editor #editor [placeholder]=\"commentPlaceholder\" [style]=\"{ maxHeight: '300px' }\" [(ngModel)]=\"commentValue\" (onTextChange)=\"onEditorTextChange($event)\">\n <ng-template caxTemplate=\"header\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" aria-label=\"Bullet List\"></button>\n <button type=\"button\" class=\"ql-link\" aria-label=\"Insert Link\"></button>\n <button type=\"button\" class=\"ql-image\" aria-label=\"Insert Image\"></button>\n <button type=\"button\" class=\"ql-code-block\" aria-label=\"Code Block\"></button>\n </span>\n </ng-template>\n </cax-editor>\n <div class=\"cax-comment-input-footer\">\n <div class=\"cax-comment-attached-files\">\n <div class=\"cax-comment-attached-file\" *ngFor=\"let file of attachedFiles; let i = index\">\n <span class=\"file-name cax-text-action-md-medium\">{{ file.name }}</span>\n <i class=\"cax cax-close\" (click)=\"removeAttachedFile(i)\"></i>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <div (click)=\"toggleRichText()\" [class.active]=\"isRichText\">\n <i class=\"cax cax-text-icon\"></i>\n </div>\n <div (click)=\"fileInput.click()\">\n <i class=\"cax cax-paperclip\"></i>\n <input type=\"file\" #fileInput [accept]=\"acceptFileTypes\" style=\"display: none\" (change)=\"onFileSelected($event)\" multiple />\n </div>\n </div>\n </div>\n </div>\n <div class=\"cax-comment-bar-actions\">\n <cax-button [icon]=\"'cax cax-plain'\" [rounded]=\"true\" [size]=\"'lg'\" [disabled]=\"!commentValue && attachedFiles.length === 0\" (click)=\"onSendMessage()\"></cax-button>\n </div>\n </div>\n\n <cax-overlayPanel styleClass=\"cax-comments-suggestion-overlay\" #suggestionOverlay [style]=\"{ width: '250px', 'max-height': '300px' }\" (onHide)=\"hideSuggestions()\">\n <div class=\"cax-comments-suggestion-list\">\n <div class=\"cax-comments-suggestion-item\" *ngFor=\"let item of filteredSuggestions\" (mousedown)=\"$event.preventDefault(); onSuggestionSelect(item)\">\n <ng-container *ngIf=\"suggestionType === '@'\">\n <cax-avatar [label]=\"getInitials(item)\" shape=\"circle\" avatarSize=\"sm\"></cax-avatar>\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item.firstName }} {{ item.lastName }}</span>\n <span class=\"cax-comments-suggestion-subtext\">@{{ item.userName }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"suggestionType === '#'\">\n <div class=\"cax-comments-suggestion-info\">\n <span class=\"cax-comments-suggestion-label\">{{ item }}</span>\n </div>\n </ng-container>\n </div>\n </div>\n </cax-overlayPanel>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommentsComponent } from './comments';\n\n@NgModule({\n imports: [CommentsComponent],\n exports: [CommentsComponent]\n})\nexport class CommentsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ class ComparecardComponent {
|
|
|
24
24
|
closeClick = new EventEmitter();
|
|
25
25
|
addToCartClick = new EventEmitter();
|
|
26
26
|
/** Internal style signal */
|
|
27
|
-
_style = signal(null);
|
|
27
|
+
_style = signal(null, ...(ngDevMode ? [{ debugName: "_style" }] : []));
|
|
28
28
|
set style(value) {
|
|
29
29
|
if (!ObjectUtils.equals(this._style(), value)) {
|
|
30
30
|
this._style.set(value);
|
|
@@ -80,10 +80,10 @@ class ComparecardComponent {
|
|
|
80
80
|
getBlockableElement() {
|
|
81
81
|
return this.el.nativeElement.children[0];
|
|
82
82
|
}
|
|
83
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
84
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ComparecardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ComparecardComponent, isStandalone: false, selector: "compare-card", inputs: { header: "header", subheader: "subheader", activeCard: "activeCard", imageUrl: "imageUrl", iconClass: "iconClass", styleClass: "styleClass", buttonseverity: "buttonseverity", closable: "closable", style: "style" }, outputs: { closeClick: "closeClick", addToCartClick: "addToCartClick" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div class=\"cax-compare-card\" [ngClass]=\"{ active: activeCard }\" [ngStyle]=\"_style()\">\n <!-- Image Section -->\n <div class=\"image-container\">\n <img [src]=\"imageUrl\" alt=\"Card image\" class=\"cax-compare-card-img\" width=\"100%\" height=\"176px\" />\n <i *ngIf=\"closable\" class=\"cax cax-close cax-close-icon\" (click)=\"onCloseClick()\"> </i>\n </div>\n <!-- Content -->\n <div class=\"cax-card-content\">\n <h3 class=\"cax-card-title\">{{ header }}</h3>\n <ng-container *ngIf=\"contentTemplate; else defaultContent\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultContent></ng-template>\n </div>\n <cax-button [leftIcon]=\"'cax cax-cart-large-minimalistic'\" [label]=\"'Add to Cart'\" [severity]=\"buttonseverity\" [style]=\"{ width: '100%' }\" (click)=\"onAddToCartClick()\"></cax-button>\n</div>\n", styles: ["@layer cax{.cax-compare-card{width:250px;border-radius:16px;padding:16px;overflow:hidden;position:relative}.cax-compare-card .cax-card-content .cax-card-title{font-size:14px;font-weight:600;color:#222;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.cax-compare-card .image-container{position:relative;width:100%;height:176px;overflow:hidden}.cax-compare-card .cax-compare-card-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}.cax-compare-card .cax-close-icon{position:absolute;width:32px;height:32px;top:8px;right:8px;font-size:20px;border-radius:50%;padding:7px}}\n"], dependencies: [{ kind: "component", type: i1.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ComparecardComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: 'compare-card', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, host: {
|
|
89
89
|
class: 'cax-element'
|
|
@@ -122,11 +122,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
122
122
|
}] } });
|
|
123
123
|
|
|
124
124
|
class CompareCardModule {
|
|
125
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
126
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
127
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CompareCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
126
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: CompareCardModule, declarations: [ComparecardComponent], imports: [Button, CommonModule, SharedModule, ButtonModule, BadgeModule], exports: [ComparecardComponent, SharedModule] });
|
|
127
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CompareCardModule, imports: [Button, CommonModule, SharedModule, ButtonModule, BadgeModule, SharedModule] });
|
|
128
128
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CompareCardModule, decorators: [{
|
|
130
130
|
type: NgModule,
|
|
131
131
|
args: [{
|
|
132
132
|
imports: [Button, CommonModule, SharedModule, ButtonModule, BadgeModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-comparecard.mjs","sources":["../../src/app/components/comparecard/comparecard.component.ts","../../src/app/components/comparecard/comparecard.component.html","../../src/app/components/comparecard/comaparecard.module.ts","../../src/app/components/comparecard/cax-design-system-comparecard.ts"],"sourcesContent":["import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, TemplateRef, ViewEncapsulation, signal } from '@angular/core';\nimport { BlockableUI, Footer, Header, CaxTemplate } from 'cax-design-system/api';\nimport { ObjectUtils } from 'cax-design-system/utils';\n\n@Component({\n selector: 'compare-card',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './comparecard.component.html',\n styleUrl: './comparecard.component.scss',\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class ComparecardComponent implements AfterContentInit {\n /** Inputs */\n @Input() header: string | undefined;\n @Input() subheader: string | undefined;\n @Input() activeCard: boolean;\n @Input() imageUrl: string;\n @Input() iconClass!: string;\n @Input() styleClass: string | undefined;\n @Input() buttonseverity: 'success' | 'warning' | 'danger' | 'primary' | 'secondary' | null | undefined;\n @Input() closable: boolean = true;\n isVisible: boolean = true;\n\n /** Outputs */\n @Output() closeClick = new EventEmitter<void>();\n @Output() addToCartClick = new EventEmitter<void>();\n\n /** Internal style signal */\n _style = signal<{ [klass: string]: any } | null | undefined>(null);\n\n @Input() set style(value: { [klass: string]: any } | null | undefined) {\n if (!ObjectUtils.equals(this._style(), value)) {\n this._style.set(value);\n }\n }\n\n /** Template management */\n @ContentChild(Header) headerFacet: TemplateRef<any> | undefined;\n @ContentChild(Footer) footerFacet: TemplateRef<any> | undefined;\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n titleTemplate: TemplateRef<any> | undefined;\n subtitleTemplate: TemplateRef<any> | undefined;\n contentTemplate: TemplateRef<any> | undefined;\n footerTemplate: TemplateRef<any> | undefined;\n\n constructor(private el: ElementRef) {}\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 'title':\n this.titleTemplate = item.template;\n break;\n case 'subtitle':\n this.subtitleTemplate = item.template;\n break;\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n /** Emits event when close icon is clicked */\n onCloseClick(): void {\n if (this.closable) {\n this.isVisible = false;\n this.closeClick.emit();\n }\n }\n\n /** Emits event when Add to Cart is clicked */\n onAddToCartClick(): void {\n this.addToCartClick.emit();\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n}\n","<div class=\"cax-compare-card\" [ngClass]=\"{ active: activeCard }\" [ngStyle]=\"_style()\">\n <!-- Image Section -->\n <div class=\"image-container\">\n <img [src]=\"imageUrl\" alt=\"Card image\" class=\"cax-compare-card-img\" width=\"100%\" height=\"176px\" />\n <i *ngIf=\"closable\" class=\"cax cax-close cax-close-icon\" (click)=\"onCloseClick()\"> </i>\n </div>\n <!-- Content -->\n <div class=\"cax-card-content\">\n <h3 class=\"cax-card-title\">{{ header }}</h3>\n <ng-container *ngIf=\"contentTemplate; else defaultContent\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultContent></ng-template>\n </div>\n <cax-button [leftIcon]=\"'cax cax-cart-large-minimalistic'\" [label]=\"'Add to Cart'\" [severity]=\"buttonseverity\" [style]=\"{ width: '100%' }\" (click)=\"onAddToCartClick()\"></cax-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ComparecardComponent } from './comparecard.component';\nimport { Button, ButtonModule } from 'cax-design-system/button';\nimport { BadgeModule } from 'cax-design-system/badge';\n\n@NgModule({\n imports: [Button, CommonModule, SharedModule, ButtonModule, BadgeModule],\n declarations: [ComparecardComponent],\n exports: [ComparecardComponent, SharedModule]\n})\nexport class CompareCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;MAea,oBAAoB,CAAA;AAoCT,IAAA,EAAA;;AAlCX,IAAA,MAAM;AACN,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,QAAQ;AACR,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,cAAc;IACd,QAAQ,GAAY,IAAI;IACjC,SAAS,GAAY,IAAI;;AAGf,IAAA,UAAU,GAAG,IAAI,YAAY,EAAQ;AACrC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;;AAGnD,IAAA,MAAM,GAAG,MAAM,CAA8C,IAAI,
|
|
1
|
+
{"version":3,"file":"cax-design-system-comparecard.mjs","sources":["../../src/app/components/comparecard/comparecard.component.ts","../../src/app/components/comparecard/comparecard.component.html","../../src/app/components/comparecard/comaparecard.module.ts","../../src/app/components/comparecard/cax-design-system-comparecard.ts"],"sourcesContent":["import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, TemplateRef, ViewEncapsulation, signal } from '@angular/core';\nimport { BlockableUI, Footer, Header, CaxTemplate } from 'cax-design-system/api';\nimport { ObjectUtils } from 'cax-design-system/utils';\n\n@Component({\n selector: 'compare-card',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './comparecard.component.html',\n styleUrl: './comparecard.component.scss',\n standalone: false,\n host: {\n class: 'cax-element'\n }\n})\nexport class ComparecardComponent implements AfterContentInit {\n /** Inputs */\n @Input() header: string | undefined;\n @Input() subheader: string | undefined;\n @Input() activeCard: boolean;\n @Input() imageUrl: string;\n @Input() iconClass!: string;\n @Input() styleClass: string | undefined;\n @Input() buttonseverity: 'success' | 'warning' | 'danger' | 'primary' | 'secondary' | null | undefined;\n @Input() closable: boolean = true;\n isVisible: boolean = true;\n\n /** Outputs */\n @Output() closeClick = new EventEmitter<void>();\n @Output() addToCartClick = new EventEmitter<void>();\n\n /** Internal style signal */\n _style = signal<{ [klass: string]: any } | null | undefined>(null);\n\n @Input() set style(value: { [klass: string]: any } | null | undefined) {\n if (!ObjectUtils.equals(this._style(), value)) {\n this._style.set(value);\n }\n }\n\n /** Template management */\n @ContentChild(Header) headerFacet: TemplateRef<any> | undefined;\n @ContentChild(Footer) footerFacet: TemplateRef<any> | undefined;\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n titleTemplate: TemplateRef<any> | undefined;\n subtitleTemplate: TemplateRef<any> | undefined;\n contentTemplate: TemplateRef<any> | undefined;\n footerTemplate: TemplateRef<any> | undefined;\n\n constructor(private el: ElementRef) {}\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 'title':\n this.titleTemplate = item.template;\n break;\n case 'subtitle':\n this.subtitleTemplate = item.template;\n break;\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n /** Emits event when close icon is clicked */\n onCloseClick(): void {\n if (this.closable) {\n this.isVisible = false;\n this.closeClick.emit();\n }\n }\n\n /** Emits event when Add to Cart is clicked */\n onAddToCartClick(): void {\n this.addToCartClick.emit();\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n}\n","<div class=\"cax-compare-card\" [ngClass]=\"{ active: activeCard }\" [ngStyle]=\"_style()\">\n <!-- Image Section -->\n <div class=\"image-container\">\n <img [src]=\"imageUrl\" alt=\"Card image\" class=\"cax-compare-card-img\" width=\"100%\" height=\"176px\" />\n <i *ngIf=\"closable\" class=\"cax cax-close cax-close-icon\" (click)=\"onCloseClick()\"> </i>\n </div>\n <!-- Content -->\n <div class=\"cax-card-content\">\n <h3 class=\"cax-card-title\">{{ header }}</h3>\n <ng-container *ngIf=\"contentTemplate; else defaultContent\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </ng-container>\n <ng-template #defaultContent></ng-template>\n </div>\n <cax-button [leftIcon]=\"'cax cax-cart-large-minimalistic'\" [label]=\"'Add to Cart'\" [severity]=\"buttonseverity\" [style]=\"{ width: '100%' }\" (click)=\"onAddToCartClick()\"></cax-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ComparecardComponent } from './comparecard.component';\nimport { Button, ButtonModule } from 'cax-design-system/button';\nimport { BadgeModule } from 'cax-design-system/badge';\n\n@NgModule({\n imports: [Button, CommonModule, SharedModule, ButtonModule, BadgeModule],\n declarations: [ComparecardComponent],\n exports: [ComparecardComponent, SharedModule]\n})\nexport class CompareCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -623,10 +623,10 @@ class ConfirmDialog {
|
|
|
623
623
|
return 'cax-confirm-dialog-icon-primary';
|
|
624
624
|
}
|
|
625
625
|
}
|
|
626
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
627
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.21", type: ConfirmDialog, isStandalone: false, selector: "cax-confirmDialog", inputs: { header: "header", icon: "icon", message: "message", style: "style", styleClass: "styleClass", maskStyleClass: "maskStyleClass", acceptIcon: "acceptIcon", acceptLabel: "acceptLabel", closeAriaLabel: "closeAriaLabel", acceptAriaLabel: "acceptAriaLabel", acceptVisible: ["acceptVisible", "acceptVisible", booleanAttribute], rejectIcon: "rejectIcon", rejectLabel: "rejectLabel", rejectAriaLabel: "rejectAriaLabel", rejectVisible: ["rejectVisible", "rejectVisible", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], dismissableMask: ["dismissableMask", "dismissableMask", booleanAttribute], blockScroll: ["blockScroll", "blockScroll", booleanAttribute], rtl: ["rtl", "rtl", booleanAttribute], closable: ["closable", "closable", booleanAttribute], appendTo: "appendTo", key: "key", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], transitionOptions: "transitionOptions", focusTrap: ["focusTrap", "focusTrap", booleanAttribute], defaultFocus: "defaultFocus", breakpoints: "breakpoints", showCheckbox: "showCheckbox", checkboxLabel: "checkboxLabel", showCancelButton: "showCancelButton", showAcceptButton: "showAcceptButton", severity: "severity", visible: "visible", position: "position" }, outputs: { onHide: "onHide", visibleChange: "visibleChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "footer", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div [class]=\"maskStyleClass\" [ngClass]=\"getMaskClass()\" *ngIf=\"maskVisible\">\n <div\n [ngClass]=\"{ 'cax-dialog cax-confirm-dialog cax-component': true, 'cax-dialog-rtl': rtl }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [@animation]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n role=\"alertdialog\"\n *ngIf=\"visible\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-modal]=\"true\"\n >\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate; context: { $implicit: confirmation }\"></ng-container>\n </ng-container>\n <ng-template #notHeadless>\n <div class=\"cax-dialog-header cax-confirm-dialog-header\" *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"cax-dialog-header cax-confirm-dialog-header\" *ngIf=\"!headerTemplate\">\n <div class=\"cax-header-allign\">\n <i [class]=\"severityIcon\" [ngClass]=\"severityColorClass\" class=\"cax-confirm-dialog-header-icon\" *ngIf=\"!headerTemplate\"></i>\n <span class=\"cax-dialog-title cax-text-heading-md-semibold\" [id]=\"ariaLabelledBy\" *ngIf=\"option('header')\">{{ option('header') }}</span>\n </div>\n <div class=\"cax-dialog-header-icons\">\n <button *ngIf=\"isClosable\" type=\"button\" role=\"button\" [attr.aria-label]=\"closeAriaLabel\" [ngClass]=\"{ 'cax-dialog-header-icon cax-dialog-header-close cax-link': true }\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\">\n <i class=\"cax cax-close\"></i>\n </button>\n </div>\n </div>\n <div #content class=\"cax-dialog-content cax-text-body-md-medium cax-confirm-dialog-content\">\n <i [ngClass]=\"'cax-confirm-dialog-icon'\" [class]=\"option('icon')\" *ngIf=\"!iconTemplate && option('icon')\"></i>\n <ng-container *ngIf=\"iconTemplate\">\n <ng-template *ngTemplateOutlet=\"iconTemplate\"></ng-template>\n </ng-container>\n <span class=\"cax-confirm-dialog-message cax-text-body-md-medium\" *ngIf=\"!messageTemplate\" [innerHTML]=\"option('message')\"></span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate; context: { $implicit: confirmation }\"></ng-template>\n </ng-container>\n </div>\n <div *ngIf=\"isShowCheckbox\" class=\"cax-dialog-checkbox\">\n <cax-checkbox [disabled]=\"false\" [model]=\"model\" [label]=\"checkboxLabel\" binary=\"true\" (onChange)=\"onChange($event)\"></cax-checkbox>\n </div>\n <div class=\"cax-dialog-footer cax-confirm-dialog-footer\" *ngIf=\"footer || footerTemplate\">\n <ng-content select=\"cax-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n <div class=\"cax-dialog-footer cax-confirm-dialog-footer\" *ngIf=\"!footer && !footerTemplate\">\n <span *ngIf=\"showCancelButton\" class=\"cax-button-container\">\n <button\n type=\"button\"\n caxRipple\n caxButton\n severity=\"secondary\"\n outlined=\"true\"\n [label]=\"rejectButtonLabel\"\n [icon]=\"rejectIcon\"\n (click)=\"reject()\"\n [ngClass]=\"'cax-confirm-dialog-reject'\"\n *ngIf=\"option('rejectVisible')\"\n [attr.aria-label]=\"rejectAriaLabel\"\n >\n <!-- <ng-container *ngIf=\"!rejectIconTemplate\">\n <i *ngIf=\"option('rejectIcon')\" [class]=\"option('rejectIcon')\"></i>\n <TimesIcon *ngIf=\"!option('rejectIcon')\" [styleClass]=\"'cax-button-icon-left'\" />\n </ng-container> -->\n <span *ngIf=\"rejectIconTemplate\" class=\"cax-button-icon-left\">\n <ng-template *ngTemplateOutlet=\"rejectIconTemplate\"></ng-template>\n </span>\n </button>\n </span>\n <span *ngIf=\"showAcceptButton\" class=\"cax-button-container\">\n <button\n type=\"button\"\n caxRipple\n caxButton\n [label]=\"acceptButtonLabel\"\n [icon]=\"acceptIcon\"\n [severity]=\"option('severity') || 'primary'\"\n (click)=\"accept()\"\n [ngClass]=\"'cax-confirm-dialog-accept'\"\n *ngIf=\"option('acceptVisible')\"\n [attr.aria-label]=\"acceptAriaLabel\"\n >\n <!-- <ng-container *ngIf=\"!acceptIconTemplate\">\n <i *ngIf=\"option('acceptIcon')\" [class]=\"option('acceptIcon')\"></i>\n <CheckIcon *ngIf=\"!option('acceptIcon')\" [styleClass]=\"'cax-button-icon-left'\" />\n </ng-container> -->\n <span *ngIf=\"acceptIconTemplate\" class=\"cax-button-icon-left\">\n <ng-template *ngTemplateOutlet=\"acceptIconTemplate\"></ng-template>\n </span>\n </button>\n </span>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["@layer cax{.cax-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.cax-dialog-mask.cax-component-overlay{pointer-events:auto}.cax-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.cax-dialog-content{flex-grow:1}.cax-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.cax-dialog-draggable .cax-dialog-header{cursor:move}.cax-dialog-footer{display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.cax-button-container{display:inline-flex;align-items:center}.cax-dialog .cax-dialog-header-icons{display:flex;align-items:center}.cax-dialog .cax-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cax-dialog-header-close i{font-size:20px}.cax-fluid .cax-dialog-footer .cax-button{width:auto}.cax-dialog-top .cax-dialog,.cax-dialog-bottom .cax-dialog,.cax-dialog-left .cax-dialog,.cax-dialog-right .cax-dialog,.cax-dialog-top-left .cax-dialog,.cax-dialog-top-right .cax-dialog,.cax-dialog-bottom-left .cax-dialog,.cax-dialog-bottom-right .cax-dialog{margin:.75rem;transform:translateZ(0)}.cax-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.cax-dialog-maximized .cax-dialog-content{flex-grow:1}.cax-dialog-left{justify-content:flex-start}.cax-dialog-right{justify-content:flex-end}.cax-dialog-top{align-items:flex-start}.cax-dialog-top-left{justify-content:flex-start;align-items:flex-start}.cax-dialog-top-right{justify-content:flex-end;align-items:flex-start}.cax-dialog-bottom{align-items:flex-end}.cax-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.cax-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.cax-dialog .cax-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.cax-header-allign{display:flex;align-items:center}.cax-dialog-header-icon{font-size:1.25rem}.cax-confirm-dialog .cax-dialog-content{display:flex;align-items:center}.cax-dialog-content .cax-dialog-checkbox{display:block;margin-top:1rem}.cax-dialog-checkbox input[type=checkbox]{margin-right:.5rem}.cax-header-align{display:flex;align-items:center}.cax-confirm-dialog-header-icon{margin-right:12px;font-size:24px;display:flex;align-items:center;justify-content:center}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-primary{color:var(--primary-500)}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-success{color:var(--success-600)}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-warning{color:var(--warning-600)}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-danger{color:var(--error-600)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "directive", type: i4.Ripple, selector: "[caxRipple]" }, { kind: "component", type: i5.Checkbox, selector: "cax-checkbox", inputs: ["size", "value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant", "indeterminate", "model"], outputs: ["onChange", "onFocus", "onBlur"] }], animations: [trigger('animation', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
626
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ConfirmDialog, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ConfirmationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
627
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.25", type: ConfirmDialog, isStandalone: false, selector: "cax-confirmDialog", inputs: { header: "header", icon: "icon", message: "message", style: "style", styleClass: "styleClass", maskStyleClass: "maskStyleClass", acceptIcon: "acceptIcon", acceptLabel: "acceptLabel", closeAriaLabel: "closeAriaLabel", acceptAriaLabel: "acceptAriaLabel", acceptVisible: ["acceptVisible", "acceptVisible", booleanAttribute], rejectIcon: "rejectIcon", rejectLabel: "rejectLabel", rejectAriaLabel: "rejectAriaLabel", rejectVisible: ["rejectVisible", "rejectVisible", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], dismissableMask: ["dismissableMask", "dismissableMask", booleanAttribute], blockScroll: ["blockScroll", "blockScroll", booleanAttribute], rtl: ["rtl", "rtl", booleanAttribute], closable: ["closable", "closable", booleanAttribute], appendTo: "appendTo", key: "key", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], transitionOptions: "transitionOptions", focusTrap: ["focusTrap", "focusTrap", booleanAttribute], defaultFocus: "defaultFocus", breakpoints: "breakpoints", showCheckbox: "showCheckbox", checkboxLabel: "checkboxLabel", showCancelButton: "showCancelButton", showAcceptButton: "showAcceptButton", severity: "severity", visible: "visible", position: "position" }, outputs: { onHide: "onHide", visibleChange: "visibleChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "footer", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div [class]=\"maskStyleClass\" [ngClass]=\"getMaskClass()\" *ngIf=\"maskVisible\">\n <div\n [ngClass]=\"{ 'cax-dialog cax-confirm-dialog cax-component': true, 'cax-dialog-rtl': rtl }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [@animation]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n role=\"alertdialog\"\n *ngIf=\"visible\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-modal]=\"true\"\n >\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate; context: { $implicit: confirmation }\"></ng-container>\n </ng-container>\n <ng-template #notHeadless>\n <div class=\"cax-dialog-header cax-confirm-dialog-header\" *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"cax-dialog-header cax-confirm-dialog-header\" *ngIf=\"!headerTemplate\">\n <div class=\"cax-header-allign\">\n <i [class]=\"severityIcon\" [ngClass]=\"severityColorClass\" class=\"cax-confirm-dialog-header-icon\" *ngIf=\"!headerTemplate\"></i>\n <span class=\"cax-dialog-title cax-text-heading-md-semibold\" [id]=\"ariaLabelledBy\" *ngIf=\"option('header')\">{{ option('header') }}</span>\n </div>\n <div class=\"cax-dialog-header-icons\">\n <button *ngIf=\"isClosable\" type=\"button\" role=\"button\" [attr.aria-label]=\"closeAriaLabel\" [ngClass]=\"{ 'cax-dialog-header-icon cax-dialog-header-close cax-link': true }\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\">\n <i class=\"cax cax-close\"></i>\n </button>\n </div>\n </div>\n <div #content class=\"cax-dialog-content cax-text-body-md-medium cax-confirm-dialog-content\">\n <i [ngClass]=\"'cax-confirm-dialog-icon'\" [class]=\"option('icon')\" *ngIf=\"!iconTemplate && option('icon')\"></i>\n <ng-container *ngIf=\"iconTemplate\">\n <ng-template *ngTemplateOutlet=\"iconTemplate\"></ng-template>\n </ng-container>\n <span class=\"cax-confirm-dialog-message cax-text-body-md-medium\" *ngIf=\"!messageTemplate\" [innerHTML]=\"option('message')\"></span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate; context: { $implicit: confirmation }\"></ng-template>\n </ng-container>\n </div>\n <div *ngIf=\"isShowCheckbox\" class=\"cax-dialog-checkbox\">\n <cax-checkbox [disabled]=\"false\" [model]=\"model\" [label]=\"checkboxLabel\" binary=\"true\" (onChange)=\"onChange($event)\"></cax-checkbox>\n </div>\n <div class=\"cax-dialog-footer cax-confirm-dialog-footer\" *ngIf=\"footer || footerTemplate\">\n <ng-content select=\"cax-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n <div class=\"cax-dialog-footer cax-confirm-dialog-footer\" *ngIf=\"!footer && !footerTemplate\">\n <span *ngIf=\"showCancelButton\" class=\"cax-button-container\">\n <button\n type=\"button\"\n caxRipple\n caxButton\n severity=\"secondary\"\n outlined=\"true\"\n [label]=\"rejectButtonLabel\"\n [icon]=\"rejectIcon\"\n (click)=\"reject()\"\n [ngClass]=\"'cax-confirm-dialog-reject'\"\n *ngIf=\"option('rejectVisible')\"\n [attr.aria-label]=\"rejectAriaLabel\"\n >\n <!-- <ng-container *ngIf=\"!rejectIconTemplate\">\n <i *ngIf=\"option('rejectIcon')\" [class]=\"option('rejectIcon')\"></i>\n <TimesIcon *ngIf=\"!option('rejectIcon')\" [styleClass]=\"'cax-button-icon-left'\" />\n </ng-container> -->\n <span *ngIf=\"rejectIconTemplate\" class=\"cax-button-icon-left\">\n <ng-template *ngTemplateOutlet=\"rejectIconTemplate\"></ng-template>\n </span>\n </button>\n </span>\n <span *ngIf=\"showAcceptButton\" class=\"cax-button-container\">\n <button\n type=\"button\"\n caxRipple\n caxButton\n [label]=\"acceptButtonLabel\"\n [icon]=\"acceptIcon\"\n [severity]=\"option('severity') || 'primary'\"\n (click)=\"accept()\"\n [ngClass]=\"'cax-confirm-dialog-accept'\"\n *ngIf=\"option('acceptVisible')\"\n [attr.aria-label]=\"acceptAriaLabel\"\n >\n <!-- <ng-container *ngIf=\"!acceptIconTemplate\">\n <i *ngIf=\"option('acceptIcon')\" [class]=\"option('acceptIcon')\"></i>\n <CheckIcon *ngIf=\"!option('acceptIcon')\" [styleClass]=\"'cax-button-icon-left'\" />\n </ng-container> -->\n <span *ngIf=\"acceptIconTemplate\" class=\"cax-button-icon-left\">\n <ng-template *ngTemplateOutlet=\"acceptIconTemplate\"></ng-template>\n </span>\n </button>\n </span>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["@layer cax{.cax-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.cax-dialog-mask.cax-component-overlay{pointer-events:auto}.cax-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.cax-dialog-content{flex-grow:1}.cax-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.cax-dialog-draggable .cax-dialog-header{cursor:move}.cax-dialog-footer{display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.cax-button-container{display:inline-flex;align-items:center}.cax-dialog .cax-dialog-header-icons{display:flex;align-items:center}.cax-dialog .cax-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cax-dialog-header-close i{font-size:20px}.cax-fluid .cax-dialog-footer .cax-button{width:auto}.cax-dialog-top .cax-dialog,.cax-dialog-bottom .cax-dialog,.cax-dialog-left .cax-dialog,.cax-dialog-right .cax-dialog,.cax-dialog-top-left .cax-dialog,.cax-dialog-top-right .cax-dialog,.cax-dialog-bottom-left .cax-dialog,.cax-dialog-bottom-right .cax-dialog{margin:.75rem;transform:translateZ(0)}.cax-dialog-maximized{-webkit-transition:none;transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.cax-dialog-maximized .cax-dialog-content{flex-grow:1}.cax-dialog-left{justify-content:flex-start}.cax-dialog-right{justify-content:flex-end}.cax-dialog-top{align-items:flex-start}.cax-dialog-top-left{justify-content:flex-start;align-items:flex-start}.cax-dialog-top-right{justify-content:flex-end;align-items:flex-start}.cax-dialog-bottom{align-items:flex-end}.cax-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.cax-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.cax-dialog .cax-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.cax-header-allign{display:flex;align-items:center}.cax-dialog-header-icon{font-size:1.25rem}.cax-confirm-dialog .cax-dialog-content{display:flex;align-items:center}.cax-dialog-content .cax-dialog-checkbox{display:block;margin-top:1rem}.cax-dialog-checkbox input[type=checkbox]{margin-right:.5rem}.cax-header-align{display:flex;align-items:center}.cax-confirm-dialog-header-icon{margin-right:12px;font-size:24px;display:flex;align-items:center;justify-content:center}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-primary{color:var(--primary-500)}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-success{color:var(--success-600)}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-warning{color:var(--warning-600)}.cax-confirm-dialog-header-icon.cax-confirm-dialog-icon-danger{color:var(--error-600)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "directive", type: i4.Ripple, selector: "[caxRipple]" }, { kind: "component", type: i5.Checkbox, selector: "cax-checkbox", inputs: ["size", "value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant", "indeterminate", "model"], outputs: ["onChange", "onFocus", "onBlur"] }], animations: [trigger('animation', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
628
628
|
}
|
|
629
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
629
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ConfirmDialog, decorators: [{
|
|
630
630
|
type: Component,
|
|
631
631
|
args: [{ selector: 'cax-confirmDialog', animations: [trigger('animation', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, host: {
|
|
632
632
|
class: 'cax-element'
|
|
@@ -730,11 +730,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
730
730
|
}] } });
|
|
731
731
|
|
|
732
732
|
class ConfirmDialogModule {
|
|
733
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
734
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
735
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
733
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
734
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: ConfirmDialogModule, declarations: [ConfirmDialog], imports: [CommonModule, ButtonModule, RippleModule, TimesIcon, CheckIcon, FormsModule, CheckboxModule], exports: [ConfirmDialog, ButtonModule, SharedModule] });
|
|
735
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ConfirmDialogModule, imports: [CommonModule, ButtonModule, RippleModule, TimesIcon, CheckIcon, FormsModule, CheckboxModule, ButtonModule, SharedModule] });
|
|
736
736
|
}
|
|
737
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ConfirmDialogModule, decorators: [{
|
|
738
738
|
type: NgModule,
|
|
739
739
|
args: [{
|
|
740
740
|
imports: [CommonModule, ButtonModule, RippleModule, TimesIcon, CheckIcon, FormsModule, CheckboxModule],
|