@gravionlabs/helix-core 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +77 -0
- package/README.md +35 -0
- package/VENDOR.md +74 -0
- package/fesm2022/gravionlabs-helix-core-accordion.mjs +684 -0
- package/fesm2022/gravionlabs-helix-core-accordion.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-animateonscroll.mjs +167 -0
- package/fesm2022/gravionlabs-helix-core-animateonscroll.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-api.mjs +839 -0
- package/fesm2022/gravionlabs-helix-core-api.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-autocomplete.mjs +1956 -0
- package/fesm2022/gravionlabs-helix-core-autocomplete.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-autofocus.mjs +80 -0
- package/fesm2022/gravionlabs-helix-core-autofocus.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-avatar.mjs +265 -0
- package/fesm2022/gravionlabs-helix-core-avatar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-avatargroup.mjs +88 -0
- package/fesm2022/gravionlabs-helix-core-avatargroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-badge.mjs +484 -0
- package/fesm2022/gravionlabs-helix-core-badge.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-base.mjs +237 -0
- package/fesm2022/gravionlabs-helix-core-base.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-basecomponent.mjs +445 -0
- package/fesm2022/gravionlabs-helix-core-basecomponent.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-baseeditableholder.mjs +70 -0
- package/fesm2022/gravionlabs-helix-core-baseeditableholder.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-baseinput.mjs +95 -0
- package/fesm2022/gravionlabs-helix-core-baseinput.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-basemodelholder.mjs +27 -0
- package/fesm2022/gravionlabs-helix-core-basemodelholder.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-bind.mjs +99 -0
- package/fesm2022/gravionlabs-helix-core-bind.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-blockui.mjs +244 -0
- package/fesm2022/gravionlabs-helix-core-blockui.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-breadcrumb.mjs +285 -0
- package/fesm2022/gravionlabs-helix-core-breadcrumb.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-button.mjs +1494 -0
- package/fesm2022/gravionlabs-helix-core-button.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-buttongroup.mjs +126 -0
- package/fesm2022/gravionlabs-helix-core-buttongroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-card.mjs +246 -0
- package/fesm2022/gravionlabs-helix-core-card.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-carousel.mjs +1017 -0
- package/fesm2022/gravionlabs-helix-core-carousel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-cascadeselect.mjs +1615 -0
- package/fesm2022/gravionlabs-helix-core-cascadeselect.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-chart.mjs +218 -0
- package/fesm2022/gravionlabs-helix-core-chart.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-checkbox.mjs +500 -0
- package/fesm2022/gravionlabs-helix-core-checkbox.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-chip.mjs +309 -0
- package/fesm2022/gravionlabs-helix-core-chip.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-classnames.mjs +49 -0
- package/fesm2022/gravionlabs-helix-core-classnames.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-colorpicker.mjs +781 -0
- package/fesm2022/gravionlabs-helix-core-colorpicker.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-config.mjs +309 -0
- package/fesm2022/gravionlabs-helix-core-config.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-confirmdialog.mjs +570 -0
- package/fesm2022/gravionlabs-helix-core-confirmdialog.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-confirmpopup.mjs +619 -0
- package/fesm2022/gravionlabs-helix-core-confirmpopup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-contextmenu.mjs +1175 -0
- package/fesm2022/gravionlabs-helix-core-contextmenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-dataview.mjs +587 -0
- package/fesm2022/gravionlabs-helix-core-dataview.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-datepicker.mjs +3795 -0
- package/fesm2022/gravionlabs-helix-core-datepicker.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-dialog.mjs +1158 -0
- package/fesm2022/gravionlabs-helix-core-dialog.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-divider.mjs +222 -0
- package/fesm2022/gravionlabs-helix-core-divider.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-dock.mjs +504 -0
- package/fesm2022/gravionlabs-helix-core-dock.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-dom.mjs +778 -0
- package/fesm2022/gravionlabs-helix-core-dom.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-dragdrop.mjs +303 -0
- package/fesm2022/gravionlabs-helix-core-dragdrop.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-drawer.mjs +784 -0
- package/fesm2022/gravionlabs-helix-core-drawer.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-dynamicdialog.mjs +932 -0
- package/fesm2022/gravionlabs-helix-core-dynamicdialog.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-editor.mjs +1370 -0
- package/fesm2022/gravionlabs-helix-core-editor.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-fieldset.mjs +372 -0
- package/fesm2022/gravionlabs-helix-core-fieldset.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-fileupload.mjs +1085 -0
- package/fesm2022/gravionlabs-helix-core-fileupload.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-firsterror.mjs +24 -0
- package/fesm2022/gravionlabs-helix-core-firsterror.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-floatlabel.mjs +207 -0
- package/fesm2022/gravionlabs-helix-core-floatlabel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-fluid.mjs +78 -0
- package/fesm2022/gravionlabs-helix-core-fluid.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-focustrap.mjs +105 -0
- package/fesm2022/gravionlabs-helix-core-focustrap.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-galleria.mjs +1930 -0
- package/fesm2022/gravionlabs-helix-core-galleria.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-iconfield.mjs +147 -0
- package/fesm2022/gravionlabs-helix-core-iconfield.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubledown.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubledown.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubleleft.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubleleft.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubleright.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubleright.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubleup.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledoubleup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledown.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-angledown.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angleleft.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-angleleft.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angleright.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-angleright.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-angleup.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-angleup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowdown.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowdown.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowdownleft.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowdownleft.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowdownright.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowdownright.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowleft.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowleft.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowright.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowright.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowup.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-arrowup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-ban.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-ban.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-bars.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-bars.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-baseicon.mjs +100 -0
- package/fesm2022/gravionlabs-helix-core-icons-baseicon.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-blank.mjs +24 -0
- package/fesm2022/gravionlabs-helix-core-icons-blank.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-calendar.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-calendar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-caretleft.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-caretleft.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-caretright.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-caretright.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-check.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-check.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevrondown.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevrondown.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevronleft.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevronleft.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevronright.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevronright.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevronup.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-chevronup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-exclamationtriangle.mjs +69 -0
- package/fesm2022/gravionlabs-helix-core-icons-exclamationtriangle.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-eye.mjs +38 -0
- package/fesm2022/gravionlabs-helix-core-icons-eye.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-eyeslash.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-eyeslash.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-filter.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-filter.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-filterfill.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-filterfill.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-filterslash.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-filterslash.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-home.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-home.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-infocircle.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-infocircle.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-minus.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-minus.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-pencil.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-pencil.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-plus.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-plus.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-refresh.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-refresh.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-search.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-search.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-searchminus.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-searchminus.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-searchplus.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-searchplus.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-sortalt.mjs +65 -0
- package/fesm2022/gravionlabs-helix-core-icons-sortalt.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-sortamountdown.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-sortamountdown.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-sortamountupalt.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-sortamountupalt.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-spinner.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-spinner.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-star.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-star.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-starfill.mjs +53 -0
- package/fesm2022/gravionlabs-helix-core-icons-starfill.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-thlarge.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-thlarge.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-times.mjs +34 -0
- package/fesm2022/gravionlabs-helix-core-icons-times.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-timescircle.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-timescircle.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-trash.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-trash.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-undo.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-undo.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-upload.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-upload.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-windowmaximize.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-windowmaximize.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons-windowminimize.mjs +57 -0
- package/fesm2022/gravionlabs-helix-core-icons-windowminimize.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-icons.mjs +63 -0
- package/fesm2022/gravionlabs-helix-core-icons.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-iftalabel.mjs +139 -0
- package/fesm2022/gravionlabs-helix-core-iftalabel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-image.mjs +690 -0
- package/fesm2022/gravionlabs-helix-core-image.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-imagecompare.mjs +255 -0
- package/fesm2022/gravionlabs-helix-core-imagecompare.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inplace.mjs +283 -0
- package/fesm2022/gravionlabs-helix-core-inplace.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputgroup.mjs +232 -0
- package/fesm2022/gravionlabs-helix-core-inputgroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputgroupaddon.mjs +75 -0
- package/fesm2022/gravionlabs-helix-core-inputgroupaddon.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputicon.mjs +72 -0
- package/fesm2022/gravionlabs-helix-core-inputicon.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputmask.mjs +1375 -0
- package/fesm2022/gravionlabs-helix-core-inputmask.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputnumber.mjs +1513 -0
- package/fesm2022/gravionlabs-helix-core-inputnumber.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputotp.mjs +391 -0
- package/fesm2022/gravionlabs-helix-core-inputotp.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-inputtext.mjs +275 -0
- package/fesm2022/gravionlabs-helix-core-inputtext.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-keyfilter.mjs +261 -0
- package/fesm2022/gravionlabs-helix-core-keyfilter.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-knob.mjs +441 -0
- package/fesm2022/gravionlabs-helix-core-knob.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-listbox.mjs +1567 -0
- package/fesm2022/gravionlabs-helix-core-listbox.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-megamenu.mjs +1398 -0
- package/fesm2022/gravionlabs-helix-core-megamenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-menu.mjs +854 -0
- package/fesm2022/gravionlabs-helix-core-menu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-menubar.mjs +1259 -0
- package/fesm2022/gravionlabs-helix-core-menubar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-message.mjs +608 -0
- package/fesm2022/gravionlabs-helix-core-message.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-metergroup.mjs +417 -0
- package/fesm2022/gravionlabs-helix-core-metergroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-motion.mjs +706 -0
- package/fesm2022/gravionlabs-helix-core-motion.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-multiselect.mjs +2106 -0
- package/fesm2022/gravionlabs-helix-core-multiselect.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-orderlist.mjs +800 -0
- package/fesm2022/gravionlabs-helix-core-orderlist.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-organizationchart.mjs +497 -0
- package/fesm2022/gravionlabs-helix-core-organizationchart.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-overlay.mjs +686 -0
- package/fesm2022/gravionlabs-helix-core-overlay.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-overlaybadge.mjs +125 -0
- package/fesm2022/gravionlabs-helix-core-overlaybadge.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-paginator.mjs +670 -0
- package/fesm2022/gravionlabs-helix-core-paginator.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-panel.mjs +416 -0
- package/fesm2022/gravionlabs-helix-core-panel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-panelmenu.mjs +1070 -0
- package/fesm2022/gravionlabs-helix-core-panelmenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-passthrough.mjs +21 -0
- package/fesm2022/gravionlabs-helix-core-passthrough.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-password.mjs +1047 -0
- package/fesm2022/gravionlabs-helix-core-password.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-picklist.mjs +1393 -0
- package/fesm2022/gravionlabs-helix-core-picklist.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-popover.mjs +507 -0
- package/fesm2022/gravionlabs-helix-core-popover.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-progressbar.mjs +292 -0
- package/fesm2022/gravionlabs-helix-core-progressbar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-progressspinner.mjs +199 -0
- package/fesm2022/gravionlabs-helix-core-progressspinner.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-radiobutton.mjs +450 -0
- package/fesm2022/gravionlabs-helix-core-radiobutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-rating.mjs +356 -0
- package/fesm2022/gravionlabs-helix-core-rating.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-ripple.mjs +217 -0
- package/fesm2022/gravionlabs-helix-core-ripple.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-scroller.mjs +1040 -0
- package/fesm2022/gravionlabs-helix-core-scroller.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-scrollpanel.mjs +535 -0
- package/fesm2022/gravionlabs-helix-core-scrollpanel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-scrolltop.mjs +294 -0
- package/fesm2022/gravionlabs-helix-core-scrolltop.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-select.mjs +1907 -0
- package/fesm2022/gravionlabs-helix-core-select.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-selectbutton.mjs +390 -0
- package/fesm2022/gravionlabs-helix-core-selectbutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-skeleton.mjs +214 -0
- package/fesm2022/gravionlabs-helix-core-skeleton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-slider.mjs +730 -0
- package/fesm2022/gravionlabs-helix-core-slider.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-speeddial.mjs +775 -0
- package/fesm2022/gravionlabs-helix-core-speeddial.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-splitbutton.mjs +429 -0
- package/fesm2022/gravionlabs-helix-core-splitbutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-splitter.mjs +597 -0
- package/fesm2022/gravionlabs-helix-core-splitter.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-stepper.mjs +853 -0
- package/fesm2022/gravionlabs-helix-core-stepper.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-steps.mjs +393 -0
- package/fesm2022/gravionlabs-helix-core-steps.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-styleclass.mjs +345 -0
- package/fesm2022/gravionlabs-helix-core-styleclass.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-table.mjs +6333 -0
- package/fesm2022/gravionlabs-helix-core-table.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-tabs.mjs +900 -0
- package/fesm2022/gravionlabs-helix-core-tabs.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-tag.mjs +212 -0
- package/fesm2022/gravionlabs-helix-core-tag.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-terminal.mjs +259 -0
- package/fesm2022/gravionlabs-helix-core-terminal.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-textarea.mjs +305 -0
- package/fesm2022/gravionlabs-helix-core-textarea.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-themes-aura.mjs +5649 -0
- package/fesm2022/gravionlabs-helix-core-themes-aura.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-themes-lara.mjs +5812 -0
- package/fesm2022/gravionlabs-helix-core-themes-lara.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-themes-nora.mjs +5570 -0
- package/fesm2022/gravionlabs-helix-core-themes-nora.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-themes-types.mjs +700 -0
- package/fesm2022/gravionlabs-helix-core-themes-types.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-themes.mjs +16 -0
- package/fesm2022/gravionlabs-helix-core-themes.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-tieredmenu.mjs +1201 -0
- package/fesm2022/gravionlabs-helix-core-tieredmenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-timeline.mjs +346 -0
- package/fesm2022/gravionlabs-helix-core-timeline.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-toast.mjs +807 -0
- package/fesm2022/gravionlabs-helix-core-toast.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-togglebutton.mjs +451 -0
- package/fesm2022/gravionlabs-helix-core-togglebutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-toggleswitch.mjs +372 -0
- package/fesm2022/gravionlabs-helix-core-toggleswitch.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-toolbar.mjs +174 -0
- package/fesm2022/gravionlabs-helix-core-toolbar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-tooltip.mjs +860 -0
- package/fesm2022/gravionlabs-helix-core-tooltip.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-tree.mjs +1860 -0
- package/fesm2022/gravionlabs-helix-core-tree.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-treeselect.mjs +1178 -0
- package/fesm2022/gravionlabs-helix-core-treeselect.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-treetable.mjs +4199 -0
- package/fesm2022/gravionlabs-helix-core-treetable.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-ts-helpers.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-ts-helpers.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-accordion.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-accordion.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-autocomplete.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-autocomplete.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-avatar.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-avatar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-avatargroup.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-avatargroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-badge.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-badge.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-blockui.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-blockui.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-breadcrumb.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-breadcrumb.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-button.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-button.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-card.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-card.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-carousel.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-carousel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-cascadeselect.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-cascadeselect.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-chart.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-chart.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-checkbox.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-checkbox.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-chip.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-chip.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-colorpicker.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-colorpicker.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-confirmdialog.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-confirmdialog.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-confirmpopup.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-confirmpopup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-contextmenu.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-contextmenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-dataview.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-dataview.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-datepicker.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-datepicker.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-dialog.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-dialog.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-divider.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-divider.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-dock.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-dock.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-drawer.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-drawer.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-editor.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-editor.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-fieldset.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-fieldset.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-fileupload.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-fileupload.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-floatlabel.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-floatlabel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-fluid.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-fluid.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-galleria.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-galleria.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-iconfield.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-iconfield.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-iftalabel.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-iftalabel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-image.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-image.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-imagecompare.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-imagecompare.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inplace.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inplace.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputgroup.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputgroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputgroupaddon.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputgroupaddon.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputicon.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputicon.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputmask.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputmask.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputnumber.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputnumber.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputotp.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputotp.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-inputtext.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-inputtext.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-knob.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-knob.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-listbox.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-listbox.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-megamenu.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-megamenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-menu.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-menu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-menubar.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-menubar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-message.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-message.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-metergroup.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-metergroup.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-motion.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-motion.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-multiselect.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-multiselect.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-orderlist.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-orderlist.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-organizationchart.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-organizationchart.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-overlay.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-overlay.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-overlaybadge.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-overlaybadge.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-paginator.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-paginator.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-panel.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-panel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-panelmenu.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-panelmenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-password.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-password.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-picklist.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-picklist.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-popover.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-popover.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-progressbar.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-progressbar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-progressspinner.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-progressspinner.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-radiobutton.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-radiobutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-rating.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-rating.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-scroller.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-scroller.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-scrollpanel.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-scrollpanel.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-scrolltop.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-scrolltop.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-select.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-select.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-selectbutton.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-selectbutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-skeleton.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-skeleton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-slider.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-slider.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-speeddial.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-speeddial.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-splitbutton.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-splitbutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-splitter.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-splitter.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-stepper.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-stepper.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-table.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-table.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-tabs.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-tabs.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-tag.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-tag.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-terminal.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-terminal.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-textarea.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-textarea.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-tieredmenu.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-tieredmenu.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-timeline.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-timeline.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-toast.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-toast.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-togglebutton.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-togglebutton.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-toggleswitch.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-toggleswitch.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-toolbar.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-toolbar.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-tooltip.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-tooltip.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-tree.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-tree.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-treeselect.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-treeselect.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-types-treetable.mjs +4 -0
- package/fesm2022/gravionlabs-helix-core-types-treetable.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-uix-motion.mjs +304 -0
- package/fesm2022/gravionlabs-helix-core-uix-motion.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-uix-styled.mjs +871 -0
- package/fesm2022/gravionlabs-helix-core-uix-styled.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-uix-utils.mjs +1839 -0
- package/fesm2022/gravionlabs-helix-core-uix-utils.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-usestyle.mjs +54 -0
- package/fesm2022/gravionlabs-helix-core-usestyle.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-utils.mjs +376 -0
- package/fesm2022/gravionlabs-helix-core-utils.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core-validators.mjs +99 -0
- package/fesm2022/gravionlabs-helix-core-validators.mjs.map +1 -0
- package/fesm2022/gravionlabs-helix-core.mjs +6 -0
- package/fesm2022/gravionlabs-helix-core.mjs.map +1 -0
- package/package.json +1127 -0
- package/types/gravionlabs-helix-core-accordion.d.ts +289 -0
- package/types/gravionlabs-helix-core-animateonscroll.d.ts +68 -0
- package/types/gravionlabs-helix-core-api.d.ts +1976 -0
- package/types/gravionlabs-helix-core-autocomplete.d.ts +765 -0
- package/types/gravionlabs-helix-core-autofocus.d.ts +31 -0
- package/types/gravionlabs-helix-core-avatar.d.ts +138 -0
- package/types/gravionlabs-helix-core-avatargroup.d.ts +63 -0
- package/types/gravionlabs-helix-core-badge.d.ts +182 -0
- package/types/gravionlabs-helix-core-base.d.ts +54 -0
- package/types/gravionlabs-helix-core-basecomponent.d.ts +175 -0
- package/types/gravionlabs-helix-core-baseeditableholder.d.ts +45 -0
- package/types/gravionlabs-helix-core-baseinput.d.ts +73 -0
- package/types/gravionlabs-helix-core-basemodelholder.d.ts +12 -0
- package/types/gravionlabs-helix-core-bind.d.ts +38 -0
- package/types/gravionlabs-helix-core-blockui.d.ts +106 -0
- package/types/gravionlabs-helix-core-breadcrumb.d.ts +148 -0
- package/types/gravionlabs-helix-core-button.d.ts +465 -0
- package/types/gravionlabs-helix-core-buttongroup.d.ts +44 -0
- package/types/gravionlabs-helix-core-card.d.ts +151 -0
- package/types/gravionlabs-helix-core-carousel.d.ts +376 -0
- package/types/gravionlabs-helix-core-cascadeselect.d.ts +620 -0
- package/types/gravionlabs-helix-core-chart.d.ts +130 -0
- package/types/gravionlabs-helix-core-checkbox.d.ts +226 -0
- package/types/gravionlabs-helix-core-chip.d.ts +162 -0
- package/types/gravionlabs-helix-core-classnames.d.ts +32 -0
- package/types/gravionlabs-helix-core-colorpicker.d.ts +311 -0
- package/types/gravionlabs-helix-core-config.d.ts +268 -0
- package/types/gravionlabs-helix-core-confirmdialog.d.ts +340 -0
- package/types/gravionlabs-helix-core-confirmpopup.d.ts +233 -0
- package/types/gravionlabs-helix-core-contextmenu.d.ts +370 -0
- package/types/gravionlabs-helix-core-dataview.d.ts +364 -0
- package/types/gravionlabs-helix-core-datepicker.d.ts +969 -0
- package/types/gravionlabs-helix-core-dialog.d.ts +530 -0
- package/types/gravionlabs-helix-core-divider.d.ts +121 -0
- package/types/gravionlabs-helix-core-dock.d.ts +196 -0
- package/types/gravionlabs-helix-core-dom.d.ts +109 -0
- package/types/gravionlabs-helix-core-dragdrop.d.ts +117 -0
- package/types/gravionlabs-helix-core-drawer.d.ts +293 -0
- package/types/gravionlabs-helix-core-dynamicdialog.d.ts +554 -0
- package/types/gravionlabs-helix-core-editor.d.ts +188 -0
- package/types/gravionlabs-helix-core-fieldset.d.ts +185 -0
- package/types/gravionlabs-helix-core-fileupload.d.ts +549 -0
- package/types/gravionlabs-helix-core-firsterror.d.ts +11 -0
- package/types/gravionlabs-helix-core-floatlabel.d.ts +67 -0
- package/types/gravionlabs-helix-core-fluid.d.ts +54 -0
- package/types/gravionlabs-helix-core-focustrap.d.ts +35 -0
- package/types/gravionlabs-helix-core-galleria.d.ts +647 -0
- package/types/gravionlabs-helix-core-iconfield.d.ts +72 -0
- package/types/gravionlabs-helix-core-icons-angledoubledown.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angledoubleleft.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angledoubleright.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angledoubleup.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angledown.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angleleft.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angleright.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-angleup.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-arrowdown.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-arrowdownleft.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-arrowdownright.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-arrowleft.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-arrowright.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-arrowup.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-ban.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-bars.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-baseicon.d.ts +32 -0
- package/types/gravionlabs-helix-core-icons-blank.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-calendar.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-caretleft.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-caretright.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-check.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-chevrondown.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-chevronleft.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-chevronright.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-chevronup.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-exclamationtriangle.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-eye.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-eyeslash.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-filter.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-filterfill.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-filterslash.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-home.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-infocircle.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-minus.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-pencil.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-plus.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-refresh.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-search.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-searchminus.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-searchplus.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-sortalt.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-sortamountdown.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-sortamountupalt.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-spinner.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-star.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-starfill.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-thlarge.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-times.d.ts +9 -0
- package/types/gravionlabs-helix-core-icons-timescircle.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-trash.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-undo.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-upload.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-windowmaximize.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons-windowminimize.d.ts +11 -0
- package/types/gravionlabs-helix-core-icons.d.ts +53 -0
- package/types/gravionlabs-helix-core-iftalabel.d.ts +58 -0
- package/types/gravionlabs-helix-core-image.d.ts +347 -0
- package/types/gravionlabs-helix-core-imagecompare.d.ts +99 -0
- package/types/gravionlabs-helix-core-inplace.d.ts +166 -0
- package/types/gravionlabs-helix-core-inputgroup.d.ts +65 -0
- package/types/gravionlabs-helix-core-inputgroupaddon.d.ts +49 -0
- package/types/gravionlabs-helix-core-inputicon.d.ts +44 -0
- package/types/gravionlabs-helix-core-inputmask.d.ts +373 -0
- package/types/gravionlabs-helix-core-inputnumber.d.ts +425 -0
- package/types/gravionlabs-helix-core-inputotp.d.ts +175 -0
- package/types/gravionlabs-helix-core-inputtext.d.ts +117 -0
- package/types/gravionlabs-helix-core-keyfilter.d.ts +58 -0
- package/types/gravionlabs-helix-core-knob.d.ts +203 -0
- package/types/gravionlabs-helix-core-listbox.d.ts +654 -0
- package/types/gravionlabs-helix-core-megamenu.d.ts +383 -0
- package/types/gravionlabs-helix-core-menu.d.ts +361 -0
- package/types/gravionlabs-helix-core-menubar.d.ts +380 -0
- package/types/gravionlabs-helix-core-message.d.ts +210 -0
- package/types/gravionlabs-helix-core-metergroup.d.ts +208 -0
- package/types/gravionlabs-helix-core-motion.d.ts +398 -0
- package/types/gravionlabs-helix-core-multiselect.d.ts +871 -0
- package/types/gravionlabs-helix-core-orderlist.d.ts +366 -0
- package/types/gravionlabs-helix-core-organizationchart.d.ts +221 -0
- package/types/gravionlabs-helix-core-overlay.d.ts +314 -0
- package/types/gravionlabs-helix-core-overlaybadge.d.ts +77 -0
- package/types/gravionlabs-helix-core-paginator.d.ts +351 -0
- package/types/gravionlabs-helix-core-panel.d.ts +241 -0
- package/types/gravionlabs-helix-core-panelmenu.d.ts +359 -0
- package/types/gravionlabs-helix-core-passthrough.d.ts +14 -0
- package/types/gravionlabs-helix-core-password.d.ts +487 -0
- package/types/gravionlabs-helix-core-picklist.d.ts +662 -0
- package/types/gravionlabs-helix-core-popover.d.ts +197 -0
- package/types/gravionlabs-helix-core-progressbar.d.ts +121 -0
- package/types/gravionlabs-helix-core-progressspinner.d.ts +91 -0
- package/types/gravionlabs-helix-core-radiobutton.d.ts +190 -0
- package/types/gravionlabs-helix-core-rating.d.ts +193 -0
- package/types/gravionlabs-helix-core-ripple.d.ts +63 -0
- package/types/gravionlabs-helix-core-scroller.d.ts +399 -0
- package/types/gravionlabs-helix-core-scrollpanel.d.ts +156 -0
- package/types/gravionlabs-helix-core-scrolltop.d.ts +155 -0
- package/types/gravionlabs-helix-core-select.d.ts +765 -0
- package/types/gravionlabs-helix-core-selectbutton.d.ts +180 -0
- package/types/gravionlabs-helix-core-skeleton.d.ts +103 -0
- package/types/gravionlabs-helix-core-slider.d.ts +216 -0
- package/types/gravionlabs-helix-core-speeddial.d.ts +408 -0
- package/types/gravionlabs-helix-core-splitbutton.d.ts +283 -0
- package/types/gravionlabs-helix-core-splitter.d.ts +208 -0
- package/types/gravionlabs-helix-core-stepper.d.ts +337 -0
- package/types/gravionlabs-helix-core-steps.d.ts +149 -0
- package/types/gravionlabs-helix-core-styleclass.d.ts +112 -0
- package/types/gravionlabs-helix-core-table.d.ts +1995 -0
- package/types/gravionlabs-helix-core-tabs.d.ts +359 -0
- package/types/gravionlabs-helix-core-tag.d.ts +113 -0
- package/types/gravionlabs-helix-core-terminal.d.ts +140 -0
- package/types/gravionlabs-helix-core-textarea.d.ts +125 -0
- package/types/gravionlabs-helix-core-themes-aura.d.ts +965 -0
- package/types/gravionlabs-helix-core-themes-lara.d.ts +978 -0
- package/types/gravionlabs-helix-core-themes-nora.d.ts +962 -0
- package/types/gravionlabs-helix-core-themes-types.d.ts +20358 -0
- package/types/gravionlabs-helix-core-themes.d.ts +11 -0
- package/types/gravionlabs-helix-core-tieredmenu.d.ts +414 -0
- package/types/gravionlabs-helix-core-timeline.d.ts +140 -0
- package/types/gravionlabs-helix-core-toast.d.ts +293 -0
- package/types/gravionlabs-helix-core-togglebutton.d.ts +203 -0
- package/types/gravionlabs-helix-core-toggleswitch.d.ts +165 -0
- package/types/gravionlabs-helix-core-toolbar.d.ts +105 -0
- package/types/gravionlabs-helix-core-tooltip.d.ts +273 -0
- package/types/gravionlabs-helix-core-tree.d.ts +646 -0
- package/types/gravionlabs-helix-core-treeselect.d.ts +574 -0
- package/types/gravionlabs-helix-core-treetable.d.ts +1236 -0
- package/types/gravionlabs-helix-core-ts-helpers.d.ts +6 -0
- package/types/gravionlabs-helix-core-types-accordion.d.ts +97 -0
- package/types/gravionlabs-helix-core-types-autocomplete.d.ts +312 -0
- package/types/gravionlabs-helix-core-types-avatar.d.ts +40 -0
- package/types/gravionlabs-helix-core-types-avatargroup.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-badge.d.ts +26 -0
- package/types/gravionlabs-helix-core-types-blockui.d.ts +39 -0
- package/types/gravionlabs-helix-core-types-breadcrumb.d.ts +96 -0
- package/types/gravionlabs-helix-core-types-button.d.ts +124 -0
- package/types/gravionlabs-helix-core-types-card.d.ts +75 -0
- package/types/gravionlabs-helix-core-types-carousel.d.ts +143 -0
- package/types/gravionlabs-helix-core-types-cascadeselect.d.ts +215 -0
- package/types/gravionlabs-helix-core-types-chart.d.ts +32 -0
- package/types/gravionlabs-helix-core-types-checkbox.d.ts +81 -0
- package/types/gravionlabs-helix-core-types-chip.d.ts +71 -0
- package/types/gravionlabs-helix-core-types-colorpicker.d.ts +78 -0
- package/types/gravionlabs-helix-core-types-confirmdialog.d.ts +147 -0
- package/types/gravionlabs-helix-core-types-confirmpopup.d.ts +105 -0
- package/types/gravionlabs-helix-core-types-contextmenu.d.ts +102 -0
- package/types/gravionlabs-helix-core-types-dataview.d.ts +253 -0
- package/types/gravionlabs-helix-core-types-datepicker.d.ts +521 -0
- package/types/gravionlabs-helix-core-types-dialog.d.ts +107 -0
- package/types/gravionlabs-helix-core-types-divider.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-dock.d.ts +70 -0
- package/types/gravionlabs-helix-core-types-drawer.d.ts +82 -0
- package/types/gravionlabs-helix-core-types-editor.d.ts +210 -0
- package/types/gravionlabs-helix-core-types-fieldset.d.ts +101 -0
- package/types/gravionlabs-helix-core-types-fileupload.d.ts +360 -0
- package/types/gravionlabs-helix-core-types-floatlabel.d.ts +26 -0
- package/types/gravionlabs-helix-core-types-fluid.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-galleria.d.ts +250 -0
- package/types/gravionlabs-helix-core-types-iconfield.d.ts +26 -0
- package/types/gravionlabs-helix-core-types-iftalabel.d.ts +26 -0
- package/types/gravionlabs-helix-core-types-image.d.ts +144 -0
- package/types/gravionlabs-helix-core-types-imagecompare.d.ts +43 -0
- package/types/gravionlabs-helix-core-types-inplace.d.ts +72 -0
- package/types/gravionlabs-helix-core-types-inputgroup.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-inputgroupaddon.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-inputicon.d.ts +26 -0
- package/types/gravionlabs-helix-core-types-inputmask.d.ts +56 -0
- package/types/gravionlabs-helix-core-types-inputnumber.d.ts +95 -0
- package/types/gravionlabs-helix-core-types-inputotp.d.ts +101 -0
- package/types/gravionlabs-helix-core-types-inputtext.d.ts +24 -0
- package/types/gravionlabs-helix-core-types-knob.d.ts +40 -0
- package/types/gravionlabs-helix-core-types-listbox.d.ts +359 -0
- package/types/gravionlabs-helix-core-types-megamenu.d.ts +138 -0
- package/types/gravionlabs-helix-core-types-menu.d.ts +114 -0
- package/types/gravionlabs-helix-core-types-menubar.d.ts +124 -0
- package/types/gravionlabs-helix-core-types-message.d.ts +87 -0
- package/types/gravionlabs-helix-core-types-metergroup.d.ts +176 -0
- package/types/gravionlabs-helix-core-types-motion.d.ts +26 -0
- package/types/gravionlabs-helix-core-types-multiselect.d.ts +414 -0
- package/types/gravionlabs-helix-core-types-orderlist.d.ts +173 -0
- package/types/gravionlabs-helix-core-types-organizationchart.d.ts +138 -0
- package/types/gravionlabs-helix-core-types-overlay.d.ts +60 -0
- package/types/gravionlabs-helix-core-types-overlaybadge.d.ts +34 -0
- package/types/gravionlabs-helix-core-types-paginator.d.ts +167 -0
- package/types/gravionlabs-helix-core-types-panel.d.ts +129 -0
- package/types/gravionlabs-helix-core-types-panelmenu.d.ts +131 -0
- package/types/gravionlabs-helix-core-types-password.d.ts +120 -0
- package/types/gravionlabs-helix-core-types-picklist.d.ts +348 -0
- package/types/gravionlabs-helix-core-types-popover.d.ts +59 -0
- package/types/gravionlabs-helix-core-types-progressbar.d.ts +58 -0
- package/types/gravionlabs-helix-core-types-progressspinner.d.ts +36 -0
- package/types/gravionlabs-helix-core-types-radiobutton.d.ts +51 -0
- package/types/gravionlabs-helix-core-types-rating.d.ts +94 -0
- package/types/gravionlabs-helix-core-types-scroller.d.ts +231 -0
- package/types/gravionlabs-helix-core-types-scrollpanel.d.ts +51 -0
- package/types/gravionlabs-helix-core-types-scrolltop.d.ts +61 -0
- package/types/gravionlabs-helix-core-types-select.d.ts +319 -0
- package/types/gravionlabs-helix-core-types-selectbutton.d.ts +92 -0
- package/types/gravionlabs-helix-core-types-skeleton.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-slider.d.ts +78 -0
- package/types/gravionlabs-helix-core-types-speeddial.d.ts +100 -0
- package/types/gravionlabs-helix-core-types-splitbutton.d.ts +70 -0
- package/types/gravionlabs-helix-core-types-splitter.d.ts +70 -0
- package/types/gravionlabs-helix-core-types-stepper.d.ts +162 -0
- package/types/gravionlabs-helix-core-types-table.d.ts +893 -0
- package/types/gravionlabs-helix-core-types-tabs.d.ts +119 -0
- package/types/gravionlabs-helix-core-types-tag.d.ts +47 -0
- package/types/gravionlabs-helix-core-types-terminal.d.ts +60 -0
- package/types/gravionlabs-helix-core-types-textarea.d.ts +28 -0
- package/types/gravionlabs-helix-core-types-tieredmenu.d.ts +95 -0
- package/types/gravionlabs-helix-core-types-timeline.d.ts +85 -0
- package/types/gravionlabs-helix-core-types-toast.d.ts +131 -0
- package/types/gravionlabs-helix-core-types-togglebutton.d.ts +86 -0
- package/types/gravionlabs-helix-core-types-toggleswitch.d.ts +73 -0
- package/types/gravionlabs-helix-core-types-toolbar.d.ts +55 -0
- package/types/gravionlabs-helix-core-types-tooltip.d.ts +32 -0
- package/types/gravionlabs-helix-core-types-tree.d.ts +342 -0
- package/types/gravionlabs-helix-core-types-treeselect.d.ts +251 -0
- package/types/gravionlabs-helix-core-types-treetable.d.ts +629 -0
- package/types/gravionlabs-helix-core-uix-motion.d.ts +276 -0
- package/types/gravionlabs-helix-core-uix-styled.d.ts +309 -0
- package/types/gravionlabs-helix-core-uix-utils.d.ts +387 -0
- package/types/gravionlabs-helix-core-usestyle.d.ts +15 -0
- package/types/gravionlabs-helix-core-utils.d.ts +54 -0
- package/types/gravionlabs-helix-core-validators.d.ts +40 -0
- package/types/gravionlabs-helix-core.d.ts +2 -0
|
@@ -0,0 +1,1839 @@
|
|
|
1
|
+
function cn(...args) {
|
|
2
|
+
if (args) {
|
|
3
|
+
let classes = [];
|
|
4
|
+
for (let i = 0; i < args.length; i++) {
|
|
5
|
+
const className = args[i];
|
|
6
|
+
if (!className) {
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
const type = typeof className;
|
|
10
|
+
if (type === 'string' || type === 'number') {
|
|
11
|
+
classes.push(className);
|
|
12
|
+
}
|
|
13
|
+
else if (type === 'object') {
|
|
14
|
+
const _classes = Array.isArray(className) ? [cn(...className)] : Object.entries(className).map(([key, value]) => (value ? key : undefined));
|
|
15
|
+
classes = _classes.length ? classes.concat(_classes.filter((c) => !!c)) : classes;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return classes.join(' ').trim();
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use `cn` instead.
|
|
24
|
+
* @param args
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
function classNames(...args) {
|
|
28
|
+
return cn(...args);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function hasClass(element, className) {
|
|
32
|
+
if (element) {
|
|
33
|
+
if (element.classList)
|
|
34
|
+
return element.classList.contains(className);
|
|
35
|
+
else
|
|
36
|
+
return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function addClass(element, className) {
|
|
42
|
+
if (element && className) {
|
|
43
|
+
const fn = (_className) => {
|
|
44
|
+
if (!hasClass(element, _className)) {
|
|
45
|
+
if (element.classList)
|
|
46
|
+
element.classList.add(_className);
|
|
47
|
+
else
|
|
48
|
+
element.className += ' ' + _className;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
[className]
|
|
52
|
+
.flat()
|
|
53
|
+
.filter(Boolean)
|
|
54
|
+
.forEach((_classNames) => _classNames.split(' ').forEach(fn));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function calculateBodyScrollbarWidth() {
|
|
59
|
+
return window.innerWidth - document.documentElement.offsetWidth;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function blockBodyScroll(option) {
|
|
63
|
+
if (typeof option === 'string') {
|
|
64
|
+
addClass(document.body, option || 'h-overflow-hidden');
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
option?.variableName && document.body.style.setProperty(option.variableName, calculateBodyScrollbarWidth() + 'px');
|
|
68
|
+
addClass(document.body, option?.className || 'h-overflow-hidden');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function saveAs(file) {
|
|
73
|
+
if (file) {
|
|
74
|
+
const link = document.createElement('a');
|
|
75
|
+
if (link.download !== undefined) {
|
|
76
|
+
const { name, src } = file;
|
|
77
|
+
link.setAttribute('href', src);
|
|
78
|
+
link.setAttribute('download', name);
|
|
79
|
+
link.style.display = 'none';
|
|
80
|
+
document.body.appendChild(link);
|
|
81
|
+
link.click();
|
|
82
|
+
document.body.removeChild(link);
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function exportCSV(csv, filename) {
|
|
90
|
+
const blob = new Blob([csv], {
|
|
91
|
+
type: 'application/csv;charset=utf-8;'
|
|
92
|
+
});
|
|
93
|
+
if (window.navigator.msSaveOrOpenBlob) {
|
|
94
|
+
navigator.msSaveOrOpenBlob(blob, filename + '.csv');
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const isDownloaded = saveAs({ name: filename + '.csv', src: URL.createObjectURL(blob) });
|
|
98
|
+
if (!isDownloaded) {
|
|
99
|
+
csv = 'data:text/csv;charset=utf-8,' + csv;
|
|
100
|
+
window.open(encodeURI(csv));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function removeClass(element, className) {
|
|
106
|
+
if (element && className) {
|
|
107
|
+
const fn = (_className) => {
|
|
108
|
+
if (element.classList)
|
|
109
|
+
element.classList.remove(_className);
|
|
110
|
+
else
|
|
111
|
+
element.className = element.className.replace(new RegExp('(^|\\b)' + _className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
|
|
112
|
+
};
|
|
113
|
+
[className]
|
|
114
|
+
.flat()
|
|
115
|
+
.filter(Boolean)
|
|
116
|
+
.forEach((_classNames) => _classNames.split(' ').forEach(fn));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function unblockBodyScroll(option) {
|
|
121
|
+
if (typeof option === 'string') {
|
|
122
|
+
removeClass(document.body, option || 'h-overflow-hidden');
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
if (option?.variableName)
|
|
126
|
+
document.body.style.removeProperty(option.variableName);
|
|
127
|
+
removeClass(document.body, option?.className || 'h-overflow-hidden');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function getCSSVariableByRegex(variableRegex) {
|
|
132
|
+
for (const sheet of document?.styleSheets) {
|
|
133
|
+
try {
|
|
134
|
+
for (const rule of sheet?.cssRules) {
|
|
135
|
+
for (const property of rule?.style) {
|
|
136
|
+
if (variableRegex.test(property)) {
|
|
137
|
+
return { name: property, value: rule.style.getPropertyValue(property).trim() };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch { }
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function getHiddenElementDimensions(element) {
|
|
148
|
+
const dimensions = { width: 0, height: 0 };
|
|
149
|
+
if (element) {
|
|
150
|
+
const [visibility, display] = [element.style.visibility, element.style.display];
|
|
151
|
+
const rect = element.getBoundingClientRect();
|
|
152
|
+
// Temporarily hide the element to get its dimensions
|
|
153
|
+
element.style.visibility = 'hidden';
|
|
154
|
+
element.style.display = 'block';
|
|
155
|
+
dimensions.width = rect.width || element.offsetWidth;
|
|
156
|
+
dimensions.height = rect.height || element.offsetHeight;
|
|
157
|
+
element.style.display = display;
|
|
158
|
+
element.style.visibility = visibility;
|
|
159
|
+
}
|
|
160
|
+
return dimensions;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function getViewport() {
|
|
164
|
+
const win = window, d = document, e = d.documentElement, g = d.getElementsByTagName('body')[0], w = win.innerWidth || e.clientWidth || g.clientWidth, h = win.innerHeight || e.clientHeight || g.clientHeight;
|
|
165
|
+
return { width: w, height: h };
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
function getScrollLeft(element) {
|
|
169
|
+
// for RTL scrollLeft should be negative
|
|
170
|
+
return element ? Math.abs(element.scrollLeft) : 0;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function getWindowScrollLeft() {
|
|
174
|
+
const doc = document.documentElement;
|
|
175
|
+
return (window.pageXOffset || getScrollLeft(doc)) - (doc.clientLeft || 0);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function getWindowScrollTop() {
|
|
179
|
+
const doc = document.documentElement;
|
|
180
|
+
return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
function isRTL(element) {
|
|
184
|
+
return element ? getComputedStyle(element).direction === 'rtl' : false;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function absolutePosition(element, target, gutter = true) {
|
|
188
|
+
if (element) {
|
|
189
|
+
const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);
|
|
190
|
+
const elementOuterHeight = elementDimensions.height;
|
|
191
|
+
const elementOuterWidth = elementDimensions.width;
|
|
192
|
+
const targetOuterHeight = target.offsetHeight;
|
|
193
|
+
const targetOuterWidth = target.offsetWidth;
|
|
194
|
+
const targetOffset = target.getBoundingClientRect();
|
|
195
|
+
const windowScrollTop = getWindowScrollTop();
|
|
196
|
+
const windowScrollLeft = getWindowScrollLeft();
|
|
197
|
+
const viewport = getViewport();
|
|
198
|
+
let top, left, origin = 'top';
|
|
199
|
+
if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {
|
|
200
|
+
top = targetOffset.top + windowScrollTop - elementOuterHeight;
|
|
201
|
+
origin = 'bottom';
|
|
202
|
+
if (top < 0) {
|
|
203
|
+
top = windowScrollTop;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
top = targetOuterHeight + targetOffset.top + windowScrollTop;
|
|
208
|
+
}
|
|
209
|
+
if (targetOffset.left + elementOuterWidth > viewport.width)
|
|
210
|
+
left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);
|
|
211
|
+
else
|
|
212
|
+
left = targetOffset.left + windowScrollLeft;
|
|
213
|
+
if (isRTL(element)) {
|
|
214
|
+
element.style.insetInlineEnd = left + 'px';
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
element.style.insetInlineStart = left + 'px';
|
|
218
|
+
}
|
|
219
|
+
element.style.top = top + 'px';
|
|
220
|
+
element.style.transformOrigin = origin;
|
|
221
|
+
if (gutter)
|
|
222
|
+
element.style.marginTop = origin === 'bottom' ? `calc(${getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '2px'} * -1)` : (getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '');
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
function addStyle(element, style) {
|
|
227
|
+
if (element) {
|
|
228
|
+
if (typeof style === 'string') {
|
|
229
|
+
element.style.cssText = style;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
Object.entries(style || {}).forEach(([key, value]) => (element.style[key] = value));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
function getOuterWidth(element, margin) {
|
|
238
|
+
if (element instanceof HTMLElement) {
|
|
239
|
+
let width = element.offsetWidth;
|
|
240
|
+
if (margin) {
|
|
241
|
+
const style = getComputedStyle(element);
|
|
242
|
+
width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
|
|
243
|
+
}
|
|
244
|
+
return width;
|
|
245
|
+
}
|
|
246
|
+
return 0;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function relativePosition(element, target, gutter = true, fixedOrigin = undefined) {
|
|
250
|
+
if (element) {
|
|
251
|
+
const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);
|
|
252
|
+
const targetHeight = target.offsetHeight;
|
|
253
|
+
const targetOffset = target.getBoundingClientRect();
|
|
254
|
+
const viewport = getViewport();
|
|
255
|
+
let top, left, origin = fixedOrigin ?? 'top';
|
|
256
|
+
if (!fixedOrigin && targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {
|
|
257
|
+
top = -1 * elementDimensions.height;
|
|
258
|
+
origin = 'bottom';
|
|
259
|
+
if (targetOffset.top + top < 0) {
|
|
260
|
+
top = -1 * targetOffset.top;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
top = targetHeight;
|
|
265
|
+
}
|
|
266
|
+
if (elementDimensions.width > viewport.width) {
|
|
267
|
+
// element wider then viewport and cannot fit on screen (align at left side of viewport)
|
|
268
|
+
left = targetOffset.left * -1;
|
|
269
|
+
}
|
|
270
|
+
else if (targetOffset.left + elementDimensions.width > viewport.width) {
|
|
271
|
+
// element wider then viewport but can be fit on screen (align at right side of viewport)
|
|
272
|
+
left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
// element fits on screen (align with target)
|
|
276
|
+
left = 0;
|
|
277
|
+
}
|
|
278
|
+
element.style.top = top + 'px';
|
|
279
|
+
element.style.insetInlineStart = left + 'px';
|
|
280
|
+
element.style.transformOrigin = origin;
|
|
281
|
+
if (gutter) {
|
|
282
|
+
const gutterValue = getCSSVariableByRegex(/-anchor-gutter$/)?.value;
|
|
283
|
+
element.style.marginTop = origin === 'bottom' ? `calc(${gutterValue ?? '2px'} * -1)` : (gutterValue ?? '');
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
function alignOverlay(overlay, target, appendTo, calculateMinWidth = true) {
|
|
289
|
+
if (overlay && target) {
|
|
290
|
+
if (appendTo === 'self') {
|
|
291
|
+
relativePosition(overlay, target);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
if (calculateMinWidth)
|
|
295
|
+
overlay.style.minWidth = getOuterWidth(target) + 'px';
|
|
296
|
+
absolutePosition(overlay, target);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function getParentNode(element) {
|
|
302
|
+
if (element) {
|
|
303
|
+
let parent = element.parentNode;
|
|
304
|
+
if (parent && parent instanceof ShadowRoot && parent.host) {
|
|
305
|
+
parent = parent.host;
|
|
306
|
+
}
|
|
307
|
+
return parent;
|
|
308
|
+
}
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function isExist(element) {
|
|
313
|
+
return !!(element !== null && typeof element !== 'undefined' && element.nodeName && getParentNode(element));
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
function isElement(element) {
|
|
317
|
+
return typeof Element !== 'undefined' ? element instanceof Element : element !== null && typeof element === 'object' && element.nodeType === 1 && typeof element.nodeName === 'string';
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Ported from @primeuix/utils 0.7.2 (main was 0.6.4 at vendor time): adds `value` (signal-style
|
|
322
|
+
* refs) and recursive `elementRef` unwrapping on top of the 0.6.4 current/el handling.
|
|
323
|
+
*/
|
|
324
|
+
function toElement(element) {
|
|
325
|
+
if (isElement(element)) {
|
|
326
|
+
return element;
|
|
327
|
+
}
|
|
328
|
+
if (!element || typeof element !== 'object') {
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
let target = element;
|
|
332
|
+
if (Object.hasOwn(element, 'current')) {
|
|
333
|
+
// For React
|
|
334
|
+
target = toElement(element.current) ?? element.current;
|
|
335
|
+
}
|
|
336
|
+
else if (Object.hasOwn(element, 'value')) {
|
|
337
|
+
// For Angular signals / Vue refs
|
|
338
|
+
target = element.value;
|
|
339
|
+
}
|
|
340
|
+
else if (Object.hasOwn(element, 'nativeElement')) {
|
|
341
|
+
// For Angular ElementRef
|
|
342
|
+
target = element.nativeElement;
|
|
343
|
+
}
|
|
344
|
+
else if (Object.hasOwn(element, 'el')) {
|
|
345
|
+
const el = element.el;
|
|
346
|
+
if (el && typeof el === 'object' && Object.hasOwn(el, 'nativeElement')) {
|
|
347
|
+
// For Angular
|
|
348
|
+
target = el.nativeElement;
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
// For Vue
|
|
352
|
+
target = element.el;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
else if (Object.hasOwn(element, 'elementRef')) {
|
|
356
|
+
return toElement(element.elementRef);
|
|
357
|
+
}
|
|
358
|
+
return isElement(target) ? target : undefined;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
function getTargetElement(target, currentElement) {
|
|
362
|
+
if (!target)
|
|
363
|
+
return undefined;
|
|
364
|
+
switch (target) {
|
|
365
|
+
case 'document':
|
|
366
|
+
return document;
|
|
367
|
+
case 'window':
|
|
368
|
+
return window;
|
|
369
|
+
case 'body':
|
|
370
|
+
return document.body;
|
|
371
|
+
case '@next':
|
|
372
|
+
return currentElement?.nextElementSibling;
|
|
373
|
+
case '@prev':
|
|
374
|
+
return currentElement?.previousElementSibling;
|
|
375
|
+
case '@first':
|
|
376
|
+
return currentElement?.firstElementChild;
|
|
377
|
+
case '@last':
|
|
378
|
+
return currentElement?.lastElementChild;
|
|
379
|
+
case '@child':
|
|
380
|
+
return currentElement?.children?.[0];
|
|
381
|
+
case '@parent':
|
|
382
|
+
return currentElement?.parentElement;
|
|
383
|
+
case '@grandparent':
|
|
384
|
+
return currentElement?.parentElement?.parentElement;
|
|
385
|
+
default: {
|
|
386
|
+
if (typeof target === 'string') {
|
|
387
|
+
// child selector
|
|
388
|
+
const match = target.match(/^@child\[(\d+)]/);
|
|
389
|
+
if (match) {
|
|
390
|
+
return currentElement?.children?.[parseInt(match[1], 10)] || null;
|
|
391
|
+
}
|
|
392
|
+
return document.querySelector(target) || null;
|
|
393
|
+
}
|
|
394
|
+
const isFunction = (value) => typeof value === 'function' && 'call' in value && 'apply' in value;
|
|
395
|
+
const computedTarget = isFunction(target) ? target() : target;
|
|
396
|
+
const element = toElement(computedTarget);
|
|
397
|
+
return isExist(element) ? element : computedTarget?.nodeType === 9 ? computedTarget : undefined;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
function appendChild(element, child) {
|
|
403
|
+
const target = getTargetElement(element, child);
|
|
404
|
+
if (target)
|
|
405
|
+
target.appendChild(child);
|
|
406
|
+
else
|
|
407
|
+
throw new Error('Cannot append ' + child + ' to ' + element);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
let calculatedScrollbarHeight = undefined;
|
|
411
|
+
function calculateScrollbarHeight(element) {
|
|
412
|
+
if (element) {
|
|
413
|
+
const style = getComputedStyle(element);
|
|
414
|
+
return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth);
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
if (calculatedScrollbarHeight != null)
|
|
418
|
+
return calculatedScrollbarHeight;
|
|
419
|
+
const scrollDiv = document.createElement('div');
|
|
420
|
+
addStyle(scrollDiv, {
|
|
421
|
+
width: '100px',
|
|
422
|
+
height: '100px',
|
|
423
|
+
overflow: 'scroll',
|
|
424
|
+
position: 'absolute',
|
|
425
|
+
top: '-9999px'
|
|
426
|
+
});
|
|
427
|
+
document.body.appendChild(scrollDiv);
|
|
428
|
+
const scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;
|
|
429
|
+
document.body.removeChild(scrollDiv);
|
|
430
|
+
calculatedScrollbarHeight = scrollbarHeight;
|
|
431
|
+
return scrollbarHeight;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
let calculatedScrollbarWidth = undefined;
|
|
436
|
+
function calculateScrollbarWidth(element) {
|
|
437
|
+
if (element) {
|
|
438
|
+
const style = getComputedStyle(element);
|
|
439
|
+
return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
if (calculatedScrollbarWidth != null)
|
|
443
|
+
return calculatedScrollbarWidth;
|
|
444
|
+
const scrollDiv = document.createElement('div');
|
|
445
|
+
addStyle(scrollDiv, {
|
|
446
|
+
width: '100px',
|
|
447
|
+
height: '100px',
|
|
448
|
+
overflow: 'scroll',
|
|
449
|
+
position: 'absolute',
|
|
450
|
+
top: '-9999px'
|
|
451
|
+
});
|
|
452
|
+
document.body.appendChild(scrollDiv);
|
|
453
|
+
const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
|
|
454
|
+
document.body.removeChild(scrollDiv);
|
|
455
|
+
calculatedScrollbarWidth = scrollbarWidth;
|
|
456
|
+
return scrollbarWidth;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
function clearSelection() {
|
|
461
|
+
if (window.getSelection) {
|
|
462
|
+
const selection = window.getSelection() || {};
|
|
463
|
+
if (selection.empty) {
|
|
464
|
+
selection.empty();
|
|
465
|
+
}
|
|
466
|
+
else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) {
|
|
467
|
+
selection.removeAllRanges();
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
function setAttributes(element, attributes = {}) {
|
|
473
|
+
if (isElement(element)) {
|
|
474
|
+
const computedStyles = (rule, value) => {
|
|
475
|
+
const styles = element?.$attrs?.[rule] ? [element?.$attrs?.[rule]] : [];
|
|
476
|
+
return [value].flat().reduce((cv, v) => {
|
|
477
|
+
if (v !== null && v !== undefined) {
|
|
478
|
+
const type = typeof v;
|
|
479
|
+
if (type === 'string' || type === 'number') {
|
|
480
|
+
cv.push(v);
|
|
481
|
+
}
|
|
482
|
+
else if (type === 'object') {
|
|
483
|
+
const _cv = Array.isArray(v) ? computedStyles(rule, v) : 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));
|
|
484
|
+
cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
return cv;
|
|
488
|
+
}, styles);
|
|
489
|
+
};
|
|
490
|
+
Object.entries(attributes).forEach(([key, value]) => {
|
|
491
|
+
if (value !== undefined && value !== null) {
|
|
492
|
+
const matchedEvent = key.match(/^on(.+)/);
|
|
493
|
+
if (matchedEvent) {
|
|
494
|
+
element.addEventListener(matchedEvent[1].toLowerCase(), value);
|
|
495
|
+
}
|
|
496
|
+
else if (key === 'h-bind' || key === 'pBind') {
|
|
497
|
+
setAttributes(element, value);
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;
|
|
501
|
+
(element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value);
|
|
502
|
+
element.setAttribute(key, value);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
function createElement(type, attributes = {}, ...children) {
|
|
510
|
+
if (type) {
|
|
511
|
+
const element = document.createElement(type);
|
|
512
|
+
setAttributes(element, attributes);
|
|
513
|
+
element.append(...children);
|
|
514
|
+
return element;
|
|
515
|
+
}
|
|
516
|
+
return undefined;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
function createStyleMarkup(css, attributes = {}) {
|
|
520
|
+
return css ? `<style${Object.entries(attributes).reduce((s, [k, v]) => s + ` ${k}="${v}"`, '')}>${css}</style>` : '';
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* @deprecated Use `createStyleMarkup` instead.
|
|
525
|
+
*/
|
|
526
|
+
function createStyleAsString(css, options = {}) {
|
|
527
|
+
return createStyleMarkup(css, options);
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
function createStyleElement(css, attributes = {}, container) {
|
|
531
|
+
const element = createElement('style', attributes, css);
|
|
532
|
+
container?.appendChild(element);
|
|
533
|
+
return element;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* @deprecated Use `createStyleElement` instead.
|
|
538
|
+
*/
|
|
539
|
+
function createStyleTag(attributes = {}, container) {
|
|
540
|
+
return createStyleElement('', attributes, container || document.head);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
function fadeIn(element, duration) {
|
|
544
|
+
if (element) {
|
|
545
|
+
element.style.opacity = '0';
|
|
546
|
+
let last = +new Date();
|
|
547
|
+
let opacity = '0';
|
|
548
|
+
const tick = function () {
|
|
549
|
+
opacity = `${+element.style.opacity + (new Date().getTime() - last) / duration}`;
|
|
550
|
+
element.style.opacity = opacity;
|
|
551
|
+
last = +new Date();
|
|
552
|
+
if (+opacity < 1) {
|
|
553
|
+
if ('requestAnimationFrame' in window)
|
|
554
|
+
requestAnimationFrame(tick);
|
|
555
|
+
else
|
|
556
|
+
setTimeout(tick, 16);
|
|
557
|
+
}
|
|
558
|
+
};
|
|
559
|
+
tick();
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
function fadeOut(element, duration) {
|
|
564
|
+
if (element) {
|
|
565
|
+
let opacity = 1;
|
|
566
|
+
const interval = 50;
|
|
567
|
+
const gap = interval / duration;
|
|
568
|
+
const fading = setInterval(() => {
|
|
569
|
+
opacity -= gap;
|
|
570
|
+
if (opacity <= 0) {
|
|
571
|
+
opacity = 0;
|
|
572
|
+
clearInterval(fading);
|
|
573
|
+
}
|
|
574
|
+
element.style.opacity = opacity.toString();
|
|
575
|
+
}, interval);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
function find(element, selector) {
|
|
580
|
+
return isElement(element) ? Array.from(element.querySelectorAll(selector)) : [];
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
function findSingle(element, selector) {
|
|
584
|
+
return isElement(element) ? (element.matches(selector) ? element : element.querySelector(selector)) : null;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
function focus(element, options) {
|
|
588
|
+
if (element && document.activeElement !== element)
|
|
589
|
+
element.focus(options);
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
function getAttribute(element, name) {
|
|
593
|
+
if (isElement(element)) {
|
|
594
|
+
const value = element.getAttribute(name);
|
|
595
|
+
if (!isNaN(value)) {
|
|
596
|
+
return +value;
|
|
597
|
+
}
|
|
598
|
+
if (value === 'true' || value === 'false') {
|
|
599
|
+
return value === 'true';
|
|
600
|
+
}
|
|
601
|
+
return value;
|
|
602
|
+
}
|
|
603
|
+
return undefined;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
function resolveUserAgent() {
|
|
607
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
608
|
+
const 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)) || [];
|
|
609
|
+
return {
|
|
610
|
+
browser: match[1] || '',
|
|
611
|
+
version: match[2] || '0'
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
let browser = null;
|
|
616
|
+
function getBrowser() {
|
|
617
|
+
if (!browser) {
|
|
618
|
+
browser = {};
|
|
619
|
+
const matched = resolveUserAgent();
|
|
620
|
+
if (matched.browser) {
|
|
621
|
+
browser[matched.browser] = true;
|
|
622
|
+
browser['version'] = matched.version;
|
|
623
|
+
}
|
|
624
|
+
if (browser['chrome']) {
|
|
625
|
+
browser['webkit'] = true;
|
|
626
|
+
}
|
|
627
|
+
else if (browser['webkit']) {
|
|
628
|
+
browser['safari'] = true;
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
return browser;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
function getBrowserLanguage() {
|
|
635
|
+
return (navigator.languages && navigator.languages.length && navigator.languages[0]) || navigator.language || 'en';
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
function getCSSProperty(element, property, inline) {
|
|
639
|
+
if (element && property) {
|
|
640
|
+
return inline ? element?.style?.getPropertyValue(property) : getComputedStyle(element).getPropertyValue(property);
|
|
641
|
+
}
|
|
642
|
+
return null;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Ported from @primeuix/utils 0.7.2 (new in 0.7.x; not present in main's 0.6.4 at vendor time).
|
|
647
|
+
*/
|
|
648
|
+
function isCssSupported(property, value) {
|
|
649
|
+
if (typeof CSS === 'undefined' || !CSS.supports) {
|
|
650
|
+
return false;
|
|
651
|
+
}
|
|
652
|
+
if (value !== undefined) {
|
|
653
|
+
const cssProperty = property.toString().replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
|
|
654
|
+
return CSS.supports(cssProperty, value);
|
|
655
|
+
}
|
|
656
|
+
return CSS.supports(property.toString());
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
function getCursorOffset(element, prevText, nextText, currentText) {
|
|
660
|
+
if (element) {
|
|
661
|
+
const style = getComputedStyle(element);
|
|
662
|
+
const ghostDiv = document.createElement('div');
|
|
663
|
+
ghostDiv.style.position = 'absolute';
|
|
664
|
+
ghostDiv.style.top = '0px';
|
|
665
|
+
ghostDiv.style.left = '0px';
|
|
666
|
+
ghostDiv.style.visibility = 'hidden';
|
|
667
|
+
ghostDiv.style.pointerEvents = 'none';
|
|
668
|
+
ghostDiv.style.overflow = style.overflow;
|
|
669
|
+
ghostDiv.style.width = style.width;
|
|
670
|
+
ghostDiv.style.height = style.height;
|
|
671
|
+
ghostDiv.style.padding = style.padding;
|
|
672
|
+
ghostDiv.style.border = style.border;
|
|
673
|
+
ghostDiv.style.overflowWrap = style.overflowWrap;
|
|
674
|
+
ghostDiv.style.whiteSpace = style.whiteSpace;
|
|
675
|
+
ghostDiv.style.lineHeight = style.lineHeight;
|
|
676
|
+
ghostDiv.innerHTML = prevText.replace(/\r\n|\r|\n/g, '<br />');
|
|
677
|
+
const ghostSpan = document.createElement('span');
|
|
678
|
+
ghostSpan.textContent = currentText;
|
|
679
|
+
ghostDiv.appendChild(ghostSpan);
|
|
680
|
+
const text = document.createTextNode(nextText);
|
|
681
|
+
ghostDiv.appendChild(text);
|
|
682
|
+
document.body.appendChild(ghostDiv);
|
|
683
|
+
const { offsetLeft, offsetTop, clientHeight } = ghostSpan;
|
|
684
|
+
document.body.removeChild(ghostDiv);
|
|
685
|
+
return {
|
|
686
|
+
left: Math.abs(offsetLeft - element.scrollLeft),
|
|
687
|
+
top: Math.abs(offsetTop - element.scrollTop) + clientHeight
|
|
688
|
+
};
|
|
689
|
+
}
|
|
690
|
+
return {
|
|
691
|
+
top: 'auto',
|
|
692
|
+
left: 'auto'
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
function getFocusableElements(element, selector = '') {
|
|
697
|
+
const focusableElements = find(element, `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
698
|
+
[href]:not([tabindex = "-1"]):not([style*="display:none"]):not([hidden])${selector},
|
|
699
|
+
input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
700
|
+
select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
701
|
+
textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
702
|
+
[tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
703
|
+
[contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}`);
|
|
704
|
+
const visibleFocusableElements = [];
|
|
705
|
+
for (const focusableElement of focusableElements) {
|
|
706
|
+
if (getComputedStyle(focusableElement).display != 'none' && getComputedStyle(focusableElement).visibility != 'hidden')
|
|
707
|
+
visibleFocusableElements.push(focusableElement);
|
|
708
|
+
}
|
|
709
|
+
return visibleFocusableElements;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
function getFirstFocusableElement(element, selector) {
|
|
713
|
+
const focusableElements = getFocusableElements(element, selector);
|
|
714
|
+
return focusableElements.length > 0 ? focusableElements[0] : null;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
function getHeight(element) {
|
|
718
|
+
if (element) {
|
|
719
|
+
let height = element.offsetHeight;
|
|
720
|
+
const style = getComputedStyle(element);
|
|
721
|
+
height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
|
|
722
|
+
return height;
|
|
723
|
+
}
|
|
724
|
+
return 0;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
function getHiddenElementOuterHeight(element) {
|
|
728
|
+
if (element) {
|
|
729
|
+
const [visibility, display] = [element.style.visibility, element.style.display];
|
|
730
|
+
// Temporarily hide the element to get its outer height
|
|
731
|
+
element.style.visibility = 'hidden';
|
|
732
|
+
element.style.display = 'block';
|
|
733
|
+
const elementHeight = element.offsetHeight;
|
|
734
|
+
element.style.display = display;
|
|
735
|
+
element.style.visibility = visibility;
|
|
736
|
+
return elementHeight;
|
|
737
|
+
}
|
|
738
|
+
return 0;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
function getHiddenElementOuterWidth(element) {
|
|
742
|
+
if (element) {
|
|
743
|
+
const [visibility, display] = [element.style.visibility, element.style.display];
|
|
744
|
+
// Temporarily hide the element to get its outer width
|
|
745
|
+
element.style.visibility = 'hidden';
|
|
746
|
+
element.style.display = 'block';
|
|
747
|
+
const elementWidth = element.offsetWidth;
|
|
748
|
+
element.style.display = display;
|
|
749
|
+
element.style.visibility = visibility;
|
|
750
|
+
return elementWidth;
|
|
751
|
+
}
|
|
752
|
+
return 0;
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
function getIndex(element) {
|
|
756
|
+
if (element) {
|
|
757
|
+
const children = getParentNode(element)?.childNodes;
|
|
758
|
+
let num = 0;
|
|
759
|
+
if (children) {
|
|
760
|
+
for (let i = 0; i < children.length; i++) {
|
|
761
|
+
if (children[i] === element)
|
|
762
|
+
return num;
|
|
763
|
+
if (children[i].nodeType === 1)
|
|
764
|
+
num++;
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
return -1;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
function getInnerWidth(element) {
|
|
772
|
+
if (element) {
|
|
773
|
+
let width = element.offsetWidth;
|
|
774
|
+
const style = getComputedStyle(element);
|
|
775
|
+
width -= parseFloat(style.borderLeft) + parseFloat(style.borderRight);
|
|
776
|
+
return width;
|
|
777
|
+
}
|
|
778
|
+
return 0;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
function getLastFocusableElement(element, selector) {
|
|
782
|
+
const focusableElements = getFocusableElements(element, selector);
|
|
783
|
+
return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
function getNextElementSibling(element, selector) {
|
|
787
|
+
let nextElement = element.nextElementSibling;
|
|
788
|
+
while (nextElement) {
|
|
789
|
+
if (nextElement.matches(selector)) {
|
|
790
|
+
return nextElement;
|
|
791
|
+
}
|
|
792
|
+
else {
|
|
793
|
+
nextElement = nextElement.nextElementSibling;
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
return null;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
function getNextFocusableElement(container, element, selector) {
|
|
800
|
+
const focusableElements = getFocusableElements(container, selector);
|
|
801
|
+
const index = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1;
|
|
802
|
+
const nextIndex = index > -1 && focusableElements.length >= index + 1 ? index + 1 : -1;
|
|
803
|
+
return nextIndex > -1 ? focusableElements[nextIndex] : null;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
function getOffset(element) {
|
|
807
|
+
if (element) {
|
|
808
|
+
const rect = element.getBoundingClientRect();
|
|
809
|
+
return {
|
|
810
|
+
top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),
|
|
811
|
+
left: rect.left + (window.pageXOffset || getScrollLeft(document.documentElement) || getScrollLeft(document.body) || 0)
|
|
812
|
+
};
|
|
813
|
+
}
|
|
814
|
+
return {
|
|
815
|
+
top: 'auto',
|
|
816
|
+
left: 'auto'
|
|
817
|
+
};
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
function getOuterHeight(element, margin) {
|
|
821
|
+
if (element) {
|
|
822
|
+
let height = element.offsetHeight;
|
|
823
|
+
if (margin) {
|
|
824
|
+
const style = getComputedStyle(element);
|
|
825
|
+
height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);
|
|
826
|
+
}
|
|
827
|
+
return height;
|
|
828
|
+
}
|
|
829
|
+
return 0;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
function getParents(element, parents = []) {
|
|
833
|
+
const parent = getParentNode(element);
|
|
834
|
+
return parent === null ? parents : getParents(parent, parents.concat([parent]));
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
function getPreviousElementSibling(element, selector) {
|
|
838
|
+
let previousElement = element.previousElementSibling;
|
|
839
|
+
while (previousElement) {
|
|
840
|
+
if (previousElement.matches(selector)) {
|
|
841
|
+
return previousElement;
|
|
842
|
+
}
|
|
843
|
+
else {
|
|
844
|
+
previousElement = previousElement.previousElementSibling;
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
return null;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
function getScrollableParents(element) {
|
|
851
|
+
const scrollableParents = [];
|
|
852
|
+
if (element) {
|
|
853
|
+
const parents = getParents(element);
|
|
854
|
+
const overflowRegex = /(auto|scroll)/;
|
|
855
|
+
const overflowCheck = (node) => {
|
|
856
|
+
try {
|
|
857
|
+
const styleDeclaration = window['getComputedStyle'](node, null);
|
|
858
|
+
return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));
|
|
859
|
+
}
|
|
860
|
+
catch {
|
|
861
|
+
return false;
|
|
862
|
+
}
|
|
863
|
+
};
|
|
864
|
+
for (const parent of parents) {
|
|
865
|
+
const scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];
|
|
866
|
+
if (scrollSelectors) {
|
|
867
|
+
const selectors = scrollSelectors.split(',');
|
|
868
|
+
for (const selector of selectors) {
|
|
869
|
+
const el = findSingle(parent, selector);
|
|
870
|
+
if (el && overflowCheck(el)) {
|
|
871
|
+
scrollableParents.push(el);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
if (parent.nodeType !== 9 && overflowCheck(parent)) {
|
|
876
|
+
scrollableParents.push(parent);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
return scrollableParents;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
function getSelection() {
|
|
884
|
+
if (window.getSelection)
|
|
885
|
+
return window.getSelection().toString();
|
|
886
|
+
else if (document.getSelection)
|
|
887
|
+
return document.getSelection().toString();
|
|
888
|
+
return undefined;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
function getUserAgent() {
|
|
892
|
+
return navigator.userAgent;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
function getWidth(element) {
|
|
896
|
+
if (element) {
|
|
897
|
+
let width = element.offsetWidth;
|
|
898
|
+
const style = getComputedStyle(element);
|
|
899
|
+
width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);
|
|
900
|
+
return width;
|
|
901
|
+
}
|
|
902
|
+
return 0;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
function hasCSSAnimation(element) {
|
|
906
|
+
if (element) {
|
|
907
|
+
const style = getComputedStyle(element);
|
|
908
|
+
const animationDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');
|
|
909
|
+
return animationDuration > 0;
|
|
910
|
+
}
|
|
911
|
+
return false;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
function hasCSSTransition(element) {
|
|
915
|
+
if (element) {
|
|
916
|
+
const style = getComputedStyle(element);
|
|
917
|
+
const transitionDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');
|
|
918
|
+
return transitionDuration > 0;
|
|
919
|
+
}
|
|
920
|
+
return false;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
function invokeElementMethod(element, methodName, args) {
|
|
924
|
+
const method = element[methodName];
|
|
925
|
+
if (typeof method === 'function') {
|
|
926
|
+
method.apply(element, args ?? []);
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
function isAndroid() {
|
|
931
|
+
return /(android)/i.test(navigator.userAgent);
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
function isAttributeEquals(element, name, value) {
|
|
935
|
+
return isElement(element) ? getAttribute(element, name) === value : false;
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
function isAttributeNotEquals(element, name, value) {
|
|
939
|
+
return !isAttributeEquals(element, name, value);
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
function isClickable(element) {
|
|
943
|
+
if (element) {
|
|
944
|
+
const targetNode = element.nodeName;
|
|
945
|
+
const parentNode = element.parentElement && element.parentElement.nodeName;
|
|
946
|
+
return (targetNode === 'INPUT' ||
|
|
947
|
+
targetNode === 'TEXTAREA' ||
|
|
948
|
+
targetNode === 'BUTTON' ||
|
|
949
|
+
targetNode === 'A' ||
|
|
950
|
+
parentNode === 'INPUT' ||
|
|
951
|
+
parentNode === 'TEXTAREA' ||
|
|
952
|
+
parentNode === 'BUTTON' ||
|
|
953
|
+
parentNode === 'A' ||
|
|
954
|
+
!!element.closest('.h-button, .h-checkbox, .h-radiobutton') // @todo Add [data-pc-section="button"]
|
|
955
|
+
);
|
|
956
|
+
}
|
|
957
|
+
return false;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
function isClient() {
|
|
961
|
+
return !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
function isFocusableElement(element, selector = '') {
|
|
965
|
+
return isElement(element)
|
|
966
|
+
? element.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
967
|
+
[href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
968
|
+
input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
969
|
+
select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
970
|
+
textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
971
|
+
[tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector},
|
|
972
|
+
[contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${selector}`)
|
|
973
|
+
: false;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
function isVisible(element) {
|
|
977
|
+
return !!(element && element.offsetParent != null);
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
function isHidden(element) {
|
|
981
|
+
return !isVisible(element);
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
function isIOS() {
|
|
985
|
+
return /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
function isPrefersReducedMotion() {
|
|
989
|
+
if (typeof window === 'undefined' || !window.matchMedia) {
|
|
990
|
+
return false;
|
|
991
|
+
}
|
|
992
|
+
const mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
993
|
+
return mediaQuery.matches;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
function isServer() {
|
|
997
|
+
return !isClient();
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
function isTouchDevice() {
|
|
1001
|
+
return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
function nestedPosition(element, level) {
|
|
1005
|
+
if (element) {
|
|
1006
|
+
const parentItem = element.parentElement;
|
|
1007
|
+
const elementOffset = getOffset(parentItem);
|
|
1008
|
+
const viewport = getViewport();
|
|
1009
|
+
const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element);
|
|
1010
|
+
const sublistHeight = element.offsetParent ? element.offsetHeight : getHiddenElementOuterHeight(element);
|
|
1011
|
+
const itemOuterWidth = getOuterWidth(parentItem?.children?.[0]);
|
|
1012
|
+
const itemOuterHeight = getOuterHeight(parentItem?.children?.[0]);
|
|
1013
|
+
let left = '';
|
|
1014
|
+
let top = '';
|
|
1015
|
+
if (elementOffset.left + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {
|
|
1016
|
+
if (elementOffset.left < sublistWidth) {
|
|
1017
|
+
// for too small screens
|
|
1018
|
+
if (level % 2 === 1) {
|
|
1019
|
+
left = elementOffset.left ? '-' + elementOffset.left + 'px' : '100%';
|
|
1020
|
+
}
|
|
1021
|
+
else if (level % 2 === 0) {
|
|
1022
|
+
left = viewport.width - sublistWidth - calculateScrollbarWidth() + 'px';
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
else {
|
|
1026
|
+
left = '-100%';
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
else {
|
|
1030
|
+
left = '100%';
|
|
1031
|
+
}
|
|
1032
|
+
// getBoundingClientRect returns a top position from the current visible viewport area
|
|
1033
|
+
if (element.getBoundingClientRect().top + itemOuterHeight + sublistHeight > viewport.height) {
|
|
1034
|
+
top = `-${sublistHeight - itemOuterHeight}px`;
|
|
1035
|
+
}
|
|
1036
|
+
else {
|
|
1037
|
+
top = '0px';
|
|
1038
|
+
}
|
|
1039
|
+
element.style.top = top;
|
|
1040
|
+
element.style.insetInlineStart = left;
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
function nextFrame() {
|
|
1045
|
+
return new Promise((resolve) => {
|
|
1046
|
+
requestAnimationFrame(() => {
|
|
1047
|
+
requestAnimationFrame(resolve);
|
|
1048
|
+
});
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
function remove(element) {
|
|
1053
|
+
if (element) {
|
|
1054
|
+
if (!('remove' in Element.prototype))
|
|
1055
|
+
element.parentNode?.removeChild(element);
|
|
1056
|
+
else
|
|
1057
|
+
element.remove();
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
function removeChild(element, child) {
|
|
1062
|
+
const target = toElement(element);
|
|
1063
|
+
if (target)
|
|
1064
|
+
target.removeChild(child);
|
|
1065
|
+
else
|
|
1066
|
+
throw new Error('Cannot remove ' + child + ' from ' + element);
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
function removeStyleTag(element) {
|
|
1070
|
+
if (isExist(element)) {
|
|
1071
|
+
try {
|
|
1072
|
+
element.parentNode?.removeChild(element);
|
|
1073
|
+
}
|
|
1074
|
+
catch {
|
|
1075
|
+
// style element may have already been removed in a fast refresh
|
|
1076
|
+
}
|
|
1077
|
+
return null;
|
|
1078
|
+
}
|
|
1079
|
+
return element;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
function scrollInView(container, item) {
|
|
1083
|
+
const borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');
|
|
1084
|
+
const borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;
|
|
1085
|
+
const paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');
|
|
1086
|
+
const paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;
|
|
1087
|
+
const containerRect = container.getBoundingClientRect();
|
|
1088
|
+
const itemRect = item.getBoundingClientRect();
|
|
1089
|
+
const offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;
|
|
1090
|
+
const scroll = container.scrollTop;
|
|
1091
|
+
const elementHeight = container.clientHeight;
|
|
1092
|
+
const itemHeight = getOuterHeight(item);
|
|
1093
|
+
if (offset < 0) {
|
|
1094
|
+
container.scrollTop = scroll + offset;
|
|
1095
|
+
}
|
|
1096
|
+
else if (offset + itemHeight > elementHeight) {
|
|
1097
|
+
container.scrollTop = scroll + offset - elementHeight + itemHeight;
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
/**
|
|
1102
|
+
* Ported from @primeuix/utils 0.7.2 (main was 0.6.4 at vendor time): `attribute === 'style'` with
|
|
1103
|
+
* an object value sets each CSS property via `style.setProperty` instead of stringifying it into
|
|
1104
|
+
* a plain attribute value.
|
|
1105
|
+
*/
|
|
1106
|
+
function setAttribute(element, attribute = '', value) {
|
|
1107
|
+
if (isElement(element) && value !== null && value !== undefined) {
|
|
1108
|
+
if (attribute === 'style' && typeof value === 'object') {
|
|
1109
|
+
Object.entries(value).forEach(([property, propertyValue]) => {
|
|
1110
|
+
if (propertyValue == null) {
|
|
1111
|
+
return;
|
|
1112
|
+
}
|
|
1113
|
+
const cssProperty = property.startsWith('--') ? property : property.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
|
1114
|
+
element.style.setProperty(cssProperty, String(propertyValue));
|
|
1115
|
+
});
|
|
1116
|
+
return;
|
|
1117
|
+
}
|
|
1118
|
+
if (attribute === 'style' && typeof value === 'string') {
|
|
1119
|
+
element.style.cssText = value;
|
|
1120
|
+
return;
|
|
1121
|
+
}
|
|
1122
|
+
element.setAttribute(attribute, value);
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
function setCSSProperty(element, property, value = null, priority) {
|
|
1127
|
+
property && element?.style?.setProperty(property, value, priority);
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
function EventBus() {
|
|
1131
|
+
const allHandlers = new Map();
|
|
1132
|
+
return {
|
|
1133
|
+
on(type, handler) {
|
|
1134
|
+
let handlers = allHandlers.get(type);
|
|
1135
|
+
if (!handlers)
|
|
1136
|
+
handlers = [handler];
|
|
1137
|
+
else
|
|
1138
|
+
handlers.push(handler);
|
|
1139
|
+
allHandlers.set(type, handlers);
|
|
1140
|
+
return this;
|
|
1141
|
+
},
|
|
1142
|
+
off(type, handler) {
|
|
1143
|
+
const handlers = allHandlers.get(type);
|
|
1144
|
+
if (handlers) {
|
|
1145
|
+
handlers.splice(handlers.indexOf(handler) >>> 0, 1);
|
|
1146
|
+
}
|
|
1147
|
+
return this;
|
|
1148
|
+
},
|
|
1149
|
+
emit(type, evt) {
|
|
1150
|
+
const handlers = allHandlers.get(type);
|
|
1151
|
+
if (handlers) {
|
|
1152
|
+
handlers.forEach((handler) => {
|
|
1153
|
+
handler(evt);
|
|
1154
|
+
});
|
|
1155
|
+
}
|
|
1156
|
+
},
|
|
1157
|
+
clear() {
|
|
1158
|
+
allHandlers.clear();
|
|
1159
|
+
}
|
|
1160
|
+
};
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
function isEmpty(value) {
|
|
1164
|
+
return value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0) || (!(value instanceof Date) && typeof value === 'object' && Object.keys(value).length === 0);
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
function compare(value1, value2, comparator, order = 1) {
|
|
1168
|
+
let result = -1;
|
|
1169
|
+
const emptyValue1 = isEmpty(value1);
|
|
1170
|
+
const emptyValue2 = isEmpty(value2);
|
|
1171
|
+
if (emptyValue1 && emptyValue2)
|
|
1172
|
+
result = 0;
|
|
1173
|
+
else if (emptyValue1)
|
|
1174
|
+
result = order;
|
|
1175
|
+
else if (emptyValue2)
|
|
1176
|
+
result = -order;
|
|
1177
|
+
else if (typeof value1 === 'string' && typeof value2 === 'string')
|
|
1178
|
+
result = comparator(value1, value2);
|
|
1179
|
+
else
|
|
1180
|
+
result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
|
|
1181
|
+
return result;
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
function _deepEquals(obj1, obj2, visited = new WeakSet()) {
|
|
1185
|
+
// Base case: same object reference
|
|
1186
|
+
if (obj1 === obj2)
|
|
1187
|
+
return true;
|
|
1188
|
+
// If one of them is null or not an object, directly return false
|
|
1189
|
+
if (!obj1 || !obj2 || typeof obj1 !== 'object' || typeof obj2 !== 'object')
|
|
1190
|
+
return false;
|
|
1191
|
+
// Check for circular references
|
|
1192
|
+
if (visited.has(obj1) || visited.has(obj2))
|
|
1193
|
+
return false;
|
|
1194
|
+
// Add objects to the visited set
|
|
1195
|
+
visited.add(obj1).add(obj2);
|
|
1196
|
+
const arrObj1 = Array.isArray(obj1);
|
|
1197
|
+
const arrObj2 = Array.isArray(obj2);
|
|
1198
|
+
let i, length, key;
|
|
1199
|
+
if (arrObj1 && arrObj2) {
|
|
1200
|
+
length = obj1.length;
|
|
1201
|
+
if (length != obj2.length)
|
|
1202
|
+
return false;
|
|
1203
|
+
for (i = length; i-- !== 0;)
|
|
1204
|
+
if (!_deepEquals(obj1[i], obj2[i], visited))
|
|
1205
|
+
return false;
|
|
1206
|
+
return true;
|
|
1207
|
+
}
|
|
1208
|
+
if (arrObj1 != arrObj2)
|
|
1209
|
+
return false;
|
|
1210
|
+
const dateObj1 = obj1 instanceof Date, dateObj2 = obj2 instanceof Date;
|
|
1211
|
+
if (dateObj1 != dateObj2)
|
|
1212
|
+
return false;
|
|
1213
|
+
if (dateObj1 && dateObj2)
|
|
1214
|
+
return obj1.getTime() == obj2.getTime();
|
|
1215
|
+
const regexpObj1 = obj1 instanceof RegExp, regexpObj2 = obj2 instanceof RegExp;
|
|
1216
|
+
if (regexpObj1 != regexpObj2)
|
|
1217
|
+
return false;
|
|
1218
|
+
if (regexpObj1 && regexpObj2)
|
|
1219
|
+
return obj1.toString() == obj2.toString();
|
|
1220
|
+
const keys = Object.keys(obj1);
|
|
1221
|
+
length = keys.length;
|
|
1222
|
+
if (length !== Object.keys(obj2).length)
|
|
1223
|
+
return false;
|
|
1224
|
+
for (i = length; i-- !== 0;)
|
|
1225
|
+
if (!Object.prototype.hasOwnProperty.call(obj2, keys[i]))
|
|
1226
|
+
return false;
|
|
1227
|
+
for (i = length; i-- !== 0;) {
|
|
1228
|
+
key = keys[i];
|
|
1229
|
+
if (!_deepEquals(obj1[key], obj2[key], visited))
|
|
1230
|
+
return false;
|
|
1231
|
+
}
|
|
1232
|
+
return true;
|
|
1233
|
+
}
|
|
1234
|
+
function deepEquals(obj1, obj2) {
|
|
1235
|
+
return _deepEquals(obj1, obj2);
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
function isFunction(value) {
|
|
1239
|
+
return typeof value === 'function' && 'call' in value && 'apply' in value;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
function isNotEmpty(value) {
|
|
1243
|
+
return !isEmpty(value);
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
function resolveFieldData(data, field) {
|
|
1247
|
+
if (!data || !field) {
|
|
1248
|
+
// short circuit if there is nothing to resolve
|
|
1249
|
+
return null;
|
|
1250
|
+
}
|
|
1251
|
+
try {
|
|
1252
|
+
const value = data[field];
|
|
1253
|
+
if (isNotEmpty(value))
|
|
1254
|
+
return value;
|
|
1255
|
+
}
|
|
1256
|
+
catch {
|
|
1257
|
+
// Performance optimization: https://github.com/primefaces/primereact/issues/4797
|
|
1258
|
+
// do nothing and continue to other methods to resolve field data
|
|
1259
|
+
}
|
|
1260
|
+
if (Object.keys(data).length) {
|
|
1261
|
+
if (isFunction(field)) {
|
|
1262
|
+
return field(data);
|
|
1263
|
+
}
|
|
1264
|
+
else if (field.indexOf('.') === -1) {
|
|
1265
|
+
return data[field];
|
|
1266
|
+
}
|
|
1267
|
+
else {
|
|
1268
|
+
const fields = field.split('.');
|
|
1269
|
+
let value = data;
|
|
1270
|
+
for (let i = 0, len = fields.length; i < len; ++i) {
|
|
1271
|
+
if (value == null) {
|
|
1272
|
+
return null;
|
|
1273
|
+
}
|
|
1274
|
+
value = value[fields[i]];
|
|
1275
|
+
}
|
|
1276
|
+
return value;
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
return null;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
function equals(obj1, obj2, field) {
|
|
1283
|
+
if (field)
|
|
1284
|
+
return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
|
|
1285
|
+
else
|
|
1286
|
+
return deepEquals(obj1, obj2);
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
function contains(value, list) {
|
|
1290
|
+
if (value != null && list && list.length) {
|
|
1291
|
+
for (const val of list) {
|
|
1292
|
+
if (equals(value, val))
|
|
1293
|
+
return true;
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
return false;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
function isObject(value, empty = true) {
|
|
1300
|
+
return value instanceof Object && value.constructor === Object && (empty || Object.keys(value).length !== 0);
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
function _deepMerge(target = {}, source = {}) {
|
|
1304
|
+
const mergedObj = { ...target };
|
|
1305
|
+
Object.keys(source).forEach((key) => {
|
|
1306
|
+
const typedKey = key;
|
|
1307
|
+
if (isObject(source[typedKey]) && typedKey in target && isObject(target[typedKey])) {
|
|
1308
|
+
mergedObj[typedKey] = _deepMerge(target[typedKey], source[typedKey]);
|
|
1309
|
+
}
|
|
1310
|
+
else {
|
|
1311
|
+
mergedObj[typedKey] = source[typedKey];
|
|
1312
|
+
}
|
|
1313
|
+
});
|
|
1314
|
+
return mergedObj;
|
|
1315
|
+
}
|
|
1316
|
+
/**
|
|
1317
|
+
* Merges multiple objects into one.
|
|
1318
|
+
* @param args - Objects to merge.
|
|
1319
|
+
* @returns Merged object.
|
|
1320
|
+
*/
|
|
1321
|
+
function deepMerge(...args) {
|
|
1322
|
+
return args.reduce((acc, obj, i) => (i === 0 ? obj : _deepMerge(acc, obj)), {});
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
function filter(value, fields, filterValue) {
|
|
1326
|
+
const filteredItems = [];
|
|
1327
|
+
if (value) {
|
|
1328
|
+
for (const item of value) {
|
|
1329
|
+
for (const field of fields) {
|
|
1330
|
+
if (String(resolveFieldData(item, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) {
|
|
1331
|
+
filteredItems.push(item);
|
|
1332
|
+
break;
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
return filteredItems;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
function findIndexInList(value, list) {
|
|
1341
|
+
let index = -1;
|
|
1342
|
+
if (list) {
|
|
1343
|
+
for (let i = 0; i < list.length; i++) {
|
|
1344
|
+
if (list[i] === value) {
|
|
1345
|
+
index = i;
|
|
1346
|
+
break;
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
return index;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
/**
|
|
1354
|
+
* Firefox-v103 does not currently support the "findLast" method. It is stated that this method will be supported with Firefox-v104.
|
|
1355
|
+
* https://caniuse.com/mdn-javascript_builtins_array_findlast
|
|
1356
|
+
*/
|
|
1357
|
+
function findLast(arr, callback) {
|
|
1358
|
+
let item;
|
|
1359
|
+
if (isNotEmpty(arr)) {
|
|
1360
|
+
try {
|
|
1361
|
+
item = arr.findLast(callback);
|
|
1362
|
+
}
|
|
1363
|
+
catch {
|
|
1364
|
+
item = [...arr].reverse().find(callback);
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
return item;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
/**
|
|
1371
|
+
* Firefox-v103 does not currently support the "findLastIndex" method. It is stated that this method will be supported with Firefox-v104.
|
|
1372
|
+
* https://caniuse.com/mdn-javascript_builtins_array_findlastindex
|
|
1373
|
+
*/
|
|
1374
|
+
function findLastIndex(arr, callback) {
|
|
1375
|
+
let index = -1;
|
|
1376
|
+
if (isNotEmpty(arr)) {
|
|
1377
|
+
try {
|
|
1378
|
+
index = arr.findLastIndex(callback);
|
|
1379
|
+
}
|
|
1380
|
+
catch {
|
|
1381
|
+
index = arr.lastIndexOf([...arr].reverse().find(callback));
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
return index;
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
function resolve(obj, ...params) {
|
|
1388
|
+
return isFunction(obj) ? obj(...params) : obj;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
function isString(value, empty = true) {
|
|
1392
|
+
return typeof value === 'string' && (empty || value !== '');
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
function toFlatCase(str) {
|
|
1396
|
+
// convert snake, kebab, camel and pascal cases to flat case
|
|
1397
|
+
return isString(str) ? str.replace(/(-|_)/g, '').toLowerCase() : str;
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
function getKeyValue(obj, key = '', params = {}) {
|
|
1401
|
+
const fKeys = toFlatCase(key).split('.');
|
|
1402
|
+
const fKey = fKeys.shift();
|
|
1403
|
+
if (fKey) {
|
|
1404
|
+
if (isObject(obj)) {
|
|
1405
|
+
const matchedKey = Object.keys(obj).find((k) => toFlatCase(k) === fKey) || '';
|
|
1406
|
+
return getKeyValue(resolve(obj[matchedKey], params), fKeys.join('.'), params);
|
|
1407
|
+
}
|
|
1408
|
+
return undefined;
|
|
1409
|
+
}
|
|
1410
|
+
return resolve(obj, params);
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
function insertIntoOrderedArray(item, index, arr, sourceArr) {
|
|
1414
|
+
if (arr.length > 0) {
|
|
1415
|
+
let injected = false;
|
|
1416
|
+
for (let i = 0; i < arr.length; i++) {
|
|
1417
|
+
const currentItemIndex = findIndexInList(arr[i], sourceArr);
|
|
1418
|
+
if (currentItemIndex > index) {
|
|
1419
|
+
arr.splice(i, 0, item);
|
|
1420
|
+
injected = true;
|
|
1421
|
+
break;
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
if (!injected) {
|
|
1425
|
+
arr.push(item);
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
else {
|
|
1429
|
+
arr.push(item);
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
function isArray(value, empty = true) {
|
|
1434
|
+
return Array.isArray(value) && (empty || value.length !== 0);
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
function isDate(value) {
|
|
1438
|
+
return value instanceof Date;
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
function isLetter(char) {
|
|
1442
|
+
return /^[a-zA-Z\u00C0-\u017F]$/.test(char);
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
function isNumber(value) {
|
|
1446
|
+
return isNotEmpty(value) && !isNaN(value);
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
function isPrintableCharacter(char = '') {
|
|
1450
|
+
return isNotEmpty(char) && char.length === 1 && !!char.match(/\S| /);
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
function isScalar(value) {
|
|
1454
|
+
return value != null && (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint' || typeof value === 'boolean');
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
function localeComparator() {
|
|
1458
|
+
//performance gain using Int.Collator. It is not recommended to use localeCompare against large arrays.
|
|
1459
|
+
return new Intl.Collator(undefined, { numeric: true }).compare;
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
function matchRegex(str, regex) {
|
|
1463
|
+
if (regex) {
|
|
1464
|
+
const match = regex.test(str);
|
|
1465
|
+
regex.lastIndex = 0;
|
|
1466
|
+
return match;
|
|
1467
|
+
}
|
|
1468
|
+
return false;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* @deprecated Use `deepMerge` instead.
|
|
1473
|
+
*
|
|
1474
|
+
* Merges multiple objects into one.
|
|
1475
|
+
* @param args - Objects to merge.
|
|
1476
|
+
* @returns Merged object.
|
|
1477
|
+
*/
|
|
1478
|
+
function mergeKeys(...args) {
|
|
1479
|
+
return deepMerge(...args);
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
function minifyCSS(css) {
|
|
1483
|
+
return css
|
|
1484
|
+
? css
|
|
1485
|
+
.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, '')
|
|
1486
|
+
.replace(/ {2,}/g, ' ')
|
|
1487
|
+
.replace(/ ([{:}]) /g, '$1')
|
|
1488
|
+
.replace(/([;,]) /g, '$1')
|
|
1489
|
+
.replace(/ !/g, '!')
|
|
1490
|
+
.replace(/: /g, ':')
|
|
1491
|
+
.trim()
|
|
1492
|
+
: css;
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
function nestedKeys(obj = {}, parentKey = '') {
|
|
1496
|
+
return Object.entries(obj).reduce((o, [key, value]) => {
|
|
1497
|
+
const currentKey = parentKey ? `${parentKey}.${key}` : key;
|
|
1498
|
+
isObject(value) ? (o = o.concat(nestedKeys(value, currentKey))) : o.push(currentKey);
|
|
1499
|
+
return o;
|
|
1500
|
+
}, []);
|
|
1501
|
+
}
|
|
1502
|
+
|
|
1503
|
+
function omit(obj, ...keys) {
|
|
1504
|
+
if (!isObject(obj))
|
|
1505
|
+
return obj;
|
|
1506
|
+
const copy = { ...obj };
|
|
1507
|
+
keys?.flat().forEach((key) => delete copy[key]);
|
|
1508
|
+
return copy;
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
function removeAccents(str) {
|
|
1512
|
+
// Regular expression to check for any accented characters 'Latin-1 Supplement' and 'Latin Extended-A'
|
|
1513
|
+
const accentCheckRegex = /[\xC0-\xFF\u0100-\u017E]/;
|
|
1514
|
+
if (str && accentCheckRegex.test(str)) {
|
|
1515
|
+
const accentsMap = {
|
|
1516
|
+
A: /[\xC0-\xC5\u0100\u0102\u0104]/g,
|
|
1517
|
+
AE: /[\xC6]/g,
|
|
1518
|
+
C: /[\xC7\u0106\u0108\u010A\u010C]/g,
|
|
1519
|
+
D: /[\xD0\u010E\u0110]/g,
|
|
1520
|
+
E: /[\xC8-\xCB\u0112\u0114\u0116\u0118\u011A]/g,
|
|
1521
|
+
G: /[\u011C\u011E\u0120\u0122]/g,
|
|
1522
|
+
H: /[\u0124\u0126]/g,
|
|
1523
|
+
I: /[\xCC-\xCF\u0128\u012A\u012C\u012E\u0130]/g,
|
|
1524
|
+
IJ: /[\u0132]/g,
|
|
1525
|
+
J: /[\u0134]/g,
|
|
1526
|
+
K: /[\u0136]/g,
|
|
1527
|
+
L: /[\u0139\u013B\u013D\u013F\u0141]/g,
|
|
1528
|
+
N: /[\xD1\u0143\u0145\u0147\u014A]/g,
|
|
1529
|
+
O: /[\xD2-\xD6\xD8\u014C\u014E\u0150]/g,
|
|
1530
|
+
OE: /[\u0152]/g,
|
|
1531
|
+
R: /[\u0154\u0156\u0158]/g,
|
|
1532
|
+
S: /[\u015A\u015C\u015E\u0160]/g,
|
|
1533
|
+
T: /[\u0162\u0164\u0166]/g,
|
|
1534
|
+
U: /[\xD9-\xDC\u0168\u016A\u016C\u016E\u0170\u0172]/g,
|
|
1535
|
+
W: /[\u0174]/g,
|
|
1536
|
+
Y: /[\xDD\u0176\u0178]/g,
|
|
1537
|
+
Z: /[\u0179\u017B\u017D]/g,
|
|
1538
|
+
a: /[\xE0-\xE5\u0101\u0103\u0105]/g,
|
|
1539
|
+
ae: /[\xE6]/g,
|
|
1540
|
+
c: /[\xE7\u0107\u0109\u010B\u010D]/g,
|
|
1541
|
+
d: /[\u010F\u0111]/g,
|
|
1542
|
+
e: /[\xE8-\xEB\u0113\u0115\u0117\u0119\u011B]/g,
|
|
1543
|
+
g: /[\u011D\u011F\u0121\u0123]/g,
|
|
1544
|
+
i: /[\xEC-\xEF\u0129\u012B\u012D\u012F\u0131]/g,
|
|
1545
|
+
ij: /[\u0133]/g,
|
|
1546
|
+
j: /[\u0135]/g,
|
|
1547
|
+
k: /[\u0137,\u0138]/g,
|
|
1548
|
+
l: /[\u013A\u013C\u013E\u0140\u0142]/g,
|
|
1549
|
+
n: /[\xF1\u0144\u0146\u0148\u014B]/g,
|
|
1550
|
+
p: /[\xFE]/g,
|
|
1551
|
+
o: /[\xF2-\xF6\xF8\u014D\u014F\u0151]/g,
|
|
1552
|
+
oe: /[\u0153]/g,
|
|
1553
|
+
r: /[\u0155\u0157\u0159]/g,
|
|
1554
|
+
s: /[\u015B\u015D\u015F\u0161]/g,
|
|
1555
|
+
t: /[\u0163\u0165\u0167]/g,
|
|
1556
|
+
u: /[\xF9-\xFC\u0169\u016B\u016D\u016F\u0171\u0173]/g,
|
|
1557
|
+
w: /[\u0175]/g,
|
|
1558
|
+
y: /[\xFD\xFF\u0177]/g,
|
|
1559
|
+
z: /[\u017A\u017C\u017E]/g
|
|
1560
|
+
};
|
|
1561
|
+
for (const key in accentsMap) {
|
|
1562
|
+
str = str.replace(accentsMap[key], key);
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1565
|
+
return str;
|
|
1566
|
+
}
|
|
1567
|
+
|
|
1568
|
+
function reorderArray(value, from, to) {
|
|
1569
|
+
if (value && from !== to) {
|
|
1570
|
+
if (to >= value.length) {
|
|
1571
|
+
to %= value.length;
|
|
1572
|
+
from %= value.length;
|
|
1573
|
+
}
|
|
1574
|
+
value.splice(to, 0, value.splice(from, 1)[0]);
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1578
|
+
/**
|
|
1579
|
+
* Shallow equal for React/Vue props comparison
|
|
1580
|
+
* Ignores functions (common in props)
|
|
1581
|
+
*/
|
|
1582
|
+
function shallowEqualProps(propsA, propsB) {
|
|
1583
|
+
if (propsA === propsB)
|
|
1584
|
+
return true;
|
|
1585
|
+
const keysA = Object.keys(propsA);
|
|
1586
|
+
const keysB = Object.keys(propsB);
|
|
1587
|
+
if (keysA.length !== keysB.length)
|
|
1588
|
+
return false;
|
|
1589
|
+
for (const key of keysA) {
|
|
1590
|
+
const valueA = propsA[key];
|
|
1591
|
+
const valueB = propsB[key];
|
|
1592
|
+
// Skip function comparison (they rarely change)
|
|
1593
|
+
if (typeof valueA === 'function' && typeof valueB === 'function') {
|
|
1594
|
+
continue;
|
|
1595
|
+
}
|
|
1596
|
+
if (!Object.is(valueA, valueB)) {
|
|
1597
|
+
return false;
|
|
1598
|
+
}
|
|
1599
|
+
}
|
|
1600
|
+
return true;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
/**
|
|
1604
|
+
* Checks if two values are shallowly equal
|
|
1605
|
+
* - Primitives: compared by value (===)
|
|
1606
|
+
* - Objects/Arrays: compared by reference and first-level properties
|
|
1607
|
+
*
|
|
1608
|
+
* @param objA - First value to compare
|
|
1609
|
+
* @param objB - Second value to compare
|
|
1610
|
+
* @returns True if values are shallowly equal, false otherwise
|
|
1611
|
+
*
|
|
1612
|
+
* @example
|
|
1613
|
+
* shallowEquals(1, 1) // true
|
|
1614
|
+
* shallowEquals('a', 'a') // true
|
|
1615
|
+
* shallowEquals({ a: 1 }, { a: 1 }) // true (shallow)
|
|
1616
|
+
* shallowEquals({ a: { b: 1 } }, { a: { b: 1 } }) // false (nested objects are different references)
|
|
1617
|
+
* shallowEquals([1, 2], [1, 2]) // true (shallow)
|
|
1618
|
+
* shallowEquals([1, [2]], [1, [2]]) // false (nested arrays are different references)
|
|
1619
|
+
*/
|
|
1620
|
+
function shallowEquals(objA, objB) {
|
|
1621
|
+
// Fast path: same reference
|
|
1622
|
+
if (objA === objB)
|
|
1623
|
+
return true;
|
|
1624
|
+
// Fast path: different types or null
|
|
1625
|
+
if (typeof objA !== typeof objB || objA === null || objB === null) {
|
|
1626
|
+
return false;
|
|
1627
|
+
}
|
|
1628
|
+
// Fast path: primitives
|
|
1629
|
+
if (typeof objA !== 'object') {
|
|
1630
|
+
return objA === objB;
|
|
1631
|
+
}
|
|
1632
|
+
// Same reference (including null === null, undefined === undefined)
|
|
1633
|
+
if (Object.is(objA, objB)) {
|
|
1634
|
+
return true;
|
|
1635
|
+
}
|
|
1636
|
+
// If either is not an object or is null, they're not equal
|
|
1637
|
+
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
|
|
1638
|
+
return false;
|
|
1639
|
+
}
|
|
1640
|
+
// Compare arrays
|
|
1641
|
+
if (Array.isArray(objA) && Array.isArray(objB)) {
|
|
1642
|
+
if (objA.length !== objB.length) {
|
|
1643
|
+
return false;
|
|
1644
|
+
}
|
|
1645
|
+
for (let i = 0; i < objA.length; i++) {
|
|
1646
|
+
if (!Object.is(objA[i], objB[i])) {
|
|
1647
|
+
return false;
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
return true;
|
|
1651
|
+
}
|
|
1652
|
+
// If only one is array, they're not equal
|
|
1653
|
+
if (Array.isArray(objA) || Array.isArray(objB)) {
|
|
1654
|
+
return false;
|
|
1655
|
+
}
|
|
1656
|
+
// Compare object keys
|
|
1657
|
+
const keysA = Object.keys(objA);
|
|
1658
|
+
const keysB = Object.keys(objB);
|
|
1659
|
+
if (keysA.length !== keysB.length) {
|
|
1660
|
+
return false;
|
|
1661
|
+
}
|
|
1662
|
+
// Check if all keys and values match
|
|
1663
|
+
for (const key of keysA) {
|
|
1664
|
+
if (!Object.prototype.hasOwnProperty.call(objB, key) || !Object.is(objA[key], objB[key])) {
|
|
1665
|
+
return false;
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
return true;
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
function sort(value1, value2, order = 1, comparator, nullSortOrder = 1) {
|
|
1672
|
+
const result = compare(value1, value2, comparator, order);
|
|
1673
|
+
let finalSortOrder = order;
|
|
1674
|
+
// nullSortOrder == 1 means Excel like sort nulls at bottom
|
|
1675
|
+
if (isEmpty(value1) || isEmpty(value2)) {
|
|
1676
|
+
finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;
|
|
1677
|
+
}
|
|
1678
|
+
return finalSortOrder * result;
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
function stringify(value, indent = 2, currentIndent = 0) {
|
|
1682
|
+
const currentIndentStr = ' '.repeat(currentIndent);
|
|
1683
|
+
const nextIndentStr = ' '.repeat(currentIndent + indent);
|
|
1684
|
+
if (isArray(value)) {
|
|
1685
|
+
return '[' + value.map((v) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';
|
|
1686
|
+
}
|
|
1687
|
+
else if (isDate(value)) {
|
|
1688
|
+
return value.toISOString();
|
|
1689
|
+
}
|
|
1690
|
+
else if (isFunction(value)) {
|
|
1691
|
+
return value.toString();
|
|
1692
|
+
}
|
|
1693
|
+
else if (isObject(value)) {
|
|
1694
|
+
return ('{\n' +
|
|
1695
|
+
Object.entries(value)
|
|
1696
|
+
.map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)
|
|
1697
|
+
.join(',\n') +
|
|
1698
|
+
`\n${currentIndentStr}` +
|
|
1699
|
+
'}');
|
|
1700
|
+
}
|
|
1701
|
+
else {
|
|
1702
|
+
return JSON.stringify(value);
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
function toCamelCase(str) {
|
|
1707
|
+
// convert snake, kebab and pascal cases to camel case
|
|
1708
|
+
return isString(str) ? str.replace(/[-_](\w)/g, (_, c) => (c ? c.toUpperCase() : '')) : str;
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
function toCapitalCase(str) {
|
|
1712
|
+
return isString(str, false) ? str[0].toUpperCase() + str.slice(1) : str;
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
function toKebabCase(str) {
|
|
1716
|
+
// convert snake, camel and pascal cases to kebab case
|
|
1717
|
+
return isString(str)
|
|
1718
|
+
? str
|
|
1719
|
+
.replace(/(_)/g, '-')
|
|
1720
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2')
|
|
1721
|
+
.toLowerCase()
|
|
1722
|
+
: str;
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
function toMs(value) {
|
|
1726
|
+
if (value === 'auto')
|
|
1727
|
+
return 0;
|
|
1728
|
+
if (typeof value === 'number')
|
|
1729
|
+
return value;
|
|
1730
|
+
return Number(value.replace(/[^\d.]/g, '').replace(',', '.')) * 1000;
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
function toTokenKey(str) {
|
|
1734
|
+
return isString(str) ? str.replace(/[A-Z]/g, (c, i) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;
|
|
1735
|
+
}
|
|
1736
|
+
|
|
1737
|
+
function toValue(value) {
|
|
1738
|
+
if (value && typeof value === 'object') {
|
|
1739
|
+
if (Object.hasOwn(value, 'current')) {
|
|
1740
|
+
// For React
|
|
1741
|
+
return value.current;
|
|
1742
|
+
}
|
|
1743
|
+
else if (Object.hasOwn(value, 'value')) {
|
|
1744
|
+
// For Vue
|
|
1745
|
+
return value.value;
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1748
|
+
// For Angular signals and functions usage
|
|
1749
|
+
return resolve(value);
|
|
1750
|
+
}
|
|
1751
|
+
|
|
1752
|
+
function _mergeProps({ skipUndefined = false }, ...props) {
|
|
1753
|
+
return props?.reduce((merged, ps = {}) => {
|
|
1754
|
+
for (const key in ps) {
|
|
1755
|
+
const value = ps[key];
|
|
1756
|
+
if (skipUndefined && value === undefined)
|
|
1757
|
+
continue;
|
|
1758
|
+
if (key === 'style') {
|
|
1759
|
+
merged['style'] = { ...merged['style'], ...ps['style'] };
|
|
1760
|
+
}
|
|
1761
|
+
else if (key === 'class' || key === 'className') {
|
|
1762
|
+
merged[key] = cn(merged[key], ps[key]);
|
|
1763
|
+
}
|
|
1764
|
+
else if (isFunction(value)) {
|
|
1765
|
+
const fn = merged[key];
|
|
1766
|
+
merged[key] = fn
|
|
1767
|
+
? (...args) => {
|
|
1768
|
+
fn(...args);
|
|
1769
|
+
value(...args);
|
|
1770
|
+
}
|
|
1771
|
+
: value;
|
|
1772
|
+
}
|
|
1773
|
+
else {
|
|
1774
|
+
merged[key] = value;
|
|
1775
|
+
}
|
|
1776
|
+
}
|
|
1777
|
+
return merged;
|
|
1778
|
+
}, {});
|
|
1779
|
+
}
|
|
1780
|
+
function mergeProps(...props) {
|
|
1781
|
+
return _mergeProps({ skipUndefined: false }, ...props);
|
|
1782
|
+
}
|
|
1783
|
+
function mergeDefaultProps(...props) {
|
|
1784
|
+
return _mergeProps({ skipUndefined: true }, ...props);
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
const lastIds = {};
|
|
1788
|
+
function uuid(prefix = 'pui_id_') {
|
|
1789
|
+
if (!Object.hasOwn(lastIds, prefix)) {
|
|
1790
|
+
lastIds[prefix] = 0;
|
|
1791
|
+
}
|
|
1792
|
+
lastIds[prefix]++;
|
|
1793
|
+
return `${prefix}${lastIds[prefix]}`;
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
function handler() {
|
|
1797
|
+
let zIndexes = [];
|
|
1798
|
+
const generateZIndex = (key, autoZIndex, baseZIndex = 999) => {
|
|
1799
|
+
const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex);
|
|
1800
|
+
const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;
|
|
1801
|
+
zIndexes.push({ key, value: newZIndex });
|
|
1802
|
+
return newZIndex;
|
|
1803
|
+
};
|
|
1804
|
+
const revertZIndex = (zIndex) => {
|
|
1805
|
+
zIndexes = zIndexes.filter((obj) => obj.value !== zIndex);
|
|
1806
|
+
};
|
|
1807
|
+
const getCurrentZIndex = (key, autoZIndex) => {
|
|
1808
|
+
return getLastZIndex(key, autoZIndex).value;
|
|
1809
|
+
};
|
|
1810
|
+
const getLastZIndex = (key, autoZIndex, baseZIndex = 0) => {
|
|
1811
|
+
return [...zIndexes].reverse().find((obj) => (autoZIndex ? true : obj.key === key)) || { key, value: baseZIndex };
|
|
1812
|
+
};
|
|
1813
|
+
const getZIndex = (element) => {
|
|
1814
|
+
return element ? parseInt(element.style.zIndex, 10) || 0 : 0;
|
|
1815
|
+
};
|
|
1816
|
+
return {
|
|
1817
|
+
get: getZIndex,
|
|
1818
|
+
set: (key, element, baseZIndex) => {
|
|
1819
|
+
if (element) {
|
|
1820
|
+
element.style.zIndex = String(generateZIndex(key, true, baseZIndex));
|
|
1821
|
+
}
|
|
1822
|
+
},
|
|
1823
|
+
clear: (element) => {
|
|
1824
|
+
if (element) {
|
|
1825
|
+
revertZIndex(getZIndex(element));
|
|
1826
|
+
element.style.zIndex = '';
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
getCurrent: (key) => getCurrentZIndex(key, true)
|
|
1830
|
+
};
|
|
1831
|
+
}
|
|
1832
|
+
const ZIndex = handler();
|
|
1833
|
+
|
|
1834
|
+
/**
|
|
1835
|
+
* Generated bundle index. Do not edit.
|
|
1836
|
+
*/
|
|
1837
|
+
|
|
1838
|
+
export { EventBus, ZIndex, absolutePosition, addClass, addStyle, alignOverlay, appendChild, blockBodyScroll, calculateBodyScrollbarWidth, calculateScrollbarHeight, calculateScrollbarWidth, classNames, clearSelection, cn, compare, contains, createElement, createStyleAsString, createStyleElement, createStyleMarkup, createStyleTag, deepEquals, deepMerge, equals, exportCSV, fadeIn, fadeOut, filter, find, findIndexInList, findLast, findLastIndex, findSingle, focus, getAttribute, getBrowser, getBrowserLanguage, getCSSProperty, getCSSVariableByRegex, getCursorOffset, getFirstFocusableElement, getFocusableElements, getHeight, getHiddenElementDimensions, getHiddenElementOuterHeight, getHiddenElementOuterWidth, getIndex, getInnerWidth, getKeyValue, getLastFocusableElement, getNextElementSibling, getNextFocusableElement, getOffset, getOuterHeight, getOuterWidth, getParentNode, getParents, getPreviousElementSibling, getScrollLeft, getScrollableParents, getSelection, getTargetElement, getUserAgent, getViewport, getWidth, getWindowScrollLeft, getWindowScrollTop, hasCSSAnimation, hasCSSTransition, hasClass, insertIntoOrderedArray, invokeElementMethod, isAndroid, isArray, isAttributeEquals, isAttributeNotEquals, isClickable, isClient, isCssSupported, isDate, isElement, isEmpty, isExist, isFocusableElement, isFunction, isHidden, isIOS, isLetter, isNotEmpty, isNumber, isObject, isPrefersReducedMotion, isPrintableCharacter, isRTL, isScalar, isServer, isString, isTouchDevice, isVisible, localeComparator, matchRegex, mergeDefaultProps, mergeKeys, mergeProps, minifyCSS, nestedKeys, nestedPosition, nextFrame, omit, relativePosition, remove, removeAccents, removeChild, removeClass, removeStyleTag, reorderArray, resolve, resolveFieldData, resolveUserAgent, saveAs, scrollInView, setAttribute, setAttributes, setCSSProperty, shallowEqualProps, shallowEquals, sort, stringify, toCamelCase, toCapitalCase, toElement, toFlatCase, toKebabCase, toMs, toTokenKey, toValue, unblockBodyScroll, uuid };
|
|
1839
|
+
//# sourceMappingURL=gravionlabs-helix-core-uix-utils.mjs.map
|