@wawjs/ngx-prime 22.0.4 → 22.0.6
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/fesm2022/wawjs-ngx-prime-accordion.mjs +68 -210
- package/fesm2022/wawjs-ngx-prime-accordion.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-api.mjs +31 -31
- package/fesm2022/wawjs-ngx-prime-api.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-autocomplete.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-autocomplete.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-autofocus.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-autofocus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-avatar.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-avatar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-avatargroup.mjs +27 -12
- package/fesm2022/wawjs-ngx-prime-avatargroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-badge.mjs +58 -16
- package/fesm2022/wawjs-ngx-prime-badge.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-base.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-base.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-basecomponent.mjs +6 -6
- package/fesm2022/wawjs-ngx-prime-basecomponent.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-baseinput.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-baseinput.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-bind.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-bind.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-blockui.mjs +28 -10
- package/fesm2022/wawjs-ngx-prime-blockui.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs +25 -21
- package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-button.mjs +30 -20
- package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-buttongroup.mjs +26 -14
- package/fesm2022/wawjs-ngx-prime-buttongroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs +11 -11
- package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-card.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-card.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-carousel.mjs +49 -11
- package/fesm2022/wawjs-ngx-prime-carousel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-chart.mjs +67 -10
- package/fesm2022/wawjs-ngx-prime-chart.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs +21 -19
- package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-chip.mjs +16 -10
- package/fesm2022/wawjs-ngx-prime-chip.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-classnames.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-classnames.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +153 -20
- package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-config.mjs +9 -9
- package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +13 -10
- package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-contextmenu.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-contextmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dataview.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-datepicker.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-datepicker.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dialog.mjs +21 -10
- package/fesm2022/wawjs-ngx-prime-dialog.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-divider.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-divider.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dock.mjs +11 -11
- package/fesm2022/wawjs-ngx-prime-dock.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dom.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dragdrop.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-dragdrop.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-drawer.mjs +40 -13
- package/fesm2022/wawjs-ngx-prime-drawer.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-editor.mjs +29 -11
- package/fesm2022/wawjs-ngx-prime-editor.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fieldset.mjs +12 -12
- package/fesm2022/wawjs-ngx-prime-fieldset.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs +40 -40
- package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-floatlabel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-floatlabel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-fluid.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-fluid.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-focustrap.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-focustrap.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-galleria.mjs +51 -24
- package/fesm2022/wawjs-ngx-prime-galleria.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icon.mjs +11 -11
- package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-iconfield.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-iconfield.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-ban.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-ban.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-bars.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-bars.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs +6 -6
- package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-blank.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-blank.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-check.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-check.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-eye.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-eye.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-filter.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-filter.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-home.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-home.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-minus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-minus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-plus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-plus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-search.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-search.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-star.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-star.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-times.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-times.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-trash.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-trash.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-undo.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-undo.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-upload.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-upload.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-iftalabel.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-iftalabel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-image.mjs +12 -10
- package/fesm2022/wawjs-ngx-prime-image.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-imagecompare.mjs +35 -16
- package/fesm2022/wawjs-ngx-prime-imagecompare.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inplace.mjs +19 -19
- package/fesm2022/wawjs-ngx-prime-inplace.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputgroup.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputgroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputicon.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-inputicon.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs +24 -14
- package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +16 -13
- package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputotp.mjs +42 -12
- package/fesm2022/wawjs-ngx-prime-inputotp.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-inputtext.mjs +11 -10
- package/fesm2022/wawjs-ngx-prime-inputtext.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-keyfilter.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-keyfilter.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-knob.mjs +16 -10
- package/fesm2022/wawjs-ngx-prime-knob.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-link.mjs +6 -6
- package/fesm2022/wawjs-ngx-prime-link.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-listbox.mjs +340 -122
- package/fesm2022/wawjs-ngx-prime-listbox.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-megamenu.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-megamenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-menu.mjs +94 -133
- package/fesm2022/wawjs-ngx-prime-menu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-menubar.mjs +17 -17
- package/fesm2022/wawjs-ngx-prime-menubar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-message.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-message.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-metergroup.mjs +29 -14
- package/fesm2022/wawjs-ngx-prime-metergroup.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-motion.mjs +53 -16
- package/fesm2022/wawjs-ngx-prime-motion.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-multiselect.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-multiselect.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-orderlist.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-orderlist.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-organizationchart.mjs +91 -49
- package/fesm2022/wawjs-ngx-prime-organizationchart.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-overlay.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-overlay.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs +40 -14
- package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-paginator.mjs +13 -11
- package/fesm2022/wawjs-ngx-prime-paginator.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-panel.mjs +10 -12
- package/fesm2022/wawjs-ngx-prime-panel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-passthrough.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-password.mjs +95 -36
- package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-picklist.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-popover.mjs +20 -13
- package/fesm2022/wawjs-ngx-prime-popover.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-progressbar.mjs +29 -15
- package/fesm2022/wawjs-ngx-prime-progressbar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-progressspinner.mjs +11 -11
- package/fesm2022/wawjs-ngx-prime-progressspinner.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +16 -16
- package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-rating.mjs +21 -21
- package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-ripple.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-ripple.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-scroller.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-scroller.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs +20 -12
- package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-scrolltop.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-scrolltop.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-select.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-select.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +75 -71
- package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-skeleton.mjs +22 -12
- package/fesm2022/wawjs-ngx-prime-skeleton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-slider.mjs +26 -13
- package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-speeddial.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-speeddial.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-splitbutton.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-splitbutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-splitter.mjs +16 -12
- package/fesm2022/wawjs-ngx-prime-splitter.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-stepper.mjs +45 -43
- package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-steps.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-steps.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-styleclass.mjs +7 -7
- package/fesm2022/wawjs-ngx-prime-styleclass.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-table.mjs +86 -86
- package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tabs.mjs +74 -185
- package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tag.mjs +14 -14
- package/fesm2022/wawjs-ngx-prime-tag.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-terminal.mjs +50 -16
- package/fesm2022/wawjs-ngx-prime-terminal.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-textarea.mjs +19 -11
- package/fesm2022/wawjs-ngx-prime-textarea.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-timeline.mjs +29 -14
- package/fesm2022/wawjs-ngx-prime-timeline.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toast.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-toast.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +16 -13
- package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +29 -15
- package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-toolbar.mjs +15 -14
- package/fesm2022/wawjs-ngx-prime-toolbar.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tooltip.mjs +13 -10
- package/fesm2022/wawjs-ngx-prime-tooltip.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-tree.mjs +13 -13
- package/fesm2022/wawjs-ngx-prime-tree.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-treeselect.mjs +10 -10
- package/fesm2022/wawjs-ngx-prime-treeselect.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-treetable.mjs +59 -59
- package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-usestyle.mjs +3 -3
- package/fesm2022/wawjs-ngx-prime-usestyle.mjs.map +1 -1
- package/fesm2022/wawjs-ngx-prime-utils.mjs +19 -2
- package/fesm2022/wawjs-ngx-prime-utils.mjs.map +1 -1
- package/package.json +8 -7
- package/types/wawjs-ngx-prime-accordion.d.ts +31 -43
- package/types/wawjs-ngx-prime-avatargroup.d.ts +11 -1
- package/types/wawjs-ngx-prime-badge.d.ts +22 -2
- package/types/wawjs-ngx-prime-blockui.d.ts +4 -0
- package/types/wawjs-ngx-prime-buttongroup.d.ts +12 -2
- package/types/wawjs-ngx-prime-carousel.d.ts +4 -0
- package/types/wawjs-ngx-prime-chart.d.ts +1 -0
- package/types/wawjs-ngx-prime-chip.d.ts +1 -1
- package/types/wawjs-ngx-prime-colorpicker.d.ts +2 -0
- package/types/wawjs-ngx-prime-dialog.d.ts +4 -0
- package/types/wawjs-ngx-prime-drawer.d.ts +15 -1
- package/types/wawjs-ngx-prime-editor.d.ts +11 -1
- package/types/wawjs-ngx-prime-galleria.d.ts +3 -0
- package/types/wawjs-ngx-prime-inputmask.d.ts +6 -1
- package/types/wawjs-ngx-prime-inputotp.d.ts +14 -1
- package/types/wawjs-ngx-prime-listbox.d.ts +15 -0
- package/types/wawjs-ngx-prime-menu.d.ts +10 -11
- package/types/wawjs-ngx-prime-metergroup.d.ts +11 -1
- package/types/wawjs-ngx-prime-motion.d.ts +16 -0
- package/types/wawjs-ngx-prime-organizationchart.d.ts +11 -1
- package/types/wawjs-ngx-prime-overlaybadge.d.ts +6 -1
- package/types/wawjs-ngx-prime-password.d.ts +7 -0
- package/types/wawjs-ngx-prime-progressbar.d.ts +11 -1
- package/types/wawjs-ngx-prime-selectbutton.d.ts +26 -7
- package/types/wawjs-ngx-prime-skeleton.d.ts +7 -1
- package/types/wawjs-ngx-prime-tabs.d.ts +16 -42
- package/types/wawjs-ngx-prime-terminal.d.ts +11 -1
- package/types/wawjs-ngx-prime-textarea.d.ts +6 -1
- package/types/wawjs-ngx-prime-timeline.d.ts +11 -1
- package/types/wawjs-ngx-prime-toggleswitch.d.ts +8 -2
- package/types/wawjs-ngx-prime-toolbar.d.ts +4 -3
- package/types/wawjs-ngx-prime-utils.d.ts +14 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wawjs-ngx-prime-dom.mjs","sources":["../../src/dom/domhandler.ts","../../src/dom/connectedoverlayscrollhandler.ts","../../src/dom/wawjs-ngx-prime-dom.ts"],"sourcesContent":["import { getCSSVariableByRegex } from '@wawjs/css-prime-utils';\n/**\n * @dynamic is for runtime initializing DomHandler.browser\n *\n * If delete below comment, we can see this error message:\n * Metadata collected contains an error that will be reported at runtime:\n * Only initialized variables and constants can be referenced\n * because the value of this variable is needed by the template compiler.\n */\n// @dynamic\nexport class DomHandler {\n public static zindex: number = 1000;\n\n private static calculatedScrollbarWidth: number | null = null;\n\n private static calculatedScrollbarHeight: number | null = null;\n\n private static browser: any;\n\n public static addClass(element: any, className: string): void {\n if (element && className) {\n if (element.classList) element.classList.add(className);\n else element.className += ' ' + className;\n }\n }\n\n public static addMultipleClasses(element: any, className: string): void {\n if (element && className) {\n if (element.classList) {\n let styles: string[] = className.trim().split(' ');\n\n for (let i = 0; i < styles.length; i++) {\n element.classList.add(styles[i]);\n }\n } else {\n let styles: string[] = className.split(' ');\n\n for (let i = 0; i < styles.length; i++) {\n element.className += ' ' + styles[i];\n }\n }\n }\n }\n\n public static removeClass(element: any, className: string): void {\n if (element && className) {\n if (element.classList) element.classList.remove(className);\n else element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n\n public static removeMultipleClasses(element, classNames) {\n if (element && classNames) {\n [classNames]\n .flat()\n .filter(Boolean)\n .forEach((cNames) => cNames.split(' ').forEach((className) => this.removeClass(element, className)));\n }\n }\n\n public static hasClass(element: any, className: string): boolean {\n if (element && className) {\n if (element.classList) return element.classList.contains(className);\n else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n\n return false;\n }\n\n public static siblings(element: any): any {\n return Array.prototype.filter.call(element.parentNode.children, function (child) {\n return child !== element;\n });\n }\n\n public static find(element: any, selector: string): any[] {\n return Array.from(element.querySelectorAll(selector));\n }\n\n public static findSingle(element: any, selector: string): any {\n return this.isElement(element) ? element.querySelector(selector) : null;\n }\n\n public static index(element: any): number {\n let children = element.parentNode.childNodes;\n let num = 0;\n\n for (let i = 0; i < children.length; i++) {\n if (children[i] == element) return num;\n if (children[i].nodeType == 1) num++;\n }\n\n return -1;\n }\n\n public static indexWithinGroup(element: any, attributeName: string): number {\n let children = element.parentNode ? element.parentNode.childNodes : [];\n let num = 0;\n\n for (let i = 0; i < children.length; i++) {\n if (children[i] == element) return num;\n if (children[i].attributes && children[i].attributes[attributeName] && children[i].nodeType == 1) num++;\n }\n\n return -1;\n }\n\n public static appendOverlay(overlay: any, target: any, appendTo: any = 'self') {\n if (appendTo !== 'self' && overlay && target) {\n this.appendChild(overlay, target);\n }\n }\n\n public static alignOverlay(overlay: any, target: any, appendTo: any = 'self', calculateMinWidth: boolean = true) {\n if (overlay && target) {\n if (calculateMinWidth) {\n overlay.style.minWidth = `${DomHandler.getOuterWidth(target)}px`;\n }\n\n if (appendTo === 'self') {\n this.relativePosition(overlay, target);\n } else {\n this.absolutePosition(overlay, target);\n }\n }\n }\n\n public static relativePosition(element: any, target: any, gutter: boolean = true): void {\n const getClosestRelativeElement = (el) => {\n if (!el) return;\n\n return getComputedStyle(el).getPropertyValue('position') === 'relative' ? el : getClosestRelativeElement(el.parentElement);\n };\n\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = this.getWindowScrollTop();\n const windowScrollLeft = this.getWindowScrollLeft();\n const viewport = this.getViewport();\n const relativeElement = getClosestRelativeElement(element);\n const relativeElementOffset = relativeElement?.getBoundingClientRect() || {\n top: -1 * windowScrollTop,\n left: -1 * windowScrollLeft\n };\n let top: number,\n left: number,\n origin: string = 'top';\n\n if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = targetOffset.top - relativeElementOffset.top - elementDimensions.height;\n origin = 'bottom';\n\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight + targetOffset.top - relativeElementOffset.top;\n origin = 'top';\n }\n\n const horizontalOverflow = targetOffset.left + elementDimensions.width - viewport.width;\n const targetLeftOffsetInSpaceOfRelativeElement = targetOffset.left - relativeElementOffset.left;\n\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = (targetOffset.left - relativeElementOffset.left) * -1;\n } else if (horizontalOverflow > 0) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = targetLeftOffsetInSpaceOfRelativeElement - horizontalOverflow;\n } else {\n // element fits on screen (align with target)\n left = targetOffset.left - relativeElementOffset.left;\n }\n\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n element.style.transformOrigin = origin;\n\n if (gutter) {\n const gutterValue = getCSSVariableByRegex(/-anchor-gutter$/)?.value;\n\n element.style.marginTop = origin === 'bottom' ? `calc(${gutterValue ?? '2px'} * -1)` : (gutterValue ?? '');\n }\n }\n\n public static absolutePosition(element: any, target: any, gutter: boolean = true): void {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = this.getWindowScrollTop();\n const windowScrollLeft = this.getWindowScrollLeft();\n const viewport = this.getViewport();\n let top: number, left: number;\n\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n element.style.transformOrigin = 'bottom';\n\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n element.style.transformOrigin = 'top';\n }\n\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else left = targetOffset.left + windowScrollLeft;\n\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n gutter && (element.style.marginTop = origin === 'bottom' ? 'calc(var(--p-anchor-gutter) * -1)' : 'calc(var(--p-anchor-gutter))');\n }\n\n static getParents(element: any, parents: any = []): any {\n return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));\n }\n\n static getScrollableParents(element: any) {\n let scrollableParents: any[] = [];\n\n if (element) {\n let parents = this.getParents(element);\n const overflowRegex = /(auto|scroll)/;\n\n const overflowCheck = (node: any) => {\n let styleDeclaration = window['getComputedStyle'](node, null);\n\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n };\n\n for (let parent of parents) {\n let scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n\n if (scrollSelectors) {\n let selectors = scrollSelectors.split(',');\n\n for (let selector of selectors) {\n let el = this.findSingle(parent, selector);\n\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n }\n\n public static getHiddenElementOuterHeight(element: any): number {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementHeight = element.offsetHeight;\n\n element.style.display = 'none';\n element.style.visibility = 'visible';\n\n return elementHeight;\n }\n\n public static getHiddenElementOuterWidth(element: any): number {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementWidth = element.offsetWidth;\n\n element.style.display = 'none';\n element.style.visibility = 'visible';\n\n return elementWidth;\n }\n\n public static getHiddenElementDimensions(element: any): any {\n let dimensions: any = {};\n\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n\n return dimensions;\n }\n\n public static scrollInView(container, item) {\n let borderTopValue: string = getComputedStyle(container).getPropertyValue('borderTopWidth');\n let borderTop: number = borderTopValue ? parseFloat(borderTopValue) : 0;\n let paddingTopValue: string = getComputedStyle(container).getPropertyValue('paddingTop');\n let paddingTop: number = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n let containerRect = container.getBoundingClientRect();\n let itemRect = item.getBoundingClientRect();\n let offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n let scroll = container.scrollTop;\n let elementHeight = container.clientHeight;\n let itemHeight = this.getOuterHeight(item);\n\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n }\n\n public static fadeIn(element, duration: number): void {\n element.style.opacity = 0;\n\n let last = +new Date();\n let opacity = 0;\n\n let tick = function () {\n opacity = +element.style.opacity.replace(',', '.') + (new Date().getTime() - last) / duration;\n element.style.opacity = opacity;\n last = +new Date();\n\n if (+opacity < 1) {\n if (window.requestAnimationFrame) window.requestAnimationFrame(tick);\n else setTimeout(tick, 16);\n }\n };\n\n tick();\n }\n\n public static fadeOut(element, ms) {\n let opacity = 1,\n interval = 50,\n duration = ms,\n gap = interval / duration;\n\n let fading = setInterval(() => {\n opacity = opacity - gap;\n\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n\n element.style.opacity = opacity;\n }, interval);\n }\n\n public static getWindowScrollTop(): number {\n let doc = document.documentElement;\n\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n }\n\n public static getWindowScrollLeft(): number {\n let doc = document.documentElement;\n\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n }\n\n public static matches(element, selector: string): boolean {\n let p = Element.prototype;\n\n let f =\n p['matches'] ||\n p.webkitMatchesSelector ||\n p['mozMatchesSelector'] ||\n p['msMatchesSelector'] ||\n function (s) {\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n\n return f.call(element, selector);\n }\n\n public static getOuterWidth(el, margin?) {\n let width = el.offsetWidth;\n\n if (margin) {\n let style = getComputedStyle(el);\n\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n return width;\n }\n\n public static getHorizontalPadding(el) {\n let style = getComputedStyle(el);\n\n return parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n\n public static getHorizontalMargin(el) {\n let style = getComputedStyle(el);\n\n return parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n public static innerWidth(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n\n return width;\n }\n\n public static width(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n\n return width;\n }\n\n public static getInnerHeight(el) {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n\n height += parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n\n return height;\n }\n\n public static getOuterHeight(el, margin?) {\n let height = el.offsetHeight;\n\n if (margin) {\n let style = getComputedStyle(el);\n\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n public static getHeight(el): number {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\n return height;\n }\n\n public static getWidth(el): number {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n\n return width;\n }\n\n public static getViewport(): any {\n let win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n return { width: w, height: h };\n }\n\n public static getOffset(el) {\n let rect = el.getBoundingClientRect();\n\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)\n };\n }\n\n public static replaceElementWith(element: any, replacementElement: any): any {\n let parentNode = element.parentNode;\n\n if (!parentNode) throw `Can't replace element`;\n\n return parentNode.replaceChild(replacementElement, element);\n }\n\n public static getUserAgent(): string | undefined {\n if (navigator && this.isClient()) {\n return navigator.userAgent;\n }\n }\n\n public static isIE() {\n let ua = window.navigator.userAgent;\n\n let msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return true;\n }\n\n let trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n return true;\n }\n\n let edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return true;\n }\n\n // other browser\n return false;\n }\n\n public static isIOS() {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];\n }\n\n public static isAndroid() {\n return /(android)/i.test(navigator.userAgent);\n }\n\n public static isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n }\n\n public static appendChild(element: any, target: any) {\n if (this.isElement(target)) target.appendChild(element);\n else if (target && target.el && target.el.nativeElement) target.el.nativeElement.appendChild(element);\n else throw 'Cannot append ' + target + ' to ' + element;\n }\n\n public static removeChild(element: any, target: any) {\n if (this.isElement(target)) target.removeChild(element);\n else if (target.el && target.el.nativeElement) target.el.nativeElement.removeChild(element);\n else throw 'Cannot remove ' + element + ' from ' + target;\n }\n\n public static removeElement(element: Element) {\n if (!('remove' in Element.prototype)) element.parentNode?.removeChild(element);\n else element.remove();\n }\n\n public static isElement(obj: any) {\n return typeof HTMLElement === 'object' ? obj instanceof HTMLElement : obj && typeof obj === 'object' && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n }\n\n public static calculateScrollbarWidth(el?: HTMLElement): number {\n if (el) {\n let style = getComputedStyle(el);\n\n return el.offsetWidth - el.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (this.calculatedScrollbarWidth !== null) return this.calculatedScrollbarWidth;\n\n let scrollDiv = document.createElement('div');\n\n scrollDiv.className = 'p-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n\n let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n document.body.removeChild(scrollDiv);\n\n this.calculatedScrollbarWidth = scrollbarWidth;\n\n return scrollbarWidth;\n }\n }\n\n public static calculateScrollbarHeight(): number {\n if (this.calculatedScrollbarHeight !== null) return this.calculatedScrollbarHeight;\n\n let scrollDiv = document.createElement('div');\n\n scrollDiv.className = 'p-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n\n let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n\n document.body.removeChild(scrollDiv);\n\n this.calculatedScrollbarWidth = scrollbarHeight;\n\n return scrollbarHeight;\n }\n\n public static invokeElementMethod(element: any, methodName: string, args?: any[]): void {\n (element as any)[methodName].apply(element, args);\n }\n\n public static clearSelection(): void {\n if (window.getSelection && window.getSelection()) {\n if (window.getSelection()?.empty) {\n window.getSelection()?.empty();\n } else if (window.getSelection()?.removeAllRanges && (window.getSelection()?.rangeCount || 0) > 0 && (window.getSelection()?.getRangeAt(0)?.getClientRects()?.length || 0) > 0) {\n window.getSelection()?.removeAllRanges();\n }\n } else if (document['selection'] && document['selection'].empty) {\n try {\n document['selection'].empty();\n } catch {\n //ignore IE bug\n }\n }\n }\n\n public static getBrowser() {\n if (!this.browser) {\n let matched = this.resolveUserAgent();\n\n this.browser = {};\n\n if (matched.browser) {\n this.browser[matched.browser] = true;\n this.browser['version'] = matched.version;\n }\n\n if (this.browser['chrome']) {\n this.browser['webkit'] = true;\n } else if (this.browser['webkit']) {\n this.browser['safari'] = true;\n }\n }\n\n return this.browser;\n }\n\n public static resolveUserAgent() {\n let ua = navigator.userAgent.toLowerCase();\n let match = /(chrome)[ /]([\\w.]+)/.exec(ua) || /(webkit)[ /]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ /]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || (ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua)) || [];\n\n return {\n browser: match[1] || '',\n version: match[2] || '0'\n };\n }\n\n public static isInteger(value): boolean {\n if (Number.isInteger) {\n return Number.isInteger(value);\n } else {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n }\n }\n\n public static isHidden(element: HTMLElement): boolean {\n return !element || element.offsetParent === null;\n }\n\n public static isVisible(element: HTMLElement) {\n return element && element.offsetParent != null;\n }\n\n public static isExist(element: HTMLElement) {\n return element !== null && typeof element !== 'undefined' && element.nodeName && element.parentNode;\n }\n\n public static focus(element: HTMLElement, options?: FocusOptions): void {\n element && document.activeElement !== element && element.focus(options);\n }\n\n public static getFocusableSelectorString(selector = ''): string {\n return `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n .p-inputtext:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n .p-button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`;\n }\n\n public static getFocusableElements(element, selector = ''): any[] {\n let focusableElements = this.find(element, this.getFocusableSelectorString(selector));\n\n let visibleFocusableElements: any[] = [];\n\n for (let focusableElement of focusableElements) {\n const computedStyle = getComputedStyle(focusableElement);\n\n if (this.isVisible(focusableElement) && computedStyle.display != 'none' && computedStyle.visibility != 'hidden') visibleFocusableElements.push(focusableElement);\n }\n\n return visibleFocusableElements;\n }\n\n public static getFocusableElement(element, selector = ''): any | null {\n let focusableElement = this.findSingle(element, this.getFocusableSelectorString(selector));\n\n if (focusableElement) {\n const computedStyle = getComputedStyle(focusableElement);\n\n if (this.isVisible(focusableElement) && computedStyle.display != 'none' && computedStyle.visibility != 'hidden') return focusableElement;\n }\n\n return null;\n }\n\n public static getFirstFocusableElement(element, selector = '') {\n const focusableElements = this.getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[0] : null;\n }\n\n public static getLastFocusableElement(element, selector) {\n const focusableElements = this.getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n }\n\n public static getNextFocusableElement(element: HTMLElement, reverse = false) {\n const focusableElements = DomHandler.getFocusableElements(element);\n let index = 0;\n\n if (focusableElements && focusableElements.length > 0) {\n const focusedIndex = focusableElements.indexOf(focusableElements[0].ownerDocument.activeElement);\n\n if (reverse) {\n if (focusedIndex == -1 || focusedIndex === 0) {\n index = focusableElements.length - 1;\n } else {\n index = focusedIndex - 1;\n }\n } else if (focusedIndex != -1 && focusedIndex !== focusableElements.length - 1) {\n index = focusedIndex + 1;\n }\n }\n\n return focusableElements[index];\n }\n\n static generateZIndex() {\n this.zindex = this.zindex || 999;\n\n return ++this.zindex;\n }\n\n public static getSelection() {\n if (window.getSelection) return window.getSelection()?.toString();\n else if (document.getSelection) return document.getSelection()?.toString();\n else if (document['selection']) return document['selection'].createRange().text;\n\n return null;\n }\n\n public static getTargetElement(target: any, el?: HTMLElement) {\n if (!target) return null;\n\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case '@next':\n return el?.nextElementSibling;\n case '@prev':\n return el?.previousElementSibling;\n case '@parent':\n return el?.parentElement;\n case '@grandparent':\n return el?.parentElement?.parentElement;\n\n default: {\n const type = typeof target;\n\n if (type === 'string') {\n return document.querySelector(target);\n } else if (type === 'object' && Object.prototype.hasOwnProperty.call(target, 'nativeElement')) {\n return this.isExist(target.nativeElement) ? target.nativeElement : undefined;\n }\n\n const isFunction = (obj: any) => !!(obj && obj.constructor && obj.call && obj.apply);\n const element = isFunction(target) ? target() : target;\n\n return (element && element.nodeType === 9) || this.isExist(element) ? element : null;\n }\n }\n }\n\n public static isClient() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n }\n\n public static getAttribute(element, name) {\n if (element) {\n const value = element.getAttribute(name);\n\n if (!isNaN(value)) {\n return +value;\n }\n\n if (value === 'true' || value === 'false') {\n return value === 'true';\n }\n\n return value;\n }\n\n return undefined;\n }\n\n public static calculateBodyScrollbarWidth() {\n return window.innerWidth - document.documentElement.offsetWidth;\n }\n\n public static blockBodyScroll(className = 'p-overflow-hidden') {\n document.body.style.setProperty('--scrollbar-width', this.calculateBodyScrollbarWidth() + 'px');\n this.addClass(document.body, className);\n }\n\n public static unblockBodyScroll(className = 'p-overflow-hidden') {\n document.body.style.removeProperty('--scrollbar-width');\n this.removeClass(document.body, className);\n }\n\n public static createElement(type, attributes = {}, ...children) {\n if (type) {\n const element = document.createElement(type);\n\n this.setAttributes(element, attributes);\n element.append(...children);\n\n return element;\n }\n\n return undefined;\n }\n\n public static setAttribute(element, attribute = '', value) {\n if (this.isElement(element) && value !== null && value !== undefined) {\n element.setAttribute(attribute, value);\n }\n }\n\n public static setAttributes(element, attributes = {}) {\n if (this.isElement(element)) {\n const computedStyles = (rule, value) => {\n const styles = element?.$attrs?.[rule] ? [element?.$attrs?.[rule]] : [];\n\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== undefined) {\n const type = typeof v;\n\n if (type === 'string' || type === 'number') {\n cv.push(v);\n } else if (type === 'object') {\n const _cv = Array.isArray(v)\n ? computedStyles(rule, v)\n : Object.entries(v).map(([_k, _v]) => (rule === 'style' && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}:${_v}` : _v ? _k : undefined));\n\n cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;\n }\n }\n\n return cv;\n }, styles);\n };\n\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === 'pBind') {\n this.setAttributes(element, value);\n } else {\n value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;\n (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n }\n\n public static isFocusableElement(element, selector = '') {\n return this.isElement(element)\n ? element.matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`)\n : false;\n }\n}\n\nimport { $dt } from '@wawjs/css-prime-styled';\nimport * as utils from '@wawjs/css-prime-utils';\n\n// @todo: update this when we remove the old domhandler\nexport function blockBodyScroll() {\n utils.blockBodyScroll({ variableName: $dt('scrollbar.width').name });\n}\n\nexport function unblockBodyScroll() {\n utils.unblockBodyScroll({ variableName: $dt('scrollbar.width').name });\n}\n","import { DomHandler } from './domhandler';\n\nexport class ConnectedOverlayScrollHandler {\n element: any;\n\n listener: any;\n\n scrollableParents: any;\n\n constructor(element: any, listener: any = () => {}) {\n this.element = element;\n this.listener = listener;\n }\n\n bindScrollListener() {\n this.scrollableParents = DomHandler.getScrollableParents(this.element);\n\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n\n unbindScrollListener() {\n if (this.scrollableParents) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\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":"wawjs-ngx-prime-dom.mjs","sources":["../../src/dom/domhandler.ts","../../src/dom/connectedoverlayscrollhandler.ts","../../src/dom/wawjs-ngx-prime-dom.ts"],"sourcesContent":["import { getCSSVariableByRegex } from '@wawjs/css-prime-utils';\n/**\n * @dynamic is for runtime initializing DomHandler.browser\n *\n * If delete below comment, we can see this error message:\n * Metadata collected contains an error that will be reported at runtime:\n * Only initialized variables and constants can be referenced\n * because the value of this variable is needed by the template compiler.\n */\n// @dynamic\nexport class DomHandler {\n public static zindex: number = 1000;\n\n private static calculatedScrollbarWidth: number | null = null;\n\n private static calculatedScrollbarHeight: number | null = null;\n\n private static browser: any;\n\n public static addClass(element: any, className: string): void {\n if (element && className) {\n if (element.classList) element.classList.add(className);\n else element.className += ' ' + className;\n }\n }\n\n public static addMultipleClasses(element: any, className: string): void {\n if (element && className) {\n if (element.classList) {\n let styles: string[] = className.trim().split(' ');\n\n for (let i = 0; i < styles.length; i++) {\n element.classList.add(styles[i]);\n }\n } else {\n let styles: string[] = className.split(' ');\n\n for (let i = 0; i < styles.length; i++) {\n element.className += ' ' + styles[i];\n }\n }\n }\n }\n\n public static removeClass(element: any, className: string): void {\n if (element && className) {\n if (element.classList) element.classList.remove(className);\n else element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n\n public static removeMultipleClasses(element, classNames) {\n if (element && classNames) {\n [classNames]\n .flat()\n .filter(Boolean)\n .forEach((cNames) => cNames.split(' ').forEach((className) => this.removeClass(element, className)));\n }\n }\n\n public static hasClass(element: any, className: string): boolean {\n if (element && className) {\n if (element.classList) return element.classList.contains(className);\n else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n\n return false;\n }\n\n public static siblings(element: any): any {\n return Array.prototype.filter.call(element.parentNode.children, function (child) {\n return child !== element;\n });\n }\n\n public static find(element: any, selector: string): any[] {\n return Array.from(element.querySelectorAll(selector));\n }\n\n public static findSingle(element: any, selector: string): any {\n return this.isElement(element) ? element.querySelector(selector) : null;\n }\n\n public static index(element: any): number {\n let children = element.parentNode.childNodes;\n let num = 0;\n\n for (let i = 0; i < children.length; i++) {\n if (children[i] == element) return num;\n if (children[i].nodeType == 1) num++;\n }\n\n return -1;\n }\n\n public static indexWithinGroup(element: any, attributeName: string): number {\n let children = element.parentNode ? element.parentNode.childNodes : [];\n let num = 0;\n\n for (let i = 0; i < children.length; i++) {\n if (children[i] == element) return num;\n if (children[i].attributes && children[i].attributes[attributeName] && children[i].nodeType == 1) num++;\n }\n\n return -1;\n }\n\n public static appendOverlay(overlay: any, target: any, appendTo: any = 'self') {\n if (appendTo !== 'self' && overlay && target) {\n this.appendChild(overlay, target);\n }\n }\n\n public static alignOverlay(overlay: any, target: any, appendTo: any = 'self', calculateMinWidth: boolean = true) {\n if (overlay && target) {\n if (calculateMinWidth) {\n overlay.style.minWidth = `${DomHandler.getOuterWidth(target)}px`;\n }\n\n if (appendTo === 'self') {\n this.relativePosition(overlay, target);\n } else {\n this.absolutePosition(overlay, target);\n }\n }\n }\n\n public static relativePosition(element: any, target: any, gutter: boolean = true): void {\n const getClosestRelativeElement = (el) => {\n if (!el) return;\n\n return getComputedStyle(el).getPropertyValue('position') === 'relative' ? el : getClosestRelativeElement(el.parentElement);\n };\n\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = this.getWindowScrollTop();\n const windowScrollLeft = this.getWindowScrollLeft();\n const viewport = this.getViewport();\n const relativeElement = getClosestRelativeElement(element);\n const relativeElementOffset = relativeElement?.getBoundingClientRect() || {\n top: -1 * windowScrollTop,\n left: -1 * windowScrollLeft\n };\n let top: number,\n left: number,\n origin: string = 'top';\n\n if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = targetOffset.top - relativeElementOffset.top - elementDimensions.height;\n origin = 'bottom';\n\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight + targetOffset.top - relativeElementOffset.top;\n origin = 'top';\n }\n\n const horizontalOverflow = targetOffset.left + elementDimensions.width - viewport.width;\n const targetLeftOffsetInSpaceOfRelativeElement = targetOffset.left - relativeElementOffset.left;\n\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = (targetOffset.left - relativeElementOffset.left) * -1;\n } else if (horizontalOverflow > 0) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = targetLeftOffsetInSpaceOfRelativeElement - horizontalOverflow;\n } else {\n // element fits on screen (align with target)\n left = targetOffset.left - relativeElementOffset.left;\n }\n\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n element.style.transformOrigin = origin;\n\n if (gutter) {\n const gutterValue = getCSSVariableByRegex(/-anchor-gutter$/)?.value;\n\n element.style.marginTop = origin === 'bottom' ? `calc(${gutterValue ?? '2px'} * -1)` : (gutterValue ?? '');\n }\n }\n\n public static absolutePosition(element: any, target: any, gutter: boolean = true): void {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = this.getWindowScrollTop();\n const windowScrollLeft = this.getWindowScrollLeft();\n const viewport = this.getViewport();\n let top: number, left: number;\n\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n element.style.transformOrigin = 'bottom';\n\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n element.style.transformOrigin = 'top';\n }\n\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else left = targetOffset.left + windowScrollLeft;\n\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n gutter && (element.style.marginTop = origin === 'bottom' ? 'calc(var(--p-anchor-gutter) * -1)' : 'calc(var(--p-anchor-gutter))');\n }\n\n static getParents(element: any, parents: any = []): any {\n return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));\n }\n\n static getScrollableParents(element: any) {\n let scrollableParents: any[] = [];\n\n if (element) {\n let parents = this.getParents(element);\n const overflowRegex = /(auto|scroll)/;\n\n const overflowCheck = (node: any) => {\n let styleDeclaration = window['getComputedStyle'](node, null);\n\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n };\n\n for (let parent of parents) {\n let scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n\n if (scrollSelectors) {\n let selectors = scrollSelectors.split(',');\n\n for (let selector of selectors) {\n let el = this.findSingle(parent, selector);\n\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n }\n\n public static getHiddenElementOuterHeight(element: any): number {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementHeight = element.offsetHeight;\n\n element.style.display = 'none';\n element.style.visibility = 'visible';\n\n return elementHeight;\n }\n\n public static getHiddenElementOuterWidth(element: any): number {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementWidth = element.offsetWidth;\n\n element.style.display = 'none';\n element.style.visibility = 'visible';\n\n return elementWidth;\n }\n\n public static getHiddenElementDimensions(element: any): any {\n let dimensions: any = {};\n\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n\n return dimensions;\n }\n\n public static scrollInView(container, item) {\n let borderTopValue: string = getComputedStyle(container).getPropertyValue('borderTopWidth');\n let borderTop: number = borderTopValue ? parseFloat(borderTopValue) : 0;\n let paddingTopValue: string = getComputedStyle(container).getPropertyValue('paddingTop');\n let paddingTop: number = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n let containerRect = container.getBoundingClientRect();\n let itemRect = item.getBoundingClientRect();\n let offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n let scroll = container.scrollTop;\n let elementHeight = container.clientHeight;\n let itemHeight = this.getOuterHeight(item);\n\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n }\n\n public static fadeIn(element, duration: number): void {\n element.style.opacity = 0;\n\n let last = +new Date();\n let opacity = 0;\n\n let tick = function () {\n opacity = +element.style.opacity.replace(',', '.') + (new Date().getTime() - last) / duration;\n element.style.opacity = opacity;\n last = +new Date();\n\n if (+opacity < 1) {\n if (window.requestAnimationFrame) window.requestAnimationFrame(tick);\n else setTimeout(tick, 16);\n }\n };\n\n tick();\n }\n\n public static fadeOut(element, ms) {\n let opacity = 1,\n interval = 50,\n duration = ms,\n gap = interval / duration;\n\n let fading = setInterval(() => {\n opacity = opacity - gap;\n\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n\n element.style.opacity = opacity;\n }, interval);\n }\n\n public static getWindowScrollTop(): number {\n let doc = document.documentElement;\n\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n }\n\n public static getWindowScrollLeft(): number {\n let doc = document.documentElement;\n\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n }\n\n public static matches(element, selector: string): boolean {\n let p = Element.prototype;\n\n let f =\n p['matches'] ||\n p.webkitMatchesSelector ||\n p['mozMatchesSelector'] ||\n p['msMatchesSelector'] ||\n function (s) {\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n\n return f.call(element, selector);\n }\n\n public static getOuterWidth(el, margin?) {\n let width = el.offsetWidth;\n\n if (margin) {\n let style = getComputedStyle(el);\n\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n return width;\n }\n\n public static getHorizontalPadding(el) {\n let style = getComputedStyle(el);\n\n return parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n\n public static getHorizontalMargin(el) {\n let style = getComputedStyle(el);\n\n return parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n public static innerWidth(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n\n return width;\n }\n\n public static width(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n\n return width;\n }\n\n public static getInnerHeight(el) {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n\n height += parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n\n return height;\n }\n\n public static getOuterHeight(el, margin?) {\n let height = el.offsetHeight;\n\n if (margin) {\n let style = getComputedStyle(el);\n\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n public static getHeight(el): number {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\n return height;\n }\n\n public static getWidth(el): number {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n\n return width;\n }\n\n public static getViewport(): any {\n let win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n return { width: w, height: h };\n }\n\n public static getOffset(el) {\n let rect = el.getBoundingClientRect();\n\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)\n };\n }\n\n public static replaceElementWith(element: any, replacementElement: any): any {\n let parentNode = element.parentNode;\n\n if (!parentNode) throw `Can't replace element`;\n\n return parentNode.replaceChild(replacementElement, element);\n }\n\n public static getUserAgent(): string | undefined {\n if (navigator && this.isClient()) {\n return navigator.userAgent;\n }\n }\n\n public static isIE() {\n let ua = window.navigator.userAgent;\n\n let msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return true;\n }\n\n let trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n return true;\n }\n\n let edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return true;\n }\n\n // other browser\n return false;\n }\n\n public static isIOS() {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];\n }\n\n public static isAndroid() {\n return /(android)/i.test(navigator.userAgent);\n }\n\n public static isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n }\n\n public static appendChild(element: any, target: any) {\n if (this.isElement(target)) target.appendChild(element);\n else if (target && target.el && target.el.nativeElement) target.el.nativeElement.appendChild(element);\n else throw 'Cannot append ' + target + ' to ' + element;\n }\n\n public static removeChild(element: any, target: any) {\n if (this.isElement(target)) target.removeChild(element);\n else if (target.el && target.el.nativeElement) target.el.nativeElement.removeChild(element);\n else throw 'Cannot remove ' + element + ' from ' + target;\n }\n\n public static removeElement(element: Element) {\n if (!('remove' in Element.prototype)) element.parentNode?.removeChild(element);\n else element.remove();\n }\n\n public static isElement(obj: any) {\n return typeof HTMLElement === 'object' ? obj instanceof HTMLElement : obj && typeof obj === 'object' && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n }\n\n public static calculateScrollbarWidth(el?: HTMLElement): number {\n if (el) {\n let style = getComputedStyle(el);\n\n return el.offsetWidth - el.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (this.calculatedScrollbarWidth !== null) return this.calculatedScrollbarWidth;\n\n let scrollDiv = document.createElement('div');\n\n scrollDiv.className = 'p-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n\n let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n document.body.removeChild(scrollDiv);\n\n this.calculatedScrollbarWidth = scrollbarWidth;\n\n return scrollbarWidth;\n }\n }\n\n public static calculateScrollbarHeight(): number {\n if (this.calculatedScrollbarHeight !== null) return this.calculatedScrollbarHeight;\n\n let scrollDiv = document.createElement('div');\n\n scrollDiv.className = 'p-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n\n let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n\n document.body.removeChild(scrollDiv);\n\n this.calculatedScrollbarWidth = scrollbarHeight;\n\n return scrollbarHeight;\n }\n\n public static invokeElementMethod(element: any, methodName: string, args?: any[]): void {\n (element as any)[methodName].apply(element, args);\n }\n\n public static clearSelection(): void {\n if (window.getSelection && window.getSelection()) {\n if (window.getSelection()?.empty) {\n window.getSelection()?.empty();\n } else if (window.getSelection()?.removeAllRanges && (window.getSelection()?.rangeCount || 0) > 0 && (window.getSelection()?.getRangeAt(0)?.getClientRects()?.length || 0) > 0) {\n window.getSelection()?.removeAllRanges();\n }\n } else if (document['selection'] && document['selection'].empty) {\n try {\n document['selection'].empty();\n } catch {\n //ignore IE bug\n }\n }\n }\n\n public static getBrowser() {\n if (!this.browser) {\n let matched = this.resolveUserAgent();\n\n this.browser = {};\n\n if (matched.browser) {\n this.browser[matched.browser] = true;\n this.browser['version'] = matched.version;\n }\n\n if (this.browser['chrome']) {\n this.browser['webkit'] = true;\n } else if (this.browser['webkit']) {\n this.browser['safari'] = true;\n }\n }\n\n return this.browser;\n }\n\n public static resolveUserAgent() {\n let ua = navigator.userAgent.toLowerCase();\n let match = /(chrome)[ /]([\\w.]+)/.exec(ua) || /(webkit)[ /]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ /]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || (ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua)) || [];\n\n return {\n browser: match[1] || '',\n version: match[2] || '0'\n };\n }\n\n public static isInteger(value): boolean {\n if (Number.isInteger) {\n return Number.isInteger(value);\n } else {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n }\n }\n\n public static isHidden(element: HTMLElement): boolean {\n return !element || element.offsetParent === null;\n }\n\n public static isVisible(element: HTMLElement) {\n return element && element.offsetParent != null;\n }\n\n public static isExist(element: HTMLElement) {\n return element !== null && typeof element !== 'undefined' && element.nodeName && element.parentNode;\n }\n\n public static focus(element: HTMLElement, options?: FocusOptions): void {\n element && document.activeElement !== element && element.focus(options);\n }\n\n public static getFocusableSelectorString(selector = ''): string {\n return `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n .p-inputtext:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n .p-button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`;\n }\n\n public static getFocusableElements(element, selector = ''): any[] {\n let focusableElements = this.find(element, this.getFocusableSelectorString(selector));\n\n let visibleFocusableElements: any[] = [];\n\n for (let focusableElement of focusableElements) {\n const computedStyle = getComputedStyle(focusableElement);\n\n if (this.isVisible(focusableElement) && computedStyle.display != 'none' && computedStyle.visibility != 'hidden') visibleFocusableElements.push(focusableElement);\n }\n\n return visibleFocusableElements;\n }\n\n public static getFocusableElement(element, selector = ''): any | null {\n let focusableElement = this.findSingle(element, this.getFocusableSelectorString(selector));\n\n if (focusableElement) {\n const computedStyle = getComputedStyle(focusableElement);\n\n if (this.isVisible(focusableElement) && computedStyle.display != 'none' && computedStyle.visibility != 'hidden') return focusableElement;\n }\n\n return null;\n }\n\n public static getFirstFocusableElement(element, selector = '') {\n const focusableElements = this.getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[0] : null;\n }\n\n public static getLastFocusableElement(element, selector) {\n const focusableElements = this.getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n }\n\n public static getNextFocusableElement(element: HTMLElement, reverse = false) {\n const focusableElements = DomHandler.getFocusableElements(element);\n let index = 0;\n\n if (focusableElements && focusableElements.length > 0) {\n const focusedIndex = focusableElements.indexOf(focusableElements[0].ownerDocument.activeElement);\n\n if (reverse) {\n if (focusedIndex == -1 || focusedIndex === 0) {\n index = focusableElements.length - 1;\n } else {\n index = focusedIndex - 1;\n }\n } else if (focusedIndex != -1 && focusedIndex !== focusableElements.length - 1) {\n index = focusedIndex + 1;\n }\n }\n\n return focusableElements[index];\n }\n\n static generateZIndex() {\n this.zindex = this.zindex || 999;\n\n return ++this.zindex;\n }\n\n public static getSelection() {\n if (window.getSelection) return window.getSelection()?.toString();\n else if (document.getSelection) return document.getSelection()?.toString();\n else if (document['selection']) return document['selection'].createRange().text;\n\n return null;\n }\n\n public static getTargetElement(target: any, el?: HTMLElement) {\n if (!target) return null;\n\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case '@next':\n return el?.nextElementSibling;\n case '@prev':\n return el?.previousElementSibling;\n case '@parent':\n return el?.parentElement;\n case '@grandparent':\n return el?.parentElement?.parentElement;\n\n default: {\n const type = typeof target;\n\n if (type === 'string') {\n return document.querySelector(target);\n } else if (type === 'object' && Object.prototype.hasOwnProperty.call(target, 'nativeElement')) {\n return this.isExist(target.nativeElement) ? target.nativeElement : undefined;\n }\n\n const isFunction = (obj: any) => !!(obj && obj.constructor && obj.call && obj.apply);\n const element = isFunction(target) ? target() : target;\n\n return (element && element.nodeType === 9) || this.isExist(element) ? element : null;\n }\n }\n }\n\n public static isClient() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n }\n\n public static getAttribute(element, name) {\n if (element) {\n const value = element.getAttribute(name);\n\n if (!isNaN(value)) {\n return +value;\n }\n\n if (value === 'true' || value === 'false') {\n return value === 'true';\n }\n\n return value;\n }\n\n return undefined;\n }\n\n public static calculateBodyScrollbarWidth() {\n return window.innerWidth - document.documentElement.offsetWidth;\n }\n\n public static blockBodyScroll(className = 'p-overflow-hidden') {\n document.body.style.setProperty('--scrollbar-width', this.calculateBodyScrollbarWidth() + 'px');\n this.addClass(document.body, className);\n }\n\n public static unblockBodyScroll(className = 'p-overflow-hidden') {\n document.body.style.removeProperty('--scrollbar-width');\n this.removeClass(document.body, className);\n }\n\n public static createElement(type, attributes = {}, ...children) {\n if (type) {\n const element = document.createElement(type);\n\n this.setAttributes(element, attributes);\n element.append(...children);\n\n return element;\n }\n\n return undefined;\n }\n\n public static setAttribute(element, attribute = '', value) {\n if (this.isElement(element) && value !== null && value !== undefined) {\n element.setAttribute(attribute, value);\n }\n }\n\n public static setAttributes(element, attributes = {}) {\n if (this.isElement(element)) {\n const computedStyles = (rule, value) => {\n const styles = element?.$attrs?.[rule] ? [element?.$attrs?.[rule]] : [];\n\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== undefined) {\n const type = typeof v;\n\n if (type === 'string' || type === 'number') {\n cv.push(v);\n } else if (type === 'object') {\n const _cv = Array.isArray(v)\n ? computedStyles(rule, v)\n : Object.entries(v).map(([_k, _v]) => (rule === 'style' && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}:${_v}` : _v ? _k : undefined));\n\n cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;\n }\n }\n\n return cv;\n }, styles);\n };\n\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === 'pBind') {\n this.setAttributes(element, value);\n } else {\n value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;\n (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n }\n\n public static isFocusableElement(element, selector = '') {\n return this.isElement(element)\n ? element.matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`)\n : false;\n }\n}\n\nimport { $dt } from '@wawjs/css-prime-styled';\nimport * as utils from '@wawjs/css-prime-utils';\n\n// @todo: update this when we remove the old domhandler\nexport function blockBodyScroll() {\n utils.blockBodyScroll({ variableName: $dt('scrollbar.width').name });\n}\n\nexport function unblockBodyScroll() {\n utils.unblockBodyScroll({ variableName: $dt('scrollbar.width').name });\n}\n","import { DomHandler } from './domhandler';\n\nexport class ConnectedOverlayScrollHandler {\n element: any;\n\n listener: any;\n\n scrollableParents: any;\n\n constructor(element: any, listener: any = () => {}) {\n this.element = element;\n this.listener = listener;\n }\n\n bindScrollListener() {\n this.scrollableParents = DomHandler.getScrollableParents(this.element);\n\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n\n unbindScrollListener() {\n if (this.scrollableParents) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -136,10 +136,10 @@ class Draggable {
|
|
|
136
136
|
this.unbindDragListener();
|
|
137
137
|
this.unbindMouseListeners();
|
|
138
138
|
}
|
|
139
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
140
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.
|
|
139
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Draggable, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
140
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.5", type: Draggable, isStandalone: true, selector: "[pDraggable]", inputs: { scope: { classPropertyName: "scope", publicName: "pDraggable", isSignal: true, isRequired: false, transformFunction: null }, dragEffect: { classPropertyName: "dragEffect", publicName: "dragEffect", isSignal: true, isRequired: false, transformFunction: null }, dragHandle: { classPropertyName: "dragHandle", publicName: "dragHandle", isSignal: true, isRequired: false, transformFunction: null }, pDraggableDisabled: { classPropertyName: "pDraggableDisabled", publicName: "pDraggableDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDragStart: "onDragStart", onDragEnd: "onDragEnd", onDrag: "onDrag" }, host: { listeners: { "dragstart": "dragStart($event)", "dragend": "dragEnd($event)" } }, ngImport: i0 });
|
|
141
141
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Draggable, decorators: [{
|
|
143
143
|
type: Directive,
|
|
144
144
|
args: [{
|
|
145
145
|
selector: '[pDraggable]',
|
|
@@ -261,10 +261,10 @@ class Droppable {
|
|
|
261
261
|
ngOnDestroy() {
|
|
262
262
|
this.unbindDragOverListener();
|
|
263
263
|
}
|
|
264
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
265
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.
|
|
264
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Droppable, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
265
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.5", type: Droppable, isStandalone: true, selector: "[pDroppable]", inputs: { scope: { classPropertyName: "scope", publicName: "pDroppable", isSignal: true, isRequired: false, transformFunction: null }, pDroppableDisabled: { classPropertyName: "pDroppableDisabled", publicName: "pDroppableDisabled", isSignal: true, isRequired: false, transformFunction: null }, dropEffect: { classPropertyName: "dropEffect", publicName: "dropEffect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDragEnter: "onDragEnter", onDragLeave: "onDragLeave", onDrop: "onDrop" }, host: { listeners: { "drop": "drop($event)", "dragenter": "dragEnter($event)", "dragleave": "dragLeave($event)" } }, ngImport: i0 });
|
|
266
266
|
}
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Droppable, decorators: [{
|
|
268
268
|
type: Directive,
|
|
269
269
|
args: [{
|
|
270
270
|
selector: '[pDroppable]',
|
|
@@ -277,11 +277,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
277
277
|
}]
|
|
278
278
|
}], ctorParameters: () => [], propDecorators: { scope: [{ type: i0.Input, args: [{ isSignal: true, alias: "pDroppable", required: false }] }], pDroppableDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "pDroppableDisabled", required: false }] }], dropEffect: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropEffect", required: false }] }], onDragEnter: [{ type: i0.Output, args: ["onDragEnter"] }], onDragLeave: [{ type: i0.Output, args: ["onDragLeave"] }], onDrop: [{ type: i0.Output, args: ["onDrop"] }] } });
|
|
279
279
|
class DragDropModule {
|
|
280
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
281
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
282
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
280
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
281
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: DragDropModule, imports: [Draggable, Droppable], exports: [Draggable, Droppable] });
|
|
282
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: DragDropModule });
|
|
283
283
|
}
|
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: DragDropModule, decorators: [{
|
|
285
285
|
type: NgModule,
|
|
286
286
|
args: [{
|
|
287
287
|
imports: [Draggable, Droppable],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wawjs-ngx-prime-dragdrop.mjs","sources":["../../src/dragdrop/dragdrop.ts","../../src/dragdrop/wawjs-ngx-prime-dragdrop.ts"],"sourcesContent":["import { AfterViewInit, Directive, effect, ElementRef, input, NgModule, NgZone, OnDestroy, output, Renderer2, inject } from '@angular/core';\nimport { addClass, removeClass } from '@wawjs/css-prime-utils';\nimport { DomHandler } from '@wawjs/ngx-prime/dom';\nimport { VoidListener } from '@wawjs/ngx-prime/ts-helpers';\n\n/**\n * pDraggable directive apply draggable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDraggable]',\n standalone: true,\n host: {\n '(dragstart)': 'dragStart($event)',\n '(dragend)': 'dragEnd($event)'\n }\n})\nexport class Draggable implements AfterViewInit, OnDestroy {\n el = inject(ElementRef);\n zone = inject(NgZone);\n private renderer = inject(Renderer2);\n\n scope = input<string | undefined>(undefined, { alias: 'pDraggable' });\n /**\n * Defines the cursor style.\n * @group Props\n */\n dragEffect = input<'none' | 'copy' | 'copyLink' | 'copyMove' | 'link' | 'linkMove' | 'move' | 'all' | 'uninitialized'>();\n /**\n * Selector to define the drag handle, by default anywhere on the target element is a drag handle to start dragging.\n * @group Props\n */\n dragHandle = input<string>();\n /**\n * Callback to invoke when drag begins.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n onDragStart = output<DragEvent>();\n /**\n * Callback to invoke when drag ends.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n onDragEnd = output<DragEvent>();\n /**\n * Callback to invoke on dragging.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n onDrag = output<DragEvent>();\n\n handle: any;\n\n dragListener: VoidListener;\n\n mouseDownListener: VoidListener;\n\n mouseUpListener: VoidListener;\n\n pDraggableDisabled = input(false);\n\n constructor() {\n effect(() => {\n if (this.pDraggableDisabled()) {\n this.unbindMouseListeners();\n } else {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n });\n }\n\n ngAfterViewInit() {\n if (!this.pDraggableDisabled()) {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n }\n\n bindDragListener() {\n if (!this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener = this.renderer.listen(this.el.nativeElement, 'drag', this.drag.bind(this));\n });\n }\n }\n\n unbindDragListener() {\n if (this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener && this.dragListener();\n this.dragListener = null;\n });\n }\n }\n\n bindMouseListeners() {\n if (!this.mouseDownListener && !this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.mousedown.bind(this));\n this.mouseUpListener = this.renderer.listen(this.el.nativeElement, 'mouseup', this.mouseup.bind(this));\n });\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseDownListener && this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener && this.mouseDownListener();\n this.mouseUpListener && this.mouseUpListener();\n this.mouseDownListener = null;\n this.mouseUpListener = null;\n });\n }\n }\n\n drag(event: DragEvent) {\n this.onDrag.emit(event);\n }\n\n dragStart(event: DragEvent) {\n if (this.allowDrag() && !this.pDraggableDisabled()) {\n const dragEffect = this.dragEffect();\n\n if (dragEffect) {\n (event.dataTransfer as DataTransfer).effectAllowed = dragEffect;\n }\n\n (event.dataTransfer as DataTransfer).setData('text', this.scope()!);\n\n this.onDragStart.emit(event);\n\n this.bindDragListener();\n } else {\n event.preventDefault();\n }\n }\n\n dragEnd(event: DragEvent) {\n this.onDragEnd.emit(event);\n this.unbindDragListener();\n }\n\n mousedown(event: MouseEvent) {\n this.handle = event.target;\n }\n\n mouseup() {\n this.handle = null;\n }\n\n allowDrag(): boolean {\n const dragHandle = this.dragHandle();\n\n if (dragHandle && this.handle) return DomHandler.matches(this.handle, dragHandle);\n else return true;\n }\n\n ngOnDestroy() {\n this.unbindDragListener();\n this.unbindMouseListeners();\n }\n}\n/**\n * pDroppable directive apply droppable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDroppable]',\n standalone: true,\n host: {\n '(drop)': 'drop($event)',\n '(dragenter)': 'dragEnter($event)',\n '(dragleave)': 'dragLeave($event)'\n }\n})\nexport class Droppable implements AfterViewInit, OnDestroy {\n el = inject(ElementRef);\n zone = inject(NgZone);\n private renderer = inject(Renderer2);\n\n scope = input<string | string[] | undefined>(undefined, { alias: 'pDroppable' });\n /**\n * Whether the element is droppable, useful for conditional cases.\n * @group Props\n */\n pDroppableDisabled = input(false);\n /**\n * Defines the cursor style, valid values are none, copy, move, link, copyMove, copyLink, linkMove and all.\n * @group Props\n */\n dropEffect = input<'none' | 'copy' | 'link' | 'move'>();\n /**\n * Callback to invoke when a draggable enters drop area.\n * @group Emits\n */\n onDragEnter = output<DragEvent>();\n /**\n * Callback to invoke when a draggable leave drop area.\n * @group Emits\n */\n onDragLeave = output<DragEvent>();\n /**\n * Callback to invoke when a draggable is dropped onto drop area.\n * @group Emits\n */\n onDrop = output<DragEvent>();\n\n dragOverListener: VoidListener;\n\n constructor() {\n effect(() => {\n if (this.pDroppableDisabled()) {\n this.unbindDragOverListener();\n } else {\n this.bindDragOverListener();\n }\n });\n }\n\n ngAfterViewInit() {\n if (!this.pDroppableDisabled()) {\n this.bindDragOverListener();\n }\n }\n\n bindDragOverListener() {\n if (!this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener = this.renderer.listen(this.el.nativeElement, 'dragover', this.dragOver.bind(this));\n });\n }\n }\n\n unbindDragOverListener() {\n if (this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener && this.dragOverListener();\n this.dragOverListener = null;\n });\n }\n }\n\n dragOver(event: DragEvent) {\n event.preventDefault();\n }\n\n drop(event: DragEvent) {\n if (this.allowDrop(event)) {\n removeClass(this.el.nativeElement, 'p-draggable-enter');\n event.preventDefault();\n this.onDrop.emit(event);\n }\n }\n\n dragEnter(event: DragEvent) {\n event.preventDefault();\n\n const dropEffect = this.dropEffect();\n\n if (dropEffect) {\n (event.dataTransfer as DataTransfer).dropEffect = dropEffect;\n }\n\n addClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragEnter.emit(event);\n }\n\n dragLeave(event: DragEvent) {\n event.preventDefault();\n\n if (!this.el.nativeElement.contains(event.relatedTarget)) {\n removeClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragLeave.emit(event);\n }\n }\n\n allowDrop(event: DragEvent): boolean {\n let dragScope = (event.dataTransfer as DataTransfer).getData('text');\n\n const scope = this.scope();\n\n if (typeof scope == 'string' && dragScope == scope) {\n return true;\n } else if (Array.isArray(scope)) {\n for (let j = 0; j < scope.length; j++) {\n if (dragScope == scope[j]) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n ngOnDestroy() {\n this.unbindDragOverListener();\n }\n}\n\n@NgModule({\n imports: [Draggable, Droppable],\n exports: [Draggable, Droppable]\n})\nexport class DragDropModule {}\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":"wawjs-ngx-prime-dragdrop.mjs","sources":["../../src/dragdrop/dragdrop.ts","../../src/dragdrop/wawjs-ngx-prime-dragdrop.ts"],"sourcesContent":["import { AfterViewInit, Directive, effect, ElementRef, input, NgModule, NgZone, OnDestroy, output, Renderer2, inject } from '@angular/core';\nimport { addClass, removeClass } from '@wawjs/css-prime-utils';\nimport { DomHandler } from '@wawjs/ngx-prime/dom';\nimport { VoidListener } from '@wawjs/ngx-prime/ts-helpers';\n\n/**\n * pDraggable directive apply draggable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDraggable]',\n standalone: true,\n host: {\n '(dragstart)': 'dragStart($event)',\n '(dragend)': 'dragEnd($event)'\n }\n})\nexport class Draggable implements AfterViewInit, OnDestroy {\n el = inject(ElementRef);\n zone = inject(NgZone);\n private renderer = inject(Renderer2);\n\n scope = input<string | undefined>(undefined, { alias: 'pDraggable' });\n /**\n * Defines the cursor style.\n * @group Props\n */\n dragEffect = input<'none' | 'copy' | 'copyLink' | 'copyMove' | 'link' | 'linkMove' | 'move' | 'all' | 'uninitialized'>();\n /**\n * Selector to define the drag handle, by default anywhere on the target element is a drag handle to start dragging.\n * @group Props\n */\n dragHandle = input<string>();\n /**\n * Callback to invoke when drag begins.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n onDragStart = output<DragEvent>();\n /**\n * Callback to invoke when drag ends.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n onDragEnd = output<DragEvent>();\n /**\n * Callback to invoke on dragging.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n onDrag = output<DragEvent>();\n\n handle: any;\n\n dragListener: VoidListener;\n\n mouseDownListener: VoidListener;\n\n mouseUpListener: VoidListener;\n\n pDraggableDisabled = input(false);\n\n constructor() {\n effect(() => {\n if (this.pDraggableDisabled()) {\n this.unbindMouseListeners();\n } else {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n });\n }\n\n ngAfterViewInit() {\n if (!this.pDraggableDisabled()) {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n }\n\n bindDragListener() {\n if (!this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener = this.renderer.listen(this.el.nativeElement, 'drag', this.drag.bind(this));\n });\n }\n }\n\n unbindDragListener() {\n if (this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener && this.dragListener();\n this.dragListener = null;\n });\n }\n }\n\n bindMouseListeners() {\n if (!this.mouseDownListener && !this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.mousedown.bind(this));\n this.mouseUpListener = this.renderer.listen(this.el.nativeElement, 'mouseup', this.mouseup.bind(this));\n });\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseDownListener && this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener && this.mouseDownListener();\n this.mouseUpListener && this.mouseUpListener();\n this.mouseDownListener = null;\n this.mouseUpListener = null;\n });\n }\n }\n\n drag(event: DragEvent) {\n this.onDrag.emit(event);\n }\n\n dragStart(event: DragEvent) {\n if (this.allowDrag() && !this.pDraggableDisabled()) {\n const dragEffect = this.dragEffect();\n\n if (dragEffect) {\n (event.dataTransfer as DataTransfer).effectAllowed = dragEffect;\n }\n\n (event.dataTransfer as DataTransfer).setData('text', this.scope()!);\n\n this.onDragStart.emit(event);\n\n this.bindDragListener();\n } else {\n event.preventDefault();\n }\n }\n\n dragEnd(event: DragEvent) {\n this.onDragEnd.emit(event);\n this.unbindDragListener();\n }\n\n mousedown(event: MouseEvent) {\n this.handle = event.target;\n }\n\n mouseup() {\n this.handle = null;\n }\n\n allowDrag(): boolean {\n const dragHandle = this.dragHandle();\n\n if (dragHandle && this.handle) return DomHandler.matches(this.handle, dragHandle);\n else return true;\n }\n\n ngOnDestroy() {\n this.unbindDragListener();\n this.unbindMouseListeners();\n }\n}\n/**\n * pDroppable directive apply droppable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDroppable]',\n standalone: true,\n host: {\n '(drop)': 'drop($event)',\n '(dragenter)': 'dragEnter($event)',\n '(dragleave)': 'dragLeave($event)'\n }\n})\nexport class Droppable implements AfterViewInit, OnDestroy {\n el = inject(ElementRef);\n zone = inject(NgZone);\n private renderer = inject(Renderer2);\n\n scope = input<string | string[] | undefined>(undefined, { alias: 'pDroppable' });\n /**\n * Whether the element is droppable, useful for conditional cases.\n * @group Props\n */\n pDroppableDisabled = input(false);\n /**\n * Defines the cursor style, valid values are none, copy, move, link, copyMove, copyLink, linkMove and all.\n * @group Props\n */\n dropEffect = input<'none' | 'copy' | 'link' | 'move'>();\n /**\n * Callback to invoke when a draggable enters drop area.\n * @group Emits\n */\n onDragEnter = output<DragEvent>();\n /**\n * Callback to invoke when a draggable leave drop area.\n * @group Emits\n */\n onDragLeave = output<DragEvent>();\n /**\n * Callback to invoke when a draggable is dropped onto drop area.\n * @group Emits\n */\n onDrop = output<DragEvent>();\n\n dragOverListener: VoidListener;\n\n constructor() {\n effect(() => {\n if (this.pDroppableDisabled()) {\n this.unbindDragOverListener();\n } else {\n this.bindDragOverListener();\n }\n });\n }\n\n ngAfterViewInit() {\n if (!this.pDroppableDisabled()) {\n this.bindDragOverListener();\n }\n }\n\n bindDragOverListener() {\n if (!this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener = this.renderer.listen(this.el.nativeElement, 'dragover', this.dragOver.bind(this));\n });\n }\n }\n\n unbindDragOverListener() {\n if (this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener && this.dragOverListener();\n this.dragOverListener = null;\n });\n }\n }\n\n dragOver(event: DragEvent) {\n event.preventDefault();\n }\n\n drop(event: DragEvent) {\n if (this.allowDrop(event)) {\n removeClass(this.el.nativeElement, 'p-draggable-enter');\n event.preventDefault();\n this.onDrop.emit(event);\n }\n }\n\n dragEnter(event: DragEvent) {\n event.preventDefault();\n\n const dropEffect = this.dropEffect();\n\n if (dropEffect) {\n (event.dataTransfer as DataTransfer).dropEffect = dropEffect;\n }\n\n addClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragEnter.emit(event);\n }\n\n dragLeave(event: DragEvent) {\n event.preventDefault();\n\n if (!this.el.nativeElement.contains(event.relatedTarget)) {\n removeClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragLeave.emit(event);\n }\n }\n\n allowDrop(event: DragEvent): boolean {\n let dragScope = (event.dataTransfer as DataTransfer).getData('text');\n\n const scope = this.scope();\n\n if (typeof scope == 'string' && dragScope == scope) {\n return true;\n } else if (Array.isArray(scope)) {\n for (let j = 0; j < scope.length; j++) {\n if (dragScope == scope[j]) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n ngOnDestroy() {\n this.unbindDragOverListener();\n }\n}\n\n@NgModule({\n imports: [Draggable, Droppable],\n exports: [Draggable, Droppable]\n})\nexport class DragDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|